OSDN Git Service

* cppexp.c (cpp_classify_number): Cast precission to int for
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2002-06-01  Andreas Jaeger  <aj@suse.de>
2
3         * cppexp.c (cpp_classify_number): Cast precission to int for
4         correct printf format.
5
6 2002-06-01  Marek Michalkiewicz  <marekm@amelek.gda.pl>
7
8         * config/avr/avr.c (avr_mcu_types): Remove devices that were once
9         expected, but don't really exist: atmega83, atmega85, attiny10.
10         * config/avr/avr.h (LINK_SPEC): Update to use the new avr[1-5] ld
11         emulations for all devices.
12         (CRT_BINUTILS_SPECS): Remove atmega83, atmega85, attiny10.
13         * config/avr/t-avr (MULTILIB_MATCHES): Remove atmega83, atmega85.
14
15 2002-06-01  Kazu Hirata  <kazu@cs.umass.edu>
16
17         * config/h8300/h8300-protos.h: Add a prototype for
18         h8300_shift_needs_scratch_p.
19         * config/h8300/h8300.c (h8300_shift_needs_scratch_p): New.
20         * config/h8300/h8300.h (OK_FOR_R): New.
21         (OK_FOR_S): Likewise.
22         (OK_FOR_T): Likewise.
23         (EXTRA_CONSTRAINT): Call OK_FOR_R, OK_FOR_S, and OK_FOR_T.
24         * config/h8300/h8300.md (anonymous shift patterns): Use
25         constraints R, S, and T.
26
27 Sat Jun  1 11:23:22 CEST 2002  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
28
29         * basic-block.h (struct basic_block_def): New field loop_father.
30         (BB_VISITED): New flag.
31         (struct loop): New field pred, removed field shared.
32         (struct loops): New field parray.
33         (LOOP_EXITS_DOMS): Removed.
34         (flow_loop_tree_node_add, flow_loop_tree_node_remove,
35         flow_loop_nested_p, flow_bb_inside_loop_p, get_loop_body,
36         dfs_enumerate_from, loop_preheader_edge, loop_latch_edge,
37         add_bb_to_loop, remove_bb_from_loops, find_common_loop,
38         verify_loop_structure): Declare.
39         * cfg.c (entry_exit_blocks): Initialize loop_father field.
40         * cfganal.c (dfs_enumerate_from): New function.
41         * cfgloop.c (HEAVY_EDGE_RATIO): New constant.
42         (flow_loop_entry_edges_find, flow_loop_exit_edges_find,
43         flow_loop_nodes_find, flow_loop_level_compute, flow_loop_nested_p,
44         flow_loop_dump, flow_loops_dump, flow_loops_free,
45         flow_loop_tree_node_add, flow_loop_level_compute,
46         flow_loops_level_compute, flow_loop_scan, flow_loops_update,
47         flow_loop_outside_edge_p): Modified for new infrastructure.
48         (make_forwarder_block, canonicalize_loop_headers, glb_enum_p,
49         redirect_edge_with_latch_update, flow_loop_free): New static functions.
50         (flow_loop_tree_node_remove, flow_bb_inside_loop_p,
51         get_loop_body, add_bb_to_loop, remove_bb_from_loops,
52         find_common_loop, verify_loop_structure, loop_latch_edge,
53         loop_preheader_edge): New functions.
54         (flow_loops_cfg_dump): Do not show dominators, as this information
55         does not remain up to date long.
56         (flow_loops_find): Store results in new format.
57         * predict.c (propagate_freq, estimate_probability,
58         estimate_loops_at_level, estimate_bb_frequencies): Use new loop
59         infrastructure.
60
61 2002-06-01  Alan Lehotsky  <apl@alum.mit.edu>
62
63         * except.c (nothrow_function_p): Walk epilogue delay list
64         checking the insn, not the chain for potential throws.
65
66 2002-05-31  Zack Weinberg  <zack@codesourcery.com>
67
68         * Makefile.in (INSTALL_CPP, UNINSTALL_CPP): Remove.
69         (install): Refer to install-cpp directly.
70         (uninstall-cpp): Folded into uninstall rule.
71         * configure.in: Delete all code relating to --disable-cpp.
72         * configure: Regenerate.
73         * config/t-install-cpp: Delete.
74
75 2002-05-31  Richard Henderson  <rth@redhat.com>
76
77         * configure.in (HAVE_AS_TLS): Add alpha tests.
78         * configure: Rebuild.
79         * config/alpha/alpha.c (TARGET_AS_TLS): New.
80         (alpha_tls_size, alpha_tls_size_string): New.
81         (overide_options): Set it.  Always install machine_status hooks.
82         (input_operand): Accept got tls predicates.
83         (local_symbol_p): Merge into ...
84         (local_symbolic_operand): ... here.  Reject tls symbols.
85         (global_symbolic_operand): Likewise.
86         (tls_symbolic_operand_1, dtp16_symbolic_operand): New.
87         (dtp32_symbolic_operand, gotdtp_symbolic_operand): New.
88         (tp16_symbolic_operand, tp32_symbolic_operand): New.
89         (gottp_symbolic_operand, tls_symbolic_operand_type): New.
90         (alpha_encode_section_info): Handle TLS symbols.
91         (alpha_strip_name_encoding): Likewise.
92         (alpha_legitimate_address_p): Likewise.
93         (alpha_legitimize_address): Likewise.
94         (alpha_expand_mov): Early exit to avoid nop moves.
95         (struct machine_function): Move from unicosmk.h.  Add some_ld_name.
96         (alpha_init_machine_status, alpha_mark_machine_status,
97         alpha_free_machine_status): Always define.
98         (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
99         (print_operand, print_operand_address): Add TLS relocs.
100         * config/alpha/alpha.h (HAVE_AS_TLS): Default 0.
101         (MASK_TLS_KERNEL, TARGET_TLS_KERNEL): New.
102         (TARGET_SWITCHES): Add -mtls-kernel.
103         (alpha_tls_size, alpha_tls_size_string): New.
104         (TARGET_OPTIONS): Add -mtls-size=.
105         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
106         REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Add R0_REG.
107         (ASM_OUTPUT_LABELREF): Skip %.
108         (PRINT_OPERAND_PUNCT_VALID_P): Add &.
109         (PREDICATE_CODES): Update.
110         * config/alpha/alpha.md (UNSPEC_TLSGD_CALL, UNSPEC_TLSLDM_CALL,
111         UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_DTPREL, UNSPEC_TPREL,
112         UNSPEC_TP, UNSPECV_SET_TP): New.
113         (adddi_er_lo16_dtp, adddi_er_hi32_dtp, adddi_er_lo32_dtp,
114         adddi_er_lo16_tp, adddi_er_hi32_tp, adddi_er_lo32_tp, load_tp,
115         set_tp, movdi_er_tlsgd, movdi_er_tlsldm, movdi_er_gotdtp,
116         movdi_er_gottp, call_value_osf_tlsgd, call_value_osf_tlsldm): New.
117         (call_value_osf_2_er): Accept anything as op4.
118         * config/alpha/alpha-protos.h: Update.
119         * config/alpha/unicosmk.h (struct machine_function): Move to alpha.c.
120
121 2002-05-31  Zack Weinberg  <zack@codesourcery.com>
122
123         * cppinit.c (append_include_chain): Always pay attention to
124         cxx_aware when setting new->sysp.  Remove ATTRIBUTE_UNUSED
125         marker on argument.
126
127 2002-05-31  Kazu Hirata  <kazu@cs.umass.edu>
128
129         * target.h: Fix formatting.
130         * timevar.h: Likewise.
131         * tlink.c: Likewise.
132         * toplev.c: Likewise.
133         * toplev.h: Likewise.
134         * tree.c: Likewise.
135         * tree-dump.h: Likewise.
136         * tree.h: Likewise.
137         * tree-inline.h: Likewise.
138         * unroll.c: Likewise.
139         * unwind-dw2.c: Likewise.
140         * unwind-dw2-fde.c: Likewise.
141         * unwind-dw2-fde-glibc.c: Likewise.
142         * unwind-dw2-fde.h: Likewise.
143         * unwind.h: Likewise.
144         * unwind-sjlj.c: Likewise.
145         * varasm.c: Likewise.
146         * varray.h: Likewise.
147         * vmsdbg.h: Likewise.
148         * vmsdbgout.c: Likewise.
149         * xcoffout.h: Likewise.
150
151 2002-05-31  Igor Shevlyakov <igor@microunity.com>
152
153         * expr.c (compare_from_rtx): Generate comparison between op0 and op1
154         rather than cc0 and 0 in a case when HAVE_cc0 is not defined.
155
156 2002-05-31  Matthew Woodcraft  <mattheww@chiark.greenend.org.uk>
157
158         * gcc.c (cpp_unique_options): Remove "-d" options.
159         (cpp_debug_options): New spec string.
160         (default_compilers): Use it.
161         * objc/lang-specs.h: Likewise.
162
163 2002-05-31  Nathanael Nerode  <neroden@twcny.rr.com>
164
165         * gcc/Makefile.in: Replace HOST_PREFIX, HOST_PREFIX_1 with
166         BUILD_PREFIX, BUILD_PREFIX_1, to correct nomenclature.
167         * gcc/mklibgcc.in: Likewise.
168         * gcc/config/arc/t-arc: Likewise.
169         * gcc/configure.in: Likewise.
170         * gcc/configure: Regenerate.
171
172 2002-05-31  Stan Shebs  <shebs@apple.com>
173             Turly O'Connor  <turly@apple.com>
174
175         * c-decl.c (struct binding_level): Change int field n_incomplete
176         to tree list incomplete_list.
177         (clear_binding_level): Init field with NULL.
178         (pushdecl): Add incomplete type to list.
179         (mark_binding_level): Mark the incomplete list.
180         (finish_struct): Scan the incomplete list for types instead
181         of all decls in the current binding level.
182
183 2002-05-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
184
185         * pa.c (output_millicode_call): Add missing '%' characters.
186         (output_call): Likewise.
187
188 2002-05-31  David Edelsohn  <edelsohn@gnu.org>
189
190         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Define.
191         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
192
193 2002-05-31  Alan Lehotsky <apl@alum.mit.edu>
194
195         * varasm.c (mark_constant_pool): Walk epilogue delay list
196         checking the insn, not the chain for potential constants.
197
198 Fri May 31 12:38:43 2002  J"orn Rennecke <joern.rennecke@superh.com>
199
200         * config/sh/elf.h (ASM_SPEC): Use subtarget_endian_asm_spec.
201
202 Fri May 31 13:50:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
203
204         * i386.c (classify_argument): Properly handle base types.
205
206         * dwarf2out.c (expand_builin_init_dwarf_reg_sizes):
207         Store first DWARF_FRAME_REGISTERS dwarf registers, not pseudo
208         registers.
209
210 Fri May 31 13:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
211
212         * gcse.c (gcse_emit_move_after): New.
213         (pre_delete, hoist_store): Use it.
214
215         * reload1.c (emit_input_reload_insns): Use constrain_operands
216         instead of constraint_accepts_reg_p to verify optimization.
217         (constraint_accepts_reg_p): Kill
218
219         * reload1.c (reload_cse_delete_noop_set): Kill.
220         (reload_cse_simplify): use delte_insn_and_edges.
221
222 2002-05-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
223
224         * cfgloop.c (flow_loops_find): Initialize first and last fields
225         correctly.
226
227 2002-05-31  Neil Booth  <neil@daikokuya.demon.co.uk>
228
229         * c-common.c (builtin_define_std): Correct logic.
230
231 2002-05-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
232
233         * pa.c (output_millicode_call): Correct "be,l" insn for TARGET_PA_20.
234         (output_call): Likewise.
235
236 2002-05-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
237
238         * pa.c: Move output.h include after tree.h include.
239         (pa_asm_output_mi_thunk): Constify identifier lab.
240
241 2002-05-31  Jason Thorpe  <thorpej@wasabisystems.com>
242
243         * config/ns32k/ns32k.h: Define named constants for the
244         bits in target_flags and use them.
245         * config/ns32k/netbsd.h (TARGET_DEFAULT): Use named constants.
246
247 2002-05-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
248
249         * config.gcc (tm_file): Prefix pa/pa-700.h to tm_file list for PA1.0
250         architecture and pa/pa-7100.h for PA1.1 architecture, respectively.
251         * pa/pa.c (override_options): Use TARGET_SCHED_DEFAULT to select
252         default scheduling model.
253         * pa/pa.h (TARGET_SCHED_DEFAULT): Define if not defined to "8000".
254         * pa/pa-700.h (TARGET_SCHED_DEFAULT): New file for "700" scheduling.
255         * pa/pa-7100.h (TARGET_SCHED_DEFAULT): New file for "7100" scheduling.
256         * doc/install.texi (hppa*-*-*): Document default scheduling.
257
258 2002-05-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
259
260         * pa.c (following_call): Check TARGET_JUMP_IN_DELAY.
261
262 2002-05-31  Jason Thorpe  <thorpej@wasabisystems.com>
263
264         * config.gcc (ns32k-*-netbsd*): Set tm_file to
265         "${tm_file} netbsd.h netbsd-aout.h ns32k/netbsd.h"
266         * config/ns32k/netbsd.h: Don't include ns32k/ns32k.h,
267         netbsd.h, or netbsd-aout.h.
268
269 2002-05-31  Jason Thorpe  <thorpej@wasabisystems.com>
270
271         * longlong.h (count_trailing_zeros): Add missing \, and clean up
272         whitespace in __ns32000__ case.
273
274 2002-05-31  Aldy Hernandez  <aldyh@redhat.com>
275
276         * expr.c (expand_expr): Output partially zeroed out vectors with
277         output_constant_def.
278
279 2002-05-30  Jason Thorpe  <thorpej@wasabisystems.com>
280
281         * config.gcc (sh[123456789l]*-*-*): Set cpu_type to sh.
282         (sh-*-netbsdelf*)
283         (shl*-*-netbsdelf*): New targets.
284         * config/sh/netbsd-elf.h: New file.
285
286 2002-05-30  Richard Henderson  <rth@redhat.com>
287             Eric Botcazou  <ebotcazou@multimania.com>
288
289         PR optimization/6822
290         * config/i386/i386.c (ix86_expand_int_movcc): Don't cast INTVAL
291         to unsigned int for op1 comparisons.  Use gen_int_mode.
292
293 2002-05-30  Eric Botcazou  <ebotcazou@multimania.com>
294
295         * expmed.c (const_mult_add_overflow_p): New.
296         * expr.h: Declare it.
297         * loop.c (maybe_eliminate_biv_1) [COMPARE]: Use it.
298         Don't eliminate the biv if the giv has a constant multiplier and
299         the rhs argument of the comparison does satisfy the predicate.
300         Use expand_mult_add to compute the replacement constant.
301
302 2002-05-30  Osku Salerma  <osku@iki.fi>
303
304         * c-common.c (c_common_attribute_table): Add "may_alias" entry.
305         (c_common_get_alias_set): Handle it.
306         * doc/extend.texi: Document it.
307
308 2002-05-30  Richard Henderson  <rth@redhat.com>
309
310         * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill.
311         * toplev.c (process_options): Don't check it.
312         * doc/tm.texi: Don't document it.
313         * config/i386/linux.h (SUBTARGET_FRAME_POINTER_REQUIRED): New.
314         (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill.
315         * config/i386/i386.c (ix86_frame_pointer_required): Suppress leaf
316         frame pointer optimization if current_function_profile.
317
318 2002-05-30  Kazu Hirata  <kazu@cs.umass.edu>
319
320         * langhooks.c: Fix formatting.
321         * langhooks.h: Likewise.
322         * lcm.c: Likewise.
323         * libgcc2.c: Likewise.
324         * lists.c: Likewise.
325         * local-alloc.c: Likewise.
326         * loop.c: Likewise.
327         * loop.h: Likewise.
328
329 2002-05-30  Marc Espie <espie@openbsd.org>
330
331         * config.gcc (sparc64-*-openbsd*): New.
332         * config/sparc/openbsd1-64.h: New.
333         * config/sparc/openbsd64.h: New.
334
335 2002-05-30  Jeff Law <law@redhat.com>
336
337         * flow.c (propagate_one_insn): Revise yesterday's patch.  Delete
338         a dead insn with a REG_RETVAL note when the entire libcall is not
339         dead and remove the associated REG_LIBCALL note at the same time.
340
341 Thu May 30 19:54:30 2002  J"orn Rennecke <joern.rennecke@superh.com>
342
343         * lcm.c (output.h): #include.
344         (compute_earliest): Remove hack to treat renumbered EXIT_BLOCK
345         as an ordinary block.
346         (optimize_mode_switching): Don't pretend that the exit block is
347         an ordinary block, or handle sucessors of entry block specially.
348         Instead, split edges from entry block and to exit block, and
349         put a computing definition on the thus gained post-entry-block,
350         and a need on the pre-exit-block.
351
352 Thu May 30 20:28:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
353
354         * gengenrtl.c (type_from_format, accessor_from_format): Support 'B'.
355         * rtl.texi: Document 'B'
356
357 2002-05-30  Jason Thorpe  <thorpej@wasabisystems.com>
358
359         * config/m68k/netbsd-elf.h (LONG_DOUBLE_TYPE_SIZE): Compute
360         at run-time.
361         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 96 if not __mc68010__.
362
363 2002-05-30  Aldy Hernandez  <aldyh@redhat.com>
364
365         * config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return
366         const0_rtx instead of NULL_RTX when in error.
367         (altivec_expand_abs_builtin): Same.
368         (rs6000_expand_binop_builtin): Same.
369         (altivec_expand_predicate_builtin): Same.
370         (altivec_expand_stv_builtin): Same.
371         (rs6000_expand_ternop_builtin): Same.
372         (altivec_expand_builtin): Same.
373
374 2002-05-29  David S. Miller  <davem@redhat.com>
375
376         * rtl.h (clear_emit_caches): Delete.
377         * integrate.c (output_inline_function): Don't call it.
378         * emit-rtl.c (restore_emit_status, init_emit): Likewise.
379         (clear_emit_caches): Delete definition.
380         (SEQUENCE_RESULT_SIZE, sequence_result, free_insn): Likewise.
381
382 2002-05-30  Hans-Peter Nilsson  <hp@bitrange.com>
383
384         * config/mmix/mmix.c: Include real.h.
385         (mmix_constant_address_p): Remove redundant test before switch.
386
387 2002-05-29  Jason Thorpe  <thorpej@wasabisystems.com>
388
389         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Define
390         only if not already defined.
391
392 2002-05-29  Kazu Hirata  <kazu@cs.umass.edu>
393
394         * config/h8300/h8300-protos.h: Remove prototypes for
395         ok_for_bclr and small_power_of_two.
396         * config/h8300/h8300.c (small_power_of_two): Remove.
397         (ok_for_blcr): Likewise.
398         (fix_bit_operand): Make WHAT deal with an integer instead of a
399         constraint character.
400         * config/h8300/h8300.h (CONST_OK_FOR_O): Remove.
401         (CONST_OK_FOR_P): Likewise.
402         (CONST_OK_FOR_LETTER_P): Do not call CONST_OK_FOR_O or
403         CONST_OK_FOR_P any more.
404         * config/h8300/h8300.md (andqi3): Adjust to the new prototype
405         of fix_bit_operand.
406         (iorqi3): Likewise.
407         (xorqi3): Likewise.
408
409 2002-05-29  Jason Thorpe  <thorpej@wasabisystems.com>
410
411         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
412         (CPP_PREDEFINES): Make sure this is undefined.
413         (CPP_SPEC): Place -D__mips=1 at the beginning of the spec,
414         since it is no longer in CPP_PREDEFINES.  Don't -U__MIPSEL__
415         or -U__MIPSEB__ before defining one or the other.  Instead,
416         use %(subtarget_endian_default) if neither -EB nor -EL are
417         specified.
418         (SUBTARGET_EXTRA_SPECS): Define.
419         (SUBTARGET_CPP_SPEC): Remove __LONG64 handling.  Use
420         %(netbsd_cpp_spec).
421
422 2002-05-29  Hans-Peter Nilsson  <hp@axis.com>
423
424         * doc/md.texi (Patterns): Note pattern condition pitfall
425         for unnamed insn.
426
427 2002-05-29  Aldy Hernandez  <aldyh@redhat.com>
428
429         * rs6000.c: (altivec_expand_builtin): Only expand altivec builtins
430         when TARGET_ALTIVEC.  Move handling of generic unary, binary, and
431         ternary operations from here...
432         (rs6000_expand_builtin): ...to here.
433         New argument expandedp.
434         Change all instances of altivec_expand_binop_builtin to
435         rs6000_expand_binop_builtin.
436         (altivec_expand_unop_builtin): Rename to
437         rs6000_expand_unop_builtin.
438         (altivec_expand_binop_builtin): Rename to
439         rs6000_expand_binop_builtin.
440         (altivec_expand_ternop_builtin): Rename to
441         rs6000_expand_ternop_builtin.
442
443 2002-05-29  Richard Henderson  <rth@redhat.com>
444
445         * config/i386/biarch64.h (TARGET_64BIT_DEFAULT): Define with value.
446         (TARGET_BI_ARCH): Likewise.
447         * config/i386/i386.h: Test TARGET_64BIT_DEFAULT by value.
448         (TARGET_SWITCHES): Combine target defaults here not in TARGET_DEFAULT.
449         (TARGET_64BIT_DEFAULT): Default to 0.
450         (TARGET_DEFAULT): Default to MASK_OMIT_LEAF_FRAME_POINTER.
451
452 2002-05-29  Richard Henderson  <rth@redhat.com>
453
454         * config/i386/i386.c (USE_HIDDEN_LINKONCE): New.
455         (get_pc_thunk_name): New.
456         (output_set_got): Use it.
457         (ix86_asm_file_end): If USE_HIDDEN_LINKONCE, emit get_pc thunks
458         into linkonce sections.
459
460 2002-05-29  Jason Thorpe  <thorpej@wasabisystems.com>
461
462         * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
463         (CPP_PREDEFINES): Make sure this is undefined.
464         (CPP_SUBTARGET_SPEC64, CPP_SUBTARGET_SPEC32): Remove.
465         (CPP_SUBTARGET_SPEC): Don't provide different versions for
466         default-32 and default-64.  Just always use %(netbsd_cpp_spec).
467         (SUBTARGET_EXTRA_SPECS): Remove cpp_subtarget_spec32 and
468         cpp_subtarget_spec64.  Add netbsd_cpp_spec.
469         * config/sparc/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
470         (CPP_PREDEFINES): Make sure this is undefined.
471         (SUBTARGET_EXTRA_SPECS): Define.
472         (CPP_SPEC): Use %(netbsd_cpp_spec).
473
474 2002-05-29  Jeff Law <law@redhat.com>
475
476         * pa.h (ASM_OUTPUT_MI_THUNK): Remove unwanted semi-colon.
477
478         * flow.c (propagate_one_insn): Do not remove a dead insn if it
479         contains a REG_RETVAL note.
480
481         * haifa-sched (sched_analyze): Remove another useless clearing
482         of SCHED_GROUP_P I missed yesterday.
483
484         * pa.h (ASM_OUTPUT_MI_THUNK): Move implementation into pa.c.
485         * pa.c (pa_asm_output_mi_thunk): New function.
486         * pa-protos.h (pa_asm_output_mi_thunk): Declare.
487
488 2002-05-29  Neil Booth  <neil@daikokuya.demon.co.uk>
489             Marek Michalkiewicz  <marekm@amelek.gda.pl>
490
491         * config/avr/avr.c (avr_base_arch_macro, avr_extra_arch_macro): New.
492         (avr_asm_only_p): Make non-static.
493         (enum avr_arch): Remove.
494         (avr_arch_types): New.
495         (avr_mcu_types): Update.
496         (avr_override_options): Use avr_arch_types table instead of switch.
497         * avr.h (CPP_PREDEFINES): Die.
498         (avr_base_arch_macro, avr_extra_arch_macro): New.
499         (TARGET_CPU_CPP_BUILTINS): New.
500         (CPP_SPEC, EXTRA_SPECS): Simplify.
501         (CPP_AVR1_SPEC, CPP_AVR2_SPEC, CPP_AVR3_SPEC, CPP_AVR4_SPEC,
502         CPP_AVR5_SPEC): Die.
503
504 2002-05-29  Jason Thorpe  <thorpej@wasabisystems.com>
505
506         * config/arm/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
507         NETBSD_OS_CPP_BUILTINS_AOUT.
508         (SUBTARGET_EXTRA_SPECS): Define.
509         (CPP_SPEC): Use %(netbsd_cpp_spec).
510
511 2002-05-29  Richard Henderson  <rth@redhat.com>
512
513         * config/i386/i386.c (ix86_output_function_epilogue): New.
514         (TARGET_ASM_FUNCTION_EPILOGUE): New.
515         (pic_label_name): Remove.
516         (pic_labels_used): New.
517         (ix86_asm_file_end): Emit one pc load stub for each register used.
518         (output_set_got): Generate deep pc load to any register.
519         (ix86_select_alt_pic_regnum): New.
520         (ix86_save_reg): Don't save pic register if we can find a valid
521         call-clobbered replacement.
522         (ix86_expand_prologue): If we found a valid replacement, renumber
523         pic_offset_table_rtx.
524         * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Look at
525         pic_offset_table_rtx after reload.
526         (REAL_PIC_OFFSET_TABLE_REGNUM): New.
527         * config/i386/i386.md (set_got): Make insn, not expander.
528         (set_got_nopic, set_got_deep, set_got_nodeep): Remove.
529
530 2002-05-29  Richard Henderson  <rth@redhat.com>
531
532         * config/i386/i386.c (ix86_compute_frame_layout): Do add bottom
533         alignment for alloca.
534
535 2002-05-29  Richard Henderson  <rth@redhat.com>
536
537         * config/i386/i386.c (output_pic_addr_const): Lowercase rip.
538         (print_operand_address): Only add rip for symbolic addresses
539         for which we do not have another relocation type.
540
541 2002-05-29  Jason Thorpe  <thorpej@wasabisystems.com>
542
543         * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
544         (EXTRA_SPECS): Add netbsd_cpp_spec.
545         (CPP_SPEC): Use %(netbsd_cpp_spec).
546         (CPP_PREDEFINES): Remove.
547         * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
548         (EXTRA_SPECS): Define.
549         (CPP_SPEC): Use %(netbsd_cpp_spec).
550         (CPP_PREDEFINES): Remove.
551
552 2002-05-29  Neil Booth  <neil@daikokuya.demon.co.uk>
553
554         PR preprocessor/6844
555         * cppmacro.c (cpp_macro_definition): Reserve space for terminating
556         NUL.
557
558 2002-05-29  Eric Christopher  <echristo@redhat.com>
559
560         * config/mips/linux.h (SUBTARGET_CPP_SPEC): Add support for
561         mips5/mips32/mips64 and _MIPS_ISA_MIPSXX.
562
563 2002-05-29  Nick Clifton  <nickc@cambridge.redhat.com>
564
565         * config/fr30/fr30.md: Remove previous restriction on splits.
566         Enforce conformance through gen_lowpart and cont_int_operand.
567         * config/fr30/fr30.h (BSS_SECTION_ASM_OP): Use ".section .bss"
568         as the assembler does not support ".bss".
569
570 2002-05-29  Jason Thorpe  <thorpej@wasabisystems.com>
571
572         * config/i386/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
573         (CPP_PREDEFINES): Remove.
574         (SUBTARGET_EXTRA_SPECS): Define.
575         (CPP_SPEC): Use %(netbsd_cpp_spec).
576         * config/i386/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
577         (CPP_PREDEFINES): Remove.
578         (SUBTARGET_EXTRA_SPECS): Define.
579         (CPP_SPEC): Use %(netbsd_cpp_spec).
580         * config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Define.
581         (CPP_PREDEFINES, CPP_LP64_SPEC, CPP_SUBTARGET_SPEC): Remove.
582         (SUBTARGET_EXTRA_SPECS): Remove cpp_lp64 and cpp_subtarget.
583         Add netbsd_cpp_spec.
584         (CPP_SPEC): Remove %(cpp_subtarget), add %(netbsd_cpp_spec).
585
586 2002-05-29  Neil Booth  <neil@daikokuya.demon.co.uk>
587             Zack Weinberg <zack@codesourcery.com>
588
589         * cppexp.c (cpp_num): Move to cpplib.h.
590         (CPP_ERROR): Remove.
591         (interpret_float_suffix, interpret_int_suffix): New.
592         (struct suffix, vsuf_1, vsuf_2, vsuf_3): Remove.
593         (cpp_classify_number, cpp_interpret_integer): New.
594         (interpret_number): Remove.
595         (eval_token): Update to use new routines.
596         * cpphash.h (cpp_num_part): Move to cpplib.h.
597         * cppinit.c (cpp_post_options): Set warn_long_long.
598         * cpplib.h (struct cpp_options): Add warn_long_long.
599         (cpp_num, cpp_num_part, CPP_N_CATEGORY, CPP_N_INVALID,
600         CPP_N_INTEGER, CPP_N_FLOATING, CPP_N_WIDTH, CPP_N_SMALL,
601         CPP_N_MEDIUM, CPP_N_LARGE, CPP_N_RADIX, CPP_N_DEC, CPP_N_HEX,
602         CPP_N_OCTAL, CPP_N_UNSIGNED, CPP_N_IMAGINARY, cpp_classify_number,
603         cpp_interpret_integer): New.
604
605 2002-05-29  Joel Sherrill <joel@OARcorp.com>
606
607         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Use -m403 and -m405.
608
609 2002-05-29  Jason Thorpe  <thorpej@wasabisystems.com>
610
611         * config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
612         NETBSD_OS_CPP_BUILTINS_ELF and NETBSD_OS_CPP_BUILTINS_LP64.
613         (CPP_SUBTARGET_SPEC): Define.
614         (SUBTARGET_EXTRA_SPECS): Define.
615         (CPP_SPEC): Remove.
616
617 2002-05-29  Chris Lattner  <sabre@nondot.org>
618
619         * ssa.c (rename_insn_1): Rename uses of undefined registers to
620         prevent confusion if/when the register is defined.
621
622 2002-05-29  Hans-Peter Nilsson  <hp@axis.com>
623
624         PR target/6838
625         * config/cris/cris.md: Fix typos and thinkos in comments.
626         ("*mov_sideqi_biap_mem"): Remove '*' in constraint for operand 4,
627         second alternative.
628         ("*mov_sidehi_biap_mem", "*mov_sidesi_biap_mem"): Ditto.
629         ("*mov_sideqi_mem"): Similar, but for operand 3.
630         ("*mov_sidehi_mem", "*mov_sidesi_mem"): Ditto.
631         (splitter for mov_sideqi_mem, mov_sidehi_mem, mov_sidesi_mem):
632         Remove spurious mode specifier on operand 2.
633
634 2002-05-29  Kazu Hirata  <kazu@cs.umass.edu>
635
636         * config/h8300/h8300-protos.h: Remove the prototype for
637         o_operand.
638         Add prototypes for single_one_operand and single_zero_operand.
639         * config/h8300/h8300.c (o_operand): Remove.
640         (single_one_operand): New.
641         (single_zero_operand): Likewise.
642         (print_operand): For 'V' operand, and the operand with 0xff.
643         For 'V' and 'W' operands, do not and the bit position with 7.
644         * config/h8300/h8300.md (various anonymous patterns): Replace
645         use of exact_log2 with single_one_operand/single_zero_operand.
646
647 2002-05-29  Ulrich Weigand  <uweigand@de.ibm.com>
648
649         * config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
650
651 2002-05-29  Ulrich Weigand  <uweigand@de.ibm.com>
652
653         * config/s390/s390.c (legitimate_pic_operand_p): Do not
654         accept symbolic LARL operands.
655         (s390_emit_epilogue): Do not set FRAME_RELATED_P on
656         epilogue insns.
657
658 2002-05-29  Hartmut Penner  <hpenner@de.ibm.com>
659
660         * config/s390/s390.md (cmpstr_64/31): Mark whole
661         input registers as used.
662
663 2002-05-28  Richard Henderson  <rth@redhat.com>
664
665         * config/i386/i386.c (ix86_save_reg): Examine regs_ever_live,
666         not current_function_uses_pic_offset_table and
667         current_function_uses_const_pool; examine current_function_profile.
668         (ix86_expand_prologue): Likewise.  Add pic_offset_table_rtx as
669         input to blockage if needed.
670         (ix86_expand_call): Do not set current_function_uses_pic_offset_table.
671         (legitimize_pic_address): Likewise.  Set regs_ever_live for
672         pic_offset_table_rtx when invoked during reload.
673         * config/i386/i386.h (FINALIZE_PIC): Remove.
674         * config/i386/i386.md (tablejump): Reformat.  Do not set
675         current_function_uses_pic_offset_table.
676         (tls_global_dynamic, tls_local_dynamic_base): Likewise.
677         (blockage): Accept anything as operand 0.
678
679 2002-05-28  Jason Thorpe  <thorpej@wasabisystems.com>
680
681         * config/netbsd-aout.h (NETBSD_OS_CPP_BUILTINS_AOUT): Define
682         common CPP built-ins for all NetBSD a.out targets.
683         * config/netbsd-elf.h (NETBSD_OS_CPP_BUILTINS_ELF): Define
684         common CPP built-ins for all NetBSD ELF targets.
685         * config/netbsd.h: Add missing notice.
686         (NETBSD_OS_CPP_BUILTINS_COMMON): Define common CPP built-ins
687         for all NetBSD targets.
688         (NETBSD_OS_CPP_BUILTINS_LP64): Define common CPP built-ins
689         for all NetBSD targets using an LP64 code model.
690         (NETBSD_CPP_SPEC): Define CPP_SPEC parts common to all
691         NetBSD targets.
692
693 2002-05-28  Richard Henderson  <rth@redhat.com>
694
695         * flow.c (update_life_info_in_dirty_blocks): Only do a partial
696         update if UPDATE_LIFE_LOCAL.
697
698 2002-05-28  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
699
700         * config/sh/sh.c: Include real.h for REAL_VALUE_TYPE.
701
702 Tue May 28 21:16:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
703                           Jason R. Thorpe <thorpej@wasabisystems.com>
704
705         config/sh reorganization to factor out endianness and coff:
706
707         * config/sh/little.h: New file.
708         * config/sh/sh.h (TARGET_ENDIAN_DEFAULT): If not already
709         defined, define to 0 to select big-endian.
710         (SUBTARGET_ASM_ENDIAN_SPEC): Define according to TARGET_ENDIAN_DEFAULT.
711         (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
712         * config/sh/sh64.h (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
713         * config/sh/t-be: New file.
714         * config/sh/t-le: New file.
715
716         * sh.h (SDB_DEBUGGING_INFO, #include "dbxcoff.h"): Moved to sh/coff.h.
717         (SDB_DELIM, MAX_OFILE_ALIGNMENT, IDENT_ASM_OP): Likewise.
718         (TARGET_ASM_NAMED_SECTION, ASM_OUTPUT_SKIP): Likewise.
719         (USER_LABEL_PREFIX, LOCAL_LABEL_PREFIX): Likewise.
720         (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Likewise.
721         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
722         (ASM_FILE_END, ASM_DECLARE_FUNCTION_NAME): Deleted.
723         (CPP_SPEC, SUBTARGET_CPP_ENDIAN_SPEC): Likewise.
724         (SUBTARGET_CPP_SPEC, CPP_DEFAULT_CPU_SPEC, CPP_PREDEFINES): Likewise.
725         (EXTRA_SPECS): Remove SUBTARGET_CPP_ENDIAN_SPEC and
726         CPP_DEFAULT_CPU_SPEC.  Add LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL,
727         SUBTARGET_LINK_EMUL_SUFFIX and SUBTARGET_LINK_SPEC.
728         (LINK_SPEC): Define to SH_LINK_SPEC.
729         (TARGET_CPU_CPP_BUILTINS, SH_LINK_SPEC): Define.
730         (LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL): Likewise.
731         (SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
732         (CPP_SPEC): Reduce to %(subtarget_cpp_spec).
733         (TARGET_ENDIAN_DEFAULT): Define if not already defined.
734         * config/sh/coff.h: New file.
735         (TARGET_ASM_NAMED_SECTION): Now default_coff_asm_named_section
736         (TARGET_OBJFMT_CPP_BUILTINS): Define.
737         * config/sh/elf.h (IDENT_ASM_OP): No need to #undef at the start.
738         (ASM_FILE_END, ASM_OUTPUT_SOURCE_LINE): Likewise.
739         (DBX_OUTPUT_MAIN_SOURCE_FILE_END, TARGET_ASM_NAMED_SECTION): Likewise.
740         (ASM_DECLARE_FUNCTION_NAME, MAX_OFILE_ALIGNMENT, SIZE_TYPE): Likewise.
741         (PTRDIFF_TYPE): Likewise.
742         ("dbxelf.h", "elfos.h", "svr4.h"): Don't #include.
743         (CPP_PREDEFINES): Don't define.
744         (TARGET_OBJFMT_CPP_BUILTINS): Define.
745         (LINK_SPEC): Define to SH_LINK_SPEC.
746         (LINK_EMUL_PREFIX): Redefine.
747         * config/sh/linux.h: (SUBTARGET_CPP_SPEC): Remove -fpic / -fPIC cases.
748         (SUBTARGET_CPP_ENDIAN_SPEC, CPP_DEFAULT_CPU_SPEC): Remove redefinition.
749         (CPP_PREDEFINES, SUBTARGET_ASM_ENDIAN_SPEC): Likewise.
750         (CC1_SPEC, CC1PLUS_SPEC, LINK_SPEC): Likewise.
751         (TARGET_OS_CPP_BUILTINS): Define.
752         (TARGET_DEFAULT): Redefine.
753         (SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
754         * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Remove.
755         (LINK_SPEC): Don't redefine.
756         (LINK_DEFAULT_CPU_EMUL): Redefine.
757         (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
758         * sh.c (sh_asm_named_section): Don't declare / define.
759         * t-linux (MULTILIB_OPTIONS): Rely on pre-set endianness option.
760         * config.gcc (sh-*-elf* tm_file): Add dbxelf.h elfos.h svr4.h.
761         (sh64-*-elf* tm_file): Likewise.
762         (sh-*-rtemself* tm_file): Likewise.
763         (sh-*-linux* tm_file): Likewise.  Add sh/little.h.
764         (sh-*-linux* tmake_file): Add sh/t-le.
765         (sh-*-rtems* tm_file): Add sh/coff.h
766         (sh-*-* tm_file): Likewise.
767
768 Tue May 28 21:16:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
769
770         * sh.h (LEGITIMATE_PIC_OPERAND_P): Check for SYMBOL_REF before using
771         CONSTANT_POOL_ADDRESS_P.
772
773         * coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Define.
774
775 2002-05-28  David Edelsohn  <edelsohn@gnu.org>
776             Jeff Law <law@redhat.com>
777
778         * optabs.c (expand_binop): Fix nwords sign warnings.
779         generate pseudo for add_optab.
780
781         * sched-deps.c (sched_analyze): Do not clear SCHED_GROUP_P.
782         * haifa-sched.c (move_insn): Clear SCHED_GROUP_P after it is used.
783
784 2002-05-28      Marc Espie <espie@openbsd.org>
785
786         * config/i386/openbsd.h (HAVE_GAS_MAX_SKIP_P2ALIGN):  Remove,
787         inherited from gas.h.
788         (ASM_QUAD):  Undef.  OpenBSD does not support it.
789
790 2002-05-28  Danny Smith  <dannysmith@users.sourceforge.net>
791
792         * doc/install.texi (binaries): Change mingw binaries
793         link to www.mingw.org.
794
795 2002-05-28  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
796
797         * cfgloop.c (flow_loops_cfg_dump): Use bb->index, not i.
798
799 2002-05-28  Richard Henderson  <rth@redhat.com>
800
801         * config/i386/i386.c (ix86_compute_frame_layout): Do not add
802         bottom alignment for leaf functions.
803
804 2002-05-28  Zack Weinberg  <zack@codesourcery.com>
805
806         * config/pa/milli32.S, config/pa/lib1funcs.asm,
807         config/sparc/sol2-g1.asm: Delete unused files.
808
809 2002-05-28  Richard Henderson  <rth@redhat.com>
810
811         * cfg.c (dump_flow_info): Print bb->index, not i, for block number.
812
813         * flow.c (calculate_global_regs_live): Rename call_used to
814         invalidated_by_call.  Initialize from regs_invalidated_by_call
815         instead of call_used_regs.
816
817         * varasm.c (default_binds_local_p): Check TREE_PUBLIC before
818         DECL_EXTERNAL.
819
820 2002-05-28  Zack Weinberg  <zack@codesourcery.com>
821
822         * tree.h: Don't include real.h.
823         Forward-declare struct realvaluetype.
824         (struct tree_real_cst): Point to the REAL_VALUE_TYPE, do not
825         contain it.
826         (TREE_REAL_CST_PTR): New accessor.
827         (TREE_REAL_CST): Update.
828         * real.h: Include machmode.h.
829         (realvaluetype): Make it struct realvaluetype, not a typedef.
830         (build_real): Prototype here.
831
832         * tree.c: Include real.h.
833         (build_real): Allocate the REAL_VALUE_TYPE as a separate
834         object in GC memory, set TREE_REAL_CST_PTR to point to it.
835         (build_real_from_int_cst): Use build_real.
836         * ggc-common.c (ggc_mark_trees): Mark TREE_REAL_CST_PTR of a
837         REAL_CST.
838
839         * builtins.c, c-common.c, c-lex.c, dwarf2out.c, expr.c,
840         fold-const.c, print-tree.c, real.c: Include real.h.
841         * Makefile.in: Update dependency lists.
842
843 2002-05-28  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
844
845         * basic-block.h (last_basic_block): Declare.
846         (expunge_block_nocompact): Declaration removed.
847         (compact_blocks): Declare.
848         * cfg.c (last_basic_block): New variable.
849         (expunge_block_nocompact): Removed.
850         (expunge_block): Do not compact basic blocks.
851         (compact_blocks): New.
852         * cfganal.c (flow_call_edges_add): Use the fact that bb indices no
853         longer change.
854         * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Set
855         last_basic_block.
856         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Do not change
857         real positions of blocks.
858         (delete_unreachable_blocks): Simplified -- quadratic behavior now
859         cannot occur.
860         (cleanup_cfg): Compact blocks.
861         * cfgrtl.c (create_basic_block): Insert basic blocks to the end of
862         basic_block_info varray.
863         (flow_delete_block): Comment update.
864         (back_edge_of_syntactic_loop_p): Modify position check code.
865         (verify_flow_info): Update checking.
866         * flow.c (calculate_global_regs_live): Use FOR_EACH_BB.
867         * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
868         (find_if_case_1, find_if_case_2, if_convert): Use the fact that bb
869         indices no longer change.
870         * lcm.c (optimize_mode_switching): Replace n_basic_blocks with
871         last_basic_block.
872         * predict.c (estimate_bb_frequencies): Remove unneccessary code.
873         * profile.c (branch_prob): Compact blocks.
874         * sched-rgn.c (find_rgns): Replace n_basic_blocks with
875         last_basic_block.
876
877 2002-05-28  Kazu Hirata  <kazu@cs.umass.edu>
878
879         * config/h8300/h8300.md (two anonymous patterns): New.
880
881 2002-05-28  David S. Miller  <davem@redhat.com>
882
883         * config/sparc/sparc.md (cpu): Tidy.
884         (type): Delete 'return', add 'ialuX', 'flushw', 'iflush', and
885         'trap'.
886         (in_call_delay): Delete reference to 'return' type.
887         (eligible_for_return_delay, in_return_delay, define_delay
888         referencing those): Delete.
889         (rest of file): Use new type attributes as appropriate.
890         * config/sparc/sparc-protos.h (eligible_for_return_delay): Delete.
891         * config/sparc/sparc.c (eligible_for_return_delay): Likewise.
892         * config/sparc/ultra1_2.md (us1_single): New reservation.
893         (us1_ialuX): Likewise.
894         * config/sparc/ultra3.md (us3_single): Likewise.
895         (us3_ialuX): Likewise.
896         (us3_imul, us3_idiv): Tweak.
897
898 2002-05-28  Richard Henderson  <rth@redhat.com>
899
900         * config/alpha/alpha.c (alpha_in_small_data_p): Return false for
901         STRING_CST.
902
903 2002-05-28  Richard Henderson  <rth@redhat.com>
904
905         * config.gcc: Obsolete mn10200.
906
907 2002-05-28  Neil Booth  <neil@daikokuya.demon.co.uk>
908
909         * cppexp.c (interpret_number): Optimize for single-digit
910         and less-than-half-precision cases.
911         (num_trim, num_positive, num_div_op): Cast constants.
912
913 2002-05-27  Bo Thorsen  <bo@suse.de>
914
915         * config/i386/libgcc-x86_64-glibc.ver: Copy this file from the
916         3.1 branch. The file was made by Jakub Jelinek.
917         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Add i386
918         support so multilib doesn't break. And don't define this at all
919         when -Dinhibit_libc is used.
920         (MULTILIB_DEFAULTS): Always set default to 64 bit compilation.
921         * config/i386/t-linux64: Implement full multilib support. Patch
922         originally done by Andreas Jaeger and Jakub Jelinek.
923
924 2002-05-27  Roger Sayle  <roger@eyesopen.com>
925
926         * c-common.c: Add support for __attribute__((nothrow)) to specify
927         that a function cannot throw an exception (using TREE_NOTHROW).
928         (handle_nothrow_attribute): New function to process this attribute.
929
930         * doc/extend.texi: Document the new nothrow function attribute.
931
932 2002-05-27  H.J. Lu  (hjl@gnu.org)
933
934         * cppexp.c (num_trim): Use 1UL instead of 1 for long int.
935         (num_positive): Likewise.
936         (num_div_op): Likewise.
937
938 2002-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
939
940         * c-common.c (c_common_init): Always use intmax_t.
941
942 2002-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
943
944         * c-common.c (c_common_init): Use intmax_t for now.
945
946 2002-05-24  Andrew Haley  <aph@redhat.com>
947
948         * fold-const.c (fold): Don't convert (T)(x & c) into (T)x & (T)c
949         if T is a boolean type.
950
951 2002-05-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
952
953         * basic-block.h (last_basic_block): Defined as synonym for
954         n_basic_blocks.
955         * cfganal.c (mark_dfs_back_edges, flow_reverse_top_sort_order_compute,
956         flow_depth_first_order_compute, flow_preorder_transversal_compute,
957         flow_dfs_compute_reverse_init): Replaced relevant occurences of
958         n_basic_blocks with last_basic_block.
959         * cfgbuild.c (make_edges): Likewise.
960         * cfgloop.c (flow_loop_scan, flow_loops_find): Likewise.
961         * cfgrtl.c (verify_flow_info, purge_all_dead_edges): Likewise.
962         * combine.c (combine_instructions): Likewise.
963         * df.c (df_alloc, df_analyse_1, df_analyse, iterative_dataflow_sbitmap,
964         iterative_dataflow_bitmap): Likewise.
965         * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
966         calc_idoms, idoms_to_doms): Likewise.
967         * flow.c (update_life_info_in_dirty_blocks, free_basic_block_vars):
968         Likewise.
969         * gcse.c (gcse_main, alloc_gcse_mem, compute_local_properties,
970         compute_hash_table, expr_reaches_here_p, one_classic_gcse_pass,
971         one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p,
972         one_pre_gcse_pass, compute_transpout, delete_null_pointer_checks_1,
973         delete_null_pointer_checks, compute_code_hoist_vbeinout,
974         hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
975         compute_store_table, build_store_vectors): Likewise.
976         * haifa-sched.c (sched_init): Likewise.
977         * ifcvt.c (if_convert): Likewise.
978         * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
979         pre_edge_lcm, compute_available, compute_nearerout,
980         compute_rev_insert_delete, pre_edge_rev_lcm, optimize_mode_switching):
981         Likewise.
982         * predict.c (estimate_probability, process_note_prediction,
983         note_prediction_to_br_prob): Likewise.
984         * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX): Likewise.
985         * recog.c (split_all_insns, peephole2_optimize): Likewise.
986         * regrename.c (copyprop_hardreg_forward): Likewise.
987         * resource.c (init_resource_info): Likewise.
988         * sched-rgn.c (build_control_flow, find_rgns, compute_trg_info,
989         init_regions, schedule_insns): Likewise.
990         * ssa-ccp.c (ssa_const_prop): Likewise.
991         * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
992         * ssa.c (compute_dominance_frontiers,
993         compute_iterated_dominance_frontiers, convert_to_ssa): Likewise.
994
995         * df.c (df_refs_unlink): Fix FOR_EACH_BB usage (in #if 0'ed code)
996         * gcse.c (alloc_rd_mem, alloc_avail_expr_mem): Use n_blocks for vector
997         sizes consistently.
998
999 Mon May 27 14:28:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
1000
1001         * basic-block.h (can_hoist_p, hoist_insn_after, hoist_insn_to_edge):
1002         new.
1003         * rtlanal.c (hoist_test_store, can_hoist_insn_p, hoist_update_store,
1004         hoist_insn_after, hoist_insn_to_edge): New.
1005
1006 Mon May 27 12:14:02 CEST 2002  Jan Hubicka  <jh@suse.cz>
1007
1008         * basic-block.h (PEOP_SCAN_DEAD_STORES): New.
1009         (PROP_FINAL): Include.
1010         * flow.c (life_analysis, update_life_info,
1011         init_propagate_block_info, mark_set_1, mark_used_rgs):
1012         Support SCAN_DEAD_STORE.
1013
1014 2002-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
1015
1016         * c-common.c (c_common_init): Set CPP arithmetic precision.
1017         * cppexp.c (cpp_num_part): Move typedef ...
1018         * cpphash.h: ...here; make unsigned HOST_WIDE_INT.
1019         * cppinit.c (cpp_create_reader): Default to host long arithmetic.
1020         (sanity_checks): Update.
1021
1022 2002-05-26  Geoffrey Keating  <geoffk@redhat.com>
1023
1024         * Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'.
1025         (mkheaders): New rule.
1026         (install-mkheaders): New rule.
1027         * configure.in (all_outputs): Add mkheaders.
1028         * configure: Regenerate.
1029         * mkheaders.in: New file.
1030
1031 2002-05-26  Jakub Jelinek  <jakub@redhat.com>
1032
1033         * cse.c (fold_rtx): Don't optimize if SUBREG changes mode class.
1034
1035 2002-05-26  Andreas Jaeger  <aj@suse.de>
1036
1037         * cfg.c (dump_flow_info): Remove extra argument to fprintf.
1038
1039 2002-05-26  Neil Booth  <neil@daikokuya.demon.co.uk>
1040
1041         * cppexp.c (possible_sum_sign, integer_overflow, left_shift,
1042         right_shift): Remove.
1043         (cpp_num, cpp_num_part, PART_PRECISION, HALF_MASK, LOW_PART,
1044         HIGH_PART): New.
1045         (struct op): Use cpp_num.
1046         (num_zerop, num_eq, num_positive, num_greater_freq, num_trim,
1047         num_part_mul, num_unary_op, num_binary_op, num_negate,
1048         num_bitwise_op, num_inequality_op, num_equality_op, num_mul,
1049         num_div_op, num_lshift, num_rshift, append_digit): New.
1050         (interpret_number, parse_defined, eval_token, reduce): Update
1051         for two-integer arithmetic.
1052         (binary_handler): New typedef.
1053         (optab): Update.
1054         (COMPARE, EQUALITY, BITWISE, MINMAX, UNARY, SHIFT): Delete.
1055         (_cpp_parse_expr, reduce): Update to handle two-integers.
1056         * cpplib.c (_cpp_test_assertion): Back up on CPP_EOF.
1057
1058 2002-05-26  Marek Michalkiewicz  <marekm@amelek.gda.pl>
1059
1060         * config/avr/avr-protos.h (avr_out_sbxx_branch): Declare.
1061         * config/avr/avr.c (jump_over_one_insn_p): Take length of the
1062         branch insn into account, do not assume 1.
1063         (avr_out_sbxx_branch): New function.  Optimize cases of skipping
1064         over single word insn.  Handle upper half of I/O space too.
1065         * config/avr/avr.md (*sbrx_branch): Use it.
1066         (*sbrx_and_branchhi, *sbrx_and_branchsi): Likewise.
1067         (*sbix_branch, *sbix_branch_bit7): Likewise.
1068         (*sbix_branch_tmp, *sbix_branch_tmp_bit7): New.
1069         Use RTL peepholes to optimize register operand sign tests.
1070
1071 2002-05-26  Marek Michalkiewicz  <marekm@amelek.gda.pl>
1072
1073         * config/avr/avr.c (avr_asm_only_p): New variable.
1074         (avr_override_options): Set it here if AVR1.
1075         (asm_file_start): Test it here, report an error if set.
1076
1077 2002-05-26  Kazu Hirata  <kazu@cs.umass.edu>
1078
1079         * alias.c: Fix formatting.
1080         * attribs.c: Likewise.
1081         * bb-reorder.c: Likewise.
1082         * bitmap.c: Likewise.
1083         * bitmap.h: Likewise.
1084         * builtins.c: Likewise.
1085
1086 Sun May 26 14:00:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
1087
1088         * reload.c (find_valid_class): Accept new argument DEST,
1089         choose class accordingly.
1090         (push_reload): Update callers.
1091
1092 2002-05-26  Andreas Jaeger  <aj@suse.de>
1093
1094         * combine.c (combine_instructions): Do not indent #if for
1095         traditional C.
1096
1097 2002-05-25  Richard Henderson  <rth@redhat.com>
1098
1099         * c-pragma.c (apply_pragma_weak): Convert value identifier to
1100         string for decl_attributes.
1101         (handle_pragma_weak): Call assemble_alias if we're modifying
1102         an existing decl.
1103
1104 2002-05-25  Richard Henderson  <rth@redhat.com>
1105
1106         PR target/6788
1107         * config/sparc/sparc.c (sparc_output_mi_thunk): New implementation
1108         using rtl instead of fprintf.
1109         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Use it.
1110         * config/sparc/sparc-protos.h: Update.
1111
1112 2002-05-25  Neil Booth  <neil@daikokuya.demon.co.uk>
1113
1114         * Makefile.in (C_COMMON_H): Fix.
1115         Update other targets.
1116         * c-common.c: Don't include c-lex.h.
1117         (builtin_define_with_value): Make static and prototype.
1118         (builtin_define_std): Move from c-lex.h.
1119         * c-common.h (init_c_lex): Move from c-lex.h.
1120         * c-decl.c: Don't include c-lex.h.
1121         (make_pointer_declarator): Move from c-parse.in.
1122         * c-lex.c: Don't include c-lex.h.
1123         * c-lex.h: Remove.
1124         * c-parse.in: Don't include c-lex.h; include c-pragma.h.
1125         (make_pointer_declarator): Move to c-decl.c.
1126         * c-pragma.c: Don't include c-lex.h.
1127         * c-pragma.h (yydebug, YYDEBUG, parse_in, c_lex): Move from c-lex.h.
1128         * c-tree.h (make_pointer_declarator): New.
1129 doc:
1130         * passes.texi, tm.texi: Update.
1131 objc:
1132         * Make-lang.in: Update and correct.
1133         * objc-act.c: Don't include c-lex.h or cpplib.h.
1134 treelang:
1135         * treetree.c: Don't include c-lex.h.
1136 config:
1137         * darwin-c.c: Don't include c-lex.h.
1138         * c4x/c4x-c.c: Don't include c-lex.h.
1139         * c4x/t-c4x: Update.
1140         * i370/i370-c.c: Don't include c-lex.h.
1141         * i370/t-i370: Update.
1142         * i960/i960-c.c: Don't include c-lex.h.
1143         * i960/i960.c: Don't include cpplib.h, c-lex.h or c-pragma.h.
1144         * i960/t-960bare: Update.
1145         * i960/t-vxworks: Update.
1146         * rs6000/rs6000-c.c: Don't include c-lex.h; include c-pragma.h.
1147         * rs6000/t-darwin: Update.
1148         * rs6000/t-rs6000-c-rule: Update.
1149         * v850/v850-c.c: Don't include c-lex.h.
1150         * v850/v850.c: Don't include c-lex.h or cpplib.h.
1151
1152
1153 2002-05-25  Kazu Hirata  <kazu@cs.umass.edu>
1154
1155         * tree.def: Fix typos.
1156         * doc/install.texi: Likewise.
1157
1158 2002-05-25  Richard Henderson  <rth@redhat.com>
1159
1160         * configure.in (HAVE_AS_TLS): Add ia64 test.
1161         * configure: Rebuild.
1162         * config/ia64/ia64.c (ia64_tls_size_string, ia64_tls_size): New.
1163         (override_options): Set it.
1164         (TARGET_HAVE_TLS): New.
1165         (sdata_symbolic_operand): Look for 's'.
1166         (tls_symbolic_operand): New.
1167         (ia64_expand_load_address): Abort for tls symbols.
1168         (gen_tls_get_addr): New.
1169         (gen_thread_pointer): New.
1170         (ia64_expand_move): Split out from movdi.  Handle tls symbols.
1171         (rtx_needs_barrier): Add new unspecs.
1172         (ia64_encode_section_info): Handle tls symbols.
1173         (ia64_strip_name_encoding): Strip two encoding chars.
1174         * config/ia64/ia64.h (ia64_tls_size, ia64_tls_size_string): New.
1175         (TARGET_TLS14, TARGET_TLS22, TARGET_TLS64): New.
1176         (TARGET_OPTIONS): Add tls-size.
1177         (ENCODE_SECTION_INFO_CHAR): Rename from SDATA_NAME_FLAG_CHAR.
1178         * config/ia64/ia64.md (UNSPEC_LTOFF_DTPMOD, UNSPEC_LTOFF_DTPREL,
1179         UNSPEC_DTPREL, UNSPEC_LTOFF_TPREL, UNSPEC_TPREL, UNSPEC_LD_BASE): New.
1180         (movqi, movhi, movsi, movdi, movti): Use ia64_expand_move.
1181         (movsf, movdf): Likewise.
1182         (movdi_symbolic): Use match_scratch.  Don't split if we won't
1183         have a scratch availiable.
1184         (load_ltoff_dtpmod, load_dtprel, load_dtprel64, load_dtprel22,
1185         add_dtprel, add_dtprel14, add_dtprel22, load_ltoff_tprel, load_tprel,
1186         load_tprel64, load_tprel22, add_tprel, add_tprel14, add_tprel22): New.
1187         * config/ia64/ia64-protos.h: Update.
1188         * config/ia64/sysv4.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use
1189         sdata_symbolic_operand.
1190         (ASM_OUTPUT_LABELREF): Strip two characters.
1191
1192 2002-05-25  Kazu Hirata  <kazu@cs.umass.edu>
1193
1194         * combine.c (simplify_set): Remove an unnecessary subreg.
1195
1196 2002-05-25  Marek Michalkiewicz  <marekm@amelek.gda.pl>
1197
1198         * config/avr/avr.c (avr_handle_progmem_attribute): Handle TYPE_DECL.
1199
1200         * config/avr/avr.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_BSS): New.
1201
1202 2002-05-25  Gabriel Dos Reis  <gdr@codesourcery.com>
1203
1204         * toplev.c (output_clean_symbol_name): Fix another thinko.  Gosh.
1205
1206 2002-05-25  Roger Sayle  <roger@eyesopen.com>
1207
1208         * simplify-rtx.c (simplify_gen_relational): Simplify the RTX
1209         (cond (compare x y) 0) into the equivalent (cond x y).
1210
1211 2002-05-25  Gabriel Dos Reis  <gdr@codesourcery.com>
1212
1213         * toplev.c (output_clean_symbol_name): Use xstrdup.  Fix thinko.
1214
1215 2002-05-24  Zack Weinberg  <zack@codesourcery.com>
1216
1217         * config.gcc: Remove all stanzas for previously obsoleted
1218         systems.  Where necessary, add explicit error stanzas to
1219         prevent removed systems from being misidentified as something
1220         else.  Begin a fresh obsoletions list, with the systems that
1221         were reprieved last round.
1222         * doc/install.texi: Remove all mention of dead targets.
1223         * fixinc/mkfixinc.sh: Likewise.
1224
1225         * config/arm/arm.h: Bit 31 of target_flags is no longer
1226         reserved.
1227
1228         * config/1750a/1750a-protos.h, config/1750a/1750a.c,
1229         config/1750a/1750a.h, config/1750a/1750a.md, config/1750a/ms1750.inc,
1230         config/a29k/a29k-protos.h, config/a29k/a29k.c, config/a29k/a29k.h,
1231         config/a29k/a29k.md, config/a29k/rtems.h, config/a29k/t-a29kbare,
1232         config/a29k/t-vx29k, config/a29k/unix.h, config/a29k/vx29k.h,
1233         config/alpha/osf12.h, config/alpha/osf2or3.h,
1234         config/arm/arm-wince-pe.h, config/arm/arm.h, config/arm/riscix.h,
1235         config/arm/riscix1-1.h, config/arm/rix-gas.h, config/arm/t-riscix,
1236         config/clipper/clipper-protos.h, config/clipper/clipper.c,
1237         config/clipper/clipper.h, config/clipper/clipper.md,
1238         config/clipper/clix.h, config/convex/convex-protos.h,
1239         config/convex/convex.c, config/convex/convex.h,
1240         config/convex/convex.md, config/convex/fixinc.convex,
1241         config/convex/proto.h, config/elxsi/elxsi-protos.h,
1242         config/elxsi/elxsi.c, config/elxsi/elxsi.h, config/elxsi/elxsi.md,
1243         config/i386/386bsd.h, config/i386/aix386.h, config/i386/aix386ng.h,
1244         config/i386/bsd386.h, config/i386/dgux.h, config/i386/djgpp-rtems.h,
1245         config/i386/isc.h, config/i386/iscdbx.h, config/i386/linux-oldld.h,
1246         config/i386/next.h, config/i386/osf1-ci.asm, config/i386/osf1-cn.asm,
1247         config/i386/osf1elf.h, config/i386/osf1elfgdb.h, config/i386/osfelf.h,
1248         config/i386/osfrose.h, config/i386/rtems.h, config/i386/seq-gas.h,
1249         config/i386/seq-sysv3.h, config/i386/seq2-sysv3.h,
1250         config/i386/sequent.h, config/i386/sun.h, config/i386/sun386.h,
1251         config/i386/t-dgux, config/i386/t-next, config/i386/t-osf,
1252         config/i386/t-osf1elf, config/i860/bsd-gas.h, config/i860/bsd.h,
1253         config/i860/fx2800.h, config/i860/i860-protos.h, config/i860/i860.c,
1254         config/i860/i860.h, config/i860/i860.md, config/i860/mach.h,
1255         config/i860/paragon.h, config/i860/sysv3.h, config/i860/sysv4.h,
1256         config/i860/t-fx2800, config/i860/varargs.asm, config/m68k/a-ux.h,
1257         config/m68k/altos3068.h, config/m68k/apollo68.h,
1258         config/m68k/aux-crt1.c, config/m68k/aux-crt2.asm,
1259         config/m68k/aux-crtn.asm, config/m68k/aux-exit.c,
1260         config/m68k/aux-low.gld, config/m68k/aux-mcount.c,
1261         config/m68k/auxas.h, config/m68k/auxgas.h, config/m68k/auxgld.h,
1262         config/m68k/auxld.h, config/m68k/ctix.h, config/m68k/dpx2.h,
1263         config/m68k/dpx2.ifile, config/m68k/dpx2cdbx.h, config/m68k/dpx2g.h,
1264         config/m68k/isi-nfp.h, config/m68k/isi.h, config/m68k/lynx-ng.h,
1265         config/m68k/lynx.h, config/m68k/math-3300.h, config/m68k/news.h,
1266         config/m68k/news3.h, config/m68k/news3gas.h, config/m68k/newsgas.h,
1267         config/m68k/next.h, config/m68k/next21.h, config/m68k/rtems.h,
1268         config/m68k/t-aux, config/m68k/t-lynx, config/m68k/t-next,
1269         config/m68k/x-next, config/m88k/dgux.h, config/m88k/dgux.ld,
1270         config/m88k/dguxbcs.h, config/m88k/dolph.h, config/m88k/dolphin.ld,
1271         config/m88k/luna.h, config/m88k/m88k-coff.h, config/m88k/sysv3.h,
1272         config/m88k/t-bug, config/m88k/t-dgux, config/m88k/t-dgux-gas,
1273         config/m88k/t-dguxbcs, config/m88k/t-dolph, config/m88k/t-m88k-gas,
1274         config/m88k/t-tekXD88, config/m88k/tekXD88.h, config/m88k/tekXD88.ld,
1275         config/mips/bsd-4.h, config/mips/bsd-5.h, config/mips/dec-bsd.h,
1276         config/mips/dec-osf1.h, config/mips/elflorion.h,
1277         config/mips/iris4loser.h, config/mips/mips-5.h, config/mips/news4.h,
1278         config/mips/news5.h, config/mips/nws3250v4.h, config/mips/osfrose.h,
1279         config/mips/svr3-4.h, config/mips/svr3-5.h, config/mips/svr4-4.h,
1280         config/mips/svr4-5.h, config/mips/svr4-t.h, config/mips/t-bsd,
1281         config/mips/t-bsd-gas, config/mips/t-svr3, config/mips/t-svr3-gas,
1282         config/mips/t-svr4, config/mips/t-svr4-gas, config/mips/t-ultrix,
1283         config/mips/ultrix.h, config/nextstep-protos.h, config/nextstep.c,
1284         config/nextstep.h, config/nextstep21.h, config/ns32k/encore.h,
1285         config/ns32k/merlin.h, config/ns32k/pc532-mach.h,
1286         config/ns32k/pc532-min.h, config/ns32k/pc532.h,
1287         config/ns32k/sequent.h, config/ns32k/tek6000.h,
1288         config/ns32k/tek6100.h, config/ns32k/tek6200.h, config/pj/lib1funcs.S,
1289         config/pj/linux.h, config/pj/pj-protos.h, config/pj/pj.c,
1290         config/pj/pj.h, config/pj/pj.md, config/pj/pjl.h, config/pj/t-pj,
1291         config/sparc/rtems.h, config/we32k/we32k-protos.h,
1292         config/we32k/we32k.c, config/we32k/we32k.h, config/we32k/we32k.md:
1293         Delete file.
1294
1295 2002-05-24  Richard Henderson  <rth@redhat.com>
1296
1297         * flags.h (TLS_MODEL_GLOBAL_DYNAMIC): Set to 1.
1298         * toplev.c (flag_tls_default) Set to TLS_MODEL_GLOBAL_DYNAMIC.
1299         * config/i386/i386.c (tls_model_chars): Add leading space.
1300         (tls_symbolic_operand): Don't bias by 1.
1301         (legitimize_address): Don't unbias by 1.
1302
1303 2002-05-24  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
1304
1305         * lcm.c (optimize_mode_switching): Change bb used as indices
1306         to bb->index.
1307
1308 2002-05-24  Richard Henderson  <rth@redhat.com>
1309
1310         * config/ia64/ia64.c (ia64_reorg): Use update_life_info instead
1311         of update_life_info_in_dirty_blocks.
1312
1313 2002-05-24  Jakub Jelinek  <jakub@redhat.com>
1314
1315         PR other/6782
1316         * final.c (get_mem_expr_from_op): Return 0 if op is NULL.
1317
1318 2002-05-24  Neil Booth  <neil@daikokuya.demon.co.uk>
1319
1320         PR preprocessor/6780
1321         * cppmacro.c (enter_macro_context): Clear state.angled_headers.
1322
1323 2002-05-24  Jim Blandy  <jimb@redhat.com>
1324
1325         * dwarf2out.c (dwarf2out_finish): Don't forget to emit a final
1326         entry with a type code of zero, marking the end of the compilation
1327         unit's macro info.
1328
1329 2002-05-24  Richard Henderson  <rth@redhat.com>
1330
1331         * varasm.c (asm_output_bss): Always output one byte.
1332         * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
1333
1334 2002-05-24  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
1335
1336         * tree.c (decl_type_context): Return NULL_TREE if decl's context is a
1337         namespace.
1338
1339 2002-05-24  Andreas Jaeger  <aj@suse.de>
1340
1341         * ggc-page.c (alloc_page): Cast variables of type size_t to
1342         unsigned long, adjust printf format string.
1343         (ggc_alloc): Likewise.
1344         (ggc_print_statistics): Likewise.
1345         (ggc_print_statistics): Correct printf format string for SCALE to
1346         use unsigned long.
1347
1348 2002-05-24  Danny Smith  <dannysmith@users.sourceforge.net>
1349
1350         * config/i386/mingw32.h (CPP_SPEC): Remove -remap.
1351
1352 2002-05-23  Gabriel Dos Reis  <gdr@codesourcery.com>
1353             Zack Weinberg     <zack@codesourcery.com>
1354
1355         * config/i386/mingw32.h (OUTPUT_QUOTED_STRING): Properly output
1356         quoted strings.
1357         * dwarf2out.c (lookup_filename): Properly quote filename in .file
1358         directive in assembly file.
1359         * config/m68k/dpx2.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
1360         * config/m88k/m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
1361         * config/pj/pj.h (ASM_FILE_START): Likewise.
1362         * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
1363         * config/avr/avr.c (asm_file_end): Likewise.
1364         * toplev.c (output_quoted_string): Handle possibly signed plain
1365         char.
1366         * toplev.h (output_clean_symbol_name): Declare
1367         * toplev.c (output_clean_symbol_name): Define.
1368         * config/alpha/alpha.c (unicosmk_output_module_name): Use it.
1369         * config/1750a/1750a.h (ASM_FILE_START): Likewise.
1370
1371 2002-05-24  Alan Modra  <amodra@bigpond.net.au>
1372
1373         * config/rs6000/rs6000.c (output_toc): Mask longs to 32 bits.
1374
1375 2002-05-23  Vladimir Makarov  <vmakarov@redhat.com>
1376
1377         * genautomata.c (reserv_sets_hash_value): Use shift equal to 3/4
1378         of size of unsigned.
1379
1380 2002-05-23  Richard Henderson  <rth@redhat.com>
1381
1382         * configure.in (HAVE_AS_TLS): New test.
1383         * config.in, configure: Rebuild.
1384         * config/i386/i386.c (TARGET_HAVE_TLS): Set if HAVE_AS_TLS.
1385         (ix86_tls_dialect_string, ix86_tls_dialect): New.
1386         (override_options): Set it.
1387         (tls_model_chars, tls_symbolic_operand): New.
1388         (tls_symbolic_operand_1, global_dynamic_symbolic_operand): New.
1389         (local_dynamic_symbolic_operand, initial_exec_symbolic_operand): New.
1390         (local_exec_symbolic_operand): New.
1391         (get_pic_label_name): Merge into output_set_got.
1392         (ix86_asm_file_end): Emit pic_label_name if defined.
1393         (legitimate_constant_p, constant_address_p): New.
1394         (legitimate_pic_operand_p): New.
1395         (legitimate_pic_address_disp_p): Handle GOTTPOFF, NTPOFF, DTPOFF.
1396         (legitimate_address_p): Likewise.
1397         (ix86_encode_section_info): Rename from i386_; handle tls decls.
1398         (ix86_strip_name_encoding): New.
1399         (get_thread_pointer): New.
1400         (legitimize_address): Handle tls symbols.
1401         (output_pic_addr_const): Handle GOTTPOFF, TPOFF, NTPOFF, DTPOFF.
1402         Remove UNSPEC_PLT.
1403         (struct machine_function): Add some_ld_name.
1404         (get_some_local_dynamic_name, get_some_local_dynamic_name_1): Set it.
1405         (print_operand) [&]: Use it.  Handle UNSPEC_TP.
1406         (output_addr_const_extra): New.
1407         (maybe_get_pool_constant): New.
1408         (ix86_split_to_parts): Use it.
1409         (ix86_expand_move): Handle tls symbols.
1410         (ix86_tls_get_addr): New.
1411         * config/i386/i386.h (TARGET_GNU_TLS, TARGET_SUN_TLS): New.
1412         (TARGET_OPTIONS): Add tls-dialect.
1413         (CONSTANT_ADDRESS_P): Use new out-of-line function.
1414         (LEGITIMATE_CONSTANT_P): Likewise.
1415         (LEGITIMATE_PIC_OPERAND_P): Likewise.
1416         (TARGET_STRIP_NAME_ENCODING): New.
1417         (ASM_OUTPUT_LABELREF): New.
1418         (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
1419         (OUTPUT_ADDR_CONST_EXTRA): New.
1420         (PREDICATE_CODES): Update.
1421         (ix86_tls_dialect, ix86_tls_dialect_string): New.
1422         * config/i386/i386.md: Regroup and renumber unspec constants.
1423         (tls_global_dynamic_gnu, tls_global_dynamic_sun): New.
1424         (tls_local_dynamic_base_gnu, tls_local_dynamic_base_sun): New.
1425         (tls_global_dynamic, tls_local_dynamic_base): New.
1426         (tls_local_dynamic_once): New.
1427         * config/i386/i386-protos.h: Update.
1428
1429 2002-05-23  Richard Henderson  <rth@redhat.com>
1430
1431         * genemit.c (gen_insn): Print file:lineno comment before function.
1432         (main): likewise.
1433         * gensupport.c (struct queue_elem): Add filename member.
1434         (queue_pattern): Initialize it; update all callers.
1435         (process_include): Don't free filename.
1436         (read_md_rtx): Set read_rtx_filename.
1437
1438 2002-05-23  Hans Boehm  <Hans_Boehm@hp.com>
1439
1440         * config/ia64/linux.h (IA64_GATE_AREA_END): Adjust for 64K pages.
1441
1442 2002-05-23  Richard Henderson  <rth@redhat.com>
1443
1444         * config/i386/i386.c (output_set_got): Fix typo in pic no-deep case.
1445
1446 2002-05-23  Richard Henderson  <rth@redhat.com>
1447
1448         * doc/extend.texi (C++98 Thread-Local Edits): Update with
1449         commentary from Mark.
1450
1451 2002-05-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1452
1453         * bb-reorder.c (make_reorder_chain, make_reorder_chain_1):
1454         Use FOR_EACH_BB macros to iterate over basic block chain.
1455         * cfg.c (clear_edges, clear_bb_flags, dump_flow_info,
1456         alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges):
1457         Likewise.
1458         * cfganal.c (set_edge_can_fallthru_flag, flow_call_edges_add,
1459         find_unreachable_blocks, create_edge_list, verify_edge_list,
1460         remove_fake_edges, add_noreturn_fake_exit_edges,
1461         flow_preorder_transversal_compute, flow_dfs_compute_reverse_execute):
1462         Likewise.
1463         * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
1464         find_sub_basic_blocks): Likewise.
1465         * cfgcleanup.c (try_optimize_cfg, delete_unreachable_blocks):
1466         Likewise.
1467         * cfglayout.c (record_effective_endpoints, cleanup_unconditional_jumps):
1468         Likewise.
1469         * cfgloop.c (flow_loops_cfg_dump, flow_loops_find):
1470         Likewise.
1471         * cfgrtl.c (compute_bb_for_insn, tidy_fallthru_edges,
1472         commit_edge_insertions, commit_edge_insertions_watch_calls,
1473         print_rtl_with_bb, verify_flow_info, purge_all_dead_edges): Likewise.
1474         * combine.c (combine_instructions, reg_dead_at_p): Likewise.
1475         * conflict.c (conflict_graph_compute): Likewise.
1476         * df.c (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
1477         df_modified_p, df_refs_unlink, df_dump): Likewise.
1478         * dominance.c (calc_dfs_tree, calculate_dominance_info): Likewise.
1479         * final.c (compute_alignments): Likewise.
1480         * flow.c (update_life_info, update_life_info_in_dirty_blocks,
1481         delete_noop_moves, calculate_global_regs_live, allocate_bb_life_data,
1482         count_or_remove_death_notes): Likewise.
1483         * gcse.c (oprs_unchanged_p, record_last_reg_set_info,
1484         compute_hash_table, compute_kill_rd, compute_rd, compute_ae_kill,
1485         classic_gcse, compute_transp, cprop, compute_pre_data,
1486         compute_transpout, invalidate_nonnull_info,
1487         delete_null_pointer_checks_1, delete_null_pointer_checks,
1488         compute_code_hoist_vbeinout, hoist_code, compute_ld_motion_mems,
1489         compute_store_table, build_store_vectors, store_motion): Likewise.
1490         * global.c (global_conflicts, mark_elimination): Likewise.
1491         * graph.c (print_rtl_graph_with_bb): Likewise.
1492         * haifa-sched.c (sched_init): Likewise.
1493         * ifcvt.c (if_convert): Likewise.
1494         * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
1495         compute_available, compute_nearerout, compute_rev_insert_delete,
1496         optimize_mode_switching): Likewise.
1497         * local-alloc.c (local_alloc, update_equiv_regs): Likewise.
1498         * predict.c (estimate_probability, note_prediction_to_br_prob,
1499         propagate_freq, counts_to_freqs, expensive_function_p,
1500         estimate_bb_frequencies): Likewise.
1501         * profile.c (instrument_edges, get_exec_counts,
1502         compute_branch_probabilities, compute_checksum, branch_prob,
1503         find_spanning_tree): Likewise.
1504         * recog.c (split_all_insns, peephole2_optimize): Likewise.
1505         * reg-stack.c (reg_to_stack, convert_regs_entry, convert_regs):
1506         Likewise.
1507         * regclass.c (scan_one_insn, regclass): Likewise.
1508         * regmove.c (mark_flags_life_zones, regmove_optimize,
1509         record_stack_memrefs): Likewise.
1510         * regrename.c (regrename_optimize, copyprop_hardreg_forward): Likewise.
1511         * reload1.c (reload, reload_combine, fixup_abnormal_edges): Likewise.
1512         * resource.c (find_basic_block): Likewise.
1513         * sched-ebb.c (schedule_ebbs): Likewise.
1514         * sched-rgn.c (is_cfg_nonregular, build_control_flow,
1515         find_single_block_region, find_rgns, schedule_insns)
1516         * sibcall.c (optimize_sibling_and_tail_recursive_call)
1517         * ssa-ccp.c (optimize_unexecutable_edges,
1518         ssa_ccp_df_delete_unreachable_insns): Likewise.
1519         * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
1520         * ssa.c (find_evaluations, compute_dominance_frontiers_1,
1521         rename_block, convert_to_ssa, compute_conservative_reg_partition,
1522         compute_coalesced_reg_partition, rename_equivalent_regs,
1523         convert_from_ssa): Likewise.
1524         * config/ia64/ia64.c (emit_predicate_relation_info, process_epilogue,
1525         process_for_unwind_directive): Likewise.
1526
1527         * df.c (FOR_ALL_BBS): Removed.
1528         * gcse.c (struct null_pointer_info): Type of current_block field
1529         changed.
1530         (struct reg_avail_info): Type of last_bb field changed.
1531         * config/ia64/ia64.c (block_num): Removed.
1532         (need_copy_state): Type changed.
1533         (last_block): New.
1534
1535 2002-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
1536
1537         * cppinit.c (mark_named_operators): Split out from init_builtins.
1538         (cpp_finish_options): Call it from here instead.
1539
1540 2002-05-23  Jason Thorpe  <thorpej@wasabisystems.com>
1541
1542         * builtin-attrs.def: Update copyright years.
1543         (ATTR_NONNULL): New attribute identifier.
1544         (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_3): New
1545         attribute tree lists.
1546         (DEF_FORMAT_ATTRIBUTE): Chain a nonnull attribute for the
1547         format operand.
1548         (ATTR_FORMAT_ARG_1, ATTR_FORMAT_ARG_2): Use...
1549         (DEF_FORMAT_ARG_ATTRIBUTE): ...this to generate format_arg
1550         attribute lists.  Chain the appropriate nonnull attribute.
1551         * c-format.c (check_format_arg): Remove null format string
1552         warning.
1553         * testsuite/gcc.dg/format/null-1.c: New test.
1554
1555 2002-05-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1556
1557         * Makefile.in (ADAC): Define.
1558         (SYSLIBS): Define.
1559         (.SUFFIXES): Move before language makefile fragments.
1560         (STAGE2_FLAGS_TO_PASS): Use stage CC as ADAC.
1561
1562 2002-05-23  Mark Mitchell  <mark@codesourcery.com>
1563
1564         * varasm.c (make_decl_rtl): Don't allow weak variables to be
1565         placed in common.
1566
1567 Thu May 23 19:43:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
1568
1569         * cfg.c (dump_flow_info): Print results of
1570         maybe_hot/probably_never_executed predicates.
1571         * toplev.c (open_dump_file): Print function frequency.
1572
1573 2002-05-23  David S. Miller  <davem@redhat.com>
1574
1575         * cse.c (approx_reg_cost_1, approx_reg_cost): Recode to not use
1576         regsets.
1577
1578 2002-05-23  Jason Thorpe  <thorpej@wasabisystems.com>
1579
1580         * c-common.c (warn_nonnull): Declare.
1581         (c_common_attribute_table): Add "nonnull" attribute.
1582         (handle_nonnull_attribute, check_function_nonnull, nonnull_check_p,
1583         check_nonnull_arg, get_nonnull_operand, check_function_arguments,
1584         check_function_arguments_recurse): New functions.
1585         * c-common.h (warn_nonnull): Declare extern.
1586         (check_function_arguments, check_function_arguments_recurse): New
1587         prototypes.
1588         * c-decl.c (c_decode_option): Add -Wnonnull option.
1589         * c-format.c (set_Wformat): Set warn_nonnull if enabling
1590         format checking.
1591         (format_check_context): New structure.
1592         (check_format_info_recurse): Remove recursion and rename to...
1593         (check_format_arg): ...this.  Update comment.
1594         (check_format_info): Use check_function_arguments_recurse.
1595         * c-typeck.c (build_function_call): Call check_function_arguments
1596         instead of check_function_format.
1597         * doc/extend.texi: Document "nonnull" attribute.
1598         * doc/invoke.texi: Docuemnt -Wnonnull option.
1599         * testsuite/gcc.dg/nonnull-1.c: New test.
1600         * testsuite/gcc.dg/nonnull-2.c: New test.
1601
1602 2002-05-23  David S. Miller  <davem@redhat.com>
1603
1604         * basic-block.h (CLEANUP_NO_INSN_DEL): Define it.
1605         * cfgcleanup.c (cleanup_cfg): If it is set do not
1606         attempt to delete trivially dead insns.
1607         * except.c (finish_eh_generation): Pass it to cleanup_cfg.
1608         * toplev.c (rest_of_compilation): Document non-trivial aspect
1609         the RTL before optimize_save_area_alloca is run.
1610
1611 2002-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
1612
1613         * c-lex.c (indent_level): Remove.
1614         (cb_file_change, c_lex): Remove indent level handling.
1615         * c-lex.h (indent_level): Remove.
1616         * input.h (struct file_stack): Remove indent_level.
1617         * toplev.c (push_srcloc): Remove indent_level handling.
1618
1619 2002-05-23  Jakub Jelinek  <jakub@redhat.com>
1620
1621         PR target/6753
1622         * config/i386/i386.md (sse_movdfcc, sse_movdfcc_eq): Use Y instead
1623         of x in constraints for clarity.
1624         (sse_mov?fcc split): abort if op2 == op3.
1625         (sse_movsfcc_const0_1, sse_movsfcc_const0_2, sse_movsfcc_const0_3,
1626         sse_movsfcc_const0_4): Add earlyclobber.
1627         (sse_movdfcc_const0_1, sse_movdfcc_const0_2, sse_movdfcc_const0_3,
1628         sse_movdfcc_const0_4): Likewise.  Use DFmode, not SFmode.
1629         Use Y instead of x in constraints.
1630
1631 2002-05-23  Richard Henderson  <rth@redhat.com>
1632
1633         * doc/extend.texi (C99 Thread-Local Edits): New subsection.
1634         (C++98 Thread-Local Edits): New subsection.
1635
1636         * config/i386/i386.c, config/i386/i386.h: Tidy comments and whitespace.
1637         (ix86_arch): Set type to enum processor_type.
1638
1639         * config/i386/i386.md (movsi_1, movdi_1_rex64): Use
1640         LEGITIMATE_PIC_OPERAND_P not SYMBOLIC_CONST.
1641
1642 2002-05-23  Jakub Jelinek  <jakub@redhat.com>
1643
1644         * configure.in: Fix as version test for binutils 2.12.1 releases
1645         (without dates).
1646         * configure: Rebuilt.
1647
1648 2002-05-23  Richard Henderson  <rth@redhat.com>
1649
1650         * config/i386/i386.c (get_pic_label_name): New.
1651         (load_pic_register): Remove.
1652         (output_set_got): New.
1653         (ix86_expand_prologue): Use gen_set_got; mark insn REG_MAYBE_DEAD.
1654         * config/i386/i386.md (UNSPEC_SET_GOT): New.
1655         (UNSPECV_PROLOGUE_SET_GOT, UNSPECV_PROLOGUE_GET_PC): Remove.
1656         (prologue_set_got, prologue_get_pc): Remove.
1657         (set_got, set_got_nopic, set_got_deep, set_got_nodeep): New.
1658         (builtin_setjmp_receiver): Use gen_set_got.
1659         * config/i386/i386-protos.h: Update.
1660
1661 Thu May 23 09:22:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
1662
1663         * gcse.c (hash_expr): Do not use alias set for hashing.
1664
1665 2002-05-22  Kevin Buettner  <kevinb@redhat.com>
1666
1667         * dbxout.c (dbxout_class_name_qualifiers): New function.
1668         (dbxout_symbol): Output class/struct qualifiers for a .stabs entry.
1669
1670 2002-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
1671
1672         * cpperror.c (_cpp_begin_message): No special casing
1673         of CPP_FATAL_LIMIT.
1674         * cppinit.c (sanity_checks): s/DL_FATAL/DL_ICE/.
1675         (output_deps, cpp_handle_option, cpp_post_options): Use DL_ERROR.
1676         * cpplib.c (do_include_common): Use DL_ERROR.
1677         * cpplib.h (CPP_FATAL_LIMIT, CPP_FATAL_ERRORS, DL_FATAL): Remove.
1678         (DL_ICE): Renumber.
1679         * fix-header.c (read_scan_file): Update.
1680
1681 2002-05-22  Richard Henderson  <rth@redhat.com>
1682
1683         * config/i386/i386.c (ix86_expand_call): New function, extracted
1684         from md call patterns.  Add pic_offset_table_rtx to
1685         CALL_INSN_FUNCTION_USAGE when needed.
1686         * config/i386/i386.md (call_pop, call): Use ix86_expand_call.
1687         (call_value_pop, call_value, untyped_call): Likewise.
1688         (call_exp, call_value_exp): Remove.
1689         * config/i386/i386-protos.h: Update.
1690
1691 2002-05-22  Richard Henderson  <rth@redhat.com>
1692
1693         * varasm.c (default_section_type_flags): Check for VAR_DECL
1694         before using DECL_THREAD_LOCAL.
1695
1696 2002-05-22  David Edelsohn  <edelsohn@gnu.org>
1697
1698         * config/rs6000/aix43.h (LINK_SPEC): Add PE initializer.
1699         (STARTFILE_SPEC): Delete PE crt0.o.
1700         * config/rs6000/aix51.h: Same.
1701         * config/rs6000/rs6000.c: Use TARGET_XCOFF, not OBJECT_FORMAT_COFF.
1702         * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Append [DS] to
1703         function descriptor symbol.  Use RS6000_OUTPUT_BASENAME.
1704         (ASM_OUTPUT_DEF_FROM_DECLS): Use RS6000_OUTPUT_BASENAME.
1705         * config/rs6000/xcoff.h (ASM_OUTPUT_DEF): Define.
1706
1707 2002-05-22  Richard Henderson  <rth@redhat.com>
1708
1709         * varasm.c (default_section_type_flags): Handle tls data and
1710         default sections.
1711         (default_unique_section): Handle tls sections.
1712
1713 2002-05-23  Alan Modra  <amodra@bigpond.net.au>
1714
1715         * configure.in (CROSS): Define NATIVE_CROSS.
1716         * configure: Regenerate.
1717         * gcc.c (STARTFILE_PREFIX_SPEC): Define.
1718         (startfile_prefix_spec): New var.
1719         (static_specs): Add startfile_prefix_spec.
1720         (do_spec_2): Split out from..
1721         (do_spec): ..here.
1722         (main): Process startfile_prefix_spec.
1723         * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC) Change name of
1724         dynamic linker.
1725         (STARTFILE_PREFIX_SPEC): Define.
1726         (STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Rewrite without
1727         absolute paths.
1728
1729 2002-05-22  Kazu Hirata  <kazu@cs.umass.edu>
1730
1731         * cpperror.c: Fix formatting.
1732         * cppexp.c: Likewise.
1733         * cppfiles.c: Likewise.
1734         * cpphash.c: Likewise.
1735         * cpphash.h: Likewise.
1736         * cppinit.c: Likewise.
1737         * cpplex.c: Likewise.
1738         * cpplib.c: Likewise.
1739         * cppmacro.c: Likewise.
1740         * cppmain.c: Likewise.
1741         * cppspec.c: Likewise.
1742
1743 2002-05-22  Jakub Jelinek  <jakub@redhat.com>
1744
1745         * combine.c (force_to_mode): Use gen_int_mode.
1746         Don't clear CONST_INT bits outside of mode.
1747
1748 2002-05-22  Richard Henderson  <rth@redhat.com>
1749
1750         * fixinc/inclhack.def (thread_keyword): Match __thread as last arg.
1751         * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
1752
1753 2002-05-22  Jakub Jelinek  <jakub@redhat.com>
1754
1755         PR c/6643
1756         * emit-rtl.c (widen_memory_access): Only call compare_tree_int
1757         if DECL_SIZE_UNIT is INTEGER_CST.
1758
1759 2002-05-22  Richard Henderson  <rth@redhat.com>
1760
1761         * flow.c (life_analysis): Delete broken reg_label check.
1762
1763 2002-05-22  Richard Henderson  <rth@redhat.com>
1764
1765         * fixinc/inclhack.def (thread_keyword): Allow as any prototype arg.
1766         * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
1767
1768 Wed May 22 18:39:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
1769
1770         * t-sh (LIB2FUNCS_EXTRA): Now embed-bb.c.
1771         (embed-bb.c): New rule.
1772         * t-sh64 (LIB2FUNCS_EXTRA): Don't change.
1773         * config/sh/embed_bb.c: Delete.
1774
1775 Wed May 22 18:25:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
1776
1777         * c-common.c (cb_register_builtins): Don't indent '#' of #define.
1778
1779 2002-05-22  Kazu Hirata  <kazu@cs.umass.edu>
1780
1781         * config/h8300/h8300.md (*andorqi3): New.
1782
1783 2002-05-22  Neil Booth  <neil@daikokuya.demon.co.uk>
1784
1785         PR preprocessor/6517
1786         * Makefile.in: Update.
1787         * c-common.c (c_common_post_options): Add preprocessor
1788         errors to the error count.
1789         * c-lang.c (c_post_options): Kill.
1790         (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
1791         * hooks.h: Add header guards.
1792         * langhooks-def.h: Include hooks.h.
1793         (LANG_HOOKS_POST_OPTIONS): Update.
1794         * langhooks.h (struct lang_hooks): Update post_options.
1795         * toplev.c (parse_options_and_default_flags): Update.
1796 objc:
1797         * objc-lang.c (objc_post_options): Kill.
1798         (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
1799
1800 2002-05-21  Bruce Korb  <bkorb@gnu.org>
1801
1802         * fixinc/tests/base/pthread.h(THREAD_KEYWORD_CHECK): add fix check
1803         * fixinc/inclhack.def(thread_keyword): use c_fix = format.
1804         * fixinc/fixincl.x: regen.
1805
1806 2002-05-21  Kazu Hirata  <kazu@cs.umass.edu>
1807
1808         * cfgbuild.c: Fix formatting.
1809         * cfg.c: Likewise.
1810         * cfgcleanup.c: Likewise.
1811         * cfglayout.c: Likewise.
1812         * cfgloop.c: Likewise.
1813         * cfgrtl.c: Likewise.
1814
1815 2002-05-21  Richard Henderson  <rth@redhat.com>
1816
1817         * c-common.h (enum rid): Add RID_THREAD.
1818         * c-decl.c (start_decl): Do not set DECL_COMMON for tls variables.
1819         (grokdeclarator): Grok __thread.
1820         * c-parse.in (reswords): Add __thread.
1821         (rid_to_yy): Add RID_THREAD.
1822
1823         * tree.h (DECL_THREAD_LOCAL): New.
1824         (struct tree_decl): Add thread_local_flag.
1825         * print-tree.c (print_node): Dump DECL_THREAD_LOCAL.
1826         * tree.c (staticp): TLS variables are not static.
1827
1828         * target-def.h (TARGET_HAVE_TLS): New.
1829         * target.h (have_tls): New.
1830         * output.h (SECTION_TLS): New.
1831         * varasm.c (assemble_variable): TLS variables can't be common for now.
1832         (default_section_type_flags): Handle .tdata and .tbss.
1833         (default_elf_asm_named_section): Handle SECTION_TLS.
1834         (categorize_decl_for_section): Handle DECL_THREAD_LOCAL.
1835
1836         * flags.h (flag_tls_default): Declare.
1837         * toplev.c (flag_tls_default): Define.
1838         (display_help): Display help for it.
1839         (decode_f_option): Set it.
1840
1841         * doc/extend.texi (Thread-Local): New node describing language-level
1842         thread-local storage.
1843         * doc/invoke.texi (-ftls-model): Document.
1844
1845         * fixinc/inclhack.def (thread_keyword): New.
1846         * fixinc/fixincl.x: Rebuild.
1847
1848 2002-05-21  Jeffrey A Law  <law@redhat.com>
1849
1850         * optabs.c (expand_binop): For double-word integer multiplies,
1851         do not compute intermediate results into something that is
1852         not a register (such as a SUBREG or MEM).
1853
1854         * i386.c (ix86_sched_reorder_ppro): Fix typo/thinko.
1855         (ix86_sched_reorder): Make sure to initialize scheduling
1856         data even when there's only one insn in the ready queue.
1857
1858 2002-05-21  Vladimir Makarov  <vmakarov@redhat.com>
1859
1860         * genautomata.c (reserv_sets_hash_value): Fix a typo.
1861
1862 2002-05-21  Vladimir Makarov  <vmakarov@redhat.com>
1863
1864         * genautomata.c (reserv_sets_hash_value): Define hash_value as
1865         set_el_t.  Transform the hash value into unsigned.
1866         (output_cycle_reservs): Fix bug with output of repeated `nothing'.
1867         (transform_3): Add code to process `(A,B)+(D,E)'.
1868
1869 2002-05-21  NIIBE Yutaka  <gniibe@m17n.org>
1870
1871         * reload1.c (do_output_reload): Run delete_output_reload
1872         only if optimizing.
1873
1874 2002-05-21  Roger Sayle  <roger@eyesopen.com>
1875
1876         PR middle-end/6600
1877         * expr.c (STORE_MAX_PIECES): New macro to avoid immediate constants
1878         larger than INTEGER_CST.  (store_by_pieces_1): Use it here...
1879         (can_store_by_pieces): ... and here to limit the largest mode used.
1880         Add a comment to document this function.
1881
1882 2002-05-21  Richard Henderson  <rth@redhat.com>
1883
1884         * flow.c (life_analysis): Fix test for deleted label.
1885
1886 2002-05-21  Neil Booth  <neil@daikokuya.demon.co.uk>
1887
1888         * doc/tm.texi: Fix typo.
1889
1890 2002-05-21  Zack Weinberg  <zack@codesourcery.com>
1891
1892         * c-common.c (c_common_init): Set options->unsigned_char from
1893         flag_signed_char.
1894         (cb_register_builtins): Define __STRICT_ANSI__ and
1895         __CHAR_UNSIGNED__ here...
1896         * cppinit.c (init_builtins): Not here.
1897         (cpp_create_reader): unsigned_char option defaults to 0, not
1898         !DEFAULT_SIGNED_CHAR.
1899         (COMMAND_LINE_OPTIONS, cpp_handle_option): Lose -fsigned-char
1900         and -funsigned-char.
1901
1902         * cpphash.h (struct spec_nodes): Kill n__STRICT_ANSI__.
1903         * cpphash.c (_cpp_init_hashtable): Don't set it.
1904         * cppmacro.c (builtin_macro) [BT_STDC]: Use the language setting
1905         directly.  Clarify comment.
1906
1907 2002-05-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1908
1909         * bb-reorder.c (make_reorder_chain_1): Use prev_bb/next_bb to get to
1910         neighbouring basic blocks.  Use ENTRY_BLOCK_PTR->next_bb instead of
1911         BASIC_BLOCK (0).  Use EXIT_BLOCK_PTR->prev_bb instead of
1912         BASIC_BLOCK (n_basic_blocks - 1).
1913         * cfganal.c (can_fallthru, flow_call_edges_add,
1914         flow_preorder_transversal_compute): Too.
1915         * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
1916         find_sub_basic_blocks): Too.
1917         * cfgcleanup.c (try_simplify_condjump, try_optimize_cfg): Too.
1918         * cfglayout.c (skip_insns_after_block, fixup_reorder_chain,
1919         fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge): Too.
1920         * cfgrtl.c (tidy_fallthru_edges, verify_flow_info): Too.
1921         * combine.c (this_basic_block): Type changed to basic_block.
1922         (combine_instructions, set_nonzero_bits_and_sign_copies, try_combine,
1923         nonzero_bits, num_sign_bit_copies, get_last_value_validate,
1924         get_last_value, distribute_notes, distribute_links): Too.
1925         * final.c (compute_alignments): Too.
1926         * flow.c (regno_uninitialized, regno_clobbered_at_setjmp): Too.
1927         * function.c (thread_prologue_and_epilogue_insns): Too.
1928         * gcse.c (compute_code_hoist_vbeinout): Too.
1929         * global.c (build_insn_chain): Too.
1930         * ifcvt.c (find_if_block, find_cond_trap): Too.
1931         * predict.c (last_basic_block_p, note_prediction_to_br_prob): Too.
1932         * regmove.c (regmove_optimize): Too.
1933         * resource.c (find_basic_block): Too.
1934         * sched-ebb.c (schedule_ebbs): Too.
1935         * ssa-dce.c (find_control_dependence, find_pdom): Too.
1936
1937 2002-05-21  Andreas Jaeger  <aj@suse.de>
1938
1939         * cppinit.c (sanity_checks): Avoid printf mismatch warnings.
1940
1941 2002-05-21  Richard Henderson  <rth@redhat.com>
1942
1943         * reg-stack.c (swap_rtx_condition, subst_stack_regs_pat): Use
1944         unspec names, not numbers.
1945
1946 2002-05-21  Joseph S. Myers  <jsm28@cam.ac.uk>
1947
1948         * doc/sourcebuild.texi: Mention snapshot-README and
1949         snapshot-index.html as needing updating for new front ends.
1950
1951 2002-05-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1952
1953         * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): Avoid warnings when
1954         disabling checking, and avoid multiple evaluation of RTX.
1955
1956 2002-05-21  Richard Earnshaw  <rearnsha@arm.com>
1957
1958         * bitmap.c (bitmap_find_bit): Return early if we have the correct
1959         element cached.
1960
1961 Tue May 21 10:51:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
1962
1963         * profile.c (gen_edge_profiler):  Set alias set before the memory is
1964         used.
1965
1966 2002-05-20  David S. Miller  <davem@redhat.com>
1967
1968         * cselib.c (max_value_regs): New.
1969         (cselib_lookup, cselib_invalidate_regno): Initialize it when
1970         adding new entries to the REG_VALUES table and we are dealing with
1971         a hard register.
1972         (clear_table): Initialize it.
1973         (cselib_invalidate_regno): Use it to determine which hard
1974         registers to scan when mode is not VOIDmode.
1975
1976 2002-05-20  Duraid Madina   <duraid@fl.net.au>
1977
1978         * tradcpp.c (fixup_newlines): Use old-style function header.
1979
1980 2002-05-20  Krister Walfridsson  <cato@df.lth.se>
1981
1982         * reload1.c (reload_cse_simplify): Fix typo in rtx code check.
1983
1984 2002-05-20  H.J. Lu  (hjl@gnu.org)
1985
1986         Base on suggestions from Zhang Fuxin <fxzhang@ict.ac.cn>:
1987
1988         * config/mips/mips.h (DFMODE_NAN): Defined.
1989         (SFMODE_NAN): Likewise.
1990
1991 2002-05-20  Dale Johannesen  <dalej@apple.com>
1992
1993         * combine.c (cant_combine_insn_p):  Back out my
1994         previous patch.
1995
1996 2002-05-20  Kazu Hirata  <kazu@cs.umass.edu>
1997
1998         * params.c: Fix formatting.
1999         * params.h: Likewise.
2000         * predict.c: Likewise.
2001         * prefix.c: Likewise.
2002         * print-rtl.c: Likewise.
2003         * print-tree.c: Likewise.
2004         * profile.c: Likewise.
2005
2006 2002-05-20  H.J. Lu  (hjl@gnu.org)
2007
2008         * gcc/config/mips/linux.h (SDB_DEBUGGING_INFO): Undefine.
2009
2010 2002-05-20  Nick Clifton  <nickc@cambridge.redhat.com>
2011
2012         * config/arm/arm-wince-pe.h (ASM_SPEC): Pass -mcpu and -march
2013         switches straight on to the assembler, do not abbreviate them.
2014         * config/arm/elf.h (ASM_SPEC): As above.
2015         * config/arm/semi.h (ASM_SPEC): As above.
2016         * config/arm/unknown-elf-oabi.h (ASM_SPEC): As above.
2017         * config/arm/xscale-coff.h (SUBTARGET_ASM_SPEC): Pass
2018         -mcpu=xscale on to the assembler by default.
2019         * config/arm/xscale-elf.h (SUBTARGET_ASM_SPEC): As above.
2020
2021 2002-05-20  Richard Henderson  <rth@redhat.com>
2022
2023         * cse.c (canon_hash): Reorder do_not_record test.  Always
2024         allow pic_offset_table_rtx.
2025
2026 2002-05-19  Toon Moene  <toon@moene.indiv.nluug.nl>
2027
2028         * optabs.c (expand_cmplxdiv_wide): Use complex_part_zero_p.
2029         (expand_binop): Ditto (3 times).
2030
2031 2002-05-19  Mark Mitchell  <mitchell@doubledemon.codesourcery.com>
2032
2033         * Makefile.in (distclean): Remove QMTest stuff.
2034         (QMTEST_PATH): New variable.
2035         (QMTESTFLAGS): Likewise.
2036         (QMTESTRUNFLAGS): Likewise.
2037         (QMTEST): Likewise.
2038         (QMTEST_GPP_TESTS): Likewise.
2039         (QMTEST_DIR): Likewise.
2040         (QMTEST_DIR/context): New target.
2041         (qmtest-g++): Likeise.
2042         (qmtest-gui): Likewise.
2043         (QMTEST_DIR/gpp-expected.qmr): Likewise.
2044
2045 2002-05-19  Aldy Hernandez  <aldyh@redhat.com>
2046
2047         * config/rs6000/rs6000.h (FUNCTION_VALUE): Only return vectors in
2048         an altivec register if TARGET_ALTIVEC.
2049
2050         * config/rs600/rs6000.c (rs6000_emit_move): Change VECTOR_MODE_P
2051         to ALTIVEC_VECTOR_MODE.
2052         (rs6000_va_arg): Only vectors of type AltiVec are 16 byte aligned.
2053         (rs6000_va_arg): Vectors may go in registers if they are not
2054         altivec vectors.
2055
2056 2002-05-19  Kazu Hirata  <kazu@cs.umass.edu>
2057
2058         * protoize.c: Fix formatting.
2059
2060 2002-05-19  Richard Henderson  <rth@redhat.com>
2061
2062         * gensupport.c (init_include_reader): Merge into ...
2063         (process_include): ... here.  Simplify composite path creation.
2064         Plug memory leaks.  Fix file/line number tracking.  Do not
2065         process_define_cond_exec.  Return void.
2066         (process_rtx): Don't check process_include return value.
2067
2068 2002-05-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2069
2070         * basic_block.h (struct basic_block_def): Added prev_bb and next_bb
2071         fields.
2072         (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
2073         traversing basic block chain.
2074         (create_basic_block_structure, create_basic_block): Declaration changed.
2075         (link_block, unlink_block): Declare.
2076         * cfg.c (entry_exit_blocks): Initialize new fields.
2077         (link_block, unlink_block): New.
2078         (expunge_block_nocompact): Unlink basic block.
2079         (dump_flow_info): Print prev_bb/next_bb fields.
2080         * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Modified.
2081         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Modified.
2082         * cfglayout.c (fixup_reorder_chain, cfg_layout_duplicate_bb): Modified.
2083         * cfgrtl.c (create_basic_block_structure, create_basic_block,
2084         split_block, force_nonfallthru_and_redirect, split_edge): Modified.
2085         (verify_flow_info): Check that list agrees with numbering.
2086
2087 2002-05-19  Neil Booth  <neil@daikokuya.demon.co.uk>
2088
2089         * c-common.c (preprocessing_asm): New macro.
2090         * c-lex.h (builtin_define, builtin_assert): Use pfile.
2091 doc:
2092         * tm.texi: Update.
2093 config/alpha:
2094         * alpha.h (CPLUSPLUS_CPP_SPEC): Remove.
2095         (CPP_SPEC): Simplify.
2096         (TARGET_CPU_CPP_BUILTINS): Update.
2097         * freebsd.h (TARGET_OS_CPP_BUILTINS): New.
2098         (CPP_SPEC): Simplify.
2099         * linux.h (CPLUSPLUS_CPP_SPEC): Remove.
2100         (TARGET_OS_CPP_BUILTINS): Update.
2101         * osf.h (CPP_XFLOAT_SPEC): Kill.
2102         (TARGET_OS_CPP_BUILTINS): Update.
2103         (CPP_SUBTARGET_SPEC, SUBTARGET_EXTRA_SPECS): Simplify.
2104         * osf5.h (CPP_XFLOAT_SPEC): Kill.
2105         * vms.h (CPP_SUBTARGET_SPEC): Kill.
2106         (TARGET_OS_CPP_BUILTINS): Update.
2107
2108 2002-05-19  Richard Henderson  <rth@redhat.com>
2109
2110         * varasm.c (default_binds_local_p): Fix typo.
2111
2112 2002-05-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
2113
2114         * config/avr/avr.c (machine_dependent_reorg): Sign extend the
2115         CONST_INT operand to the correct mode after adding 1 to it.
2116
2117 2002-05-19  Mark Mitchell  <mark@codesourcery.com>
2118
2119         * config.gcc (powerpc-wrs-windiss*): New target.
2120
2121 2002-05-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2122
2123         * config/rs6000/rs6000.md (ashrdi3_no_power): New.
2124         (ashrdi3): Use it.
2125
2126 2002-05-18  Mark Mitchell  <mark@codesourcery.com>
2127
2128         * configure.in (AC_CHECK_FUNCS): Add checks for scandir and
2129         alphasort.
2130         * config.in: Regenerated.
2131         * configure: Regenerated.
2132
2133 2002-05-19  Richard Henderson  <rth@redhat.com>
2134
2135         * target-def.h (TARGET_BINDS_LOCAL_P): New.
2136         * target.h (struct gcc_target): Move boolean fields to the end.
2137         Add binds_local_p.
2138         * varasm.c (default_binds_local_p): New.
2139         * output.h: Declare it.
2140
2141         * config/alpha/alpha.c (alpha_encode_section_info): Use the new hook.
2142         * config/cris/cris.c (cris_encode_section_info): Likewise.
2143         * config/i386/i386.c (i386_encode_section_info): Likewise.
2144         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
2145         * config/sh/sh.c (sh_encode_section_info): Likewise.
2146
2147         * doc/tm.texi (TARGET_IN_SMALL_DATA_P): New.
2148         (TARGET_BINDS_LOCAL_P): New.
2149
2150 2002-05-19  Richard Henderson  <rth@redhat.com>
2151
2152         * system.h (BLOCK_PROFILER, BLOCK_PROFILER_CODE,
2153         FUNCTION_BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER_EXIT,
2154         MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Poison.
2155
2156         * toplev.c (display_help): Kill -a -ax help.
2157
2158         * config/1750a/1750a.h, config/alpha/alpha.h,
2159         config/clipper/clipper.h, config/dsp16xx/dsp16xx.h,
2160         config/h8300/h8300.h, config/i960/i960.h, config/m68k/tower-as.h,
2161         config/m88k/m88k.h, config/vax/vax.h, config/we32k/we32k.h:
2162         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Kill.
2163
2164         * libgcc2.c [L_bb] (BLOCK_PROFILER_CODE): Kill.
2165         * config/m68k/sun3.h (BLOCK_PROFILER_CODE): Kill.
2166
2167         * config/i386/i386-protos.h (ix86_output_block_profiler): Kill.
2168         (ix86_output_function_block_profiler): Kill.
2169         * config/m68hc11/m68hc11.c (m68hc11_block_profiler): Kill.
2170         (m68hc11_function_block_profiler): Kill.
2171         * config/m68hc11/m68hc11-protos.h: Update.
2172         * config/m88k/m88k.c (output_block_profiler): Kill.
2173         (output_function_block_profiler): Kill.
2174         * config/m88k/m88k-protos.h: Update.
2175
2176 2002-05-19  Richard Henderson  <rth@redhat.com>
2177
2178         * system.h (STRIP_NAME_ENCODING): Poison it.
2179         * output.h (STRIP_NAME_ENCODING): Remove.
2180         (default_strip_name_encoding): Declare.
2181         * target-def.h (TARGET_STRIP_NAME_ENCODING): New.
2182         * target.h (strip_name_encoding): New.
2183         * varasm.c (default_strip_name_encoding): New.
2184
2185         * dwarf2asm.c, varasm.c, config/darwin.c, config/darwin.h,
2186         config/alpha/alpha.c, config/arm/pe.c, config/avr/avr.c,
2187         config/cris/cris.c, config/i386/cygwin.h, config/i386/interix.c,
2188         config/i386/winnt.c, config/m32r/m32r.h, config/mcore/mcore-elf.h,
2189         config/mcore/mcore-pe.h, config/mcore/mcore.c, config/mcore/mcore.h,
2190         config/mips/mips.c, config/mn10200/mn10200.h, config/mn10300/mn10300.h,
2191         config/pa/pa.c, config/pa/pa.h, config/pa/som.h,
2192         config/rs6000/rs6000.c, config/rs6000/sysv4.h, config/rs6000/xcoff.h,
2193         config/v850/v850.h: Use the hook, not the macro.
2194
2195         * config/darwin-protos.h, config/darwin.c, config/darwin.h,
2196         config/alpha/alpha.c, config/alpha/alpha.h, config/h8300/h8300.c,
2197         config/h8300/h8300.h, config/i386/cygwin.h, config/i386/i386-interix.h,
2198         config/i386/i386-protos.h, config/i386/win32.h, config/i386/winnt.c,
2199         config/ia64/ia64.c, config/ia64/ia64.h, config/m32r/m32r.c,
2200         config/m32r/m32r.h, config/mcore/mcore.c, config/mcore/mcore.h,
2201         config/pa/pa.c, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
2202         config/rs6000/xcoff.h, config/sh/sh.c, config/sh/sh.h,
2203         config/v850/v850.c, config/v850/v850.h:
2204         Move STRIP_NAME_ENCODING to out-of-line function and add
2205         TARGET_STRIP_NAME_ENCODING.
2206
2207         * config/arm/arm.c, config/arm/arm.h, config/mmix/mmix-protos.h,
2208         config/mmix/mmix.c, config/mmix/mmix.h: Replace STRIP_NAME_ENCODING
2209         with TARGET_STRIP_NAME_ENCODING referencing existing function;
2210         make function static.
2211
2212         * xcoffout.c: Include target.h
2213         * Makefile.in (xcoffout.o): Update.
2214
2215         * config/avr/avr.c (avr_encode_section_info): Correct prototype.
2216         * config/avr/avr.h (STRIP_NAME_ENCODING): Remove.
2217         * config/rs6000/rs6000.c (rs6000_xcoff_unique_section): Mark
2218         reloc argument unused.
2219         * config/sh/sh.c (TARGET_ENCODE_SECTION_INFO): New.
2220
2221         * doc/tm.texi (TARGET_STRIP_NAME_ENCODING): Update from previous
2222         STRIP_NAME_ENCODING docs.
2223
2224 2002-05-19  Andreas Jaeger  <aj@suse.de>
2225
2226         * gengenrtl.c: Add prototype for excluded_rtx.
2227
2228         * real.h: Add prototype for exact_real_truncate.
2229
2230 2002-05-18  Richard Henderson  <rth@redhat.com>
2231
2232         * system.h (ENCODE_SECTION_INFO): Poison it.
2233         * target-def.h (TARGET_ENCODE_SECTION_INFO): New.
2234         * target.h (encode_section_info): New.
2235         * varasm.c (make_decl_rtl, output_constant_def): Use it.
2236         * hooks.c (hook_tree_int_void): New.
2237         * hooks.h: Declare it.
2238
2239         * config/darwin.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
2240         config/alpha/alpha.h, config/arm/pe.h, config/avr/avr-protos.h,
2241         config/avr/avr.c, config/avr/avr.h, config/c4x/c4x-protos.h,
2242         config/c4x/c4x.c, config/c4x/c4x.h, config/cris/cris-protos.h,
2243         config/cris/cris.c, config/cris/cris.h, config/i386/cygwin.h,
2244         config/i386/win32.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
2245         config/ia64/ia64.h, config/m32r/m32r-protos.h, config/m32r/m32r.c,
2246         config/m32r/m32r.h, config/m68hc11/m68hc11-protos.h,
2247         config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
2248         config/mcore/mcore-protos.h, config/mcore/mcore.c,
2249         config/mcore/mcore.h, config/mmix/mmix-protos.h, config/mmix/mmix.c,
2250         config/mmix/mmix.h, config/rs6000/rs6000-protos.h,
2251         config/rs6000/sysv4.h, config/stormy16/stormy16-protos.h,
2252         config/stormy16/stormy16.c, config/stormy16/stormy16.h:
2253         Replace ENCODE_SECTION_INFO with TARGET_ENCODE_SECTION_INFO
2254         referencing existing function.  Make function static.
2255
2256         * config/a29k/a29k.c, config/a29k/a29k.h, config/arc/arc.c,
2257         config/arc/arc.h, config/arm/arm.c, config/arm/arm.h,
2258         config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
2259         config/i370/i370.h, config/i386/i386-interix.h, config/i386/i386.c,
2260         config/i386/i386.h, config/i386/interix.c, config/m88k/m88k.c,
2261         config/m88k/m88k.h, config/mips/mips.c, config/mips/mips.h,
2262         config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa.c,
2263         config/pa/pa.h, config/romp/romp.c, config/romp/romp.h,
2264         config/rs6000/linux64.h, config/rs6000/xcoff.h, config/s390/s390.c,
2265         config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
2266         config/sparc/sparc.c, config/sparc/sparc.h, config/v850/v850.c,
2267         config/v850/v850.h, config/vax/vax.c, config/vax/vms.h,
2268         config/xtensa/xtensa.c, config/xtensa/xtensa.h:
2269         Move ENCODE_SECTION_INFO to out-of-line function and add
2270         TARGET_ENCODE_SECTION_INFO.
2271
2272         * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use hook, not macro.
2273         (ASM_DECLARE_OBJECT_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
2274
2275         * config/arm/pe.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Rename
2276         from SUBTARGET_*
2277         (switch_to_section): Replace in_rdata case with in_readonly_data.
2278
2279         * config/h8300/h8300.c (h8300_encode_label): Make static.
2280         * config/h8300/h8300-protos.h: Update.
2281
2282         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Rename
2283         from rs6000_encode_section_info; make static.
2284         (rs6000_xcoff_encode_section_info): New.
2285
2286         * config/v850/v850.c (v850_encode_data_area): Make static.
2287         * config/v850/v850-protos.h: Update.
2288
2289         * config/vax/vax.c: Include flags.h.
2290         (vms_select_section): Fix typo.
2291
2292         * doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update from previous
2293         ENCODE_SECTION_INFO docs.
2294
2295 2002-05-18  Richard Henderson  <rth@redhat.com>
2296
2297         * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Rename from
2298         REGISTER_TARGET_PRAGMAS.
2299         * config/rs6000/darwin.h (REGISTER_TARGET_PRAGMAS): Redefine.
2300
2301         * config.gcc: Do not use rs6000-c.c on powerpc-darwin.
2302
2303 2002-05-18  Richard Henderson  <rth@redhat.com>
2304
2305         * system.h (SELECT_RTX_SECTION): Poison.
2306         * target-def.h (TARGET_ASM_SELECT_RTX_SECTION): New.
2307         * target.h (select_rtx_section): New.
2308         * varasm.c (output_constant_pool): Use it.
2309         (default_select_rtx_section, default_elf_select_rtx_section): New.
2310         * output.h: Declare them.
2311
2312         * config/darwin.h (SELECT_RTX_SECTION): Move ...
2313         * config/darwin.c (machopic_select_rtx_section): ... here.
2314         * config/darwin-protos.h: Update.
2315
2316         * config/nextstep.h (SELECT_RTX_SECTION): Move ...
2317         * config/nextstep.c (machopic_select_rtx_section): ... here.
2318         (nextstep_select_section): Rename variable to avoid macro clash.
2319         * config/nextstep-protos.h: Update.
2320
2321         * config/elfos.h, config/svr3.h, config/arm/aof.h, config/c4x/c4x.h,
2322         config/i386/dgux.h, config/i386/osfrose.h, config/i386/sco5.h,
2323         config/i386/svr3gas.h, config/i860/paragon.h, config/ia64/aix.h,
2324         config/m32r/m32r.h, config/m68k/dpx2.h, config/m68k/lynx.h,
2325         config/m68k/m68k.h, config/m68k/tower-as.h, config/m88k/dgux.h,
2326         config/mcore/mcore-pe.h, config/mips/mips.h, config/mmix/mmix.h,
2327         config/pa/pa-linux.h, config/pa/pa.h, config/romp/romp.h,
2328         config/rs6000/lynx.h, config/rs6000/sysv4.h, config/s390/linux.h,
2329         config/sparc/sysv4.h, config/xtensa/elf.h, config/xtensa/linux.h
2330         (SELECT_RTX_SECTION): Remove.
2331
2332         * config/darwin.h, config/elfos.h, config/nextstep.h,
2333         config/ia64/aix.h, config/ia64/sysv4.h, config/alpha/alpha.c,
2334         config/mips/mips.c, config/romp/romp.c, config/rs6000/sysv4.h,
2335         config/rs6000/xcoff.h, config/s390/s390.c, config/sparc/aout.h,
2336         config/sparc/lynx.h, config/xtensa/xtensa.c
2337         (TARGET_ASM_SELECT_RTX_SECTION): New.
2338
2339         * config/alpha/elf.h (SELECT_RTX_SECTION): Move ...
2340         * config/alpha/alpha.c (alpha_elf_select_rtx_section): ... here.
2341         * config/ia64/sysv4.h (SELECT_RTX_SECTION): Move ...
2342         * config/ia64/ia64.c (ia64_select_rtx_section): ... here.
2343         (ia64_aix_select_rtx_section): New.
2344         * config/mips/iris6.h (READONLY_DATA_SECTION_ASM_OP): Undef before
2345         redefining.
2346         * config/mips/mips.c (mips_select_rtx_section): Make static.
2347         Support ELF SHF_MERGE features.
2348         * config/mips/mips-protos.h: Update.
2349         * config/rs6000/xcoff.h (SELECT_RTX_SECTION): Move ...
2350         * config/rs6000/rs6000.c (rs6000_xcoff_select_rtx_section): ... here.
2351         (rs6000_elf_select_rtx_section): Rename from rs6000_select_rtx_section;
2352         make static, fall back to default_elf_select_rtx_section.
2353         * config/rs6000/rs6000-protos.h: Update.
2354         * config/sparc/sparc.h (SELECT_RTX_SECTION): Move ...
2355         * config/sparc/sparc.c (sparc_aout_select_rtx_section): ... here.
2356         * config/sparc/sunos4.h (on_exit): Declare only if IN_LIBGCC2.
2357         * config/romp/romp.c (romp_select_rtx_section): New.
2358         * config/s390/s390.c (s390_select_rtx_section): New.
2359         * config/xtensa/xtensa.c: Include output.h.  Shuffle local function
2360         declarations before target macro definition.
2361         (xtensa_emit_call): Use static buffer.
2362         (xtensa_select_rtx_section): New.
2363         * config/xtensa/xtensa.h (MAX_INT_TYPE_SIZE): Remove.
2364         (IMPLICIT_FIX_EXPR, EASY_DIV_EXPR): Remove.
2365         (ASM_OUTPUT_POOL_PROLOGUE): Update call to resolve_unique_section.
2366
2367         * doc/tm.texi (TARGET_ASM_SELECT_RTX_SECTION): Update from
2368         SELECT_RTX_SECTION docs.
2369
2370 Sun May 19 00:24:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
2371
2372         * i386.md (movsi/movdi): Fix template.
2373         (sse2 patterns): Set attributes consistently.
2374
2375         * i386.md (pushqi2, ashrqi_*): Fix constraint.
2376
2377 2002-05-18  Toon Moene  <toon@moene.indiv.nluug.nl>
2378
2379         * optabs.c (complex_part_zero_p): New.
2380         * (expand_cmplxdiv_straight): Use it.
2381         * (expand_cmplxdiv_wide): Ditto.
2382         * (expand_binop): Ditto.
2383
2384 2002-05-18  Richard Henderson  <rth@redhat.com>
2385
2386         * final.c (HAVE_READONLY_DATA_SECTION): New.
2387         (shorten_branches): Use it instead of ifdefs.
2388         * varasm.c (enum in_section): Add in_readonly_data.
2389         (text_section, data_section): Tidy.
2390         (readonly_data_section): Use READONLY_DATA_SECTION_ASM_OP if present.
2391
2392         * config/darwin.h, config/nextstep.h, config/h8300/elf.h,
2393         config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h
2394         (READONLY_DATA_SECTION): Don't undef.
2395
2396         * config/alpha/unicosmk.h, config/h8300/elf.h, config/i386/aix386ng.h,
2397         config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h,
2398         config/rs6000/lynx.h (READONLY_DATA_SECTION_ASM_OP): Undef.
2399
2400         * config/elfos.h, config/svr3.h, config/alpha/alpha-interix.h,
2401         config/alpha/elf.h, config/c4x/c4x.h, config/i386/i386-interix.h,
2402         config/i386/sco5.h, config/i386/svr3gas.h, config/i860/sysv3.h,
2403         config/m88k/m88k.h, config/pa/pa64-hpux.h (USE_CONST_SECTION): Remove.
2404
2405         * config/elfos.h, config/netware.h, config/alpha/alpha-interix.h,
2406         config/alpha/elf.h, config/alpha/vms.h, config/arc/arc.h,
2407         config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
2408         config/i386/dgux.h, config/i386/i386-interix.h, config/i386/sco5.h,
2409         config/ia64/hpux.h, config/m32r/m32r.h, config/m68k/tower-as.h,
2410         config/m88k/m88k.h, config/mcore/mcore-pe.h, config/mips/iris6.h,
2411         config/mips/mips.h, config/mmix/mmix.h, config/pa/pa64-hpux.h,
2412         config/sparc/sysv4.h (READONLY_DATA_SECTION_ASM_OP): Rename from
2413         CONST_SECTION_ASM_OP/READONLY_SECTION_ASM_OP/RDATA_SECTION_ASM_OP.
2414
2415         * config/elfos.h, config/netware.h, config/1750a/1750a.h,
2416         config/a29k/a29k.h, config/alpha/alpha-interix.h, config/alpha/alpha.h,
2417         config/arm/coff.h, config/h8300/h8300.h, config/i386/aix386ng.h,
2418         config/i386/i386-interix.h, config/i386/osfrose.h, config/mmix/mmix.h,
2419         config/pa/pa64-hpux.h, config/sparc/litecoff.h
2420         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
2421
2422         * config/elfos.h, config/netware.h, config/svr3.h,
2423         config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
2424         config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
2425         config/h8300/h8300.h, config/i386/i386-interix.h,
2426         config/i386/osfrose.h, config/i386/svr3gas.h, config/mmix/mmix.h,
2427         config/pa/pa64-hpux.h (READONLY_DATA_SECTION): Remove.
2428
2429         * config/elfos.h, config/netware.h, config/svr3.h,
2430         config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
2431         config/c4x/c4x.h, config/i386/aix386ng.h, config/i386/i386-interix.h,
2432         config/i386/sco5.h, config/i386/svr3gas.h, config/mmix/mmix.h,
2433         config/pa/pa64-hpux.h (CONST_SECTION_FUNCTION): Remove.
2434
2435         * config/lynx.h, config/svr3.h, config/alpha/elf.h, config/alpha/vms.h,
2436         config/c4x/c4x.h, config/dsp16xx/dsp16xx.h, config/i386/sco5.h,
2437         config/i386/svr3gas.h, config/i860/sysv3.h, config/i860/sysv4.h,
2438         config/ia64/sysv4.h, config/m32r/m32r.h, config/m88k/m88k.h,
2439         config/mcore/mcore-elf.h, config/mcore/mcore-pe.h, config/mips/elf.h,
2440         config/mips/elf64.h, config/mips/iris6.h, config/mips/linux.h,
2441         config/mips/mips.h, config/mips/rtems64.h, config/mips/vxworks.h,
2442         config/rs6000/sysv4.h, config/v850/v850.h
2443         (EXTRA_SECTIONS): Remove in_const/in_rdata.
2444         (EXTRA_SECTION_FUNCTIONS): Remove accompanying function.
2445
2446         * config/svr3.h, config/c4x/c4x.h, config/i386/dgux.h,
2447         config/i386/sco5.h, config/i386/svr3gas.h, config/ia64/aix.h,
2448         config/m88k/dgux.h, config/mcore/mcore-pe.h, config/mmix/mmix.h,
2449         config/sparc/sysv4.h (SELECT_RTX_SECTION): Use readonly_data_section.
2450         * config/alpha/alpha.c (alpha_start_function): Likewise.
2451         (alpha_write_linkage): Likewise.
2452         * config/m32r/m32r.c (m32r_select_section): Likewise.
2453         * config/m88k/m88k.c (m88k_select_section): Likewise.
2454         * config/mips/mips.c (mips_select_rtx_section): Likewise.
2455         * config/rs6000/rs6000.c (rs6000_select_rtx_section): Likewise.
2456         (rs6000_elf_select_section): Likewise.
2457         * config/v850/v850.c (v850_select_section): Likewise.
2458
2459         * config/1750a/1750a.h, config/i860/sysv3.h
2460         (READONLY_DATA_SECTION_ASM_OP): New.
2461         READONLY_DATA_SECTION_ASM_OP.
2462         * config/i386/interix.c, config/i386/winnt.c
2463         (i386_pe_unique_section): Always use .rdata prefix.
2464         * config/pa/som.h (readonly_data): Always switch to read-only section.
2465         (READONLY_DATA_SECTION): Predicate on flag_pic.
2466         * config/we32k/we32k.h (READONLY_DATA_SECTION): Remove parenthesis.
2467         * doc/tm.texi (READONLY_DATA_SECTION_ASM_OP): New.
2468         (READONLY_DATA_SECTION): Update.
2469
2470 2002-05-18  Jason Thorpe  <thorpej@wasabisystems.com>
2471
2472         * c-common.c (c_common_post_options): Warn if -Wformat-zero-length
2473         is used without -Wformat.
2474         * c-common.h (warn_format_zero_length): Declare extern.
2475         * c-decl.c (warn_options): Add "format-zero-length".
2476         * c-format.c (warn_format_zero_length): Declare.
2477         (set_Wformat): Set warn_format_zero_length for -Wformat.
2478         (check_format_info): Only warn about zero-length formats if
2479         warn_format_zero_length is true.  Include the format type
2480         name in the warning message.
2481         * doc/invoke.texi: Document -Wformat-zero-length.
2482         * testsuite/gcc.dg/format/zero-length-1.c: New test.
2483
2484 2002-05-18  Kazu Hirata  <kazu@cs.umass.edu>
2485
2486         * timevar.c: Fix formatting.
2487         * tlink.c: Likewise.
2488         * toplev.c: Likewise.
2489         * tree-dump.c: Likewise.
2490         * tree-inline.c: Likewise.
2491
2492 2002-05-18  Neil Booth  <neil@daikokuya.demon.co.uk>
2493
2494         * cppinit.c (cpp_post_options): If preprocessed, turn off
2495         traditional.  If traditional, turn off column numbers.
2496         * cpplib.c (cpp_push_buffer): Lex from stage 3 if traditional.
2497         * cpptrad.c (handle_newline): Update line_base.
2498         (skip_comment): Handle -Wcomment.
2499
2500 2002-05-17  Zack Weinberg  <zack@codesourcery.com>
2501
2502         * cppinit.c (struct builtin): Remove unused fields.
2503         (CPLUS, BUILTIN, OPERATOR, O, builtin_array_end): Kill.
2504         (operator_array): New - was second half of builtin_array.
2505         (init_builtins): Simplify loop over builtin_array/operator_array.
2506
2507 2002-05-18  Neil Booth  <neil@daikokuya.demon.co.uk>
2508
2509         * defaults.h (UNIQUE_SECTION): Remove.
2510         * system.h (UNIQUE_SECTION, SELECT_SECTION): Poison.
2511
2512 2002-05-17  Richard Henderson  <rth@redhat.com>
2513
2514         * expr.c (init_expr_once): Don't use start/end_sequence.
2515         Use rtx_alloc instead of emit_insn.
2516         * toplev.c (lang_dependent_init): Run init_expr_once here ...
2517         (lang_independent_init): ... not here.
2518
2519 2002-05-17  Jason Thorpe  <thorpej@wasabisystems.com>
2520
2521         * config/sh/lib1funcs.asm (GLOBAL): Use __USER_LABEL_PREFIX__.
2522
2523 2002-05-17  Marek Michalkiewicz  <marekm@amelek.gda.pl>
2524
2525         * config/avr/avr.c (avr_regs_to_save): New function.  Also check
2526         for fixed registers, possibly used for global register variables.
2527         (initial_elimination_offset, avr_output_function_prologue,
2528         avr_output_function_epilogue):  Move common code to avr_regs_to_save.
2529
2530 2002-05-17  Neil Booth  <neil@daikokuya.demon.co.uk>
2531
2532         * Makefile.in: Update for cpptrad.c.
2533         * cpphash.h (struct cpp_buffer): New members for buffer
2534         overlays.
2535         (struct cpp_reader): New members for traditional output.
2536         (_cpp_read_logical_line, _cpp_overlay_buffer): New.
2537         * cppinit.c (cpp_create_reader): Set trad_line.
2538         (cpp_destroy): Free trad_out_base if used.
2539         (cpp_read_main_file): Overlay an empty buffer if traditional.
2540         (cpp_finish_options): Don't do builtins.
2541         (COMMAND_LINE_OPTIONS): Add -traditional-cpp.
2542         (cpp_handle_option): Handle it.
2543         * cpplex.c (continue_after_nul): New.
2544         (_cpp_lex_direct): Use handle_nul.
2545         * cpplib.h (struct cpp_options): New traditional option.
2546         * cpptrad.c: New file.
2547
2548 2002-05-17  Neil Booth  <neil@daikokuya.demon.co.uk>
2549
2550         * c-common.c (c_common_init_options): Use C89 for Objective-C,
2551         and set the options flag.
2552         * cppinit.c (lang_flags): Remove objc.
2553         (lang_defaults): Remove OBJC and OBJCXX.
2554         (set_lang): Update.
2555         (COMMAND_LINE_OPTIONS): Remove -+ and -lang-objc++.
2556         (cpp_handle_option): Remove -+ and -lang-objc++.
2557         For ObjC, just set a flag.
2558         (print_help): Update.
2559         * cpplib.h (enum c_lang): Remove CLK_OBJC and CLK_OBJCXX.
2560
2561 2002-05-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2562
2563         * doc/install.texi (Specific, mips-sgi-irix6): Document need to
2564         bootstrap with -mips3.
2565
2566 2002-05-17  Kazu Hirata  <kazu@cs.umass.edu>
2567
2568         * final.c: Fix formatting.
2569         * fix-header.c: Likewise.
2570         * flow.c: Likewise.
2571         * fold-const.c: Likewise.
2572         * function.c: Likewise.
2573
2574 2002-05-17  David S. Miller  <davem@redhat.com>
2575
2576         PR c/6689, PR optimization/6615
2577         * local-alloc.c (struct equivalence): Rename 'src' to 'src_p'
2578         and make it a pointer to rtx.  Update comments.
2579         (update_equiv_regs): When scanning for equivalences, record
2580         address of SET_SRC (set) in reg_equiv[].src_p.  Dereference
2581         it while making the equiv replacements.
2582
2583 2002-05-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2584
2585         * config/sparc/sparc.c (sparc_aout_select_section): Fixed typo.
2586
2587 2002-05-17  kaz Kojima  <kkojima@rr.iij4u.or.jp>
2588
2589         * config/sh/sh.h (ENCODE_SECTION_INFO): Consider MODULE_LOCAL_P
2590         when encoding visibility into SYMBOL_REF_FLAG.
2591
2592 2002-05-17  Richard Sandiford  <rsandifo@redhat.com>
2593
2594         * expr.c (force_operand): Fix reversed move.
2595
2596 2002-05-17  Kurt Wall <kwall@kurtwerks.com>
2597
2598         * doc/install.texi (Testing): Mention two common DejaGnu warnings
2599         that can be ignored.
2600
2601 2002-05-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2602
2603         * doc/install.texi (Final install): Recommend to install into a
2604         "clean" target directory.
2605
2606 2002-05-17  Richard Henderson  <rth@redhat.com>
2607
2608         * config/ia64/ia64.md: Use braced strings instead of quoted strings
2609         for code blocks.  Tidy whitespace.
2610
2611 2002-05-17  Richard Henderson  <rth@redhat.com>
2612
2613         * hooks.c (hook_tree_bool_false): New.
2614         * hooks.h: Declare it.
2615         * target-def.h (TARGET_ASM_SELECT_SECTION): New.
2616         (TARGET_ASM_UNIQUE_SECTION, TARGET_IN_SMALL_DATA_P): New.
2617         * target.h (select_section, unique_section): New.
2618         (in_small_data_p): New.
2619         * varasm.c (resolve_unique_section): Use hooks instead of macros.
2620         (variable_section, output_constant_def_contents): Likewise.
2621         (default_select_section, default_unique_section): New.
2622         (categorize_decl_for_section, default_elf_select_section): New.
2623         * output.h: Declare them.
2624
2625         * config/darwin.h (ALIAS_SECTION, try_section_alias): Remove.
2626         (TARGET_ASM_SELECT_SECTION): New.
2627         (SELECT_SECTION): Move ...
2628         * config/darwin.c (machopic_select_section): ... here.
2629         * config/darwin-protos.h: Update.
2630
2631         * config/nextstep.h (TARGET_ASM_SELECT_SECTION): New.
2632         (SELECT_SECTION): Move ...
2633         * config/nextstep.c (nextstep_select_section): ... here.
2634         * config/nextstep-protos.h: Update.
2635
2636         * config/elfos.h (UNIQUE_SECTION, SELECT_SECTION): Remove.
2637         (TARGET_ASM_SELECT_SECTION): New.
2638         * config/svr3.h (SELECT_SECTION): Remove.
2639
2640         * config/alpha/alpha.c (unicosmk_unique_section): Make static.
2641         (TARGET_ASM_UNIQUE_SECTION) [UNICOS]: New.
2642         (TARGET_IN_SMALL_DATA_P, alpha_in_small_data_p): New.
2643         (alpha_encode_section_info): Use it.
2644         * config/alpha/alpha-protos.h: Update.
2645         * config/alpha/elf.h (DO_SELECT_SECTION): Remove.
2646         (SELECT_SECTION, UNIQUE_SECTION): Remove.
2647         (TARGET_ASM_SELECT_SECTION): New.
2648         * config/alpha/unicosmk.h (UNIQUE_SECTION): Remove.
2649
2650         * config/arm/pe.h (UNIQUE_SECTION): Remove.
2651         (TARGET_ASM_UNIQUE_SECTION): New.
2652
2653         * config/avr/avr.c (TARGET_ASM_UNIQUE_SECTION): New.
2654         (avr_unique_section): Rename from unique_section; make static.
2655         * config/avr/avr-protos.h: Update.
2656         * config/avr/avr.h (UNIQUE_SECTION): Remove.
2657
2658         * config/c4x/c4x.h (SELECT_SECTION): Remove.
2659
2660         * config/i386/cygwin.h (UNIQUE_SECTION): Remove.
2661         (TARGET_ASM_UNIQUE_SECTION): New.
2662         * config/i386/i386-interix.h: Likewise.
2663         * config/i386/win32.h: Likewise.
2664         * config/i386/djgpp.h (UNIQUE_SECTION): Remove.
2665         * config/i386/i386.c (ix86_asm_file_end): Use target hook not macro.
2666         * config/i386/sco5.h (SELECT_SECTION): Remove.
2667         (TARGET_ASM_SELECT_SECTION): New.
2668         * config/i386/svr3gas.h (SELECT_SECTION): Remove.
2669
2670         * config/i860/paragon.h: Undef TARGET_ASM_SELECT_SECTION
2671         instead of SELECT_SECTION.
2672         * config/m68k/dpx2.h: Likewise.
2673         * config/rs6000/lynx.h: Likewise.
2674
2675         * config/ia64/aix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
2676         (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
2677         * config/ia64/ia64.c (TARGET_IN_SMALL_DATA_P): New.
2678         (ia64_in_small_data_p): New.
2679         (ia64_encode_section_info): Use it.  Reorganize overlarge conditional.
2680         (ia64_aix_select_section, ia64_aix_unique_section): New.
2681         * config/ia64/sysv4.h (DO_SELECT_SECTION): Remove.
2682         (SELECT_SECTION, UNIQUE_SECTION): Remove.
2683
2684         * config/m32r/m32r.h (SELECT_SECTION): Remove.
2685         (TARGET_ASM_SELECT_SECTION): New.
2686         * config/m32r/m32r.c (m32r_select_section): Take align argument.
2687         * config/m32r/m32r-protos.h: Update.
2688
2689         * config/m88k/m88k.h (TARGET_ASM_SELECT_SECTION): New.
2690         (SELECT_SECTION): Move ...
2691         * config/m88k/m88k.c (m88k_select_section): ... here.
2692
2693         * config/mcore/mcore-pe.h (SELECT_SECTION): Remove.
2694         * config/mcore/mcore.h (UNIQUE_SECTION): Remove.
2695         * config/mcore/mcore.c (TARGET_ASM_UNIQUE_SECTION): New.
2696         (mcore_unique_section): Make static.
2697         * config/mcore/mcore-protos.h: Update.
2698
2699         * config/mips/elf.h (UNIQUE_SECTION): Remove.
2700         (TARGET_ASM_UNIQUE_SECTION): New.
2701         * config/mips/elf64.h: Likewise.
2702         * config/mips/iris6gld.h: Likewise.
2703         * config/mips/linux.h: Likewise.
2704         * config/mips/mips-protos.h: Update.
2705         * config/mips/mips.c (mips_select_section): Add align argument.
2706         * config/mips/mips.h (SELECT_SECTION): Remove.
2707         (TARGET_ASM_SELECT_SECTION): New.
2708
2709         * config/mmix/mmix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
2710         * config/mmix/mmix.c (mmix_select_section): Remove.
2711         (mmix_unique_section): Remove.
2712         * config/mmix/mmix-protos.h: Update.
2713
2714         * config/pa/pa.h (TARGET_ASM_SELECT_SECTION): New.
2715         (SELECT_SECTION): Move ...
2716         * config/pa/pa.c (pa_select_section): ... here.
2717         * config/pa/pa64-hpux.h (UNIQUE_SECTION): Remove.
2718
2719         * config/rs6000/rs6000.c (rs6000_elf_select_section): Rename
2720         from rs6000_select_section and make static.
2721         (rs6000_elf_unique_section): Similarly.
2722         (rs6000_xcoff_select_section): From xcoff.h.
2723         (rs6000_xcoff_unique_section): Likewise.
2724         * config/rs6000/rs6000-protos.h: Update.
2725         * config/rs6000/sysv4.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
2726         (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
2727         * config/rs6000/xcoff.h: Likewise.
2728
2729         * config/sparc/aout.h (TARGET_ASM_SELECT_SECTION): New.
2730         (SELECT_SECTION): Move ...
2731         * config/sparc/sparc.c (sparc_aout_select_section): ... here.
2732
2733         * config/v850/v850.h (SELECT_SECTION): Move ...
2734         * config/v850/v850.c (v850_select_section): ... here.
2735         (TARGET_ASM_SELECT_SECTION): New.
2736
2737         * config/vax/vms.h (SELECT_SECTION): Move ...
2738         * config/vax/vax.c (vms_select_section): ... here.
2739         (TARGET_ASM_SELECT_SECTION): New.
2740
2741         * doc/tm.texi: Update SELECT_SECTION and UNIQUE_SECTION docs
2742         for the target hooks.
2743
2744 2002-05-17  Nick Clifton  <nickc@cambridge.redhat.com>
2745
2746         * config/arm/arm.c (emit_multi_reg_push): Do not set
2747         RTX_FRAME_RELATED_P on the SEQUENCE.
2748
2749 2002-05-16  Richard Henderson  <rth@redhat.com>
2750
2751         * config/ia64/ia64.c (ia64_reorg): Rebuild bb_for_insn before
2752         splitting.  Use split_all_insns; update_life_info_in_dirty_blocks.
2753
2754 2002-05-16  Richard Henderson  <rth@redhat.com>
2755
2756         * config/alpha/unicosmk.h (TARGET_OS_CPP_BUILTINS): Fix typo.
2757
2758         * config/ia64/ia64.c (saveable_obstack): Do not declare.
2759
2760 2002-05-16  Richard Henderson  <rth@redhat.com>
2761
2762         * basic-block.h, bb-reorder.c, cfg.c, cfganal.c, cfgbuild.c,
2763         cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c, combine.c,
2764         conflict.c, df.c, df.h, dominance.c, final.c, flow.c, function.c,
2765         gcse.c, global.c, graph.c, haifa-sched.c, ifcvt.c, lcm.c,
2766         local-alloc.c, loop.c, predict.c, print-rtl.c, profile.c,
2767         recog.c, reg-stack.c, regclass.c, regmove.c, regrename.c,
2768         reload1.c, reorg.c, resource.c, sbitmap.c, sched-deps.c,
2769         sched-ebb.c, sched-rgn.c, sibcall.c, ssa-ccp.c, ssa-dce.c, ssa.c:
2770         Revert "Basic block renumbering removal", and two followup patches.
2771
2772 2002-05-16  Jason Thorpe  <thorpej@wasabisystems.com>
2773
2774         * lcm.c (optimize_mode_switching): Revert previous change.
2775
2776 2002-05-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2777
2778         * sched-rgn.c (schedule_insns): Initialize large_region_blocks
2779         with only extant block numbers.
2780
2781 2002-05-16  Jason Thorpe  <thorpej@wasabisystems.com>
2782
2783         * lcm.c (optimize_mode_switching): Fix typo.
2784
2785 2002-05-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2786
2787         * flow.c (calculate_global_regs_live): Queue blocks in program order.
2788
2789 2002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2790
2791         * doc/install.texi (Configuration): Document PWDCMD.
2792
2793 2002-05-16  Dale Johannesen  <dalej@apple.com>
2794
2795         * combine.c (cant_combine_insn_p):  Reenable combinations
2796         involving hard regs unless CLASS_LIKELY_SPILLED_P.
2797
2798 2002-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
2799
2800         * c-common.c (cb_register_builtins): Handle more built-ins
2801         here rather than in gcc.c specs.
2802         * gcc.c (cpp_unique_options): Move many built-ins to c-common.c.
2803         (cpp_options): Pass -O flags even when only preprocessing.
2804         * toplev.c (set_fast_math_flags): New prototype.
2805         (fast_math_flags_set_p): New.
2806         (set_no_fast_math_flags): Remove.
2807         (decode_f_option): Update.
2808         * toplev.h (set_fast_math_flags): Update.
2809         (fast_math_flags_set_p): New.
2810         (set_no_fast_math_flags): Remove.
2811 config:
2812         * c4x/c4x.c (c4x_override_options): Update.
2813
2814 2002-05-16  Zack Weinberg  <zack@codesourcery.com>
2815
2816         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, REGISTER_PREFIX):
2817         Default-define here.
2818         (builtin_define_with_value): Can now wrap the expansion in
2819         quotation marks if such is wanted.
2820         (cb_register_builtins): Update calls to builtin_define_with_value.
2821         Define __REGISTER_PREFIX__, __USER_LABEL_PREFIX__, and __VERSION__
2822         here.
2823         (c_common_init): Set options->stdc_0_in_system_headers.
2824         * c-lex.h: Update prototype of builtin_define_with_value.
2825         * cppdefault.h: Remove default definitions of USER_LABEL_PREFIX
2826         and REGISTER_PREFIX.
2827
2828         * cppinit.c (VERS, ULP, C, X): Kill.
2829         (builtin_array): Remove entries for __VERSION__,
2830         __USER_LABEL_PREFIX__, __REGISTER_PREFIX__, and
2831         __HAVE_BUILTIN_SETJMP__.  Make __STDC__ always a builtin, not
2832         a constant.
2833         (init_builtins): Kill off a bunch of now-dead code.
2834         (COMMAND_LINE_OPTIONS): Remove -fleading-underscore and
2835         -fno-leading-underscore.
2836         (cpp_handle_option): Remove code to set user_label_prefix.
2837         (cpp_post_options): Likewise.
2838
2839         * cpplib.h (struct cpp_options): Remove user_label_prefix.
2840         (stdc_0_in_system_headers): New.
2841         * cppmacro.c (builtin_macro): Check CPP_OPTION (pfile,
2842         stdc_0_in_system_headers) too to decide the value of __STDC__.
2843
2844         * tradcpp.c (user_label_prefix): Kill.
2845         (main): Remove code handling -f(no-)leading-underscore.
2846         (initialize_builtins): Don't define __REGISTER_PREFIX__
2847         or __USER_LABEL_PREFIX__.
2848         (install_value): Wrap compound statement in dummy loop so the
2849         macro works properly in an if statement.
2850
2851
2852 2002-05-16  Janis Johnson  <janis187@us.ibm.com>
2853
2854         * loop.h (struct loop_info): Add member has_prefetch.
2855         * loop.c (PREFETCH_CONDITIONAL): Change default to 1.
2856         (prescan_loop): Initialize has_prefetch.
2857         (struct prefetch_info): Change prefetch_in_loop and
2858         prefetch_before_loop from bit fields to ints.
2859         (emit_prefetch_instructions): Several small fixes.
2860         (check_dbra_loop): Don't reverse loop that uses prefetch.
2861
2862 2002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2863
2864         * Makefile.in: Allow for PWDCMD to override hardcoded pwd.
2865         * configure.in: Likewise.
2866         * fixinc/check.tpl: Likewise.
2867         * fixinc/fixinc.dgux: Likewise.
2868         * fixinc/fixinc.svr4: Likewise.
2869         * fixinc/fixinc.winnt: Likewise.
2870         * fixinc/fixincl.sh: Likewise.
2871         * fixproto: Likewise.
2872         * configure: Regenerate.
2873
2874 2002-05-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2875
2876         Basic block renumbering removal:
2877         * basic_block.h (struct basic_block_def): Renamed index to sindex,
2878         added prev_bb and next_bb fields.
2879         (n_basic_blocks): Renamed to num_basic_blocks.
2880         (last_basic_block): New, index of last basic block.
2881         (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
2882         traversing basic block chain.
2883         (BLOCK_NUM): index -> sindex.
2884         (create_basic_block_structure, create_basic_block): Declaration changed.
2885         (debug_num2bb): Declare.
2886         (expunge_block_nocompact): Declaration removed.
2887         (link_block, unlink_block, compact_blocks): Declare.
2888         * bb-reorder.c (make_reorder_chain, make_reorder_chain_1): Modified.
2889         * cfg.c (entry_exit_blocks): Initialize new fields.
2890         (clear_edges, alloc_block, expunge_block, cached_make_edge,
2891         redirect_edge_pred, dump_flow_info, dump_edge_info,
2892         alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges,
2893         free_aux_for_edges): Modified.
2894         (link_block, unlink_block, compact_blocks, debug_num2bb): New.
2895         (expunge_block_nocompact): Removed.
2896         * cfganal.c (can_fallthru, mark_dfs_back_edges, flow_call_edges_add,
2897         find_unreachable_blocks, create_edge_list, print_edge_list,
2898         verify_edge_list, flow_edge_list_print, remove_fake_successors,
2899         remove_fake_edges, flow_reverse_top_sort_order_compute,
2900         flow_depth_first_order_compute, flow_preorder_transversal_compute,
2901         flow_dfs_compute_reverse_init, flow_dfs_compute_reverse_add_bb,
2902         flow_dfs_compute_reverse_execute): Modified.
2903         * cfgbuild.c (make_edges, make_eh_edge, find_basic_blocks_1,
2904         find_basic_blocks, find_many_sub_basic_blocks, find_sub_basic_blocks):
2905         Modified.
2906         * cfgcleanup.c (try_simplify_condjump, try_forward_edges,
2907         merge_blocks_move_predecessor_nojumps,
2908         merge_blocks_move_successor_nojumps, merge_blocks,
2909         outgoing_edges_match, try_crossjump_to_edge, try_crossjump_bb,
2910         try_optimize_cfg, delete_unreachable_blocks, cleanup_cfg): Modified.
2911         * cfglayout.c (skip_insns_after_block, label_for_bb,
2912         record_effective_endpoints, scope_to_insns_finalize,
2913         fixup_reorder_chain, verify_insn_chain, cleanup_unconditional_jumps,
2914         fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge,
2915         cfg_layout_duplicate_bb): Modified.
2916         * cfgloop.c (flow_loops_cfg_dump, flow_loop_dump, flow_loops_dump,
2917         flow_loop_entry_edges_find, flow_loop_exit_edges_find,
2918         flow_loop_nodes_find, flow_loop_pre_header_find, flow_loop_scan,
2919         flow_loops_find, flow_loop_outside_edge_p): Modified.
2920         * cfgrtl.c (create_basic_block_structure, create_basic_block,
2921         flow_delete_block, compute_bb_for_insn, split_block,
2922         try_redirect_by_replacing_jump, redirect_edge_and_branch,
2923         force_nonfallthru_and_redirect, tidy_fallthru_edge,
2924         back_edge_of_syntactic_loop_p, split_edge, commit_one_edge_insertion,
2925         commit_edge_insertions, commit_edge_insertions_watch_calls,
2926         dump_bb, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
2927         purge_all_dead_edges): Modified.
2928         * combine.c (combine_instructions, set_nonzero_bits_and_sign_copies,
2929         try_combine, nonzero_bits, num_sign_bit_copies, get_last_value_validate,
2930         get_last_value, reg_dead_at_p, distribute_notes, distribute_links):
2931         Modified.
2932         * conflict.c (conflict_graph_compute): Modified.
2933         * df.c (FOR_ALL_BBS): Removed.
2934         (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
2935         df_modified_p, df_analyse, df_refs_unlink, df_insn_modify,
2936         df_dump, hybrid_search_bitmap, iterative_dataflow_sbitmap): Modified.
2937         * df.h (DF_BB_INFO, DF_REF_BBNO): Modified.
2938         * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
2939         calc_idoms, idoms_to_doms, calculate_dominance_info): Modified.
2940         * final.c (compute_alignments, final_scan_insn): Modified.
2941         * flow.c (verify_local_live_at_start, update_life_info,
2942         update_life_info_in_dirty_blocks, free_basic_block_vars,
2943         delete_noop_moves, calculate_global_regs_live,
2944         initialize_uninitialized_subregs, allocate_bb_life_data,
2945         regno_uninitialized, regno_clobbered_at_setjmp, mark_set_1,
2946         mark_used_reg, count_or_remove_death_notes): Modified.
2947         * function.c (thread_prologue_and_epilogue_insns): Modified.
2948         * gcse.c (struct null_pointer_info): Change typo of current_block
2949         to basic_block.
2950         (gcse_main, alloc_gcse_mem, compute_local_properties, compute_sets,
2951         oprs_unchanged_p, load_killed_in_block_p, record_last_reg_set_info,
2952         compute_hash_table, alloc_rd_mem, handle_rd_kill_set, compute_kill_rd,
2953         alloc_avail_expr_mem, expr_killed_p, compute_ae_kill,
2954         expr_reaches_here_p_work, expr_reaches_here_p, handle_avail_expr,
2955         classic_gcse, one_classic_gcse_pass, compute_transp, cprop,
2956         one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p_work,
2957         pre_expr_reaches_here_p, insert_insn_end_bb, pre_edge_insert,
2958         pre_delete, one_pre_gcse_pass, compute_transpout,
2959         invalidate_nonnull_info, delete_null_pointer_checks_1,
2960         free_code_hoist_mem, compute_code_hoist_vbeinout,
2961         hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
2962         compute_ld_motion_mems, store_ops_ok, find_moveable_store,
2963         compute_store_table, build_store_vectors, insert_insn_start_bb,
2964         insert_store, replace_store_insn, free_store_memory, store_motion):
2965         Modified.
2966         * global.c (global_alloc, global_conflicts, mark_elimination,
2967         build_insn_chain): Modified.
2968         * graph.c (print_rtl_graph_with_bb): Modified.
2969         * haifa-sched.c (sched_init): Modified.
2970         * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
2971         (find_if_block, find_cond_trap, find_if_case_1, find_if_case_2,
2972         if_convert): Modified.
2973         * lcm.c (compute_antinout_edge, compute_earliest, compute_laterin,
2974         compute_insert_delete, pre_edge_lcm, compute_available,
2975         compute_farthest, compute_nearerout, compute_rev_insert_delete,
2976         pre_edge_rev_lcm, make_preds_opaque, optimize_mode_switching):
2977         Modified.
2978         * local-alloc.c (alloc_qty, local_alloc, update_equiv_regs): Modified.
2979         * loop.c (loop_dump_aux): Modified.
2980         * predict.c (combine_predictions_for_insn, estimate_probability,
2981         last_basic_block_p, process_note_prediction, process_note_predictions,
2982         note_prediction_to_br_prob, propagate_freq, counts_to_freqs,
2983         expensive_function_p, estimate_bb_frequencies,
2984         compute_function_frequency): Modified.
2985         * print-rtl.c (print_rtx): Modified.
2986         * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX, instrument_edges,
2987         get_exec_counts, compute_branch_probabilities, compute_checksum,
2988         branch_prob, find_spanning_tree): Modified.
2989         * recog.c (split_all_insns, peephole2_optimize): Modified.
2990         * reg-stack.c (reg_to_stack, convert_regs_entry, compensate_edge,
2991         convert_regs_1, convert_regs_2, convert_regs): Modified.
2992         * regclass.c (scan_one_insn, regclass): Modified.
2993         * regmove.c (mark_flags_life_zones, regmove_optimize,
2994         combine_stack_adjustments): Modified.
2995         * regrename.c (regrename_optimize, copyprop_hardreg_forward): Modified.
2996         * reload1.c (reload, reload_combine, copy_eh_notes): Modified.
2997         * reorg.c (dbr_schedule): Modified.
2998         * resource.c (find_basic_block, init_resource_info): Modified.
2999         * sbitmap.c (sbitmap_intersection_of_succs,
3000         sbitmap_intersection_of_preds, sbitmap_union_of_succs,
3001         sbitmap_union_of_preds): Modified.
3002         * sched-deps.c (init_dependency_caches): Modified.
3003         * sched-ebb.c (schedule_ebbs): Modified.
3004         * sched-rgn.c (is_cfg_nonregular, build_control_flow, debug_regions,
3005         find_rgns, compute_trg_info, init_regions, schedule_insns): Modified.
3006         * sibcall.c (optimize_sibling_and_tail_recursive_call): Modified.
3007         * ssa-ccp.c (examine_flow_edges, optimize_unexecutable_edges,
3008         ssa_ccp_substitute_constants, ssa_ccp_df_delete_unreachable_insns,
3009         ssa_const_prop): Modified.
3010         * ssa-dce.c (set_control_dependent_block_to_edge_map_,
3011         find_control_dependence, find_pdom, ssa_eliminate_dead_code): Modified.
3012         * ssa.c (remove_phi_alternative, find_evaluations,
3013         compute_dominance_frontiers_1, compute_iterated_dominance_frontiers,
3014         insert_phi_node, rename_block, convert_to_ssa, eliminate_phi,
3015         make_regs_equivalent_over_bad_edges,
3016         make_equivalent_phi_alternatives_equival,
3017         compute_conservative_reg_partition,
3018         coalesce_regs_in_successor_phi_nodes, compute_coalesced_reg_partition,
3019         rename_equivalent_regs, convert_from_ssa, for_each_successor_phi):
3020         Modified.
3021
3022 2002-05-16  Mark Mitchell  <mark@codesourcery.com>
3023
3024         * cfgrtl.c (purge_dead_edges): Correct handling of EDGE_EH.
3025
3026 2002-05-16  Nick Clifton  <nickc@cambridge.redhat.com>
3027
3028         * config/arm/arm.c (arm_rtx_costs): Check for RTX being a
3029         SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
3030         (arm_adjust_cost): Check for RTX being a SYMBOL_REF before
3031         calling CONSTANT_POOL_ADDRESS_P.
3032         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Fix typo in code
3033         to decide whether to define __arm__ or __thumb.
3034         (THUMB_GO_IF_LEGITIMATE_ADDRESS): Check for RTX being a
3035         SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
3036
3037 2002-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
3038
3039         * config/arc/arc.h (CPP_PREDEFINES): Remove.
3040         (CPP_SPEC): Update.
3041         (TARGET_CPU_CPP_BUILTINS): New.
3042
3043 2002-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
3044
3045         * cpphash.h (cpp_macro): Move here, and make expansion a union.
3046         * cppmacro.c (cpp_macro): Remove.
3047         (enter_macro_context, replace_args, warn_of_redefinition,
3048         _cpp_create_definition, cpp_macro_definition): Update.
3049
3050 2002-05-16  Jason Merrill  <jason@redhat.com>
3051
3052         * config/mips/mips.c (mips_output_external): Don't do sdata
3053         optimization for a variable with DECL_COMDAT set.
3054
3055 2002-05-15  Aldy Hernandez  <aldyh@redhat.com>
3056
3057         * config/rs6000/altivec.h: Cleanups for tighter typechecking.
3058         Cleanups for accepting modifiers on pointers.
3059         Fix predicate typos.
3060         Allow long pointers as well as int pointers.
3061
3062 2002-05-15  Richard Henderson  <rth@redhat.com>
3063
3064         * varasm.c (merge_weak): Remove special case for extern and common.
3065
3066 2002-05-15  Matt Hiller  <hiller@redhat.com>
3067
3068         * testsuite/gcc.c-torture/compile/20000804-1.x: Don't return 1 if
3069         XFAILing.
3070         * testsuite/gcc.c-torture/compile/20001226-1.x: Ditto.
3071         * testsuite/gcc.c-torture/compile/920520-1.x: Ditto.
3072         * testsuite/gcc.c-torture/compile/mipscop-1.x: XFAIL for now.
3073         * testsuite/gcc.c-torture/compile/mipscop-2.x: Ditto.
3074         * testsuite/gcc.c-torture/compile/mipscop-3.x: Ditto.
3075         * testsuite/gcc.c-torture/compile/mipscop-4.x: Ditto.
3076
3077 2002-05-15  Aldy Hernandez  <aldyh@redhat.com>
3078
3079         * reload1.c (forget_old_reloads_1): Do not use subreg offset.
3080
3081 2002-05-15  Aldy Hernandez  <aldyh@redhat.com>
3082
3083         * config/rs6000/rs6000.md ("altivec_mtvscr"): Set VSCR register.
3084         ("altivec_mfvscr"): Read from VSCR.
3085
3086         Add vscr sets for the following insns: altivec_vctuxs,
3087         altivec_vaddubs, altivec_vaddsbs, altivec_vadduhs,
3088         altivec_vaddshs, altivec_vadduws, altivec_vaddsws, altivec_vctsxs,
3089         altivec_vmhaddshs, altivec_vmhraddshs, altivec_vmsumuhs,
3090         altivec_vmsumshs, altivec_vpkuhss, altivec_vpkshss,
3091         altivec_vpkuwss, altivec_vpkswss, altivec_vpkuhus,
3092         altivec_vpkshus, altivec_vpkuwus, altivec_vpkswus,
3093         altivec_vsububs, altivec_vsubsbs, altivec_vsubuhs,
3094         altivec_vsubshs, altivec_vsubuws, altivec_vsubsws,
3095         altivec_vsum4ubs, altivec_vsum4sbs, altivec_vsum4shs,
3096         altivec_vsum2sws, altivec_vsumsws.
3097
3098         * config/rs6000/rs6000.h: Add VSCR fixed register.
3099         (CALL_REALLY_USED_REGISTERS): Add vscr.
3100         (CALL_USED_REGISTERS): Same.
3101         (FIXED_REGISTERS): Same.
3102         (REG_ALLOC_ORDER): Same.
3103         (reg_class): Add VSCR_REGS.
3104         (REG_CLASS_NAMES): Same.
3105         (REG_CLASS_CONTENTS): Same.
3106         (VSCR_REGNO): New.
3107         (REGISTER_NAMES): Add vscr.
3108         (DEBUG_REGISTER_NAMES): Same.
3109         (ADDITIONAL_REGISTER_NAMES): Same.
3110         (FIRST_PSEUDO_REGISTER): Increment.
3111         (CONDITIONAL_REGISTER_USAGE): Set VSCR as a global register.
3112
3113 2002-05-15  Jakub Jelinek  <jakub@redhat.com>
3114
3115         * fold-const.c (fold): Fix a typo.
3116
3117 2002-05-15  Eric Botcazou  <ebotcazou@multimania.com>
3118
3119         * fold-const.c (fold) [LT_EXPR]: Move the transformation of a
3120         comparison against the highest or lowest integer value before
3121         the 'X >= CST to X > (CST - 1)' and 'X < CST to X <= (CST - 1)'
3122         transformation and that of an unsigned comparison against 0
3123         right after.
3124
3125 2002-05-15  Richard Henderson  <rth@redhat.com>
3126
3127         * varasm.c (merge_weak): Error for any weakening after definition.
3128         Adjust weakening after use warning to catch more cases.
3129         (assemble_alias): Set TREE_USED and TREE_ASM_WRITTEN consistently.
3130         * config/alpha/alpha.c (alpha_encode_section_info): Do not abort.
3131
3132 Wed May 15 10:38:27 CEST 2002  Jan Hubicka  <jh@suse.cz>
3133
3134         * invoke.texi (-malign-double): Re-add lost warning.
3135
3136         * i386-protos.h (x86_output_mi_thunk): Declare.
3137         * unix.h (ASM_OUTPUT_MI_THUNK): Move offline to ...
3138         * i386.c (x86_output_mi_thunk): ... here; handle 64bits.
3139
3140         * dwarf2out.c (output_call_frame_info): Do not skip unwind info
3141         when flag_asynchronous_unwind_tables is set.
3142
3143         * flags.h (flag_reorder_functions): Declare.
3144         * function.c (prepare_function_start): Initialize frequnecy.
3145         * params.def (HOT_BB_COUNT_FRACTION, HOT_BB_FREQUENCY_FRACTION): New.
3146         * Makefile.in (predict.o): Add dependency on target.h and params.h
3147         * defaults.h (HOT_TEXT_SECTION_NAME,
3148         UNLIKELY_EXECUTED_TEXT_SECTION_NAME): New macros.
3149         * predict.c (choose_function_section): New function.
3150         (estimate_bb_frequencies): Use it.
3151         * toplev.c (flag_reorder_functions): New global variable.
3152         (lang_independent_options): New.
3153         (parse_options_and_default_flags): Set.
3154         * varasm.c (assemble_start_function): Bypass functdion alignment
3155         for never executed functions.
3156         * invoke.texi (-freorder-blocks, -freorder-functions): Document.
3157         (param hot-bb-count-fraction, hot-bb-frequency-fraction): New.
3158         * tm.texi (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
3159         Document.
3160
3161         Thu Jan  3 21:52:09 CET 2002  Jan Hubicka  <jh@suse.cz>
3162
3163         * predict.c: Inlude profile.h
3164         (MIN_COUNT): Rename to MIN_COUNT_FRACTION
3165         (maybe_hot_bb_p, probably_cold_bb_p, probably_never_executed_bb_p):
3166         Use the information about maximal counter in the program.
3167
3168         Thu Dec 20 22:14:00 CET 2001  Jan Hubicka  <jh@suse.cz>
3169
3170         * basic-block.h (maybe_hot_bb_p, probably_cold_bb_p,
3171         probably_never_executed_bb_p): New functions.
3172         * cfgcleanup.c (outgoing_edges_match): Use them.
3173         * predict.c (MIN_COUNT, MIN_FREQUENCY): New macros.
3174         (maybe_hot_bb_p, probably_cold_bb_p,
3175         probably_never_executed_bb_p): New functions.
3176
3177         * function.h (function): Add new field function_frequency.
3178         * predict.c (compute_function_frequency): New function.
3179         (estimate_probability): Call it.
3180
3181 2002-03-09  Jakub Jelinek  <jakub@redhat.com>
3182
3183         PR optimization/5172, optimization/5200
3184         * gcse.c (gcse_main): Disable store_motion.
3185
3186 2002-05-14  Zack Weinberg  <zack@codesourcery.com>
3187
3188         * c-parse.in (MODIFIED_WCHAR_TYPE): New macro.
3189         (c_common_nodes_and_builtins): Use it.
3190         (builtin_define_with_value): New function.
3191         (cb_register_builtins): Define __SIZE_TYPE__,
3192         __PTRDIFF_TYPE__, __WCHAR_TYPE__, and __WINT_TYPE__ here,
3193         using builtin_define_with_value.  Use consistent notation when
3194         defining __GXX_WEAK__.
3195         (WCHAR_TYPE_SIZE): Don't redefine.
3196         (combine_strings): Don't use WCHAR_TYPE_SIZE.
3197
3198         * cppdefault.h: Don't provide defaults for SIZE_TYPE,
3199         PTRDIFF_TYPE, WCHAR_TYPE, or WINT_TYPE.
3200         * cppinit.c (builtin_array): Remove entries for __SIZE_TYPE__ etc.
3201         * tradcpp.c (initialize_builtins): Likewise.
3202         * gcc.c (cpp_unique_options): Don't muck with __WCHAR_TYPE__.
3203
3204         * c-lex.h (builtin_define_with_value): Prototype.
3205         * system.h: Poison NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_WCHAR_TYPE,
3206         NO_BUILTIN_PTRDIFF_TYPE, and NO_BUILTIN_WINT_TYPE.
3207         * doc/tm.texi: Remove mention of NO_BUILTIN_SIZE_TYPE etc.
3208
3209         * config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
3210         config/ia64/ia64.h, config/mips/dec-osf1.h, config/mips/iris6.h,
3211         config/mips/linux.h, config/mips/mips.h, config/mips/netbsd.h,
3212         config/mips/osfrose.h, config/mips/sni-svr4.h, config/rs6000/aix51.h,
3213         config/s390/linux.h, config/sh/sh.h, config/sh/sh64.h,
3214         config/sparc/linux64.h, config/sparc/netbsd-elf.h,
3215         config/sparc/sol2-bi.h, config/sparc/sparc.h:
3216         Do not define NO_BUILTIN_SIZE_TYPE etc.  Remove all references
3217         to __SIZE_TYPE__ etc from all spec strings. When this makes
3218         extra specs empty, delete them.
3219
3220 2002-05-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3221
3222         * pa.c (override_options): Override TARGET_JUMP_IN_DELAY when scheduling
3223         for PA8000 or generating dwarf2 call frame information.
3224         (output_call): Remove DO_FRAME_NOTES check from return pointer
3225         optimization.
3226         (following_call): Return 0 when scheduling for PA8000 or generating
3227         dwarf2 call frame information.  Revise comment.
3228
3229 2002-05-14  Neil Booth  <neil@daikokuya.demon.co.uk>
3230
3231 config/alpha:
3232         * alpha.h (TARGET_CPU_CPP_BUILTINS): Define __IEEE_FP
3233         and __IEEE_FP_INEXACT as appropriate.
3234         (CPLUSPLUS_CPP_SPEC): Don't define __cplusplus.
3235         (CPP_SPEC): Remove ieee defines.
3236         * freebsd.h, netbsd.h: Remove ieee defines and cpp_cpu.
3237
3238 2002-05-14  Richard Henderson  <rth@redhat.com>
3239
3240         * config/i386/i386.c (ix86_save_reg): Make regno unsigned.
3241         (ix86_safe_length, ix86_safe_length_prefix, ix86_safe_memory): Kill.
3242
3243 2002-05-14  Neil Booth  <neil@daikokuya.demon.co.uk>
3244
3245         * arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define.
3246         (CPP_SPEC): Update.
3247         (CPP_APCS_PC_SPEC, CPP_APCS_PC_DEFAULT_SPEC,
3248         CPP_FLOAT_SPEC, CPP_FLOAT_DEFAULT_SPEC, CPP_ENDIAN_SPEC,
3249         CPP_ENDIAN_DEFAULT_SPEC, CPP_INTERWORK_DEFAULT_SPEC,
3250         CPP_INTERWORK_SPEC, CPP_PREDEFINES): Remove.
3251         (EXTRA_SPECS): Update.
3252         * arm/conix-elf.h, arm/linux-elf.h, arm/netbsd.h, arm/riscix.h,
3253         arm/riscix1-1.h, arm/rtems-elf.h, arm/semiaof.h, arm/unknown-elf.h,
3254         arm/unknown-elf-oabi.h, arm/vxarm.h: Remove CPP_PREDEFINES and
3255         define TARGET_OS_CPP_BUILTINS if necessary.
3256
3257 2002-05-14  Neil Booth  <neil@daikokuya.demon.co.uk>
3258
3259         * gcc.c (cpp_options): Must pass -m* and -f* options
3260         to the front end even when only preprocessing.
3261         (cc1_options): Remove redundant -lang-c.
3262         * tradcpp.c (main): Ignore -m options.
3263 objc:
3264         * lang-specs.h: Similarly.
3265
3266 2002-05-14  Vladimir Makarov  <vmakarov@redhat.com>
3267
3268         * genautomata.c (transform_3): Add code for transformation
3269         `(A,B,...)+C -> A+C,B,...'.
3270
3271 Tue May 14 12:48:22 CEST 2002  Jan Hubicka  <jh@suse.cz>
3272
3273         * final.c (end_final): Do not output profile_arcs constructor, when
3274         no functions are instrumented.
3275
3276 Tue May 14 12:38:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
3277
3278         * i386.md (testsi to testqi_zext_1 splitter): Fix typo.
3279
3280 2002-05-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3281
3282         * doc/install.texi: Remove special markup originally required for
3283         HTML generation with texi2html.
3284
3285 2002-05-14  Andreas Schwab  <schwab@suse.de>
3286
3287         * config/ia64/sysv4.h (DO_SELECT_SECTION): Factored out of
3288         SELECT_SECTION.
3289         (UNIQUE_SECTION): Define to get small data correctly.
3290
3291         * varasm.c (resolve_unique_section): Add third parameter
3292         flag_function_or_data_sections and use it instead of
3293         flag_function_sections.
3294         (assemble_start_function): Pass flag_function_sections.
3295         (asm_emit_uninitialised): Pass flag_data_sections.
3296         (assemble_variable): Likewise.
3297
3298 2002-05-14  Richard Henderson  <rth@redhat.com>
3299
3300         * config/i386/i386.md: Use define_constants for unspec numbers.
3301         * config/i386/i386.c: Likewise.
3302
3303 2002-05-13  Neil Booth  <neil@daikokuya.demon.co.uk>
3304
3305         * doc/contrib.texi: Update my entry.
3306
3307 2002-05-13  Mark Mitchell  <mark@codesourcery.com>
3308
3309         * fixinc/inclhack.def (winidss_valist): Limit applicability.
3310         * fixinc/fixincl.x: Regenerated.
3311         * fixinc/tests/base/math.h: Update.
3312         * fixinc/tests/base/testing.h: Likewise.
3313
3314 2002-05-13  Zack Weinberg  <zack@codesourcery.com>
3315
3316         * genattr.c (gen_attr): Don't emit a comma after the last
3317         enumerator.
3318
3319 2002-05-13  Richard Henderson  <rth@redhat.com>
3320
3321         * cfgrtl.c (purge_dead_edges): Handle abnormal call edges created
3322         by non-local gotos.
3323         * recog.c (peephole2_optimize): Likewise.
3324
3325 2002-05-13  Andris Pavenis  <pavenis@lanet.lv>
3326
3327         * cppfiles.c (open_file): Change mode (DJGPP only) of redirected
3328         input to O_BINARY.
3329
3330 2002-05-13  Jeffrey A Law  (law@redhat.com)
3331
3332         * flow.c (invalidate_mems_from_autoinc): Rewrite to use for_each_rtx.
3333         Update prototype and callers.
3334         (propagate_one_insn): Stack pointer adjustments kill MEMs on
3335         the mem_set_list which reference the stack pointer, as do
3336         calls to constant functions as they may clobber outgoing
3337         argument space.
3338
3339         * i386.c (ia32_multipass_dfa_lookahead): Prototype.
3340
3341         * i386.c (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
3342         (ia32_multipass_dfa_lookahead): New function.
3343
3344 2002-05-13  Neil Booth  <neil@daikokuya.demon.co.uk>
3345
3346         * gcc.c (SWITCH_TAKES_ARG): Remove 'V'.
3347         (translate_options): Remove 'V'.
3348         (process_command): Similarly.
3349 doc:
3350         * invoke.texi: Remove documentation of 'V'.
3351
3352 2002-05-13  Ulrich Weigand  <uweigand@de.ibm.com>
3353
3354         * config/s390/linux.h: Revert 2002-04-22 changes.
3355
3356 2002-05-13  Scott Marks <SMarks@mobile-mind.com>
3357
3358         * config/fr30/fr30.md: Only allow splits of immediate loads
3359         if the destination is a register.
3360
3361 2002-05-13  Neil Booth  <neil@daikokuya.demon.co.uk>
3362
3363         * Makefile.in (c-common.o, cppinit.o): Update.
3364         * c-common.c: Include except.h.
3365         (cb_register_builtins): Handle __USING_SJLJ_EXCEPTIONS__.
3366         Call TARGET_CPU_CPP_BUILTINS and TARGET_OS_CPP_BUILTINS.
3367         * cppinit.c (__USING_SJLJ_EXCEPTIONS): Not here.
3368         * defaults.h (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS,
3369         CPP_PREDEFINES): Handle here.
3370 config:
3371         * alpha/alpha-interix.h, alpha/gnu.h, alpha/linux.h,
3372         alpha/netbsd.h, alpha/openbsd.h, alpha/osf.h, alpha/unicosmk.h,
3373         alpha/vms.h, alpha/vxworks.h: Remove CPP_PREDEFINES, define
3374         TARGET_OS_CPP_BUILTINS.
3375         * alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Define.
3376         (CPP_SPEC, EXTRA_SPECS): Update.
3377         (CPP_AM_BWX_SPEC, CPP_AM_MAX_SPEC, CPP_AM_FIX_SPEC,
3378         CPP_AM_CIX_SPEC, CPP_IM_EV4_SPEC, CPP_IM_EV5_SPEC,
3379         CPP_IM_EV6_SPEC, CPP_CPU_EV4_SPEC, CPP_CPU_EV5_SPEC,
3380         CPP_CPU_EV56_SPEC, CPP_CPU_PCA56_SPEC, CPP_CPU_EV6_SPEC,
3381         CPP_CPU_EV67_SPEC, CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Remove.
3382 doc:
3383         * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Remove.
3384         (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS): Define.
3385
3386 2002-05-12  Zack Weinberg  <zack@codesourcery.com>
3387
3388         * emit-rtl.c (global_rtl): Update comment.
3389         (const_double_htab, const_double_htab_hash,
3390         const_double_htab_hash, lookup_const_double): New.
3391         (const_int_htab_hash, const_int_htab_eq): Remove const
3392         qualifiers, which cause tons of warnings with RTL checking on.
3393         (gen_rtx_CONST_DOUBLE): Deleted.
3394         (const_double_from_real_value): New function - bears some
3395         resemblance to the former immed_real_const_1.
3396         (immed_double_const): Moved here from varasm.c and
3397         simplified.
3398         (gen_rtx_REG): Make REGNO unsigned to squelch warnings.
3399         (gen_rtx_SUBREG): Use gen_rtx_raw_SUBREG.
3400         (gen_rtx): Use immed_double_const.
3401         (init_emit_once): Initialize the const_double_htab.  Use
3402         REAL_VALUE_FROM_INT where possible.  Can now use
3403         CONST_DOUBLE_FROM_REAL_VALUE when setting up const_tiny_rtx.
3404         * varasm.c (struct varasm_status): Remove x_const_double_chain.
3405         (const_double_chain, immed_real_const, clear_const_double_mem): Delete.
3406         (immed_double_const, immed_real_const_1): Moved to emit-rtl.c.
3407         (init_varasm_status, mark_varasm_status): Don't touch
3408         x_const_double_chain.
3409
3410         * output.h: Delete prototype for clear_const_double_mem.
3411         * real.h: Make REAL_VALUE_TYPE a macro again.  Remove leading
3412         '0' slot from all CONST_DOUBLE_FORMAT definitions.  Prototype
3413         const_double_from_real_value, not immed_real_const_1, and use
3414         it to define CONST_DOUBLE_FROM_REAL_VALUE.  Define new macro
3415         CONST_DOUBLE_ATOF.
3416         * rtl.h (CONST_DOUBLE_CHAIN): Kill.
3417         (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Adjust.
3418         (gen_rtx_CONST_DOUBLE, immed_real_const): Delete prototypes.
3419         (gen_rtx_REG): Second arg is unsigned.
3420
3421         * gengenrtl.c (special_rtx): Take out CONST_DOUBLE.
3422         (excluded_rtx): New, return true for CONST_DOUBLE.
3423         (genmacro): Write nothing for excluded codes.
3424         * combine.c (combine_simplify_rtx): Use CONST_DOUBLE_FROM_REAL_VALUE.
3425         * expr.c (expand_expr): Likewise.
3426         * ggc-common.c (ggc_mark_rtx_children_1): Don't mark the
3427         CONST_DOUBLE_CHAIN.
3428         * toplev.c (rest_of_compilation): Don't call
3429         clear_const_double_mem.
3430
3431         * config/rs6000/rs6000.c (rs6000_float_const): Delete.
3432         (rs6000_hash_constant): Remove CONST_DOUBLE special case.
3433         (toc_hash_eq): Remove CONST_DOUBLE and LABEL_REF special cases.
3434         * config/rs6000/rs6000-protos.h: Don't prototype rs6000_float_const.
3435         * config/c4x/c4x.md, config/rs6000/rs6000.md: Use CONST_DOUBLE_ATOF.
3436         * config/dsp16xx/dsp16xx.md, config/mips/mips.md,
3437         config/pa/pa.md: Use CONST_DOUBLE_FROM_REAL_VALUE.
3438         * config/sparc/sparc.md, config/sparc/sparc.c: Use immed_double_const.
3439
3440 2002-05-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3441
3442         * mips/iris6.h (CPLUSPLUS_CPP_SPEC): Define.
3443
3444 2002-05-12  Tom Tromey  <tromey@redhat.com>
3445
3446         * tree.h (copy_node): Don't mention TREE_PERMANENT.
3447
3448 2002-05-12  Zack Weinberg  <zack@codesourcery.com>
3449
3450         * gensupport.c (n_comma_elts): Moved here from genattrtab.c.
3451         (scan_comma_elt): New function.  Accepts whitespace in comma lists.
3452         * gensupport.h: Prototype new routines.
3453         * genattr.c (gen_attr): Use scan_comma_elt.  Avoid unnecessary
3454         use of printf.
3455         * genattrtab.c (n_comma_elts): Moved to gensupport.c.
3456         (next_comma_elt): Use scan_comma_elt.
3457
3458         * config/i386/i386.md: Use new attribute notation to break up
3459         long lines in define_attr forms.
3460
3461 2002-05-12  Richard Henderson  <rth@redhat.com>
3462
3463         * expr.c (compress_float_constant): New.
3464         (emit_move_insn): Use it.
3465         (float_extend_from_mem): New.
3466         (init_expr_once): Initialize it.
3467         * real.c (exact_real_truncate): New.
3468
3469         * config/i386/i386.h (CONST_COSTS): Assume CONST_DOUBLE gets
3470         dropped into memory; penalize for size.
3471         (RTX_COSTS): FLOAT_EXTEND is free.
3472         * config/i386/i386.md (extendsfdf2, extendsfxf2, extendsftf2,
3473         extenddfxf2, extenddftf2): Accept constants and drop them to memory.
3474
3475 2002-05-12  Richard Henderson  <rth@redhat.com>
3476
3477         * profile.h (profile_info): Add missing extern to declaration.
3478         * profile.c (profile_info): Define it.
3479
3480 2002-05-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3481
3482         * pa/pa32-regs.h (HARD_REGNO_MODE_OK): Revise sets of general registers
3483         used for DImode and TImode.
3484
3485 2002-05-11  Neil Booth  <neil@daikokuya.demon.co.uk>
3486
3487         * cpplex.c (_cpp_lex_direct): When in a directive at EOF
3488         fake a newline.
3489
3490 2002-05-11  Zack Weinberg  <zack@codesourcery.com>
3491
3492         * config/rs6000/rs6000.c (rs6000_default_long_calls,
3493         rs6000_longcall_switch, rs6000_set_default_type_attributes): New.
3494         (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Set it.
3495         (rs6000_override_options): Handle -m(no-)longcall.
3496         (init_cumulative_args, output_mi_thunk): Check for both
3497         longcall and shortcall attributes on the function.
3498         (rs6000_attribute_table): Add "shortcall".
3499         (rs6000_handle_longcall_attribute): Update comment.
3500         (altivec_expand_unop_builtin, altivec_expand_binop_builtin,
3501         altivec_expand_ternop_builtin): Add default clauses to switches
3502         to silence warnings.
3503
3504         * config/rs6000/rs6000.h: Declare rs6000_longcall_switch and
3505         rs6000_default_long_calls.  Define REGISTER_TARGET_PRAGMAS.
3506         (TARGET_OPTIONS): Add longcall and no-longcall.
3507
3508         * config/rs6000/rs6000.md (call_nonlocal_sysv,
3509         call_value_nonlocal_sysv): Split by alternatives.  One pair
3510         accepts only SYMBOL_REFs and rejects if CALL_LONG is set in
3511         the call cookie.  The other pair accepts only LR/CTR and has
3512         no restriction.
3513
3514         * config.gcc (rs6000-*-* | powerpc*-*-* trailer stanza):
3515         Set c_target_objs, cxx_target_objs; add t-rs6000-c-rule to
3516         tmake_file.
3517         * config/rs6000/rs6000-c.c: New file.
3518         * config/rs6000/t-rs6000-c-rule: New file.
3519         * config/rs6000/rs6000-protos.c: Add multiple-include guard.
3520         Prototype rs6000_pragma_longcall.
3521
3522         * doc/extend.texi: Document shortcall attribute.
3523         * doc/invoke.texi: Document -mlongcall, -mno-longcall.
3524
3525 2002-05-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3526
3527         * reorg.c (dbr_schedule): Remove unnecessary test.
3528
3529 Sat May 11 14:34:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
3530
3531         * i386.md (testsi to testqi spliters): New.
3532
3533         2002-01-14  Josef Zlomek  <zlomek@matfyz.cz>
3534
3535         cfg.c (dump_edge_info): added dumping of EDGE_CAN_FALLTHRU.
3536
3537         Wed Jan  9 2002  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
3538
3539         * basic-block.h: New flag EDGE_CAN_FALLTHRU
3540         * cfganal.c (set_edge_can_fallthru_flag): New function; marks the edges
3541         that can be made fallthru.
3542
3543         Mon Nov 12 16:25:53 CET 2001  Jan Hubicka  <jh@suse.cz>
3544
3545         * cfglayout.c (cleanup_unconditional_jumps): New static function.
3546         (cfg_layout_initialize): Use it.
3547
3548 2002-05-11  Marek Michalkiewicz  <marekm@amelek.gda.pl>
3549
3550         * config/avr/avr.c (avr_mcu_types): Update supported devices.
3551         * config/avr/avr.h (CPP_SPEC, LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
3552         * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
3553
3554 2002-05-11  Kazu Hirata  <kazu@cs.umass.edu>
3555
3556         * dbxout.c: Fix formatting.
3557         * dependence.c: Likewise.
3558         * df.c: Likewise.
3559         * diagnostic.c: Likewise.
3560         * doloop.c: Likewise.
3561         * dominance.c: Likewise.
3562         * doschk.c: Likewise.
3563         * dwarf2asm.c: Likewise.
3564         * dwarf2out.c: Likewise.
3565         * dwarfout.c: Likewise.
3566
3567 2002-05-10  Richard Henderson  <rth@redhat.com>
3568
3569         * final.c (end_final): Tidy whitespace.  Don't honor flag_pack_struct.
3570         Convert integers constants as needed.  Replace "nwords" field with
3571         "sizeof_bb".
3572         (final): Save profile data if cfun->arc_profile, not profile_arc_flag.
3573         * function.h: Fix typo in comment.
3574         * libgcc2.c (struct bb): Replace "nwords" with "sizeof_bb".
3575
3576 2002-05-10  Roger Sayle  <roger@eyesopen.com>
3577
3578         * fold-const.c (build_range_check): Optimize (c>=1) && (c<=127)
3579         into the equivalent (signed char)c > 0.
3580
3581 2002-05-10  Janis Johnson  <janis187@us.ibm.com>
3582
3583         * loop.c: (PREFETCH_EXTREME_DIFFERENCE, PREFETCH_BEFORE_LOOP): New.
3584         (PREFETCH_CONDITIONAL): Renamed from PREFETCH_NOT_ALWAYS.
3585         (struct prefetch_info): Fix spelling of member bytes_accessed.
3586         (emit_prefetch_instructions): Make dump messages more regular;
3587         restructure code to add more dump messages; use new macros for
3588         heuristics. (There are no code generation changes in any of this).
3589
3590 2002-05-10  David S. Miller  <davem@redhat.com>
3591
3592         * rtl.h (INSN_ANNULLED_BRANCH_P): Accept INSN too, update comment.
3593         (struct rtx_def): Update unchanging flag comment.
3594         * doc/rtl.texi (INSN_ANNULLED_BRANCH_P): Update description.
3595         * reorg.c (delete_from_delay_list): INSN_ANNULLED_BRANCH_P needs
3596         to be handled to INSN too.
3597         (dbr_schedule): Likewise.
3598         * resource.c (next_insn_no_annul): Likewise.
3599
3600         * cse.c (rtx_cost): Remove multiplication by power of 2 special
3601         casing.
3602
3603 2002-05-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3604
3605         * doc/install.texi (Specific, *-*-solaris2*): Update passus on
3606         setting CONFIG_SHELL to /bin/ksh and remove alternate trick to
3607         (possibly) work around broken /bin/sh.
3608
3609 2002-05-10  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3610
3611         * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Use mabi=64 and
3612         . as N64/N32 libgcc_s.so subdirs.
3613
3614 2002-05-10  David S. Miller  <davem@redhat.com>
3615
3616         * config/sparc/sparc.md: Use define_constants for unspec numbers.
3617
3618         * rtl.h (struct rtx_def): Document unchanging and in_struct flags
3619         more accurately.
3620         (INSN_ANNULLED_BRANCH_P): Only valid for JUMP_INSN and CALL_INSN, fix
3621         comment.
3622         (INSN_FROM_TARGET_P): Valid also for CALL_INSN.
3623         * doc/rtl.texi: Document these macros more accurately.
3624         * recog.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P for
3625         JUMP_INSNs and CALL_INSNs.
3626         * resource.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P
3627         or INSN_FROM_TARGET_P if the code is appropriate.
3628
3629 2002-05-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
3630
3631         * config/avr/avr.c (print_operand): Check that addr is a SYMBOL_REF
3632         before using SYMBOL_REF_FLAG (addr).
3633
3634         * config/avr/avr-protos.h (avr_io_address_p): Declare.
3635         * config/avr/avr.c (io_address_p): Rename to avr_io_address_p.
3636         Make non-static.  Update all callers.
3637         * config/avr/avr.md (*cbi, *sbi, *sbix_branch, *sbix_branch_bit7):
3638         New insns to clear/set/test a single bit in I/O address space.
3639
3640 2002-05-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3641
3642         * rtl.h (ENABLE_RTL_FLAG_CHECKING): Also check for gcc >= 2.7.
3643
3644 2002-05-09  Neil Booth  <neil@daikokuya.demon.co.uk>
3645
3646         * Makefile.in: Update.
3647         * c-common.c (flag_iso, flag_undef, cb_register_builtins,
3648         builtin_define_std): New.
3649         (c_common_init): Register CPP builtins callback.
3650         * c-common.h (flag_iso, flag_undef): New.
3651         * c-decl.c (c_decode_option): Set flag_iso and flag_undef.
3652         * c-lex.c: Don't include target.h.
3653         (cb_register_builtins): Move to c-common.c.
3654         (init_c_lex): Don't register hook here.
3655         * c-lex.h (builtin_define, builtin_assert, builtin_define_std): New.
3656         (cpp_define, cpp_assert): Remove.
3657         * gcc.c (cc1_options): Pass -undef to front end.
3658         * target-def.h (TARGET_REGISTER_CPP_BUILTINS): Remove.
3659         (TARGET_INITIALIZER): Update.
3660         * target.h (struct cpp_reader): Don't predeclare.
3661         (struct gcc_target): Remove cpp builtin hook.
3662         * tree.c (default_register_cpp_builtins): Remove.
3663 doc:
3664         * tm.texi: Update.
3665
3666 2002-05-09  Neil Booth  <neil@daikokuya.demon.co.uk>
3667
3668         * cppexp.c (_cpp_expand_op_stack): Set op_limit.
3669
3670 2002-05-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3671
3672         * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Define.
3673         (SHLIB_LINK, SHLIB_INSTALL): Adjust.
3674
3675 2002-05-09  Jakub Jelinek  <jakub@redhat.com>
3676
3677         * config/sparc/t-linux64 (SHLIB_MAPFILES): Set.
3678         * config/sparc/libgcc-sparc-glibc.ver: New file.
3679         * config/cris/t-linux (SHLIB_MAPFILES): Remove.
3680         * mklibgcc.in: Preprocess SHLIB_MAPFILES with ml flags.
3681
3682 2002-05-09  Jakub Jelinek  <jakub@redhat.com>
3683
3684         PR target/6429
3685         * Makefile.in (libgcc.mk): Pass SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
3686         * mklibgcc.in: If SHLIB_SLIBDIR_SUFFIXES is defined, put libgcc_s
3687         shared libraries into multilib dirs, with SONAME libgcc_s.so.1 for
3688         base multilibs.
3689         * config/t-slibgcc-elf-ver (SHLIB_LINK): Adjust for the above.
3690         * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
3691         * config/sparc/t-linux64 (SHLIB_SLIBDIR_SUFFIXES): Define.
3692         * config/sparc/t-sol2-64 (SHLIB_SLIBDIR_SUFFIXES): Define.
3693
3694 2002-05-09  Richard Henderson  <rth@redhat.com>
3695
3696         * config/ia64/ia64.md: Use define_constants for unspec numbers.
3697         * config/ia64/ia64.c: Likewise.
3698
3699 2002-05-09  Richard Sandiford  <rsandifo@redhat.com>
3700
3701         * config/mips/mips.c (mips_add_large_offset_to_sp): Remove FILE arg.
3702         (save_restore_insns): Likewise.
3703         (mips_expand_prologue, mips_expand_epilogue): Update callers.
3704         (highpart_shift_operator): Attach ATTRIBUTE_UNUSED to mode argument.
3705
3706 Thu May  9 11:50:09 2002  Jeffrey A Law  (law@redhat.com)
3707
3708         * athlon.md, k6.md, pentium.md, ppro.md): New files.
3709         * i386.md: Move scheduling information into new files.
3710
3711         * i386.md (type attribute): Add "rotate" for rotate insns.
3712         (rotate insns): Set type to "rotate".
3713         (various attributes and function units): Treat rotate like shift.
3714         (pent_pair attribute): Only rotates by one bit position are
3715         pairable.
3716         (sbb insns): Explicitly set pent_pair attribute on a couple
3717         that were missing it.
3718
3719 Thu May  9 18:29:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
3720
3721         * sh.c (sh_builtin_saveregs): If starting with an odd fp register,
3722         make sure that buffer starts on odd word address.
3723         (sh_va_arg): Skip odd fp registers when reading a double precision
3724         value.
3725
3726 2002-05-09  Neil Booth  <neil@daikokuya.demon.co.uk>
3727
3728         * tree.h (preserve_data, object_permanent_p, type_precision):
3729         Remove.
3730
3731 2002-05-09  Neil Booth  <neil@daikokuya.demon.co.uk>
3732
3733         * cpplib.c (cpp_init_internal_pragmas): Remove #pragma poison.
3734         * cppmacro.c (paste_all_tokens): Bad pastes are a hard error.
3735 doc:
3736         * cpp.texi: Update for removal of obsolete features.
3737
3738 Thu May  9 07:46:18 2002  Jan Hubicka <jh@suse.cz>
3739                           Jeffrey A Law  (law@redhat.com)
3740
3741         * i386.c (ia32_use_dfa_pipeline_interface): New function.  Use
3742         the DFA interface for Pentium processors.
3743         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): DEFINE.
3744         (attr_pent_pair, ix86_pent_find_pair): Remove.
3745         (ix86_sched_reorder_pentium): Remove.
3746         (ix86_sched_reorder): Remove reordering for Pentium.
3747         * i386.md (Pentium scheduling): Rewrite using DFA description.
3748
3749 Thu May  9 14:55:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
3750
3751         * cfganal.c (can_fallthru): Fix fast path.
3752         * cfgrtl.c (verify_flow_info): Avoid crash on conditionals
3753         with edges to the next block.
3754
3755 Thu May  9 14:52:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
3756                                Pavel Nejedly  <bim@atrey.karlin.mff.cuni.cz>
3757
3758         * final.c (end_final): Use C trees to output data structures for profiling.
3759
3760         * Makefile.in (LIBGCC_DEPS): Added missing dependency on gcov-io.h
3761         (profile.o): New dependency profile.h
3762         (final.o): New dependency profile.h
3763         * profile.h: New file. New global structure profile_info.
3764         * final.h (count_edges_instrumented_now): Declare.
3765         (current_function_cfg_checksum): Declare.
3766         (function_list): New structure.
3767         (functions_head, functions_tail): New static variables.
3768         (end_final): Emits more data, removed some -ax stuff.
3769         (final): Stores function names and chcksums.
3770         * gcov-io.h (__write_gcov_string): New function.
3771         (__read_gcov_string): New function.
3772         * gcov.c (read_profile): New function.
3773         (create_program_flow_graph): Uses read_profile instead of reading
3774         da_file.
3775         (read_files): Removed da_file checking, it's done by read_profile now.
3776         * libgcc2.c (bb_function_info): New structure.
3777         (bb): New field in structure, removed some -ax stuff.
3778         (__bb_exit_func): Changed structure of da_file.
3779         * profile.c (count_edges_instrumented_now): New global variable.
3780         (current_function_cfg_checksum): New global variable.
3781         (max_counter_in_program): New global variable.
3782         (get_exec_counts): New function.
3783         (compute_checksum): New function.
3784         (instrument_edges): Sets count_edges_instrumented_now.
3785         (compute_branch_probabilities): Uses get_exec_counts instead of
3786         reading da_file.
3787         (branch_prob): Calls compute_checksum and writes extra data to bbg_file.
3788         (init_branch_prob): Removed da_file checking, done in get_exec_counts
3789         now.
3790         (end_branch_prob): Removed da_file checking, done in get_exec_counts
3791         now.
3792         * gcov.texi: Updated information about gcov file format.
3793
3794 2002-05-09  Kazu Hirata  <kazu@cs.umass.edu>
3795
3796         * sbitmap.c: Fix formatting.
3797         * scan.c: Likewise.
3798         * scan-decls.c: Likewise.
3799         * sched-deps.c: Likewise.
3800         * sched-ebb.c: Likewise.
3801         * sched-rgn.c: Likewise.
3802         * sched-vis.c: Likewise.
3803         * sdbout.c: Likewise.
3804         * sibcall.c: Likewise.
3805         * simplify-rtx.c: Likewise.
3806         * ssa.c: Likewise.
3807         * ssa-ccp.c: Likewise.
3808         * ssa-dce.c: Likewise.
3809         * stmt.c: Likewise.
3810         * stor-layout.c: Likewise.
3811         * stringpool.c: Likewise.
3812
3813 2002-05-09  David S. Miller  <davem@redhat.com>
3814
3815         * config/sparc/sol2.h (ASM_CPU_SPEC): Handle -mcpu=v9.
3816
3817 2002-05-07  David S. Miller  <davem@redhat.com>
3818
3819         * config/sparc/sparc.h (TARGET_BUGGY_QP_LIB): Define to zero.
3820         * config/sparc/sol2.h (TARGET_BUGGY_QP_LIB): Override to one.
3821         * config/sparc/sparc.c (emit_soft_tfmode_libcall): If the Qp
3822         library implementation clobbers the output before the inputs
3823         are fully consumed, use stack temporary for the output.
3824
3825 2002-05-09  Jason Thorpe  <thorpej@wasabisystems.com>
3826
3827         * config/netbsd.h (CPP_SPEC): Remove.
3828         * config/i386/netbsd-elf.h (CPP_SPEC): Define.
3829         * config/i386/netbsd.h (CPP_SPEC): Define.
3830         * config/ns32k/netbsd.h (CPP_SPEC): Define.
3831         * config/sparc/netbsd-elf.h (CPP_SPEC): Remove.
3832         * config/sparc/netbsd.h (CPP_SPEC): Define.
3833         * config/vax/netbsd.h (CPP_SPEC): Define.
3834
3835 2002-05-08  Kazu Hirata  <kazu@cs.umass.edu>
3836
3837         * read-rtl.c: Fix formatting.
3838         * real.c: Likewise.
3839         * recog.c: Likewise.
3840         * regclass.c: Likewise.
3841         * regmove.c: Likewise.
3842         * reg-stack.c: Likewise.
3843         * reload1.c: Likewise.
3844         * reload.c: Likewise.
3845         * resource.c: Likewise.
3846         * rtlanal.c: Likewise.
3847         * rtl.c: Likewise.
3848         * rtl-error.c: Likewise.
3849
3850 2002-05-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3851
3852         * pa/pa-64.h (MAX_WCHAR_TYPE_SIZE): Delete.
3853         * pa/pa.h (MAX_WCHAR_TYPE_SIZE): Delete.
3854
3855 2002-05-08  Bernd Schmidt  <bernds@redhat.com>
3856
3857         * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Tweak previous change to
3858         use __SSE2__ macro instead.
3859         * config/i386/xmmintrin.h: Likewise.
3860
3861 2002-05-08  Janis Johnson  <janis187@us.ibm.com>
3862
3863         * rtl.h (RTL_FLAG_CHECK*): Add an argument for the macro name,
3864         and use it in all invocations of these macros.  Clean up comments.
3865         * rtl.c (rtl_check_failed_flag): Add an argument for the name
3866         of the flag access macro whose check failed.
3867         * doc/rtl.texi (Flags): Document additional flag uses.
3868
3869 2002-05-08  Robert Spier <rspier@pobox.com>
3870             Neil Booth  <neil@daikokuya.demon.co.uk>
3871
3872         PR preprocessor/6521
3873         * cppfiles.c (handle_missing_header): Don't do anything
3874         different for <> includes.
3875 doc:
3876         * cppopts.texi: Update documentation for -MG.
3877
3878 2002-05-08  Neil Booth  <neil@daikokuya.demon.co.uk>
3879
3880         * cpplex.c (cpp_interpret_charconst): Truncate as well as
3881         sign-extend.
3882 doc:
3883         * cpp.texi: Clarify multichar charconst valuation.
3884
3885 2002-05-08  Mark Mitchell  <mark@codesourcery.com>
3886
3887         * doc/invoke.texi: Document -mwindiss option.
3888
3889 2002-05-08  Jason Merrill  <jason@redhat.com>
3890
3891         * dwarf2out.c (output_call_frame_info): Don't emit a CIE with no FDEs.
3892
3893         * dwarf2out.c (gen_type_die): Abort on broken recursion.
3894
3895         PR c++/6381
3896         * dwarf2out.c (rtl_for_decl_location): Only expand INTEGER_CST and
3897         REAL_CST.
3898
3899 2002-05-08  Nick Clifton  <nickc@cambridge.redhat.com>
3900
3901         * config/arm/t-arm-elf (MULTILIB): Do not allow big-endian/
3902         little-endian multilibs to override arm/thumb multilibs.
3903         Do not build hardware floating point multilibs, nor apcs-26
3904         multilibs for the Thumb.
3905
3906 2002-05-08  Mark Mitchell  <mark@codesourcery.com>
3907
3908         PR c/6569.
3909         * varasm.c (mark_weak): New function.
3910         (merge_weak): Use it.  Do not call declare_weak.
3911         (declare_weak): Use merge_weak.
3912
3913 Wed May  8 13:12:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
3914
3915         * cse.c (dead_libcall_p): Update counts.
3916         (delete_trivially_dead_insns): Update call of dead_libcall_p.
3917
3918 Wed May  8 11:08:50 CEST 2002  Jan Hubicka  <jh@suse.cz>
3919
3920         * cfglayout.c (function_tail_eff_head): Rename to ...
3921         (function_footer): ... this one.
3922         (unlink_insn_chain): New functions.
3923         (label_for_bb): Only call block_label and emit debug message.
3924         (record_effective_endpoints): Actually unlink the headers and footers.
3925         (fixup_reorder_cahin): Re-insert the unlinked sequences.
3926         (cfg_layout_duplicate_bb): Use duplicate_insn_chain.
3927         * cfglayout.h (struct reorder_block_def): New fields footer/header;
3928         remove eff_head/eff_end.
3929         * rtl.h (set_first_insn): Declare.
3930         * emit-rtl.c (set_first_insn): New function.
3931
3932         * cfglayout.c (fixup_reorder_chain): Dump duplicated
3933         (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
3934         cfg_layout_duplicate_bb): New global function.
3935         (duplicate_insn_chain): New static function.
3936         * cfglayout.h (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
3937         cfg_layout_duplicate_bb): Declare.
3938         (struct reorder_block_def): Add "original" field.
3939         * emit-rtl.c (emit_copy_of_insn_after): New function.
3940         * rtl.h (emit_copy_of_insn_after): Declare.
3941
3942         * cfglayout.c (fixup_fallthru_exit_predecessor): Kill.
3943         (fixup_reorder_chain): properly handle edges to exit block.
3944
3945 Wed May  8 11:10:31 CEST 2002  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3946                                Jan Hubicka  <jh@suse.cz>
3947
3948         * basic-block.h (note_prediction_to_br_prob): declare.
3949         * c-semantics.c: Inlucde predit.h
3950         (expand_stmt): predict GOTO_STMT as not taken.
3951         * cfgcleanup.c: (delete_unreachable_blocks): Make global.
3952         (cleanup_cfg): Do not free tail_recursion_list.
3953         * cfgrtl.c (can_delete_note_p): Delete NOTE_INSN_PREDICTION.
3954         (flow_delete_block): Kill predictions past end of basic block.
3955         * output.h (delete_unreachable_blocks): Declare.
3956         * predict.c (predicted_by_p, process_note_predictions,
3957         process_note_prediction, last_block_p): New function.
3958         (estimate_probability): Bypass loop on PRED_CONTINUE;
3959         do not handle noreturn heuristics; kill PRED_RETURN; add
3960         PRED_EARLY_RETURN.
3961         * predict.def (PRED_CONTINUE, PRED_EARLY_RETURN, PRED_GOTO,
3962         PRED_CONST_RETURN, PRED_NEGATIVE_RETURN, PRED_NULL_RETURN): New.
3963         * predict.h (IS_TAKEN): New constant.
3964         * print-rtl.c (print_rtx): Pretty print NOTE_INSN_PREDICTION.
3965         * rtl.c (NOTE_INSN_PREDICTION): New.
3966         * rtl.h (NOTE_PREDICTION, NOTE_PREDICTION_ALG, NOTE_PREDICTION_FLAGS):
3967         New macro.
3968         (insn_note): add NOTE_INSN_PREDICTION.
3969         * sibcall.c (optimize_sibling_and_tail_recursive_call): Do not build
3970         CFG; free tail_recursion_label_list.
3971         * stmt.c: Include predict.h;
3972         (return_prediction): New.
3973         (expand_value_return): Use it.
3974         * toplev.c: Lower NOTE_INSN_PREDICTION before sibcall.
3975
3976 2002-05-08  Richard Sandiford  <rsandifo@redhat.com>
3977
3978         * config/mips/mips.md: Name the unspecs with define_constant.
3979         (*HILO_delay): Rename to 'hilo_delay' (no star).
3980         (reload_indi): Replace gen_rtx_UNSPEC with gen_hilo_delay.
3981         (reload_outdi, reload_outsi): Likewise.
3982
3983 2002-05-07  Kazu Hirata  <kazu@cs.umass.edu>
3984
3985         * toplev.c: Fix formatting.
3986
3987 2002-05-07  Janis Johnson  <janis187@us.ibm.com>
3988
3989         * config.in (ENABLE_RTL_FLAG_CHECKING): New.
3990         * configure.in (ac_rtlflag_checking): New.
3991         * doc/install.texi (--enable-checking): Document RTL flag checking.
3992
3993 2002-05-07  Neil Booth  <neil@daikokuya.demon.co.uk>
3994
3995         * c-common.c (c_common_init): Set options->unsigned_wchar.
3996         * cppinit.c (cpp_create_reader): Default unsigned_wchar,
3997         group target dependencies.
3998         (init_builtins, cpp_handle_option): Update.
3999         * cpplex.c (cpp_interpret_charconst): Update.
4000         * cpplib.h (struct cpp_options): Add unsigned_wchar, rename
4001         signed_char to unsigned_char, group target dependencies.
4002         * defaults.h (WCHAR_UNSIGNED): Remove.
4003         * system.h (WCHAR_UNSIGNED, MAX_CHAR_TYPE_SIZE): Poison.
4004 config:
4005         * freebsd.h, interix.h, alpha/freebsd.h, arm/freebsd.h,
4006         i386/386bsd.h, i386/beos-elf.h, i386/bsd386.h, i386/cygwin.h,
4007         i386/djgpp.h, i386/freebsd-aout.h, i386/i386-interix.h,
4008         i386/win32.h, ia64/freebsd.h, mips/netbsd.h, rs6000/freebsd.h,
4009         sh/elf.h, sh/sh.h, sparc/freebsd.h: Remove WCHAR_UNSIGNED.
4010 doc:
4011         * tm.texi: Remove MAX_CHAR_TYPE_SIZE.
4012
4013 2002-05-07  Mark Mitchell  <mark@codesourcery.com>
4014
4015         * fixinc/inclhack.def (windiss_math1): New fix.
4016         (windiss_math2): Likewise.
4017         (windiss_valist): Likewise.
4018         * fixinc/fixincl.x: Regenerated.
4019
4020 2002-05-07  Andreas Jaeger  <aj@suse.de>
4021
4022         * genautomata.c (output_internal_min_issue_delay_func): Add
4023         ATTRIBUTE_UNUSED to avoid warning with empty dfa.
4024         (output_internal_trans_func): Likewise.
4025
4026 Tue May  7 10:06:22 2002  Jeffrey A Law  (law@redhat.com)
4027
4028         * pa.c (hppa_profile_hook): Use force_reg to get the address
4029         of the profile hook into an appropriate pseudo register.
4030
4031 2002-05-07  Mark Mitchell  <mark@codesourcery.com>
4032
4033         * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -mwindiss.
4034         (LINK_START_SPEC): Handle it.
4035         (LINK_OS_SPEC): Likewise.
4036         (CPP_SPEC): Likewise.
4037         (STARTFILE_SPEC): Likewise.
4038         (LIB_SPEC): Likewise.
4039         (ENDFILE_SPEC): Likewise.  Do not assume crtsavres.o is used on
4040         all platforms.
4041         (CRTSAVRES_DEFAULT_SPEC): New macro.
4042         (LIB_WINDISS_SPEC): New macro.
4043         (CPP_OS_WINDISS_SPEC): Likewise.
4044         (STARTFILE_WINDISS_SPEC): Likewise.
4045         (ENDFILE_WINDISS_SPEC): Likewise.
4046         (LINK_START_WINDISS_SPEC): Likewise.
4047         (LINK_OS_WINDISS_SPEC): Likewise.
4048         * config/rs6000/windiss.h: New file.
4049
4050 2002-05-07  Aldy Hernandez  <aldyh@redhat.com>
4051
4052         * config/rs6000/rs6000.c (bdesc_2arg): Fix vmax typos.
4053
4054 2002-05-06  David S. Miller  <davem@redhat.com>
4055
4056         * config/sparc/sparc.md (shift insns): Do not mask off
4057         second operand, 'I' constraint and SHIFT_COUNT_TRUNCATED
4058         take care of it.
4059
4060 2002-05-06  Richard Henderson  <rth@redhat.com>
4061
4062         PR c++/6212
4063         * expr.c (highest_pow2_factor_for_type): New.
4064         (expand_assignment): Use it.
4065
4066 2002-05-06  Aldy Hernandez  <aldyh@redhat.com>
4067
4068         * config/rs6000/rs6000.md ("altivec_mtvscr"): Change to
4069         unspec_volatile.
4070         ("altivec_mfvscr"): Same.
4071
4072 2002-05-06  Janis Johnson  <janis187@us.ibm.com>
4073
4074         * rtl.h (struct rtx_def): Update comments.
4075         (RTL_FLAG_CHECK[12345678]): New.  (rtl_check_failed_flag): Declare.
4076         (RTL_FLAG): New.  (CLEAR_RTX_FLAGS): New.  (flag access macros): Use
4077         RTL_FLAG_CHECK macros with list of expected RTL codes.
4078         * rtl.c (copy_rtx, shallow_copy_rtx): Use RTX_FLAG macro.
4079         (rtl_check_failed_flag): New.
4080         * reload1.c (reload): Use REG macro before changing rtx to MEM.
4081         (reload_cse_noop_set_p): Check rtx code before using access macro.
4082         * config/ia64/ia64.c (process_for_unwind_directive): Check rtx code
4083         before using access macro.
4084
4085 2002-05-06  Janis Johnson  <janis187@us.ibm.com>
4086
4087         * doc/rtl.texi (Flags): Update to reflect current usage.
4088
4089 2002-05-06  Roger Sayle  <roger@eyesopen.com>
4090
4091         PR opt/3995
4092         * fold-const.c (sign_bit_p): New function.
4093         (fold) [EQ_EXPR]: Use this to convert (A & C) == 0 into A >= 0 and
4094         (A & C) != 0 into A < 0, when constant C is the sign bit of A's type.
4095         Reapply fold when converting (A & C) == C into (A & C) != 0.
4096         (fold_binary_op_with_conditional_arg): Fix typo in comment.
4097
4098 2002-05-07  Neil Booth  <neil@daikokuya.demon.co.uk>
4099
4100         * c-common.c (warn_multichar): New.
4101         (c_common_init): Set CPP's warn_multichar.
4102         * c-common.h (warn_multichar): New.
4103         * c-decl.c (warn_multichar): Remove.
4104         * c-lex.c (lex_charconst): Update.
4105         * c-tree.h (warn_multichar): Remove.
4106         * cppexp.c (eval_token): Sign-extend charconst value.
4107         * cppinit.c (cpp_create_reader): Set warn_multichar.
4108         * cpplex.c (cpp_interpret_charconst): Don't sign-extend
4109         each character.  Update prototype.  Sign-extend the result.
4110         * cpplib.h: Fix conditions.
4111         (struct cpp_options): Add new warning flag.
4112         (cpp_interpret_charconst): Update prototype.
4113 doc:
4114         * cpp.texi: Update documentation.
4115
4116 2002-05-06  Vladimir Makarov  <vmakarov@redhat.com>
4117
4118         * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
4119         Fix typo in usage of allof instead of unit.
4120
4121 2002-05-06  Richard Henderson  <rth@redhat.com>
4122
4123         * recog.c (if_test_bypass_p): Accept multiple set insns for OUT,
4124         and any jump or call for IN.
4125
4126 2002-05-06  Bernd Schmidt  <bernds@redhat.com>
4127
4128         * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Define __SSE2_BUILTINS__ if
4129         -msse2.
4130         * config/i386/xmmintrin.h: Use it to conditionalize SSE2 support.
4131
4132 2002-05-06  Roger Sayle  <roger@eyesopen.com>
4133
4134         * fold-const.c (lshift-double): Cast the high word to an unsigned
4135         HOST_WIDE_INT when extracting sign bit to avoid compiler warning.
4136         (div_and_round_double): Cast carry to a signed HOST_WIDE_INT to
4137         avoid compiler warning.  (fold): Remove redundant code from
4138         BIT_AND_EXPR as integer operands are canonicalized to be arg1.
4139
4140 2002-05-06  Jeff Law  <law@redhat.com>
4141
4142         * pa-protos.h (hppa_fpstore_bypass_p): Declare.
4143         * pa.c (pa_adjust_cost): Remove all true dependency cost
4144         adjustments.  Also remove support for non-DFA scheduling.
4145         * pa.md (700, 7100, 7100lc, 7200, 7300): Use bypass mechanism
4146         to adjust true dependency costs.  Update various comments.
4147         (7100lc, 7200, 7300 scheduling): Simplify by combining the
4148         FP ALU & MPY units into a single unit.
4149
4150 2002-05-06  Catherine Moore  <clm@redhat.com>
4151
4152         * config/v850/v850.c (compute_register_save_size): Make sure
4153         to count all of the registers that will be saved.
4154
4155 Mon May  6 18:03:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
4156
4157         * i386.c (q_regs_operand): Use ANY_QI_REGS_P.
4158
4159 2002-05-06  David S. Miller  <davem@redhat.com>
4160
4161         * config/sparc/sparc.c (emit_soft_tfmode_libcall): Do not
4162         allow result to overlap input operands in memory.
4163
4164 2002-05-06  Neil Booth  <neil@daikokuya.demon.co.uk>
4165
4166 doc:
4167         * cpp.texi: Update multichar charconst docs.
4168
4169 2002-05-06  Neil Booth  <neil@daikokuya.demon.co.uk>
4170
4171         * cpplex.c (cpp_interpret_charconst): Sign-extend each
4172         character.  Don't ignore excess characters.  Treat
4173         multicharacter character constants as signed.
4174         (cpp_parse_escape): Clarify diagnostic.
4175
4176 2002-05-05  Jakub Jelinek  <jakub@redhat.com>
4177
4178         * config/sparc/sparc.md (ashlsi3): If shift count is const1_rtx,
4179         use add instead of shift.
4180         (ashldi3_sp64): Likewise.
4181         (ashlsi3_const1, ashldi3_const1): Remove.
4182         * config/sparc/sparc.h (PREDICATE_CODES): Add const1_operand.
4183         * config/sparc/sparc.c (const1_operand): New.
4184
4185 2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
4186
4187         * config.gcc (alpha*-*-netbsd*): Don't use crtstuff.
4188
4189 2002-05-05  Jakub Jelinek  <jakub@redhat.com>
4190
4191         PR target/6561
4192         * config/sparc/sparc.md (muldi3_v8plus): Handle %1 equal to %2.
4193
4194 2002-05-05  Richard Henderson  <rth@redhat.com>
4195
4196         * config/alpha/alpha.c (alpha_adjust_cost): Remove everything but
4197         memory latency adjustments.
4198         (alpha_variable_issue): Remove.
4199         (alpha_use_dfa_pipeline_interface): New.
4200         (alpha_multipass_dfa_lookahead): New.
4201         * config/alpha/alpha.md: Remove define_function_unit scheduling;
4202         include new dfa scheduling.
4203         (attr type): Add none.
4204         (blockage): Use it.
4205         * config/alpha/ev4.md: New.
4206         * config/alpha/ev5.md: New.
4207         * config/alpha/ev6.md: New.
4208
4209 2002-05-05  David S. Miller  <davem@redhat.com>
4210
4211         * recog.c (store_data_bypass_p): Handle CLOBBER inside PARALLEL.
4212
4213 2002-05-05  Kazu Hirata  <kazu@cs.umass.edu>
4214
4215         * cse.c: Fix formatting.
4216         * emit-rtl.c: Likewise.
4217
4218 2002-05-05  Vladimir Makarov  <vmakarov@redhat.com>
4219
4220         * genautomata.c (initiate_states): Add additional guard to
4221         initialize `units_array'.
4222
4223 2002-05-05  Vladimir Makarov  <vmakarov@redhat.com>
4224
4225         * genautomata.c (form_the_same_automaton_unit_lists_from_regexp,
4226         process_unit_to_form_the_same_automaton_unit_lists,
4227         form_the_same_automaton_unit_lists
4228         check_unit_distributions_to_automata): New prototypes and
4229         functions.
4230         (check_automata): Rename it into `check_automata_insn_issues'.
4231         (unit_decl): New fields `the_same_automaton_unit' and
4232         `the_same_automaton_message_reported_p'.
4233         (unit_decl_t): New typedef.
4234         (the_same_automaton_lists): New gloval variable.
4235         (unit_regexp, unit_set_el, units_array, units_cmp,
4236         output_get_cpu_unit_code_func): Use the typedef.
4237         (evaluate_max_reserv_cycles): Increment
4238         `description->max_insn_reserv_cycles'.
4239         (initiate_states): Don't increment `max_cycles_num'.
4240         (transform_insn_regexps): Move code around transformation of
4241         regexps from `generate'.
4242         (generate): Remove call of `transform_insn_regexps'.
4243         (expand_automata): Call `transform_insn_regexps' and
4244         `check_unit_distributions_to_automata'.  Check errors before
4245         `generate'.
4246
4247         * config/sparc/ultra3.md (us3_a0, us3_a1): Move the units into
4248         automaton `ultrasparc3_1'.
4249
4250 2002-05-05  Neil Booth  <neil@daikokuya.demon.co.uk>
4251
4252         * c-common.c (c_common_init): Set up CPP arithmetic.
4253         * cppinit.c (cpp_create_reader): Default CPP arithmetic to
4254         something reasonable for the host.
4255         (sanity_checks): Add checks.
4256         (cpp_read_main_file): Call sanity_checks() from here...
4257         (cpp_post_options): ... not here.
4258         * cpplex.c (cpp_interpret_charconst): Get max_chars right.
4259         * cpplib.h (struct cpp_options): New member int_precision.
4260
4261 2002-05-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4262
4263         * doc/install.texi (powerpc-*-linux-gnu*): Update build requirements.
4264
4265 2002-05-04  David S. Miller  <davem@redhat.com>
4266
4267         * config/sparc/linux.h, config/sparc/linux64.h
4268         (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define twice.
4269
4270         * config/sparc/sparc.c (sparc_rtx_costs): Describe costs of
4271         more RTX codes.
4272         * config/sparc/sparc.h (RTX_COSTS_CASES): List those new codes.
4273
4274         * recog.c (store_data_bypass_p): Handle out_insn being a PARALLEL
4275         of SETs.
4276
4277 2002-05-05  Tim Josling  <tej@melbpc.org.au>
4278
4279         * treelang; New directory for new sample language treelang.
4280
4281 2002-05-04  Neil Booth  <neil@daikokuya.demon.co.uk>
4282
4283         * Makefile.in (c-lex.o): Update.
4284         * c-lex.c: Include target.h.
4285         (cb_register_builtins): New.
4286         (init_c_lex): Set builtins callback.
4287         * c-lex.h (cpp_define, cpp_assert): New prototypes.
4288         * cppinit.c (init_builtins): Use callback, including for
4289         GXX_WEAK.
4290         * cpplib.h (struct cpp_callbacks): New member.
4291         * target-def.h (TARGET_REGISTER_CPP_BUILTINS): New.
4292         (TARGET_INITIALIZER): Update.
4293         * target.h (struct gcc_target): New hook.
4294         * tree.c (default_register_cpp_builtins): New.
4295         * tree.h (default_register_cpp_builtins): New.
4296 doc:
4297         * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Document.
4298
4299 2002-05-04  Neil Booth  <neil@daikokuya.demon.co.uk>
4300
4301         * cppinit.c (MAX_WCHAR_TYPE_SIZE): Move to cpplib.h
4302         (cpp_post_options): Move sanity checks to...
4303         (sanity_checks): New.
4304         * cpplex.c (maybe_read_ucs): Fix prototype.
4305         (parse_string, cpp_parse_escape): Cast for %c format specifier.
4306         * cpplib.h (cppchar_t): Use unsigned long or unsigned long long
4307         if necessary.
4308
4309 2002-05-04  Bernd Schmidt  <bernds@redhat.com>
4310
4311         * config/i386/i386.c (bdesc_2arg): Add a couple of missing SSE2
4312         builtins.  Use V2DI patterns instead of TI for logical operations.
4313         (ix86_init_mmx_sse_builtins): Add a couple of missing SSE2 builtins.
4314         Correct definitions of psadbw, pmovmskb128, movntdq, cvtdq2ps.
4315         (ix86_expand_builtins): Change the pattern used for movntdq.
4316         * config/i386/i386.md (sse2_andv2di3, sse2_iorv2di3, sse2_xorv2di3,
4317         sse2_nandv2di3): New patterns.
4318         (sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3): Correct modes
4319         on operands.
4320         (sse2_movntv2di): Renamed from sse2_movntti and modes adjusted.
4321         (cvtdq2pd): Correct mode on operand 1.
4322         (sse2_umulsidi3): Describe without unspec.
4323         (sse2_psadbw, mmx_psadbw): Describe with unspec; use more appropriate
4324         machine modes.
4325         (lshrv2di3): Renamed from sse2_lshrv2di3 and removed unspec.
4326         (ashlv2di3): Likewise, from sse2_ashlv2di3.
4327         (ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, lshrv2di3, ashlv8hi3,
4328         ashlv4si3, ashlv2di3): Use SImode for shift count.
4329         (ashrv8hi3_ti, ashrv4si3_ti, lshrv8hi3_ti, lshrv4si3_ti, lshrv2di3_ti,
4330         lshrv4si3_ti, lshrv2di3_ti, ashlv8hi3_ti, ashlv4si3_ti, ashlv2di3_ti):
4331         New patterns.
4332         * config/i386/xmmintrin.h (__v2df, __v2di, __v4si, __v8hi, __v16qi):
4333         New typedefs.
4334         (__m128i, __m128d): New macros.
4335         (_mm_add_pd, _mm_add_sd, _mm_sub_pd, _mm_sub_sd, _mm_mul_pd,
4336         _mm_mul_sd, _mm_div_pd, _mm_div_sd, _mm_sqrt_pd, _mm_sqrt_sd,
4337         _mm_min_pd, _mm_min_sd, _mm_max_sd, _mm_max_pd, _mm_and_pd,
4338         _mm_andnot_pd, _mm_xor_pd, _mm_or_pd, _mm_cmpeq_pd, _mm_cmplt_pd,
4339         _mm_cmple_pd, _mm_cmpgt_pd, _mm_cmpge_pd, _mm_cmpneq_pd,
4340         _mm_cmpnlt_pd, _mm_cmpnle_pd, _mm_cmpngt_pd, _mm_cmpnge_pd,
4341         _mm_cmpord_pd, _mm_cmpunord_pd, _mm_cmpeq_sd, _mm_cmplt_sd,
4342         _mm_cmple_sd, _mm_cmpgt_sd, _mm_cmpge_sd, _mm_cmpneq_sd,
4343         _mm_cmpnlt_sd, _mm_cmpnle_sd, _mm_cmpngt_sd, _mm_cmpnge_sd,
4344         _mm_cmpord_sd, _mm_cmpunord_sd, _mm_comieq_sd, _mm_comilt_sd,
4345         _mm_comile_sd, _mm_comigt_sd, _mm_comige_sd, _mm_comineq_sd,
4346         _mm_ucomieq_sd, _mm_ucomieq_sd, _mm_ucomilt_sd, _mm_ucomile_sd,
4347         _mm_ucomigt_sd, _mm_ucomige_sd, _mm_ucomineq_sd, _mm_cvtepi32_pd,
4348         _mm_cvtepi32_ps, _mm_cvtpd_epi32, _mm_cvtpd_pi32, _mm_cvtpd_ps,
4349         _mm_cvttpd_epi32, _mm_cvttpd_pi32, _mm_cvtpi32_pd, _mm_cvtps_epi32,
4350         _mm_cvttps_epi32, _mm_cvtps_pd, _mm_cvtsd_si32, _mm_cvttsd_si32,
4351         _mm_cvtsd_ss, _mm_cvtsi32_sd, _mm_cvtss_sd, _mm_unpackhi_pd,
4352         _mm_unpacklo_pd, _mm_loadh_pd, _mm_storeh_pd, _mm_storel_pd,
4353         _mm_movemask_pd, _mm_packs_epi16, _mm_packs_epi32, _mm_packus_epi16,
4354         _mm_unpackhi_epi8, _mm_unpackhi_epi16, _mm_unpackhi_epi32,
4355         _mm_unpacklo_epi8, _mm_unpacklo_epi16, _mm_unpacklo_epi32,
4356         _mm_add_epi8, _mm_add_epi16, _mm_add_epi32, _mm_add_epi64,
4357         _mm_adds_epi8, _mm_adds_epi16, _mm_adds_epu8, _mm_adds_epu16,
4358         _mm_sub_epi8, _mm_sub_epi16, _mm_sub_epi32, _mm_sub_epi64,
4359         _mm_subs_epi8, _mm_subs_epi16, _mm_subs_epu8, _mm_subs_epu16,
4360         _mm_madd_epi16, _mm_mulhi_epi16, _mm_mullo_epi16, _mm_mul_pu16,
4361         _mm_mul_epu16, _mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64,
4362         _mm_sra_epi16, _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32,
4363         _mm_srl_epi64, _mm_slli_epi16, _mm_slli_epi32, _mm_slli_epi64,
4364         _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32,
4365         _mm_srli_epi64, _mm_and_si128, _mm_andnot_si128, _mm_or_si128,
4366         _mm_xor_si128, _mm_cmpeq_epi8, _mm_cmpeq_epi16, _mm_cmpeq_epi32,
4367         _mm_cmpgt_epi8, _mm_cmpgt_epi16, _mm_cmpgt_epi32, _mm_max_epi16,
4368         _mm_max_epu8, _mm_min_epi16, _mm_min_epu8, _mm_movemask_epi8,
4369         _mm_mulhi_epu16, _mm_maskmoveu_si128, _mm_avg_epu8, _mm_avg_epu16,
4370         _mm_sad_epu8, _mm_stream_si32, _mm_stream_si128, _mm_stream_pd,
4371         _mm_movpi64_epi64, _mm_clflush, _mm_lfence, _mm_mfence): New
4372         functions.
4373         (_mm_shufflehi_epi16, _mm_shufflelo_epi16, _mm_shuffle_epi32,
4374         _mm_extract_epi16, _mm_insert_epi16, _mm_shuffle_pd): New macros.
4375
4376 2002-05-04  Kazu Hirata  <kazu@cs.umass.edu>
4377
4378         * dwarf2out.c: Fix formatting.
4379         * varasm.c: Likewise.
4380
4381 2002-05-04  David Edelsohn  <edelsohn@gnu.org>
4382
4383         PR c/6543
4384         * config/rs6000/rs6000.md (sCC pattern and splitter): Remove
4385         clobber and use result as temporary value.
4386
4387 Sat May  4 13:20:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
4388
4389         * expr.c (force_operand): Use expand_simple_* to handle more
4390         cases.
4391
4392 2002-05-04  Neil Booth  <neil@daikokuya.demon.co.uk>
4393
4394         * c-lex.c (lex_string): Let cpp_parse_escape handles truncation
4395         and sign-extension.
4396         (lex_charconst): Update for change in prototype of
4397         cpp_interpret_charconst.  Extend from cppchar_t to HOST_WIDE_INT
4398         appropriately.
4399         * cpphash.h (BITS_PER_CPPCHAR_T): New.
4400         * cppinit.c (cpp_create_reader): Initialize them for no
4401         change in semantics.
4402         (cpp_post_options): Add sanity checks.
4403         * cpplex.c (cpp_parse_escape): Handle precision, sign-extension
4404         and truncation issues.  Calculate in type cppchar_t.
4405         (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Remove.
4406         (cpp_interpret_charconst): Calculate in type cppchar_t.  Handle
4407         run-time dependent precision correctly.  Return whether the
4408         result is signed or not.
4409         * cpplib.c (dequote_string): Use cppchar_t; update.
4410         * cpplib.h (cppchar_signed_t): New.
4411         struct cpp_options): New precision members.
4412         (cpp_interpret_charconst, cpp_parse_escape): Update prototypes.
4413         * cppexp.c (eval_token): Update.
4414
4415 2002-05-03  David S. Miller  <davem@redhat.com>
4416
4417         * config/sparc/sparc-protos.h (sparc_rtx_costs): New.
4418         * config/sparc/sparc.c (sparc_rtx_costs): New function
4419         implementing RTX_COSTS and CONST_COSTS.
4420         * config/sparc/sparc.h (CONST_COSTS): Delete.
4421         (RTX_COSTS_CASES): Define.
4422         (RTX_COSTS): Expand RTX_COSTS_CASES and use sparc_rtx_costs to do
4423         the work.
4424
4425         * config/sparc/sparc.md (DFA schedulers): Split out...
4426         * config/sparc/cypress.md, config/sparc/hypersparc.md,
4427         config/sparc/sparclet.md, config/sparc/supersparc.md,
4428         config/sparc/ultra1_2.md, config/sparc/ultra3.md: ... into here.
4429
4430         * config/sparc/sparc.c (LEAF_REGISTERS): Do not do ifdef
4431         checks on it, always defined for Sparc.
4432
4433         * config/sparc/sparc.h (REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER):
4434         Tweak, and add more detailed comments.
4435
4436 2002-05-03  Zack Weinberg  <zack@codesourcery.com>
4437
4438         * Re-apply patch accidentally reverted with
4439         DFA scheduler merge: remove all rules and variables to slurp
4440         source files out of libiberty and rebuild them with HOST_CC.
4441         ($(HOST_PREFIX_1)varray.o): New rule.
4442         (genattrtab rule): Word wrap.
4443
4444 2002-05-03  Jason Thorpe  <thorpej@wasabisystems.com>
4445
4446         * config/i386/netbsd64.h (CPP_LP64_SPEC): Define.
4447         (CPP_SUBTARGET_SPEC): Define.
4448         (SUBTARGET_EXTRA_SPECS): Redefine, adding cpp_lp64 and
4449         cpp_subtarget specs.
4450         (CPP_SPEC): Redefine to include %(cpp_subtarget).
4451
4452 2002-05-03  David S. Miller  <davem@redhat.com>
4453
4454         * target-defs.h (TARGET_SCHED_CYCLE_DISPLAY): Delete.
4455         * target.h (struct gcc_target): Delete cycle_display member.
4456
4457         * config/ia64/ia64.c (ia64_emit_insn_before): Put it back.
4458         (rtx_needs_barrier): Delete reference to cycle_display unspec.
4459         (ia64_sched_reorder2): Mention need for cycle display handling
4460         once such notes exist.
4461
4462 2002-05-03  Richard Henderson  <rth@redhat.com>
4463
4464         * real.c (etoasc): Strip most trailing zeros for clarity.
4465         * sched-vis.c: Include real.h.
4466         (print_value): Use REAL_VALUE_TO_DECIMAL as needed.
4467         * Makefile.in (sched-vis.o): Add real.h.
4468
4469 2002-05-03  David S. Miller  <davem@redhat.com>
4470
4471         * haifa-sched.c (rank_for_schedule): Revert 2002-05-02 change,
4472         no longer needed.
4473
4474 2002-05-03  Aldy Hernandez  <aldyh@redhat.com>
4475
4476         * config/rs6000/rs6000.c (altivec_expand_binop_builtin): Error out
4477         when we get an out of range literal.
4478         (altivec_expand_ternop_builtin): Same.
4479         (altivec_expand_unop_builtin): Same.
4480         (altivec_expand_builtin): Same, for dss.
4481         (altivec_expand_builtin): Use trees instead of rtl when
4482         determining literal argument validity.
4483
4484 2002-05-03  David S. Miller  <davem@redhat.com>
4485
4486         Delete cycle display scheduling hook.
4487         * config/ia64/ia64.c (ia64_cycle_display,
4488         TARGET_SCHED_CYCLE_DISPLAY, ia64_emit_insn_before): Delete.
4489         (ia64_sched_reorder2): Don't check for CODE_FOR_cycle_display
4490         and use emit_insn_before instead of ia64_emit_insn_before.
4491         * config/ia64/ia64.md (unspec usage): Delete cycle display.
4492         (cycle_display): Delete insn pattern.
4493         * config/sparc/sparc.md (unspec usage): Delete cycle display.
4494         (cycle_display): Delete insn pattern.
4495         * config/sparc/sparc.c (sparc_cycle_display,
4496         TARGET_SCHED_CYCLE_DISPLAY): Delete.
4497         * doc/md.texi (cycle_display): Don't mention.
4498         * doc/tm.texi (TARGET_SCHED_CYCLE_DISPLAY): Likewise.
4499
4500 2002-05-03  Richard Henderson  <rth@redhat.com>
4501
4502         * recog.c (store_data_bypass_p, if_test_bypass_p): New.
4503         * recog.h: Declare them.
4504
4505         * config/sparc/sparc.c (ultrasparc_store_bypass_p): Remove.
4506         * config/sparc/sparc.md: Use store_data_bypass_p instead.
4507         * config/sparc/sparc-protos.h: Update.
4508
4509 2002-05-03  Jason Thorpe  <thorpej@wasabisystems.com>
4510
4511         * config/sparc/netbsd-elf.c (CPP_SUBTARGET_SPEC64): Remove
4512         -D__arch64__.  Add -D_LP64.
4513         (CPP_ARCH32_SPEC): Redefine to match the non-bi-arch version
4514         from sparc.h.
4515         (CPP_ARCH64_SPEC): Likewise.
4516         (NO_BUILTIN_PTRDIFF_TYPE): Undef.
4517         (NO_BUILTIN_SIZE_TYPE): Undef.
4518
4519 2002-05-03  Vladimir Makarov  <vmakarov@redhat.com>
4520
4521         * genautomata.c (min_issue_delay_pass_states): Change return type
4522         in the prototype.
4523         (min_issue_delay_pass_states): Change the algorithm.
4524         (min_issue_delay): Set up min_insn_issue_delay for the state.
4525         (output_min_issue_delay_table): Interchange the nested loops and
4526         and initiate min_insn_issue_delay for states.
4527
4528 Fri May  3 22:59:15 CEST 2002  Jan Hubicka  <jh@suse.cz>
4529
4530         * cfgcleanup.c (try_optimize_cfg):  Call merge_block only when
4531         jump is simplejump.
4532
4533 Fri May  3 22:53:37 CEST 2002  Jan Hubicka  <jh@suse.cz>
4534
4535         * i386.c  (expand_movstr, expand_clrstr): Fix inline-all-stringops
4536         sequence.
4537
4538 2002-05-03  Richard Henderson  <rth@redhat.com>
4539
4540         PR opt/6534
4541         * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
4542         noce_try_store_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
4543         noce_try_cmove_arith, noce_try_minmax, noce_try_abs): Insert new
4544         code before JUMP, not EARLIEST.
4545
4546 2002-05-03  Joseph S. Myers  <jsm28@cam.ac.uk>
4547
4548         * c-format.c (check_format_info_main): Don't check for presence of
4549         parameter for * width until after operand number has been read,
4550         and only check for it if format parameters are available.
4551         Fixes PR c/6547.
4552
4553 2002-05-03  Jason Thorpe  <thorpej@wasabisystems.com>
4554
4555         * config/alpha/netbsd.h (CPP_PREDEFINES): Add -D_LP64.
4556         (LINK_SPEC): Undef before defining.
4557
4558 2002-05-03  Jakub Jelinek  <jakub@redhat.com>
4559
4560         PR preprocessor/6489
4561         * tradcpp.c (fixup_newlines): New.
4562         (main, finclude): Use it.
4563
4564 2002-05-03  Richard Sandiford  <rsandifo@redhat.com>
4565
4566         * config/mips/elf64.h (UNIQUE_SECTION): Use mips_unique_section.
4567         * config/mips/mips.c (mips_unique_section): Strip encoding from
4568         decl name.
4569
4570 2002-05-03  Jakub Jelinek  <jakub@redhat.com>
4571
4572         * config/i386/i386.c (ix86_expand_int_movcc): Truncate to proper
4573         mode.
4574
4575 2002-05-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4576
4577         * doc/install.texi (Installing): Mention GCC 3.1 buildstats.
4578         (Specific): Removed buildstats references.
4579         (Specific, hppa*-hp-hpux11): Adjust for GCC versions > 3.0.
4580         (Specific, sparc-sun-solaris2*): Update 64-bit hints for GCC 3.1.
4581         Accomodate Solaris versions beyond 8.
4582         (Specific, sparc-sun-solaris2.7): Update as path for GCC 3.1.
4583         (Specific, *-*-solaris2.8): Removed, obsolete.
4584
4585 2002-05-03  Jakub Jelinek  <jakub@redhat.com>
4586
4587         PR target/6542
4588         * config/sparc/sparc.h (leaf_reg_remap): Remove const.
4589         (CONDITIONAL_REGISTER_USAGE): For TARGET_FLAT make
4590         fill leaf_reg_remap with identity.
4591         * config/sparc/sparc.c (leaf_reg_remap): Remove const.
4592
4593 2002-05-03  Kazu Hirata  <kazu@cs.umass.edu>
4594
4595         * config/h8300/crti.asm: Remove trailing spaces.
4596         * config/h8300/h8300.c: Likewise.
4597         * config/h8300/lib1funcs.asm: Likewise.
4598
4599 2002-05-02  Jason Merrill  <jason@redhat.com>
4600
4601         * defaults.h (BOOL_TYPE_SIZE): Move default here from cp/decl.c.
4602         * c-decl.c (c_init_decl_processing): Use it.
4603         * config/rs6000/darwin.h (BOOL_TYPE_SIZE): Define to INT_TYPE_SIZE.
4604         * config/i960/i960.h (BOOL_TYPE_SIZE): Don't define.
4605         * config/mcore/mcore.h (BOOL_TYPE_SIZE): Don't define.
4606
4607 2002-05-03  Kazu Hirata  <kazu@cs.umass.edu>
4608
4609         * regrename.c: Fix formatting.
4610         * tree.c: Likewise.
4611
4612 Fri May  3 13:34:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
4613
4614         * i386.md (attribute memory): Handle compares properly.
4615
4616 Fri May  3 10:51:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
4617
4618         * i386.md (sse_clrsf, sse_clrsi): Set memory attribute
4619         to none.
4620
4621 2002-05-02  Kazu Hirata  <kazu@cs.umass.edu>
4622
4623         * function.c: Fix formatting.
4624
4625 2002-05-02  Jan Hubicka  <jh@suse.cz>
4626
4627         * haifa-sched.c (schedule_insn): Print table of instructions and
4628         reservations.
4629         (sched_block): Do not print ready list at verbosity level 1.
4630         * sched-vis.c (print_insn): Make global.
4631         * sched-ebb.c (ebb_print_insn): Rename from...
4632         (print_insn): ... this one.
4633         * sched-int.h (print_insn): Declare
4634
4635 2002-05-02  Richard Henderson  <rth@redhat.com>
4636
4637         * haifa-sched.c (rank_for_schedule): Skip past last_scheduled_insn
4638         emitted by cycle_display.
4639
4640 2002-05-02  Loren J. Rittle  <ljrittle@acm.org>
4641
4642         * doc/install.texi (*-*-freebsd*): Update to latest status.
4643
4644 2002-05-02  Jakub Jelinek  <jakub@redhat.com>
4645
4646         PR target/6540
4647         * config.gcc (sparc*-*-solaris2*): Set float_format to i128.
4648         * config/float-sparc.h: Assume 128-bit long double if
4649         __LONG_DOUBLE_128__ is defined.
4650
4651 2002-05-02  Vladimir Makarov  <vmakarov@redhat.com>
4652
4653         * genattrtab.c (write_function_unit_info): Add a dummy element
4654         when num_units == 0.
4655
4656 2002-05-02 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4657
4658         * predict.c: (propagate_freq, estimate_bb_frequencies): Use
4659         TYPE_MODE (double_type_node) instead of DFmode.
4660
4661 Thu May  2 19:50:04 CEST 2002  Jan Hubicka  <jh@suse.cz>
4662
4663         * cfgrtl.c (try_redirect_by_replacing_jump): Do not kill computed
4664         jumps post reload.
4665         * toplev.c (rest_of_compilation): Revert Richard's patch.
4666
4667 2001-05-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4668
4669         * pa/x-ada (ADA_CFLAGS): Rename to X_ADA_CFLAGS.
4670
4671 2002-05-02  Catherine Moore  <clm@redhat.com>
4672
4673         * config/v850/v850.h (TRAMPOLINE_TEMPLATE): Change r5 to r20.
4674
4675 2002-05-02  Kazu Hirata  <kazu@hxi.com>
4676
4677         * combine.c: Fix comment typos.
4678         * expr.c: Likewise.
4679         * genautomata.c: Likewise.
4680         * stmt.c: Likewise.
4681         * tree.h: Likewise.
4682
4683 2002-05-02  Joseph S. Myers  <jsm28@cam.ac.uk>
4684
4685         * doc/install.texi: State GNAT version requirements.
4686
4687 2002-05-02  Nick Clifton  <nickc@cambridge.redhat.com>
4688
4689         * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Accept any form
4690         of the frame pointer or arg pointer register which strict register
4691         checking is not enabled.
4692
4693 2002-05-02  Aldy Hernandez  <aldyh@redhat.com>
4694
4695         * gcc.dg/altivec-8.c: New.
4696
4697         * config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow
4698         PRE_INC and PRE_DEC for altivec modes.
4699
4700 2002-05-01  Bruce Korb  <bkorb@gnu.org>
4701
4702         * fixinc/check.tpl(set-writable): make sure the function exists first
4703         * fixinc/inclhack.def(alpha_assert): fix test_text
4704         * fixinc/tests/base/assert.h: add in missing result
4705
4706 2002-05-01  Jeff Law  <law@redhat.com>
4707
4708         * pa.h (EXTRA_CONSTRAINT): Don't accept PIC addresses for the
4709         'T' constraint.
4710
4711 2002-05-01  Joel Brobecker  <brobecker@gnat.com>
4712
4713         * dbxout.c (dbxout_type): Emit size information for range types,
4714         as well, but only when using GDB extensions.
4715
4716 2002-05-01  Richard Henderson  <rth@redhat.com>
4717
4718         * configure.in (HAVE_GAS_HIDDEN): Replace SPARC feature test with
4719         target-independent gnu binutils date test.
4720
4721 2002-05-01  Richard Henderson  <rth@redhat.com>
4722
4723         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Emit dump
4724         info before expunging the block.
4725
4726 2002-05-01  Jakub Jelinek  <jakub@redhat.com>
4727
4728         * cppinit.c (cpp_handle_option) [-dM]: Don't set no_output here...
4729         (cpp_post_options): ...but here.  Disable -dD, -dN and -dI when
4730         -M -or -MM is in effect.
4731
4732 2002-05-01  Zack Weinberg  <zack@codesourcery.com>
4733
4734         * config.gcc: Correct test of --enable-obsolete.  Obsolete all
4735         A29k configurations.
4736         * doc/install.texi: Update to match.
4737
4738 2002-05-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4739
4740         PR bootstrap/6514
4741         * varasm.c (globalize_decl): Compare DECL_ASSEMBLER_NAME to check
4742         for duplicates. Always loop over whole list.
4743
4744 Wed May  1 10:32:37 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4745
4746         * reload.c (find_reloads, case 'p'): Set BADOP to 0.
4747
4748 2002-05-01      Joel Sherrill <joel@OARcorp.com>
4749
4750         * config/sparc/t-elf (sparc-rtems, sparc-elf): Build assembly
4751         support routines.
4752
4753 2002-05-01      Joel Sherrill <joel@OARcorp.com>
4754
4755         * config/arm/rtems-elf.h: Add #undef TARGET_VERSION to prevent warning.
4756
4757 2002-05-01  David Edelsohn  <edelsohn@gnu.org>
4758
4759         * rs6000.md (abssi2_nopower): Convert to define_insn_and_split.
4760         (nabs_nopower): Same.
4761         (floatdisf2): New pattern.
4762         (absdi2): Convert to define_insn_and_split.
4763         (nabsdi2): Same.
4764         (trunctfsf2): Same.
4765         (floatditf2): Same.
4766         (floatsitf2): Same.
4767         (fix_trunctfdi2): Same.
4768         (fix_trunctfsi2): Same.
4769
4770 2002-05-01  Joseph S. Myers  <jsm28@cam.ac.uk>
4771
4772         * doc/install.texi: Update Texinfo version requirement
4773         documentation.
4774
4775 2002-05-01  Jakub Jelinek  <jakub@redhat.com>
4776
4777         PR target/6512, PR target/5628
4778         * config/sparc/sparc.md (movdf_insn_v9only_novis): Don't allow >= %f32
4779         when memory is not aligned.
4780         (movdf_insn_v9only_vis): Likewise.
4781         * config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS): Request a FP_REGS
4782         temporary for EXTRA_FP_REGS DFmode load from unaligned memory.
4783         (SECONDARY_OUTPUT_RELOAD_CLASS): Similarly.
4784
4785 2002-05-01  Aldy Hernandez  <aldyh@redhat.com>
4786
4787         * gcc.dg/altivec-7.c: New.
4788
4789         * config/rs6000/altivec.h: Cleanup.
4790
4791 2002-04-30  Aldy Hernandez  <aldyh@redhat.com>
4792
4793         * doc/invoke.texi (Option Summary): Add -mvrsave=.
4794         (RS/6000 and PowerPC Options): Document -mvrsave=.
4795
4796         * config/rs6000/rs6000.c (rs6000_altivec_vrsave): New global.
4797         (rs6000_altivec_vrsave_string): Same.
4798         (rs6000_override_options): Call rs6000_parse_vrsave_option.
4799         (rs6000_parse_vrsave_option): New.
4800         (rs6000_stack_info): Only generate vrsave instructions when
4801         TARGET_ALTIVEC_VRSAVE.
4802
4803         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -mvrsave= option.
4804         (rs6000_altivec_vrsave_string): Define extern.
4805         (rs6000_altivec_vrsave): Same.
4806         (TARGET_ALTIVEC_VRSAVE): New.
4807
4808 2002-04-30  Richard Henderson  <rth@redhat.com>
4809
4810         PR opt/6516
4811         * toplev.c (rest_of_compilation): Don't run cross-jump before
4812         bb-reorder.
4813
4814 2002-04-30  Tom Rix  <trix@redhat.com>
4815
4816         * regrename.c (build_def_use, copyprop_hardreg_forward_1): Sanity
4817         check which_alternative.
4818
4819 2002-04-30  Kazu Hirata  <kazu@hxi.com>
4820
4821         * cpplex.c: Fix comment formatting.
4822         * function.c: Likewise.
4823         * integrate.c: Likewise.
4824         * regrename.c: Likewise.
4825         * sibcall.c: Likewise.
4826         * simplify-rtx.c: Likewise.
4827         * tree-inline.c: Likewise.
4828
4829 2002-04-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4830
4831         * config.gcc (hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-rtems*,
4832         hppa1.0-*-osf*, hppa1.1-*-bsd*, hppa1.1-*-hpux10*, hppa2*-*-hpux10*,
4833         hppa1.0-*-hpux10*, hppa*64*-*-hpux11*, hppa1.1-*-hpux11*,
4834         hppa2*-*-hpux11*, hppa1.0-*-hpux11*, hppa*-*-lites*): Define xmake_file.
4835         * pa/t-linux, pa/t-pa, pa/t-pa64, t-pro (T_ADAFLAGS): Delete.
4836         * pa/x-ada: New file.  Define ADA_CFLAGS.
4837
4838 2002-04-30  Hans-Peter Nilsson  <hp@bitrange.com>
4839
4840         * config/mmix/mmix.h (MMIX_LAST_STACK_REGISTER_REGNUM): Renamed
4841         from MMIX_LAST_REGISTER_FILE_REGNUM.
4842         (NO_IMPLICIT_EXTERN_C): Remove cryptic obsolete comment.
4843         (struct machine_function): New member highest_saved_stack_register
4844         previously static variable in mmix.c.
4845         (MACHINE_DEPENDENT_REORG): Define.
4846         * config/mmix/mmix.c (highest_saved_stack_register): Deleted.
4847         (MMIX_OUTPUT_REGNO): New.
4848         (mmix_target_asm_function_prologue): Move calculation of last used
4849         saved-stack-register into...
4850         (mmix_machine_dependent_reorg): New function.  Update to also handle
4851         !TARGET_ABI_GNU.
4852         (mmix_print_operand): Apply MMIX_OUTPUT_REGNO when emitting
4853         register names, simplify somewhat by new variable regno.
4854         <case 'p'>: Remove fixed FIXME.  Always emit highest used saved
4855         register.
4856         (mmix_print_operand_address): Apply MMIX_OUTPUT_REGNO when
4857         emitting register names.
4858         (mmix_asm_output_reg_push, mmix_asm_output_reg_pop): Ditto.
4859         (mmix_dbx_register_number): Apply MMIX_OUTPUT_REGNO here too.
4860         Remove fixed FIXME.
4861         * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg):
4862         Declare.
4863
4864         * config/mmix/mmix.md ("divmoddi4"): Update head comment.
4865
4866 2002-04-30  Richard Henderson  <rth@redhat.com>
4867
4868         * config/sparc/sparc.c (emit_soft_tfmode_libcall,
4869         emit_soft_tfmode_binop, emit_soft_tfmode_unop, emit_soft_tfmode_cvt,
4870         emit_hard_tfmode_operation, emit_tfmode_binop, emit_tfmode_unop,
4871         emit_tfmode_cvt): New.
4872         * config/sparc/sparc.md (extendsftf2, extenddftf2, trunctfsf2,
4873         trunctfdf2, floatsitf2, floatunssitf2, floatditf2, floatunsditf2,
4874         fix_trunctfsi2, fixuns_trunctfsi2, fix_trunctfdi2, fixuns_trunctfdi2,
4875         addtf3, subtf3, multf3, divtf3, sqrttf2): Use them.
4876         * config/sparc/sparc-protos.h: Update.
4877
4878 2002-04-30  Janis Johnson  <janis187@us.ibm.com>
4879
4880         * install.texi (Final install): Add to the list of info to include
4881         in a report of a successful bootstrap, and add link to 3.1 list.
4882
4883 Tue Apr 30 19:15:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
4884
4885         * i386.md (type): Add new SSE/MMX subtypes, remove usused fop1.
4886         (mode): Add vector modes
4887         (i387): Kill attribute.
4888         (unit): New attribute.
4889         (length_immediate): Grok new types.
4890         (prefix_data16, prefix_rep, prefix_0f): Fix for SSE/MMX.
4891         (modrm): Use "unit".
4892         (memory): Handle MMX/SSE properly.
4893         (scheduling descriptions): Kill uses of fop1.
4894         (sse, mmx, fp patterns): Set type and mode properly.
4895
4896 Tue Apr 30 09:31:59 2002  Jeffrey A Law  (law@redhat.com)
4897
4898         * pa.c (override_options): Default to PA8000 scheduling.
4899         * doc/invoke.texi (HP-PA options): Mention newly added 7300
4900         scheduling parameter.
4901
4902         * pa.md (7100lc, 7200, 7300 scheduling): Slightly refine
4903         handling of double precision multiplies.
4904
4905         * pa.md (7100lc, 7200, 7300 scheduling): Refine handling of
4906         fpdiv and fpsqrt instructions.
4907         (7200 & 7300 scheduling): Fix typo in handling of
4908         store-load and store-store penalties.
4909
4910 2002-04-30  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4911
4912         * doc/contrib.texi (Contributors): Use MIPS instead of Mips and
4913         mips.  Add two missing commas.
4914
4915 2002-04-30  Paolo Carlini  <pcarlini@unitus.it>
4916
4917         * doc/contrib.texi (Contributors): Update Paolo Carlini's
4918         and Benjamin Kosnik's entries.
4919
4920 2002-04-29  David S. Miller  <davem@redhat.com>
4921
4922         * config/sparc/sparc.h (BRANCH_COST, PREFETCH_BLOCK,
4923         SIMULTANEOUS_PREFETCHES): Tune for UltraSPARC-III.
4924         * config/sparc/sparc.md (call + jmp 32-bit peepholes): Likewise.
4925         * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
4926
4927 2002-04-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4928
4929         * combine.c (find_split_point): Use gen_int_mode.
4930
4931 2002-04-29  Vladimir Makarov  <vmakarov@redhat.com>
4932
4933         Merging code from dfa-branch:
4934
4935         2002-04-24  Vladimir Makarov  <vmakarov@redhat.com>
4936
4937         * genautomata.c (output_reserv_sets): Fix typo.
4938
4939         2002-04-23  Vladimir Makarov  <vmakarov@redhat.com>
4940
4941         * genautomata.c (output_reserv_sets): Remove
4942         next_cycle_output_flag.
4943
4944         Thu Apr 18 08:57:06 2002  Jeffrey A Law  (law@redhat.com)
4945
4946         * sched-rgn.c (init_ready_list): Make the DFA code handle
4947         USE/CLOBBER insns in the same way as the traditional
4948         scheduler.
4949         (new_ready): Similarly..
4950
4951         2002-04-17  Vladimir Makarov  <vmakarov@redhat.com>
4952
4953         * haifa-sched.c (schedule_block): Change the DFA state only after
4954         issuing insn.
4955
4956         Wed Apr 17 15:38:36 2002  Jeffrey A Law  (law@redhat.com)
4957
4958         * pa.c (hppa_use_dfa_pipeline_interface): New function.
4959         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
4960         (override_options): Add PA7300 scheduling support.
4961         (pa_adjust_cost): Update various comments.  Properly
4962         handle anti and output dependencies when using the
4963         DFA scheduler.
4964         (pa_issue_rate): Add PA7300 scheduling support.
4965         (pa_can_combine_p): Call extract_insn before calling
4966         constrain_operands (taken from mainline tree).
4967         * pa.h (enum processor_type): Add PROCESSOR_PA7300.
4968         * pa.md (cpu attr): Add 7300.  Rewrite pipeline
4969         descriptions using DFA descriptions.  Add PA7300
4970         scheduling support.
4971
4972         2002-03-30  David S. Miller  <davem@redhat.com>
4973
4974         Add UltraSPARC-III DFA scheduling support.
4975         * config/sparc/sparc.md (define_attr type): Add fpcrmove.
4976         Update FP conditional move on register insn patterns to use it, as
4977         appropriate.
4978         (define_attr cpu): Add ultrasparc3.
4979         (define_attr us3load_type): New, update integer load patterns to
4980         set it, as appropriate.
4981         (define_automaton): Add ultrasparc3_0 and ultrasparc3_1.
4982         (rest): Add UltraSPARC3 scheduling description.
4983         * config/sparc/sparc.h (TARGET_CPU_ultrasparc3): New.
4984         (PROCESSOR_ULTRASPARC3): New.
4985         ({ASM,CPP}_CPU64_DEFAULT_SPEC): Handle ultrasparc3.
4986         ({ASM,CPP}_CPU_SPEC): Likewise.
4987         (REGISTER_MOVE_COST): Likewise.
4988         (RTX_COSTS): Likewise.
4989         * config/sparc/sparc.c (sparc_override_options,
4990         sparc_initialize_trampoline, sparc64_initialize_trampoline,
4991         sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
4992         sparc_issue_rate): Likewise.
4993         * config/sparc/sol2.h: Likewise.
4994         * config/sparc/sol2-sld-64.h: Likewise.
4995         * config/sparc/linux64.h: Likewise.
4996
4997         2002-03-22  Vladimir Makarov  <vmakarov@redhat.com>
4998
4999         * doc/md.texi: Add comments about usage the latency time for the
5000         different dependencies and about case when two or more conditions
5001         in different define_insn_reservations returns TRUE for an insn.
5002
5003         * doc/md.texi: Add reference for automaton based pipeline
5004         description.
5005
5006         2002-03-04  Vladimir Makarov  <vmakarov@redhat.com>
5007
5008         * doc/passes.texi: Add missed information about genattrtab.
5009
5010         2002-03-01  Vladimir Makarov  <vmakarov@redhat.com>
5011
5012         * genautomata.c (output_automata_list_transition_code): Check
5013         automata_list on NULL.
5014
5015         2002-02-28  Vladimir Makarov  <vmakarov@redhat.com>
5016
5017         * genautomata.c (output_insn_code_cases,
5018         output_automata_list_min_issue_delay_code,
5019         output_automata_list_transition_code,
5020         output_automata_list_state_alts_code): Comment the functions.
5021
5022         2002-02-22  Vladimir Makarov  <vmakarov@redhat.com>
5023
5024         * genautomata.c (automata_list_el_t): New typedef.
5025         (get_free_automata_list_el,free_automata_list_el,
5026         free_automata_list, automata_list_hash, automata_list_eq_p,
5027         initiate_automata_lists, automata_list_start, automata_list_add,
5028         automata_list_finish, finish_automata_lists,
5029         output_insn_code_cases, output_automata_list_min_issue_delay_code,
5030         output_automata_list_transition_code,
5031         output_automata_list_state_alts_code, add_automaton_state,
5032         form_important_insn_automata_lists): New functions and prototypes.
5033         (insn_reserv_decl): Add members important_automata_list and
5034         processed_p.
5035         (ainsn): Add members important_p.
5036         (automata_list_el): New structure.
5037         (first_free_automata_list_el, current_automata_list,
5038         automata_list_table): New global variables.
5039         (create_ainsns): Initiate member important_p.
5040         (output_internal_min_issue_delay_func): Generate the switch and
5041         call output_insn_code_cases.
5042         (output_internal_trans_func, output_internal_state_alts_func):
5043         Ditto.
5044         (generate): Call initiate_automata_lists.
5045         (automaton_states): New global variable.
5046         (expand_automata): Call form_important_insn_automata_lists.
5047         (write_automata): Call finish_automata_lists.
5048
5049         2002-02-21  Vladimir Makarov  <vmakarov@redhat.com>
5050
5051         * genautomata.c (add_excls, add_presence_absence): Check that
5052         cpu units in the sets belong the same automaton.
5053
5054         * rtl.def (EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET): Add comment
5055         about that cpu units in the sets belong the same automaton.
5056
5057         * doc/md.texi: Ditto.
5058
5059         2001-12-20  Naveen Sharma  <naveens@noida.hcltech.com>
5060                     Nitin Gupta  <niting@noida.hcltech.com>
5061
5062         * config/sh/sh.c (sh_use_dfa_interface): New function.
5063
5064         (sh_issue_rate): New Function.
5065         TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE: define.
5066         TARGET_SCHED_ISSUE_RATE: define.
5067
5068         * config/sh/sh.md: Add DFA based pipeline description for SH4.
5069
5070         (define_attr insn_class): New attribute used for DFA
5071          scheduling.
5072         (define_insn cmpgtsi_t): Set attribute insn_class mt_group.
5073         (cmpgesi_t,cmpgtusi_t,cmpgeusi_t,cmpeqsi_t,
5074          cmpeqdi_t): Likewise.
5075
5076         (add,addc1,addsi3,subc,subc1,*subsi3_internal,
5077          negc,negsi2,ashldi3_k,lshrdi3_k,ashrdi3_k): Set insn_class
5078          ex_group.
5079         (iorsi3,rotlsi3_1,rotlsi3_31,rotlsi3_16): Likewise.
5080
5081         2001-10-03  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
5082
5083         * haifa-sched.c (queue_to_ready): Remove unnecessary condition for
5084         break.
5085
5086         2001-10-03  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
5087
5088         * genautomata.c (DFA_INSN_CODES_LENGTH_VARIABLE_NAME): New macro.
5089         (output_dfa_insn_code_func): Expand dfa_insn_codes if it is
5090         necessary.
5091         (output_dfa_start_func): Initiate new variable insn_codes_length,
5092         (write_automata): Output definition of the new variable.
5093
5094         2001-10-02  David S. Miller  <davem@redhat.com>
5095
5096         * haifa-sched.c (advance_one_cycle): New function.
5097         (schedule_block): Use it.
5098         (queue_to_ready): Use it, and also make sure to advance the DFA
5099         state on all stall cycles, not just those where insn_queue links
5100         are found.
5101
5102         2001-10-02  Richard Sandiford  <rsandifo@redhat.com>
5103
5104         * haifa-sched.c (max_issue): Remove last_p argument.  Only return
5105         non-zero if the highest-priority instruction could be scheduled.
5106         (choose_ready): Remove last argument from max_issue call.
5107
5108         2001-09-28  David S. Miller  <davem@redhat.com>
5109
5110         * config/sparc/sparc.c (sparc_use_sched_lookahead): Use 4 for
5111         ultrasparc and 3 for other multi-issue sparcs.
5112
5113         2001-09-27  David S. Miller  <davem@redhat.com>
5114
5115         * config/sparc/sparc.md (cycle_display): New pattern.
5116         * config/sparc/sparc.c (sparc_cycle_display): New.
5117         (TARGET_SCHED_CYCLE_DISPLAY): Set it.
5118
5119         2001-09-25  David S. Miller  <davem@redhat.com>
5120
5121         Convert all of Sparc scheduling to DFA
5122         * config/sparc/sparc.md: Kill all define_function_unit
5123         directives and replace with DFA equivalent.
5124         * config/sparc/sparc.c (ultrasparc_adjust_cost,
5125         mark_ultrasparc_pipeline_state, ultra_cmove_results_ready_p,
5126         ultra_fpmode_conflict_exists, ultra_find_type,
5127         ultra_build_types_avail, ultra_flush_pipeline,
5128         ultra_rescan_pipeline_state, ultrasparc_sched_reorder,
5129         ultrasparc_variable_issue, ultrasparc_sched_init,
5130         sparc_variable_issue, sparc_sched_reorder, ultra_code_from_mask,
5131         ultra_schedule_insn, ultra_code_names, ultra_pipe_hist,
5132         ultra_cur_hist, ultra_cycles_elapsed): Kill.
5133         (sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
5134         ultrasparc_store_bypass_p): New.
5135         * config/sparc/sparc-protos.h (ultrasparc_store_bypass_p):
5136         Declare.
5137
5138         2001-09-24  David S. Miller  <davem@redhat.com>
5139
5140         * haifa-sched.c (ready_remove): Fix thinko, we want to copy around
5141         ready->vec[foo] not ready[foo].
5142
5143         2001-09-07  Vladimir Makarov  <vmakarov@redhat.com>
5144
5145         * doc/md.texi: Correct examples for define_insn_reservations
5146         `mult' and `div'.
5147
5148         2001-09-07  Vladimir Makarov  <vmakarov@redhat.com>
5149
5150         * genautomata.c (create_automata): Print message about creation of
5151         each automaton.
5152         (generate): Remove printing meease about creation of
5153         automata.
5154
5155         2001-09-05  David S. Miller  <davem@redhat.com>
5156
5157         * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
5158         * config/sparc/linux64.h: Likewise.
5159
5160         2001-08-31  Vladimir Makarov  <vmakarov@redhat.com>
5161
5162         * haifa-sched.c (insn_cost, schedule_insn, queue_to_ready,
5163         schedule_block, sched_init, sched_finish): Add missed calls of
5164         use_dfa_pipeline_interface.
5165
5166         * sched-rgn.c (init_ready_list, new_ready, debug_dependencies):
5167         Ditto.
5168
5169         * sched-vis.c (get_visual_tbl_length): Ditto.
5170
5171         2001-08-27  Richard Henderson  <rth@redhat.com>
5172
5173         * genattr.c (main): Emit state_t even when not doing scheduling.
5174
5175         2001-08-27  Richard Henderson  <rth@redhat.com>
5176
5177         * genautomata.c (expand_automata): Always create a description.
5178
5179         2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
5180
5181         * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
5182         PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
5183         AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
5184         RTL constructions.
5185
5186         * genattr.c (main): New variable num_insn_reservations.  Increase
5187         it if there is DEFINE_INSN_RESERVATION.  Output automaton based
5188         pipeline hazard recognizer interface.
5189
5190         * genattrtab.h: New file.
5191
5192         * genattrtab.c: Include genattrtab.h.
5193         (attr_printf, check_attr_test, make_internal_attr,
5194         make_numeric_value): Move protypes into genattrtab.h.  Define them
5195         as external.
5196         (num_dfa_decls): New global variable.
5197         (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
5198         DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
5199         DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
5200         DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
5201
5202         * genautomata.c: New file.
5203
5204         * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
5205
5206         * sched-int.h: (curr_state): Add the external definition for
5207         automaton pipeline interface.
5208         (haifa_insn_data): Add comments for members blockage and units.
5209
5210         * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
5211         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
5212         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
5213         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
5214         TARGET_SCHED_DFA_POST_CYCLE_INSN,
5215         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
5216         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
5217         macros.
5218         (TARGET_SCHED): Use the new macros.
5219
5220         * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
5221         dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
5222         first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
5223         dfa_bubble): New members in gcc_target.sched.
5224
5225         * haifa-sched.c (insert_schedule_bubbles_p): New variable.
5226         (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
5227         (insn_queue): Redefine it as pointer to array.
5228         (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
5229         INSN_QUEUE_SIZE.
5230         (max_insn_queue_index_macro_value): New variable.
5231         (curr_state, dfa_state_size, ready_try): New varaibles for
5232         automaton interface.
5233         (ready_element, ready_remove, max_issue): New function prototypes
5234         for automaton interface.
5235         (choose_ready): New function prototype.
5236         (insn_unit, blockage_range): Add comments.
5237         (unit_last_insn, unit_tick, unit_n_insns): Define them for case
5238         FUNCTION_UNITS_SIZE == 0.
5239         (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
5240         actual_hazard, potential_hazard): Add comments.
5241         (insn_cost): Use cost -1 as undefined value.  Remove
5242         LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
5243         pipeline interface.
5244         (ready_element, ready_remove): New functions for automaton
5245         interface.
5246         (schedule_insn): Add new code for automaton pipeline interface.
5247         (queue_to_ready): Add new code for automaton pipeline interface.
5248         Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
5249         (debug_ready_list): Print newline when the queue is empty.
5250         (max_issue): New function for automaton pipeline interface.
5251         (choose_ready): New function.
5252         (schedule_block): Add new code for automaton pipeline interface.
5253         Print ready list before scheduling each insn.
5254         (sched_init): Add new code for automaton pipeline interface.
5255         Initiate insn cost by -1.
5256         (sched_finish): Free the current automaton state and finalize
5257         automaton pipeline interface.
5258
5259         * sched-rgn.c: Include target.h.
5260         (init_ready_list, new_ready, debug_dependencies): Add new code for
5261         automaton pipeline interface.
5262
5263         * sched-vis.c: Include target.h.
5264         (get_visual_tbl_length): Add code for automaton interface.
5265         (target_units, print_block_visualization):  Add comments.
5266
5267         * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
5268         USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
5269         (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
5270         (getruntime.o, genautomata.o): New entries.
5271         (genattrtab.o): Add new dependency file genattrtab.h.
5272         (genattrtab): Add new dependencies.  Link it with `libm.a'.
5273         (getruntime.o, hashtab.o): New entries for canadian cross.
5274
5275         * doc/md.texi: Description of automaton based model.
5276
5277         * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
5278         Add comments.
5279         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
5280         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
5281         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
5282         TARGET_SCHED_DFA_POST_CYCLE_INSN,
5283         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
5284         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
5285         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
5286         hook descriptions.
5287         (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
5288         MAX_DFA_ISSUE_RATE): New macro descriptions.
5289
5290         * doc/contrib.texi: Add dfa based scheduler contribution.
5291
5292         * doc/gcc.texi: Add more information about genattrtab.
5293
5294 Mon Apr 29 17:19:10 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5295
5296         * reload1.c (eliminate_regs, case SUBREG): Fix typo in
5297         adjust_address_nv call.
5298
5299 2002-04-29  Janis Johnson  <janis187@us.ibm.com>
5300
5301         * doc/install.texi (Testing): Provide additional information, and
5302         a stronger encouragement, for running the testsuites.
5303
5304 2002-04-29  DJ Delorie  <dj@redhat.com>
5305
5306         * config/mips/mips.c (mips_parse_cpu): Warn if the CPU name is
5307         given in upper case.
5308
5309 2002-04-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5310
5311         * fixinc/inclhack.def (solaris_widec): Include <wchar.h> in
5312         Solaris 2 <widec.h> if missing.
5313         * fixinc/fixincl.x: Regenerate.
5314         * fixinc/tests/base/widec.h: New file.
5315
5316 2002-04-29  Nick Clifton  <nickc@cambridge.redhat.com>
5317
5318         * toplev.c (f_options): Add "profile" switch so that
5319         -fno-profile can be used to disable -p.
5320
5321 2002-04-29  Bernd Schmidt  <bernds@redhat.com>
5322
5323         * c-common.c (type_for_mode): Add support for V2DFmode, V2DImode,
5324         UV2DImode.
5325         * tree.c (build_common_tree_nodes_2): Likewise.
5326         * tree.h (enum tree_index): Likewise.
5327         (V2DF_type_node, V2DI_type_node, unsigned_V2DI_type_node): Define.
5328
5329         * config/i386/i386.c (bdesc_comi, bdesc_2arg, bdesc_1arg): Add SSE2
5330         entries.
5331         (init_mmx_sse_builtins): Initialize SSE2 builtins.
5332         (ix86_expand_builtin): Add support for SSE2 builtins.
5333         * config/i386/i386.h (VALID_SSE2_REG_MODE): New macro.
5334         (VALID_SSE_REG_MODE): Use it.
5335         (VECTOR_MODE_SUPPORTED_P): Allow SSE2 modes here as well.
5336         (enum ix86_builtins): Add SSE2 builtins.
5337         * config/i386/i386.md (movv2df_internal, movv2df, movv8hi_internal,
5338         movv8hi, movv16qi_internal, movv16qi, pushv2df, pushv8hi, pushv16qi,
5339         addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3, vmmulv2df3,
5340         divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3, vmsminv2df3,
5341         sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3, sqrtv2df2,
5342         vmsqrtv2df2, maskcmpv2df3, maskncmpv2df3, vmmaskcmpv2df3,
5343         vmmaskncmpv2df3, sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb,
5344         sse2_maskmovdqu, sse2_movntv2df, sse2_movntti, sse2_movntsi, cvtdq2ps,
5345         cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq, cvtpd2pi,
5346         cvttpd2pi, cvtpi2pd, cvtsd2si, cvttsd2si, cvtsi2sd, cvtsd2ss,
5347         cvtss2sd, cvtpd2ps, cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3,
5348         ssaddv16qi3, ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3,
5349         subv4si3, subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3,
5350         mulv8hi3, smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
5351         sse2_umulv2siv2di3, sse2_pmaddwd, sse2_clrti, sse2_uavgv16qi3,
5352         sse2_uavgv8hi3, sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd,
5353         sse2_pshuflw, sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3,
5354         gtv8hi3, gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3,
5355         ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, sse2_lshrv2di3,
5356         ashlv8hi3, ashlv4si3, sse2_ashlv2di3, sse2_ashlti3, sse2_lshrti3,
5357         sse2_unpckhpd, sse2_unpcklpd, sse2_packsswb, sse2_packssdw,
5358         sse2_packuswb, sse2_punpckhbw, sse2_punpckhwd, sse2_punpckhdq,
5359         sse2_punpcklbw, sse2_punpcklwd, sse2_punpckldq, sse2_movapd,
5360         sse2_movupd, sse2_movdqa, sse2_movdqu, sse2_movdq2q, sse2_movq2dq,
5361         sse2_movhpd, sse2_movlpd, sse2_loadsd, sse2_movsd, sse2_storesd,
5362         sse2_shufpd, sse2_clflush, sse2_mfence, mfence_insn, sse2_lfence,
5363         lfence_insn): New patterns.
5364         (sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Renamed from
5365         sse_andti3_sse2, sse_nandti3_sse2, sse_iorti3_sse2, sse_xorti3_sse2.
5366
5367 Mon Apr 29 17:03:24 CEST 2002  Jan Hubicka  <jh@suse.cz>
5368
5369         * i386.md (sse_mov?fcc*): Revert patch of Mar 14th.
5370
5371 2002-04-29  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5372
5373         * doc/contrib.texi (Contributors): Add Paolo Carlini and
5374         Janis Johnson.
5375         Update Richard Henderson, Jakub Jelinek, and Mark Mitchell.
5376         Refer to Objective-C instead of ObjC, SPARC instead of sparc,
5377         and CPU instead of cpu.
5378
5379 Mon Apr 29 13:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
5380
5381         * toplev.c (flag_if_conversion, flag_if_conversion2): New static
5382         variables.
5383         (lang_independent_options): Add -fif-conversion, -fif-conversion2
5384         (rest_of_compilation): Do if conversion only when asked for.
5385         (parse_options_and_default_flags): Set new variables to 1 for -O1
5386         * invoke.texi (-fif-conversion, -fif-conversion2): Document.
5387
5388 Mon Apr 29 13:02:50 CEST 2002  Jan Hubicka  <jh@suse.cz>
5389
5390         * i386.c (dbx64_register_map): Fix typo.
5391
5392 Mon Apr 29 12:18:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
5393
5394         * predict.c (real_zero, real_one, real_almost_one, real_br_prob_base,
5395         real_one_half, real_bb_freq_max): New static variables.
5396         (debug_profile_bbauxs): Kill.
5397         (process_note_predictions): Kill unused variable.
5398         (block_info_def, edge_info_def): Use REAL_VALUE_TYPE instead of
5399         volatile double.
5400         (propagate_freq): Use REAL_ARITHMETICS.
5401         (estimate_bb_frequencies): Likevise; init new static variables.
5402         * Makefile.in (predict.o): Add dependency on real.h
5403
5404 2002-04-28  David S. Miller  <davem@redhat.com>
5405
5406         PR target/6500
5407         * config/sparc/sparc.md (prefetch): Emit properly for 32-bit vs.
5408         64-bit TARGET_V9.  Do not use prefetch page, use prefetch for
5409         several {reads,writes} instead.
5410         * config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
5411         Define.
5412
5413 2002-04-27  David S. Miller  <davem@redhat.com>
5414
5415         PR target/6494
5416         * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Be mindful
5417         of the stack bias.
5418
5419         * config/sparc/linux.h, config/sparc/linux64.h: Don't bother
5420         including signal.h and sys/ucontext.h, not needed.
5421
5422 2002-04-29  Hans-Peter Nilsson  <hp@bitrange.com>
5423
5424         * varasm.c (output_constant_def): Correct test for not calling
5425         ENCODE_SECTION_INFO for INTEGER_CST.
5426
5427 2002-04-29  Neil Booth  <neil@daikokuya.demon.co.uk>
5428
5429         * cppexp.c (lex): Move some code to _cpp_parse_expr, but
5430         keep most cases as function eval_token.
5431         (eval_token): New function.
5432         (_cpp_parse_expr): Read token here for improved diagnostics.
5433         Don't use op_as_text.  Detect bad ':' here.
5434         (reduce): Don't detect bad ':' here.
5435         (op_as_text): Remove.
5436         * cpphash.h (_cpp_test_assertion): Change prototype.
5437         * cpplib.c (_cpp_test_assertion): Change prototype.
5438
5439 2002-04-28  Richard Henderson  <rth@redhat.com>
5440
5441         PR c/5154
5442         * ggc-common.c (ggc_mark_rtx_children_1): Rename from...
5443         (ggc_mark_rtx_children): New.
5444
5445 2002-04-28  Jakub Jelinek  <jakub@redhat.com>
5446
5447         PR target/6496
5448         * config/sparc/sparc.md (call + jump 32-bit peepholes): Disable jump
5449         after call peepholes for UltraSPARC.
5450         (call + jump 64-bit peepholes): Remove.
5451
5452 2002-04-28  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5453
5454         PR c/6497
5455         * config/rs6000/rs6000.md (sCC patterns): Remove clobber and use
5456         result as temporary value.
5457
5458 2002-04-28  Jakub Jelinek  <jakub@redhat.com>
5459
5460         PR c++/6396
5461         * toplev.c (rest_of_compilation): Only run regrename and copy
5462         propagation if optimizing.
5463
5464 2002-04-28  Jakub Jelinek  <jakub@redhat.com>
5465
5466         PR optimization/6475
5467         * reload1.c (alter_reg): Only call set_mem_expr if I is home pseudo
5468         register of REGNO_DECL (i).
5469         * Makefile.in (reload1.o): Add $(TREE_H).
5470
5471 2002-04-28  Neil Booth  <neil@daikokuya.demon.co.uk>
5472
5473         * cppexp.c (lex): Update to use state.skip_eval.
5474         (struct op): Remove prio and flags members.
5475         (FLAG_BITS, FLAG_MASK, PRIO_SHIFT, EXTRACT_PRIO, EXTRACT_FLAGS,
5476         SHORT_CIRCUIT, RIGHT_ASSOC, ..._PRIO, op_to_prio): Remove.
5477         (LEFT_ASSOC): New macro.
5478         (optab): New table of operator priorities and flags.
5479         (SHIFT): Update.
5480         (_cpp_parse_expr): Clean up logic.  Return bool.  Use a
5481         malloc-ed parser stack.
5482         (reduce): New; reduce the operator stack.
5483         (_cpp_expand_op_stack): Expand the operator stack as necessary.
5484         * cpphash.h (struct op): Predeclare.
5485         (struct cpp_reader): New members op_stack, op_limit.
5486         (struct lexer_state): New member skip_eval.
5487         (_cpp_parse_expr): Update.
5488         (_cpp_expand_op_stack): New.
5489         * cpplib.c (do_if): Update.
5490         * cppinit.c (cpp_create_reader): Create op stack.
5491         (cpp_destroy): And destroy it.
5492         * cpplib.h (CPP_LAST_CPP_OP): Correct.
5493         (TTYPE_TABLE): Correct.
5494
5495 2002-04-28  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
5496
5497         PR c/6343
5498         * c-decl.c (duplicate_decls): Call merge_weak.
5499         * c-pragma.c (apply_pragma_weak): Warn about misuse.
5500         * output.h (merge_weak): Prototype merge_weak.
5501         * varasm.c (merge_weak): New function.
5502         (declare_weak): Make sure we don't give an error on VAR_DECLs.
5503         Mark RTL with SYMBOL_REF_WEAK.
5504
5505 2002-04-27  Kurt Garloff <garloff@suse.de>
5506
5507         * tree-inline.c (inlinable_function_p): Improve heuristics
5508         by using a smoother function to cut down allowable inlinable size.
5509         * param.def: Add parameters max-inline-insns-single,
5510         max-inline-slope, min-inline-insns that determine the exact
5511         shape of the above function.
5512         * param.h: Likewise.
5513
5514 2002-04-26  Richard Henderson  <rth@redhat.com>
5515
5516         * c-parse.in (malloced_yyss, malloced_yyvs): New.
5517         (yyoverflow): Re-add.  Set them.
5518         (free_parser_stacks): New.
5519         * c-common.h: Declare it.
5520         * c-lex.c (c_common_parse_file): Call it.
5521
5522 2002-04-26  Richard Henderson  <rth@redhat.com>
5523
5524         * cfgrtl.c (tidy_fallthru_edge): Don't use next_real_insn
5525         for fallthru search.
5526
5527 2002-04-26  Eric Christopher  <echristo@redhat.com>
5528
5529         PR optimization/3700
5530         * config/mips/mips.c (mips_issue_rate): Define.  New function.
5531         (TARGET_SCHED_ISSUE_RATE): Use.
5532
5533 2002-04-25  David S. Miller  <davem@redhat.com>
5534
5535         PR target/6422
5536         * reorg.c (optimize_skip): Do not allow exception causing
5537         instructions to be considered for delay slots.
5538         (fill_simply_delay_slots, fill_slots_from_thread): Likewise.
5539         (relax_delay_slots): Do not try to consider exception causing
5540         instructions as redundant.
5541
5542 2002-04-26  Richard Henderson  <rth@redhat.com>
5543
5544         PR c/5225
5545         * c-typeck.c (build_unary_op) [CONVERT_EXPR]: Invoke non_lvalue.
5546
5547 2002-04-26  Mark Mitchell  <mark@codesourcery.com>
5548
5549         PR bootstrap/6445
5550         * config/i386/i386.md (untyped_call): Return the value in a float
5551         register if TARGET_FLOAT_RETURNS_IN_80387, not just if
5552         TARGET_80387.
5553
5554 2002-04-26  Alexandre Oliva  <aoliva@redhat.com>
5555
5556         * tree.c (tree_int_cst_lt): Compare constants whose types differ
5557         in unsigned-ness correctly.
5558
5559 2002-04-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5560
5561         * pa.h (FUNCTION_OK_FOR_SIBCALL): Don't do sibcalls when using the
5562         portable runtime model.
5563
5564 2002-04-26  Richard Henderson  <rth@redhat.com>
5565
5566         * c-parse.in (yyoverflow): Revert.
5567
5568 2002-04-26  David Edelsohn  <edelsohn@gnu.org>
5569             Richard Henderson  <rth@redhat.com>
5570
5571         * config/rs6000/rs6000.md (sCC pattern): Remove clobber and use
5572         result as temporary value.
5573
5574 2002-04-26  Richard Henderson  <rth@redhat.com>
5575
5576         PR c/3581
5577         * c-common.c (fix_string_type): Split out of ...
5578         (combine_strings): ... here.  Take a varray, not a tree list.
5579         (c_expand_builtin_printf): Use fix_string_type.
5580         * c-common.h: Update decls.
5581         * c-parse.in (string): Remove.  Update all uses to use STRING
5582         instead, and not call combine_strings.
5583         (yylexstring): New.
5584         (_yylex): Use it.
5585         * c-typeck.c (simple_asm_stmt): Don't call combine_strings.
5586         (build_asm_stmt): Likewise.
5587         * objc/objc-act.c (my_build_string): Use fix_string_type.
5588         (build_objc_string_object): Build varray for combine_strings.
5589
5590 2002-04-26  Bo Thorsen  <bo@suse.co.uk>
5591
5592         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Define for
5593         x86-64.
5594
5595 2002-04-26  Neil Booth  <neil@daikokuya.demon.co.uk>
5596
5597         * cppexp.c (CPP_UMINUS, CPP_UPLUS): New.
5598         (HAVE_NO_R_OPERAND): Remove.
5599         (HAVE_VALUE): Remove.
5600         (op_to_prio): Update.
5601         (UNARY): Don't alter flags.
5602         (_cpp_parse_expr): want_value used to indicate whether
5603         a number or unary operator is expected next.  Distinguish
5604         unary and binary +/-.
5605         (op_as_text): Update for unary operators.
5606
5607 2002-04-25  Richard Henderson  <rth@redhat.com>
5608
5609         PR c/2161
5610         * c-parse.in (yyoverflow): New.
5611
5612 2002-04-25  Richard Henderson  <rth@redhat.com>
5613
5614         PR c/2098
5615         * c-common.c (shorten_compare): Simplfy conditions leading to
5616         the generation of a warning.
5617
5618 2002-04-25  Richard Henderson  <rth@redhat.com>
5619
5620         PR c/2035
5621         * expmed.c (extract_bit_field): Fall through to generic code rather
5622         than aborting on subreg special case.
5623
5624 2002-04-25  David S. Miller  <davem@redhat.com>
5625
5626         * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Add back check
5627         for DECL being NULL.
5628
5629 2002-04-25  Steve Christiansen  <smc@us.ibm.com>
5630
5631         * doc/md.texi (Machine Constraints): Add IA-64 constraints.
5632
5633 2002-04-25  Eric Botcazou  <ebotcazou@multimania.com>
5634
5635         * c-decl.c (grokdeclarator): Remove outdated ??? note
5636         on invalid declaration of flexible array members.
5637
5638 2002-04-25  Richard Henderson  <rth@redhat.com>
5639
5640         * doc/invoke.texi: Document -gdwarf{,-2} vs debug level.
5641
5642 2002-04-25  Ulrich Weigand  <uweigand@de.ibm.com>
5643
5644         * config/s390/s390.c (s390_emit_epilogue): Always restore registers
5645         needed by the compiler, even if they are used as global regs.
5646
5647 2002-04-25  Matt Hiller  <hiller@redhat.com>
5648
5649         * mips.c (mips_class_max_nregs, mips_register_move_cost): New
5650         functions.
5651         * mips.h (CLASS_MAX_NREGS, REGISTER_MOVE_COST): Redefine as calls
5652         of the corresponding functions.
5653         * mips-protos.h (mips_class_max_nregs, mips_register_move_cost):
5654         New prototypes.
5655
5656 2002-04-25  Matt Hiller  <hiller@redhat.com>
5657
5658         * config/mips/mips.h (mips_sw_reg_names): Declare as extern.
5659
5660         (ALL_COP_ADDITIONAL_REGISTER_NAMES): New macro.
5661         (FIRST_PSEUDO_REGISTER): Redefine considering coprocessor
5662         registers, adjust comment accordingly.
5663         (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
5664         reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGISTER_NAMES,
5665         DEBUG_REGISTER_NAMES, REG_ALLOC_ORDER): Adjust to include entries
5666         for coprocessor registers.
5667         (ADDITIONAL_REGISTER_NAMES): Include
5668         ALL_COP_ADDITIONAL_REGISTER_NAMES.
5669
5670         (COP0_REG_FIRST, COP0_REG_LAST, COP0_REG_NUM,
5671         COP2_REG_FIRST, COP2_REG_LAST, COP2_REG_NUM,
5672         COP3_REG_FIRST, COP3_REG_LAST, COP3_REG_NUM,
5673         COP0_REG_P, COP2_REG_P, COP3_REG_P, ALL_COP_REG_P,
5674         COPNUM_AS_CHAR_FROM_REGNUM, COP_REG_CLASS_P): New macros.
5675
5676         (mips_char_to_class): Adjust comment to include coprocessor
5677         constraint letters.
5678
5679         * config/mips/mips.c (coprocessor_operand, coprocessor2_operand):
5680         New functions.
5681         (mips_reg_names, mips_regno_to_class): Include coprocessor
5682         information.
5683         (mips_sw_reg_names): Ditto, make non-static.
5684         (mips_move_1word): Handle moves to and from coprocessor registers.
5685         (mips_move_2words): Handle moves to and from coprocessor
5686         registers.
5687         (mips_class_max_nregs, mips_register_move_cost): Handle
5688         coprocessor register classes.
5689         (override_options): Initialize mips_char_to_class and
5690         mips_hard_regno_mode_ok properly for coprocessor registers.
5691
5692         * config/mips/mips.md (movdi_internal, movdi_internal2,
5693         movsi_internal1, movsi_internal2): Add constraint-sets for
5694         coprocessor registers.
5695         * testsuite/gcc.c-torture/mipscop-1.c: New testcase.
5696         * testsuite/gcc.c-torture/mipscop-1.x: Disable above if target
5697         isn't mips.
5698         * testsuite/gcc.c-torture/mipscop-2.c: New testcase.
5699         * testsuite/gcc.c-torture/mipscop-2.x: Disable above if target
5700         isn't mips.
5701         * testsuite/gcc.c-torture/mipscop-3.c: New testcase.
5702         * testsuite/gcc.c-torture/mipscop-3.x: Disable above if target
5703         isn't mips.
5704         * testsuite/gcc.c-torture/mipscop-4.c: New testcase.
5705         * testsuite/gcc.c-torture/mipscop-4.x: Disable above if target
5706         isn't mips.
5707
5708         * doc/tm.texi: Document feature.
5709
5710 2002-04-25  Neil Booth  <neil@daikokuya.demon.co.uk>
5711
5712         * integrate.c (function_attribute_inlinable_p): Simplify.
5713         Check the table pointer is not NULL.
5714
5715 2002-04-25  Steven Bosscher  <S.Bosscher@student.tudelft.nl>
5716
5717         * doc/c-tree.texi: Fix typo in introduction.
5718
5719 2002-04-25  Neil Booth  <neil@daikokuya.demon.co.uk>
5720
5721         * c-common.h (c_common_parse_file): Update.
5722         * c-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
5723         * c-lex.c (YYDEBUG): Get from c-lex.h.
5724         (c_common_parse_file): Update.
5725         * c-lex.h (YYDEBUG, yydebug): New.
5726         * c-parse.in (YYDEBUG): Get from c-lex.h.
5727         (c_set_yydebug): Remove.
5728         * c-tree.h (c_set_yydebug): Remove.
5729         * langhooks-def.h (lhd_do_nothing_i): New.
5730         (lhd_set_yydebug, LANG_HOOKS_SET_YYDEBUG): Remove.
5731         (LANG_HOOKS_PARSE_FILE, LANG_HOOKS_INITIALIZER): Update.
5732         * langhooks.c  (lhd_do_nothing_i): New.
5733         (lhd_set_yydebug): Remove.
5734         * langhooks.h (struct lang_hooks): Update.
5735         * toplev.c (set_yydebug): New.
5736         (compile_file): Update call to parse_file hook.
5737         (decode_d_option): Update.
5738 objc:
5739         * objc-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
5740
5741 Wed Apr 24 23:45:37 2002  J"orn Rennecke <joern.rennecke@superh.com>
5742
5743         * loop.c (load_mems): Don't change the interface of called functions.
5744
5745         * calls.c (expand_call): Take current_function_pretend_args_size
5746         into account when setting argblock for sibcalls.
5747
5748 2002-04-24  Matt Hiller  <hiller@redhat.com>
5749
5750         * cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
5751         * c-lex.c: Ditto.
5752
5753         * cpplex.c (skip_line_comment): Process comment one multibyte
5754         character at a time rather than one char at a time, if
5755         appropriate.
5756         (parse_string): Process string one multibyte character at a time
5757         rather than one char at a time, if appropriate.
5758         * c-lex.c (lex_string): Lex and copy multibyte strings
5759         appropriately.
5760         * cpplib.h (cppchar_t): Change to unsigned.
5761
5762 2002-04-24  Richard Henderson  <rth@redhat.com>
5763
5764         PR c/3467
5765         * c-decl.c (grokdeclarator): Don't pedwarn variable sized arrays
5766         for c99.
5767
5768 Wed Apr 24 21:51:54 2002  J"orn Rennecke <joern.rennecke@superh.com>
5769
5770         * sh.c (sh_va_arg): If argument was passed by reference,
5771         dereference the pointer.
5772
5773         * sh.h (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
5774
5775         * sh.md (divsi3_i4_media): Use match_operand for input values
5776         rather than hard registers.
5777         (divsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
5778         unnecessarily through hard registers.  Keep copies of pseudo
5779         registers outside of the libcall sequence.
5780
5781         * sh.md (casesi_shift_media): Add modes.
5782
5783         * sh.h (RETURN_IN_MEMORY): Return variable size BLKmode
5784         values in memory.
5785
5786 2002-04-24  Neil Booth  <neil@daikokuya.demon.co.uk>
5787
5788         * attribs.c (c_common_attribute_table): Move table and handlers
5789         to c-common.c.
5790         (format_attribute_table, lang_attribute_table,
5791         lang_attribute_common): Remove.
5792         (init_attributes): Replace NULL pointers with pointers to the
5793         empty table.
5794         (handle_packed_attribute, handle_nocommon_attribute,
5795         handle_common_attribute, handle_noreturn_attribute,
5796         handle_noinline_attribute, handle_always_inline_attribute,
5797         handle_used_attribute, handle_unused_attribute,
5798         handle_const_attribute, handle_transparent_union_attribute,
5799         handle_constructor_attribute, handle_destructor_attribute,
5800         handle_mode_attribute, handle_section_attribute,
5801         handle_aligned_attribute, handle_weak_attribute,
5802         handle_alias_attribute, handle_visibility_attribute,
5803         handle_no_instrument_function_attribute, handle_malloc_attribute,
5804         handle_no_limit_stack_attribute, handle_pure_attribute,
5805         handle_deprecated_attribute, handle_vector_size_attribute,
5806         vector_size_helper): Move to c-common.c.
5807         * c-common.c (c_common_attribute_table,
5808         handle_packed_attribute, handle_nocommon_attribute,
5809         handle_common_attribute, handle_noreturn_attribute,
5810         handle_noinline_attribute, handle_always_inline_attribute,
5811         handle_used_attribute, handle_unused_attribute,
5812         handle_const_attribute, handle_transparent_union_attribute,
5813         handle_constructor_attribute, handle_destructor_attribute,
5814         handle_mode_attribute, handle_section_attribute,
5815         handle_aligned_attribute, handle_weak_attribute,
5816         handle_alias_attribute, handle_visibility_attribute,
5817         handle_no_instrument_function_attribute, handle_malloc_attribute,
5818         handle_no_limit_stack_attribute, handle_pure_attribute,
5819         handle_deprecated_attribute, handle_vector_size_attribute,
5820         vector_size_helper): Move from attribs.c.
5821         * c-common.h (c_common_attribute_table,
5822         c_common_format_attribute_table): New.
5823         * c-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
5824         LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
5825         * langhooks-def.h (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
5826         LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_ATTRIBUTE_TABLE): New.
5827         (LANG_HOOKS_INITIALIZER): Update.
5828         * langhooks.h (struct lang_hooks): 3 new attribute hooks.
5829         * target-def.h (TARGET_ATTRIBUTE_TABLE): Default to NULL.
5830         * target.h: Update comment.
5831         * tree.c (default_target_attribute_table): Remove.
5832         * tree.h (default_target_attribute_table, format_attribute_table,
5833         lang_attribute_table, lang_attribute_common): Remove.
5834 objc:
5835         * objc-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
5836         LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
5837
5838 2002-04-24  Jason Merrill  <jason@redhat.com>
5839
5840         * dwarf2.h (enum dwarf_attribute): Add DW_AT_GNU_vector.
5841         * dwarf2out.c (dwarf_attr_name): Support it.
5842         (gen_array_type_die): Emit it.
5843         (lookup_type_die): No special handling for VECTOR_TYPE.
5844         (gen_type_die): Hand VECTOR_TYPE off to gen_array_type_die.
5845
5846 2002-04-24  Richard Henderson  <rth@redhat.com>
5847
5848         * config/mips/mips.md (movdi_usd): Renumber.
5849
5850 2002-04-24  David S. Miller  <davem@redhat.com>
5851
5852         PR target/6420
5853         * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Return false if
5854         32-bit Sparc and current_function_returns_struct is true.
5855
5856 Wed Apr 24 13:48:25 CEST 2002  Jan Hubicka  <jh@suse.cz>
5857
5858         * loop.c (canonicalize_condition): Use gen_int_mode.
5859
5860 2002-04-24  Aldy Hernandez  <aldyh@redhat.com>
5861
5862         * config/rs6000/altivec.h: Cleanup file.  Add non individual
5863         variants.
5864         (vec_vaddubm): New.
5865         (vec_vadduhm): New.
5866         (vec_vadduwm): New.
5867         (vec_vaddfp): New.
5868         (vec_vaddcuw): New.
5869         (vec_vaddubs): New.
5870         (vec_vaddsbs): New.
5871         (vec_vadduhs): New.
5872         (vec_vadduws): New.
5873         (vec_vaddsws): New.
5874         (vec_vand): New.
5875         (vec_vandc): New.
5876         (vec_vavgub): New.
5877         (vec_vavgsb): New.
5878         (vec_vavguh): New.
5879         (vec_vavgsh): New.
5880         (vec_vavguw): New.
5881         (vec_vavgsw): New.
5882         (vec_vrfip): New.
5883         (vec_vcmpbfp): New.
5884         (vec_vcmpequb): New.
5885         (vec_vcmpequh): New.
5886         (vec_vcmpequw): New.
5887         (vec_vcmpeqfp): New.
5888         (vec_vcmpgefp): New.
5889         (vec_vcmpgtub): New.
5890         (vec_vcmpgtsb): New.
5891         (vec_vcmpgtuh): New.
5892         (vec_vcmpgtsh): New.
5893         (vec_vcmpgtuw): New.
5894         (vec_vcmpgtsw): New.
5895         (vec_vcmpgtfp): New.
5896         (vec_vcmpgefp): New.
5897         (vec_vcfux): New.
5898         (vec_vcfsx): New.
5899         (vec_vctsxs): New.
5900         (vec_vctuxs): New.
5901         (vec_vexptefp): New.
5902         (vec_vrfim): New.
5903         (vec_lvx): New.
5904         (vec_lvebx): New.
5905         (vec_lvehx): New.
5906         (vec_lde): Add vector float variant.
5907         (vec_lvewx): New.
5908         (vec_lvxl): New.
5909         (vec_vlogefp): New.
5910         (vec_vmaddfp): New.
5911         (vec_vmhaddshs): New.
5912         (vec_vmaxub): New.
5913         (vec_vmaxsb): New.
5914         (vec_vmaxuh): New.
5915         (vec_vmaxsh): New.
5916         (vec_vmaxuw): New.
5917         (vec_vmaxsw): New.
5918         (vec_vmaxsw): New.
5919         (vec_vmaxfp): New.
5920         (vec_vmrghb): New.
5921         (vec_vmrghh): New.
5922         (vec_vmrghw): New.
5923         (vec_vmrglb): New.
5924         (vec_vmrglh): New.
5925         (vec_vmrglw): New.
5926         (vec_vminub): New.
5927         (vec_vminsb): New.
5928         (vec_vminuh): New.
5929         (vec_vminsh): New.
5930         (vec_vminuw): New.
5931         (vec_vminsw): New.
5932         (vec_vminfp): New.
5933         (vec_vmladduhm): New.
5934         (vec_vmhraddshs): New.
5935         (vec_msumubm): New.
5936         (vec_vmsummbm): New.
5937         (vec_vmsumuhm): New.
5938         (vec_vmsumshm): New.
5939         (vec_vmsumuhs): New.
5940         (vec_vmsumshs): New.
5941         (vec_vmuleub): New.
5942         (vec_vmulesb): New.
5943         (vec_vmuleuh): New.
5944         (vec_vmulesh): New.
5945         (vec_vmuloub): New.
5946         (vec_mulosb): New.
5947         (vec_vmulouh): New.
5948         (vec_vmulosh): New.
5949         (vec_vnmsubfp): New.
5950         (vec_vnor): New.
5951         (vec_vor): New.
5952         (vec_vpkuhum): New.
5953         (vec_vpkuwum): New.
5954         (vec_vpkpx): New.
5955         (vec_vpkuhus): New.
5956         (vec_vpkshss): New.
5957         (vec_vpkuwus): New.
5958         (vec_vpkswss): New.
5959         (vec_vpkshus): New.
5960         (vec_vpkswus): New.
5961         (vec_vperm): New.
5962         (vec_vrefp): New.
5963         (vec_vrlb): New.
5964         (vec_vrlh): New.
5965         (vec_vrlw): New.
5966         (vec_vrfin): New.
5967         (vec_vrsqrtefp): New.
5968         (vec_vsel): New.
5969         (vec_vslb): New.
5970         (vec_vslh): New.
5971         (vec_vslw): New.
5972         (vec_vsldoi): New.
5973         (vec_vsl): New.
5974         (vec_vslo): New.
5975         (vec_vspltb): New.
5976         (vec_vsplth): New.
5977         (vec_vspltw): New.
5978         (vec_vspltisb): New.
5979         (vec_vspltish): New.
5980         (vec_vspltisw): New.
5981         (vec_vsrb): New.
5982         (vec_vsrh): New.
5983         (vec_vsrw): New.
5984         (vec_vsrab): New.
5985         (vec_vsrah): New.
5986         (vec_vsraw): New.
5987         (vec_vsr): New.
5988         (vec_vsro): New.
5989         (vec_stvx): New.
5990         (vec_stvebx): New.
5991         (vec_stvehx): New.
5992         (vec_stvewx): New.
5993         (vec_stvxl): New.
5994         (vec_vsububm): New.
5995         (vec_vsubuhm): New.
5996         (vec_vsubuwm): New.
5997         (vec_vsubfp): New.
5998         (vec_vsubcuw): New.
5999         (vec_vsububs): New.
6000         (vec_vsubsbs): New.
6001         (vec_vsubuhs): New.
6002         (vec_vsubshs): New.
6003         (vec_vsubuws): New.
6004         (vec_vsubsws): New.
6005         (vec_vsum4ubs): New.
6006         (vec_vsum4sbs): New.
6007         (vec_vsum4shs): New.
6008         (vec_vsum2sws): New.
6009         (vec_vsumsws): New.
6010         (vec_vrfiz): New.
6011         (vec_vupkhsb): New.
6012         (vec_vupkhpx): New.
6013         (vec_vupkhsh): New.
6014         (vec_vupklsb): New.
6015         (vec_vupklpx): New.
6016         (vec_vupklsh): New.
6017         (vec_vxor): New.
6018
6019 2002-04-23  Eric Botcazou  <ebotcazou@multimania.com>
6020
6021         PR c/5430
6022         * fold-const.c (split_tree): Add MINUS_LITP parameter; separate
6023         added literals from substracted literals.
6024         (associate_trees): Don't convert MINUS_EXPR into PLUS_EXPR.
6025         (fold) [associate]: Preserve MINUS_EXPR if needed.
6026
6027 2002-04-23  Zack Weinberg  <zack@codesourcery.com>
6028
6029         * doc/install.texi: Clarify which versions of alpha*-dec-osf*
6030         are obsoleted.
6031
6032 2002-04-23  Tom Tromey  <tromey@redhat.com>
6033
6034         * gcc.c: Added --resource.  For PR java/6314.
6035
6036 2002-04-23  David O'Brien  <obrien@FreeBSD.org>
6037
6038         * cp/g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
6039         * config/freebsd.h (MATH_LIBRARY_PROFILE): Use the _p verions of
6040         these libraries.
6041
6042 2002-04-23  David O'Brien  <obrien@FreeBSD.org>
6043
6044         * config/freebsd.h(OBJECT_FORMAT_ELF): Define.
6045
6046 Tue Apr 23 14:24:25 CEST 2002  Jan Hubicka  <jh@suse.cz>
6047
6048         * i386.c (ix86_output_addr_diff_elt): Avoid x86_64 binutils bug
6049         workaround.
6050         (ix86_expand_int_movcc): Avoid x86_64 compilation chrash.
6051         (ix86_expand_clrstr): Fix typo.
6052         * loop.c (gen_load_of_final_value): New.
6053         (loop_givs_rescan, strength_reduce, check_dbra_loop):
6054         Use it.
6055
6056 2002-04-23  Roger Sayle  <roger@eyesopen.com>
6057
6058         * builtins.c (builtin_memset_gen_str): New function.
6059         (expand_builtin_memset): Optimize the case of constant length, but
6060         unknown value.
6061
6062 2002-04-23  Aldy Hernandez  <aldyh@redhat.com>
6063
6064         * config/rs6000/altivec.h (vec_step): Remove extraneous
6065         parentheses.
6066         (vec_ctu): Cast return.
6067
6068 2002-04-23  Alan Modra  <amodra@bigpond.net.au>
6069
6070         PR target/6413
6071         * function.h: (struct function): Add profile_label_no field.
6072         (current_function_profile_label_no): Define.
6073         * function.c: (profile_label_no): New static var.
6074         (expand_function_start): Increment it, and copy to
6075         current_function_profile_label_no.
6076         * output.h (profile_label_no): Delete.
6077         * final.c (profile_label_no): Delete.
6078         (profile_function): Use current_function_profile_label_no.
6079         (final_end_function): Don't increment profile_label_no here.
6080         * config/i386/i386.c (ix86_osf_output_function_prologue): Replace
6081         profile_label_no with current_function_profile_label_no.
6082         * config/pa/pa.c (current_function_number): Delete.
6083         (pa_output_function_prologue): Don't output profile label here.
6084         (hppa_profile_hook): Use label_no param rather than
6085         current_function_number.
6086         (FUNC_BEGIN_PROLOG_LABEL): Move to ..
6087         * config/pa/pa.h: .. here.
6088         (FUNCTION_PROFILER): Output profile label here.
6089
6090 2002-04-22  Eric Christopher  <echristo@redhat.com>
6091
6092         * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Revert
6093         patch of 2002-04-09 due to binutils issues.
6094         (FUNCTION_ARG_REGNO_P): Ensure even numbered float register.
6095
6096 2002-04-22  Aldy Hernandez  <aldyh@redhat.com>
6097
6098         * config/rs6000/rs6000.md ("*movv4si_internal"): Change 'm'
6099         constraint to 'o' for m=r and r=m alternatives.
6100         ("*movv8hi_internal1"): Same.
6101         ("*movv16qi_internal1"): Same.
6102         ("*movv4sf_internal1"): Same.
6103
6104 2002-04-22  Janis Johnson  <janis187@us.ibm.com>
6105
6106         * rtl.h (RTX_FLAG): New macro.
6107         * emit-rtl.c (copy_most_rtx): Use macros to access rtx flags.
6108         * final.c (alter_subreg): Use macro to access rtx flag.
6109         * integrate.c (copy_rtx_and_substitute): Use new access macro.
6110         * print-rtl.c (print_rtx): Use new access macro.
6111
6112         * cse.c (insert): Check rtx code before accessing flag.
6113
6114         * genattrtab.c (ATTR_IND_SIMPLIFIED_P, ATTR_CURR_SIMPLIFIED_P,
6115         ATTR_PERMANENT_P, ATTR_EQ_ATTR_P): New.
6116         (attr_hash_add_string, attr_rtx_1, attr_copy_rtx, check_attr_test,
6117         convert_const_symbol_ref, make_canonical, make_alternative_compare,
6118         evaluate_eq_attr, attr_rtx_cost, simplify_test_exp_in_temp,
6119         simplify_test_exp, optimize_attrs, simplify_by_exploding,
6120         find_and_mark_used_attributes, unmark_used_attributes,
6121         add_values_to_cover, simplify_with_current_value,
6122         simplify_with_current_value_aux, clear_struct_flag, walk_attr_value,
6123         copy_rtx_unchanging, main): Use new access macros.
6124
6125 2002-04-22  Tom Rix  <trix@redhat.com>
6126
6127         * expmed.c (init_expmed): Generate shifted constant once.
6128
6129 2002-04-22  Zack Weinberg  <zack@codesourcery.com>
6130
6131         * c-lex.c (lex_charconst): Call convert to get constant in
6132         proper type; don't just smash the type field.
6133         Fixes PR c/6300.
6134
6135         * config.gcc: Add list of obsolete configurations.  Disallow
6136         building these without --enable-obsolete.
6137         * doc/install.texi: Document --enable-obsolete and obsoletion
6138         policy.  Mention obsoletion of individual targets in
6139         appropriate places.
6140
6141 2002-04-22  Richard Henderson  <rth@redhat.com>
6142
6143         * config/sparc/sol2-bi.h (ASM_DEBUG_SPEC): New.
6144
6145 2002-04-22  Mark Mitchell  <mark@codesourcery.com>
6146
6147         PR f/6138.
6148         * function.c (fixup_memory_subreg): Add promoted_mode parameter.
6149         (walk_fixup_memory_subreg): Likewise.
6150         (fixup_var_refs_insn): Adjust accordingly.
6151         (fixup_var_refs_1): Likewise.
6152
6153 2002-04-22  Ulrich Weigand  <uweigand@de.ibm.com>
6154
6155         * config/s390/linux.h: (LIBPATH_SPEC, LIBPATH_ARCH31_SPEC,
6156         LIBPATH_ARCH64_SPEC): Define.
6157         (EXTRA_SPECS): Add libpath, libpath_arch31, libpath_arch64.
6158         (STARTFILE_SPEC, ENDFILE_SPEC): Define; use libpath.
6159         (LINK_ARCH31_SPEC): Add libpath_arch31 to search path.
6160         (LINK_ARCH64_SPEC): Add libpath_arch64 to search path.
6161
6162 2002-04-22      Joel Sherrill <joel@OARcorp.com>
6163
6164         * gthr-rtems.h: Correct prototypes to remove warnings.
6165
6166 2002-04-22  Richard Henderson  <rth@redhat.com>
6167
6168         PR c/6344
6169         * alias.c (canon_true_dependence): Special case (mem:blk (scratch)).
6170
6171         * gcse.c (free_insn_expr_list_list): New.
6172         (clear_modify_mem_tables): Use it.  Fix bit set usage.
6173         (canon_list_insert): Use EXPR_LISTs for expressions.
6174         (record_last_mem_set_info): Factor BLOCK_NUM (insn).
6175
6176 2002-04-22  Neil Booth  <neil@daikokuya.demon.co.uk>
6177
6178         * cppfiles.c (_cpp_pop_file_buffer): Return void.  Move
6179         file change and include code to _cpp_pop_buffer.
6180         * cpphash.h (struct pending_option): Predeclare.
6181         (struct cpp_reader): New member next_include_file.
6182         (_cpp_pop_file_buffer): Update.
6183         (_cpp_push_next_buffer): Update, rename.
6184         * cppinit.c (cpp_destroy): Free include chain and pending here.
6185         (cpp_finish_options): Simplify.
6186         (_cpp_push_next_buffer): Rename and clean up.
6187         * cpplib.c (cpp_pop_buffer): Move code from _cpp_pop_file_buffer.
6188         Clarify.
6189         * cppmacro.c (cpp_scan_nooutput): Set return_at_eof here.
6190
6191 2002-04-22  Aldy Hernandez  <aldyh@redhat.com>
6192
6193         * config/rs6000/altivec.h (vec_xor): Add variant for both args
6194         being vector signed int.
6195         (vec_andc): Same.
6196         (vec_xor): Add variant for both args being vector signed char.
6197         Remove redundant variant.
6198         (vec_andc): Same.
6199
6200 2002-04-21  David S. Miller  <davem@redhat.com>
6201
6202         * config/sparc/sparc.md (set then compare DI mode peephole2): Fix
6203         compare mode in output RTL.
6204
6205 2002-04-22  David Edelsohn  <edelsohn@gnu.org>
6206
6207         * config/rs6000/rs6000.c (rs6000_override_options): Correct
6208         style and formatting of previous patch.
6209
6210 2002-04-22  Alan Modra  <amodra@bigpond.net.au>
6211
6212         * config/rs6000/rs6000.c (rs6000_override_options): Always clear
6213         flag_pic for ABI_AIX.
6214
6215 2002-04-21  Neil Booth  <neil@daikokuya.demon.co.uk>
6216
6217         * cppexp.c (struct op, parse_number): Replace U_CHAR with uchar.
6218         * cppfiles.c (read_include_file): Similarly.
6219         * cpphash.h (DSC, U_CHAR, ustrcmp, ustrncmp, ustrlen,
6220         uxstrdup ustrchr, ufputs): Similarly.
6221         * cppinit.c (TRIGRAPH_MAP, cpp_destroy): Similarly.
6222         * cpplex.c (parse_slow, unescaped_terminator_p, save_comment,
6223         cpp_ideq, parse_identifier, parse_number): Similarly.
6224         * cpplib.c (struct directive, dequote_string, D, run_directive,
6225         cpp_push_buffer): Similarly.
6226         * cppmacro.c (new_string_token, builtin_macro, cpp_quote_string,
6227         _cpp_create_definition, check_trad_stringification,
6228         cpp_macro_definition): Similarly.
6229
6230 2002-04-21  Neil Booth  <neil@daikokuya.demon.co.uk>
6231
6232         * cppmacro.c (funlike_invocation_p): Don't step back
6233         over CPP_EOF.
6234
6235 2002-04-21  David Edelsohn  <edelsohn@gnu.org>
6236
6237         * config/rs6000/rs6000.c (output_profile_hook): Do not increment
6238         labelno.
6239
6240 2002-04-20  Joseph S. Myers  <jsm28@cam.ac.uk>
6241
6242         * doc/invoke.texi: Remove Chill references.
6243         * doc/gcc.texi: Update last modified date.
6244
6245 2002-04-20  Kazu Hirata  <kazu@hxi.com>
6246
6247         * config/h8300/lib1funcs.asm (___mulsi3): Remove unnecessary
6248         push and pop.  Replace add.l with add.w.
6249
6250 2002-04-20  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
6251
6252         * config/h8300/lib1funcs.asm (___mulsi3): Use hardware
6253         multiply instructions for H8/300H case.
6254
6255 2002-04-20  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
6256
6257         * config/h8300/lib1funcs.asm (___cmpsi2, ___ucmpsi2):
6258         Bum three instructions from each routine.
6259
6260 2002-04-20  Neil Booth  <neil@daikokuya.demon.co.uk>
6261
6262         * Makefile.in: Update.
6263         * decl.c (push_c_function_context, pop_c_function_context,
6264         mark_c_function_context): Rename for consistency.
6265         * c-objc-common.c (c_objc_common_init): Langhooks set elsewhere.
6266         * c-tree.h (push_c_function_context, pop_c_function_context,
6267         mark_c_function_context): Rename for consistency.
6268         * c-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
6269         LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
6270         * function.c (init_lang_status, save_lang_status,
6271         restore_lang_status, mark_lang_status, free_lang_status):
6272         Move to langhooks.h.
6273         (push_function_context_to, pop_function_context_from,
6274         free_after_parsing, prepare_function_start, ggc_mark_struct_function):
6275         Update.
6276         * function.h (init_lang_status, save_lang_status,
6277         restore_lang_status, mark_lang_status, free_lang_status):
6278         Move to langhooks.h.
6279         * langhooks-def.h (LANG_HOOKS_FUNCTION_INIT,
6280         LANG_HOOKS_FUNCTION_FREE, LANG_HOOKS_FUNCTION_ENTER_NESTED,
6281         LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK,
6282         LANG_HOOKS_FUNCTION_INITIALIZER): New.
6283         (LANG_HOOKS_INITIALIZER): Update.
6284         (lhd_do_nothing_f): New.
6285         * langhooks.h (struct lang_hooks_for_functions): New.
6286         (struct lang_hooks): New hooks.
6287         * langhooks.c (lhd_do_nothing_f): New.
6288 objc:
6289         * objc-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
6290         LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
6291
6292 2002-04-19  David S. Miller  <davem@redhat.com>
6293
6294         * config/sparc/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
6295         * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Likewise.
6296
6297 2002-04-19  Jakub Jelinek  <jakub@redhat.com>
6298
6299         PR optimization/3756
6300         * config/i386/i386.c (ix86_expand_int_movcc): Optimize
6301         x = ((int) y < 0) ? cst1 : cst2.
6302
6303 2002-04-19  Jakub Jelinek  <jakub@redhat.com>
6304
6305         PR c/6358
6306         * function.c: Reapply patch for c/6358.
6307         (expand_function_end): Copy decl_rtl's mode, not
6308         current_function_return_rtx mode.
6309
6310 2002-04-19  Joel Sherrill  <joel@OARcorp.com>
6311
6312         * config/rtems.h (STARTFILE_SPEC, ENDFILE_SPEC): Fix for non-ELF
6313         targets.
6314
6315 2002-04-19  Tom Tromey  <tromey@redhat.com>
6316
6317         * doc/install.texi (Specific): Update status of Solaris 2.8.
6318         For PR libgcj/6158.
6319
6320 2002-04-19  Andreas Schwab  <schwab@suse.de>
6321
6322         * real.c: Allow sizeof (REAL_VALUE_TYPE) > 2*NE.
6323         (PUT_REAL): Restore old definition.
6324
6325 2002-04-19  Dan Nicolaescu  <dann@godzilla.ics.uci.edu>
6326             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6327
6328         * doc/install.texi (Specific, sparc-sun-solaris2*): Mention that
6329         binutils 2.11.2 and higher generate smaller binaries than Sun's
6330         native tools.
6331
6332 2002-04-19  Mark Mitchell  <mark@codesourcery.com>
6333
6334         PR c++/6352
6335         * toplev.c (rest_of_compilation): Do not defer functions for which
6336         TREE_SYMBOL_REFERENCED has already been set.
6337
6338 Fri Apr 19 15:53:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
6339
6340         * i386.md (movsi_1, movhi_1): Force reload to use more flexible
6341         alternative.
6342
6343 2002-04-19  Neil Booth  <neil@daikokuya.demon.co.uk>
6344
6345         * builtins.c: Include langhooks.h.
6346         (lang_type_promotes_to): Remove.
6347         (expand_builtin_va_arg): Use new hook.
6348         * c-common.c (c_common_nodes_and_builtins): Don't set hook.
6349         (simple_type_promotes_to): Move to c-typeck.c.
6350         * c-common.h (simple_type_promotes_to): Remove.
6351         * c-decl.c (duplicate_decls, grokdeclarator): Update.
6352         * c-format.c: Include langhooks.h.
6353         (check_format_types): Update.
6354         * c-tree.h (c_type_promotes_to): New.
6355         * c-typeck.c (c_type_promotes_to): Move from c-common.c.
6356         (type_lists_compatible_p): Update.
6357         * langhooks-def.h (lhd_type_promotes_to): New.
6358         (LANG_HOOKS_TYPE_PROMOTES_TO): New.
6359         (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
6360         * langhooks.c (lhd_type_promotes_to): New.
6361         * langhooks.h (struct lang_hooks_for_types): New hook.
6362         * tree.h (lang_type_promotes_to): Remove.
6363 objc:
6364         * objc-lang.c (LANG_HOOKS_TYPE_PROMOTES_TO): Redefine.
6365
6366 2002-04-18  Richard Henderson  <rth@redhat.com>
6367
6368         * function.c: Revert patch for c/6358.
6369
6370 2002-04-18  Richard Henderson  <rth@redhat.com>
6371
6372         * ifcvt.c (find_cond_trap): Handle cases with no proper THEN or JOIN
6373         blocks.  Handle multiple references to the TRAP block.  Handle
6374         non-adjacent THEN and OTHER blocks.
6375
6376 2002-04-18  Richard Henderson  <rth@redhat.com>
6377
6378         * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): Don't
6379         crash with no type for by-mode libcalls.
6380
6381         * config/ia64/ia64.md (conditional_trap): Fix predicate polarity.
6382
6383 2002-04-18  Bob Wilson  <bob.wilson@acm.org>
6384
6385         * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill,
6386         __xtensa_nonlocal_goto): Use a syscall instructions to flush
6387         the register windows.
6388
6389 2002-04-18  Zack Weinberg  <zack@codesourcery.com>
6390
6391         * real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as
6392         appropriate.  Document need for extended precision even when
6393         MAX_LONG_DOUBLE_TYPE_SIZE is smaller.  Define REAL_WIDTH here,
6394         based on REAL_VALUE_TYPE_SIZE.  Use REAL_WIDTH to size
6395         REAL_VALUE_TYPE.  Define CONST_DOUBLE_FORMAT here.  Use #error
6396         instead of relying on later syntax error when REAL_WIDTH > 5.
6397         * real.c: Define NE based only on whether or not we have a
6398         full 128-bit extended type (not INTEL_EXTENDED_IEEE_FORMAT).
6399         Require sizeof(REAL_VALUE_TYPE) == 2*NE.  Unconditionally
6400         define GET_REAL and PUT_REAL as simple memcpy operations; no
6401         need to byteswap or round.
6402         Use #error instead of #ifdef-ing out the entire file, for
6403         prompt error detection.
6404
6405         * rtl.c, gengenrtl.c: No need to calculate CONST_DOUBLE_FORMAT here.
6406
6407 2002-04-18  David S. Miller  <davem@redhat.com>
6408
6409         * config/sparc/sparc.h (BRANCH_COST): Define.
6410
6411         * fold-const.c (BRANCH_COST): Don't provide default here, expr.h
6412         does it.
6413
6414 2002-04-18  Hans-Peter Nilsson  <hp@bitrange.com>
6415
6416         * flow.c (update_life_info): Ignore return value of cleanup_cfg.
6417         Mask out PROP_SCAN_DEAD_CODE | PROP_KILL_DEAD_CODE in
6418         propagate_block calls after relaxation loop using new variable
6419         stabilized_prop_flags.
6420
6421 2002-04-18  Richard Henderson  <rth@redhat.com>
6422
6423         * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): New.
6424         (ia64_va_arg): Expect variable sized types by reference.
6425         * config/ia64/ia64-protos.h: Update.
6426         * config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use
6427         ia64_function_arg_pass_by_reference.
6428
6429 2002-04-18  Richard Henderson  <rth@redhat.com>
6430
6431         * ifcvt.c: Include except.h.
6432         (block_has_only_trap): Break out from find_cond_trap.
6433         (find_cond_trap): Use it.  Always delete the trap block.
6434         (merge_if_block): Allow then block null.  Be less simplistic about
6435         what insns can end a block.
6436         * Makefile.in (ifcvt.o): Depend on except.h.
6437
6438         * config/ia64/ia64.md (trap, conditional_trap): New.
6439
6440 2002-04-18  Jakub Jelinek  <jakub@redhat.com>
6441
6442         PR c/6358
6443         * function.c (assign_parms): Assign hard current_function_return_rtx
6444         register here...
6445         (expand_function_end): ...not here.
6446
6447 2002-04-18  Neil Booth  <neil@daikokuya.demon.co.uk>
6448
6449         * c-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
6450         * c-tree.h (c_incomplete_type_error): New.
6451         * c-typeck.c (require_complete_type, build_component_ref): Update.
6452         (incomplete_type_error): Rename.
6453         * langhooks-def.h (lhd_incomplete_type_error): New.
6454         (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): New.
6455         (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
6456         * langhooks.c (lhd_incomplete_type_error): New.
6457         * langhooks.h (struct lang_hooks_for_types): New hook.
6458         * tree.c (size_in_bytes): Use new hook.
6459         * tree.h (incomplete_type_error): Remove.
6460 objc:
6461         * objc-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
6462
6463 2002-04-18  Zack Weinberg  <zack@codesourcery.com>
6464
6465         * config/arc/arc.md: Remove #if HOST_FLOAT_FORMAT !=
6466         TARGET_FLOAT_FORMAT blocks.
6467
6468 2002-04-18  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6469
6470         * doc/install.texi (Downloading the source): Do not mention Chill
6471         any longer, but mention Ada.
6472         (Configuration): Do not mention Chill any longer.
6473
6474 2002-04-18  Hans-Peter Nilsson  <hp@axis.com>
6475
6476         * config/cris/cris.h (TARGET_VERSION): Remove local version number.
6477
6478 Thu Apr 18 17:14:08 CEST 2002  Jan Hubicka  <jh@suse.cz>
6479
6480         * i386.h (SSE_FLOAT_MODE_P): Fix bogus conflict resolution
6481         in last patch.
6482
6483 2002-04-18  Jakub Jelinek  <jakub@redhat.com>
6484
6485         * fold-const.c (fold): Use (*lang_hooks.types.unsigned_type)
6486         instead of unsigned_type.
6487
6488 Thu Apr 18 15:49:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
6489
6490         * i386.h (SSE_FLOAT_MODE_P): Kill bogus TARGET_SSE_MATH check.
6491         * i386.md (sse_mov?fcc*): Swap operands for cases they will be swapped
6492         later.
6493
6494 2002-04-18  Bernd Schmidt  <bernds@redhat.com>
6495
6496         * attribs.c (vector_type_node_list): New static variable.
6497         (handle_vector_size_attribute): Use it to avoid generating a
6498         new type node each time we are called.
6499
6500         * combine.c (subst): Avoid trying to make a vector mode subreg of
6501         an integer constant.
6502         (gen_lowpart_for_combine): Likewise.
6503
6504 2002-04-18  Roger Sayle  <roger@eyesopen.com>
6505             Jakub Jelinek  <jakub@redhat.com>
6506
6507         * fold-const.c (fold) [NOP_EXPR]: Convert (T)(x&c) into ((T)x&(T)c)
6508         for integer constant c (if x has unsigned type or sign bit is not
6509         set in c).  This folds the zero/sign extension into the bit-wise and
6510         operation.
6511
6512 2002-04-18  Jakub Jelinek  <jakub@redhat.com>
6513
6514         PR middle-end/6205
6515         * config/i386/i386.md (movsf_1): Use pxor only if TARGET_SSE2,
6516         otherwise xorps.
6517
6518 2002-04-17  NIIBE Yutaka  <gniibe@m17n.org>
6519
6520         * config/sh/elf.h: Undefine ASM_OUTPUT_CASE_LABEL.
6521
6522 2002-04-17  Nick Clifton  <nickc@cambridge.redhat.com>
6523
6524         * gcc.c (read_specs): Detect and fail if an attempt is made to
6525         rename a spec string to an already existing string.
6526
6527 2002-04-17  Ulrich Weigand  <uweigand@de.ibm.com>
6528
6529         * config/s390/s390.c (legitimize_pic_address): Do not generate
6530         illegal address constant without CONST.
6531
6532 2002-04-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6533
6534         * sparc/linux64.h (CC1_SPEC): Error for -m32 and -m64.
6535         * sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
6536
6537 2002-04-17  Ulrich Weigand  <uweigand@de.ibm.com>
6538
6539         PR optimization/6305
6540         * config/s390/s390.c (s390_expand_plus_operand): Use find_replacement
6541         to make sure previous reloads are taken into account.  Generate
6542         better code if one operand is an in-range immediate constant.
6543
6544 2002-04-16  Andrew Haley  <aph@cambridge.redhat.com>
6545
6546         * doc/install.texi (Building): libgcj requires GNU make.
6547
6548 2002-04-17  Jakub Jelinek  <jakub@redhat.com>
6549
6550         PR bootstrap/6315
6551         * config/sparc/sparc.md (movtf reg<-reg split): Allow spliting
6552         even if hard quad and register is not floating.
6553         (movtf reg<-mem split): Disallow splitting if hard quad and
6554         register is floating.
6555         (movtf mem<-reg split): Likewise.
6556         * config/sparc/sparc.c (fp_register_operand): New predicate.
6557         * config/sparc/sparc.h (PREDICATE_CODES): Add fp_register_operand.
6558
6559 2002-04-17  Zack Weinberg  <zack@codesourcery.com>
6560
6561         * Makefile.in (PROTO_OBJS): Add cppdefault.o.
6562         (protoize.o): Take $(PREPROCESSOR_DEFINES) off command line.
6563         (unprotoize.o): Ditto.  Build from protoize.c.  Define
6564         UNPROTOIZE on command line.
6565         * protoize.c: Include cppdefault.h.  Delete include_defaults.
6566         (in_system_include_dir): Use cpp_include_defaults (defined in
6567         cppdefault.o).
6568         * unprotoize.c: Delete file.
6569
6570 2002-04-17  Aldy Hernandez  <aldyh@redhat.com>
6571
6572         * config/rs6000/altivec.h (vec_ld): Add array variants.
6573         (vec_lde): Same.
6574         (vec_ldl): Same.
6575
6576 2002-04-17  Alan Matsuoka  <alanm@redhat.com>
6577             Aldy Hernandez <aldyh@redhat.com>
6578
6579         * config/rs6000/altivec.h: Define __ALTIVEC__.
6580         (bool): New.
6581         (__pixel): New.
6582         (pixel): New.
6583         (vec_cfux): New.
6584         (vec_vmaddfp): New.
6585         (vec_vsldoi): New.
6586         Add parentheses to all macro arguments.
6587
6588 2002-04-16  Richard Henderson  <rth@redhat.com>
6589
6590         PR c++/6320
6591         * except.c (remove_eh_handler): Insert inner regions at beginning
6592         of sibling chain.  Refactor expressions.
6593
6594 2002-04-16  Richard Henderson  <rth@redhat.com>
6595
6596         * config/sparc/sol2-bi.h (AS_SPARC64_FLAG): New.
6597         * config/sparc/sol2-gas-bi.h: New file.
6598         * config.gcc (sparc*-solaris): Add it as needed.
6599         * configure.in (AS_SPARC64_FLAG): Remove check.
6600         * config.in, configure: Regenerate.
6601
6602         * config/sparc/sol2-bi.h (CC1_SPEC): Error for -m32 and -m64.
6603
6604 2002-04-16  Richard Henderson  <rth@redhat.com>
6605
6606         * config/mips/mips.c (override_options): Don't override N32 for
6607         a 64-bit ISA.
6608
6609         PR 6202
6610         * config/mips/mips.md (can_delay): Split out of existing define_delays.
6611         (HILO_delay): Set can_delay false.
6612
6613 2002-04-16  Dale Johannesen <dalej@apple.com>
6614
6615         * config/rs6000/rs6000.c (rs6000_output_function_prologue): Compute
6616         instruction addresses.
6617         (rs6000_output_function_epilogue): Likewise.
6618
6619 2002-04-16  Paolo Carlini  <pcarlini@unitus.it>
6620
6621         * c-parse.in (poplevel, compstmt_start,
6622         compstmt_primary_start): Add ending ';', in accordance
6623         with POSIX.
6624
6625 2002-04-16  Richard Henderson  <rth@redhat.com>
6626
6627         * config.gcc (sparcv9-solaris): Configure for 64-bit default.
6628         Adjust tm_file order to get TARGET_DEFAULT set properly.
6629         (sparc-solaris): Configure 2.[78] for 64-bit multilibs.
6630         * doc/install.texi (sparc-solaris): Update.
6631
6632 2002-04-16  Dale Johannesen <dalej@apple.com>
6633
6634         * config/rs6000/rs6000.c (rs6000_emit_cmove): Fail if modes of
6635         comparison operands do not match each other or if modes of
6636         conditions do not match result.
6637
6638 2002-04-16  Hartmut Penner <hpenner@de.ibm.com>
6639
6640         PR target/6305
6641         * config/s390/s390.md (mulsidi3): Set both subregs of the
6642         multiword register.
6643
6644 2002-04-16  Aldy Hernandez  <aldyh@redhat.com>
6645
6646         * config/rs6000/altivec.h (vec_addc): Type check.
6647
6648 2002-04-16  Jakub Jelinek  <jakub@redhat.com>
6649
6650         PR middle-end/6279
6651         * expr.c (store_expr): Don't copy if DECL_RTL (exp) == target.
6652
6653         * expr.c (safe_from_p): Cleanup: use DECL_RTL_IF_SET.
6654
6655 2002-04-15  Richard Henderson  <rth@redhat.com>
6656
6657         * config/mips/abi64.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Set
6658         call_really_used_regs too.
6659
6660 2002-04-15  Richard Henderson  <rth@redhat.com>
6661
6662         * config/alpha/gnu.h (CPP_PREDEFINES): Underscores for gnu_hurd.
6663
6664 2002-04-15  David S. Miller  <davem@redhat.com>
6665
6666         * rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs
6667         as being CLOBBERed.
6668
6669 2002-04-16  Jakub Jelinek  <jakub@redhat.com>
6670
6671         PR c/6290
6672         * config/rs6000/rs6000.c (easy_vector_constant): Return 1 if the
6673         CONST_VECTOR is { 0, ... 0 }.
6674
6675 2002-04-15  Loren J. Rittle  <ljrittle@acm.org>
6676
6677         * doc/install.texi (Installing GCC: Configuration): Clarify
6678         the only supported ways to configure gcc.
6679
6680 2002-04-15  Roland McGrath  <roland@frob.com>
6681
6682         * config.gcc (alpha*-*-gnu*): New target configuration.
6683         * config/alpha/gnu.h: New file for it.
6684         * config/gnu.h (TARGET_MEM_FUNCTIONS): #undef before #define.
6685
6686 2002-04-16  Mark Mitchell  <mark@codesourcery.com>
6687
6688         * c-common.h (STMT_EXPR_NO_SCOPE): New macro.
6689         * c-common.c (c_expand_expr): Respect STMT_EXPR_NO_SCOPE.
6690         * tree.h (expand_start_stmt_expr): Update prototype.
6691         * stmt.c (expand_start_stmt_expr): Add has_scope parameter.
6692         * tree-inline.c (expand_call_inline): Set STMT_EXPR_NO_SCOPE
6693         on the STMT_EXPR created for the inline function.
6694
6695 2002-04-15  Richard Henderson  <rth@redhat.com>
6696
6697         * config/alpha/linux.h, config/arm/linux-elf.h, config/i370/linux.h,
6698         config/i386/linux-aout.h, config/i386/linux-oldld.h,
6699         config/i386/linux.h, config/i386/linux64.h, config/ia64/linux.h,
6700         config/m68k/linux-aout.h, config/m68k/linux.h, config/mips/linux.h,
6701         config/pa/pa-linux.h, config/pj/linux.h, config/s390/linux.h,
6702         config/sh/linux.h, config/sparc/linux-aout.h, config/sparc/linux.h,
6703         config/sparc/linux64.h, config/xtensa/linux.h (CPP_PREDEFINES):
6704         Define __gnu_linux__, not gnu_linux.
6705         * config/rs6000/sysv4.h (CPP_OS_GNU_SPEC): Likewise for gnu_hurd.
6706
6707 2002-04-15  Mark Mitchell  <mark@codesourcery.com>
6708
6709         Remove Chill front end.
6710         * gcc.c (default_compilers): Remove Chill entries.
6711         * ch: Remove directory.
6712         * doc/frontends.texi: Remove information about Chill.
6713         * doc/sourcebuild.texi: Likewise.
6714         * doc/standards.texi: Likewise.
6715
6716 2002-04-15  Douglas B Rupp  <rupp@gnat.com>
6717
6718         * config/alpha/vms.h (INCLUDE_DEFAULTS): Add /gnu/lib/gcc-lib/include.
6719         (LONGLONG_STANDALONE): Define.
6720
6721 2002-04-15  David S. Miller  <davem@redhat.com>
6722
6723         * config/sparc/sparc.c (sparc_emit_float_lib_cmp):
6724         Call emit_library_call with LCT_NORMAL.
6725         (sparc_initialize_trampoline): Use LCT_foo instead of
6726         magic constant in emit_library_call invocations.
6727         (sparc64_initialize_trampoline): Likewise.
6728         (sparc_profile_hook): Likewise.
6729         * config/sparc/sparc.md: Likewise.
6730
6731         * config/sparc/sparc.c (sparc_extra_constraint_check):
6732         Fix type of argument 'c'.
6733         * config/sparc/sparc-protos.h (sparc_extra_constraint_check):
6734         Likewise.
6735
6736 2002-04-15  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
6737
6738         * diagnostic.h (output_buffer_state): Redefine.
6739         (output_format_decoder): New macro.
6740         (output_prefixing_rule): Likewise.
6741         (output_line_cutoff): Likewise.
6742         (diagnostic_format_decoder): Adjust.
6743         (diagnostic_prefixing_rule): Likewise.
6744         (diagnostic_line_cutoff): Likewise.
6745         (diagnostic_state): Likewise.
6746         (diagnostic_kind_count): Likewise.
6747         (diagnostic_buffer): Now a macro.
6748
6749         * diagnostic.c (diagnostic_buffer): Remove definition.
6750         (output_is_line_wrapping): Adjust.
6751         (set_real_maximum_length): Likewise.
6752         (output_set_maximum_length): Likewise.
6753         (init_output_buffer): Likewise.
6754         (lhd_print_error_function): Likewise.
6755         (output_do_verbatim): Likewise.
6756
6757 2002-04-14  Neil Booth  <neil@daikokuya.demon.co.uk>
6758
6759         * cpperror.c (print_location): Don't print include chain
6760         if line == 0.
6761         (cpp_begin_message): Update to use DL_ macros.
6762         (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
6763         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
6764         cpp_notice, cpp_notice_from_errno): Remove.
6765         (cpp_error, cpp_error_with_line): Update to take a diagnostic
6766         level.
6767         (cpp_errno): New.
6768         * cppexp.c (CPP_ICE): Remove.
6769         (SYNTAX_ERROR, SYNTAX_ERROR2, parse_number, parse_defined,
6770         lex, integer_overflow, _cpp_parse_expr): Update.
6771         * cppfiles.c (read_include_file, find_include_file,
6772         handle_missing_header, _cpp_read_file, remap_filename): Update.
6773         * cpphash.h (enum error_type): Remove.
6774         (_cpp_begin_message): Update.
6775         * cppinit.c (append_include_chain, remove_dup_dirs, output_deps,
6776         cpp_handle_option, cpp_post_options): Update.
6777         * cpplex.c (trigraph_p, skip_escaped_newlines, skip_block_comment,
6778         skip_whitespace, parse_identifier, parse_slow, parse_string,
6779         _cpp_lex_direct, cpp_spell_token, maybe_read_ucs, cpp_parse_escape,
6780         cpp_interpret_charconst): Update.
6781         * cpplib.c (check_eol, directive_diagnostics, _cpp_handle_directive,
6782         lex_macro_node, do_undef, glue_header_name, parse_include,
6783         do_include_common, read_flag, do_line, do_linemarker, do_ident,
6784         cpp_register_pragma, do_pragma_once, do_pragma_system_header,
6785         do_pragma_poison, do_pragma_dependency, _cpp_do__Pragma, do_else,
6786         do_elif, do_endif, parse_answer, parse_assertion, do_assert,
6787         _cpp_pop_buffer, do_diagnostic): Update.
6788         * cpplib.h (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN, DL_ERROR,
6789         DL_FATAL, DL_ICE, DL_EXTRACT, DL_WARNING_P): New.
6790         (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
6791         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
6792         cpp_notice, cpp_notice_from_errno): Remove.
6793         (cpp_error, cpp_error_with_line): Update to take a diagnostic
6794         level.
6795         (cpp_errno): New.
6796         * cppmacro.c (builtin_macro, stringify_arg, paste_all_tokens,
6797         collect_args, enter_macro_context, save_parameter, parse_params,
6798         _cpp_create_definition, check_trad_stringification,
6799         cpp_macro_definition): Update.
6800         * cppmain.c (cpp_preprocess_file): Update.
6801         * fix-header.c (read_scan_file): Update.
6802
6803 2002-04-14  Andreas Schwab  <schwab@suse.de>
6804
6805         * config/ia64/linux.h (CPP_PREDEFINES): Fix missing backslash.
6806
6807 2002-04-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
6808
6809         * config/arm/linux-elf.h (CPLUSPLUS_CPP_SPEC): Define.
6810
6811 2002-04-13  Mark Mitchell  <mark@codesourcery.com>
6812
6813         * config/i386/gnu.h (CPP_PREDEFINES): Define __gnu_hurd__,
6814         not gnu_hurd.
6815
6816 2002-04-13  Hans-Peter Nilsson  <hp@axis.com>
6817
6818         * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo.
6819
6820 2002-04-13      Joel Sherrill <joel@OARcorp.com>
6821
6822         * config/sparc/t-elf: Enable v8 multilibs.  Impacts
6823         sparc-elf and sparc-rtems targets.
6824
6825 2002-04-13  Mark Mitchell  <mark@codesourcery.com>
6826
6827         * alpha/linux.h: Define __gnu_linux__ wherever __linux__ is
6828         defined, and __gnu_hurd__ wherever __GNU__ is defined.
6829         * arm/linux-elf.h: Likewise.
6830         * cris/aout.h: Likewise.
6831         * cris/linux.h: Likewise.
6832         * i370/linux.h: Likewise.
6833         * i386/gnu.h: Likewise.
6834         * i386/linux-aout.h: Likewise.
6835         * i386/linux-oldld.h: Likewise.
6836         * i386/linux.h: Likewise.
6837         * i386/linux64.h: Likewise.
6838         * ia64/linux.h: Likewise.
6839         * m68k/linux-aout.h: Likewise.
6840         * m68k/linux.h: Likewise.
6841         * mips/linux.h: Likewise.
6842         * pa/pa-linux.h: Likewise.
6843         * pj/linux.h: Likewise.
6844         * rs6000/sysv4.h: Likewise.
6845         * s390/linux.h: Likewise.
6846         * sh/linux.h: Likewise.
6847         * sparc/linux-aout.h: Likewise.
6848         * sparc/linux.h: Likewise.
6849         * sparc/linux64.h: Likewise.
6850         * xtensa/linux.h: Likewise.
6851
6852 2002-04-13  Richard Sandiford  <rsandifo@redhat.com>
6853
6854         * stmt.c (check_unique_operand_names): Expect operand names to
6855         be strings rather than identifiers.  Use simple_cst_equal to
6856         compare them.
6857         (resolve_operand_name_1): Make same identifier to string change here.
6858         * c-parse.in (asm_operand): Convert a named operand into a string.
6859         * cp/parse.y (asm_operand): Likewise.
6860
6861 2002-04-13  Andreas Schwab  <schwab@suse.de>
6862
6863         * config/ia64/ia64.h (CPP_SPEC): Include %(cpp_cpu).
6864
6865 2002-04-12  Mark Mitchell  <mark@codesourcery.com>
6866
6867         Revert these changes:
6868
6869         2002-04-06  Mark Mitchell  <mark@codesourcery.com>
6870
6871         PR c++/5571
6872         * stor-layout.c (layout_decl): Reset the RTL for the decl.
6873
6874 2002-04-12  Richard Henderson  <rth@redhat.com>
6875
6876         * config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
6877         (sparc*-*-solaris): Clean up header files.
6878         * configure.in (AS_SPARC64_FLAG): Error out if can't find it
6879         and plan on generating 64-bit code.
6880         * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
6881         * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
6882         * config/sparc/sol2-sld-64.h: Rename ...
6883         * config/sparc/sol2-bi.h: ... here.  Remove the bits that checked
6884         for AS_SPARC64_FLAG not defined.
6885         * config/sparc/sol2-gld-bi.h: New.
6886         * config/sparc/sol2-sld.h: Remove.
6887         * config/sparc/sol26-sld.h: New.
6888         * config/sparc/sol2.h: Tidy comments.
6889         * doc/install.texi: Document sparc-solaris configury changes.
6890
6891 2002-04-12  Richard Henderson  <rth@redhat.com>
6892
6893         * recog.c (offsettable_address_p): Match the logic in adjust_address.
6894
6895         * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
6896         in 64-bit mode only.  Use only for 32-bit or MEDLOW.
6897
6898 2002-04-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6899
6900         * config/alpha/osf.h (LINK_SPEC): Pass -S to silence ld warnings.
6901
6902 Fri Apr 12 15:42:59 2002  Jeffrey A Law  (law@redhat.com)
6903
6904         * pa.c (pa_can_combine_p): Call extract_insn before calling
6905         constrain_operands.
6906
6907 2002-04-12  Douglas B Rupp  <rupp@gnat.com>
6908
6909         * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define.
6910         (TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define.
6911         (DEFAULT_PCC_STRUCT_RETURN): Define as 0.
6912         (CPP_PREDEFINES): Handle __declspec.
6913         * config/i386/t-interix (USER_H): Remove.
6914
6915 2002-04-12  DJ Delorie  <dj@redhat.com>
6916
6917         * integrate.c (compare_blocks): Make comparisons safe for when
6918         sizeof(int) < sizeof(char *).
6919         (find_block): Likewise.
6920
6921 2002-04-12  Jan Hubicka  <jh@suse.cz>
6922             David Edelsohn  <edelsohn@gnu.org>
6923
6924         * config/rs6000/rs6000.c (call_operand): Allow LINK and COUNT
6925         registers.
6926         (symbol_ref_operand): New.
6927         * config/rs6000/rs6000.h (PREDICATE_CODES): Add symbol_ref_operand.
6928         * config/rs6000/rs6000.md (call_nonlocal_aix): Use symbol_ref_operand.
6929
6930 2002-04-12  Andreas Schwab  <schwab@suse.de>
6931
6932         * config/ia64/ia64.h (ASM_SPEC): Moved from here ...
6933         * config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it
6934         overrides the definition in config/svr4.h.
6935
6936 2002-04-12      Eric Norum <eric.norum@usask.ca>
6937
6938         * config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
6939         config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h,
6940         config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h,
6941         config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h,
6942         config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h,
6943         config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h,
6944         config/v850/rtems.h (*-rtems*): Cleanup pass to move common
6945         definitions to config/rtems.h and make the targets more similar.
6946
6947 Fri Apr 12 08:06:54 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6948
6949         * expr.c (expand_assigment): Remove duplicate conversions #ifdef
6950         POINTERS_EXTEND_UNSIGNED.
6951         (store_constructor, expand_expr, case COMPONENT_REF): Likewise.
6952         (store_expr): Use TYPE_MODE (sizetype), not ptr_mode.
6953
6954         * emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET
6955         not specified.
6956
6957 Fri Apr 12 12:11:26 2002  J"orn Rennecke <joern.rennecke@superh.com>
6958
6959         * sh.c (calc_live_regs, sh_pr_n_sets): Use of PR_MEDIA_REG / PR_REG
6960         depends on TARGET_SHMEDIA, not TARGET_SH5.
6961
6962 2002-04-12  Hans-Peter Nilsson  <hp@bitrange.com>
6963
6964         * function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>:
6965         For paradoxical (subreg VAR), replace VAR, don't try the subreg.
6966
6967 Fri Apr 12 10:51:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
6968
6969         * sh.c (broken_move): Constant 0. / 1. load is OK if there is
6970         no r0 clobber.
6971
6972 2002-04-12  Andreas Schwab  <schwab@suse.de>
6973
6974         * config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash.
6975
6976 2002-04-12  Richard Henderson  <rth@redhat.com>
6977
6978         PR bootstrap/4191
6979         * config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef.
6980
6981         * flow.c (mark_used_reg): Manage reg_cond_dead properly for
6982         modes spanning multiple hard regs.
6983
6984         * recog.c (peephole2_optimize): Rebuild jump labels as needed.
6985
6986 2002-04-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6987
6988         * pa.c (pa_output_function_prologue): Don't accumulate the total
6989         number of code bytes when using TARGET_64BIT, or gas, SOM and not
6990         the portable runtime.
6991         (output_deferred_plabels): Handle 64bit plabels.
6992         (output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when
6993         generating pic code using the GAS assembler for object formats that
6994         are not SOM (ie., ELF32 and ELF64).
6995         (output_millicode_call): Check attribute type if attribute length is 28.
6996         Likewise use $PIC_pcrel$0.  Only call get_attr_length and
6997         dbr_sequence_length once.
6998         (output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and
6999         dbr_sequence_length once.
7000         * pa.h (TARGET_SOM): Define if not defined.
7001         * pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0
7002         with GAS and not SOM.
7003         (jump, call_internal_reg, call_value_internal_reg): Likewise.
7004         * som.h (OBJ_SOM): Rename to TARGET_SOM.  Undefine before defining.
7005
7006 2002-04-11  David O'Brien  <obrien@FreeBSD.org>
7007
7008         * config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value.
7009         (DEFAULT_PCC_STRUCT_RETURN) Do not redefine.
7010         (USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP,
7011         DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
7012         elfos.h and dbxelf.h values are fine now.
7013         * config/i386/freebsd.h, config/alpha/freebsd.h
7014         (DEFAULT_PCC_STRUCT_RETURN): Define to 0.
7015
7016 2002-04-11  David O'Brien  <obrien@FreeBSD.org>
7017
7018         * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__
7019         or set Acpu or Amachine.  Reformat.
7020         (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
7021         define.
7022         (LINK_SPEC): Do not need to undef.
7023         * config/ia64/elf.h (ASM_EXTRA_SPEC): Define.
7024         * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef.
7025         (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
7026         define.
7027         * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define.
7028         (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead.
7029         (LINK_SPEC): Do not need to undef.
7030         (DONT_USE_BUILTIN_SETJMP): Do not define.
7031         * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add.
7032         (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine.  Remove -Dia64.
7033         (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define.
7034         Remove trailing spaces.
7035         * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__,
7036         __ELF__, or set Acpu or Amachine.  Reformat.
7037         (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
7038         define.
7039
7040 2002-04-11  David O'Brien  <obrien@FreeBSD.org>
7041
7042         * config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
7043         all other *-*-freebsd* targets.
7044
7045 2002-04-11  Richard Henderson  <rth@redhat.com>
7046
7047         * config.gcc (alpha*-*-linux*ecoff): Detect and reject.
7048
7049 2002-04-11  David O'Brien  <obrien@FreeBSD.org>
7050
7051         * config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms):
7052         Include {cpu}/{cpu}.h thru tm_file.
7053         (alpha*-*-linux*ecoff): Remove target.
7054         * config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__.
7055         (LINK_SPEC): Remove, is not OS independent.
7056         * config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__.
7057         (LINK_SPEC): Do not need to #undef any longer.
7058         * config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef
7059         any longer.
7060         * config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define
7061         __ELF__.
7062         (LINK_SPEC): Moved here from alpha/elf.h.
7063         * config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of
7064         SUB_CPP_PREDEFINES.
7065         * config/alpha/linux-ecoff.h: Remove.
7066         * config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__.
7067         (CPP_SPEC): Define _POSIX_SOURCE as needed.
7068         (CPP_SUBTARGET_SPEC): Do not define.
7069         (LINK_SPEC): Do not need to #undef any longer.
7070         * config/alpha/openbsd.h: Do not directly include alpha/alpha.h.
7071         * config/alpha/vms.h: Likewise.
7072
7073 2002-04-11  Richard Sandiford  <rsandifo@redhat.com>
7074
7075         * doc/extend.texi: Remove old claim that typedefs cannot have
7076         an alignment attribute.
7077
7078 2002-04-11  Jakub Jelinek  <jakub@redhat.com>
7079
7080         PR optimization/6177
7081         * expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if
7082         bitpos is 0 and bitsize CONCAT size.
7083
7084 2002-04-11  Jakub Jelinek  <jakub@redhat.com>
7085
7086         PR c/6223
7087         * combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.
7088
7089 2002-04-10  David O'Brien  <obrien@FreeBSD.org>
7090
7091         * config/alpha/freebsd.h: Minor reformatting.
7092         (CPP_SPEC): Define ELF and add cpp_subtarget.
7093         (ASM_SPEC): No longer needed.
7094
7095 2002-04-11  Richard Henderson  <rth@redhat.com>
7096
7097         * config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative.
7098         (movdi_insn_sp32_v9): Likewise.  Only allow stx with aligned memory.
7099         (dimode mem/zero splitter): New.
7100
7101 2002-04-11  Hans-Peter Nilsson  <hp@axis.com>
7102
7103         * config/cris/cris.c (cris_override_options): Tweak error message
7104         for PIC not implemented.
7105
7106         * config/cris/cris.h: Tweak comments related to parameter-passing.
7107
7108         * t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here.
7109
7110 2002-04-10  Richard Henderson  <rth@redhat.com>
7111
7112         * except.c (add_ehl_entry): Allow duplicates after landing pad
7113         creation.
7114
7115 2002-04-10  David Edelsohn  <edelsohn@gnu.org>
7116
7117         * config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.
7118
7119 2002-04-10  Toon Moene  <toon@moene.indiv.nluug.nl>
7120
7121         * c-decl.c (c_init_decl_processing): Move generation of
7122         decls for g77_integer_type_node and friends from here ...
7123         * c-common.c (c_common_nodes_and_builtins): ... to here.
7124
7125 2002-04-10  Ulrich Weigand  <uweigand@de.ibm.com>
7126
7127         * reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
7128         is only used as frame pointer when frame_pointer_needed is true.
7129
7130 2002-04-10  Richard Earnshaw  <rearnsha@arm.com>
7131
7132         PR target/817
7133         * arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
7134         for the fact that the pool entry uses two words.
7135         (movdf_hard_insn): Similarly.  Also, ADR instruction can span
7136         1k bytes.
7137         (movdf_soft_insn): Similarly.
7138         (movxf_hard_insn): Adjust neg_pool_range attribute to allow
7139         for the fact that the pool entry uses three words.
7140
7141 2002-04-10  Richard Sandiford  <rsandifo@redhat.com>
7142
7143         * config/mips/mips.c (mips_va_arg): When using the struct version
7144         of the EABI va_list, allow arguments in the register save area to
7145         take up less room than a stack argument.
7146
7147 2002-04-10  Richard Henderson  <rth@redhat.com>
7148
7149         * expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
7150         if EXPAND_INITIALIZER.
7151
7152 2002-04-09  Richard Henderson  <rth@redhat.com>
7153
7154         * config/alpha/alpha.md (movdi_er_maybe_g): New.
7155         * config/alpha/alpha.c (alpha_expand_mov): Use it.
7156
7157 2002-04-10  Alan Modra  <amodra@bigpond.net.au>
7158
7159         PR optimization/6233
7160         * rtlanal.c (pure_call_p): New function.
7161         * rtl.h (pure_call_p): Declare.
7162         * loop.c (prescan_loop): Use it to set has_nonconst_call.
7163         * gcse.c (store_killed_in_insn): Use pure_call_p here too.
7164
7165 2002-04-09  Eric Christopher  <echristo@redhat.com>
7166
7167         * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional
7168         information to .comm directive.
7169
7170 2002-04-09  Richard Henderson  <rth@redhat.com>
7171
7172         PR c/5078
7173         * expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.
7174
7175 2002-04-09  Richard Henderson  <rth@redhat.com>
7176
7177         * basic-block.h (flow_delete_block_noexpunge): Declare.
7178         (expunge_block_nocompact): Declare.
7179         * cfg.c (expunge_block_nocompact): Split out from ...
7180         (expunge_block): ... here.
7181         * cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
7182         (flow_delete_block_noexpunge): Split out from ...
7183         (flow_delete_block): ... here.
7184         * cfgcleanup.c (delete_unreachable_blocks): Compact while
7185         removing dead blocks.
7186         * except.c (exception_handler_labels): Remove.
7187         (exception_handler_label_map): New.
7188         (struct eh_region): Add aka member.
7189         (mark_ehl_map_entry, mark_ehl_map, free_region): New.
7190         (ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
7191         (for_each_eh_label, for_each_eh_label_1): New.
7192         (init_eh): Register exception_handler_label_map.
7193         (free_eh_status): Use free_region.
7194         (find_exception_handler_labels): Use the map, not the list.
7195         (remove_exception_handler_label): Likewise.
7196         (maybe_remove_eh_handler): Likewise.
7197         (remove_eh_handler): Use the region aka bitmap.
7198         * except.h (exception_handler_labels): Remove.
7199         (for_each_eh_label): Declare.
7200         * jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
7201         * loop.c (invalidate_loops_containing_label): New.
7202         (find_and_verify_loops): Use it.  Use for_each_eh_label.
7203         * sched-rgn.c (is_cfg_nonregular): Use
7204         current_function_has_exception_handlers.
7205
7206 2002-04-09  Richard Henderson  <rth@redhat.com>
7207
7208         * sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
7209         sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
7210         Do not return changed status.
7211         (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
7212         sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
7213         New functions that do return changed status.
7214         * sbitmap.h: Update decls.
7215         * gcse.c, lcm.c: Use _cg functions as needed.
7216
7217 Tue Apr  9 19:15:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
7218
7219         * config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
7220         (sh64-*-elf*, sh-*-rtemself*): Likewise.
7221         * config/sh/embed_bb.c: New file.
7222         * config/sh/embed-elf.h: New file.
7223         * sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
7224         if -m[12345]* option is given.  Don't use subtarget_cpp_ptr_spec.
7225         (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
7226         __PTRDIFF_TYPE__ .
7227         (SUBTARGET_CPP_PTR_SPEC): Don't define.
7228         (EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
7229         Add subtarget_asm_endian_spec.
7230         (ASM_SPEC): Use subtarget_asm_endian_spec.
7231         (SUBTARGET_ASM_ENDIAN_SPEC): Define.
7232         (RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
7233         (WCHAR_UNSIGNED): Define.
7234         (SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
7235         (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
7236         (ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
7237         Fix value.
7238         * sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
7239         (sh_adjust_cost): Likewise.
7240         sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
7241         __PTRDIFF_TYPE__ .
7242         (SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
7243         (WCHAR_TYPE_SIZE): Likewise.
7244         (ASM_SPEC): Use subtarget_asm_endian_spec.
7245         (SH_ELF_WCHAR_TYPE): #undef/ #define.
7246         (MAX_WCHAR_TYPE_SIZE): Don't #undef.
7247         * config/sh/elf.h (WCHAR_UNSIGNED): #undef .
7248         (MAX_WCHAR_TYPE_SIZE): Don't #define .
7249         (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
7250         (USER_LABEL_PREFIX): Don't #undef /#define .
7251         (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
7252         * config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
7253         (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
7254         (ASM_SPEC): Likewise.
7255         (SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
7256         (CC1_SPEC): don't supply -m3 for -m4*, -m5*.
7257         * t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
7258         (LIB2FUNCS_EXTRA): Define.
7259         * t-sh64 (LIB2FUNCS_EXTRA): Define.
7260         * config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
7261         (LIB1ASMFUNCS_CACHE): Define.
7262         (LIB2FUNCS_EXTRA): Redefine empty.
7263
7264 2002-04-08  Richard Henderson  <rth@redhat.com>
7265
7266         * reorg.c (get_branch_condition): Use reversed_comparison_code.
7267
7268 2002-04-09  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
7269
7270         * config/m68hc11/larith.asm (__map_data_section): Fix condition
7271         and optimize for size.
7272         (__do_global_ctors): Fix pointer comparison.
7273         (__do_global_dtors): Likewise.
7274
7275 2002-04-09  David S. Miller  <davem@redhat.com>
7276
7277         * config/sparc/sparc.c (sparc_extra_constraint_check): New
7278         function, implementing EXTRA_CONSTRAINTS.  For memory constraints,
7279         allow reloading pseudos.
7280         * config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
7281         * config/sparc/sparc-protos.h: Declare it.
7282
7283         * config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
7284         unsigned comparison warning.
7285         (output_restore_regs): Mark leaf_function as unused.
7286
7287 Tue Apr  9 09:35:45 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7288
7289         * expr.c (is_aligning_offset): New function.
7290         (expand_expr, case COMPONENT_EXPR): Call it.
7291
7292 2002-04-08  David S. Miller  <davem@redhat.com>
7293
7294         PR target/6082
7295         * config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW
7296
7297         Make init_priority work on Sparc when using GNU ld.
7298         * config/sparc/linux.h, config/sparc/linux64.h,
7299         config/sparc/netbsd-elf.h, config/sparc/freebsd.h
7300         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
7301         * config/sparc/sol2-gld.h: New file to do the same.
7302         * config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
7303         sparc/sol2-gld.h to tm_file.
7304
7305         PR optimization/4328
7306         * config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
7307         * doc/md.texi: Document it.
7308         * config/sparc/sparc.md (movdi_insn_sp64_novis,
7309         movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
7310         movdf_insn_v9only_vis, movdf_insn_sp64_novis,
7311         movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
7312         * config/sparc/sparc.c (mem_min_alignment): Fix comment.
7313
7314 2002-04-08  Andreas Jaeger  <aj@suse.de>
7315
7316         * stmt.c (expand_asm_operands): Revert last patch from Richard
7317         Henderson.
7318
7319 2002-04-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7320
7321         * doc/contrib.texi (Contributors): Add John David Anglin and Loren
7322         J. Rittle (the latter also to Testers).  Update David O'Brien's entry.
7323
7324 2002-04-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7325
7326         * doc/contrib.texi (Contributors): Add David O'Brien.
7327
7328 2002-04-08  Alan Modra  <amodra@bigpond.net.au>
7329
7330         * configure.in (auto-build.h): Use target_alias and build_alias
7331         when running configure.
7332         (gcc_cv_as, gcc_cv_ld): Search install paths when build != host too.
7333         (gcc_cv_nm, gcc_cv_objdump): Set for build != host too.
7334         * configure: Regenerate.
7335
7336 2002-04-07  David S. Miller  <davem@redhat.com>
7337
7338         * config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
7339
7340 2002-04-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7341
7342         PR 5933
7343         * pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when
7344         generating 32-bit pic code.
7345
7346 2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
7347
7348         * cppinit.c (cpp_create_reader): Initialize
7349         discard_comments_in_macro_exp.
7350         (COMMAND_LINE_OPTIONS): Add "-CC" option.
7351         (cpp_handle_option): Handle "-CC" option.
7352         * cpplex.c (save_comment): If saving a C++ comment in
7353         a directive, convert it to a C comment.
7354         (_cpp_lex_direct): Pass second comment start character to
7355         save_comment to indicate comment type.
7356         * cpplib.c (_cpp_handle_directive): If processing
7357         a "#define" directive and discard_comments_in_macro_exp
7358         is false,  re-enable saving of comments.
7359         (lex_macro_node): If discard_comments_in_macro_exp is false,
7360         discard any comments before the macro identifier.
7361         * cpplib.h (struct cpp_options): Add discard_comments_in_macro_exp
7362         member.
7363         * cppmacro.c (cpp_get_token): If expanding a macro while
7364         processing a directive, discard any comments we might encounter.
7365         (parse_params): If discard_comments_in_macro_exp is false,
7366         ignore comments in the macro parameter list.
7367         * gcc.c (cpp_unique_options): Add "-CC" option.
7368         (option_map): Map "--comments-in-macros" to "-CC".
7369         * doc/cppopts.texi: Document "-CC" option.
7370         * f/lang-specs.h: Add "-CC" option.
7371         * testsuite/gcc.dg/cpp/maccom1.c: New test.
7372         * testsuite/gcc.dg/cpp/maccom2.c: New test.
7373         * testsuite/gcc.dg/cpp/maccom3.c: New test.
7374         * testsuite/gcc.dg/cpp/maccom4.c: New test.
7375         * testsuite/gcc.dg/cpp/maccom5.c: New test.
7376         * testsuite/gcc.dg/cpp/maccom6.c: New test.
7377
7378 2002-04-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7379
7380         PR middle-end/6180
7381         * reorg.c (dbr_schedule): Don't reposition prologue and epilogue notes.
7382
7383 2002-04-06  Mark Mitchell  <mark@codesourcery.com>
7384
7385         PR c++/5571
7386         * stor-layout.c (layout_decl): Reset the RTL for the decl.
7387
7388         PR opt/5120
7389         * sibcall.c (optimize_sibling_and_tail_recursive_call): Clear
7390         RTX_UNCHANGING_P for the functions arguments when a tail call
7391         is made.
7392
7393 2002-04-06  Jason Merrill  <jason@redhat.com>
7394
7395         * toplev.c (flag_no_inline, flag_really_no_inline): Default to 2.
7396         (parse_options_and_default_flags): Set them appropriately.
7397         * c-common.c (c_common_post_options): Don't set flag_really_no_inline.
7398
7399 2002-04-06  Hans-Peter Nilsson  <hp@bitrange.com>
7400
7401         * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc
7402         here.
7403
7404         * config/mmix/mmix.h (INITIAL_ELIMINATION_OFFSET): Remove spurious
7405         semicolon.
7406
7407         * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Variable-size
7408         types come in by-reference.  Fix typo in comment.
7409
7410 2002-04-05  David S. Miller  <davem@redhat.com>
7411
7412         * config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
7413         * config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
7414         sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
7415         {sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.
7416
7417 2002-04-05  David S. Miller  <davem@redhat.com>
7418
7419         * config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we
7420         are not going to emit return instructions, emit at least a nop
7421         for the sake of sane backtraces.
7422
7423 2002-04-05  Richard Henderson  <rth@redhat.com>
7424
7425         * doc/rtl.texi (Regs and Memory): Document (mem:BLK (scratch)).
7426
7427 2002-04-05  Jakub Jeilnek  <jakub@redhat.com>
7428
7429         * mklibgcc.in: Use $tmpmapfile, not tmp-$@.
7430
7431 2002-04-05  Alexandre Oliva  <aoliva@redhat.com>
7432
7433         * config/mips/mips.h (ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE,
7434         ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
7435         ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Disable if TARGET_MIPS16.
7436
7437 2002-04-05  Andreas Schwab  <schwab@suse.de>
7438
7439         * c-convert.c: Include c-common.h.
7440         * Makefile.in (c-convert.o): Updated.
7441
7442 2002-04-05  Jakub Jelinek  <jakub@redhat.com>
7443
7444         * mklibgcc.in: Use separate libgcc.map for each multilib.
7445         * Makefile.in (distclean): Don't remove libgcc.map here.
7446
7447 2002-04-05  Jakub Jelinek  <jakub@redhat.com>
7448
7449         * Makefile.in (s-mlib): Handle --disable-multilib by separate
7450         genmultilib invocation.
7451
7452 2002-04-04  Richard Sandiford  <rsandifo@redhat.com>
7453
7454         * config/mips/mips.h (CUMULATIVE_ARGS): Rename fp_regs to num_fprs
7455         to avoid clash with Irix header file sys/ucontext.h.  Rename gp_regs
7456         to num_gprs for symmetry.
7457         * config/mips/mips.c: Adjust accordingly.
7458
7459 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
7460
7461         * c-common.c (truthvalue_conversion): Rename, update.
7462         * c-common.h (c_common_truthvalue_conversion): New.
7463         * c-convert.c (convert): Update.
7464         * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
7465         * c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update.
7466         * c-typeck.c (build_binary_op, build_unary_op,
7467         build_conditional_expr): Update.
7468         * fold-const.c (constant_boolean_node, fold): Use langhook.
7469         * langhooks-def.h (LANGHOOK_INITIALIZER): Update.
7470         * langhooks.h (struct lang_hooks): New hook.
7471         * stmt.c (expand_decl_cleanup): Use langhook.
7472         * tree.h (truthvalue_conversion): Remove.
7473 objc:
7474         * objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
7475
7476 2002-04-05  Alan Modra  <amodra@bigpond.net.au>
7477
7478         * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtsavres.o
7479         Add rules to make null object file.
7480
7481 2002-04-04  Jim Blandy  <jimb@redhat.com>
7482
7483         * cppmacro.c (cpp_macro_definition): Do not emit spaces after
7484         macro formal parameter names.
7485
7486 2002-04-04  David S. Miller  <davem@redhat.com>
7487
7488         * calls.c (store_one_arg): If ECF_SIBCALL, use tail_call_reg.
7489
7490 2002-04-04  Richard Henderson  <rth@redhat.com>
7491
7492         PR middle-end/5099
7493         * stmt.c (expand_asm_operands): Validate outputs vs asm_operand_ok.
7494         Support copies into and out of memory.  Don't accept allows_reg
7495         and allows_mem as gospel.
7496
7497 2002-04-04  Richard Henderson  <rth@redhat.com>
7498
7499         PR opt/6165
7500         * alias.c (true_dependence): Force (mem:blk (scratch)) to conflict.
7501         (write_dependence_p): Likewise.
7502
7503 2002-04-04  Richard Henderson  <rth@redhat.com>
7504
7505         * predict.c (estimate_bb_frequencies): Do frequency calculation
7506         with a volatile temporary.
7507
7508 2002-04-04  Ulrich Weigand  <uweigand@de.ibm.com>
7509
7510         * config/s390/linux.h (LOCAL_LABEL_PREFIX): Define.
7511
7512 2002-04-04  Jakub Jelinek  <jakub@redhat.com>
7513
7514         PR c++/6119
7515         * final.c (final_start_function): Don't bump profile_label_no here...
7516         (final_end_function): ...but here.
7517
7518 2002-04-04  Jakub Jelinek  <jakub@redhat.com>
7519
7520         * config/sparc/sparc.md (pic): New attribute.
7521         (do_builtin_setjmp_setup): Save %fp, %i7 and %l7 for TARGET_V9
7522         into stack slots.
7523         (split after do_builtin_setjmp_setup): New.
7524
7525 2002-04-04  Jakub Jelinek  <jakub@redhat.com>
7526
7527         PR fortran/6106
7528         * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Backout 2001-01-01
7529         change.
7530
7531 2002-04-04  Jakub Jelinek  <jakub@redhat.com>
7532
7533         * config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
7534         UNITS_PER_WORD for zero sized aggregates.
7535
7536 2002-04-03  David S. Miller  <davem@redhat.com>
7537
7538         * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
7539         one-character spec for this, just use %(link_gcc_c_sequence).
7540
7541 2002-04-03  David S. Miller  <davem@redhat.com>
7542
7543         * config/sparc/crtfastmath.c (FPRS_NS): Delete bogus little-endian
7544         handling.
7545
7546 2002-04-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7547
7548         * pa-linux.h (INCOMING_RETURN_ADDR_RTX): Move.
7549         (DWARF_FRAME_RETURN_COLUMN): Move.
7550         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
7551         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Define.
7552         * pa.c (except.h, predict.h): Include.
7553         (FRP): Delete.
7554         (store_reg_modify, set_reg_plus_d): Revise prototypes.
7555         (output_ascii): Add cast.
7556         (store_reg_modify): Revise to add frame notes.
7557         (set_reg_plus_d): Likewise.
7558         (compute_frame_size): Include space for eh data registers in frame if
7559         the current function calls eh_return.
7560         (hppa_expand_prologue):  Ensure register %r2 is saved if the current
7561         function calls eh_return.  Save eh data registers if the current
7562         function calls eh_return.  Fix code to add frame notes.  Emit
7563         blockage to prevent insns with frame notes being scheduled in the
7564         delay slot of calls.
7565         (hppa_expand_epilogue): Restore eh data registers and do final stack
7566         adjustment if the current function calls eh_return.  Don't add frame
7567         notes.
7568         (output_call): Revise for change in length of call insn.  Don't do
7569         return pointer adjustment for an unconditional jump in the delay slot
7570         of a call when using frame notes.
7571         * pa.h (EH_RETURN_DATA_REGNO): Revise for TARGET_64BIT compatibility.
7572         (EH_RETURN_HANDLER_RTX): Use saved value on stack.
7573         (ARG_POINTER_CFA_OFFSET): Define.
7574         * pa.md (return_external_pic): New pattern.
7575         (prologue): Correct formatting.  Use return_external_pic if current
7576         function calls eh_return.
7577         (call_internal_symref, call_value_internal_symref,
7578         sibcall_internal_symref, sibcall_value_internal_symref): Change default
7579         lengths of short, long non-pic, and long pic calls to 8, 68, and 84,
7580         respectively.
7581         (exception_receiver): Use hppa_pic_save_rtx () to restore pic register.
7582
7583         * configure.in ("assembler dwarf2 debug_line support"): Add hppa*-*-* to
7584         list of targets to check using "nop" insn.
7585         * configure: Rebuilt.
7586
7587 2002-04-04  Alan Modra  <amodra@bigpond.net.au>
7588
7589         * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Define.
7590
7591 2002-04-03  David S. Miller  <davem@redhat.com>
7592
7593         * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c
7594         library sequence passed to the linker.
7595         (LINK_COMMAND_SPEC): Use it.
7596         * doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as
7597         a macro a target can use to avoid overriding LINK_COMMAND_SPEC.
7598         * config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7599
7600 2002-04-03  Jason Merrill  <jason@redhat.com>
7601
7602         * except.c (struct eh_status): Remove protect_list.
7603         (begin_protect_partials, end_protect_partials): Remove.
7604         (add_partial_entry): Remove.
7605         * except.h: Remove prototypes.
7606
7607         * expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
7608         expand_decl_cleanup_eh.
7609
7610         PR c++/5636
7611         * tree.h (CLEANUP_EH_ONLY): New macro.
7612         * stmt.c (expand_decl_cleanup_eh): New fn.
7613         (expand_cleanups): Check CLEANUP_EH_ONLY.
7614         * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
7615         Use expand_decl_cleanup_eh.
7616         (expand_stmt): Adjust.
7617         * c-common.h: Adjust prototype.
7618
7619 2002-04-04  Hans-Peter Nilsson  <hp@axis.com>
7620
7621         * config/cris/cris.c (cris_target_asm_function_prologue): Cast
7622         uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings.
7623         (cris_target_asm_function_epilogue): Ditto.
7624         (cris_initial_frame_pointer_offset): Ditto.
7625         (cris_simple_epilogue): Ditto.
7626         (cris_expand_builtin_va_arg): Variable-size types come in
7627         by-reference.
7628
7629 2002-04-03  David S. Miller  <davem@redhat.com>
7630
7631         * config/sparc/crtfastmath.c (FPRS_NS): Get it right for
7632         little-endian.
7633         (set_fast_math): Correct 'fsr' type.
7634
7635 2002-04-03  Richard Henderson  <rth@redhat.com>
7636
7637         PR opt/3569
7638         * langhooks.h (lang_hooks.decls.warn_unused_global): New.
7639         * toplev.c (check_global_declarations): Use it.
7640         * langhooks-def.h (lhd_warn_unused_global_decl): Declare.
7641         (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
7642         (LANG_HOOKS_DECLS): Add it.
7643         * langhooks.c (lhd_warn_unused_global_decl): New.
7644         * c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
7645         * c-objc-common.c (c_warn_unused_global_decl): New.
7646         * c-tree.h (c_warn_unused_global_decl): Declare.
7647         * objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
7648
7649 2002-04-03  Neil Booth  <neil@daikokuya.demon.co.uk>
7650
7651         * langhooks-def.h (lhd_set_decl_assembler_name,
7652         LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
7653         (LANG_HOOKS_INITIALIZER): Update.
7654         * langhooks.c (lhd_set_decl_assembler_name): New, from tree.c
7655         * langhooks.h (struct lang_hooks): New hook.
7656         * tree.c (set_decl_assembler_name): Move to langhooks.c.
7657         (lang_set_decl_assembler_name): Remove.
7658         (init_obstacks): Don't set hook.
7659         (decl_assembler_name): New function.
7660         * tree.h (DECL_ASSEMBLER_NAME): Turn into a function call.
7661         (decl_assembler_name): New.
7662         (lang_set_decl_assembler_name): Remove.
7663
7664 2002-04-03  Jakub Jelinek  <jakub@redhat.com>
7665
7666         * configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
7667         works properly with .hidden symbols.
7668         * configure: Rebuilt.
7669         * config.in: Rebuilt.
7670         * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
7671         DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
7672         properly with .hidden symbols.
7673
7674 2002-04-03  Jakub Jelinek  <jakub@redhat.com>
7675
7676         PR middle-end/6102
7677         * df.c (df_insn_refs_record): Use XEXP not SET_DEST to access
7678         USE argument.
7679
7680 2002-04-03  Richard Henderson  <rth@redhat.com>
7681
7682         PR opt/4120
7683         * sched-rgn.c (sets_likely_spilled): New.
7684         (sets_likely_spilled_1): New.
7685         (add_branch_dependences): Use it.
7686
7687 2002-04-02  Richard Henderson  <rth@redhat.com>
7688
7689         PR opt/4311
7690         * loop.h (LOOP_FIRST_PASS): New.
7691         * loop.c (strength_reduce): Mind it when deciding to unroll.
7692         * toplev.c (rest_of_compilation): Set it.
7693
7694 2002-04-02  David S. Miller  <davem@redhat.com>
7695
7696         * config/sparc/sparc.md (ldd peephole2s): Fix final arg to
7697         mems_ok_for_ldd_peep when the order of the loads being examined
7698         is reversed.
7699         * config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon
7700         existing comment to increase comprehension of this situation.
7701
7702 2002-04-02  Zack Weinberg  <zack@codesourcery.com>
7703
7704         * config/sh/sh.md: Don't use union real_extract.
7705
7706 2002-04-02  Richard Henderson  <rth@redhat.com>
7707
7708         * libgcc2.c (__bb_exit_func): Revert 03-31 change.
7709
7710 2002-04-02  David O'Brien  <obrien@FreeBSD.org>
7711
7712         * config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems,
7713         i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-,
7714         i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1,
7715         i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos,
7716         i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd,
7717         i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf,
7718         i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix,
7719         i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout,
7720         i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32,
7721         i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd,
7722         i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems,
7723         i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv,
7724         i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta,
7725         i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd):
7726         Include as many configury headers via tm_file as possible.  This
7727         includes among others i386/unix.h, i386/bsd.h, i386/gas.h.
7728         * config/openbsd-oldgas.h: New file.
7729         * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h,
7730         config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h,
7731         config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h,
7732         config/i386/i386-coff.h, config/i386/i386-interix.h,
7733         config/i386/iscdbx.h, config/i386/linux-aout.h,
7734         config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h,
7735         config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h,
7736         config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h,
7737         config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h,
7738         config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h,
7739         config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h,
7740         config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h,
7741         config/i386/vxi386.h: Do not directly include configury headers.
7742         * config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h:
7743         Directly include configury headers that are no longer automatically
7744         included by the above headers.
7745         * config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define.
7746         * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h,
7747         config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h,
7748         config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h,
7749         config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h,
7750         config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h,
7751         config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h
7752         (TARGET_VERSION): Define.
7753         * config/i386/beos-elf.h, config/i386/freebsd.h,
7754         config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h,
7755         config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h,
7756         config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h,
7757         config/i386/sco5.h, config/i386/sysv4.h
7758         (TARGET_VERSION): Do not need to protect.
7759         * config/i386/freebsd64.h (TARGET_VERSION): Fix style.
7760         * config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h,
7761         config/i386/freebsd-aout.h, config/i386/i386-aout.h,
7762         config/i386/i386-interix.h, config/i386/linux-aout.h,
7763         config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h,
7764         config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h
7765         (YES_UNDERSCORES): Do not define - not needed.
7766         * config/i386/bsd.h, config/i386/gas.h (LPREFIX,
7767         ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
7768         USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case.
7769         * config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h
7770         (LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
7771         USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case)
7772         * config/i386/isc.h: Preserve comment from config/i386/isccoff.h.
7773         * config/i386/isccoff.h, config/i386/v3gas.h: Remove.
7774
7775 2002-04-02  Eric Botcazou  <ebotcazou@multimania.com>
7776             Richard Henderson  <rth@redhat.com>
7777
7778         PR c/5484
7779         * function.c (assign_temp): Accept either type or decl argument.
7780         Detect variables whose size is too large to fit into an integer.
7781         * stmt.c (expand_decl): Pass the decl, not the type.
7782
7783 2002-04-02  David O'Brien  <obrien@FreeBSD.org>
7784
7785         * protoize.c: Match include directory usage with cppdefault.c.
7786
7787 2002-04-03  Jeffrey A Law  (law@redhat.com)
7788             Hans-Peter Nilsson  <hp@bitrange.com>
7789
7790         * combine.c (simplify_comparison): Avoid narrowing a comparison
7791         with a paradoxical subreg when doing so would drop signficant bits.
7792
7793 2002-04-02  Steve Ellcey  <sje@cup.hp.com>
7794
7795         * builtins.c (expand_builtin_prefetch): Force op0 pointer to Pmode
7796         if POINTERS_EXTEND_UNSIGNED is defined.
7797
7798 2002-04-02  Richard Henderson  <rth@redhat.com>
7799
7800         PR opt/3967
7801         * local-alloc.c (contains_replace_regs): LO_SUM may contain
7802         replace regs.
7803
7804 2002-04-02  Richard Henderson  <rth@redhat.com>
7805
7806         * doc/standards.texi: Document required freestanding libc entry points.
7807
7808 2002-04-02  Alan Modra  <amodra@bigpond.net.au>
7809
7810         * config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and
7811         associated splitter.  Remove MQ constraint.
7812         (ctrdi_internal4): Correct CCmode clobber.
7813
7814 2002-04-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7815
7816         * milli64.S ($$dyncall): New function.
7817         * t-linux (LIB1ASMFUNCS): Revise module list.
7818         (LIB1ASMSRC): Use pa/milli64.S.
7819
7820 2002-04-02  Richard Henderson  <rth@redhat.com>
7821
7822         * fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and
7823         rename solaris_sys_varargs_h.
7824
7825 Tue Apr  2 06:47:40 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7826
7827         * stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array
7828         the same mode as its component.
7829
7830 2002-04-02  Richard Henderson  <rth@redhat.com>
7831
7832         PR opt/190
7833         * final.c (this_is_asm_operands): Export.
7834         * output.h (this_is_asm_operands): Declare.
7835         * config/i386/i386.c (print_operand): Error odd asm operands.
7836
7837 2002-04-02  Richard Henderson  <rth@redhat.com>
7838
7839         PR opt/420
7840         * config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
7841
7842 2002-04-01  Richard Henderson  <rth@redhat.com>
7843
7844         PR target/1538
7845         * fixinc/inclhack.def (solaris_sys_varargs_h): New.
7846         * fixinc/fixincl.x: Rebuild.
7847
7848 2002-04-01  Richard Henderson  <rth@redhat.com>
7849
7850         * config/ia64/unwind-ia64.c: Include ia64intrin.h.
7851         (atomic_alloc, atomic_free): New.
7852         (SIZE, MASK_FOR, PTR_IN): New.
7853         (emergency_reg_state, emergency_reg_state_free): New.
7854         (emergency_labeled_state, emergency_labeled_state_free): New.
7855         (reg_state_alloced, labeled_state_alloced): New.
7856         (alloc_reg_state, free_reg_state): New.
7857         (alloc_label_state, free_label_state, free_label_states): New.
7858         (push, pop, dup_state_stack, free_state_stack): Use them.
7859         (desc_label_state): Likewise.
7860         (uw_frame_state_for): Free label states and state stack.
7861         (uw_update_reg_address): Eliminate warnings.
7862
7863 2002-04-01  Vladimir Makarov  <vmakarov@redhat.com>
7864
7865         * config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON,
7866         ASM_OUTPUT_ALIGNED_LOCAL): Redefine them.
7867
7868 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
7869
7870         * c-decl.c (grokdeclarator): Update.
7871         * c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
7872         * c-tree.h (c_mark_addressable): New.
7873         * c-typeck.c (default_function_array_conversion, build_unary_op,
7874         build_array_ref, convert_for_assignment): Update.
7875         (mark_addressable): Rename.
7876         * calls.c (try_to_integrate, expand_call): Use langhook.
7877         * expr.c (expand_expr): Use langhook.
7878         * langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
7879         * langhooks.h (struct lang_hooks): New hook.
7880         * stmt.c (expand_asm_operands): Use langhook.
7881         * tree.h (mark_addressable): Remove.
7882 objc:
7883         * objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
7884
7885 2002-04-01  Bob Wilson  <bob.wilson@acm.org>
7886
7887         * config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
7888         in previous change.
7889
7890 2002-04-01  Bob Wilson  <bob.wilson@acm.org>
7891
7892         * config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
7893         for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
7894
7895 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
7896
7897         * c-common.c (unsigned_conversion_warning, convert_and_check,
7898         unsigned_type, signed_type, shorten_compare,
7899         c_common_get_alias_set, c_common_nodes_and_builtins): Use new hooks.
7900         (unsigned_type, signed_type, signed_or_unsigned_type): Rename.
7901         * c-common.h (unsigned_type, signed_type, signed_or_unsigned_type):
7902         New.
7903         * c-decl.c (grokdeclarator): Update.
7904         * c-format.c (check_format_types): Update.
7905         * c-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
7906         LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
7907         * c-typeck.c (build_binary_op, convert_for_assignment): Update.
7908         * convert.c (convert_to_integer): Use new hooks.
7909         * expmed.c (make_tree): Use new hooks.
7910         * expr.c (store_expr): Use new hooks.
7911         * fold-const.c (operand_equal_for_comparison_p, build_range_check,
7912         all_ones_mask_p, unextend, fold): Use new hooks.
7913         * langhooks.h (struct lang_hooks_for_types): New hooks.
7914         * tree.h (signed_or_unsigned_type, signed_type,
7915         unsigned_type): Remove.
7916 objc:
7917         * objc-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
7918         LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
7919
7920 2002-03-31  Richard Henderson  <rth@redhat.com>
7921
7922         * config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset.
7923         (desc_frgr_mem): Fix reference to f16-f31.
7924
7925 2002-03-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7926
7927         * rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
7928         RTVEC_ELT): Const-ify.
7929         * varray.h (VARRAY_CHECK): Const-ify.
7930         * ggc.h (ggc_mark_rtx, ggc_mark_tree, ggc_mark_nonnull_tree,
7931         ggc_mark_rtvec, ggc_mark): Const-ify.
7932
7933 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
7934
7935         * diagnostic.c: Include langhooks-def.h.
7936         * Makefile.in (diagnostic.o): Update.
7937
7938 2002-03-31  Neil Booth  <neil@daikokuya.demon.co.uk>
7939
7940         * c-common.c (c_unsafe_for_reeval): Rename.
7941         * c-common.h (c_unsafe_for_reeval): Rename.
7942         * c-decl.c (finish_incomplete_decl): Rename.
7943         (c_init_decl_processing): Don't set langhook.
7944         * c-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
7945         LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
7946         * c-objc-common.c (c_objc_common_init): Don't set langhook.
7947         * c-tree.h (finish_incomplete_decl): Rename.
7948         * langhooks-def.h (lhd_unsafe_for_reeval): New.
7949         (LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
7950         (LANG_HOOKS_INITIALIZER): Update.
7951         * langhooks.c (lhd_unsafe_For_reeval): New.
7952         * langhooks.h (struct langhooks): New hooks.
7953         * toplev.c (incomplete_decl_finalize_hook): Remove.
7954         (wrapup_global_declarations): Update.
7955         * tree.c (lang_unsafe_for_reeval): Remove.
7956         (unsafe_for_reeval): Update.
7957         * tree.h (lang_unsafe_for_reeval, incomplete_decl_finalize_hook):
7958         Remove.
7959 objc:
7960         * objc-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
7961         LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
7962
7963 2002-03-31  Neil Booth  <neil@daikokuya.demon.co.uk>
7964
7965         * diagnostic.c (print_error_function): Remove.
7966         (default_print_error_function): Rename.
7967         (report_error_function): Update.
7968         * diagnostic.h (print_error_function): Remove.
7969         (default_print_error_function): Remove.
7970         * langhooks-def.h (struct diagnostic_context): Predeclare.
7971         (lhd_print_error_function, LANG_HOOKS_PRINT_ERROR_FUNCTION): New.
7972         (LANG_HOOKS_INITIALIZER): Update.
7973         * langhooks.h (struct diagnostic context): Predeclare.
7974         (struct lang_hooks): New hook.
7975
7976 2002-03-31  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7977
7978         * config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New.
7979         (PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if
7980         !flag_pic.
7981         (CONDITIONAL_REGISTER_USAGE): Adjust accordingly.
7982         * config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead
7983         of PIC_OFFSET_TABLE_REGNUM thruout.
7984         * config/rs6000/rs6000.md: Likewise.
7985         * config/rs6000/darwin.h: Likewise.
7986
7987 Sun Mar 31 14:43:24 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7988
7989         * emit-rtl.c (adjust_address_1, offset_address): Cast value to
7990         unsigned HOST_WIDE_INT, not unsigned int.
7991
7992 2002-03-31  Jakub Jelinek  <jakub@redhat.com>
7993
7994         PR middle-end/6096, middle-end/6098, middle-end/6099
7995         * reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
7996         CODE_LABELs.
7997         (fill_slots_from_thread): Likewise.
7998
7999 2002-03-31  Jakub Jelinek  <jakub@redhat.com>
8000
8001         * config/sparc/sparc.c (function_arg_record_value_1): Pass complex
8002         floating fields in float regs.
8003         (function_arg_record_value_2): Likewise.
8004
8005 2002-03-31  Hans-Peter Nilsson  <hp@bitrange.com>
8006
8007         * config/mmix/mmix.md (define_constants): Remove misleading
8008         FIXME.  Add MMIX_fp_rO_OFFSET.
8009         ("nonlocal_goto_receiver"): Don't have stack-frame address of
8010         saved rO as part of the pattern.  Remove FIXME.
8011         ("*nonlocal_goto_receiver_expanded"): Similar.  Generate address
8012         here, at output-time.
8013
8014 2002-03-31  Jakub Jelinek  <jakub@redhat.com>
8015
8016         PR middle-end/6100
8017         * config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
8018         REG_BR_PRED.
8019         (output_v9branch): Likewise.
8020
8021 2002-03-31  Alexandre Oliva  <aoliva@redhat.com>
8022
8023         * gcc.c: Revert previous patch for now.
8024         * config/i386/djgpp.h: Likewise.
8025
8026 2002-03-31  Hans-Peter Nilsson  <hp@bitrange.com>
8027
8028         * config/mmix/crti.asm (_init): Register _fini with atexit.
8029         * config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".
8030
8031 2002-03-31  Richard Henderson  <rth@redhat.com>
8032
8033         PR target/3997
8034         * config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
8035         (ASM_OUTPUT_DEF_FROM_DECLS): New.
8036
8037 2002-03-31  Richard Henderson  <rth@redhat.com>
8038
8039         * libgcc2.c (__bb_exit_func): Make static.
8040
8041         * config/alpha/alpha.md (trap): New.
8042
8043 2002-03-31  Richard Henderson  <rth@redhat.com>
8044
8045         * builtins.c (expand_builtin_va_arg): Give warnings not errors for
8046         promoted argument types; build trap.
8047         (expand_builtin_trap): New.
8048         (expand_builtin): Use it.
8049         * stmt.c (expand_nl_goto_receivers): Likewise.
8050         * expr.h (expand_builtin_trap): Declare.
8051         * libfuncs.h (LTI_abort, abort_libfunc): New.
8052         * optabs.c (init_optabs): Init abort_libfunc.
8053
8054 2002-03-31  Alexandre Oliva  <aoliva@redhat.com>
8055
8056         * gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
8057         (LINK_COMMAND_SPEC): ... from here.
8058         (init_gcc_specs): Duplicate it here too, omitting
8059         shared_name in the second copy.
8060         (init_spec): Test for duplicate
8061         * config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.
8062
8063 2002-03-30  David S. Miller  <davem@redhat.com>
8064
8065         * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
8066         * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.
8067
8068 2002-03-30  Roger Sayle <roger@eyesopen.com>
8069             Richard Henderson  <rth@redhat.com>
8070
8071         * regmove.c (combine_stack_adjustments_for_block): Avoid
8072         emitting a stack adjustment of zero bytes.  Let delete_insn
8073         update bb->head.
8074
8075 2002-03-30  Richard Henderson  <rth@redhat.com>
8076
8077         * config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
8078         (sparc_emitting_epilogue): New.
8079         (leaf_label, output_return, sparc_return_peephole_ok): Remove.
8080         * config/sparc/sparc-protos.h: Update.
8081         * config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
8082         (TARGET_SWITCHES): Update.
8083         * config/sparc/sparc.md (return): Remove.
8084         (return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
8085         * config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
8086         config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
8087         config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
8088         config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
8089         config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
8090         config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
8091         Remove MASK_EPILOGUE.
8092         * doc/invoke.texi: Update.
8093
8094 2002-03-30  Daniel Berlin  <dan@dberlin.org>
8095
8096         * dwarf2out.c (dwarf2out_define): Remove start_source_file call,
8097         CPP will start the file for us.
8098
8099 2002-03-30  Richard Henderson  <rth@redhat.com>
8100
8101         PR target/5446
8102         * config/ia64/ia64.c (group_barrier_needed_p): Special case
8103         prologue_allocate_stack.
8104         (ia64_single_set): Use insn codes for recognition of special
8105         cases, not rtl matching.
8106         * config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
8107
8108 Sat Mar 30 23:48:41 CET 2002  Jan Hubicka  <jh@suse.cz>
8109
8110         * cfgbuild.c (find_basic_blocks_1): Clear aux for blocks.
8111
8112 2002-03-30  Richard Henderson  <rth@redhat.com>
8113
8114         PR target/6032
8115         * config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
8116         or -fomit-frame-pointer with profiling.
8117         (SUBTARGET_OVERRIDE_OPTIONS): Remove.
8118         (FUNCTION_PROFILER): Do nothing.
8119         (PROFILE_HOOK): New.
8120         * config/sparc/sparc.c (sparc_override_options): Don't check
8121         code models for profiling.
8122         (sparc_function_profiler): Remove.
8123         (sparc_profile_hook): New.
8124         * config/sparc/sparc-protos.h: Update.
8125
8126 2002-03-30  Jakub Jelinek  <jakub@redhat.com>
8127
8128         PR optimization/6086
8129         * combine.c (combine_simplify_rtx): If simplify_rtx failed because
8130         of SUBREG of volatile MEM or because the MEM was mode dependent,
8131         return CLOBBER instead of unmodified SUBREG.
8132
8133 Sat Mar 30 14:08:55 CET 2002  Jan Hubicka  <jh@suse.cz>
8134
8135         * local-alloc.c (local_alloc): Avoid call of update_equiv_regs
8136         when not optimizing.
8137
8138         * toplev.c (rest_of_compilation): Cann mark_constant_function
8139         only when optimizing.
8140
8141         * flow.c (calculate_global_regs_live): Ensure that all AUX fields
8142         are NULL.
8143
8144         * cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
8145         (thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
8146         (try_optimize_cfg): clear all AUX fields.
8147
8148         * i386.c (aligned_operand): Be prepared for SUBREGed registers.
8149         (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
8150         (ix86_address_cost): Be prepared for SUBREGed registers.
8151         (legitimate_address_p): Accept SUBREGed registers.
8152
8153 2002-03-29  Richard Henderson  <rth@redhat.com>
8154
8155         PR target/5672
8156         * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
8157
8158 2002-03-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8159
8160         * config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
8161         for aggregate and TFmode types.
8162
8163 2002-03-29  Hans-Peter Nilsson  <hp@bitrange.com>
8164
8165         * cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i].
8166
8167 2002-03-29  Richard Henderson  <rth@redhat.com>
8168
8169         PR target/5886
8170         * config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64.
8171         * config/ia64/hpux.h, config/ia64/linux.h: Likewise.
8172
8173 2002-03-29  Richard Henderson  <rth@redhat.com>
8174
8175         PR target/6041
8176         * config/i386/i386.c (x86_arch_always_fancy_math_387): New.
8177         (override_options): Disable NO_FANCY_MATH_387 if the arch allows.
8178         * config/i386/i386.h (x86_arch_always_fancy_math_387): New.
8179         * config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix
8180         conditional.
8181         * docs/invoke.texi: Update -mno-fancy-math-387 docs.
8182
8183 2002-03-29  Dale Johannesen <dalej@apple.com>
8184
8185         * loop.c (combine_movables): Do allow combination of pseudos.
8186
8187 2002-03-29  Loren J. Rittle  <ljrittle@acm.org>
8188
8189         * config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
8190         * config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
8191         No functional change except ...
8192         * config/t-slibgcc-nolc-override (SHLIB_LC): Override it.  New file.
8193         * doc/install.texi (*-*-freebsd*): Document port configuration.
8194
8195 2002-03-29  Neil Booth  <neil@daikokuya.demon.co.uk>
8196
8197         * Makefile.in (convert.o, calls.o, expmed.o): Update.
8198         * attribs.c (handle_mode_attribute, handle_vector_size_attribute):
8199         Use new hooks.
8200         * builtin-types.def (BT_PTRMODE): Update.
8201         * c-common.c (type_for_size): Rename c_common_type_for_size.
8202         (type_for_mode): Similarly.
8203         (shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
8204         Use new hook.
8205         * c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
8206         * c-decl.c (finish_enum, build_enumerator): Use new hooks.
8207         * c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
8208         Redefine.
8209         * c-typeck.c (common_type, comptypes, default_conversion):
8210         Use new hooks.
8211         * calls.c: Include langhooks.h.
8212         (emit_library_call_value_1): Use new hooks.  Avoid redundant
8213         calls.
8214         * convert.c: Include langhooks.h
8215         (convert_to_pointer, convert_to_integer): Use new hooks.
8216         * except.c (init_eh): Similarly.
8217         * expmed.c: Include langhooks.h.
8218         (expand_mult_add): Use new hooks.
8219         * expr.c (store_expr, store_constructor, expand_expr, do_jump,
8220         try_casesi): Similarly.
8221         * fold-const.c (optimize_bit_field_compare, make_range,
8222         decode_field_reference, fold_truthop, fold): Similarly.
8223         * function.c (assign_stack_local_1, assign_stack_temp_for_type,
8224         put_var_into_stack): Similarly.
8225         * langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
8226         LANG_HOOKS_TYPE_FOR_SIZE): New.
8227         (LANG_HOOKS_TYPES_INITIALIZER): Update.
8228         * langhooks.h (lang_hooks_for_types): New hooks.
8229         * stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
8230         * tree.c (get_unwidened, get_narrower): Similarly.
8231         * tree.h (type_for_mode, type_for_size): Remove.
8232         * varasm.c (force_const_mem): Use new hooks.
8233         * utils2.c (nonbinary_modular_operation): Update.
8234 objc:
8235         * objc-act.c (handle_impent): Update.
8236         * objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
8237         Redefine.
8238
8239 2002-03-29  Steve Ellcey  <sje@cup.hp.com>
8240
8241         * config/ia64/ia64.md (*ptr_extend_plus_1, *ptr_extend_plus_2): New.
8242         * config/ia64/ia64.c (basereg_operand): New.
8243         * config/ia64/ia64-protos.h (basereg_operand): Declare.
8244         * config/ia64/ia64.h (PREDICATE_CODES): Add basereg_operand.
8245
8246 2002-03-29  Hans-Peter Nilsson  <hp@bitrange.com>
8247
8248         * config/mmix/mmix.c (mmix_target_asm_function_prologue): Correct
8249         unwind information when frame_pointer_needed.
8250         (mmix_assemble_integer): Tweak wording in comment.
8251
8252 2002-03-29  Neil Booth  <neil@daikokuya.demon.co.uk>
8253
8254         * Makefile.in (except.o): Update.
8255         * except.c: Include langhooks.h.
8256         (init_eh): Use langhook.
8257         * langhooks-def.h (LANG_HOOKS_MAKE_TYPE,
8258         LANG_HOOKS_FOR_TYPES_INITIALIZER): New.
8259         (LANG_HOOKS_INITIALIZER): Update.
8260         * langhooks.h (lang_hooks_for_types): New.
8261         (struct lang_hooks): Add it.
8262         * tree.c (make_lang_type_fn, make_lang_type): Remove.
8263         * tree.h (make_lang_type_fn, make_lang_type): Remove.
8264 config:
8265         * alpha/alpha.c: Include langhooks.h.
8266         (alpha_build_va_list): Use langhook.
8267         * d30v/d30v.c: Include langhooks.h.
8268         (d30v_build_va_list): Use langhook.
8269         * i386/i386.c: Include langhooks.h.
8270         (ix86_build_va_list): Use langhook.
8271         * rs6000/rs6000.c (rs6000_build_va_list): Use langhook.
8272         * s390/s390.c: Include langhooks.h.
8273         (s390_build_va_list): Use langhook.
8274         * stormy16/stormy16.c: Include langhooks.h.
8275         (stormy16_build_va_list): Use langhook.
8276
8277 2002-03-29  Jakub Jelinek  <jakub@redhat.com>
8278
8279         PR c++/5964
8280         * config/sparc/sparc.md (empty_delay_slot, branch_type): New
8281         attributes.
8282         (length): Compute variable length for branches/calls/jumps here.
8283         (branch, inverted_branch, normal_fp_branch, inverted_fp_branch,
8284         normal_fpe_branch, inverted_fpe_branch): Remove length attribute,
8285         define branch_type attribute.
8286         (divsi3_sp32): Maximum length is 6 not 7.
8287         (call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
8288         call_address_untyped_struct_value_sp32,
8289         call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2.
8290         * config/sparc/sparc.c (empty_delay_slot): New function.
8291         * config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove.
8292         * config/sparc/sparc-protos.h (empty_delay_slot): Add prototype.
8293
8294 2002-03-29  Jakub Jelinek  <jakub@redhat.com>
8295
8296         * combine.c (set_nonzero_bits_and_sign_copies): Don't call
8297         nonzero_bits if not needed.
8298         (nonzero_bits) [XOR]: Likewise.
8299         (nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if
8300         reg_last_set_mode and mode are both MODE_INT, but not equal.
8301         (record_value_for_reg): Compute reg_last_set_nonzero_bits
8302         in nonzero_bits_mode for MODE_INT modes.
8303
8304 2002-03-28  Richard Henderson  <rth@redhat.com>
8305
8306         PR target/5715
8307         * config/alpha/osf.h (ASM_SPEC): Don't pass any special options
8308         to GAS.  Correct drift between alternatives.
8309
8310 2002-03-28  Richard Henderson  <rth@redhat.com>
8311
8312         PR target/6087
8313         * reload1.c (fixup_abnormal_edges): Move insn to edge via sequence.
8314
8315 2002-03-28  Alexandre Oliva  <aoliva@redhat.com>
8316
8317         * config/i386/freebsd.h (LINK_SPEC): Don't pass default
8318         emulation to the linker.
8319
8320 2002-03-28  Loren J. Rittle  <ljrittle@acm.org>
8321
8322         * config/alpha/freebsd.h (LINK_SPEC): Likewise.
8323         * config/sparc/freebsd.h (LINK_SPEC): Likewise.
8324
8325 Thu Mar 28 16:35:31 2002  Jeffrey A Law  (law@redhat.com)
8326
8327         * combine.c (simplify_and_const_int): Make sure to apply mask
8328         when force_to_mode returns a constant integer.  PR3311.
8329
8330 2002-03-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8331
8332         * pa-linux.h (LOCAL_LABEL_PREFIX): Define.
8333
8334 2002-03-28  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8335
8336         * doc/invoke.texi (Warning Options): Refer to C++ Dialect Options
8337         and Objective-C Dialect Options.
8338
8339 2002-03-28  Richard Henderson  <rth@redhat.com>
8340
8341         * config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE
8342         comparison should be done vs !=0 not >0 return code.  Tidy cases.
8343
8344 2002-03-28  Richard Henderson  <rth@redhat.com>
8345
8346         * c-decl.c (finish_function): New arg can_defer_p.  Pass it
8347         on to c_expand_body.
8348         * c-tree.h (finish_function): Update decl.
8349         * c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls.
8350
8351 Thu Mar 28 19:13:36 CET 2002  Jan Hubicka  <jh@suse.cz>
8352
8353         * ifcvt.c (if_convert): Clear aux_for_blocks early enought.
8354
8355 Thu Mar 28 13:21:53 CET 2002  Jan Hubicka  <jh@suse.cz>
8356
8357         * rtlanal.c: Include flags.h
8358         (may_trap_p): Do not mark FP operations if trapping
8359         if !flag_trapping_math
8360         * Makefile.in (rtlanal.o): Add dependency on flag.h
8361         * ifcvt.c (noce_operand_ok): Avoid the lameness.
8362
8363 2002-03-27  Zack Weinberg  <zack@codesourcery.com>
8364
8365         * mips.md: Use dconst1, not 1.0, as first argument of
8366         REAL_VALUE_LDEXP.  Don't use union real_extract.
8367
8368 2002-03-28  Alan Modra  <amodra@bigpond.net.au>
8369
8370         * configure.in (gcc_cv_as): Use $target_alias in directory searchs
8371         rather than $target.  Heed program_prefix and
8372         program_transform_name.  Search for gas in cross-compiler case too.
8373         "test -x" rather than "test -f".
8374         (gcc_cv_ld): Likewise.
8375         (gcc_cv_nm): Heed program_prefix and program_transform_name.
8376         (gcc_cv_objdump): Likewise.
8377         * configure: Regenerate.
8378
8379 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
8380
8381         * Makefile.in (attribs.o): Update.
8382         * attribs.c: Include langhooks.h.
8383         (decl_attributes): Use langhook.
8384         * c-decl.c (insert_default_attributes): Rename.
8385         * c-tree.h (c_insert_default_attributes): New.
8386         * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES):New.
8387         (LANG_HOOKS_INITIALIZER): Update.
8388         * langhooks.h (struct lang_hooks): New hook.
8389         * tree.h (insert_default_attributes): Remove.
8390 objc:
8391         * objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Redefine.
8392
8393 2002-03-27  Andreas Schwab  <schwab@suse.de>
8394
8395         * config/i386/i386.c (classify_argument): Also check for
8396         QUAL_UNION_TYPE.
8397
8398 2002-03-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8399
8400         * doc/install.texi (alpha*-dec-osf*): Don't need --enable-libgcj
8401         any more.
8402
8403 Wed Mar 27 23:19:30 CET 2002  Jan Hubicka  <jh@suse.cz>
8404
8405         * i960.md (ret): Set PC.
8406         (nonlocal_goto): Fix expander.
8407         * builtins.c (epxand_builin_longjmp): Check that we've emitted
8408         some jump or call.
8409
8410 Wed Mar 27 23:11:35 CET 2002  Jan Hubicka  <jh@suse.cz>
8411
8412         * optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
8413         of libcall regions.
8414
8415 Wed Mar 27 22:54:14 CET 2002  Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8416
8417         * cfgrtl.c (merge_blocks_nomove): Use set_block_for_insn instead of
8418         assigning to BLOCK_FOR_INSN directly.
8419
8420 Wed Mar 27 22:33:05 CET 2002  Jan Hubicka  <jh@suse.cz>
8421
8422         * i386.c (ix86_output_addr_diff_elt): Remove binutils bug workaround.
8423
8424 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
8425
8426         * c-common.c (c_expand_expr): Fix prototype.
8427         * c-common.h (c_expand_expr): Always declare, update.
8428         * c-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
8429         * c-objc-common.c (c_objc_common_init): No global hook.
8430         * expr.c (expand_expr): Use langhook.
8431         * expr.h (enum expand_modifier): Conditionally declare.
8432         * langhooks-def.h (lhd_expand_expr, LANG_HOOKS_EXPAND_EXPR): New.
8433         (LANG_HOOKS_INITIALIZER): Update.
8434         * langhooks.c (lhd_expand_expr): New.
8435         * langhooks.h (struct lang_hooks): New hook.
8436         * toplev.c (lang_expand_expr_t, lang_expand_expr): Delete.
8437         (lang_independent_init): Don't default hook.
8438 objc:
8439         * objc-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
8440
8441 2002-03-27  Richard Henderson  <rth@redhat.com>
8442
8443         PR target/6054
8444         * config/ia64/ia64.c (ia64_expand_call): Use pic patterns for
8445         TARGET_CONST_GP.  Simplify conditions.
8446
8447 2002-03-27  Richard Henderson  <rth@redhat.com>
8448
8449         * config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
8450         config/sparc/netbsd-elf.h, config/sparc/pbd.h, config/sparc/sol2.h,
8451         config/sparc/vxsim.h (LOCAL_LABEL_PREFIX): Define.
8452
8453 2002-03-27  Danny Smith  <dannysmith@users.sourceforge.net>
8454
8455         * config/i386/cygwin.h (TARGET_DLL, TARGET_WIN32,
8456         TARGET_CYGWIN, TARGET_WINDOWS): Remove unused switches.
8457         (MASK_DLL, MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS):
8458         Remove unnecessary masks.
8459         (MASK_NOP_FUN_DLLIMPORT): Use an unused an bit.
8460         (SUBTARGET_SWITCHES): Use empty masks for -mwin32, -mcygwin,
8461         -mwindows, -mdll switches and their negations.
8462
8463 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
8464
8465         * gcc-common.c (lang_mark_false_label_stack): Remove.
8466         * ggc.h (lang_mark_false_label_stack): Similarly.
8467
8468 2002-03-26  Vladimir Makarov  <vmakarov@redhat.com>
8469
8470         * pa/pa-pro-end.h (CPP_PREDEFINES): Add -D__pro__.
8471
8472         * pa/lib2funcs.asm: Don't use .SPACE and .SUBSPACE if __pro__
8473         or __rtems_ is defined.
8474
8475 2002-03-26  Richard Henderson  <rth@redhat.com>
8476
8477         * config/alpha/alpha.c (alpha_emit_set_const): Add a REG_EQUAL note
8478         if a non-trivial load was emitted.
8479         (alpha_emit_set_const_1): Remove obsolete extension.  Fix thinko
8480         in high+extra+low case.
8481
8482 2002-03-26  Richard Henderson  <rth@redhat.com>
8483
8484         * config.gcc (sparc*-solaris): Use float_format=sparc.
8485
8486 2002-03-26  Richard Henderson  <rth@redhat.com>
8487
8488         * config/sparc/sparc.h (MAX_WCHAR_TYPE_SIZE): Don't define.
8489         * config/sparc/linux-aout.h (MAX_WCHAR_TYPE_SIZE): Don't undef.
8490         * config/sparc/linux.h, config/sparc/linux64.h: Likewise.
8491         * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Redefine.
8492         (WINT_TYPE_SIZE): Fix at 32.
8493
8494 2002-03-26  Richard Henderson  <rth@redhat.com>
8495
8496         * toplev.c (rest_of_compilation): Delay emit_initial_value_sets
8497         until after eh landing pad generation.
8498         * config/alpha/alpha.c (alpha_gp_save_rtx): Use gen_mem_addressof.
8499         * config/alpha/alpha.md (exception_receiver_2): Only accept MEMs.
8500
8501 2002-03-26  Richard Henderson  <rth@redhat.com>
8502
8503         * expr.h (ADD_PARM_SIZE): One more convert for INC.
8504
8505 2002-03-26  Phil Edwards  <pme@gcc.gnu.org>
8506
8507         * gcc.c (cpp_options):  Preserve relative ordering of -pedantic
8508         and warning switches.
8509         (cc1_options):  Likewise.
8510
8511 2002-03-26  Hans Boehm <Hans_Boehm@hp.com>
8512
8513         * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR):
8514         Restore more of the signal context.  Set no_reg_stack_frame.
8515         * config/ia64/unwind-ia64.c (unw_state_record):
8516         Add no_reg_stack_frame, comments.
8517         (uw_frame_state_for): Initialize when field to UNW_WHEN_NEVER.
8518         (uw_update_context): Adjust bsp when unwinding from leaf,
8519         but not signal frame.
8520
8521 2002-03-26  David Edelsohn  <edelsohn@gnu.org>
8522
8523         * config/rs6000/aix51.h (WCHAR_TYPE): Define.
8524
8525 2002-03-26  Bob Wilson  <bob.wilson@acm.org>
8526
8527         * config/xtensa/xtensa.c (xtensa_va_arg): Handle variable-sized types.
8528
8529 2002-03-26  Richard Earnshaw  <rearnsha@arm.com>
8530
8531         PR target/5621
8532         * arm.md (define_asm_attributes): Reapply patch of Thu Sep 9, 1999:
8533         "Add a pool_range attribute", which was lost during the ARM/Thumb
8534         merge.
8535
8536 2002-03-26  Bob Wilson  <bob.wilson@acm.org>
8537
8538         * config/xtensa/xtensa.c (xtensa_valid_move): Allow move from
8539         a register into the MAC16 accumulator.
8540
8541 2002-03-26  Andrew Cagney  <ac131313@redhat.com>
8542
8543         * doc/invoke.texi (Option Summary): Mention -Wswitch-enum.
8544         (Warning Options): Document -Wswitch-enum.
8545         * toplev.c (W_options): Add -Wswitch-enum.  Update comment on
8546         -Wswitch.
8547         (warn_switch_enum): Define variables.
8548         * flags.h (warn_switch_enum): Declare variables.
8549         * stmt.c (expand_end_case_type): When warn_switch_enum /
8550         -Wswitch-enum, perform switch checks.
8551         Fix PR c/5044.
8552
8553 2002-03-26  Richard Earnshaw  <rearnsha@arm.com>
8554
8555         * arm.md (reload_mulsi3, reload_mulsi_compare0, reload_muladdsi)
8556         (reload_mulsi_compare0_scratch, reload_muladdsi_compare0)
8557         (reload_muladdsi_compare0_scratch): Delete.
8558
8559 2002-03-26  Loren J. Rittle  <ljrittle@acm.org>
8560
8561         * doc/install.texi (*-*-freebsd*): Update.
8562
8563 2002-03-26  Richard Henderson  <rth@redhat.com>
8564
8565         * expr.h (ADD_PARM_SIZE): Cast INC to ssizetype.
8566         (SUB_PARM_SIZE): Cast DEC to ssizetype.
8567
8568         * config/alpha/alpha.c (alpha_va_arg): Read MUST_PASS_IN_STACK
8569         types from the normal argument frame.
8570
8571         * config/sparc/sparc.c (function_arg_pass_by_reference): Pass
8572         variable sized objects by reference.
8573         (sparc_va_arg): Receive them by reference too.
8574
8575 2002-03-26  Hartmut Penner  <hpenner@de.ibm.com>
8576
8577         * config/s390/s390.c (s390_emit_epilogue): Change epilogue
8578         code to not restoring global registers.
8579
8580 2002-03-26  Neil Booth  <neil@daikokuya.demon.co.uk>
8581
8582         * Makefile.in (ggc-common.o): Update.
8583         * c-decl.c (lang_mark_tree): Rename c_mark_tree.
8584         * c-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
8585         * c-tree.h (c_mark_tree): New.
8586         * ggc-common.c: Include langhooks.h.
8587         (gcc_mark_trees): Use new langhook.
8588         * ggc-callbacks.c: Delete file.
8589         * ggc.h (lang_mark_tree): Remove.
8590         * langhooks-def.h (LANG_HOOKS_MARK_TREE): New.
8591         (LANG_HOOKS_INITIALIZER): Update.
8592         * langhooks.h (struct lang_hooks): New hook.
8593 objc:
8594         * objc-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
8595
8596 2002-03-25  Zack Weinberg  <zack@codesourcery.com>
8597
8598         * doc/cpp.texi: Exclude entire Top node from printed manual.
8599         Move option index after directive index.  Insert page breaks
8600         before GFDL and concept index.  Index environment variables
8601         with command line options.
8602         * doc/cppenv.texi: Use @vtable for environment variable list.
8603         Add paragraph explaining semantics of empty elements in path
8604         variables.  Exclude a cross-reference to Fishkill from the
8605         manpage.  Remove an unnecessary cross-reference of the entry
8606         right above the referer.  Don't use @anchor in text that goes
8607         into manpage.
8608         * doc/cppopts.texi: Cross-reference the environment variables
8609         section, not the specific environment variable, for consistency.
8610
8611 2002-03-25  Richard Henderson  <rth@redhat.com>
8612
8613         * recog.c (peephole2_optimize): Distribute EH_REGION -1 notes
8614         anywhere in the block.  Don't refer to insns that have been
8615         removed from the chain.  Iterate backward through the new insns.
8616         Don't refer to edges that have been removed.
8617
8618 2002-03-26  Alan Modra  <amodra@bigpond.net.au>
8619
8620         * combine.c (simplify_comparison <ASHIFTRT, LSHIFTRT>): Correct
8621         test for overflow of constant.
8622
8623 2002-03-25  Richard Earnshaw  <rearnsha@arm.com>
8624
8625         PR target/2623
8626         * arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc)
8627         (loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use
8628         these patterns on arm_archv4.
8629
8630 2002-03-25  Danny Smith  <dannysmith@sourceforge.users.net>
8631
8632         * config/i386/mingw32.h (WINT_TYPE): Define as "short unsigned
8633         int".
8634
8635 2002-03-25  Zack Weinberg  <zack@codesourcery.com>
8636
8637         * toplev.c: Don't include setjmp.h.  Kill float_handler_set,
8638         float_handled, float_handler, float_signal, set_float_handler,
8639         and do_float_handler.  Set handler for SIGFPE to crash_signal.
8640         * toplev.h: Don't prototype do_float_handler.
8641
8642         * c-lex.c: Fold parse_float into lex_number.  Make warning
8643         about portability of hex float constants more informative, and
8644         don't issue it on top of a syntax error.
8645         * fold-const.c: Fold const_binop_1 and fold_convert_1 into
8646         their callers.
8647         * real.h: Define REAL_VALUE_ABS here...
8648         * simplify-rtx.c: ... not here.  Fold check_fold_consts,
8649         simplify_unary_real, simplify_binary_real, and
8650         simplify_binary_is2orm1 into their callers.
8651         * tree.c: Fold build_real_from_int_cst_1 into caller.
8652
8653         * doc/tm.texi: Document REAL_VALUE_ABS and REAL_VALUE_NEGATIVE.
8654
8655         * tsystem.h: Include float.h here...
8656         * libgcc2.c: ... not here.
8657
8658 2002-03-25  Nick Clifton  <nickc@cambridge.redhat.com>
8659
8660         Fixes for: PR bootstrap/3591, target/5676
8661         * config/mcore/mcore.h (CC1_SPEC): Define only if not already
8662         defined.  Do not disable exceptions or rtti.
8663         * config/mcore/mcore-pe.h (CC1_SPEC): Define before including
8664         mcore.h.  Disable exceptions and rtti, since they are not
8665         supported by EPOC.
8666
8667 2002-03-25  Neil Booth  <neil@daikokuya.demon.co.uk>
8668
8669         * c-decl.c (maybe_build_cleanup): Remove.
8670         * expr.c (expand_expr): Use langhook.
8671         * langhooks-def.h (lhd_return_null_tree,
8672         LANG_HOOKS_MAYBE_BUILD_CLEANUP): New.
8673         (LANGHOOKS_INITIALIZER): Update.
8674         * langhooks.c (lhd_return_null_tree): New.
8675         * langhooks.h (struct lang_hooks): New hook.
8676         * tree-inline.c (initialize_inlined_parameters): Use langhook.
8677         * tree.h (maybe_build_cleanup): Remove.
8678
8679 2002-03-25  Jakub Jelinek  <jakub@redhat.com>
8680
8681         * regrename.c (build_def_use): Move recog_memoized
8682         before extract_insn.
8683
8684 2002-03-25  Jakub Jelinek  <jakub@redhat.com>
8685
8686         PR target/6043
8687         * expr.c (emit_group_store): Handle storing into CONCAT.
8688
8689 2002-03-25  Jakub Jelinek  <jakub@redhat.com>
8690
8691         * regrename.c (build_def_use): Share RTL between MATCH_OPERATOR and
8692         corresponding MATCH_DUP.
8693
8694 2002-03-24  Richard Henderson  <rth@redhat.com>
8695
8696         * unroll.c (unroll_loop): Zero label_map.
8697
8698         * gcse.c: Include except.h.
8699         * Makefile.in (gcse.o): Update.
8700
8701 2002-03-24  Richard Henderson  <rth@redhat.com>
8702
8703         * varasm.c (asm_emit_uninitialised): Revert 2002-03-14 change.
8704         Do resolve_unique_section before shared data clause.
8705
8706 2002-03-24  Richard Henderson  <rth@redhat.com>
8707
8708         * config/alpha/elf.h (STARTFILE_SPEC): Use crtbeginT with -static.
8709
8710 2002-03-24  Richard Henderson  <rth@redhat.com>
8711
8712         * recog.c (peephole2_optimize): Split blocks when EH insns are
8713         generated in the middle of a block.  Do global life update if
8714         zapped EH edges.
8715
8716 2002-03-24  Richard Henderson  <rth@redhat.com>
8717
8718         * mips.c (mips_function_value): Only promote_mode for non-libcalls.
8719
8720 2002-03-24  Neil Booth  <neil@daikokuya.demon.co.uk>
8721
8722         preprocessor/3951
8723         * gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.
8724         * cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD.
8725         (init_dependency_output): Don't make no_output decision here.
8726
8727 2002-03-24  Andrew Cagney  <ac131313@redhat.com>
8728
8729         * stmt.c (check_for_full_enumeration_handling): Remove tests of
8730         warn_switch.  Update description.
8731         (expand_end_case_type): Call check_for_full_enumeration_handling
8732         when warn_switch.
8733
8734 2002-03-24  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
8735
8736         * config/m68hc11/m68hc11.c (m68hc11_autoinc_compatible_p): New function.
8737         (m68hc11_split_move): Call it to see if the source and destination
8738         operands use the same direction auto inc/dec mode, otherwise make the
8739         source an offsetable memory operand and generate an add.
8740
8741 2002-03-24  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
8742
8743         * config/m68hc11/m68hc11.md ("*subsi3_zero_extendhi"): Allow address
8744         register for operand 2.
8745         ("*subsi3_zero_extendqi"): Likewise.
8746         ("*iorhi3_gen"): Do the operation on the upper bits and then lower
8747         bits so that it is compatible with a pop.
8748         ("*andhi3_gen"): Likewise.
8749         ("xorhi3"): Likewise.
8750
8751 2002-03-24  Neil Booth  <neil@daikokuya.demon.co.uk>
8752
8753         * cppinit.c (cpp_handle_option): Set warn_endif_labels if
8754         -pedantic here...
8755         (cpp_post_options): ... not here.
8756
8757 2002-03-24  Neil Booth  <neil@daikokuya.demon.co.uk>
8758             Aldy Hernandez  <aldyh@redhat.com>
8759
8760         Removal of separate preprocessor cpp0.
8761
8762         * Makefile.in (GCC_PASSES, STAGESTUFF, LIBCPP_OBJS,
8763         cpp0, install-common): Update.
8764         * c-common.c (flag_preprocess_only): New.
8765         (c_common_init): Preprocess for -E.
8766         * c-common.h (flag_preprocess_only): New.
8767         * c-decl.c (c_decode_option): Handle -E and -std=c++98.
8768         * c-objc-common.c (c_init_decl_processing): Exit quickly
8769         for NULL return from c_common_init.
8770         * cpplib.h (cpp_preprocess_file): New.
8771         * cppmain.c (main, general_init, pfile, progname): Remove.
8772         (do_preprocessing): Rename cpp_preprocess_file, don't call
8773         cpp_finish.  Don't close stdout here.
8774         (setup_callbacks): Update prototype.
8775         * gcc.c (trad_capable_cpp, cpp_unique_options, default_compilers):
8776         Update.
8777         * tradcpp.c (main): Ignore -quiet.
8778 objc:
8779         * lang-specs.h (default_compilers): Preprocess with cc1obj.
8780
8781 2002-03-24  Richard Henderson  <rth@redhat.com>
8782
8783         PR optimization/5742
8784         * machmode.def: Add inner mode field to complex modes.
8785         * config/mips/mips.c (mips_function_value): Always define.  Add
8786         new argument to handle libcalls.
8787         * config/mips/mips.h (LIBCALL_VALUE): Use mips_function_value.
8788         (FUNCTION_VALUE): Likewise.
8789         * config/mips/abi64.h (FUNCTION_VALUE): Remove.
8790         * config/mips/mips-protos.h: Update.
8791
8792 2002-03-23  Richard Henderson  <rth@redhat.com>
8793
8794         * config/sparc/sparc.c (sparc_emit_floatunsdi): New.
8795         * config/sparc/sparc-protos.h: Update.
8796         * config/sparc/sparc.md (floatunsdisf2, floatunsdidf2): New.
8797
8798 2002-03-23  Richard Henderson  <rth@redhat.com>
8799
8800         * config/sparc/gmon-sol2.c (internal_mcount): Assume either
8801         _start or _init begins the text segment.
8802
8803 2002-03-23  David Edelsohn  <edelsohn@gnu.org>
8804
8805         * config/rs6000/rs6000.h (RETURN_IN_MEMORY):  Cast to HOST_WIDE_INT
8806         not HOST_WIDEST_INT.
8807         (RS6000_ARG_SIZE): Remove unsigned cast of int_size_in_bytes.
8808
8809 2002-03-23  Richard Earnshaw  <rearnsha@arm.com>
8810
8811         PR java/5489
8812         * arm.md (return, sibcall_epilogue): Pass const_true_rtx as the
8813         operand argument to output_return_instruction.
8814         * arm.c (arm_print_operand, case 'd'): If the operand is
8815         const_true_rtx then just return.
8816         (arm_print_operand, case 'D'): If the operand is const_true_rtx
8817         then abort.
8818
8819 2002-03-23  Andrew Cagney  <ac131313@redhat.com>
8820
8821         * doc/invoke.texi (Option Summary): Mention -Wswitch-default.
8822         (Warning Options): Document -Wswitch-default.
8823         * toplev.c (W_options): Add -Wswitch-default.  Update comment on
8824         -Wswitch.
8825         (warn_switch_default): Define variable.
8826         (warn_switch): Update comment.
8827         * flags.h (warn_switch_default): Declare variable.
8828         (warn_switch): Update comment.
8829         * stmt.c (expand_end_case): Check for and, when
8830         warn_switch_no_default, warn of a missing default case.
8831
8832 2002-03-23  Alan Modra  <amodra@bigpond.net.au>
8833
8834         * real.h (N): Special case 128 bit doubles.
8835
8836         * combine.c (simplify_comparison): When widening modes, ignore
8837         sign extension on CONST_INTs.
8838
8839 2002-03-22  Bob Wilson  <bob.wilson@acm.org>
8840
8841         * config/xtensa/xtensa.c (print_operand): Fix incorrect mode
8842         passed to adjust_address.  Fix comment formatting.
8843
8844
8845 2002-03-22  Zack Weinberg  <zack@codesourcery.com>
8846
8847         * real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
8848         Always make REAL_VALUE_TYPE a struct containing an array of
8849         HOST_WIDE_INT, not a double.  Tidy up the code deciding how
8850         big it is.  Don't declare or use union real_extract.
8851
8852         * emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
8853         decode_rtx_const, output_constant_pool), config/a29k/a29k.c
8854         (print_operand), config/arm/arm.c (output_move_double),
8855         config/arm/arm.md (consttable_4, consttable_8),
8856         config/romp/romp.c (output_fpops), config/s390/s390.h
8857         (ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
8858         (xtensa_output_literal): Don't use union real_extract.
8859
8860         * config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
8861         (sfmode_constant_to_ulong), config/ns32k/merlin.h
8862         (PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
8863         config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
8864         (PRINT_OPERAND): Don't use local version of union
8865         real_extract.
8866
8867         * config/convex/convex.c (check_float_value), config/vax/vax.c
8868         (vax_float_literal), config/m88k/m88k.md (divdf3),
8869         config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
8870         config/pdp11/pdp11.c (output_move_quad): Don't do host
8871         arithmetic on target floating point quantities.
8872
8873         * config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
8874         (output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.
8875
8876         * fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
8877         Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.
8878
8879         * real.c (earith): Test INFINITY rather than REAL_INFINITY;
8880         NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
8881         INFINITY.
8882         * print-rtl.c (print_rtx): Disable code which needs
8883         floating-point emulator.
8884         * libgcc2.c: Include float.h and use DBL_MANT_DIG,
8885         FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
8886         depending on HOST_FLOAT_FORMAT to be defined properly.
8887
8888         * config/1750a/1750a.c (get_double, float_label): Delete.
8889         (print_operand): Delete huge commented-out chunk.  Use
8890         REAL_VALUE_TO_DECIMAL.
8891         * config/1750a/1750a-protos.h: Delete prototypes of deleted
8892         functions.
8893         * config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
8894         IEEE_FLOAT_FORMAT.
8895         * config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
8896         Use REAL_VALUE_TO_DECIMAL as ELF version does.
8897         * config/m88k/m88k.c (real_power_of_2_operand,
8898         legitimize_operand): Take the REAL_VALUE_TYPE and/or union
8899         real_extract out of the union; run the input through
8900         REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
8901         from that into the union.
8902         * config/pdp11/pdp11.c (output_move_double): Rearrange
8903         parentheses to make automatic indenter happy.
8904
8905         * doc/tm.texi (Cross-compilation): Rename node to "Floating
8906         Point" and rewrite to describe current situation.  Also adjust
8907         documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
8908         match code.
8909         * doc/rtl.texi: Adjust cross reference.
8910
8911 2002-03-22  Bob Wilson  <bob.wilson@acm.org>
8912
8913         * config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove.
8914         (xtensa_valid_move, xtensa_preferred_reload_class): Define.
8915         * config/xtensa/xtensa.c (non_acc_reg_operand): Remove.
8916         (xtensa_valid_move, xtensa_preferred_reload_class): Define to
8917         prevent use of sp as a reload register.
8918         (xtensa_emit_move_sequence): Use xtensa_valid_move instead of
8919         non_acc_reg_operand.
8920         * config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand.
8921         (PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class.
8922         * config/xtensa/xtensa.md (movsi_internal, movhi_internal,
8923         movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand.
8924
8925 2002-03-22  Neil Booth  <neil@daikokuya.demon.co.uk>
8926
8927         * cpphash.h (struct cpp_reader): Remove mls_line and mls_col.
8928         * cpplex.c (unterminated): Delete.
8929         (parse_string): No string literal may extend over multiple
8930         lines.  Suppress the error when preprocessing assembly.
8931         * cppmain.c (scan_translation_unit): Strings are single-line.
8932
8933         * doc/cpp.texi: Update to match.
8934
8935 2002-03-22  Jakub Jelinek  <jakub@redhat.com>
8936
8937         PR optimization/5854
8938         * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
8939         Shut up warnings.
8940         (CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
8941         (EXTRA_CONSTRAINT): Use S for non-push memory operand.
8942         * config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
8943         const0 if scratch register was not allocated.
8944         (m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
8945         m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
8946         with GEN_INT (...).
8947         (m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
8948         * config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
8949         with GEN_INT (...) everywhere.  Remove constraints in define_split
8950         patterns.
8951         (movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
8952         require scratch register for setting 0 into regs/non-pushable memory.
8953
8954 2002-03-22  Alexandre Oliva  <aoliva@redhat.com>
8955
8956         * config/mips/mips.h (MASK_RETURN_ADDR): Define.
8957         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
8958
8959 2002-03-22  Phil Edwards  <pme@gcc.gnu.org>
8960
8961         * cpplib.h (struct cpp_options):  New member, warn_endif_labels.
8962         * cppinit.c (cpp_create_reader):  On by default.
8963         (cpp_handle_option):  Handle -W[no-]endif-labels.
8964         (cpp_post_options):  Also enable if -pedantic.
8965         * cpplib.c (do_else):  Use it.
8966         (do_endif):  Likewise.
8967         * doc/cppopts.texi:  Document new option.
8968         * doc/invoke.texi:  Document new option.
8969
8970 2002-03-22  Lars Brinkhoff  <lars@nocrew.org>
8971
8972         * config/i386/i386.c, config/i386/i386.md: Change all occurences
8973         of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...).
8974
8975 2002-03-22  Alexandre Oliva  <aoliva@redhat.com>
8976
8977         * flow.c (calculate_global_regs_live): Clear aux fields of
8978         ENTRY and EXIT.
8979
8980 2002-03-22  Jakub Jelinek  <jakub@redhat.com>
8981
8982         * config/v850/v850.c (v850_reorg): Only call alter_subreg on
8983         REG or MEM subregs, pass rtx * instead of rtx to it.
8984         * config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
8985         rtx * instead of rtx to alter_subreg.
8986         * config/m32r/m32r.c (gen_split_move_double): Likewise.
8987         * config/pj/pj.c (pj_output_rval): Likewise.
8988
8989 2002-03-22  Richard Henderson  <rth@redhat.com>
8990
8991         PR target/3177
8992         * config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
8993         (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
8994         * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
8995         (ia64_expand_prologue): Look at int_regs, not words, for number
8996         of incomming int regs.
8997
8998 2002-03-22  Andrew MacLeod  <amacleod@redhat.com>
8999
9000         * expr.c (expand_expr): A RESULT_DECL is part of a call.
9001
9002 Fri Mar 22 16:30:42 CET 2002  Jan Hubicka  <jh@suse.cz>
9003
9004         * toplev.c (flag_loop_optimize, flag_crossjumping):
9005         New static variables.
9006         (rest_of_compilation): Conditionalize crossjumping and
9007         loop optimizer.
9008         (parse_options_and_default_flags): Default loop_optimize and
9009         crossjumping.
9010         (lang_independent_options): Add -fcrossjumping and -floop-optimize
9011         * invoke.texi (crossjumping, loop-optimize): Document.
9012
9013 2002-03-22  Richard Sandiford  <rsandifo@redhat.com>
9014
9015         * real.c (eiisneg): Move outside #ifdef NANS.
9016
9017 Fri Mar 22 12:08:36 CET 2002  Jan Hubicka  <jh@suse.cz>
9018
9019         * cfgcleanup.c (outgoing_edges_math): Fix condition; relax
9020         frequencies match; avoid match on different loop depths.
9021         (try_crossjump_to_bb): Kill tests that no longer brings time
9022         savings.
9023         * cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
9024         updating code.
9025         (split_edge): Likewise.
9026
9027         * flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
9028         variable.
9029
9030         * Makefile.in (cfgrtl): Add insn-config.h depenendency.
9031         * cfgrtl.c: Include insn-config.h
9032         (split_block) Dirtify block in presence of conditional execution
9033
9034 2002-03-22  Richard Sandiford  <rsandifo@redhat.com>
9035
9036         * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
9037         * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
9038         (function_arg): Constify CUMULATIVE_ARGS.
9039         (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
9040         * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
9041         (UNITS_PER_DOUBLE): New macro.
9042         (SETUP_INCOMING_VARARGS): Define.  Use mips_setup_incoming_varargs.
9043         (CUMULATIVE_ARGS): Reformat.  Remove num_adjusts workaround and
9044         last_arg_fp field.  Replace arg_words and fp_arg_words with gp_regs,
9045         fp_regs and stack_words.
9046         (EABI_FLOAT_VARARGS_P): New macro.
9047         * config/mips/mips.c (struct mips_arg_info): New.
9048         (mips_arg_info): New function.
9049         (function_arg_advance): Use it.  Add adjustment instructions here
9050         rather than in function_arg.
9051         (function_arg): Constify CUMULATIVE_ARGS.  Use mips_arg_info.  Check
9052         for VOIDmode at the beginning of the function.
9053         (function_partial_nregs): Constify CUMULATIVE_ARGS.  Use mips_arg_info.
9054         (function_arg_pass_by_reference): Likewise.
9055         (mips_setup_incoming_varags): New, largely based on old abi64.h code.
9056         (mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
9057         (mips_va_start): Likewise.  Use the new stack_words field of
9058         CUMULATIVE_ARGS to set up overflow area.  Reformat.
9059         (mips_va_arg): Test EABI_FLOAT_VARARGS_P.  Unify EABI handling of
9060         doubles and other types, aligning the overflow pointer for non-doubles
9061         too.  Remove some code duplication.  Replace hard-coded constants.
9062
9063 2002-03-22  Richard Sandiford  <rsandifo@redhat.com>
9064
9065         * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify.
9066         (CLASS_UNITS): Undefine.
9067         (CLASS_MAX_NREGS): Use FP_INC.
9068         * config/mips/mips.c (compute_frame_size): Likewise.
9069         (override_options): Use FP_INC and UNITS_PER_FPVALUE.
9070
9071 2002-03-22  Neil Booth  <neil@daikokuya.demon.co.uk>
9072
9073         * cpplex.c (parse_identifier_slow): Rename parse_slow, adjust
9074         prototype, and handle lexing numbers and identifiers.
9075         (parse_identifier): Update to new form of parse_slow.
9076         (parse_number): Fast path only, use parse_slow otherwise.
9077         (_cpp_lex_direct): Update calls to parse_number.
9078
9079 2002-03-21  DJ Delorie  <dj@redhat.com>
9080
9081         * bb-reorder.c (make_reorder_chain_1): Protect against
9082         when redundant edges are omitted.
9083         * predict.c (dump_prediction): Likewise.
9084
9085 2002-03-21  Richard Henderson  <rth@redhat.com>
9086
9087         PR target/5996
9088         * fixinc/inclhack.def (solaris_stdio_tag): New.
9089         * fixinc/fixincl.x: Regenerate.
9090
9091 2002-03-21  Eric Botcazou <ebotcazou@multimania.com>
9092
9093         PR c/5597
9094         * c-typeck.c (process_init_element): Flag non-static
9095         initialization of a flexible array member as illegal.
9096
9097 2002-03-22  Alan Modra  <amodra@bigpond.net.au>
9098
9099         * config/rs6000/t-linux64: New.
9100         * config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
9101         t-ppccomm.  Use t-rs6000 and t-linux64.
9102         (powerpc64-*-gnu* <tmake_file>): Likewise.
9103         * mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
9104         * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
9105         * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
9106
9107 2002-03-21  Aldy Hernandez  <aldyh@redhat.com>
9108
9109         * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
9110         flag_really_no_inline instead of optimize == 0.
9111
9112         * c-objc-common.c (c_cannot_inline_tree_fn): Same.
9113
9114         * cp/tree.c (cp_cannot_inline_tree_fn): Same.
9115
9116         * flags.h (flag_really_no_inline): New.
9117
9118         * c-common.c (c_common_post_options): Initialize
9119         flag_really_no_inline.
9120
9121         * toplev.c (flag_really_no_inline): New.
9122
9123 2002-03-21  Jakub Jelinek  <jakub@redhat.com>
9124
9125         * config/avr/avr.md (length): Fix length computation for
9126         conditional branches.
9127
9128 2002-03-21  Neil Booth  <neil@daikokuya.demon.co.uk>
9129
9130         * Makefile.in (fold-const.o, stor-layout.o, stmt.o,
9131         sdbout.o, profile.o): Update.
9132         * c-common.c (c_common_nodes_and_builtins): Use pushdecl
9133         langhook.
9134         * c-common.h (gettags): Move here from tree.h.
9135         * c-tree.h (pushdecl, pushlevel, poplevel, set_block,
9136         insert_block, getdecls, kept_level_p, global_bindings_p): New.
9137         * dbxout.c (dbxout_init): Use getdecls langhook.
9138         * expr.c (expand_expr): Use insert_block langhook.
9139         * fold-const.c: Include langhooks.h.
9140         (fold_range_test, fold_binary_op_with_conditional_arg,
9141         fold): Use global_bindings_p langhook.
9142         * integrate.c (expand_inline_function): Use insert_block langhook.
9143         * langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL,
9144         LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P,
9145         LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL,
9146         LANG_HOOKS_GETDECLS): New.
9147         (LANG_HOOKS_INITIALIZER): Update.
9148         * langhooks.c (lhd_clear_binding_stack): Use global_bindings_p
9149         langhook.
9150         * langhooks.h (struct lang_hooks_for_decls): New.
9151         (struct lang_hooks): Update.
9152         * profile.c: Include langhooks.h.
9153         (output_func_start_profiler): Use new langhooks.
9154         * sdbout.c: Include langhooks.h.
9155         (sdbout_init, sdbout_finish): Use getdecls langhook.
9156         * stmt.c: Include langhooks.h.
9157         (expand_fixup, fixup_gotos): Use new langhooks.
9158         * stor-layout.c: Include langhooks.h.
9159         (variable_size): Use global_bindings_p langhook.
9160         * toplev.c (compile_file): Use getdecls langhook.
9161         * tree-inline.c (remap_block): Use insert_block langhook.
9162         * tree.h (pushdecl, pushlevel, poplevel, set_block, gettags,
9163         insert_block, getdecls, kept_level_p, global_bindings_p): Remove.
9164
9165 2002-03-21  Richard Henderson  <rth@redhat.com>
9166
9167         * config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
9168         constants in .data when -fpic.
9169
9170 2002-03-21  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9171
9172         * doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
9173         where appropriate.
9174
9175 2002-03-21  Tom Tromey  <tromey@redhat.com>
9176
9177         * config/i386/sol2.h (ASM_QUAD): Undef.  Fixes PR bootstrap/5948.
9178
9179 Thu Mar 21 09:50:48 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9180
9181         * config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse.
9182
9183         * expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT.
9184
9185 2002-03-21  Eric Botcazou <ebotcazou@multimania.com>
9186             Richard Henderson  <rth@redhat.com>
9187
9188         PR c/5354
9189         * c-common.c (c_expand_expr): Preserve result of a statement
9190         expression if needed.
9191
9192 2002-03-21  Jakub Jelinek  <jakub@redhat.com>
9193
9194         PR bootstrap/4195
9195         * genrecog.c (maybe_both_true_mode): Remove.
9196         (maybe_both_true_2, write_switch): Revert 2001-07-17 changes.
9197         * machmode.def (Pmode): Likewise.
9198
9199 Thu Mar 21 01:55:06 EST 2002  John Wehle  (john@feith.com)
9200
9201         * alias.c: (nonlocal_mentioned_p): Use for_each_rtx.
9202         (nonlocal_mentioned_p_1): New function.
9203         (nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise.
9204         (nonlocal_set_p, nonlocal_set_p_1): Likewise.
9205         (mark_constant_function): Recognize pure functions.
9206         * rtl.h (global_reg_mentioned_p): New prototype.
9207         * rtlanal.c (global_reg_mentioned_p,
9208         global_reg_mentioned_p_1): New function.
9209
9210 2002-03-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9211
9212         * fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64
9213         UNIX assert.h.
9214         * fixinc/fixincl.x: Regenerate.
9215
9216 2002-03-20  Jason Merrill  <jason@redhat.com>
9217
9218         * config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0.
9219
9220 2002-03-20  Michael Meissner  <meissner@redhat.com>
9221
9222         * doc/invoke.texi (Optimize Options): Document that -O2 sets
9223         -fstrict-aliasing.
9224
9225 2002-03-20  Bob Wilson  <bob.wilson@acm.org>
9226
9227         * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a
9228         ".literal_position" directive before the constant pool.
9229
9230 2002-03-20  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9231
9232         * doc/contrib.texi (Contributors): Update Geoffrey Keating.
9233         Add Craig Rodrigues.
9234         Add Brad Lucier to testers.
9235
9236 2002-03-20  Jakub Jelinek  <jakub@redhat.com>
9237
9238         PR target/4792
9239         * config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode
9240         to if_then_else.
9241         (movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise.
9242         * config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached
9243         instead of insn_extract.
9244
9245 2002-03-20  Jakub Jelinek  <jakub@redhat.com>
9246
9247         PR bootstrap/4192
9248         * config/fr30/fr30.md (jump): Remove clobber of fixed register.
9249
9250         * genemit.c (output_added_clobbers_hard_reg_p): Only output return
9251         stmt if some case has been output.
9252
9253 2002-03-20  Jakub Jelinek  <jakub@redhat.com>
9254
9255         PR c/5972
9256         * config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
9257         movsfcc_1, movdfcc_1): Add %O2.
9258         * config/i386/i386.c (print_operand): Handle %ON.
9259         Print . before float condition codes in Sun as cmov syntax.
9260         * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
9261         * config.gcc (i[34567]86-*-solaris2*): Remove comment which is
9262         no longer true.
9263
9264 2002-03-20  Philip Blundell  <pb@nexus.co.uk>
9265
9266         * config/arm/arm.c (arm_output_epilogue): Don't generate separate
9267         return instruction if PC was popped.
9268
9269 2002-03-20  Bob Wilson  <bob.wilson@acm.org>
9270
9271         * config/xtensa/xtensa.md: Remove unused type attributes.
9272         (adddi_carry, subddi_carry): Change type attribute to "multi".
9273
9274 2002-03-19  Dale Johannesen  <dalej@apple.com>
9275
9276         PR optimization/5999, middle-end/5731
9277         * expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into
9278         multiplications by reciprocals.
9279
9280 2002-03-20  Neil Booth  <neil@daikokuya.demon.co.uk>
9281
9282         * Makefile.in: Update.
9283         * c-common.c: Include langhooks.h.
9284         (inline_forbidden_p): Use new hook.
9285         * diagnostic.c: Include langhooks.h.
9286         (format_with_decl, announce_function,
9287         default_print_error_function): Use new hook.
9288         * dwarf2out.c (dwarf2_name): Use new hook.
9289         * function.c: Include langhooks.h.
9290         (init_function_start): Use new hook.
9291         * langhooks-def.h (lhd_decl_printable_name): New.
9292         (LANGHOOKS_DECL_PRINTABLE_NAME): New.
9293         (LANGHOOKS_INITIALIZER): Update.
9294         * langhooks.c (lhd_decl_printable_name): New.
9295         * langhooks.h (struct lang_hooks): New hook.
9296         * toplev.c (decl_name, decl_printable_name): Remove.
9297         (open_dump_file): Use new hook.
9298         (process_options): Remove old hook.
9299         * tree.h (decl_printable_name): Remove.
9300 objc:
9301         * objc-act.c (objc_init): Remove old hook.
9302         (objc_printable_name): Export.
9303         * objc-act.h (objc_printable_name): New.
9304         * objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
9305
9306 2002-03-19  Jim Blandy  <jimb@redhat.com>
9307
9308         * c-lex.c (cb_file_change): Pass the #inclusion's line number to
9309         the start_source_file debug hook, not the current line number.
9310
9311 2002-03-19  Richard Henderson  <rth@redhat.com>
9312
9313         * flow.c (EH_USES): Provide default.
9314         (calculate_global_regs_live): Use it for EH edges and noreturn calls.
9315         * doc/tm.texi (EH_USES): New.
9316
9317         * config/ia64/ia64.c (ia64_eh_uses): New.
9318         * config/ia64/ia64-protos.h: Update.
9319         * config/ia64/ia64.h (EH_USES): New.
9320
9321 2002-03-19  Richard Henderson  <rth@redhat.com>
9322
9323         * varasm.c (output_constant_def): Fix stupid typo.
9324
9325 2002-03-19  Richard Henderson  <rth@redhat.com>
9326
9327         PR 5879
9328         * except.c (current_function_has_exception_handlers): New.
9329         * except.h: Declare it.
9330         * sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
9331         Combine tests that disable all sibcalls for the function.
9332
9333 2002-03-19  Olivier Hainque  <hainque@act-europe.fr>
9334
9335         * varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
9336         for INTEGER_CST.
9337
9338 2002-03-19  Richard Henderson  <rth@redhat.com>
9339
9340         PR 5977, 5991
9341         * config/ia64/ia64.c: Revert 2002-03-01 patch.
9342         * config/ia64/ia64.h (INIT_EXPANDERS): New.
9343
9344 2002-03-19  Jim Blandy  <jimb@redhat.com>
9345
9346         * cppmacro.c (cpp_macro_definition): Emit a space after the macro
9347         name, even if the replacement list contains no tokens, as required
9348         by Dwarf.
9349
9350 2002-03-19  Jason Merrill  <jason@redhat.com>
9351
9352         * varasm.c (globalize_decl): Get the name from the RTL, not
9353         DECL_ASSEMBLER_NAME.
9354
9355         * Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
9356
9357 2002-03-19  Bob Wilson  <bob.wilson@acm.org>
9358
9359         * config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
9360         subdi_carry): Define.
9361
9362 2002-03-19  David Edelsohn  <edelsohn@gnu.org>
9363
9364         * config/rs6000/rs6000.c (rs6000_override_options): Only warn
9365         about -fpic/-fPIC if extra_warnings set.
9366
9367 2002-03-19  David Edelsohn  <edelsohn@gnu.org>
9368
9369         * expr.c (expand_expr): Sign-extend CONST_INT generated from
9370         TREE_STRING_POINTER.
9371         * fold-const.c (fold): Delete #if 0 ARRAY_REF case.
9372
9373 Tue Mar 19 14:12:32 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9374
9375         * config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
9376         in favor of SP if FRAME_POINTER_REQUIRED is false.
9377
9378 2002-03-19  Lars Brinkhoff  <lars@nocrew.org>
9379
9380         * emit-rtl.c (gen_int_mode): New function.
9381         * rtl.h: Prototype for it.
9382         * combine.c (make_extraction, simplify_comparison), expmed.c
9383         (store_bit_field, expand_mult_highpart, expand_divmod), expr.c
9384         (convert_modes, store_field), optabs.c (expand_fix),
9385         simplify-rtx.c (neg_const_int, simplify_unary_real),
9386
9387         * config/rs6000/rs6000.c, config/rs6000/rs6000.md:
9388         Use it instead of GEN_INT (trunc_int_for_mode (...)).
9389
9390 2002-03-19  Jakub Jelinek  <jakub@redhat.com>
9391
9392         PR c/5656
9393         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
9394         convert_parm_for_inlining.
9395         * c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
9396         Define.
9397         * langhooks-def.h: Likewise.
9398         * objc/objc-lang.c: Likewise.
9399         * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New
9400         function.
9401         * tree-inline.c (initialize_inlined_parameters):
9402         Call convert_parm_for_inlining lang hook if needed.
9403         * c-typeck.c (c_convert_parm_for_inlining): New function.
9404         * c-tree.h (c_convert_parm_for_inlining): Add prototype.
9405
9406 2002-03-18  Mark Mitchell  <mark@codesourcery.com>
9407
9408         * calls.c (precompute_arguments): Do not assume that temporaries
9409         can be destroyed after expanding the argument.
9410         (expand_call): Likewise.
9411
9412 2002-03-15  Eric Christopher  <echristo@redhat.com>
9413
9414         * config/mips/mips.md (movdf_internal2): Add two new move constraints.
9415         Fix register preference on last change.
9416         * config/mips/mips.c (mips_return_in_memory): New function.
9417         * config/mips/mips.h (RETURN_IN_MEMORY): Use.
9418         * config/mips/mips-protos.h: Declare.
9419         * config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above.
9420         * config/mips/elf64.h: Add #ifndef/#endif brackets around defaults.
9421
9422 2002-03-18  Alexandre Oliva  <aoliva@redhat.com>
9423
9424         * config/mips/mips.md (andsi3) [TARGET_MIPS16]: Force operand 1 to
9425         a register too.
9426         (anddi3, iorsi3): Likewise.
9427
9428         * config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't
9429         use %gprel for symbols that are going to be placed in linkonce
9430         sections.
9431
9432         * config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate
9433         RETURN_ADDRESS_POINTER_REGNUM to $ra.
9434         (CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is
9435         not needed.  Disregard leaf_function_p().
9436         (INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to
9437         mips16 frame pointer.
9438         * config/mips/mips.md (store ra): Only to small SP offsets.
9439         2001-08-22  Graham Stott  <grahams@redhat.com>
9440         * config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function
9441         return a REG rtx for the return address register.
9442
9443 2002-03-18  Bob Wilson  <bob.wilson@acm.org>
9444
9445         * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat
9446         constant-pool addresses as "mode-dependent".
9447         (GO_IF_LEGITIMATE_ADDRESS): Rename macro arguments.
9448
9449 2002-03-18  Jakub Jelinek  <jakub@redhat.com>
9450
9451         PR target/5740
9452         * expr.c (emit_group_load): Use extract_bit_field if
9453         needed for CONCAT arguments.
9454
9455 2002-03-18  Richard Earnshaw  <rearnsha@arm.com>
9456
9457         PR target/4863
9458         * arm.md (tablejump): Make this a define_expand.  For PIC add the
9459         offset to the base of the table.
9460         (thumb_tablejump): Matcher for Thumb tablejump insn.
9461         * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
9462         as the difference of two labels.
9463         * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
9464         * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
9465         tables in the code.
9466         * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
9467         * arm.c (get_jump_table_size): If the table is not in the text
9468         section, return zero.
9469
9470 2002-03-18  Bernd Schmidt  <bernds@redhat.com>
9471
9472         * config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart instead
9473         of gen_rtx_SUBREG.
9474         (arm_reload_out_hi): Use gen_lowpart instead of
9475         gen_rtx_SUBREG to access QImode components.
9476         * config/arm/arm.md: Disable zero_extend split for QImode
9477         subregs in BIG_ENDIAN mode.
9478         (storehi_bigend): Match use of least significant byte.
9479         (storeinthi): Remove extraneous SUBREG.
9480         Add missing construction of operands[2].
9481         (movhi): Use gen_lowpart in place of gen_rtx_SUBREG.
9482         (movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
9483         Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
9484
9485 2002-03-18  Aldy Hernandez  <aldyh@redhat.com>
9486
9487         * config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to
9488         any_operand.
9489
9490 2002-03-17  Richard Henderson  <rth@redhat.com>
9491
9492         * config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns
9493         explicitly.
9494
9495 2002-03-17  Hans-Peter Nilsson  <hp@bitrange.com>
9496
9497         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI
9498         (unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)).
9499
9500 2002-03-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9501
9502         * ifcvt.c (dead_or_predicable): Fix uninitialized variable.
9503
9504         * predict.c (estimate_bb_frequencies): Delete unused variables.
9505
9506 2002-03-17  Richard Henderson  <rth@redhat.com>
9507
9508         * config/ia64/ia64.c (ia64_attribute_table): Move before
9509         targetm definition.  Make static.
9510
9511 2002-03-17  Neil Booth  <neil@daikokuya.demon.co.uk>
9512
9513         * c-common.h (yyparse, c_common_parse_file): New.
9514         * c-lang.c: Include c-common.h.
9515         (LANG_HOOKS_PARSE_FILE): Redefine.
9516         * c-lex.c: Include c-common.h.
9517         (yyparse): Rename c_common_parse_file.  Call yyparse.
9518         * c-parse.in (yyparse): Remove macro.
9519         * c-tree.h (yyparse_1): Remove.
9520         * langhooks-def.h (LANG_HOOKS_PARSE_FILE): New.
9521         (LANG_HOOKS_INITIALIZER): Update.
9522         * langhooks.h (struct lang_hoooks): New hook parse_file.
9523         * toplev.c (compile_file): Use parse_file hook.
9524         * tree.h (yyparse): Remove.
9525         * objc/objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
9526
9527 2002-03-17  Hans-Peter Nilsson  <hp@bitrange.com>
9528
9529         * config/mmix/mmix.md ("truncdfsf2"): Correct operator is
9530         float_truncate, not fix.
9531         ("*truncdfsf2_real"): Ditto.
9532         ("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
9533
9534         * config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.
9535
9536 2002-03-16  Alexandre Oliva  <aoliva@redhat.com>
9537
9538         * config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
9539         (s8), but rather HARD_FRAME_POINTER_REGNUM.  Add parentheses
9540         where appropriate.  Make the second reference to
9541         leaf_function_p a function call, as intended.  Reindented.
9542
9543         * config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
9544         * config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.
9545
9546         * config/mips/mips.md (addsi3, adddi3): Use scratch register to
9547         add register to non-constant into sp.
9548
9549         * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): New.
9550         * config/mips/mips.h (embedded_pic_fnaddr_rtx): Lose.
9551         (mips16_gp_pseudo_rtx): Lose.
9552         (INIT_EXPANDERS): Deleted.
9553         * config/mips/mips.c (mips_init_machine_status): New.
9554         (mips_free_machine_status): New.
9555         (mips_mark_machine_status): New.
9556         (override_options): Set them.
9557         (embedded_pic_fnaddr_rtx, mips16_gp_pseudo_rtx): Moved to...
9558         (struct machine_function): ... new.  Replaced all references.
9559         (mips_add_gc_roots): Don't mark them.
9560         (embedded_pic_fnaddr_reg): New, extracted from...
9561         (embedded_pic_offset): ... here.
9562         * config/mips/mips.md (movdi): Call embedded_pic_fnaddr_reg.
9563         (movsi): Likewise.
9564
9565 2002-03-16  Neil Booth  <neil@daikokuya.demon.co.uk>
9566
9567         * cppinit.c: Revert -MD removal.
9568
9569 2002-03-16  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9570
9571         * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use
9572         soft registers by default for 68HC12.
9573         (m68hc11_conditional_register_usage): Don't use Z register for 68HC12
9574         when compiling with -fomit-frame-pointer.
9575         (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12.
9576         (expand_epilogue): Likewise.
9577         (m68hc11_gen_rotate): Use exg when rotating by 8.
9578
9579 2002-03-16  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9580
9581         * config/m68hc11/m68hc11-protos.h (ix_reg): Declare.
9582         * config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources.
9583         (splits): Remove unused add splits.
9584         ("*addhi3_68hc12"): Tune constraints.
9585         ("addhi_sp"): Try to use X instead of Y in all cases and if the
9586         constant fits in 8-bits and D is dead use abx/aby instructions.
9587         ("*addhi3"): Remove extern declaration of ix_reg.
9588         ("*subsi3"): Optimize and provide new split.
9589         ("subhi3"): Cleanup.
9590         ("*subhi3_sp"): Avoid saving X if we know it is dead.
9591         (arith splits): For 68hc12 save the address register on the stack
9592         and do the arithmetic operation with a pop.
9593
9594 2002-03-16  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9595
9596         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
9597         allocating QImode in address registers.
9598         ("*movqi_m68hc11"): Likewise.
9599
9600 Sat Mar 16 12:57:28 CET 2002  Jan HUbicka  <jh@suse.cz>
9601
9602         * cfgcleanup.c (cleanup_cfg): Fix updating of liveness.
9603
9604 2002-03-16  Neil Booth  <neil@daikokuya.demon.co.uk>
9605
9606         * cppinit.c (print_help): Display -MD and -MMD.
9607         Don't display usage string.  Update assertion syntax and
9608         typo.
9609         (COMMAND_LINE_OPTIONS): Remove OPT_MD, OPT_MMD.
9610         (cpp_handle_option): Update.
9611
9612 2002-03-15  Chris Demetriou  <cgd@broadcom.com>
9613
9614         * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an
9615         MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC,
9616         and define it so that regardless of target CPU size,
9617         __SIZE_TYPE__ and __PTRDIFF_TYPE__ are defined in terms
9618         of "int" rather than "long."
9619
9620 2002-03-15  Richard Henderson  <rth@redhat.com>
9621
9622         * config/alpha/alpha.c (alpha_va_arg): Manipulate the type
9623         size as a tree.
9624
9625 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9626
9627         * config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
9628         ("tstqi" split): Avoid using memory for tstqi on address register.
9629         (splits): Remove constraints.
9630         ("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12.
9631         ("cmpdf", "cmpsf"): Remove since not used.
9632         ("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2.
9633         (peephole2): New peepholes to optimize tstqi and pre inc/dec addressing.
9634
9635 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9636
9637         * config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case.
9638         ("neghi2"): Tighten constraints.
9639         ("one_cmplsi2"): Optimize and simplify split.
9640         * config/m68hc11/larith.asm (__negsi2): Likewise for library.
9641
9642 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9643
9644         * config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints
9645         and split of AND operation to clear the upper bits.
9646         ("*logicalsi3_zextqi"): Likewise.
9647         ("*logicallhi3_zexthi_ashift8"): Likewise.
9648         ("*logicalsi3_silshr16"): Likewise.
9649         ("logicalsi3_silshl16"): Likewise.
9650         ("anddi3", "iordi3", "xordi3" splits): Remove constraints.
9651
9652 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9653
9654         * config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function.
9655         (m68hc11_indirect_p): New function.
9656         (m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12.
9657         (m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of
9658         TARGET_M6812.
9659         (asm_print_register): Likewise.
9660         * config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare.
9661         (m68hc11_indirect_p): Declare.
9662         * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'.
9663         (TARGET_NO_DIRECT_MODE, TARGET_RELAX): New.
9664         (TARGET_SWITCHES): New option -mrelax.
9665         * config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for
9666         destination.
9667         ("iorsi3", "xorsi3"): Likewise.
9668         ("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand.
9669         ("*andhi3_mem"): New to handle destination in memory with bclr
9670         and a scratch register.
9671         ("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise.
9672         ("*andhi3_const"): New when operand2 is constant.
9673         ("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise.
9674         ("*andhi3_gen"): Cleanup of the old "andhi3".
9675         ("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise.
9676         ("xorqi3"): Update constraints.
9677
9678 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9679
9680         * config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look
9681         for reg_equiv_memory_loc when the operand is a register that does
9682         not get a hard register (stack location).
9683         (tst_operand): After reload, accept all memory operand.
9684         (symbolic_memory_operand): Fix detection of symbolic references.
9685         * config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12
9686         accept symbols and any constant.
9687
9688 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9689
9690         * config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC
9691         note on the insn that sets the soft frame register.
9692         (must_parenthesize): ix and iy are also reserved names.
9693         (print_operand_address): One more place where parenthesis are required
9694         to avoid confusion with register names.
9695         (m68hc11_gen_movhi): Allow push of stack pointer.
9696         (m68hc11_check_z_replacement): Fix handling of parallel with a
9697         clobber.
9698         (m68hc11_z_replacement): Must update the REG_INC notes to tell what
9699         the replacement register is.
9700         * config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS
9701         and D8_REGS classes.
9702         (MODES_TIEABLE_P): All modes are tieable except QImode.
9703
9704 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9705
9706         * config/m68hc11/larith.asm (___adddi3): Optimize saving of result.
9707         (___subdi3): Likewise.
9708         (__mulsi3, __mulhi32): Avoid using _.tmp scratch location.
9709         (__map_data_section): Optimize 68hc11 case.
9710
9711 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9712
9713         * config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
9714         than a shift to avoid adding a register with itself.
9715         (m68hc11_memory_move_cost): Take into account NO_REGS.
9716         (m68hc11_register_move_cost): Update and use memory move cost
9717         for soft registers.
9718         (m68hc11_address_cost): Make cost of valid offset not 0 so that
9719         it gives more opportunities to cse to optimize.
9720         * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
9721         * config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.
9722
9723 2002-03-15  Mark Mitchell  <mark@codesourcery.com>
9724
9725         * c-common.c (statement_code_p): Handle CLEANUP_STMT.
9726         * c-common.def (CLEANUP_STMT): New tree node.
9727         * c-common.h (CLEANUP_DECL): New macro.
9728         (CLEANUP_EXPR): Likewise.
9729         * c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
9730         * expr.c (expand_expr): Tidy.
9731         * tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
9732         * tree-inline.c (initialize_inlined_parameters): Clean up
9733         new local variables.
9734
9735 2002-03-15  Jakub Jelinek  <jakub@redhat.com>
9736
9737         PR bootstrap/4128
9738         * config/sparc/sparc.c (gen_v9_scc): Move early clobber test
9739         before movrXX only, use reg_overlap_mentioned_p.
9740         Only special case NE if just one insn can be generated.
9741
9742 2002-03-15  Jason Merrill  <jason@redhat.com>
9743
9744         * varasm.c (assemble_variable): Call resolve_unique_section before
9745         checking DECL_SECTION_NAME.  Use zeros for a decl with DECL_INITIAL
9746         of error_mark_node.
9747
9748 2002-03-15  Richard Earnshaw  <rearnsha@arm.com>
9749
9750         PR target/5170
9751         * arm.md (split pattern for thumb shiftable immediates): Add comment
9752         explaining non-obvious test.
9753
9754 2002-03-15  Richard Earnshaw  <rearnsha@arm.com>
9755
9756         PR target/5712
9757         * arm.md (movaddr, movaddr_insn): Delete.
9758
9759 2002-03-15  Jason Merrill  <jason@redhat.com>
9760
9761         * toplev.c (wrapup_global_declarations): Clarify variable handling.
9762         -fkeep-static-consts doesn't apply to comdats.
9763
9764 2002-03-14  Richard Henderson  <rth@redhat.com>
9765
9766         * c-decl.c: Include c-pragma.h.
9767         (start_decl, start_function): Invoke maybe_apply_pragma_weak.
9768         (finish_function): Tidy.
9769         * c-pragma.c: Include c-common.h.
9770         (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
9771         (handle_pragma_weak): Use them.
9772         (init_pragma): Register pending_weaks.
9773         * c-pragma.h (maybe_apply_pragma_weak): Declare.
9774         * print-tree.c (print_node): Print DECL_WEAK.
9775         * varasm.c (mark_weak_decls): Remove.
9776         (remove_from_pending_weak_list): Remove.
9777         (add_weak): Remove.
9778         (asm_emit_uninitialised): Call globalize_decl for weak commons.
9779         (weak_decls): Make a tree_list.
9780         (declare_weak): Cons weak_decls directly.
9781         (globalize_decl): Remove weak_decls elements directly.
9782         (weak_finish): Simplify weak_decls walk.  Don't weaken unused
9783         symbols.  Don't pretend to handle aliases.
9784         (init_varasm_once): Update weak_decls registry.
9785         * Makefile.in: Update dependencies.
9786
9787 2002-03-14  Richard Henderson  <rth@redhat.com>
9788
9789         PR target/5312
9790         * config/ia64/ia64.c: Include tm_p.h last.
9791         (gen_nop_type): Remove duplicate definition.
9792         (cycle_end_fill_slots): Set sched_data for second L slot.
9793         (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
9794         (nop_cycles_until): Fix typos.
9795
9796 2002-03-15  Jakub Jelinek  <jakub@redhat.com>
9797
9798         PR optimization/5891
9799         * unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
9800
9801 2002-03-14  David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com>
9802
9803         * config/ia64/unwind-ia64.c: Handle copy_state and label_state
9804           descriptors correctly.
9805
9806 2002-03-14  Michael Meissner  <meissner@redhat.com>
9807
9808         * params.def (PARAM_MAX_UNROLLED_INSNS): New macro, default to
9809         100, allowing MAX_UNROLLED_INSNS to be overridden.
9810
9811         * params.h (MAX_UNROLLED_INSNS): Define so it can be overridden by
9812         --param.
9813
9814         * unroll.c (params.h): Include.
9815         (MAX_UNROLLED_INSNS): Delete, now in params.h.
9816
9817         * doc/invoke.texi (--param max-unroll-insns): Document.
9818
9819         * Makefile.in (unroll.o): Add $(PARAMS_H) dependency.
9820
9821 2002-03-14  Richard Earnshaw  <rearnsha@arm.com>
9822
9823         * arm.md: Fix warnings about constraints in peepholes and splits.
9824
9825 2002-03-14  Zack Weinberg  <zack@codesourcery.com>
9826
9827         * cpphash.h (struct lexer_state): Remove line_extension member.
9828         * cpplib.c (dequote_string, do_linemarker): New functions.
9829         (linemarker_dir): New data object.
9830         (DIRECTIVE_TABLE): No longer need to interpret #line in
9831         preprocessed source.  Delete obsolete comment about return
9832         values of handlers.
9833         (end_directive, directive_diagnostics, _cpp_handle_directive):
9834         Don't muck with line_extension.
9835         (directive_diagnostics): No need to issue warnings for
9836         linemarkers here.
9837         (_cpp_handle_directive): Issue warnings for linemarkers here,
9838         when appropriate.  Dispatch linemarkers to do_linemarker, not
9839         do_line.
9840         (do_line): Code to handle linemarkers split out to do_linemarker.
9841         Convert escape sequences in filename argument, both places.
9842
9843         * cppmacro.c (quote_string): Rename cpp_quote_string and
9844         export.  All callers changed.
9845         * cpplib.h (cpp_quote_string): Prototype.
9846         * cppmain.c (print_line): Call cpp_quote_string on to_file
9847         before printing it.
9848
9849         * doc/cpp.texi: Document that escapes are now interpreted in
9850         #line and in linemarkers, and that non-printing characters are
9851         converted to octal escapes when linemarkers are generated.
9852
9853 Thu Mar 14 19:04:29 CET 2002  Jan Hubicka  <jh@suse.cz>
9854
9855         * emit-rtl.c (try_split): Use delete_insns.
9856         * recog.c (split_all_insns): Fix terminating condition.
9857
9858 2002-03-14  Richard Earnshaw  <rearnsha@arm.com>
9859             Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
9860
9861         PR target/5828
9862         * arm.c (arm_output_epilogue): Fix floating-point register save
9863         adjustment when using a frame pointer.
9864
9865 2002-03-14  Richard Sandiford  <rsandifo@redhat.com>
9866
9867         * config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
9868         * config/mips/mips.c (compute_frame_size): Retrofit them here.
9869         (save_restore_insns, mips_expand_epilogue): And here.
9870         (build_mips16_call_stub): And here.
9871         (mips_function_value): Use the new macros to decide whether a single
9872         or complex float can be returned in floating-point registers.  Return
9873         a parallel rtx in the complex case.
9874
9875 Thu Mar 14 11:03:12 CET 2002  Jan Hubicka  <jh@suse.cz>
9876
9877         * toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup
9878         call after liveness analysis.
9879
9880         * recog.c (split_insn): Use delete_insn_and_edges.
9881
9882         * cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump
9883         instructions to have branch prediction notes.
9884         * ia64reorg.c (ia64_reorg): Do not rebuild CFG.
9885
9886 2002-03-14  Geoffrey Keating  <geoffk@redhat.com>
9887
9888         * configure.in: Don't pass -Wno-long-long to a ADA compiler
9889         that doesn't support it.
9890         * configure: Regenerate.
9891
9892 2002-03-13  Jakub Jelinek  <jakub@redhat.com>
9893
9894         PR target/5626
9895         * config/sparc/sparc.md (normal_branch, inverted_branch,
9896         normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
9897         inverted_fp_branch): Adjust calls to output_cbranch.
9898         Set length attribute.
9899         (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
9900         output_v9branch.  Set length attribute.
9901         * config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
9902         predicates.
9903         (noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
9904         (output_cbranch): Likewise.  Handle far branches.
9905         (output_v9branch): Handle far branches.
9906         * config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
9907         Adjust prototypes.
9908         * config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
9909         noov_compare64_op predicates.
9910
9911 2002-03-13  Jason Merrill  <jason@redhat.com>
9912
9913         * gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
9914         into the function and constify it.
9915         * gthr-dce.h, gthr-solaris.h: Likewise.
9916
9917 2002-03-13  David Edelsohn  <edelsohn@gnu.org>
9918
9919         * config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
9920         * config/rs6000/rs6000.c (rs6000_va_arg): Use
9921         std_expand_builtin_va_arg if not ABI_V4.
9922
9923 2002-03-13  Jason Merrill  <jason@redhat.com>
9924
9925         * varasm.c (globalize_decl): New fn.
9926         (assemble_start_function): Use it.
9927         (asm_emit_uninitialized): Use it.
9928         (assemble_alias): Use it.
9929         (assemble_variable): Use it.
9930
9931 2002-03-13  Hans-Peter Nilsson  <hp@axis.com>
9932
9933         * config/cris/cris.c (cris_target_asm_function_prologue): Revert
9934         2002-03-12 internal visibility change.
9935         (cris_encode_section_info): Consider MODULE_LOCAL_P when encoding
9936         visibility into SYMBOL_REF_FLAG.
9937
9938 2002-03-13  Ulrich Weigand  <uweigand@de.ibm.com>
9939
9940         * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
9941         VOIDmode operand.  Add compile-time optimization for constant results.
9942
9943 2002-03-12  Jason Merrill  <jason@redhat.com>
9944
9945         * c-typeck.c (convert_for_assignment): Don't allow conversions
9946         between pointers and references.  Only allow lvalues to convert to
9947         reference.
9948
9949 2002-03-13  Hartmut Penner  <hpenner@de.ibm.com>
9950
9951         * config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
9952         before prologue, to avoid scheduling problems.
9953
9954 2002-03-13  Jakub Jelinek  <jakub@redhat.com>
9955
9956         * config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
9957         (ELIMINABLE_REGS): Add sfp->sp.
9958         (INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.
9959
9960 2002-03-13  Jakub Jelinek  <jakub@redhat.com>
9961
9962         PR optimization/5892
9963         * config/ia64/ia64.c (rotate_one_bundle): Update current packet.
9964
9965 2002-03-13  Jakub Jelinek  <jakub@redhat.com>
9966
9967         * loop.c (basic_induction_var): Don't call convert_modes if mode
9968         classes are different.
9969
9970 2002-03-12  Richard Henderson  <rth@redhat.com>
9971
9972         PR optimization/5901
9973         * function.c (reposition_prologue_and_epilogue_notes): Position
9974         the markers after/before the last/first insn not deleted.
9975
9976 2002-03-12  Richard Henderson  <rth@redhat.com>
9977
9978         PR optimization/5878
9979         * config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
9980         config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
9981         (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
9982
9983         * config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
9984         config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
9985         PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.
9986
9987         * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
9988         * config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
9989         (arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
9990         also.  Don't set it if not flag_pic.
9991         * config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
9992         to be INVALID_REGNUM when not used.
9993
9994 2002-03-13  Aldy Hernandez  <aldyh@redhat.com>
9995
9996         * expmed.c (store_bit_field): Reset alias set for memory.
9997         (extract_bit_field): Same.
9998
9999 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10000
10001         * c-common.c (c_tree_code_type, c_tree_code_length,
10002         c_tree_code_name, add_c_tree_codes): Delete.
10003         * c-common.h (add_c_tree_codes): Delete.
10004         * c-lang.c (tree_code_type, tree_code_length, tree_code_name):
10005         Define.
10006         * c-objc-common.c (c_objc_common_init): Don't call
10007         add_c_tree_codes, instead set lang_unsafe_for_reeval.
10008         * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
10009         objc_tree_code_name, add_objc_tree_codes): Delete.
10010         (objc_init): Don't call add_objc_tree_codes.
10011         * objc/objc-lang.c (tree_code_type, tree_code_length,
10012         tree_code_name): Define.
10013         * toplev.c (lang_independent_init): Don't set
10014         tree_code_length[IDENTIFIER_NODE].
10015         * tree.c (tree_code_type, tree_code_length, tree_code_name):
10016         Delete definitions, moved to language front-ends.
10017         * tree.def (IDENTIFIER_NODE): Hardwire the length.
10018         * tree.h (tree_code_type, tree_code_length, tree_code_name):
10019         Const-ify.
10020         (tree_code_length): Change type to unsigned char.
10021
10022 2002-03-12  Richard Henderson  <rth@redhat.com>
10023
10024         * config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03
10025         internal visibility change.
10026
10027 2002-03-12  Bob Wilson  <bob.wilson@acm.org>
10028
10029         * config/xtensa/xtensa.c (xtensa_expand_block_move): Use
10030         validize_mem() instead of change_address to avoid clobbering
10031         memory attributes.
10032
10033 2002-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
10034
10035         * c-lex.h (position_after_whitespace): Remove.
10036
10037 2002-03-12  Jakub Jelinek  <jakub@redhat.com>
10038
10039         * c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
10040         (lex_string): Use unsigned char pointers.
10041
10042 2002-03-12  Ulrich Weigand  <uweigand@de.ibm.com>
10043
10044         * reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
10045         is not a valid memory_operand.
10046
10047 2002-03-12  Bob Wilson  <bob.wilson@acm.org>
10048
10049         * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
10050         * config/xtensa/lib1funcs.asm: Fix copyright to include
10051         special case for libgcc files.
10052         (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
10053         (__divsi3): Likewise.
10054         (__umodsi3): Likewise.
10055         (__modsi3): Likewise.
10056         * config/xtensa/lib2funcs.S: Fix copyright to include
10057         special case for libgcc files.
10058
10059 2002-03-12  Tom Rix  <trix@redhat.com>
10060
10061         * collect2.c (resolve_lib_name): Move outside of
10062         OBJECT_FORMAT_COFF ifdef.
10063         (ignore_library): Same.
10064
10065 2002-03-12  Bob Wilson  <bob.wilson@acm.org>
10066
10067         * config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define.
10068
10069 2002-03-12  Bob Wilson  <bob.wilson@acm.org>
10070
10071         * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch
10072         to function_section before writing out the constant pool.
10073
10074 2002-03-12  David Edelsohn  <edelsohn@gnu.org>
10075
10076         * config/rs6000/rs6000.h (PREDICATE_CODES): Add any_operand and
10077         zero_constant.
10078         * config/rs6000/rs6000.c (easy_fp_constant): Fix formatting.
10079
10080 2002-03-12  Alan Modra  <amodra@bigpond.net.au>
10081
10082         * config/rs6000/rs6000.md (addsi3): Optimize sign extension.
10083         (adddi3): Likewise.
10084         (movdf): Likewise.
10085         (movdi): Likewise.
10086         (cmpsi splitter): Likewise.
10087         (modsi3): Fail if <= 0.
10088         * config/rs6000/rs6000.c (reg_or_add_cint64_operand): Remove
10089         redundant test when HOST_BITS_PER_WIDE_INT != 32.
10090         (reg_or_sub_cint64_operand): Likewise.
10091         (num_insns_constant_wide): Optimize sign extension.
10092         (rs6000_legitimize_address): Likewise.
10093
10094 2002-03-12  Andrew MacLeod  <amacleod@redhat.com>
10095
10096         * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
10097         * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
10098
10099 2002-03-12  Andrew MacLeod  <amacleod@redhat.com>
10100
10101         * config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
10102         address calculation.
10103
10104 2002-03-12  Ulrich Weigand  <uweigand@de.ibm.com>
10105
10106         * config/s390/s390.md (reload_insi, reload_indi): Change mode of
10107         scratch register to DImode / TImode.
10108         config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
10109         register used does not overlap the target.
10110
10111 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10112
10113         * Makefile.in (debug.o): Depend on debug.h.
10114         * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Const-ify.
10115         * debug.c (do_nothing_debug_hooks): Likewise.
10116         * debug.h (debug_hooks, do_nothing_debug_hooks, dbx_debug_hooks,
10117         sdb_debug_hooks, xcoff_debug_hooks, dwarf_debug_hooks,
10118         dwarf2_debug_hooks, vmsdbg_debug_hooks): Likewise.
10119         * dwarf2out.c (dwarf2_debug_hooks): Likewise.
10120         * dwarfout.c (dwarf_debug_hooks): Likewise.
10121         * integrate.c (output_inline_function): Likewise.
10122         * objc/objc-act.c (synth_module_prologue): Likewise.
10123         * sdbout.c (sdb_debug_hooks): Likewise.
10124         * toplev.c (debug_hooks): Likewise.
10125         * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
10126
10127 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10128
10129         * 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,
10130         dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h,
10131         m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h,
10132         ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h,
10133         v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete.
10134         * defaults.h (POINTER_SIZE): Define.
10135         * doc/tm.texi (POINTER_SIZE): Document default.
10136
10137 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10138
10139         * mn10200.h (PTRDIFF_TYPE): Change it to a signed type.
10140
10141 2002-03-11  Richard Henderson  <rth@redhat.com>
10142
10143         * toplev.c (rest_of_compilation): Call purge_all_dead_edges
10144         if rebuild_label_notes_after_reload.
10145
10146 2002-03-12  Hans-Peter Nilsson  <hp@axis.com>
10147
10148         * config/cris/cris.c (cris_target_asm_function_prologue):  Do not
10149         emit pic register load if "internal" visibility.
10150         (cris_print_operand): Avoid traditional-warning for 0xffffffff.
10151         (cris_expand_builtin_va_arg): Do all computations on trees.
10152
10153 2002-03-11  Richard Henderson  <rth@redhat.com>
10154
10155         * rtlanal.c: Include recog.h.
10156         (keep_with_call_p): Fix thinko.
10157         * Makefile.in (rtlanal.o): Update dependencies.
10158
10159 2002-03-11  Chris Meyer  <cmeyer@gatan.com>
10160
10161         * genflags.c (gen_insn): Use IS_VSPACE.
10162         * genoutput.c (output_insn_data): Likewise.
10163         (process_template): Likewise.
10164
10165 2002-03-11  Richard Henderson  <rth@redhat.com>
10166
10167         * toplev.c (rest_of_compilation): Don't compile if we've had errors.
10168
10169 2002-03-11  Neil Booth  <neil@daikokuya.demon.co.uk>
10170
10171         * Makefile.in: Update.
10172         * doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
10173         Update documentation.
10174         * doc/gcc.texi: Include cppopts.texi and cppenv.texi.
10175         * doc/cpp.texi: Include cppopts.texi and cppenv.texi.
10176
10177 2002-03-11  Zack Weinberg  <zack@codesourcery.com>
10178
10179         * Makefile.in: Give texi2pod its input file as a command line
10180         argument, not on stdin.
10181
10182 2002-03-11  Dan Nicolaescu  <dann@ics.uci.edu>
10183             Daniel Berlin  <dan@dberlin.org>
10184
10185         C++ alias analysis improvement.
10186         * alias.c (record_component_aliases): Record aliases for base
10187         classes too.
10188
10189 2002-03-11  Ulrich Weigand  <uweigand@de.ibm.com>
10190
10191         * config/s390/s390.h (REG_ALLOC_ORDER): Add missing register.
10192
10193 2002-03-11  Douglas B Rupp  <rupp@gnat.com>
10194
10195         * toplev.c (vms_fopen): Remove, not needed.
10196
10197         * vmsdbgout.c (lookup_filename): Adjust creation date for GMT.
10198
10199         * config/alpha/xm-vms.h (__UNIX_FWRITE): Define.
10200
10201         * config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space
10202         for FP, already done later.
10203
10204         * toplev.c (debug_args): Add entry for VMS_DEBUG.
10205         * vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc.
10206
10207 2002-03-11  Richard Sandiford  <rsandifo@redhat.com>
10208
10209         * defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New.
10210         (MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if
10211         LARGEST_EXPONENT_IS_NORMAL for the given mode.
10212         (MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO.
10213         * real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO.
10214         (ediv, emul, eldexp, esqrt): Likewise.
10215         (etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise.
10216         (e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL.
10217         (saturate): New function.
10218         (toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL.
10219         (make_nan): Use a saturation value instead of a NaN if
10220         LARGEST_EXPONENT_IS_NORMAL.  Warn when this happens.
10221         * fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing
10222         inputs if LARGEST_EXPONENT_IS_NORMAL.  Represent subnormals as
10223         zero if NO_DENORMALS.  Only round to nearest if !ROUND_TOWARDS_ZERO.
10224         (unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL.
10225         (_fpmul_parts, _fpdiv_parts): Only round to nearest if
10226         !ROUND_TOWARDS_ZERO.
10227         * doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document.
10228         (ROUND_TOWARDS_ZERO): Document.
10229
10230 2002-03-11  Andreas Jaeger  <aj@suse.de>
10231
10232         * cfg.c (dump_flow_info): Remove unused variable.
10233
10234 2002-03-11  Hans-Peter Nilsson  <hp@bitrange.com>
10235
10236         * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Do all
10237         computations on trees.
10238
10239 2002-03-10  Richard Henderson  <rth@redhat.com>
10240
10241         PR 5693:
10242         * reload.c (copy_replacements_1): New.
10243         (copy_replacements): Use it to recurse through the rtx.
10244
10245 2002-03-10  Richard Henderson  <rth@redhat.com>
10246
10247         * loop.c (strength_reduce): Compute number of iterations as
10248         unsigned HOST_WIDE_INT.
10249
10250 2002-03-10  Richard Henderson  <rth@redhat.com>
10251
10252         * sched-rgn.c (add_branch_dependences): Don't allow insns that throw
10253         to move away from the end of the block.
10254
10255 2002-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
10256
10257         PR preprocessor/5899
10258         * cppinit.c (init_dependency_output): Don't ignore -dM etc.
10259
10260 2002-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10261
10262         * mbchar.c (JIS_state_table, JIS_action_table): Const-ify.
10263
10264         * attribs.c (decl_attributes): Fix signed/unsigned warning.
10265
10266 2002-03-10  Hans-Peter Nilsson  <hp@bitrange.com>
10267
10268         * config/mmix/mmix.c: Improve comments.
10269         (mmix_target_asm_function_prologue): Drop variable
10270         empty_stack_frame.  Don't allocate unused slot above fp.
10271         (mmix_target_asm_function_epilogue): Mirror prologue changes.
10272         * config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have
10273         brace in first column.
10274         (enum reg_class): Ditto.
10275         (FIRST_PARM_OFFSET): Now 0.
10276         (USER_LABEL_PREFIX): Remove #if 0:d definition.
10277
10278 2002-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10279
10280         * combine.c (make_extraction): Fix error in last change.
10281
10282 2002-03-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10283
10284         * c4x.c (c4x_fp_reglist): Const-ify.
10285         * cris.c (cris_print_operand): Likewise.
10286         * i386.c (ix86_va_arg): Likewise.
10287         * ia64/unwind-ia64.c (unw_decode_table): Likewise.
10288         * m32r.c (m32r_hard_regno_mode_ok): Likewise.
10289         * m32r.h (m32r_hard_regno_mode_ok): Likewise.
10290         * mcore.c (regno_reg_class, mcore_unique_section): Likewise.
10291         * mcore.h (regno_reg_class): Likewise.
10292         * mips.c (gen_int_relational): Likewise.
10293         * ns32k.c (ns32k_reg_class_contents, regclass_map): Likewise.
10294         * ns32k.h (ns32k_reg_class_contents, regclass_map): Likewise.
10295         * pdp11.c (move_costs): Likewise.
10296         * pj.h (INITIALIZE_TRAMPOLINE): Likewise.
10297         * s390.c (s390_branch_condition_mnemonic, regclass_map):
10298         Likewise.
10299         * s390.h (regclass_map): Likewise.
10300         * sh.c (shift_amounts): Likewise.
10301         * sh.md (rotlsi3): Likewise.
10302
10303 2002-03-09  Geoffrey Keating  <geoffk@redhat.com>
10304
10305         * config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
10306         (ne0+5): Use new clobber to generate proper shift pattern.
10307         Patch by Michael Matz <matz@kde.org>.
10308
10309 2002-03-09  Andreas Schwab  <schwab@suse.de>
10310
10311         * gcc.c (validate_all_switches): Also handle `%W{...}'.
10312
10313 2002-03-09  Geoffrey Keating  <geoffk@redhat.com>
10314
10315         * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Don't define.
10316
10317 2002-03-09  Jakub Jelinek  <jakub@redhat.com>
10318
10319         PR middle-end/5877
10320         * expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW
10321         even for non-representable constants.
10322
10323 Sat Mar  9 07:20:01 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10324
10325         * emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
10326         * function.c (fixup_var_refs): Add MAY_SHARE parameter.
10327         (fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
10328         (fixup_var_refs_insn, fixup_var_refs_1): Likewise.
10329         (pop_function_context): Compute MAY_SHARE parameter for
10330         fixup_var_refs.
10331         (fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
10332         (gen_mem_addressof): Call fixup_var_refs with new parm.
10333
10334         * combine.c (make_extraction): Don't make extension of CONST_INT.
10335
10336 2002-03-09  Alexandre Oliva  <aoliva@redhat.com>
10337
10338         * config/mips/mips.c (function_arg_pass_by_reference): Force to 0
10339         in o32 and o64 ABIs.
10340         * config/mips/abi64.h (MUST_PASS_IN_STACK): Define as in expr.h,
10341         but getting fixed-size structs passed in registers regardless of
10342         padding in o32 and o64 ABIs.
10343
10344         * config/mips/mips.c (mips_va_arg): Apply big-endianness address
10345         offset before loading address of argument passed by transparent
10346         reference.
10347
10348 2002-03-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10349
10350         * t-pa64 (LIB1ASMFUNCS, LIB1ASMSRC): Delete.
10351
10352 2002-03-09  Alexandre Oliva  <aoliva@redhat.com>
10353
10354         * config/mips/mips.c (mips_expand_prologue): Set regno of vararg
10355         marker such that registers after it are saved.
10356
10357 2002-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10358
10359         * sparc.c (arith_4096_operand): Fix error in last change.
10360
10361 2002-03-08  Alexandre Oliva  <aoliva@redhat.com>
10362
10363         * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Remove duplicate
10364         defaults for MEABI.
10365
10366 2002-03-08  Aldy Hernandez  <aldyh@redhat.com>
10367
10368         * config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for
10369         vectors.
10370
10371 2002-03-08  Aldy Hernandez  <aldyh@redhat.com>
10372
10373         * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec.
10374
10375 Fri Mar  8 21:27:49 CET 2002  Jan Hubicka  <jh@suse.cz>
10376
10377         * cfgrtl.c (purge_dead_edges): Set BB_DRITY flags if edge has been
10378         removed; fix return value.
10379         * combine.c (combine_instructions): Dirtify blocks where we failed to
10380         update liveness; purge dead edges; use update_life_info_in_dirty_blocks.
10381         * toplev.c (rest_of_compilation): Do not purge_dead_edges after combine.
10382
10383 2002-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10384
10385         * gcse.c (insert_insn_end_bb): Fix typo in last change.
10386
10387 Fri Mar  8 21:08:52 CET 2002  Jan Hubicka  <jh@suse.cz>
10388
10389         * recog.c (peephole2_optimize): Re-distribute EH edges.
10390
10391 2002-03-08  Neil Booth  <neil@daikokuya.demon.co.uk>
10392
10393         * expr.c (expand_expr): Use unsave lang hook.
10394         * langhooks-def.h (LANG_HOOKS_UNSAVE): New.
10395         (LANG_HOOKS_INITIALIZER): Update.
10396         * langhooks.h (struct lang_hooks): New hook unsave.
10397         * tree.c (lang_unsave, lang_unsave_expr_now): Remove.
10398         (unsave_expr_1): Remove unused lang_unsave_expr_now.
10399         (unsave_expr_now_r): Rename lhd_unsave.  Update. Return input.
10400         (unsave_expr_now): Remove.
10401         * tree.h (unsave_expr_now, lang_unsave,
10402         lang_unsave_expr_now): Remove.
10403         (lhd_unsave): New.
10404
10405 2002-03-08  Andreas Jaeger  <aj@suse.de>
10406
10407         * flow.c (propagate_block_delete_insn): Remove unused variable.
10408
10409 2002-03-08  Kazu Hirata  <kazu@hxi.com>
10410
10411         * config/h8300/h8300.c (h8300_adjust_insn_length): Tighten
10412         insn length for memory load/store.
10413
10414 2002-03-08  Craig Rodrigues  <rodrigc@gcc.gnu.org>
10415
10416         * doc/install.texi (--with-libiconv-prefix): Document.
10417
10418 2002-03-08  Michael Y. Brukman  <myb2@cornell.edu>
10419
10420         * doc/sourcebuild.texi: Fix typo.
10421
10422 2002-03-08  Jakub Jelinek  <jakub@redhat.com>
10423
10424         PR c/3711
10425         * builtins.c (std_expand_builtin_va_arg): Do all computations on
10426         trees.
10427
10428 Fri Mar  8 06:48:45 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10429
10430         * rtl.c (copy_most_rtx): Move from here ...
10431         * emit-rtl.c (copy_most_rtx): ... to here.
10432
10433 2002-03-08  Alexandre Oliva  <aoliva@redhat.com>
10434
10435         * config/mips/mips.h (LONG_MAX_SPEC): Rewrite, along with
10436         SUBTARGET_CPP_SIZE_SPEC.
10437         * config/mips/abi64.h (LONG_MAX_SPEC): Delete.
10438
10439         * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Simplify.
10440
10441 2002-03-07  Matt Hiller  <hiller@redhat.com>
10442
10443         * gensupport.c (first_dir_md_include): Renamed from include;
10444         change all references.
10445         (last_dir_md_include): Renamed from last_include; change all
10446         references.
10447         (init_md_reader): Unconditionally initialize base_dir whether or
10448         not filename is a relative path.
10449
10450 2002-03-07  Alexandre Oliva  <aoliva@redhat.com>
10451
10452         * config/fp-bit.c (_unord_f2): Compile it in even if
10453         US_SOFTWARE_GOFAST is enabled.
10454
10455         * config/gofast.h (GOFAST_RENAME_LIBCALLS): Set gt and ge as
10456         NULL_RTX.  Set all HFmode operations as NULL_RTX.
10457         * optabs.c (prepare_float_lib_cmp) <GT, GE, LT, LE>: If libfunc is
10458         NULL_RTX, try reversing the comparison and the operands.
10459
10460 2002-03-06  Ulrich Weigand  <uweigand@de.ibm.com>
10461
10462         * genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
10463         genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
10464         and MATCH_OP_DUP.
10465
10466 Thu Mar  7 16:54:10 CET 2002  Jan Hubicka  <jh@suse.cz>
10467
10468         * reload1.c (reload_cse_delete_noop_set): Purge dead edges.
10469
10470 Thu Mar  7 16:33:54 CET 2002  Jan Hubicka  <jh@suse.cz>
10471
10472         * basic-block.h (fixup_abnormal_edges): Declare.
10473         * reload1.c (fixup_abnormal_edges): New function.
10474         * reg-stack.c (convert_regs): Use it.
10475
10476         * gcse.c (insert_insn_end_bb): Handle trapping insns.
10477
10478         * gcse.c (hash_scan_set): Refuse instructions with EH edges.
10479
10480 2002-03-07  Richard Sandiford  <rsandifo@redhat.com>
10481
10482         * defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New.
10483         (MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New.
10484         * flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New.
10485         (HONOR_SIGN_DEPENDENT_ROUNDING): New.
10486         * builtins.c (expand_builtin_mathfn): Use HONOR_NANS.
10487         * c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y
10488         unless x and y could be infinite.
10489         (expand_unordered_cmp): New, mostly split from expand_tree_builtin.
10490         Check that the common type of both arguments is a real, even for
10491         targets without unordered comparisons.  Allow an integer argument
10492         to be compared against a real.
10493         (expand_tree_builtin): Use expand_unordered_cmp.
10494         * combine.c (combine_simplify_rtx): Use the new HONOR_... macros.
10495         * cse.c (fold_rtx): Likewise.  Fix indentation.
10496         * fold-const.c (fold_real_zero_addition_p): New.
10497         (fold): Use it, and the new HONOR_... macros.
10498         * ifcvt.c (noce_try_minmax): Use the new HONOR_... macros.
10499         * jump.c (reversed_comparison_code_parts): After searching for
10500         the true comparison mode, use HONOR_NANS to decide whether it
10501         can be safely reversed.
10502         (reverse_condition_maybe_unordered): Remove IEEE check.
10503         * simplify-rtx.c (simplify_binary_operation): Use the new macros
10504         to decide which simplifications are valid.  Allow the following
10505         simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b),
10506         and (a - -b) to (a + b).
10507         (simplify_relational_operation): Use HONOR_NANS.
10508         * doc/tm.texi: Document the MODE_HAS_... macros.
10509
10510 2002-03-07  Richard Earnshaw  <rearnsha@arm.com>
10511
10512         * combine.c (simplify_comparison): If simplifying a logical shift
10513         right and compare with constant, force the comparison to unsigned.
10514
10515 2002-03-07  Aldy Hernandez  <aldyh@redhat.com>
10516
10517         * doc/invoke.texi: Add documentation for -mabi=no-altivec.
10518
10519         * config/rs6000/rs6000.c (rs6000_parse_abi_options): Add
10520         -mabi=no-altivec
10521         (alt_reg_names): Remove % for vrsave.
10522
10523 2002-03-06  Richard Henderson  <rth@redhat.com>
10524
10525         PR optimization/5844
10526         * genemit.c (gen_exp): New argument used.  Invoke copy_rtx
10527         if used indicates we've already emitted one copy of an operand.
10528         (gen_insn, gen_expand, output_add_clobbers): Supply a null used.
10529         (gen_split): Supply a non-null used.
10530
10531 2002-03-06  Ulrich Weigand  <uweigand@de.ibm.com>
10532
10533         * reload1.c (reload): Unshare all rtl after reload is done.
10534
10535         * simplify-rtx.c (simplify_plus_minus): Do not abort,
10536         but simply fail if the expression is too complex to simplify.
10537         (simplify_gen_binary): Handle simplify_plus_minus failures.
10538
10539 Wed Mar  6 20:32:09 CET 2002  Jan Hubicka  <jh@suse.cz>
10540
10541         * toplev.c (rest_of_compilation): Do jump threading before SSA path;
10542         consistently call delete_trivially_dead_insns after CSE and GCSE;
10543         fix DFI_life dumping; do jump threading after liveness; do crossjumping
10544         after liveness2; update comment in last crossjumping.
10545         * cfgcleanup.c (try_crossjump_to_edge): Dirtify block.
10546
10547 Wed Mar  6 12:27:10 2002  Jeffrey A Law  (law@redhat.com)
10548
10549         * ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains
10550         after completing fast dead code elimination.
10551
10552         * m68k.h (CONST_COSTS): Lower cost of 0.0 when used inside a
10553         COMPARE operator.
10554
10555 2002-03-06  Phil Edwards  <pme@gcc.gnu.org>
10556
10557         * version.c:  Fix misplaced leading blanks on first line.
10558
10559 Wed Mar  6 19:08:03 CET 2002  Jan Hubicka  <jh@suse.cz>
10560
10561         * cfgrtl.c (verify_flow_info): Accept RESX as EH edge source.
10562
10563 Wed Mar  6 18:14:43 CET 2002  Jan Hubicka  <jh@suse.cz>
10564
10565         * cfgcleanup.c (mentions_nonequal_regs): New function.
10566         (thread_jump): Use it.
10567         * toplev.c (rest_of_compilation): Run jump threading after
10568         liveness.
10569
10570 2002-03-06  Jakub Jelinek  <jakub@redhat.com>
10571
10572         * ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05
10573         patch.
10574
10575 Wed Mar  6 11:28:19 CET 2002  Jan Hubicka  <jh@suse.cz>
10576
10577         * predict.c (estimate_bb_frequencies): Do not reload the
10578         frequencies from notes.
10579
10580 Wed Mar  6 10:59:39 CET 2002  Jan Hubicka  <jh@suse.cz>
10581
10582         * cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New.
10583         * rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare
10584
10585         * basic-block.h (update_life_info, update_life_info_in_dirty_blocks,
10586         delete_noop_moves): Return indeger.
10587         * flow.c (ndead): New variable.
10588         (propagate_block_delete_insn): Use delete_insn_and_edges; remove
10589         BB argument; update callers.
10590         (propagate_block_delete_libcall): Use delete_insn_chain_and_edges.
10591         (life_analysis): Do not call purge_all_dead_edges.
10592         (update_life_info): Return number of deleted insns; print statistics.
10593         (update_life_info_in_dirty_blocks): likewise.
10594         (delete_noop_moves): Use delete_insn_and_edges; print statistics;
10595         return number of insns deleted.
10596
10597         * cse.c: Include timevar.h
10598         (delete_trivially_dead_insns): Kill preserve_basic_blocks argument;
10599         iterate until stabilizes; print statistics; return number of killed
10600         insns.
10601         * Makefile.in: (cse.o): Add timevar.h dependency
10602         * rtl.h (delete_trivially_dead_insns): New.
10603         * timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer.
10604         * toplev.c (rest_of_compilation): Update callers.
10605
10606         * cfgcleanup.c (try_optimize_cfg): Kill blocks.
10607         (try_optimize_cfg): Do not update liveness.
10608         (cleanup-cfg): Loop until try_optimize_cfg and dead code
10609         removal stabilizes; use delete_trivially_dead_insns.
10610
10611         * cfgrtl.c (verify_flow_info): Sanity check outgoing edges.
10612
10613 2002-03-05  Zack Weinberg  <zack@codesourcery.com>
10614
10615         * cppmain.c (setup_callbacks): Disable #pragma and #ident
10616         callbacks when processing assembly language.
10617
10618 2002-03-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10619
10620         * pa.h (ASM_FILE_END): Define.
10621         * som.h (ASM_FILE_END): Delete.
10622
10623         * pa.c (function_arg): Don't pass floats in general registers in
10624         indirect calls if TARGET_ELF32.
10625
10626 2002-03-05  Richard Henderson  <rth@redhat.com>
10627
10628         * config/i386/i386.md (floatsidf2): Conditionalize on hard-float.
10629
10630 2002-03-05  Danny Smith  <dannysmith@users.sourceforge.net>
10631
10632         * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define.
10633
10634 2002-03-05  Jakub Jelinek  <jakub@redhat.com>
10635
10636         * mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc
10637         -r command line.  Don't hide any symbols if not building
10638         shared libgcc.
10639
10640 Tue Mar  5 18:31:27 CET 2002  Jan Hubicka  <jh@suse.cz>
10641
10642         * cfg.c (dump_flow_info): Warn about profile mismatches.
10643         * cfgrtl.c (verify_flow_info): Few aditional sanity checks.
10644         (purge_dead_edges): Remove REG_BR_PROB notes on simplejumps.
10645
10646 2002-03-05  Jakub Jelinek  <jakub@redhat.com>
10647
10648         * expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
10649         wide volatile memory by parts.
10650
10651 2002-03-05  Jakub Jelinek  <jakub@redhat.com>
10652
10653         * ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
10654         is NULL.
10655
10656 2002-03-05  Richard Henderson  <rth@redhat.com>
10657
10658         * rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error.
10659
10660 2002-03-04  Geoffrey Keating  <geoffk@redhat.com>
10661
10662         * toplev.c (documented_lang_options): Document more
10663         language-specific options.
10664         * doc/invoke.texi (Warning Options): Correct documentation for
10665         -Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers.
10666         * c-decl.c (c_decode_option): Use a table to handle warning options.
10667
10668 2002-03-05  Hans-Peter Nilsson  <hp@bitrange.com>
10669
10670         * config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
10671         parameter to mmix_encode_section_info.
10672         (LINK_SPEC): Don't defsym __.MMIX.start..text if linking
10673         relocatably.  Always produce ELF, not mmo if linking relocatably.
10674         * config/mmix/mmix.c (mmix_encode_section_info): If new parameter
10675         first is non-zero, don't add symbol prefix.
10676         * config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
10677         prototype accordingly.
10678
10679 2002-03-04  Krister Walfridsson  <cato@df.lth.se>
10680
10681         * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
10682
10683 2002-03-05  Joseph S. Myers  <jsm28@cam.ac.uk>
10684
10685         * configure.in: Increase required makeinfo version to 4.1.
10686         * configure: Regenerate.
10687
10688 2002-03-04  Geoffrey Keating  <geoffk@redhat.com>
10689
10690         * .cvsignore: Remove *.info* and genrtl*; these files are generated
10691         elsewhere now.
10692
10693 2002-03-04  Joseph S. Myers  <jsm28@cam.ac.uk>
10694
10695         * doc/include/texinfo.tex: Update to version 2002-03-01.06.
10696         * doc/invoke.texi: Fix @math uses.
10697
10698 Mon Mar  4 15:33:54 CET 2002  Jan Hubicka  <jh@suse.cz>
10699
10700         * toplev.c (rest_of_compilation): Cleanup CFG after dead jumptables
10701         removal
10702
10703 2002-03-03  Aldy Hernandez  <aldyh@redhat.com>
10704
10705         * config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
10706         (powerpc-*-eabisimaltivec*): Same.
10707
10708         * config/rs6000/t-ppcendian: New.
10709
10710 2002-03-04  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
10711
10712         * c4x-protos.h, c4x.h, c4x.c, c4x.md: Add new functions
10713         nonimmediate_src_operand and nonimmediate_lsrc_operand to
10714         disallow ZERO_EXTEND with CONST_INT or CONST_DOUBLE.
10715
10716 2002-03-03  Richard Henderson  <rth@redhat.com>
10717
10718         * toplev.c (rest_of_decl_compilation): Revert last two changes.
10719
10720 2002-03-03  Zack Weinberg  <zack@codesourcery.com>
10721
10722         * emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
10723         print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
10724         tree.c, config/m68k/m68k.c:
10725         Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
10726         REAL_ARITHMETIC blocks unconditional.  Delete some further
10727         #ifdef blocks predicated on REAL_ARITHMETIC.
10728         * flags.h, toplev.c: Delete remaining references to
10729         flag_pretend_float.
10730
10731         * doc/invoke.texi: Remove documentation of -fpretend-float.
10732         * doc/tm.texi: Describe the various REAL_* macros as provided by
10733         real.h, not by the target configuration files.
10734
10735         * config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
10736         config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
10737         config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
10738         config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
10739         config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
10740         config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
10741         config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
10742         config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
10743         config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
10744         config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
10745         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
10746         config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
10747         config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
10748         config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
10749         config/xtensa/xtensa.h:
10750         Do not define, undefine, or mention in comments any of
10751         REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
10752         REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
10753         REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
10754         REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
10755         REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
10756         REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
10757         REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
10758         REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
10759         REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
10760
10761 2002-03-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10762
10763         * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,
10764         convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h,
10765         i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h,
10766         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
10767         pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h,
10768         stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD):
10769         Delete.
10770         * defaults.h (BITS_PER_WORD): Define.
10771         * doc/tm.texi (BITS_PER_WORD): Document default value.
10772
10773         * 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h,
10774         m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c,
10775         stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete.
10776
10777 2002-03-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10778
10779         * attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
10780         lieu of explicit sizeof/sizeof.
10781         * i386.c (override_options, ix86_init_mmx_sse_builtins,
10782         ix86_expand_builtin): Likewise.
10783         * mips.c (mips_add_gc_roots): Likewise.
10784         * mmix.c (mmix_output_condition): Likewise.
10785         * rs6000.c (rs6000_override_options, altivec_expand_builtin,
10786         altivec_init_builtins): Likewise.
10787         * sparc.c (mark_ultrasparc_pipeline_state): Likewise.
10788         * cppexp.c (Nsuff, parse_number): Likewise.
10789         * cppinit.c (builtin_array_end): Likewise.
10790         * gcc.c (n_default_compilers, process_command): Likewise.
10791         * genpreds.c (output_predicate_decls): Likewise.
10792         * ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
10793         * lcm.c (N_ENTITIES): Likewise.
10794         * stor-layout.c (set_sizetype): Likewise.
10795
10796 2002-03-03  Richard Henderson  <rth@redhat.com>
10797
10798         * toplev.c (rest_of_decl_compilation): Do not invoke make_decl_rtl
10799         for types or labels.
10800
10801 2002-03-03  Richard Henderson  <rth@redhat.com>
10802
10803         * c-decl.c (start_decl): Initialized variables are not common.
10804
10805 2002-03-02  Per Bothner  <per@bothner.com>
10806
10807         * gcc.c (option_map):  Suport new --bootclasspath option.
10808         --CLASSPATH is now just an alias for --classpath.
10809
10810 2002-03-02  Richard Henderson  <rth@redhat.com>
10811
10812         * config/i386/i386.h (ix86_expand_prologue): Do not emit pic register
10813         load if "internal" visibility.
10814         * doc/extend.texi: Document visibility meanings.
10815
10816 2002-03-02  Richard Henderson  <rth@redhat.com>
10817
10818         * config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies
10819         to functions as well.
10820
10821 2002-03-02  Richard Henderson  <rth@redhat.com>
10822
10823         * attribs.c (handle_alias_attribute): Don't call assemble_alias.
10824         (handle_visibility_attribute): Don't call assemble_visibility.
10825         * toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
10826         without asmspec.  Invoke assemble_alias when needed.
10827         * varasm.c (maybe_assemble_visibility): New.
10828         (assemble_start_function, assemble_variable, assemble_alias): Use it.
10829
10830 2002-03-02  Richard Henderson  <rth@redhat.com>
10831
10832         * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
10833         invoke ENCODE_SECTION_INFO with first call flag.
10834
10835         * config/darwin-protos.h, config/darwin.c, config/darwin.h,
10836         config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
10837         config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h,
10838         config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
10839         config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
10840         config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
10841         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
10842         config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
10843         config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
10844         config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
10845         config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
10846         config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
10847         config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
10848         config/m68hc11/m68hc11.h, config/m88k/m88k.h,
10849         config/mcore/mcore-protos.h, config/mcore/mcore.c,
10850         config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
10851         config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
10852         config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
10853         config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
10854         config/sh/sh.h, config/sparc/sparc.h,
10855         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
10856         config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
10857         config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
10858         FIRST argument.  As needed, examine it and do nothing.
10859
10860         * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h,
10861         config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
10862         config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
10863
10864         * config/arm/t-pe (pe.o): Add dependencies.
10865
10866 2002-03-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10867
10868         * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
10869         cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
10870         i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
10871         mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
10872         pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
10873         vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
10874         * defaults.h (BITS_PER_UNIT): Define.
10875         * doc/tm.texi (BITS_PER_UNIT): Document default value.
10876
10877 2002-03-02  Kazu Hirata  <kazu@hxi.com>
10878
10879         * config/h8300/h8300-protos.h: Add a prototype for
10880         compute_a_shift_length.
10881         * config/h8300/h8300.c (h8300_asm_insn_count): New.
10882         (compute_a_shift_length): Likewise.
10883         (h8300_adjust_insn_length): Do not adjust insn length of shift
10884         insns.
10885         * config/h8300/h8300.md (anonymous shift patterns): Use
10886         compute_a_shift_length.
10887
10888 Sat Mar  2 06:30:14 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10889
10890         * config/sparc/sparc.c (sparc_initialize_trampoline): Use
10891         trunc_int_for_mode.
10892
10893         * emit-rtl.c (offset_address): Call update_temp_slot_address.
10894
10895 2002-03-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10896
10897         * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
10898         * doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
10899         * flags.h (flag_zero_initialized_in_bss): Declare.
10900         * toplev.c (flag_zero_initialized_in_bss): New flag.
10901         (lang_independent_options): Add flag_zero_initialized_in_bss.
10902         * tree.c (initializer_zerop): New function.
10903         * tree.h (initializer_zerop): Declare.
10904         * varasm.c (assemble_variable): If we can emit bss, put zero
10905         initializers in the bss section.
10906
10907 2002-03-02  Alan Modra  <amodra@bigpond.net.au>
10908
10909         * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
10910         like more than one symbol per .weak directive.
10911
10912 2002-03-01  Richard Henderson  <rth@redhat.com>
10913
10914         * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
10915         adjust argument_pointer by pretend_args_size.
10916         (ia64_va_start): Adjust va_start address by -pretend_args_size.
10917
10918 2002-03-01  Kazu Hirata  <kazu@hxi.com>
10919
10920         * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
10921
10922 Fri Mar  1 20:59:14 CET 2002  Jan Hubicka  <jh@suse.cz>
10923
10924         * toplev.c (rest_of_compilation): Delete dead jumptables before
10925         loop.
10926         * flow.c (delete_dead_jumptables): Make global.
10927         * rtl.h (delete_dead_jumptables): Declare.
10928
10929 2002-03-01  David Edelsohn  <edelsohn@gnu.org>
10930
10931         * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
10932         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
10933         * config/rs6000/xcoff.h (COLLECT_EXPORT_LIST): Delete.
10934
10935 2002-03-01  Kazu Hirata  <kazu@hxi.com>
10936
10937         * config/h8300/h8300-protos.h: Fix formatting.
10938         * config/h8300/h8300.c: Likewise.
10939         * config/h8300/h8300.h: Likewise.
10940
10941 2002-03-01  Kazu Hirata  <kazu@hxi.com>
10942
10943         * config/h8300/h8300.c (print_operand): Support 16-bit
10944         constant addresses.
10945         * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
10946
10947 2002-02-28  Richard Henderson  <rth@redhat.com>
10948
10949         * expmed.c (store_bit_field): Prevent generation of CONCATs;
10950         pun complex values as integers; use gen_lowpart instead of
10951         gen_rtx_SUBREG.
10952         (extract_bit_field): Likewise.
10953
10954 2002-03-01  Alan Modra  <amodra@bigpond.net.au>
10955             David Edelsohn  <edelsohn@gnu.org>
10956
10957         * doc/tm.texi (ASM_WEAKEN_DECL): Document.
10958         (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
10959         (SUPPORTS_WEAK): Likewise.
10960         * output.h (add_weak): Add tree param.
10961         * varasm.c (add_weak): Likewise.  Save decl.
10962         (struct weak_syms): Add decl field.
10963         (mark_weak_decls): New function.
10964         (init_varasm_once): ggc_add_root mark_weak_decls.
10965         (assemble_start_function): Use ASM_WEAKEN_DECL.
10966         (assemble_variable): Likewise.
10967         (assemble_alias): Likewise.
10968         (declare_weak): Pass decl to add_weak.
10969         (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
10970         (remove_from_pending_weak_list): Declare and define for
10971         ASM_WEAKEN_DECL.
10972         * c-pragma.c (handle_pragma_weak): Adjust add_weak call.
10973         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
10974         * defaults.h (SUPPORTS_WEAK): Likewise.
10975         * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
10976         .weak for code sym.  Do emit .size for descriptor sym.
10977         (ASM_DECLARE_FUNCTION_SIZE): Define.
10978         * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
10979         (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here.  Don't output
10980         .lglobl unless TARGET_XCOFF.  Formatting fixes.
10981         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
10982         .weak for code sym.
10983         (HANDLE_PRAGMA_WEAK): Remove.
10984         (ASM_WEAKEN_LABEL): Remove.
10985         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
10986
10987 2002-03-01  Jason Merrill  <jason@redhat.com>
10988
10989         * tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
10990         (TARGET_EXPR_CLEANUP): New macro.
10991
10992 2002-02-28  Steve Ellcey  <sje@cup.hp.com>
10993
10994         * doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
10995         to take ptr_extend into account as third type of extension.
10996         (SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
10997         fields used by SUBREG_PROMOTED_UNSIGNED_P.
10998         * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
10999         (SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
11000         * calls.c (precompute_arguments): Use new macro.
11001         (expand_call): Ditto.
11002         * combine.c (nonzero_bits): Ditto.
11003         (record_promoted_value): Ditto.
11004         * expr.c (store_expr): Ditto.
11005         (expand_expr): Ditto.
11006         * function.c (assign_parms): Ditto.
11007
11008 2002-02-28  Alexandre Oliva  <aoliva@redhat.com>
11009
11010         * gcc.c (init_gcc_specs): Get -static and -static-libgcc to
11011         override -shared and -shared-libgcc.
11012
11013 2002-02-28  David O'Brien  <obrien@FreeBSD.org>
11014
11015         * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
11016         of "ultrasparc".
11017         * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS.  It appears
11018         to be broken.
11019
11020 2002-02-28  Richard Henderson  <rth@redhat.com>
11021
11022         * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
11023         4 cycle latency from MM producers.
11024         (ia64_internal_sched_reorder): Likewise with pipeline flush.
11025
11026 2002-02-28  Jakub Jelinek  <jakub@redhat.com>
11027
11028         * mklibgcc.in: Don't use GNU make extension.
11029
11030 2002-02-28  Neil Booth  <neil@daikokuya.demon.co.uk>
11031
11032         * c-parse.in (STATIC): New terminal.
11033         (scspec): New non-terminal.  Update productions accordingly.
11034         (program): Remove bogus ifc / end ifc.
11035         (array_declarator): Simplify production using STATIC.
11036
11037 2002-02-28  Jim Meyering  <meyering@lucent.com>
11038
11039         * cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
11040         \a still means TARGET_BELL.
11041
11042 2002-02-28  Richard Henderson  <rth@redhat.com>
11043
11044         * haifa-sched.c (sched_emit_insn): New.
11045         (schedule_block): Use last_scheduled_insn to track last insn.
11046         * sched-int.h (sched_emit_insn): Prototype.
11047         * config/ia64/ia64.c (last_issued): Remove.
11048         (ia64_variable_issue): Don't set it.
11049         (nop_cycles_until): Use sched_emit_insn.
11050
11051 2002-02-28  Andrew MacLeod  <amacleod@redhat.com>
11052
11053         * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
11054         extended constants.
11055
11056 2002-02-28  Kazu Hirata  <kazu@hxi.com>
11057
11058         * config/h8300/h8300.c: Fix formatting.
11059         * config/h8300/h8300.h: Likewise.
11060
11061 2002-02-28  Marek Michalkiewicz  <marekm@amelek.gda.pl>
11062
11063         * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
11064         which may overwrite the high byte of the frame pointer.
11065
11066 2002-02-28  Bo Thorsen  <bo@suse.de>
11067
11068         * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
11069         (STARTFILE_SPEC): Add 64 bit files.
11070         (ENDFILE_SPEC): Likewise.
11071
11072 2002-02-28  Jason Merrill  <jason@redhat.com>
11073
11074         * c-decl.c (finish_function): Only warn about missing return
11075         statement with -Wreturn-type.
11076
11077 Don Feb 28 11:24:30 CET 2002  Jan Hubicka  <jh@suse.cz>
11078
11079         * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
11080
11081         * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
11082         PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
11083
11084 Don Feb 28 11:07:36 CET 2002  Jan Hubicka  <jh@suse.cz>
11085
11086         * basic-block.h (BB_REACHABLE): Renumber.
11087         (BB_DIRTY, BB_NEW): New flags.
11088         (clear_bb_flags): Declare.
11089         (update_life_info_in_dirty_blocks): Declare.
11090         * cfg.c (clear_bb_flags): New function.
11091         * cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
11092         * emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
11093         reorder_insns, emit_insn_after): Mark block as dirty.
11094         * flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
11095         (update_life_info_in_dirty_blocks): New function.
11096         * recog.c (apply_change_group): Dirtify block.
11097
11098         * cse.c (cse_insn): Reorder emitting of jump insn to keep
11099         cfg consistent.
11100         * gcse.c (delete_null_pointer_checks): Likewise.
11101
11102         * toplev.c (dump_file_index): Move cse2 after bp,
11103         add DFI_null
11104         (dump_file_info): Similary.
11105         (rest_of_compilation): Avoid most of CFG rebuilds;
11106         do first if converision after null pointer checks, do cse2
11107         after branch prediction; avoid full liveness rebuild after
11108         initializing subregs.
11109         * invoke.texi (-d options): Document -du, renumber.
11110
11111         * cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
11112         (notice_new_block): Do not set BB_UPDATE_LIFE.
11113         (try_forward_edges, merge_blocks_move_predecessor_nojumps,
11114          merge_blocks_move_successor_nojumps, merge_blocks,
11115          try_crossjump_to_edge): Likewise.
11116         (try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
11117         * cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
11118         * ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
11119         (merge_of_block): Do not use life_data_ok.
11120         (find_if_case_1): Do not use SET_UPDATE_LIFE.
11121         (if_convert): Use BB_DIRTY mechanizm to update life.
11122         * lcm.c (optimize_mode_switching): Update
11123         update_life_info_in_dirty_blocks
11124
11125 2002-02-28  Neil Booth  <neil@daikokuya.demon.co.uk>
11126
11127         * Makefile.in (integrate.o): Update.
11128         * c-decl.c (copy_lang_decl): Rename.
11129         * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
11130         * integrate.c: Include langhooks.h.
11131         (copy_decl_for_inlining): Update to use langhook.
11132         * langhooks-def.h (lhd_do_nothing_t,
11133         LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
11134         (LANG_HOOKS_INITIALIZER): Update.
11135         * langhooks.c (lhd_do_nothing_t): New.
11136         * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
11137         * tree.h (copy_lang_decl): Remove.
11138 objc:
11139         * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
11140
11141 2002-02-27  Andrew MacLeod  <amacleod@redhat.com>
11142
11143         * dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
11144         POST_DEC, and POST_MODIFY.
11145
11146 2002-02-27  Zack Weinberg  <zack@codesourcery.com>
11147
11148         * c-typeck.c (digest_init): Remove unused parameter; all
11149         callers changed.
11150
11151 2002-02-27  Geoffrey Keating  <geoffk@redhat.com>
11152
11153         * expmed.c (expand_shift): Correctly test for low part of a
11154         subreg.
11155
11156 2002-02-27  Ulrich Weigand  <uweigand@de.ibm.com>
11157
11158         * config/s390/s390.c (s390_chunkify_pool): Do not confuse
11159         insn UIDs with insn addresses.
11160
11161 2002-02-27  Zack Weinberg  <zack@codesourcery.com>
11162
11163         * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
11164         c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
11165         cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
11166         builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
11167         gcc.c, toplev.c: Delete code implementing -traditional mode.
11168
11169         * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
11170         doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
11171         Document removal of -traditional mode for compilation, and
11172         remove documentation only relevant to that mode.
11173
11174         * config/nextstep.h, config/ptx4.h, config/svr4.h,
11175         config/convex/convex.h, config/d30v/d30v.h,
11176         config/i386/dgux.h, config/i386/osf1elf.h,
11177         config/i386/osfelf.h, config/i386/osfrose.h,
11178         config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
11179         config/m68k/hp310.h, config/m88k/dgux.h,
11180         config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
11181         config/m88k/m88k.h, config/m88k/openbsd.h,
11182         config/mips/abi64.h, config/mips/osfrose.h,
11183         config/mips/svr4-5.h, config/mips/svr4-t.h,
11184         config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
11185         config/stormy16/stormy16.h: Remove all references to
11186         -traditional from target specs.  Delete all mention of the
11187         no-longer-necessary TRADITIONAL_RETURN_FLOAT macro.  Also
11188         delete a couple of commented-out definitions of
11189         DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
11190         to -traditional.
11191
11192         * system.h: Poison TRADITIONAL_RETURN_FLOAT.
11193         * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
11194
11195 2002-02-27  Zack Weinberg  <zack@codesourcery.com>
11196
11197         * mklibgcc.in: Don't use \n in a line subject to
11198         interpretation by echo.
11199
11200 2002-02-27  Graham Stott  <grahams@redhat.com>
11201
11202         * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
11203         Constify NAME.
11204
11205         * loop.c (prescan_loop): Handle PARALLEL.
11206
11207         * unroll.c (loop_iterations): Return 0 if the add_val for
11208         a BIV is REG.
11209
11210         * final.c (output_operand_lossage): Constify PFX_STR.
11211
11212         * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
11213
11214 Wed Feb 27 10:45:19 CET 2002  Jan Hubicka  <jh@suse.cz>
11215
11216         * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
11217         * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
11218
11219 Wed Feb 27 10:39:20 CET 2002  Jan Hubicka  <jh@suse.cz>
11220
11221         * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
11222
11223 2002-02-27  Neil Booth  <neil@daikokuya.demon.co.uk>
11224
11225         * cpplex.c (_cpp_lex_token): Handle directives in macro
11226         arguments.
11227         * cpplib.c (_cpp_handle_directive): Save and restore state
11228         if parsing macro args when entering a directive.
11229         * cppmacro.c (collect_args): No need to handle directives
11230         in macro arguments.
11231         (enter_macro_context, replace_args): Use the original macro
11232         definition in case it was redefined whilst collecting arguments.
11233 doc:
11234         * cpp.texi: Update.
11235
11236 2002-02-26  David Edelsohn  <edelsohn@gnu.org>
11237
11238         * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
11239         * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
11240         * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
11241         method on AIX.
11242         * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
11243         (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
11244         (load_toc_v4_PIC_2): Same.
11245
11246 2002-02-26  Alan Modra  <amodra@bigpond.net.au>
11247
11248         * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
11249
11250 2002-02-26  Richard Henderson  <rth@redhat.com>
11251
11252         * config/alpha/alpha.md (ashldi_se): Re-enable.
11253
11254 2002-02-26  Richard Henderson  <rth@redhat.com>
11255
11256         * config/alpha/alpha.c (alpha_encode_section_info): Examine
11257         MODULE_LOCAL_P; improve commentary.
11258
11259 2002-02-26  Zack Weinberg  <zack@codesourcery.com>
11260
11261         * doc/cpp.texi: Clarify documentation of relationship between
11262         #line and #include.
11263
11264 2002-02-26  Kazu Hirata  <kazu@hxi.com>
11265
11266         * config/h8300/h8300-protos.h: Update the prototype for
11267         compute_logical_op_length.  Add the prototype for
11268         compute_logical_op_cc.
11269         * config/h8300/h8300.c (compute_logical_op_length): Figure out
11270         code from operands.
11271         (compute_logical_op_cc): New.
11272         * config/h8300/h8300.md: Combine all the logical op patterns
11273         in HImode and SImode.  Use compute_logical_op_cc.
11274
11275 2002-02-26  Kelley Cook  <kelleycook@comcast.net>
11276
11277         * config/i386/i386.c (print_operand): Don't append ATT-style
11278         length suffixs to x87 opcodes when in Intel mode.
11279
11280 2002-02-26  Ryan T. Sammartino <ryants@shaw.ca>
11281
11282         * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
11283         (init_emit_once): Update calls.
11284         * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
11285         (init_syntax_once): Prototype.
11286
11287 2002-02-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11288
11289         * pa-linux.h (LIB_SPEC): Update definition.
11290         * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
11291
11292 2002-02-26  Richard Henderson  <rth@redhat.com>
11293
11294         * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
11295         if we emitted a stop bit.
11296
11297 2002-02-26  Jakub Jelinek  <jakub@redhat.com>
11298
11299         * configure.in (libgcc_visibility): Substitute.
11300         * configure: Rebuilt.
11301         * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
11302         defined symbols .hidden.
11303
11304 2002-02-26  Jakub Jelinek  <jakub@redhat.com>
11305
11306         * attribs.c (c_common_attribute_table): Add visibility.
11307         (handle_visibility_attribute): New function.
11308         * varasm.c (assemble_visibility): New function.
11309         * output.h (assemble_visibility): Add prototype.
11310         * tree.h (MODULE_LOCAL_P): Define.
11311         * crtstuff.c (__dso_handle): Use visibility attribute.
11312         * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
11313         for MODULE_LOCAL_P symbols too.
11314         * config/ia64/ia64.c (ia64_encode_section_info): Handle
11315         MODULE_LOCAL_P symbols the same way as local symbols.
11316         Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
11317         into .sdata/.sbss by the user.
11318         * doc/extend.texi (Function Attributes): Document visibility
11319         attribute.
11320
11321 2002-02-26  Jakub Jelinek  <jakub@redhat.com>
11322
11323         PR debug/5770
11324         * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
11325         STRING_CST initializer spanning the whole variable without
11326         embedded zeros.
11327         If expand_expr returned MEM, don't use it.
11328
11329 2002-02-26  Alexandre Oliva  <aoliva@redhat.com>
11330
11331         * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
11332         generate a die for the lexical block.
11333
11334 2002-02-26  Kazu Hirata  <kazu@hxi.com>
11335
11336         * config/h8300/h8300-protos.h: Add a prototype for
11337         compute_logical_op_length.
11338         * config/h8300/h8300.c (compute_logical_op_length): New.
11339         * config/h8300/h8300.md (anonymous logical patterns): Use
11340         compute_logical_op_length for length.
11341
11342 2002-02-26  Aldy Hernandez  <aldyh@redhat.com>
11343
11344         * dwarf2out.c (modified_type_die): Do not call type_main_variant
11345         for vectors.
11346         (gen_type_die): Same.
11347
11348         * attribs.c (handle_vector_size_attribute): Set debug information.
11349
11350 2002-02-26  Daniel Egger  <degger@fhm.edu>
11351
11352         * config/rs6000/rs6000.md: Swap define_insn attributes to
11353         fix incorrect generation of merge high instructions instead
11354         of merge low.
11355
11356 2002-02-26  Aldy Hernandez  <aldyh@redhat.com>
11357
11358         * c-typeck.c (really_start_incremental_init): Use
11359         bitsize_zero_node for vectors.
11360
11361 2002-02-26  Aldy Hernandez  <aldyh@redhat.com>
11362
11363         * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
11364         ("*set_vrsave_internal"): Same.
11365
11366 2002-02-25  Richard Henderson  <rth@redhat.com>
11367
11368         * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
11369         in EXPAND_SUM case.  Use host_integerp/tree_low_cst.
11370
11371 2002-02-25  Jakub Jelinek  <jakub@redhat.com>
11372
11373         PR target/5755
11374         * config/i386/i386.c (ix86_return_pops_args): Only pop
11375         fake structure return argument if it was passed on the stack.
11376
11377 2002-02-25  Jason Merrill  <jason@redhat.com>
11378
11379         * attribs.c (decl_attributes): Also re-layout PARM_DECL and
11380         RESULT_DECL.
11381
11382 2002-02-25  Alexandre Oliva  <aoliva@redhat.com>
11383
11384         * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
11385         link with shared_name only.
11386         * doc/invoke.texi (Link Options): Document new behavior.
11387
11388 2002-02-25  Aldy Hernandez  <aldyh@redhat.com>
11389
11390         * c-typeck.c (push_init_level): Handle vectors.
11391
11392 2002-02-25  Alexandre Oliva  <aoliva@redhat.com>
11393
11394         * config/sparc/sparc.c (const64_high_operand): Zero-extend
11395         operands of SPARC_SETHI_P.
11396         (input_operand): Likewise.
11397         (sparc_emit_set_const32): Likewise.
11398         * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
11399         (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
11400         (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'.  Add `N' as SETHI.
11401         * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
11402         (movdi_insn_sp64_vis): Likewise.
11403         (movdi split, movdf split): Use SETHI32.
11404         * doc/md.texi: Document SPARC constraints L, M and N.
11405
11406 2002-02-25  Aldy Hernandez  <aldyh@redhat.com>
11407
11408         * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
11409         ("*set_vrsave_internal"): use mfspr for Darwin.
11410
11411         * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
11412         gen_get_vrsave_internal.
11413
11414 Sun Feb 24 16:38:56 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11415
11416         * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
11417
11418 2002-02-24  Neil Booth  <neil@daikokuya.demon.co.uk>
11419
11420         * cpplex.c (cpp_interpret_charconst): Get signedness or
11421         otherwise of wide character constants correct.
11422         * cppexp.c (lex): Get signedness of wide charconsts correct.
11423
11424 Sun Feb 24 07:41:31 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11425
11426         * optabs.c (widen_operand): Only call convert_modes for
11427         promoted SUBREG if signedness matches.
11428         * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
11429
11430 2002-02-23  Neil Booth  <neil@daikokuya.demon.co.uk>
11431
11432         * cpplib.c (glue_header_name): Use local buffer to build up
11433         header name.
11434
11435 2002-02-23  Neil Booth  <neil@daikokuya.demon.co.uk>
11436
11437         * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
11438
11439 2002-02-23  Kazu Hirata  <kazu@hxi.com>
11440
11441         * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
11442         H8/300[HS] separately.
11443         * config/h8300/h8300.md: Remove the early clobber constraint
11444         from bit field patterns.
11445
11446 2002-02-23  Kazu Hirata  <kazu@hxi.com>
11447
11448         * config/h8300/h8300.md (mulqihi3): Tighten predicates to
11449         register_operand.
11450         (mulhisi3): Likewise.
11451         (umulqisi3): Likewise.
11452         (umulhisi3): Likewise.
11453
11454 2002-02-23  Neil Booth  <neil@daikokuya.demon.co.uk>
11455
11456         * cppinit.c (output_deps): Correct test for stdout output.
11457         (init_dependency_output): Cure warning.
11458
11459 Sat Feb 23 08:42:47 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11460
11461         * expr.c (store_expr): When converting expression to promoted
11462         equivalent type, allow using SUBREG_REG of TARGET as the target
11463         of the expansion of EXP.
11464         * loop.c (basic_induction_var, case SUBREG): Always look inside.
11465         * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
11466         (alpha_emit_set_const): Handle SImode when can't make new pseudos.
11467         (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
11468         * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
11469
11470 2002-02-23  Joseph S. Myers  <jsm28@cam.ac.uk>
11471
11472         * doc/contribute.texi, doc/extend.texi, doc/install.texi,
11473         doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
11474         doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
11475
11476 2002-02-23  Jakub Jelinek  <jakub@redhat.com>
11477
11478         PR optimization/5747
11479         * loop.c (scan_loop): Update reg info if move_movables created new
11480         pseudos.
11481
11482 2002-02-23  David Edelsohn  <edelsohn@gnu.org>
11483
11484         * gcc.c (init_gcc_spec): Revert last change.
11485
11486 2002-02-23  David Edelsohn  <edelsohn@gnu.org>
11487
11488         * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
11489         gpc_reg_operand constraint.
11490
11491 2002-02-23  Alan Modra  <amodra@bigpond.net.au>
11492
11493         * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
11494         Simplify comparison of `low'.
11495         (add_operand): Fix formatting.
11496         (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
11497         (mask_operand): Disallow mask to wrap in 64-bit mode.
11498         (rs6000_stack_info): Remove redundant test setting push_p.
11499         (output_toc): Fix formatting.
11500         * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
11501         cc_reg_not_cr0_operand constraint.
11502         (booldi3, boolcdi3 splitters): Same.
11503
11504 2002-02-23  Aldy Hernandez  <aldyh@redhat.com>
11505
11506         * config/rs6000/altivec.h: Add extra level of parentheses on casts.
11507
11508 2002-02-22  David Edelsohn  <edelsohn@gnu.org>
11509
11510         * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
11511         gcc invoked with -shared-libgcc.
11512
11513 2002-02-22  Jakub Jelinek  <jakub@redhat.com>
11514
11515         PR c++/5748
11516         * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
11517         decl if any of elements was TREE_USED.
11518
11519 2002-02-22  Alexandre Oliva  <aoliva@redhat.com>
11520
11521         * config/sparc/sol2.h: Don't include sys/mman.h.
11522         * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
11523         (arith_4096_operand): Don't throw high bits away.
11524         (const64_operand): Take sign extension of CONST_INTs into account.
11525         (const64_high_operand, sparc_emit_set_const32): Likewise.
11526         (GEN_HIGHINT64): Likewise.
11527         (sparc_emit_set_const64_quick1): Likewise.
11528         (const64_is_2insns): Likewise.
11529         (print_operand): Use trunc_int_for_mode for sign extension.
11530         * config/sparc/sparc.h (SMALL_INT32): Likewise.
11531         * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
11532         chars.  Assume CONST_INT is already properly sign-extended.
11533         (movdi split): Sign-extend each SImode part.
11534         (andsi3 split): Don't mask high bits off, so that result
11535         remains properly sign-extend.
11536         (iorsi3 split): Likewise.
11537         (xorsi3 split): Likewise.
11538
11539 2002-02-22  Richard Sandiford  <rsandifo@redhat.com>
11540
11541         * fold-const.c (fold): Fix typo in comments.
11542
11543 2002-02-21  Diego Novillo  <dnovillo@redhat.com>
11544
11545         * Makefile.in (langhooks.o): Update dependencies.
11546
11547 2002-02-21  Diego Novillo  <dnovillo@redhat.com>
11548
11549         * langhooks.c: Include flags.h.
11550
11551 2002-02-21  Aldy Hernandez  <aldyh@redhat.com>
11552
11553         * testsuite/gcc.dg/attr-alwaysinline.c: New.
11554
11555         * c-common.c (c_common_post_options): Set inline trees by
11556         default.
11557
11558         * doc/extend.texi (Function Attributes): Document always_inline
11559         attribute.
11560         Update documentation about inlining when not optimizing.
11561
11562         * cp/decl.c (duplicate_decls): Merge always_inline attribute.
11563
11564         * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
11565         unless DECL_ALWAYS_INLINE.
11566
11567         * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
11568         unless DECL_ALWAYS_INLINE.
11569         (c_disregard_inline_limits): Disregard if always_inline set.
11570
11571         * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
11572         Disregard if always_inline set.
11573         (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
11574         unless DECL_ALWAYS_INLINE.
11575
11576         * attribs.c (handle_always_inline_attribute): New.
11577         (c_common_attribute_table): Add always_inline.
11578
11579         * config/rs6000/altivec.h: Add prototypes for builtins
11580         requiring the always_inline attribute.
11581
11582 2002-02-21  Eric Christopher  <echristo@redhat.com>
11583
11584         * expmed.c (store_bit_field): Try to simplify the subreg
11585         before generating a new one when when the mode size of
11586         value is less than maxmode.
11587
11588 2002-02-21  Richard Henderson  <rth@redhat.com>
11589
11590         * emit-rtl.c (offset_address): Use simplify_gen_binary rather
11591         than gen_rtx_PLUS to form the sum.
11592         * explow.c (force_reg): Rearrange to not allocate new pseudo
11593         when force_operand returns a register.
11594         * expr.c (expand_assignment): Allow offset_rtx expansion to
11595         return a sum.  Do not force addresses into registers.
11596         (expand_expr): Likewise.
11597         * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
11598         to canonicalize arithmetic that didn't simpify.
11599         (simplify_plus_minus): New argument force; update
11600         all callers.  Don't split CONST unless we can do something with it,
11601         and wouldn't lose the constness of the operands.
11602
11603         * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
11604         that we generated earlier.
11605
11606 2002-02-21  Tom Tromey  <tromey@redhat.com>
11607
11608         * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
11609         (output_line_info): Use constant `1', with a long explanatory
11610         comment.
11611         * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
11612
11613 Thu Feb 21 22:43:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
11614
11615         * jump.c (redirect_jump): If old label has no UID, don't try to
11616         delete it.
11617
11618 Thu Feb 21 21:17:21 2002  J"orn Rennecke <joern.rennecke@superh.com>
11619
11620         * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
11621         If input is constant, do shifts at compile time.
11622
11623 2002-02-21  Joseph S. Myers  <jsm28@cam.ac.uk>
11624
11625         * doc/extend.texi: Fix some more overfull hboxes.
11626
11627 2002-02-21  Jakub Jelinek  <jakub@redhat.com>
11628
11629         PR optimization/4994
11630         * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
11631         register moves.
11632
11633 2002-02-21  Jakub Jelinek  <jakub@redhat.com>
11634
11635         PR c++/4574
11636         * expr.h (expand_and): Add mode argument.
11637         * expmed.c (expand_and): Add mode argument.
11638         (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
11639         * expr.c (store_field, expand_expr, do_store_flag): Likewise.
11640         * except.c (expand_builtin_extract_return_addr): Likewise.
11641         * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
11642         * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
11643         * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
11644         Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
11645         * config/c4x/c4x.md: Use GEN_INT (x) instead of
11646         gen_rtx (CONST_INT, VOIDmode, x).
11647
11648 2002-02-21  Jakub Jelinek  <jakub@redhat.com>
11649
11650         PR c/4697:
11651         * stmt.c (warn_if_unused_value): Move side effects test once more.
11652
11653 2002-02-20  Torbjorn Granlund  <tege@swox.com>
11654
11655         * config/avr/avr.md: Add more patterns for mized-mode add and subtract
11656         (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
11657
11658 Thu Feb 21 16:20:46 2002  Alexandre Oliva  <aoliva@redhat.com>
11659
11660         * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
11661         SUBREG or ZERO_EXTEND.
11662
11663 Thu Feb 21 15:35:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
11664
11665         * sh.h (current_function_anonymous_args): Remove.
11666         (SETUP_INCOMING_VARARGS): Don't set it - just check that one
11667         of current_function_varargs and current_function_stdarg is set.
11668         * sh.c (sh_expand_prologue): Check current_function_varargs /
11669         current_function_stdarg / TARGET_SH5 instead of
11670         current_function_anonymous_args.
11671
11672         * sh64.h (TARGET_VERSION): Define.
11673
11674 2002-02-20  David Edelsohn  <edelsohn@gnu.org>
11675
11676         * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
11677         VRSAVE_REGNO on TARGET_ALTIVEC.
11678
11679 2002-02-20  Alan Modra  <amodra@bigpond.net.au>
11680
11681         * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
11682         bits of SImode const_int.
11683         (includes_rshift_p): Likewise.
11684         (print_operand): Call mask_operand and mask64_operand with correct
11685         mode.
11686         (rs6000_output_function_epilogue): Pad traceback table to word.
11687         * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
11688         (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
11689         mask64_operand with correct mode.
11690         (FUNCTION_ARG_REGNO_P): Correct parentheses.
11691
11692 2002-02-20  Jakub Jelinek  <jakub@redhat.com>
11693
11694         PR debug/4461
11695         * varasm.c (get_pool_constant_mark): New.
11696         * rtl.h (get_pool_constant_mark): Add prototype.
11697         * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
11698         be represented if it has not been output.
11699
11700 2002-02-20  Alexandre Oliva  <aoliva@redhat.com>
11701
11702         * combine.c (do_SUBST): Sanity check substitutions of
11703         CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
11704         (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
11705         CONST_INT into its operand.
11706         (known_cond): Likewise, for ZERO_EXTEND.
11707         * simplify-rtx.c (simplify_unary_operation): Fix condition to
11708         allow for simplification of wide modes.  Reject CONST_INTs in
11709         ZERO_EXTEND when their actual mode is not given.
11710
11711 2002-02-20  Alexandre Oliva  <aoliva@redhat.com>
11712
11713         * c-decl.c (pushdecl): If no global declaration is found for an
11714         extern declaration in block scope, try a limbo one.
11715
11716 2002-02-20  Jakub Jelinek  <jakub@redhat.com>
11717
11718         PR c++/4401
11719         * c-common.c (pointer_int_sum): Moved from...
11720         * c-typeck.c (pointer_int_sum): ...here.
11721         * c-common.h (pointer_int_sum): Add prototype.
11722
11723 2002-02-20  Jakub Jelinek  <jakub@redhat.com>
11724
11725         PR c++/5713
11726         * c-decl.c (duplicate_decls): Return 0 if issued error about
11727         redeclaration.
11728
11729 2002-02-20  Roger Sayle  <roger@eyesopen.com>
11730             Jakub Jelinek  <jakub@redhat.com>
11731
11732         PR c/4389
11733         * tree.c (host_integerp): Ensure that the constant integer is
11734         representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
11735         when pos is zero or non-zero respectively.  Clarify comment.
11736         * c-format.c (check_format_info_recurse): Fix host_integerp
11737         usage; the pos argument should be zero when assigning to a
11738         signed HOST_WIDE_INT.
11739
11740 2002-02-20  Richard Henderson  <rth@redhat.com>
11741
11742         * config/i386/i386.c (ix86_expand_vector_move): Use the mode
11743         of the operand, rather than assuming TImode.
11744         (ix86_expand_binop_builtin): Cope with commutative patterns
11745         using nonimmediate_operand for both operands.
11746         (ix86_expand_timode_binop_builtin): Likewise.
11747         (ix86_expand_store_builtin): Validate operand 1.
11748         (ix86_expand_unop1_builtin): Likewise.
11749
11750 2002-02-20  Philip Blundell  <philb@gnu.org>
11751
11752         PR 5705
11753         * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
11754
11755 2002-02-20  Richard Henderson  <rth@redhat.com>
11756
11757         PR c/5615
11758         * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
11759
11760 2002-02-20  Tom Tromey  <tromey@redhat.com>
11761
11762         * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
11763         * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
11764         * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
11765         * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
11766         * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
11767         unconditionally.
11768
11769 Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
11770
11771         * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
11772           for (const_int 0) in X not just INTVAL.
11773
11774 2002-02-20  Joseph S. Myers  <jsm28@cam.ac.uk>
11775
11776         * doc/extend.texi: Avoid or reduce overfull hboxes.
11777
11778 2002-02-20  Diego Novillo  <dnovillo@redhat.com>
11779
11780         * expmed.c (store_bit_field): Do not store bit fields using SUBREG
11781         operations if the field does not start at a mode boundary.
11782
11783 2001-02-20      Joel Sherrill <joel@OARcorp.com>
11784
11785         * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
11786         config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
11787         Also done for -Acpu and -Amachine.
11788
11789 2002-02-20  Neil Booth  <neil@daikokuya.demon.co.uk>
11790
11791         * cppinit.c (init_dependency_output): Take deps output file
11792         from -o if none given with -MF.  Suppress normal output.
11793         * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
11794         * doc/cpp.texi, doc/invoke.texi: Update.
11795
11796 2002-02-19  Zack Weinberg  <zack@codesourcery.com>
11797
11798         * toplev.c (output_quoted_string): Write unprintable
11799         characters with octal escapes.
11800
11801 2002-02-19  David Edelsohn  <edelsohn@gnu.org>
11802
11803         * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
11804         really_call_used[VRSAVE_REGNO] if not Altivec.
11805
11806 2002-02-19  Alan Modra  <amodra@bigpond.net.au>
11807
11808         * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
11809         MODE_MASK.
11810         (constant_pool_expr_1): Fix formatting.
11811         (rs6000_legitimize_reload_address): Likewise.
11812
11813 Tue Feb 19 20:13:57 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11814
11815         * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
11816         now that we have one.
11817
11818 2002-02-19  Zack Weinberg  <zack@codesourcery.com>
11819
11820         * tree.h (struct tree_common): Remove aux.  Add unused_0 at
11821         end of first block of bitfields (which was only seven bits);
11822         rename dummy to unused_1; remove comment which is no longer true.
11823
11824 2002-02-19  Gaute B Strokkenes <gs234@cam.ac.uk>
11825
11826         * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
11827
11828 2002-02-19  Philip Blundell  <pb@nexus.co.uk>
11829
11830         PR 5399
11831         * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
11832         if generating PIC.
11833
11834         PR 5054
11835         * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
11836         arm_is_longcall_p rather than inspecting call-type cookie
11837         directly.
11838         (call_value_insn) [TARGET_THUMB]: Likewise.
11839
11840 2002-02-19  Graham Stott  <grahams@redhat.com>
11841
11842         * config/i386/i386.c (ix86_expand_builtin): Fix typo.
11843
11844 2002-02-19  David Edelsohn  <edelsohn@gnu.org>
11845
11846         * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
11847         ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
11848         (FP_SAVE_INLINE): Delete.
11849
11850         * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
11851         * config/rs6000/eabi.asm: Remove ABI save restore routines.
11852         * config/rs6000/t-ppccomm: Build crtsavres.o.
11853         * config/rs6000/crtsavres.asm: New file.
11854
11855 2002-02-19  Philip Blundell  <philb@gnu.org>
11856
11857         * config/arm/arm.c (use_return_insn): Don't reject interrupt
11858         functions.
11859         (arm_compute_save_reg_mask): Save LR for interrupt functions too.
11860         (output_return_instruction): Allow interrupt functions to return with
11861         ldmfd sp!, {... pc}^.  Use LDR to restore any single register.
11862         (arm_expand_prologue): Subtract 4 before stacking LR in an
11863         interrupt function.
11864
11865 2002-02-19  Philip Blundell  <pb@nexus.co.uk>
11866
11867         * config/arm/arm.c (arm_encode_call_attribute): Operate on any
11868         decl, not just FUNCTION_DECL.
11869         (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
11870         (arm_assemble_integer): Likewise.
11871         * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
11872         marked local.
11873
11874 2002-02-19  matthew green  <mrg@eterna.com.au>
11875
11876         * config.gcc (sparc-*-netbsdelf*): Enable target.
11877         (sparc64-*-netbsd*): New target.
11878         * config/sparc/netbsd-elf.h: New file.
11879         * config/sparc/t-netbsd64: New file.
11880
11881 2002-02-19  Gaute B Strokkenes <gs234@cam.ac.uk>
11882
11883         * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
11884
11885 2002-02-19  Ryan T. Sammartino <ryants@shaw.ca>
11886
11887         * doc/invoke.texi: explicitly list the style guidelines that
11888         -Weffc++ checks for.
11889
11890 Tue Feb 19 12:37:23 CET 2002  Jan Hubicka  <jh@suse.cz>
11891
11892         * regmove.c (regmove_optimize): Avoid increasing of register pressure.
11893
11894 2002-02-19  Neil Booth  <neil@daikokuya.demon.co.uk>
11895
11896         PR other/5718
11897         * gcc.c (cpp_unique_options): Treat -o as indicating object file
11898         only if not -E.  If -E, pass -o through to the preprocessor.
11899
11900 2002-02-19  Kazu Hirata  <kazu@hxi.com>
11901
11902         * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
11903         register number with an appropriate macro.
11904
11905 2002-02-19  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
11906
11907         * doc/rtl.texi (Constants): Close @code tag.
11908
11909 2002-02-19  Aldy Hernandez  <aldyh@redhat.com>
11910
11911         * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
11912         ("mmx_uavgv4hi3"): Same.
11913         ("pmulhrwv4hi3"): Same.
11914
11915         * tree-inline.c (walk_tree): Handle vectors.
11916
11917         * c-common.c (constant_expression_warning): Handle vectors.
11918         (overflow_warning): Same.
11919
11920         * sched-deps.c (sched_analyze_2): Handle vectors.
11921
11922         * rtlanal.c (rtx_unstable_p): Handle vectors.
11923         (rtx_varies_p): Same.
11924         (count_occurrences): Same.
11925         (regs_set_between_p): Same.
11926         (modified_between_p): Same.
11927         (modified_in_p): Same.
11928         (volatile_insn_p): Same.
11929         (volatile_refs_p): Same.
11930         (side_effects_p): Same.
11931         (may_trap_p): Same.
11932         (inequality_comparisons_p): Same.
11933         (replace_regs): Same.
11934         (computed_jump_p_1): Same.
11935
11936         * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
11937         argument.
11938         (inner_mode_array): New.
11939         (copy_rtx): Handle vectors.
11940         (copy_most_rtx): Same.
11941         (rtx_equal_p): Same.
11942         (get_mode_alignment): Adjust for vectors.
11943
11944         * resource.c (mark_referenced_resources): Handle vectors.
11945         (mark_set_resources): Same.
11946
11947         * reload1.c (eliminate_regs): Handle vectors.
11948         (elimination_effects): Same.
11949         (scan_paradoxical_subregs): Same.
11950
11951         * reload.c (subst_reg_equivs): Handle vectors.
11952
11953         * regrename.c (scan_rtx): Handle vectors.
11954
11955         * regclass.c (reg_scan_mark_refs): Handle vectors.
11956
11957         * recog.c (find_single_use_1): Handle vectors.
11958
11959         * local-alloc.c (equiv_init_varies_p): Handle vectors.
11960         (contains_replace_regs): Same.
11961         (memref_referenced_p): Same.
11962
11963         * integrate.c (copy_rtx_and_substitute): Handle vectors.
11964         (subst_constants): Same.
11965
11966         * genattrtab.c (attr_copy_rtx): Handle vectors.
11967         (encode_units_mask): Same.
11968         (clear_struct_flag): Same.
11969         (count_sub_rtxs): Same.
11970
11971         * gcse.c (want_to_gcse_p): Handle vectors.
11972         (oprs_unchanged_p): Same.
11973         (hash_expr_1): Same.
11974         (oprs_not_set_p): Same.
11975         (expr_killed_p): Same.
11976         (compute_transp): Same.
11977         (store_ops_ok): Same.
11978
11979         * function.c (purge_addressof_1): Do not allow paradoxical subregs
11980         of vectors.
11981         (fixup_var_refs_1): Same.
11982         (instantiate_virtual_regs_1): Same.
11983
11984         * fold-const.c (operand_equal_p): Handle vectors.
11985         (fold): Same.
11986         (rtl_expr_nonnegative_p): Same.
11987
11988         * flow.c (mark_used_regs): Handle vectors.
11989
11990         * df.c (df_uses_record): Handle vectors.
11991
11992         * cselib.c (cselib_subst_to_values): Handle vectors.
11993         (cselib_mem_conflict_p): Same.
11994         (hash_rtx): Same.
11995
11996         * cse.c (canon_reg): Handle vectors.
11997         (fold_rt): Same.
11998         (cse_process_notes): Same.
11999         (count_reg_usage): Same.
12000         (canon_hash): Same.
12001
12002         * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
12003
12004         * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
12005
12006         * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
12007         (gen_rtx): Handle CONST_VECTOR.
12008         (gen_const_vector_0): New.
12009         (copy_rtx_if_shared): CONST_VECTORs can be shared.
12010         (reset_used_flags): Same.
12011         (copy_insn_1): Same.
12012         (initializer_constant_valid_p): Handle VECTOR_CST.
12013
12014         * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
12015
12016         * doc/rtl.texi (Constants): Document const_vector.
12017         (CONST0_RTX): Update for vectors.
12018         (RTL sharing): Same.
12019
12020         * print-tree.c (print_node): Add case for VECTOR_CST.
12021
12022         * tree.h (TREE_VECTOR_CST_ELTS): New.
12023         (struct tree_vector): New.
12024         (union tree_node): Add vector node.
12025         (build_vector): Add prototype.
12026
12027         * tree.def (VECTOR_CST): New.
12028
12029         * tree.c (build_vector): New.
12030
12031         * expmed.c (make_tree): Handle CONST_VECTOR.
12032
12033         * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
12034         (CONST_VECTOR_ELT): New.
12035         (CONST_VECTOR_NUNITS): New.
12036
12037         * machmode.h (GET_MODE_INNER): New.
12038         (DEF_MACHMODE): Accept 8th arg.
12039
12040         * machmode.def: Add 8th argument for vector inner mode.
12041         Add inner vector modes for vectors.
12042
12043         * rtl.def (VEC_CONST): Remove.
12044         (CONST_VECTOR): New.
12045
12046         * expr.c (clear_storage): Allow vectors.
12047         (is_zeros_p): Handle VECTOR_CST.
12048
12049         * varasm.c (output_constant_pool): Handle vectors.
12050         (rtx_const): Add veclo and vechi fields.
12051         (kind): Add RTX_VECTOR.
12052         (decode_rtx_const): Add case for vector.
12053
12054         * config/rs6000/rs6000-protos.h: Add zero_constant.
12055
12056         * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
12057         constants.  Force easy vector constants into memory.
12058         (easy_vector_constant): New.
12059         (emit_easy_vector_constant): New.
12060         (rs6000_legitimize_reload_address): Do not generate bad reloads on
12061         darwin.
12062
12063         * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
12064         instruction does.
12065         ("altivec_lvxl"): Same.
12066         (altivec_lvebx): Same.
12067         (altivec_lvehx): Same.
12068         (altivec_lvewx): Same.
12069         ("*movv4si_const0"): New.
12070         ("*movv4sf_const0"): New.
12071         ("*movv8hi_const0"): New.
12072         ("*movv16qi_const0"): New.
12073
12074 2002-02-18  Kazu Hirata  <kazu@hxi.com>
12075
12076         * config/h8300/h8300.c (notice_update_cc): Use
12077         cc_status.value2.
12078
12079 2002-02-18  Kazu Hirata  <kazu@hxi.com>
12080
12081         * config/h8300/h8300.md (divmod patterns): Change the
12082         constraints for operands[1] to register_operand.
12083
12084 2002-02-18  Kazu Hirata  <kazu@hxi.com>
12085
12086         * config/h8300/h8300-protos.h: Remove the prototype for
12087         p_operand.
12088         * config/h8300/h8300.c (p_operand): Remove.
12089         * config/h8300/h8300.md: Replace p_operand with
12090         const_int_operand.
12091
12092 2002-02-18 Philip Blundell <pb@nexus.co.uk>
12093
12094         * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
12095         comment.
12096         (output_return_instruction): Allow use of LDR to unstack
12097         return addresss even for interrupt handlers or when
12098         interworking.  If compiling for ARMv5, use interworking-safe
12099         return instructions by default.  Remove duplicated code and
12100         lengthy "strcat" sequences.
12101
12102 2002-02-18  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
12103
12104         * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
12105         (LINK_EH_SPEC): Define.
12106         * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
12107
12108 2002-02-18  Ulrich Weigand  <uweigand@de.ibm.com>
12109
12110         * config/s390/s390.c (s390_emit_prologue): Do not set the
12111         frame_related flag for call-clobbered registers.
12112
12113 Mon Feb 18 15:07:35 CET 2002  Jan Hubicka  <jh@suse.cz>
12114
12115         * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
12116         (construct_container): Fix handling of SSE operands.
12117         (ix86_expand_builtin): Fix handling of 64bit pointers.
12118         (mmx_maskmovq_rex): New pattern.
12119
12120 Mon Feb 18 11:55:55 CET 2002  Jan Hubicka  <jh@suse.cz>
12121
12122         * regrename.c (kill_set_value): Handle subregs properly.
12123
12124 2002-02-18  David Billinghurst <David.Billinghurst@riotinto.com>
12125
12126         * objc/objc-act.c (handle_impent): Remove leading '*'
12127         from objc_class_name.
12128
12129 2002-02-17  Richard Henderson  <rth@redhat.com>
12130
12131         * config/alpha/alpha.c (some_small_symbolic_operand,
12132         some_small_symbolic_operand_1, split_small_symbolic_operand,
12133         split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
12134         Handle small SYMBOL_REFs anywhere, not just inside memories.
12135         * config/alpha/alpha-protos.h: Update.
12136         * config/alpha/alpha.h (PREDICATE_CODES): Update.
12137         * config/alpha/alpha.md (small symbolic operand splitter): Update.
12138
12139 2002-02-17  Roland McGrath  <roland@frob.com>
12140
12141         * config.gcc (powerpc-*-gnu-gnualtivec*,
12142         powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
12143         * config/rs6000/gnu.h: New file.
12144         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
12145         Grok "gnu" in rs6000_abi_name.
12146         (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
12147         CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
12148         Grok -mcall-gnu analogous to -mcall-linux et al.
12149         (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
12150         LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
12151         (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
12152
12153 2002-02-17  Jakub Jelinek  <jakub@redhat.com>
12154
12155         PR c/3444:
12156         * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
12157         shortening.
12158
12159 2002-02-17  Philipp Thomas  <pthomas@suse.de>
12160
12161         * config/cris/cris.h: Undefine STARTFILE_SPEC and
12162         ENDFILE_SPEC before (re)defining them.
12163
12164 2002-02-17  Kazu Hirata  <kazu@hxi.com>
12165
12166         * config/h8300/h8300.c: Fix formatting.
12167         * config/h8300/h8300.h: Likewise.
12168
12169 2002-02-17  Philipp Thomas  <pthomas@suse.de>
12170
12171         * doc/tm.texi: Explain why empty strings should not be
12172         marked for translation.
12173
12174 2002-02-17  Philipp Thomas  <pthomas@suse.de>
12175
12176         * final.c (output_operand_lossage): Changed to accept
12177         printf style arguments. Change calls where necessary.
12178         * output.h (output_operand_lossage): Change declaration
12179         accordingly. Update copyright.
12180         * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
12181         config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
12182         Update copyright date where necessary.
12183
12184         * config/i386/i386.c (print_operand): Likewise. Remove use of
12185         sprintf.
12186
12187         * config/cris/cris.c (cris_operand_lossage): Likewise.
12188         Rename parameter so that exgettext recognizes it as
12189         translatable message.
12190         (LOSE_AND_RETURN): Rename parameter to msgid.
12191
12192 2002-02-17  Kazu Hirata  <kazu@hxi.com>
12193
12194         * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
12195         hard coded register number with an appropriate macro.
12196         (HARD_REGNO_MODE_OK): Likewise.
12197         (ARG_POINTER_REGNUM): Likewise.
12198         (STATIC_CHAIN_REGNUM): Likewise.
12199         (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
12200         * config/h8300/h8300.md (define_constants): Define more
12201         register numbers.
12202
12203 2002-02-17  Philipp Thomas  <pthomas@suse.de>
12204
12205         * config/i386/i386.h: Don't mark empty strings for translation.
12206
12207 2002-02-16  H.J. Lu <hjl@gnu.org>
12208
12209         * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
12210
12211 2002-02-16  Zack Weinberg  <zack@codesourcery.com>
12212
12213         * cppinit.c (merge_include_chains): Check for brack being
12214         NULL before attempting to merge it with qtail.
12215
12216 2002-02-16  Andrew Cagney  <ac131313@redhat.com>
12217
12218         * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
12219         DBX_DEBUG.
12220
12221 2002-02-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12222
12223         * pa/t-pa, pa/t-pro, som.h: Revert last patch.
12224
12225 2002-02-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12226
12227         * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
12228         * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
12229         * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
12230
12231 Sat Feb 16 13:48:50 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12232
12233         * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
12234         now only if !TARGET_FIX.
12235         (*movsi_nt_vms_fix): New pattern.
12236
12237 2002-02-16  Douglas B Rupp  <rupp@gnat.com>
12238
12239         * config/alpha/alpha.c: Implement null frame procedure types on VMS.
12240         (alpha_procedure_type): Replaces alpha_is_stack_procedure.
12241         (alpha_sa_mask, alpha_sa_size): Reflect above change.
12242         (alpha_pv_save_size, alpha_expand_prologue): Likewise.
12243         (alpha_start_function, alpha_expand_epilogue): Likewise.
12244         (unicosmk_gen_dsib): Likewise.
12245
12246 Sat Feb 16 13:39:09 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12247
12248         * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
12249
12250 2002-02-16  Ulrich Weigand  <uweigand@de.ibm.com>
12251
12252         * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
12253         check_and_change_labels, s390_final_chunkify): Delete.
12254         (s390_split_branches, s390_chunkify_pool): New functions.
12255         (s390_function_prologue): Call them.
12256
12257         * config/s390/s390.h (S390_REL_MAX): Delete.
12258         (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
12259
12260         * config/s390/s390.md (cjump, icjump, jump): Fix length
12261         attribute calculation.
12262
12263
12264 2002-02-15  David Edelsohn  <edelsohn@gnu.org>
12265
12266         * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
12267         * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
12268
12269 2002-02-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12270
12271         * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
12272         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
12273         * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
12274
12275 2002-02-15  Richard Sandiford  <rsandifo@redhat.com>
12276
12277         * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
12278
12279 2002-02-15  Richard Sandiford  <rsandifo@redhat.com>
12280
12281         * reload.c (find_dummy_reload): Check that an output register
12282         is valid for its mode.
12283
12284 2002-02-14  Alexandre Oliva  <aoliva@redhat.com>
12285
12286         * combine.c (known_cond): After replacing the REG of a SUBREG, try
12287         to simplify it.
12288
12289         * function.c (assign_parms): Demote promoted argument passed by
12290         transparent reference.
12291
12292 2001-02-14      Joel Sherrill <joel@OARcorp.com>
12293
12294         * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
12295         -Acpu() and -Amachine() to eliminate warnings.
12296
12297 2002-02-14  Ulrich Weigand  <uweigand@de.ibm.com>
12298
12299         * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
12300
12301 2002-02-14  Kazu Hirata  <kazu@hxi.com>
12302
12303         * config/h8300/h8300-protos.h: Update the prototype for
12304         const_costs.
12305         * config/h8300/h8300.c (const_costs): Treat SET as a little
12306         more expensive operation.
12307         * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
12308         reference to const_costs.
12309
12310 2002-02-14  Hans-Peter Nilsson  <hp@axis.com>
12311
12312         * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
12313
12314 2002-02-14  Jakub Jelinek  <jakub@redhat.com>
12315
12316         PR c/5503:
12317         * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
12318         use arguments from newtype.
12319
12320 2002-02-13  Eric Christopher  <echristo@redhat.com>
12321
12322         * config/mips/mips.c (override_options): Add check for march/mipsX
12323         on the same command line. Fix error message in cpu processing.
12324         Remove architecture and ISA checks.
12325
12326 2002-02-14  Aldy Hernandez  <aldyh@redhat.com>
12327
12328         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
12329
12330         * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
12331
12332 2002-02-14  Aldy Hernandez  <aldyh@redhat.com>
12333
12334         * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
12335         alternatives.
12336         ("*movv8hi_internal1"): Same.
12337         ("*movv16qi_internal1"): Same.
12338         ("*movv4sf_internal1"): Same.
12339
12340         * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
12341         not push_reload for altivec modes.
12342
12343 2002-02-13  Joel Sherrill  <joel@OARcorp.com>
12344
12345         * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
12346         all RTEMS targets including removal of #includes from config/*/rtems*.h
12347         file and adding them to tm_file setting. Added xm_defines=POSIX to
12348         many targets.
12349         * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
12350         * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
12351         * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
12352         * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
12353         * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
12354         config/m68k/rtemself.h: Ditto.
12355         * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
12356         config/mips/rtems64.h: Ditto.
12357         * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
12358         * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
12359         Ditto.
12360         * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
12361         config/sparc/rtemself.h: Ditto.
12362         * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
12363         * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
12364         arm-rtems stanza closer to other arm-elf targets and made arm-rtems
12365         more like arm-elf.
12366         * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
12367         config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
12368         target made more similar to i386-elf.
12369         * config/i386/t-rtems-i386: Added soft float support and multilibs.
12370         * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
12371         be similar to config/m68k/t-m68kelf.
12372         * gthr-rtems.h: Encapsulate with extern "C" for C++.
12373
12374 Wed Feb 13 23:41:15 CET 2002  Jan Hubicka  <jh@suse.cz>
12375
12376         * regmove.c (kill_value): Handle subregs.
12377
12378 Wed Feb 13 23:34:30 CET 2002  Jan Hubicka  <jh@suse.cz>
12379
12380         * i386.md (mul patterns): Allow memory operand to be first;
12381         add expanders where needed; fix constraints.
12382         (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
12383         Allow memory operand to be the first.
12384
12385         * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
12386         operands.
12387
12388 2002-02-13  Jakub Jelinek  <jakub@redhat.com>
12389
12390         PR c/5681:
12391         * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
12392         GET_MODE (x).
12393
12394 2002-02-13  Jakub Jelinek  <jakub@redhat.com>
12395
12396         PR optimization/5547:
12397         * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
12398         all valid IA-32 address modes involving non-scaled %ebx and
12399         GOT/GOTOFF as displacement.
12400
12401 2002-02-13  Ulrich Weigand  <uweigand@de.ibm.com>
12402
12403         * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
12404         after emitting ltorg insns.
12405
12406         * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
12407         *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
12408         *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
12409         *abssf2): Fix "op_type" attribute.
12410
12411 2002-02-13  Douglas B Rupp  <rupp@gnat.com>
12412
12413         * mkconfig.sh: Avoid using a subshell redirect.
12414         ($output.T): Change to $(output)T.
12415         (ENABLE_NLS): Remove unneeded undef.
12416
12417         * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
12418         * config/alpha/x-vms (libsubdir): Define.
12419
12420         * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
12421         register frame procedures. Optimize retrieving context.
12422
12423         * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
12424         (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
12425         * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
12426
12427 Wed Feb 13 09:45:08 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12428
12429         * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
12430         Make same change as for find_base_value.
12431
12432 2002-02-13  Kazu Hirata  <kazu@hxi.com>
12433
12434         * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
12435         of QImode and SImode.
12436
12437 2002-02-13  Kazu Hirata  <kazu@hxi.com>
12438
12439         * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
12440         length computation of movsi.
12441         * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
12442
12443 2002-02-13  Kazu Hirata  <kazu@hxi.com>
12444
12445         * config/h8300/h8300.md (subqi3): Tighten the predicate for
12446         operands[2] to register_operand.
12447
12448 Wed Feb 13 10:35:56 CET 2002  Jan Hubicka  <jh@suse.cz>
12449
12450         * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
12451
12452 2002-02-12  Aldy Hernandez  <aldyh@redhat.com>
12453
12454         * config/rs6000/rs6000.md: Use predicate altivec_register_operand
12455         for altivec_lvx* and altivec_stvx*.
12456         ("*movv4si_internal"): Add constraint for loading from GPRs.
12457         ("*movv8hi_internal1"): Same.
12458         ("*movv16qi_internal1"): Same.
12459         ("*movv4sf_internal1"): Same.
12460
12461         * config/rs6000/rs6000.c (altivec_register_operand): New.
12462
12463         * config/rs6000/rs6000.h (PREDICATE_CODES): Add
12464         altivec_register_operand.
12465
12466 2002-02-13  Hans-Peter Nilsson  <hp@bitrange.com>
12467
12468         * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
12469         handle SYMBOL_REF.
12470
12471 2002-02-13  Stan Shebs  <shebs@apple.com>
12472
12473         * c-typeck.c (digest_init): Handle vectors.
12474         (really_start_incremental_init): Same.
12475         (pop_init_level): Same.
12476         (process_init_element): Same.
12477
12478         * varasm.c (output_constant): Same.
12479
12480         * expr.c (clear_storage): Same.
12481         (store_constructor): Same.
12482
12483 2002-02-12  Eric Christopher  <echristo@redhat.com>
12484
12485         * explow.c (hard_function_value): Add comment explaining
12486         signed/unsigned comparison.
12487
12488 2002-02-12  Jakub Jelinek  <jakub@redhat.com>
12489
12490         * jump.c (never_reached_warning): Add finish argument.
12491         If finish is NULL, stop on CODE_LABEL, otherwise stop before first
12492         real insn after end.
12493         * rtl.h (never_reached_warning): Adjust prototype.
12494         * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
12495         * cfgrtl.c (flow_delete_block): Pass b->end as finish to
12496         never_reached_warning.
12497
12498 2002-02-12  Graham Stott  <grahams@redhat.com>
12499
12500         * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
12501
12502 2002-02-12  Kazu Hirata  <kazu@hxi.com>
12503
12504         * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
12505         logical shifts on H8/300.
12506         (shift_alg_si): Improve several shifts on H8/300.
12507         (get_shift_alg): Likewise.
12508
12509 2002-02-12  Graham Stott  <grahams@redhat.com>
12510
12511         * config/pa/pa.c (compute_movstrsi_length): Fix typos.
12512
12513 Tue Feb 12 10:12:56 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
12514
12515         * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
12516         Handle #ifdef POINTERS_EXTEND_UNSIGNED.
12517
12518 2002-02-11  Hans-Peter Nilsson  <hp@bitrange.com>
12519
12520         * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
12521         non-CONST_INT through default_assemble_integer.
12522         <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
12523         <case 8>: Abort for CONST_DOUBLE.
12524
12525 2002-02-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12526
12527         * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
12528         is specified.
12529         * config/pa/pa-linux.h (LIB_SPEC): Delete.
12530         * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
12531
12532 2002-02-11  Andrew Haley  <aph@cambridge.redhat.com>
12533
12534         * config/stormy16/stormy16.md (zero_extendqihi2): New.
12535
12536 2002-02-11  Alexandre Oliva  <aoliva@redhat.com>
12537
12538         * regrename.c (regrename_optimize): Don't accept a
12539         part-clobbered register if the replaced register is not part
12540         clobbered.
12541
12542         * calls.c (store_one_arg): In the non-BLKmode non-partial case,
12543         take padding into account when computing the argument value.
12544
12545         * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
12546
12547         * combine.c (try_combine): Apply substitutions in
12548         CALL_INSN_FUNCTION_USAGE too.
12549
12550 2002-02-11  Aldy Hernandez  <aldyh@redhat.com>
12551
12552         * config/rs6000/rs6000.c (altivec_init_builtins): Handle
12553         __builtin_altivec_abs*.
12554         (bdesc_abs): New.
12555
12556         * config/rs6000/rs6000.h (rs6000_builtins): Add
12557         ALTIVEC_BUILTIN_ABS*.
12558
12559         * config/rs6000/altivec.h: Use const char for builtins expecting
12560         literals.
12561         (vec_abs): New versions for C and C++.
12562         (vec_abss): Same.
12563
12564 2002-02-10  Kazu Hirata  <kazu@hxi.com>
12565
12566         * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
12567         using Pmode.
12568
12569 2002-02-10  Kazu Hirata  <kazu@hxi.com>
12570
12571         * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
12572         constant definition from h8300.md.
12573         (FRAME_POINTER_REGNUM): Likewise.
12574         * config/h8300/h8300.md (define_constants): Add FP_REG.
12575
12576 2002-02-10  Kazu Hirata  <kazu@hxi.com>
12577
12578         * config/h8300/h8300.c (print_operand): Remove redundant code.
12579
12580 2002-02-10  Kazu Hirata  <kazu@hxi.com>
12581
12582         * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
12583         * config/h8300/h8300.c (byte_reg): Make it static.
12584
12585 2002-02-10  Richard Henderson  <rth@redhat.com>
12586
12587         PR c/5623
12588         * c-typeck.c (incomplete_type_error): Handle flexible array members.
12589
12590 2002-02-10  Richard Henderson  <rth@redhat.com>
12591
12592         PR c++/5624
12593         * tree.c (append_random_chars): Don't abort if main_input_filename
12594         does not exist.
12595
12596 2002-02-10  Hans-Peter Nilsson  <hp@bitrange.com>
12597
12598         * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
12599
12600 2002-02-10  Kazu Hirata  <kazu@hxi.com>
12601
12602         * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
12603         (pushhi1): Likewise.
12604
12605 2002-02-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12606
12607         * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
12608         * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
12609
12610 2002-02-09  David O'Brien  <obrien@FreeBSD.org>
12611
12612         * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
12613         remove MASK_VIS.
12614         (ASM_CPU_DEFAULT_SPEC): Remove.  Default setting is fine.
12615
12616 2002-02-09  Kazu Hirata  <kazu@hxi.com>
12617
12618         * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
12619         a half of an SImode register on H8/300.
12620
12621 Sat Feb  9 18:28:02 CET 2002  Jan Hubicka  <jh@suse.cz>
12622
12623         * i386.md (movdi_2): Add missing '!'.
12624
12625 2002-02-09  Kazu Hirata  <kazu@hxi.com>
12626
12627         * config/h8300/h8300.h: Fix formatting.  Remove commented-out
12628         definitions.
12629
12630 2002-02-09  Kazu Hirata  <kazu@hxi.com>
12631
12632         * config/h8300/h8300.md (length): Correct the distance valid
12633         for the short branch.
12634
12635 2002-02-09  Kazu Hirata  <kazu@hxi.com>
12636
12637         * config/h8300/h8300.md (iorhi3): Tighten the predicates.
12638
12639 2002-02-09  Alexandre Oliva  <aoliva@redhat.com>
12640
12641         * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
12642         registers in SImode.
12643         (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
12644         part-clobbered.
12645
12646         * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
12647         patch.
12648
12649         Contribute sh64-elf.
12650         2002-02-09  Alexandre Oliva  <aoliva@redhat.com>
12651         * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
12652         (sh_cannot_modify_jumps_p): New function.
12653         2002-02-05  Alexandre Oliva  <aoliva@redhat.com>
12654         * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
12655         (sh_ms_bitfield_layout_p): New function.
12656         2002-02-04  Alexandre Oliva  <aoliva@redhat.com>
12657                     Zack Weinberg  <zack@codesourcery.com>
12658         * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
12659         expand_simple_binop instead of expand_binop.
12660         2002-02-03  Alexandre Oliva  <aoliva@redhat.com>
12661         * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
12662         use of .quad and .uaquad.
12663         * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
12664         TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
12665         2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
12666         * config/sh/sh.md (movdi_const, movdi_const_32bit,
12667         movdi_const_16bit): Make sure all CONSTs have modes.
12668         (sym2PIC): Ditto, but by adjusting all callers.
12669         * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
12670         if the prologue calls the SHmedia argument decoder or register
12671         saver.
12672         2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
12673         * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
12674         (TARGET_ASM_ALIGNED_DI_OP): Likewise.
12675         (sh_expand_epilogue): Don't emit USE of return target register.
12676         (prepare_move_operands): Legitimize DImode PIC addresses.
12677         (sh_media_register_for_return): Skip tr0, used to initialize the
12678         PIC register.
12679         (sh_expand_prologue): Remove explicit USE of return register.
12680         (nonpic_symbol_mentioned_p): PC is non-PIC.  Don't recurse in
12681         CONST_DOUBLEs.  UNSPEC_GOTPLT is PIC.
12682         * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
12683         (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
12684         (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
12685         EXTRA_CONSTRAINT_T.
12686         (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
12687         (MOVI_SHORI_BASE_OPERAND_P): New.
12688         (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
12689         (EXTRA_CONSTRAINT_T): Define in terms of them.
12690         (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
12691         * config/sh/sh.md (movsi_media, movsi_media_nofpu,
12692         movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
12693         alternatives supporting TARGET_REGS.
12694         (UNSPEC_GOTPLT): New constant.
12695         (movdi split): Move incrementing of LABEL_NUSES...
12696         (movdi_const, movdi_const_32bit): Here.  Use
12697         MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
12698         (movdi_const_16bit): New.
12699         (call, call_value) [flag_pic]: Use GOTPLT.
12700         (call_pop, call_value_pop): New expands.
12701         (call_pop_compact, call_pop_rettramp): New insns.
12702         (call_value_pop_compact, call_value_pop_rettramp): New insns.
12703         (sibcall) [flag_pic]: Use GOT.
12704         (builtint_setjmp_receiver): Remove bogus, unused expand.
12705         (GOTaddr2picreg): Implement for SHcompact and SHmedia.
12706         (*pt, *ptb, ptrel): New insns.
12707         (sym2GOT): Handle DImode GOT.
12708         (sym2GOTPLT, symGOTPLT2reg): New expands.
12709         (sym2PIC): New expand.
12710         (shcompact_return_tramp): Use GOTPLT to return trampoline.
12711         (shcompact_return_tramp_i): Use return register explicitly.
12712         * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
12713         disable flag_reorder_blocks.
12714         2002-01-19  Alexandre Oliva  <aoliva@redhat.com>
12715         * config/sh/sh.md (sibcall_compact): Reorder return, uses and
12716         clobbers, for clarity.
12717         (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
12718         restoring of r0 in macl as MAYBE_DEAD.
12719         2002-01-18  Alexandre Oliva  <aoliva@redhat.com>
12720         * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
12721         * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
12722         alter_subreg all over.
12723         (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
12724         reload, instead of emitting instructions that would require
12725         reloading.
12726         (casesi_load_media): Add missing modes.
12727         2001-11-09  Alexandre Oliva  <aoliva@redhat.com>
12728         * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
12729         as used if the argument decoder is called.
12730         2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
12731         * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
12732         Pmode, then extend it to DImode if necessary.
12733         2001-08-28  Stephen Clarke  <Stephen.Clarke@st.com>
12734         * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
12735         constants in FPU-enabled SHmedia, let them be loaded from memory.
12736         2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
12737         * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
12738         Adjust whitespace in assembly output templates.
12739         2001-08-28  Stephen Clarke  <Stephen.Clarke@st.com>
12740         * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
12741         mode of if_then_else.
12742         2001-08-04  Alexandre Oliva  <aoliva@redhat.com>
12743         * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
12744         sh.h.
12745         2001-07-26  Andrew Haley  <aph@cambridge.redhat.com>
12746                     Joern Rennecke <amylaar@redhat.com>
12747         * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
12748         (SUBTARGET_CPP_PTR_SPEC): New.
12749         (SUBTARGET_CPP_SPEC): Remove.
12750         2001-07-06  Chandrakala Chavva  <cchavva@redhat.com>
12751         * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
12752         Fix typo in previous checkin.
12753         2001-07-11  Chandrakala Chavva  <cchavva@redhat.com>
12754         * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
12755         2001-07-10  Chandrakala Chavva  <cchavva@cygnus.com>
12756                     Alexandre Oliva  <aoliva@redhat.com>
12757         * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
12758         what single FP register can hold for SHmedia target.
12759         2001-07-06  Chandrakala Chavva  <cchavva@redhat.com>
12760                     Alexandre Oliva  <aoliva@redhat.com>
12761         * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
12762         Do not split into SUBREG.
12763         2001-06-14  Alexandre Oliva  <aoliva@redhat.com>
12764         * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
12765         and added new functions as specified in SH5 ABI r9.
12766         2001-06-04  Alexandre Oliva  <aoliva@redhat.com>
12767         * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
12768         8-byte boundary.
12769         2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
12770         * config/sh/sh.c (dump_table): Add const0_rtx in calls of
12771         gen_consttable_4 and gen_consttable_8.  Emit multiple labels
12772         and consttable_window_ends.
12773         2001-06-03  Graham Stott  <grahams@redhat,com>
12774         * config/sh/sh.md (movdi split): Remove unused variable last_insn.
12775         2001-05-16  Alexandre Oliva  <aoliva@redhat.com>
12776         * config/sh/sh.c (print_operand): Handle floating-point pair,
12777         vector and matrix registers.
12778         * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
12779         vector modes into account.
12780         * config/sh/sh.md (movv2sf): Split move between registers into
12781         movdf.
12782         (movv4sf, movv16sf): Introduce insns that get split only after
12783         reload.
12784         * config/sh/shmedia.h: Fix Copyright dates.
12785         * config/sh/ushmedia.h: Likewise.  Move loop counter
12786         declarations into conditionals that uses them.
12787         (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
12788         loop boundary.
12789         * config/sh/sshmedia.h: Fix Copyright dates.
12790         (sh_media_PUTCFG): Fix constraints.
12791         2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
12792         * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
12793         ptrmemfunc_vbit_in_delta for SH5.
12794         2001-05-08  Alexandre Oliva  <aoliva@redhat.com>
12795         * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
12796         * invoke.texi: Likewise.
12797         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
12798         * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
12799         GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
12800         GCC_pop_shmedia_regs_nofpu): New global symbols.
12801         * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
12802         * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
12803         * config/sh/sh.c (calc_live_regs): Account for PR's saving in
12804         compact function with nonlocal labels.
12805         (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
12806         (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
12807         (initial_elimination_offset): Account for their stack space.
12808         * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
12809         * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
12810         movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
12811         movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
12812         least one of the operands to be a register.
12813         (movv2sf): Likewise.  Renamed to movv2sf_i.
12814         (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
12815         prepare_move_operands() before emitting SHmedia insns.
12816         2001-04-03  Alexandre Oliva  <aoliva@redhat.com>
12817         * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
12818         Don't save nor initialize r12.  Don't mis-align the stack.
12819         Pad the code with a nop.
12820         * config/sh/crti.asm: Don't restore r12.  Don't mis-align the
12821         stack.
12822         2001-03-13  Alexandre Oliva  <aoliva@redhat.com>
12823         * gcc/longlong.h (__umulsidi3, count_leading_zeros)
12824         [__SHMEDIA__]: Implement.
12825         2001-03-11  Alexandre Oliva  <aoliva@redhat.com>
12826         * config/sh/sh.md: Set latency of `pt' closer to reality.
12827         (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
12828         movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
12829         Set move, load and store type attributes.
12830         * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
12831         * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
12832         profiling.
12833         * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
12834         * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
12835         * config/sh/sh.c (sh_media_register_for_return): New function.
12836         (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
12837         branch-target register.
12838         (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
12839         * config/sh/sh.md (return_media_i): Use any call-clobbered
12840         branch-target register.
12841         (return_media): If r18 wasn't copied in the prologue, copy it
12842         here.
12843         * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
12844         Clear class FP0_REGS.
12845         * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
12846         from elf.h.
12847         2001-03-08  DJ Delorie  <dj@redhat.com>
12848         * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
12849         2001-02-09  Alexandre Oliva  <aoliva@redhat.com>
12850         * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
12851         2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
12852         * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
12853         2001-02-03  Alexandre Oliva  <aoliva@redhat.com>
12854         * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
12855         return value correctly for call_cookie.
12856         2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
12857         * config/sh/crt1.asm (start): Modified so as to call
12858         ___setup_argv_and_call_main.
12859         2001-01-26  Alexandre Oliva  <aoliva@redhat.com>
12860         * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
12861         SHmedia mode.
12862         2001-01-20  Alexandre Oliva  <aoliva@redhat.com>
12863         * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
12864         (STRIP_NAME_ENCODING): Use it.
12865         (ASM_OUTPUT_LABELREF): Likewise.  Don't call assemble_name().
12866         2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
12867         * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
12868         prepare_scc_operands().
12869         * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
12870         (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
12871         2001-01-17  Alexandre Oliva  <aoliva@redhat.com>
12872         * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
12873         2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
12874         * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
12875         * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
12876         used in shcompact_incoming_args.
12877         * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
12878         change.
12879         * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
12880         mode.
12881         * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
12882         Adjust accordingly.
12883         * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
12884         Simplify.  Adjust.  Add sanity check.
12885         * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
12886         FPU_SINGLE_BIT.
12887         * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
12888         TARGET_SHCOMPACT.
12889         (udivsi3, divsi3): Use them.
12890         (force_mode_for_call): New insn.
12891         (call, call_value, sibcall_value): Emit it before SHcompact
12892         calls.
12893         2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
12894         * config/sh/sh.md (call, call_value, sibcall): Make sure the
12895         call cookie is non-NULL before taking its value.
12896         2001-01-10  Alexandre Oliva  <aoliva@redhat.com>
12897         * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
12898         2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
12899         * config/sh/sh.md (shcompact_incoming_args): Set argument memory
12900         block.
12901         * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
12902         * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
12903         temporary for stack adjusts.  Use MACL and MACH to pass
12904         arguments to shcompact_incoming_args.
12905         * config/sh/sh.md (shcompact_incoming_args): Adjust.  Don't
12906         clobber r1.
12907         * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
12908         (nested_trampoline): Load static chain address into r1.
12909         * config/sh/sh.md (movdi_media splits): Fix sign-extension.
12910         2001-01-07  Alexandre Oliva  <aoliva@redhat.com
12911         * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
12912         fp_arith_reg_operand().
12913         2001-01-06  Alexandre Oliva  <aoliva@redhat.com>
12914         * config/sh/sh.md (casesi): Sign-extend the first two operands,
12915         and use signed compares for them.
12916         * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
12917         4-byte ones.  Instead, inter-leave them, maintaining the 8-byte
12918         ones properly aligned.
12919         (find_barrier): Account for extra alignment needed for 8-byte wide
12920         constants.
12921         (machine_dependent_reorg): Require a label for the second 4-byte
12922         constant after an 8-byte one.
12923         * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
12924         change.
12925         2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
12926         * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
12927         last_float when switching float modes.
12928         * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
12929         auto-increment for general-purpose registers.
12930         * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
12931         result.
12932         * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
12933         for stack adjust.
12934         * config/sh/sh.c (sh_builtin_saveregs): Support using all
12935         registers for varargs.
12936         2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
12937         * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
12938         * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
12939         CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
12940         (CALL_COOKIE_INT_REG_SHIFT): Adjust.
12941         (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK.  Adjust
12942         call_cookie accordingly.
12943         (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
12944         (SHCOMPACT_BYREF): Likewise.
12945         (SHCOMPACT_FORCE_ON_STACK): New macro.
12946         * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
12947         (sh_builtin_saveregs): Likewise.
12948         * config/sh/lib1funcs.asm (shcompact_call_trampoline,
12949         shcompact_incoming_args): Use new shift values.  Support
12950         sequences of consecutive and non-consecutive pushes/pops.
12951         * config/sh/sh.md (return): Don't explicitly use PR_REG.
12952         2001-01-05  Hans-Peter Nilsson  <hpn@cygnus.com>
12953         * config/sh/sh.h (TEXT_SECTION): Define.
12954         * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
12955         2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
12956         * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
12957         * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
12958         return values on FPU-enabled SHmedia.
12959         (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
12960         FPU-enabled SHmedia.
12961         (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
12962         value is returned in a non-FP reg and is not returned by
12963         reference.
12964         * config/sh/sh.md (shcompact_return_tramp_i): Change type to
12965         jump_ind.
12966         2000-01-04  Alexandre Oliva  <aoliva@redhat.com>
12967         * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
12968         (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
12969         quad-aligned to be passed by callee-copy reference.
12970         2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
12971         * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
12972         * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
12973         2001-01-02  Alexandre Oliva  <aoliva@redhat.com>
12974         * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
12975         copying low-numbered FP regs to r7 and r8.
12976         * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
12977         FP regs to general-purpose regs only if the copy was passed on the
12978         stack.
12979         * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
12980         copying FP reg to r9.
12981         * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
12982         copy FP regs to general-purpose regs only in outgoing calls.
12983         * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
12984         change from     2000-10-30.  Adjust for 64-bit (or 32-bit)
12985         HOST_WIDE_INT.
12986         * config/sh/sh.h (struct sh_args): Document all fields.
12987         (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
12988         passed partially on the stack should not consider making
12989         sibcalls.
12990         * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
12991         stack_regs only for incoming calls.  When passing FP args,
12992         make sure there are FP regs available before modifying
12993         call_cookie.
12994         (SHCOMPACT_BYREF): Pass double args in general-purpose
12995         registers by reference.
12996         2000-12-30  Alexandre Oliva  <aoliva@redhat.com>
12997         * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
12998         attempt to generate sibcalls if the caller got any arguments
12999         by reference.
13000         * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
13001         * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
13002         to 8-byte boundaries.
13003         * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
13004         * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
13005         * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
13006         stored in the stack.
13007         * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
13008         for the offsets to have the ISA bit set.
13009         (shcompact_call_trampoline): Document.  Swap r0 and r1, to match
13010         invocation.  Use beq instead of bgt to mark end of sequence of
13011         loads.
13012         (shcompact_incoming_args): Fix store of r2.  Use beq instead of
13013         bgt to mark end of sequence of stores.
13014         * config/sh/sh.c (arith_operand): Don't check whether
13015         CONST_OK_FOR_J for now.
13016         * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
13017         instead of long for conversion.
13018         2000-12-29  Alexandre Oliva  <aoliva@redhat.com>
13019         * config/sh/sh.c (print_operand_address): Convert INTVAL to int
13020         before passing it to fprintf.
13021         2000-12-28  Alexandre Oliva  <aoliva@redhat.com>
13022         * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
13023         Call set_fpscr before reading/writing SR.
13024         * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
13025         Call set_fpscr.
13026         * config/sh/lib1funcs.asm: Add `.align 2' directives before
13027         SHmedia code.
13028         (FMOVD_WORKS): Define on SH5 with FPU.
13029         (set_fpscr): Define on SH5.  Remove separate _fpscr_values
13030         setting.
13031         * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
13032         _fpscr_values.
13033         2000-12-28  Hans-Peter Nilsson  <hpn@cygnus.com>
13034         * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
13035         address.
13036         (ia_main_table): Ditto.
13037         2000-12-27  Alexandre Oliva  <aoliva@redhat.com>
13038         * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
13039         * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
13040         the definitions from sh.h.
13041         * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
13042         TARGET_SH5.
13043         (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
13044         * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
13045         * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
13046         2000-12-26  Alexandre Oliva  <aoliva@redhat.com>
13047         * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
13048         Increment LABEL_NUSES.
13049
13050         * config/sh/sh.h (SIZE_TYPE): Define as conditional on
13051         TARGET_SH5.
13052         (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
13053         defined.
13054         * config/sh/elf.h (SIZE_TYPE): Likewise.
13055         * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
13056         * config/sh/lib1funcs.asm (shcompact_call_trampoline,
13057         shcompact_incoming_args): Load switch table addresses using
13058         datalabel.
13059         * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
13060         (NO_BUILTIN_SIZE_TYPE): Define.
13061         (SIZE_TYPE): Don't define.
13062         * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
13063         * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
13064         definition of __SH5__=32 for -m5-compact-nofpu.
13065         * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
13066         ADDR_DIFF_VEC.
13067         2000-12-24  Alexandre Oliva  <aoliva@redhat.com>
13068         * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
13069         2000-12-23  Alexandre Oliva  <aoliva@redhat.com>
13070         * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
13071         (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
13072         (INSN_LENGTH_ALIGNMENT): Likewise.
13073         2000-12-22  Alexandre Oliva  <aoliva@redhat.com>
13074         * config/sh/sh.md (call, call_value, sibcall): Simplify
13075         copying of non-branch-target register.
13076         2000-12-22  Alexandre Oliva  <aoliva@redhat.com>
13077         * glimits.h (__LONG_MAX__): Revert      2000-12-13's patch.
13078         * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
13079         2000-12-22  Alexandre Oliva  <aoliva@redhat.com>
13080         * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
13081         floating-point values as structs.
13082         (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
13083         (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
13084         general-purpose register.
13085         (SH5_PROTOTYPED_FLOAT_ARG): New macro.
13086         2000-12-20  Alexandre Oliva  <aoliva@redhat.com>
13087         * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
13088         * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
13089         * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
13090         (ENCODE_SECTION_INFO): Enclose variables and constants in
13091         DATALABEL unspecs.
13092         (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
13093         (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
13094         (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
13095         * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
13096         only for LABEL_REFs.  For SYMBOL_REFs, prepend
13097         SH_DATALABEL_ENCODING to the symbol name.
13098         * config/sh/sh.md (indirect_jump): Use SUBREG instead of
13099         convert_mode().
13100         2000-12-20  Alexandre Oliva  <aoliva@redhat.com>
13101         * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
13102         UNSPEC_DATALABEL.
13103         * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
13104         * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
13105         (DATALABEL_REF_P): Don't require CONST.
13106         (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
13107         REL label.
13108         2000-12-19  Alexandre Oliva  <aoliva@redhat.com>
13109         * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
13110         right.
13111         2000-12-18  Alexandre Oliva  <aoliva@redhat.com>
13112         * config/sh/sh.md (movsi_media, call, call_value, sibcall):
13113         Use shallow_copy_rtx and PUT_MODE to change the mode of
13114         SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
13115         * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
13116         on SHmedia using GENERAL_REGs.
13117         * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
13118         bltu_media_i): Fix reversion of conditions.
13119         2000-12-18  Alexandre Oliva  <aoliva@redhat.com>
13120         * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
13121         * config/sh/sh.c (output_far_jump): Save r13 in macl.
13122         2000-12-17  Alexandre Oliva  <aoliva@redhat.com>
13123         * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
13124         2000-12-16  Alexandre Oliva  <aoliva@redhat.com>
13125         * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
13126         (GCC_nested_trampoline): Likewise.
13127         * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
13128         * config/sh/sh.c (gen_datalabel_ref): Define.
13129         * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
13130         (INITIALIZE_TRAMPOLINE): Likewise.
13131         (TRAMPOLINE_ADJUST_ADDRESS): Define.
13132         (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
13133         (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
13134         (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
13135         * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
13136         (ic_invalidate): Adjust for SH5.
13137         (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
13138         * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
13139         _nested_trampoline.
13140         2000-12-15  Alexandre Oliva  <aoliva@redhat.com>
13141         * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
13142         (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
13143         2000-12-14  Alexandre Oliva  <aoliva@redhat.com>
13144         * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
13145         * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
13146         2000-12-14  Alexandre Oliva  <aoliva@redhat.com>
13147         * config/sh/sh.c (target_reg_operand): Match only target-branch
13148         registers and pseudos that aren't virtual registers.
13149         * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
13150         Copy operands that don't match target_reg_operand to pseudos.
13151         (call_media, call_value_media, sibcall_media): Use
13152         target_reg_operand instead of target_operand.
13153         2000-12-13  Alexandre Oliva  <aoliva@redhat.com>
13154         * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
13155         * config/sh/sh.c (target_reg_operand): Match hardware registers
13156         other than branch-target registers.
13157         * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
13158         * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
13159         (fpscr_values) [SH5 == 32]: Define.
13160         * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
13161         * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
13162         Handle function addresses coming in SUBREGs.
13163         2000-12-12  Alexandre Oliva  <aoliva@redhat.com>
13164         * config/sh/lib1funcs.asm (shcompact_call_trampoline,
13165         shcompact_return_trampoline): Use datalabel where appropriate.
13166         2000-12-09  Alexandre Oliva  <aoliva@redhat.com>
13167         * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
13168         general-purpose register to copy one branch-target register to
13169         another.
13170         2000-12-06  Alexandre Oliva  <aoliva@redhat.com>
13171         * config/sh/sh.c (target_operand): Accept LABEL_REFs and
13172         SYMBOL_REFs with VOIDmode.
13173         * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
13174         bltu_media_i): New insns.
13175         2000-12-06  Alexandre Oliva  <aoliva@redhat.com>
13176         * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
13177         (INIT_CUMULATIVE_ARGS): Likewise.
13178         2000-12-01  Alexandre Oliva  <aoliva@redhat.com>
13179         * machmode.def (V16SFmode): New mode.
13180         * c-common.c (type_for_mode): Support V2SF and V16SF.
13181         * tree.c (build_common_tree_nodes_2): Likewise.
13182         * tree.h (tree_index): Likewise.
13183         * calls.c (emit_call_1): Take args_so_far.  Adjust all
13184         callers.  Introduce CALL_POPS_ARGS.
13185         * tm.texi (CALL_POPS_ARGS): Document.
13186         * config/sh/crt1.asm: Implement in SHmedia mode.
13187         * config/sh/crti.asm, config/sh/crtn.asm: Likewise
13188         * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
13189         (DBX_REGISTER_NUMBER): Renumber registers for SH5.
13190         * config/sh/lib1funcs.asm: Disable functions unused in SH5.
13191         Implement divsi and udivsi in SHmedia mode.  Introduce
13192         SHcompact trampolines.
13193         * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
13194         only in SHmedia64.
13195         (regno_reg_class): Rewrite.
13196         (fp_reg_names): Remove.
13197         (sh_register_names, sh_additional_register_names): New.
13198         (print_operand): Added `u'.  Support SUBREGs in addresses.
13199         Add parentheses around shifted CONSTs.
13200         (output_file_start): Output .mode and .abi directives.
13201         (shiftcosts, addsubcosts, multcosts): Adjust.
13202         (output_stack_adjust): Compute alignment.  Sanity-check SIZE.
13203         (push_regs): Take array of HOST_WIDE_INTs.  Adjust callers.
13204         (calc_live_regs): Output to array of HOST_WIDE_INTs.  Count
13205         bytes, not registers.  Take into account the need for the
13206         SHcompact incoming args trampoline.  Adjust all callers.
13207         (sh_expand_prologue): Take stack_regs into account.  Call
13208         incoming args trampoline.  Keep stack aligned as per SH5 ABI.
13209         (sh_expand_epilogue): Take stack_regs into accoutn.  Keep
13210         stack aligned as per SH5 ABI.
13211         (sh_builtin_saveregs): Support SH5 ABI.
13212         (sh_build_va_list, sh_va_start): Likewise.
13213         (initial_elimination_offset): Take alignment into account.
13214         Compute location of PR according to the SH5 stack frame.
13215         (arith_reg_operand): Reject branch-target registers.
13216         (shmedia_6bit_operand): New.
13217         (logical_operand): Use CONST_OK_FOR_P on SHmedia.
13218         (target_reg_operand): Match DImode only.  Accept SUBREGs.
13219         (target_operand): New.
13220         * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
13221         (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI.  Initialize
13222         SIBCALL_REGS for SHmedia.
13223         (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
13224         (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
13225         (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
13226         (TARGET_SWITCHES): New SH5 flags.
13227         (OVERRIDE_OPTIONS): Set SH5-specific options.  Use
13228         VALID_REGISTER_P to disable unsupported registers.
13229         (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
13230         (POINTER_SIZE, PARM_BOUNDARY): Adjust.
13231         (FUNCTION_ARG_PADDING): Define.
13232         (FASTEST_ALIGNMENT): Adjust.
13233         (SH_REGISTER_NAMES_INITIALIZER): New.
13234         (sh_register_names): Declare.
13235         (DEBUG_REGISTER_NAMES): Define.
13236         (REGISTER_NAMES): Define based on sh_register_names.
13237         (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
13238         (sh_additional_register_names): Declare.
13239         (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
13240         (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
13241         (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
13242         (REGISTER_NATURAL_MODE): Define.
13243         (FIRST_PSEUDO_REGISTER): Adjust.
13244         (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
13245         (HARD_REGNO_CALL_PART_CLOBBERED): Define.
13246         (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
13247         (VECTOR_MODE_SUPPORTED_P): Define.
13248         (REG_CLASS_CONTENTS): Adjust.
13249         (SMALL_REGISTER_CLASSES): Adjust.
13250         (REG_ALLOC_ORDER): Adjust.
13251         (INDEX_REG_CLASS): Adjust.
13252         (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
13253         (CONST_OK_FOR_LETTER_P): Adjust.
13254         (PREFERRED_RELOAD_CLASS): Adjust.
13255         (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
13256         (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
13257         (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
13258         (FIRST_FP_PARM_REG): Adjust.
13259         (CALL_POPS_ARGS): Define.
13260         (FUNCTION_ARG_REGNO_P): Adjust.
13261         (struct sh_args): New fields.
13262         (GET_SH_ARG_CLASS): Adjust.
13263         (INIT_CUMULATIVE_ARGS): Adjust.
13264         (INIT_CUMULATIVE_INCOMING_ARGS): Define.
13265         (FUNCTION_ARG_ADVANCE): Adjust.
13266         (FUNCTION_ARG): Adjust.
13267         (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
13268         (FUNCTION_ARG_CALLEE_COPIES): Define.
13269         (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
13270         (STRICT_ARGUMENT_NAMING): Define.
13271         (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
13272         (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
13273         (SH5_WOULD_BE_PARTIAL_NREGS): Define.
13274         (SETUP_INCOMING_VARARGS): Adjust.
13275         (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
13276         (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
13277         (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
13278         (SUBREG_OK_FOR_INDEX_P): Adjust.
13279         (EXTRA_CONSTRAINT_S): Update.
13280         (EXTRA_CONSTRAINT_T): New.
13281         (EXTRA_CONSTRAINT): Adjust.
13282         (GO_IF_LEGITIMATE_INDEX): Adjust.
13283         (GO_IF_LEGITIMATE_ADDRESS): Adjust.
13284         (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
13285         (MOVE_MAX): Adjust.
13286         (MAX_MOVE_MAX): Define.
13287         (Pmode): Adjust.
13288         (CONST_COSTS): Adjust.
13289         (REGISTER_MOVE_COST): Adjust.
13290         (BRANCH_COST): Adjust.
13291         (TEXT_SECTION_ASM_OP): Adjust.
13292         (DBX_REGISTER_NUMBER): Adjust.
13293         (ASM_OUTPUT_DOUBLE_INT): New.
13294         (UNALIGNED_DOUBLE_INT_ASM_OP): New.
13295         (PREDICATE_CODES): Adjust.
13296         (PROMOTE_MODE): Adjust.
13297         (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
13298         * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
13299         (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
13300         (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
13301         (DR0_REG, DR2_REG, DR4_REG): Renumber.
13302         (TR0_REG, TR1_REG, TR2_REG): New.
13303         (XD0_REG): Renumber.
13304         (UNSPEC_COMPACT_ARGS): New.
13305         (type): Added pt and ptabs.
13306         (length): Default to 4 on SHmedia.  Default pt length to 12
13307         and     20 on SHmedia32 and SHmedia64, respectively.
13308         (pt): New function unit.
13309         (movdi, movsi): Add types pt and ptabs.  Don't increment LABEL_NUSES.
13310         Add whitespace between operands of SHmedia instructions.
13311         (movdicc): Fix.
13312         (adddi3_media, addsi3_media): Adjust constraints.
13313         (subsi3) [SHmedia]: Force operand 1 into a register.
13314         (udivsi3_i1_media, udivsi3_i4_media): New.
13315         (udivsi3): Support SHmedia.
13316         (divsi3_i1_media, divsi3_i4_media): New.
13317         (divsi3): Support SHmedia.
13318         (anddi3, iordi3, xordi3): Adjust constraints.
13319         (zero_extendhidi2, zero_extendqidi2): New.
13320         (extendsidi2, extendhidi2, extendqidi2): New.
13321         (push, pop, push_e, push_fpul, push_4): Disable on SH5.
13322         (pop_e, pop_fpul, pop_4): Likewise.
13323         (movsi_media): Support FP and BT registers.
13324         (movsi_media_nofpu): New.  Adjust splits to DImode.
13325         (lduw, ldub): Renamed to zero_extend* above.
13326         (movqi_media): Fix typo.
13327         (movdi_media): Support FP and BT registers.
13328         (movdi_media_nofpu): New.  Adjust splits for SHmedia32.
13329         (movdi_const_32bit): New.
13330         (shori_media): Require immediate operand.  Use `u' for output.
13331         (movdf_media, movsf_media): Simplified.
13332         (movdf_media_nofpu, movsf_media_nofpu): New.
13333         (movdf, movsf): Adjust
13334         (movv2sf, movv2sf, movv16sf): New.
13335         (beq_media, beq_media_i): Adjust constraints.  Don't use
13336         scratch BT register.
13337         (bne_media, bne_media_i): Likewise.
13338         (bgt_media, bgt_media_i): Likewise.
13339         (bge_media, bge_media_i): Likewise.
13340         (bgtu_media, bgtu_media_i): Likewise.
13341         (bgeu_media, bgeu_media_i): Likewise.
13342         (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
13343         bunordered): Emit jump insn.  Force operands to registers when
13344         needed.
13345         (jump_media, jump): Simplify.
13346         (call_compact, call_compact_rettramp): New.
13347         (call_value_compact, call_value_compact_rettramp): New.
13348         (call_media, call_value_media): Simplify.
13349         (sibcall_compact, sibcall_media): New.
13350         (call, call_value): Adjust for SHmedia and SHcompact.
13351         (sibcall, sibcall_value, untyped_call): Likewise.
13352         (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
13353         (indirect_jump): Adjust for SHmedia.
13354         (casesi_jump_media): New.
13355         (nop): Re-enable for SHmedia.
13356         (call_site): Restrict to SH1.
13357         (casesi): Adjust for SHmedia.
13358         (casesi_shift_media, casesi_load_media): New.
13359         (return): Explicitly use PR register.  Call return trampoline
13360         on SHcompact.
13361         (return_i): Explicitly use PR register.
13362         (shcompact_return_tramp, shcompact_return_tramp_i): New.
13363         (return_media): Adjust.
13364         (shcompact_incoming_args): New.
13365         (epilogue): Adjust.
13366         (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
13367         (movstrsi): Disable on SH5.
13368         (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
13369         (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
13370         (subsf3, subsf3_media): Likewise.
13371         (mulsf3, mulsf3_media, mac_media): Likewise.
13372         (divsf3, divsf3_media): Likewise.
13373         (floatdisf2, floatsisf2_media): Likewise.  Adjust constraints.
13374         (floatsisf2, fux_truncsfsi2): Likewise.
13375         (fix_truncsfdi2, fix_truncsfsi2_media): Likewise.  Adjust
13376         constraints.
13377         (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
13378         (cmpunsf_media, cmpsf): Likewise.
13379         (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
13380         (abssf2, abssf2_media): Likewise.
13381         (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
13382         (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
13383         (floatdidf2, floatsidf2_media): Likewise.  Adjust constraints.
13384         (floatsidf2, fix_truncdfsi2): Likewise.
13385         (fix_truncdfdi2, fix_truncdfsi2_media): Likewise.  Adjust
13386         constraints.
13387         (cmpeqdf_media, cmpgtdf_media): Likewise.
13388         (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
13389         (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
13390         (absdf2, absdf2_media): Likewise.
13391         (extendsfdf2, extendsfdf2_media): Likewise.
13392         (truncsfdf2, truncsfdf2_media): Likewise.
13393         * config/sh/sh64.h: New file.
13394         * config/sh/t-sh64: New file.
13395         * config/sh/shmedia.h: New file.
13396         * config/sh/ushmedia.h: New file.
13397         * config/sh/sshmedia.h: New file.
13398         * configure.in: Added sh64-*-elf.
13399         * configure: Rebuilt.
13400         2000-10-10  Alexandre Oliva  <aoliva@redhat.com>
13401         * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
13402         (reg_class_from_letter): Use `b' for TARGET_REGS.
13403         (print_operand): Support `%M', `%m', `AND' and
13404         `ASHIFTRT'.  Do not precede constants with `#' on SHmedia.
13405         (andcosts): Adjust for SHmedia.
13406         (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
13407         Likewise.
13408         (target_reg_operand): New function.
13409         * config/sh/sh-protos.h (target_reg_operand): Declare.
13410         * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
13411         FP registers on SH5.
13412         (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
13413         on SH4.
13414         (TARGET_REGISTER_P): New macro.
13415         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
13416         (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
13417         (EXTRA_CONSTRAINT_S): New macro.
13418         (EXTRA_CONSTRAINT): Adjust.
13419         (FLOAT_TYPE_SIZE): Define to 32.
13420         (Pmode): DImode on SHmedia.
13421         (CONST_COSTS): Adjust for SHmedia literals.
13422         (PREDICATE_CODES): Added target_reg_operand.
13423         (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
13424         * config/sh/sh.md: Remove all attrs from SHmedia insns.
13425         (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
13426         (cmpdi): Accept SHmedia.
13427         (movdicc_false, movdicc_true): New insns.
13428         (movdicc): New expand.
13429         (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
13430         no_new_pseudos.
13431         (addsi3_media): Match `S' constraint.
13432         (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
13433         (negdi2): Expand for SHmedia.
13434         (one_cmpldi2): New expand.
13435         (zero_extendsidi2): Change from expand to insn.
13436         (extendsidi2): Add constraints.
13437         (movdi_media, movsi_media): Change `%x' to `%M'.  Use `%m' for
13438         LD/ST address.  Fix SI immediate loading split.
13439         (movhi_media, movqi_media, lduw, ldub): New insns.
13440         (movhi, movqi): Accept SHmedia.
13441         (shori_media, movdi_media): Relax input constraints.  Split
13442         symbolic constants.
13443         (movdf_media, movsf_media): New insn.  New split to movdi.
13444         (movdf, movsf): Match on SHmedia.
13445         (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
13446         bgeu_media): New insns and splits.  New insns with `_i' suffix.
13447         (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
13448         (bunordered): New expand.
13449         (jump_compact): Renamed from `jump'.
13450         (jump_media): New insn.
13451         (jump): New expand.
13452         (call_media, call_value_media): New insns.
13453         (call, call_value): Adjust.
13454         (indirect_jump_compact): Renamed from `indirect_jump'.
13455         (indirect_jump_media): New insn.
13456         (indirect_jump): New expand.
13457         (untyped_call, return): Accept SHmedia.
13458         (return_media): New insn.
13459         (prologue, epilogue, blockage): Accept SHmedia.
13460         (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
13461         (sunordered): New expand.
13462         (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
13463         cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
13464         (addsf3_media, subsf3_media, mulsf3_media, mac_media,
13465         divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
13466         fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
13467         cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
13468         abssf2_media): New insns.
13469         (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
13470         cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
13471         (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
13472         floatdidf2, floatsidf2_media, fix_truncdfdi2,
13473         fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
13474         cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
13475         absdf2_media): New insns.
13476         (extendsfdf2, truncdfsf2): Adjust for SHmedia.
13477         (extendsfdf2_media, truncdfsf2_media): New insns.
13478         2000-09-14  Alexandre Oliva  <aoliva@redhat.com>
13479         * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
13480         * config/sh/sh.h (CONST_OK_FOR_J): Document.
13481         (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
13482         * config/sh/sh.md (adddi3): New expand.
13483         (adddi3_media, adddi3z_media): New insns.
13484         (adddi3_compact): Renamed from adddi3.
13485         (addsi3_media): Use add.l r63 to add constant zero.
13486         (subdi3): New expand.
13487         (subdi3_media): New insn.
13488         (subdi3_compact): Renamed from subdi3.
13489         (mulsidi3): New expand.
13490         (mulsidi3_media): New insn.
13491         (mulsidi3_compact): Renamed from mulsidi3.
13492         (umulsidi3): New expand.
13493         (umulsidi3_media): New insn.
13494         (umulsidi3_compact): Renamed from umulsidi3.
13495         (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
13496         (ashlsi3, ashrsi3, lshrsi3): Use them.
13497         (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
13498         (ashldi3, ashrdi3, lshrdi3): Use them.
13499         (zero_extendsidi2): New expand.
13500         (extendsidi2): New insn.
13501         (movsi_media): New insn.  Split to movdi to load constants.
13502         (movsi): Enable for shmedia.
13503         (movdi_media): New insn.  Use shori_media to load wide constants.
13504         (short_media): New insn.
13505         (movdi): Enable for shmedia.
13506         2000-09-08  Alexandre Oliva  <aoliva@redhat.com>
13507         * config/sh/sh.h (CPP_SPEC): Added `m5'.
13508         (SUBTARGET_CPP_SPEC): Added `!m5'.
13509         (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
13510         (TARGET_SWITCHES): Added `5' and `5-compact'.  Added SH1_BIT
13511         to all other SH variants.
13512         (TARGET_DEFAULT): Set to SH1_BIT.
13513         (OVERRIDE_OPTIONS): Recognize sh5 CPU.
13514         (BITS_PER_WORD): Raise to 64 on shmedia.
13515         (MAX_BITS_PER_WORD): Change to 64.
13516         (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
13517         (INT_TYPE_SIZE): Keep as 32.
13518         (UNITS_PER_WORD): Raise to 8 on shmedia.
13519         (MIN_UNITS_PER_WORD): Keep as 4.
13520         (POINTER_SIZE): Raise to 64 on shmedia.
13521         (CONST_OK_FOR_J): New macro.
13522         (CONST_OK_FOR_LETTER_P): Use it.
13523         (processor_type): Add PROCESSOR_SH5.
13524         * config/sh/sh.md: Conditionalize all expands, insns and
13525         splits to TARGET_SH1.
13526         (cpu): Added sh5.
13527         (addsi3_compact): Renamed from...
13528         (addsi3): Now an expand.
13529         (addsi3_media, subsi3_media): New insns.
13530         (subsi3): Don't negate constants with SHmedia.
13531
13532         * hooks.c: New file.
13533         * hooks.h: New file.
13534         * Makefile.in (HOOKS_H): New.
13535         (TARGET_DEF_H): Added $(HOOKS_H).
13536         (OBJS): Added hooks.o.
13537         (cfgcleanup.o, bb-reorder.o): Added target.h.
13538         (hooks.o): Added dependencies.
13539         * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
13540         (TARGET_INITIALIZER): this.
13541         * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
13542         * target.h (struct gcc_target): Added cannot_modify_jumps_p.
13543         * bb-reorder.c: Include target.h.
13544         (reorder_basic_blocks): Skip if cannot modify jumps.
13545         * cfgcleanup.c: Include target.h.
13546         (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
13547
13548 2002-02-08  Chris Demetriou  <cgd@broadcom.com>
13549
13550         * config/mips/mips.md (casesi_internal, casesi_internal_di):
13551         Protect jump delay slot instructions with .set noreorder and
13552         .set nomacro.
13553
13554 2002-02-08  Chris Demetriou  <cgd@broadcom.com>
13555
13556         * config/mips/mips.md (casesi_internal_di): Calculate
13557         the index into the target offset table correctly.
13558
13559 2002-02-08  Richard Henderson  <rth@redhat.com>
13560
13561         * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
13562         * final.c (output_addr_const): Accept and discard SUBREG.
13563         * varasm.c (decode_addr_const): Don't abort on unknown expressions --
13564         mark them unknown instead.
13565         (simplify_subtraction): Handle RTX_UNKNOWN.
13566         (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
13567
13568 2002-02-08  David Edelsohn  <edelsohn@gnu.org>
13569
13570         * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
13571
13572 2002-02-08  Richard Henderson  <rth@redhat.com>
13573
13574         * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
13575
13576 2002-02-08  Andreas Jaeger  <aj@suse.de>
13577
13578         * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
13579         * config/i386/t-linux64: New file.
13580
13581 2002-02-08  Jakub Jelinek  <jakub@redhat.com>
13582
13583         * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
13584         * c-parse.in (compstmt): Clear last_expr_type.
13585
13586 2002-02-07  Richard Henderson  <rth@redhat.com>
13587
13588         * loop.c (strength_reduce): Sink final_value when not
13589         eliminating a biv.
13590
13591 2002-02-07  David O'Brien  <obrien@FreeBSD.org>
13592
13593         * config/sparc/freebsd.h: Fix mismatched spec {.
13594
13595 2002-02-07  Richard Henderson  <rth@redhat.com>
13596
13597         * cfgrtl.c: Include recog.h and insn-config.h.
13598         (keep_with_call_p): Fix general_operand invocation.
13599         * Makefile.in (cfgrtl.o): Update dependencies.
13600
13601 2002-02-07  Kazu Hirata  <kazu@hxi.com>
13602
13603         * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
13604         comment.  Accept HImode only if TARGET_H8300.
13605
13606 2002-02-07  Eric Christopher  <echristo@redhat.com>
13607
13608         * config/mips/crtn.asm: Cleanup #ifdefs.
13609
13610 2002-02-07  Eric Christopher  <echristo@redhat.com>
13611
13612         * config/mips/crti.asm: Add changes for mips16. mips16 uses
13613         register 7 as RA instead of $31.
13614         * config/mips/crtn.asm: Ditto.
13615         * config/mips/mips.c (mips_move_2words): Add case for
13616         TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
13617         (compute_frame_size): Fix typo.
13618         (save_restore_insns): Ditto.  Make documentation about using
13619         register $7 as return register more precise.
13620         (mips_expand_epilogue): Fix comment. Add code to work around not
13621         being able to add to the stack pointer directly.
13622         * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
13623         to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
13624         epilogue.
13625
13626 2002-02-07  Tom Rix  <trix@redhat.com>
13627
13628         * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
13629         immediates in ldu and stdu DS opcode field.
13630         * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
13631         * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
13632         * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
13633
13634 2002-02-07  Jeff Sturm  <jsturm@one-point.com>
13635
13636         * config/sparc/sparc.c (compute_frame_size): Don't correct frame
13637         offset for stack bias.
13638
13639 2002-02-07  H.J. Lu <hjl@gnu.org>
13640
13641         * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
13642
13643 2002-02-07  Ulrich Weigand  <uweigand@de.ibm.com>
13644
13645         * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
13646
13647 Thu Feb  7 12:14:17 CET 2002  Jan Hubicka  <jh@suse.cz>
13648
13649         * i386-protos.h (x86_order_regs_for_local_alloc): Declare
13650         * i386.c (x86_order_regs_for_local_alloc): New global function.
13651         * i386.h (REG_ALLOC_ORDER): CLeanup.
13652         (ORDER_REGS_FOR_LOCAL_ALLOC): New.
13653
13654 2002-02-07  Richard Henderson  <rth@redhat.com>
13655
13656         PR optimization/2463
13657         * alias.c (find_base_value): Recall base values for fixed hard regs.
13658         * loop.c (loop_regs_update): Don't use single_set on non-insns.
13659
13660 2002-02-07  Alexandre Oliva  <aoliva@redhat.com>
13661
13662         * config/mips/mips.md (define_delay) [mips16]: Adjust required
13663         length.
13664
13665 2002-02-06  Richard Henderson  <rth@redhat.com>
13666
13667         PR c/5609
13668         * stmt.c (resolve_operand_name_1): Take more care with mixed
13669         named and unnamed operands.
13670
13671 2002-02-06  Janis Johnson  <janis187@us.ibm.com>
13672             Jan Hubicka  <jh@suse.cz>
13673
13674         * loop.c (remove_constant_addition): Avoid clobbering a shared
13675         CONST expression.
13676
13677 2002-02-06  Ulrich Weigand  <uweigand@de.ibm.com>
13678
13679         * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
13680         * config/s390/t-linux64: New file.
13681         * config/s390/libgcc-glibc.ver: New file.
13682
13683 2002-02-06  Ulrich Weigand  <uweigand@de.ibm.com>
13684
13685         * config/s390/linux64.h: Delete file.
13686         * config/s390/s390x.h: New file.
13687         * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
13688         as target header file.
13689         * config/s390/linux.h (TARGET_VERSION): Define depending on
13690         DEFAULT_TARGET_64BIT.
13691         (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
13692         (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
13693         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
13694         (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
13695         (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
13696         (EXTRA_SPEC): New define.
13697         * config/s390/s390.h (TARGET_VERSION): Define depending on
13698         DEFAULT_TARGET_64BIT.
13699         (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
13700
13701 2002-02-06  Jason Merrill  <jason@redhat.com>
13702
13703         * c-decl.c (finish_function): Warn about a non-void function with
13704         no return statement and no abnormal exit.
13705         (current_function_returns_abnormally): New variable.
13706         (start_function): Clear it.
13707         (struct c_language_function): Add returns_abnormally.
13708         (push_c_function_context): Save it.
13709         (pop_c_function_context): Restore it.
13710         (builtin_function): Set TREE_THIS_VOLATILE on return fns.
13711         (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
13712         an explicit return type.
13713         * c-tree.h: Declare current_function_returns_abnormally.
13714         (C_FUNCTION_IMPLICIT_INT): New macro.
13715         * c-typeck.c (build_function_call): Set it.
13716         (c_expand_return): Set current_function_returns_value even if the
13717         value is erroneous.
13718
13719 2002-02-06  Jakub Jelinek  <jakub@redhat.com>
13720
13721         PR c/5420:
13722         * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
13723         unsafe for reevaluation.
13724
13725 2002-02-06  Jakub Jelinek  <jakub@redhat.com>
13726
13727         PR c/5482:
13728         * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
13729         EXPR_STMT, but COMPOUND_STMT, recurse into it.
13730
13731 2002-02-06  Richard Henderson  <rth@redhat.com>
13732
13733         * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
13734         be a general_operand.  Dest for function value must be a pseudo.
13735
13736 2002-02-06  Nick Clifton  <nickc@cambridge.redhat.com>
13737
13738         * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
13739         as SYMBOL_REFs from the constant pool.
13740
13741 2002-02-06  Alexandre Oliva  <aoliva@redhat.com>
13742
13743         * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
13744         passed by invisible reference.
13745
13746 2002-02-05  Richard Henderson  <rth@redhat.com>
13747
13748         * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
13749
13750 2002-02-06  Hans-Peter Nilsson  <hp@bitrange.com>
13751
13752         Implement using "base addresses" in insn operands as default.
13753         * config/mmix/mmix.c (mmix_conditional_register_usage): if
13754         -mabi=gnu, modify fixed_regs to fit the GNU ABI.
13755         (mmix_extra_constraint): Use 'R' to indicate that GETA should be
13756         used to read the rtx value.
13757         (mmix_target_asm_function_epilogue): Fix spacing.
13758         (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
13759         (mmix_legitimate_address): Ditto.
13760         (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
13761         should be loaded with a GETA insn.  Don't allocate needless extra
13762         char for nul termination and fix misleading comment.
13763         (mmix_print_operand_address): Handle constants if
13764         TARGET_BASE_ADDRESSES.
13765         (mmix_output_register_setting): Use base addressing if
13766         TARGET_BASE_ADDRESSES and the number of insns is 3.
13767         * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
13768         * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
13769         to use R as constraint, add LDA to match s.
13770         * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
13771         (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
13772         (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
13773         (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
13774         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
13775         order with other fixed registers.
13776         (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
13777         other parameter/call-clobbered registers.
13778         * doc/invoke.texi (Option Summary) <MMIX Options>: Add
13779         -mbase-addresses, -mno-base-addresses.
13780         (MMIX Options): Ditto.
13781
13782 2002-02-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13783
13784         * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
13785
13786 2002-02-06  Aldy Hernandez  <aldyh@redhat.com>
13787
13788         * config/rs6000/altivec.h: Change elem to _S_elem.
13789
13790 2002-02-05  Jason Thorpe  <thorpej@wasabisystems.com>
13791
13792         * config/netbsd.h (WCHAR_TYPE): Define.
13793         (WCHAR_TYPE_SIZE): Ditto.
13794         (WINT_TYPE): Ditto.
13795         * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
13796         (WCHAR_UNSIGNED): Ditto.
13797         (WCHAR_TYPE_SIZE): Ditto.
13798         (WINT_TYPE): Ditto.
13799         * config/arm/netbsd.h: Likewise.
13800         * config/i386/netbsd-elf.h: Likewise.
13801         * config/i386/netbsd.h: Likewise.
13802         * config/m68k/netbsd-elf.h: Likewise.
13803         * config/m68k/netbsd.h: Likewise.
13804         * config/ns32k/netbsd.h: Likewise.
13805         * config/sparc/netbsd.h: Likewise.
13806         * config/vax/netbsd.: Likewise.
13807
13808 2002-02-05  Alexandre Oliva  <aoliva@redhat.com>
13809
13810         * target.h (struct gcc_target): Added ms_bitfield_layout_p.
13811         * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New.  Added to...
13812         (TARGET_INITIALIZER): this.
13813         * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
13814         (BITFIELD_NBYTES_LIMITED): Markup fix.
13815         * tree.h (default_ms_bitfield_layout_p): Declare.
13816         (record_layout_info): Added prev_field.
13817         * tree.c (default_ms_bitfield_layout_p): New fn.
13818         * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
13819         PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
13820         * stor-layout.c: Include target.h.
13821         (start_record_layout): Initialize prev_field.
13822         (place_field): Handle MS bit-field layout, and disregard
13823         EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
13824         PCC_BITFIELD_TYPE_MATTERS in this case.  Update prev_field.
13825         * Makefile.in (stor-layout.o): Adjust dependencies.
13826
13827 2002-02-05  Jason Merrill  <jason@redhat.com>
13828
13829         * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
13830
13831 2002-02-05  Andreas Jaeger  <aj@suse.de>
13832
13833         * crtstuff.c: Fix comments.
13834
13835 2002-02-05  Richard Henderson  <rth@redhat.com>
13836
13837         PR fortran/3393
13838         * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
13839         (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
13840
13841         PR fortran/3392
13842         * config/mips/mips.c (function_arg): Handle TImode.
13843         (function_arg_advance): Likewise.
13844
13845 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
13846
13847         * config/rs6000/altivec.h (vec_step_help): Rename to
13848         __vec_step_help.
13849
13850 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
13851
13852         * config/rs6000/altivec.h: Fix typos.
13853
13854 2002-02-05  Jason Thorpe  <thorpej@wasabisystems.com>
13855
13856         * config/arm/netbsd.h: Correct a comment.
13857
13858 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
13859
13860         * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
13861         building void typed builtins.
13862
13863         * config/rs6000/altivec.h (vec_ld*): Fix typos.
13864         (vec_step): Implement for C++.
13865
13866 Mon Feb  4 19:23:19 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13867
13868         * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
13869
13870 2002-02-04  Richard Henderson  <rth@redhat.com>
13871
13872         * combine.c (nonzero_bits): Re-introduce special case for
13873         sp/fp/ap wrt REGNO_POINTER_ALIGN.
13874
13875 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
13876
13877         * doc/extend.texi: Warn about unsupported usage of altivec
13878         builtins.
13879
13880         * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
13881         (altivec_predicate_*): New.
13882
13883         * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
13884         Add C++ version of vec_*() functions.
13885
13886         * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
13887         (bdesc_2arg): Remove altivec predicates.
13888         (altivec_expand_builtin): Handle predicates.
13889         (altivec_init_builtins): Handle predicates.
13890         (altivec_expand_predicate_builtin): New.
13891
13892 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13893
13894         * pa.c (DO_FRAME_NOTES): Move forward.
13895         (store_reg): Revise handling of frame notes.
13896         (load_reg): Likewise.
13897         (set_reg_plus_d): Likewise.
13898         (hppa_expand_prologue): Likewise.
13899         (hppa_expand_epilogue): Likewise.
13900
13901 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13902
13903         * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
13904
13905 2002-02-04  Jakub Jelinek  <jakub@redhat.com>
13906
13907         PR c/4475, c++/3780:
13908         * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
13909         * c-common.h (SWITCH_TYPE): Define.
13910         * c-typeck.c (c_start_case): Set SWITCH_TYPE.
13911         * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
13912         Rename spareness variable to sparseness.
13913         (expand_end_case_type): Renamed from expand_end_case, use orig_type
13914         if non-NULL instead of TREE_TYPE (orig_index).
13915         * tree.h (expand_end_case_type): Renamed from expand_end_case.
13916         (expand_end_case): Define using expand_end_case_type.
13917         * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
13918         to expand_end_case_type.
13919         * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
13920
13921 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13922
13923         * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
13924         (BIGGEST_ALIGNMENT): Change to 128.
13925
13926 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13927
13928         * pa32-linux.h (LINK_COMMAND_SPEC): Define.
13929
13930 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13931
13932         * pa.md (call_internal_reg_64bit): Remove unused variable.
13933
13934 2002-02-04  Nick Clifton  <nickc@cambridge.redhat.com>
13935
13936         * config/arm/arm.h (machine_function): Add uses_anonymous_args
13937         field.
13938         (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
13939         * config/arm/arm.c (current_function_anonymous_args): Delete,
13940         replace uses with cfun->machine->uses_anonymous_args.
13941         (arm_reorg): Do not reset uses_anonymous_args.
13942
13943         * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
13944         any geenral register.
13945
13946 2001-02-04  Bernd Schmidt  <bernds@redhat.com>s
13947
13948         * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
13949         the entry block.
13950
13951 2002-02-04  Richard Henderson  <rth@redhat.com>
13952
13953         * combine.c (force_to_mode): Remove STACK_BIAS code.
13954         (nonzero_bits): Likewise.  Replace sp/fp special case with
13955         REGNO_POINTER_ALIGN.
13956
13957         * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
13958         (HARD_FRAME_POINTER_REGNUM): New.
13959         (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
13960         (FIXED_REGS, CALL_USED_REGS): Update.
13961         (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
13962         (CONDITIONAL_REGISTER_USAGE): Update for HFP.
13963         (HARD_REGNO_NREGS): Update for SFP.
13964         (STACK_POINTER_OFFSET): Include bias here ...
13965         (FIRST_PARM_OFFSET): ... not here.
13966         (STACK_BIAS): Remove.
13967         (INIT_EXPANDERS): New.
13968         (STARTING_FRAME_OFFSET): Do not include bias.
13969         (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
13970         (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
13971         (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
13972         * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
13973         * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
13974         * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
13975         (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
13976         (MUST_SAVE_REGISTER): Likewise.
13977         (sparc_flat_function_prologue): Likewise.
13978         (sparc_flat_function_epilogue): Likewise.
13979         (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
13980         (sparc_init_modes): SFP is GENERAL_REGS.
13981         (sparc_builtin_saveregs): SFP does not have bias applied.
13982
13983 2002-02-04  Richard Henderson  <rth@redhat.com>
13984
13985         * config/alpha/alpha.c (current_function_is_thunk): Don't check
13986         current_function_is_thunk.
13987         (alpha_sa_mask): Distinguish between current_function_is_thunk
13988         called from ASM_OUTPUT_MI_THUNK and not.
13989         (alpha_does_function_need_gp): Thunks always need gp.
13990         (alpha_start_function, alpha_output_function_end_prologue): Likewise.
13991         (alpha_output_mi_thunk_osf): New.
13992         * config/alpha/alpha-protos.h: Update.
13993         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
13994
13995 2002-02-04  Richard Sandiford  <rsandifo@redhat.com>
13996
13997         * c-typeck.c (build_c_cast): Warn when qualifiers are added to
13998         function types, not when they're taken away.
13999
14000 Mon Feb  4 09:05:58 2002  Jeffrey A Law  (law@redhat.com)
14001
14002         * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
14003         CODE_LABEL and jump table when replacing a table jump with a
14004         simple jump.
14005
14006 2002-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
14007
14008         * config/s390/s390-protos.h (legitimize_la_operand,
14009         s390_secondary_input_reload_class, s390_plus_operand,
14010         s390_expand_plus_operand): Add prototypes.
14011
14012         config/s390/s390.c (s390_secondary_input_reload_class,
14013         s390_plus_operand, s390_expand_plus_operand): New functions.
14014
14015         (struct s390_address): New member 'pointer'.
14016         (s390_decompose_address): Compute it.
14017         (legitimate_la_operand_p): Use it.
14018         (legitimize_la_operand): New function.
14019         (movti, movdi, movdf splitters): Call it.
14020
14021         config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
14022         (PREDICATE_CODES): Add s390_plus_operand.
14023
14024         config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
14025         (la_ccclobber): Allow GENERAL_REGS as output operand.
14026
14027         (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
14028         *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
14029         (*la_64, *la_31, reload_indi, reload_insi): ... these.
14030
14031 2002-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
14032
14033         * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
14034         register names for regular asm () construct.
14035
14036 2002-02-04  Jakub Jelinek  <jakub@redhat.com>
14037
14038         * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
14039         registers.
14040
14041 2002-02-04  Jakub Jelinek  <jakub@redhat.com>
14042
14043         * combine.c (recog_for_combine): Create a dummy insn with PATTERN
14044         pat for recog.
14045
14046 2002-02-04  Hartmut Penner  <hpenner@de.ibm.com>
14047
14048         * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
14049         constant pool to be identical by string address and index.
14050
14051 2002-02-04  Anthony Green  <green@redhat.com>
14052
14053         * output.h (SECTION_OVERRIDE): Define.
14054         * varasm.c (named_section): Obey SECTION_OVERRIDE.
14055
14056 2002-02-03  Jason Thorpe  <thorpej@wasabisystems.com>
14057
14058         * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
14059         by existing arm*-*-netbsd* (a.out) target.
14060         (ns32k-*-netbsdelf*): Likewise.
14061         (sparc-*-netbsdelf*): Likewise.
14062         (vax-*-netbsdelf*): Likewise.
14063
14064 2002-02-03  Danny Smith <dannysmith@users.sourceforge.net>
14065
14066         * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
14067         headers and libobjc headers.
14068
14069 2002-02-03  Mumit Khan  <khan@nanotech.wisc.edu>
14070
14071         * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
14072         (_mingw.h): Remove duplicate include.
14073
14074 2002-02-03  Jason Thorpe  <thorpej@wasabisystems.com>
14075
14076         * config.gcc: Set cpu_type to m68k for 68010, as well.
14077         (m68010-*-netbsdelf*): New...
14078         (m68k*-*-netbsdelf*): ...targets.
14079         * config/m68k/netbsd-elf.h: New file.
14080
14081 2002-02-02  Kazu Hirata  <kazu@hxi.com>
14082
14083         * config/h8300/h8300.c (hand_list): Move inside function_arg.
14084
14085 2002-02-02  Kazu Hirata  <kazu@hxi.com>
14086
14087         * config/h8300/h8300.c (h8_push_ops): Move inside
14088         h8300_init_once.
14089         (h8_pop_ops): Likewise.
14090         (h8_move_ops): Likewise.
14091
14092 2002-02-02  Kazu Hirata  <kazu@hxi.com>
14093
14094         * config/h8300/h8300.c (os_task): Make it static.
14095         (monitor): Likewise.
14096         (pragma_saveall): Likewise.
14097
14098 2002-02-02  Alexandre Oliva  <aoliva@redhat.com>
14099
14100         * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
14101         constant is a valid sign-extension for Pmode.
14102
14103 2002-02-02  Kazu Hirata  <kazu@hxi.com>
14104
14105         * config/h8300/h8300.c: Fix formatting.
14106
14107 2002-02-02  Kazu Hirata  <kazu@hxi.com>
14108
14109         * config/h8300/h8300.md: Fix formatting.
14110
14111 2002-02-02  Kazu Hirata  <kazu@hxi.com>
14112
14113         * config/h8300/h8300.md (one_cmpl patterns): Tighten the
14114         predicates of operands[1].  Split the patterns for each
14115         processor variant.
14116
14117 2002-02-02  Kazu Hirata  <kazu@hxi.com>
14118
14119         * config/h8300/h8300.md (xor patterns): Tighten the predicates
14120         of operands[1] to register_operand.
14121
14122 2002-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
14123
14124         * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
14125         * cpphash.c (_cpp_init_hashtable): Similarly.
14126         * cppinit.c (cpp_create_reader): Default the signed_char flag.
14127         (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
14128         (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
14129         (cpp_handle_option): Handle the new options.
14130         * cpplex.c (cpp_interpret_charconst): Use new flag.
14131         * cpplib.h (struct cpp_options): New member signed_char.
14132         * gcc.c (cpp_unique_options): Remove %c spec and documentation.
14133         (cpp_options): Handle -fsigned-char and -funsigned-char.
14134         (static_specs): Remove signed_char_spec.
14135         (do_spec1): Don't handle %c.
14136         * system.h: Poison SIGNED_CHAR_SPEC.
14137         * tradcif.y (yylex): Use flag_signed_char.
14138         * tradcpp.h (flag_signed_char): New.
14139         * tradcpp.c (flag_signed_char): New.
14140         (main): Handle new command-line options.
14141         (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
14142 config:
14143         * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
14144         * avr/avr.h: Remove old comments.
14145         * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
14146         (CC1_SPEC): Pass -fsigned-char if -mic*.
14147         (SIGNED_CHAR_SPEC): Remove.
14148 doc:
14149         * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
14150
14151 2002-02-01  Eric Christopher  <echristo@redhat.com>
14152
14153         From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
14154         * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
14155         * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
14156         (ASM_OUTPUT_REG_POP): Ditto.
14157
14158 2002-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
14159
14160         * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
14161         patch.
14162
14163 2002-02-02  Jakub Jelinek  <jakub@redhat.com>
14164
14165         * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
14166
14167 2002-02-02  Jakub Jelinek  <jakub@redhat.com>
14168
14169         PR c/5304:
14170         * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
14171         unconditionally.
14172
14173 2002-02-01  Janis Johnson  <janis187@us.ibm.com>
14174
14175         * cfganal.c: Include tm_p.h.
14176         (keep_with_call_p): Fix the test that determines if a register holds
14177         the return value of a call.
14178
14179 2002-02-01  DJ Delorie  <dj@redhat.com>
14180
14181         * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
14182         we are given conflicting registers, switch to the other one we
14183         had allocated for us.
14184         * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
14185         as TImode so we know when the "other" register is available.
14186
14187 2002-02-01  David O'Brien  <obrien@FreeBSD.org>
14188
14189         * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
14190         sparc/sparc_bi.h.
14191
14192 2002-02-01  Janis Johnson  <janis187@us.ibm.com>
14193
14194         * cfganal.c (keep_with_call_p): New function.
14195         (flow_call_edges_add): Prevent splitting a block between a call and
14196         a single-set instruction that should be kept in the same block.
14197
14198 2002-02-01  Craig Rodrigues  <rodrigc@gcc.gnu.org>
14199
14200         * doc/install.texi (avr): Update outdated URL.
14201
14202 2002-01-30  Andrew Haley  <aph@cambridge.redhat.com>
14203
14204         * config/stormy16/stormy16.md (pushqi): New.
14205         (popqi): New.
14206         (pushhi): New.
14207         (pophi): New.
14208         (movhi): Remove stack operands.
14209         (movqi): Likewise.
14210         * config/stormy16/stormy16.h (PREDICATE_CODES): Add
14211         nonimmediate_nonstack_operand.
14212         * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
14213         New.
14214         * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
14215         New.
14216
14217 2002-01-31  Jason Merrill  <jason@redhat.com>
14218
14219         * Makefile.in (c-parse.c): Handle .output file.
14220         * objc/Make-lang.in (objc-parse.c): Likewise.
14221
14222 2002-02-01  Alexandre Oliva  <aoliva@redhat.com>
14223
14224         * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
14225         the -me[lb] option is given.  Don't output the default flag
14226         twice.
14227
14228 2002-01-31  Zack Weinberg  <zack@codesourcery.com>
14229
14230         * c-lex.c (yyparse): Call debug_hooks->start_source_file for
14231         the primary source file; this has not been done yet.
14232         * c-decl.c (c_expand_body): Reset input_filename from
14233         DECL_SOURCE_FILE (fndecl) before calling init_function_start.
14234
14235 2002-01-31  Kazu Hirata  <kazu@hxi.com>
14236
14237         * rtlanal.c (subreg_regno_offset): Do not use
14238         SUBREG_REGNO_OFFSET.
14239         * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
14240         * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
14241
14242 2002-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
14243
14244         * gccbug.in: Follow GNU Coding Standards for --version.  Use GCC
14245         version rather than GNATS version in --version output.
14246
14247 2002-01-31  Richard Sandiford  <rsandifo@redhat.com>
14248
14249         * ifcvt.c (noce_process_if_block): Make a copy of the destination
14250         when copying back from a temporary.
14251
14252 2002-01-30  Richard Henderson  <rth@redhat.com>
14253
14254         * ifcvt.c (dead_or_predicable): Handling merging when other_bb
14255         and new_dest are the same.
14256
14257 2002-01-30  Richard Henderson  <rth@redhat.com>
14258
14259         PR opt/5076
14260         * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
14261         * rtl.c (note_insn_name): Update.
14262         * emit-rtl.c (remove_unnecessary_notes): Kill it.
14263         * stmt.c (expand_end_loop): Kill jump opt code.  Use LOOP_END_TOP_COND
14264         to perform loop rotation.
14265         (expand_exit_loop_top_cond): New.
14266         * tree.h (expand_exit_loop_top_cond): Declare it.
14267         * c-semantics.c (genrtl_while_stmt): Use it.
14268         (genrtl_for_stmt): Likewise.
14269
14270 2002-01-30  Alexandre Oliva  <aoliva@redhat.com>
14271
14272         * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
14273         arguments to 64-bit boundaries on 64-bit ABIs.
14274
14275 2002-01-30  Steve Ellcey  <sje@cup.hp.com>
14276
14277         * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
14278
14279 2002-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
14280
14281         * c-decl.c (grokdeclarator): Handle type being a typedef for an
14282         invalid type.
14283
14284 2002-01-30  David O'Brien  <obrien@FreeBSD.org>
14285
14286         * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
14287         * config/sparc/sparc_bi.h: Remove file.
14288         * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
14289
14290 2002-01-30  Richard Henderson  <rth@redhat.com>
14291
14292         * sched-deps.c (sched_analyze): Make a call read the frame pointer.
14293
14294 2002-01-30  Zack Weinberg  <zack@codesourcery.com>
14295
14296         * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
14297
14298 2002-01-30  Jason Merrill  <jason@redhat.com>
14299
14300         * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
14301         (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
14302         (reg_save): Use DW_CFA_offset_extended_sf instead.
14303
14304         * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
14305
14306 2002-01-29  Jakub Jelinek  <jakub@redhat.com>
14307
14308         * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
14309         in cselib_lookup.
14310
14311 2002-01-29  Aldy Hernandez  <aldyh@redhat.com>
14312
14313         * rs6000.md ("*call_value_local32"): Remove constraints.
14314         ("*call_value_local64"): Same.
14315         ("*call_value_indirect_nonlocal_aix32"): Same.
14316         ("*call_value_nonlocal_aix32"): Same.
14317         ("*call_value_indirect_nonlocal_aix64"): Same.
14318         ("*call_value_nonlocal_aix64"): Same.
14319         ("*call_value_nonlocal_sysv"): Same.
14320
14321 2002-01-29  Richard Henderson  <rth@redhat.com>
14322
14323         * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
14324
14325 2002-01-29  Richard Henderson  <rth@redhat.com>
14326
14327         * expr.c (force_operand): Ignore flag_pic for detecting pic
14328         address loads.
14329         * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
14330         for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
14331         * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
14332         instead of open-coded loop.
14333         * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
14334         be fixed when in use.
14335
14336 2002-01-29  Richard Henderson  <rth@redhat.com>
14337
14338         * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
14339         * sched-rgn.c (propagate_deps): Update them.
14340         * sched-deps.c (sched_analyze_insn): Update them.  Flush the
14341         clobbers list when either gets too long.
14342
14343 2002-01-29  Jakub Jelinek  <jakub@redhat.com>
14344
14345         * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
14346         and INDEX_REGS the same as GENERAL_REGS.
14347         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
14348
14349 2002-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
14350
14351         * tree.c (build_nonstandard_integer_type): Correct prototype.
14352
14353 2002-01-29  Ulrich Weigand  <uweigand@de.ibm.com>
14354
14355         * config/s390/s390.md (movstrsico, movstrdix_64,
14356         movstrsix_31): Remove, replace by ...
14357         (movstrdi_short, movstrsi_short, movstrdi_long,
14358         movstrsi_long): ... these.  New.
14359         (movstrdi, movstrsi): Adapt.
14360
14361         (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
14362         ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
14363         Remove unnecessary CC clobber.
14364         (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
14365         *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
14366
14367         (divmoddi4): Don't partially initialize TImode register.
14368
14369 2002-01-29  Geoffrey Keating  <geoffk@redhat.com>
14370
14371         * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
14372
14373 2002-01-29  Richard Henderson  <rth@redhat.com>
14374
14375         * flow.c (print_rtl_and_abort): Remove.
14376         (print_rtl_and_abort_fcn): Remove.
14377         (verify_local_live_at_start): Use dump_bb instead.
14378         (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
14379         (verify_wide_reg_1): Return 2 on mode test failure.
14380
14381 2002-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
14382
14383         PR c/3325, c/3326, c/2511, c/3347
14384         * c-decl.c (enum_decl_context): Remove BITFIELD.
14385         (grokdeclarator): Take bitfield width as an input.
14386         Ensure bitfields are given the correct type.  Perform
14387         bitfield width validation with build_bitfield_integer_type
14388         rather than waiting for finish_struct.
14389         (grok_typename, grok_typename_in_parm_context, start_decl,
14390         push_parmdecl, grokfield, start_function): Update calls to
14391         grokdeclarator.
14392         (build_bitfield_integer_type): New function.
14393         (finish_struct): Move bitfield validation to grokdeclarator
14394         and build_bitfield_integer_type.
14395         * tree.c (build_nonstandard_integer_type): New function.
14396         * tree.h (build_nonstandard_integer_type): New prototype.
14397 objc:
14398         * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
14399
14400 2002-01-29  Jakub Jelinek  <jakub@redhat.com>
14401
14402         PR other/1502:
14403         * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
14404         don't ignore unrecognized -W* options.
14405         (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
14406         * cpplib.h (cpp_handle_option): Adjust prototype.
14407         * c-decl.c (c_decode_options): Pass 0 as last argument to
14408         cpp_handle_option.
14409
14410         PR c/2896:
14411         * gcc.c (cpp_unique_options): Split from cpp_options.
14412         (cpp_options): Source cpp_unique_options.
14413         (default_compilers): Use cpp_unique_options instead of cpp_options
14414         when used together with cc1_options.
14415         (static_specs): Add cpp_unique_options.
14416         * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
14417         when used together with cc1_options.
14418
14419 2002-01-29  Kazu Hirata  <kazu@hxi.com>
14420
14421         * config/h8300/h8300-protos.h: Update the prototype of
14422         output_a_shift.
14423         * config/h8300/h8300.c (output_a_shift): Remove an unused
14424         argument 'insn'.  Remove redundant code.
14425         * config/h8300/h8300.md: Adust to the new prototype of
14426         output_a_shift.
14427
14428 2002-01-29  Kazu Hirata  <kazu@hxi.com>
14429
14430         * config/h8300/h8300-protos.h: Update the prototypes of
14431         emit_a_rotate and expand_a_rotate.
14432         * config/h8300/h8300.c (emit_a_rotate): Change the type of the
14433         first argument to 'enum rtx_code'.
14434         (expand_a_rotate): Likewise.
14435
14436 2002-01-28  Kazu Hirata  <kazu@hxi.com>
14437
14438         * config/h8300/h8300-protos.h: Update the prototype of
14439         output_simode_bld.
14440         * config/h8300/h8300.c (output_simode_bld): Remove an argumen
14441         'log2'.
14442         * config/h8300/h8300.md: Adjust to the new prototype.
14443
14444 2002-01-28  Kazu Hirata  <kazu@hxi.com>
14445
14446         * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
14447         redundant code.
14448
14449 2002-01-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14450
14451         * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
14452         is a fixed register before returning pic_offset_table_rtx.
14453         * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
14454         when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
14455
14456 2002-01-28  Jason Merrill  <jason@redhat.com>
14457
14458         * dwarf2.h: Sync with src version.
14459
14460 2002-01-28  Paul Koning  <pkoning@equallogic.com>
14461
14462         * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
14463         BT_FN_VOID_PTR_VAR.
14464         * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
14465         * doc/extend.texi (__builtin_prefetch): Update documentation:
14466         first argument is now const void ptr.
14467
14468 2002-01-28  Kazu Hirata  <kazu@hxi.com>
14469
14470         * config/h8300/h8300-protos.h: Remove an unused prototype.
14471
14472 2002-01-28  Roman Zippel  <zippel@linux-m68k.org>
14473
14474         * toplev.c (lang_independent_init): Round up identifier size.
14475
14476 2002-01-28  Richard Earnshaw  <rearnsha@arm.com>
14477
14478         * config.gcc: Revert previous change.
14479
14480 2002-01-28  Andris Pavenis  <pavenis@latnet.lv>
14481
14482         * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
14483
14484 2002-01-28  Richard Earnshaw  <rearnsha@arm.com>
14485
14486         * config.gcc (*-*-netbsdelf*): Set up generic parameters.
14487         (*-*-netbsd*): Always use collect2.  Remove collect2 settings from
14488         other non-elf netbsd config frags.
14489         * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
14490         collect2 will does that.
14491         * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
14492         shared-lib frobbing will work.
14493
14494 2002-01-28  Kazu Hirata  <kazu@hxi.com>
14495
14496         * config/h8300/h8300.h: Fix formatting.
14497         * config/h8300/h8300.md: Likewise.
14498
14499 2002-01-28  Loren J. Rittle  <ljrittle@acm.org>
14500
14501         * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
14502         the old, removed AAA_standards fix.
14503         * fixinc/fixincl.x: Rebuilt.
14504
14505 2002-01-28  Hans-Peter Nilsson  <hp@axis.com>
14506
14507         * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
14508         atexit call in crtbegin, hooked in after call to frame_dummy;
14509         register EH before registering __fini__start.
14510
14511 2002-01-28  Aldy Hernandez  <aldyh@redhat.com>
14512
14513         * config/rs6000/altivec.h: Remove spurious semicolons.
14514
14515 2002-01-27  Kazu Hirata  <kazu@hxi.com>
14516
14517         * config/h8300/h8300.md: Replace dead bit extraction patterns
14518         with ones that work.
14519
14520 Sun Jan 27 13:23:40 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14521
14522         * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
14523         if not STRICT_ALIGNMENT.
14524         * rtl.h (MEM_ALIGN): Likewise.
14525
14526 2002-01-27  Craig Rodrigues  <rodrigc@gcc.gnu.org>
14527
14528         * doc/invoke.texi (-fdump-translation-unit): Revert this
14529         patch: 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
14530
14531 2002-01-27  Kazu Hirata  <kazu@hxi.com>
14532
14533         * config/h8300/h8300.md (define_constants): New.
14534         (anonymous patterns) Use defined constants appropriately.
14535
14536 2002-01-27  Kazu Hirata  <kazu@hxi.com>
14537
14538         * config/h8300/h8300.c (function_arg): Remove redundant code.
14539
14540 2002-01-26  Richard Henderson  <rth@redhat.com>
14541
14542         * sched-deps.c (reg_pending_uses_head): New.
14543         (reg_pending_barrier): Rename from reg_pending_sets_all.
14544         (find_insn_list): Don't mark inline.
14545         (find_insn_mem_list): Remove.
14546         (add_dependence_list, add_dependence_list_and_free): New.
14547         (flush_pending_lists): Replace only_write param with separate
14548         for_read and for_write parameters.  Update all callers.  Use
14549         add_dependence_list_and_free.
14550         (sched_analyze_1): Do not add reg dependencies here; just set
14551         the pending bits.  Use add_dependence_list.
14552         (sched_analyze_2): Likewise.
14553         (sched_analyze_insn): Replace schedule_barrier_found with
14554         reg_pending_barrier.  Add all dependencies for pending reg
14555         uses, sets, and clobbers.
14556         (sched_analyze): Don't add reg dependencies for calls, just
14557         set pending bits.  Use regs_invalidated_by_call.  Treat
14558         sched_before_next_call as a normal list, not a fake insn.
14559         (init_deps): No funny init for sched_before_next_call.
14560         (free_deps): Free pending mems lists.  Don't zero reg_last.
14561         (init_deps_global): Init reg_pending_uses.
14562         (finish_deps_global): Free it.
14563         * sched-int.h (deps): Make in_post_call_group_p boolean.  Update docs.
14564         (find_insn_mem_list): Remove.
14565         * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
14566         (propagate_deps): Use them.  Zero temp mem lists.
14567
14568 2002-01-26  Richard Henderson  <rth@redhat.com>
14569
14570         * Makefile.in (CRTSTUFF_CFLAGS): New.
14571         (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
14572         * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
14573         crtstuff.c instead of alpha assembly version.
14574         * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
14575         entire dummy function sequence.  Use FORCE_CODE_SECTION_ALIGN
14576         not FORCE_{INIT,FINI}_SECTION_ALIGN.
14577         (__do_global_dtors_aux): Mark used.
14578         (frame_dummy, __do_global_ctors_aux): Mark used.
14579         (fini_dummy, init_dummy): Remove.
14580
14581         * config/alpha/crtbegin.asm: Remove file.
14582         * config/alpha/crtend.asm: Remove file.
14583         * config/alpha/t-crtbe: Remove file.
14584         * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
14585         (LINK_EH_SPEC): New.
14586
14587         * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
14588         FORCE_INIT_SECTION_ALIGN hack.  Register __fini_start before
14589         calling constructors.
14590         * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
14591
14592         * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
14593         * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
14594         CRT_END_INIT_DUMMY hack.
14595         * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
14596         FORCE_{INIT,FINI}_SECTION_ALIGN.
14597
14598         * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
14599         FORCE_{INIT,FINI}_SECTION_ALIGN.
14600
14601         * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
14602         invocation sequence.
14603         * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
14604
14605         * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
14606         (FORCE_CODE_SECTION_ALIGN): New.
14607
14608 2002-01-26  Richard Henderson  <rth@redhat.com>
14609
14610         * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
14611
14612 2002-01-26  Richard Henderson  <rth@redhat.com>
14613
14614         * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
14615         (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
14616
14617 2002-01-26  Kazu Hirata  <kazu@hxi.com>
14618
14619         * config/h8300/h8300.md: Remove bit extraction patterns that
14620         cannot be triggered.
14621         Restrict each bit extraction pattern to a variant on which the
14622         pattern is tested.
14623
14624 2002-01-26  Joseph S. Myers  <jsm28@cam.ac.uk>
14625
14626         * doc/include/texinfo.tex: Update to version 2002-01-04.07.
14627
14628 2002-01-26  Kazu Hirata  <kazu@hxi.com>
14629
14630         * config/h8300/h8300.md: Remove bit test patterns that cannot
14631         be triggered.
14632         Restrict each bit test pattern to a variant on which the
14633         pattern is tested.
14634
14635 2002-01-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14636
14637         * builtins.c (expand_builtin_strncat): Remove redundant check for
14638         INTEGER_CST.
14639
14640 2002-01-25  David O'Brien  <obrien@FreeBSD.org>
14641
14642         * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
14643         default setting.
14644         * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
14645         existing setting.
14646
14647 2002-01-25  Geoffrey Keating  <geoffk@redhat.com>
14648
14649         * dbxout.c (dbxout_init): Use assemble_name rather than just
14650         stripping off the first character.
14651         (dbxout_source_file): Likewise.
14652
14653 2002-01-25  DJ Delorie  <dj@redhat.com>
14654
14655         * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
14656         using rtx_equal_p, not by comparing pointers.
14657
14658 2002-01-25  Steve Ellcey  <sje@cup.hp.com>
14659
14660         * emit-rtl.c (gen_rtx_REG): Always return the same rtx
14661         for PIC_OFFSET_TABLE_REGNUM.
14662         (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
14663
14664 2002-01-25  David O'Brien  <obrien@FreeBSD.org>
14665
14666         * config.gcc (x86_64-*-freebsd*): New target.
14667         (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
14668         value.
14669         (i[34567]86-*-freebsd*): Don't include svr4.h.
14670         * config/i386/freebsd64.h: New file.
14671
14672 2002-01-25  Douglas B Rupp  <rupp@gnat.com>
14673
14674         * config/alpha/x-vms (version): Make static.
14675
14676         * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
14677         in previous checkin.
14678
14679         * Makefile.in (install-headers-cp): New target.
14680         * config.gcc (alpha-dec-*vms*): Install headers with
14681         install-headers-cp
14682
14683 Fri Jan 25 22:42:49 CET 2002  Jan Hubicka  <jh@suse.cz>
14684
14685         * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
14686         avoid it's copies.
14687
14688 Fri Jan 25 08:26:19 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14689
14690         * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
14691         of compare_tree_int.
14692         (expand_builtin_strncat): Likewise.
14693         * c-decl.c (finish_struct): Use tree_low_cst.
14694         * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
14695         * tree.c (compare_tree_int): Likewise.
14696
14697 2002-01-25  Ulrich Weigand  <uweigand@de.ibm.com>
14698
14699         * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
14700         adjustments even if they are implemented by more than two insns.
14701
14702 Fri Jan 25 20:43:56 CET 2002  Jan Hubicka  <jh@suse.cz>
14703
14704         * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
14705         * df.h (struct ref): Kill B.
14706         (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
14707
14708         * basic-block.h (PROP_EQUAL_NOTES): New flag.
14709         * flow.c (propagate_one_insn): Use it.
14710         (mark_used_regs): Handle NIL.
14711
14712 2002-01-25  Geoffrey Keating  <geoffk@redhat.com>
14713
14714         * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
14715         to help folding.
14716
14717 2002-01-25  David Edelsohn  <edelsohn@gnu.org>
14718
14719         * rs6000.md (prefetch): Make address V4SI mode so that the address
14720         is restricted to legitimate form for instruction.
14721
14722 2002-01-25  Bob Wilson  <bob.wilson@acm.org>
14723
14724         * doc/install.texi (xtensa-*-elf): New target.
14725         (xtensa-*-linux*): New target.
14726         * doc/contrib.texi: Add myself.
14727
14728 2002-01-25  Nick Clifton  <nickc@cambridge.redhat.com>
14729
14730         * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
14731         purpose register to hold an SImode (or smaller) value.
14732
14733 2002-01-25  Jakub Jelinek  <jakub@redhat.com>
14734
14735         * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
14736         registry only.
14737         * crtstuff.c: Likewise.
14738
14739 2002-01-25  Kazu Hirata  <kazu@hxi.com>
14740
14741         * config/h8300/h8300.md (negation patterns): Tighten
14742         predicates to register_operand.
14743
14744 2002-01-24  Aldy Hernandez  <aldyh@redhat.com>
14745
14746         * loop.c (emit_prefetch_instructions): Use the prefetch insn's
14747         mode, not Pmode.
14748
14749         * builtins.c (expand_builtin_prefetch): Same.
14750
14751 2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
14752
14753         * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
14754         modes.
14755
14756 2002-01-24  Kazu Hirata  <kazu@hxi.com>
14757
14758         * config/h8300/h8300.c (print_operand): Remove support for
14759         operand character 'A'.
14760         * config/h8300/h8300.md (three anonymous patterns): Replace
14761         operand character 'A' with either 'T' or 'S'.
14762
14763 2002-01-24  Kazu Hirata  <kazu@hxi.com>
14764
14765         * config/h8300/h8300.c (print_operand): Remove support for
14766         operand character 'U'.
14767
14768 2002-01-24  Andris Pavenis  <pavenis@latnet.lv>
14769
14770         * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
14771
14772 2002-01-24  Nick Clifton  <nickc@cambridge.redhat.com>
14773
14774         * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
14775         values to be assigned to the stack pointer.
14776
14777 2002-01-14  Hartmut Penner  <hpenner@de.ibm.com>
14778
14779         * emit_rtl.c (gen_lowpart_common): Conversion from const_int
14780         to const_double needs to be done right for big-endian systems.
14781
14782 2002-01-24  Jason Merrill  <jason@redhat.com>
14783
14784         PR c++/2432
14785         * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
14786         to can_throw_internal.
14787
14788 2002-01-23  Richard Henderson  <rth@redhat.com>
14789
14790         * fold-const.c (fold): Change UINT_MAX test to check vs precision
14791         rather than TYPE_MAX_VALUE.  Fix indentation and a bogus negation.
14792
14793 2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
14794
14795         * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
14796         (symGOT2reg): Use them, then set as GOT value as unchanging.
14797         (symGOTOFF2reg): Set REG_EQUAL note.  Use a different pseudo
14798         as a temporary, if possible.
14799         (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC.  Emit
14800         sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
14801
14802 2002-01-23  Kazu Hirata  <kazu@hxi.com>
14803
14804         * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
14805         accept to accept 0x80 as operands[2].
14806
14807 2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
14808
14809         * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
14810
14811 2002-01-23  Richard Henderson  <rth@redhat.com>
14812
14813         * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
14814
14815 2002-01-23  Aldy Hernandez  <aldyh@redhat.com>
14816
14817         * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
14818         (parmlist_or_identifiers_1): Verify that only a parmlist follows
14819         an attribute.
14820
14821 2002-01-23  Richard Henderson  <rth@redhat.com>
14822
14823         * expr.c (move_by_pieces_1): Extend size before negation.
14824
14825         * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
14826         (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
14827         (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
14828         * config/m68k/t-m68kelf: Likewise.
14829
14830 2002-01-23  Bob Wilson  <bob.wilson@acm.org>
14831
14832         * config/xtensa/elf.h: New file.
14833         * config/xtensa/lib1funcs.asm: New file.
14834         * config/xtensa/lib2funcs.S: New file.
14835         * config/xtensa/linux.h: New file.
14836         * config/xtensa/t-xtensa: New file.
14837         * config/xtensa/xtensa-config.h: New file.
14838         * config/xtensa/xtensa-protos.h: New file.
14839         * config/xtensa/xtensa.c: New file.
14840         * config/xtensa/xtensa.h: New file.
14841         * config/xtensa/xtensa.md: New file.
14842         * config.gcc (xtensa-*-elf*): New target.
14843         (xtensa-*-linux*): New target.
14844         * cse.c (canon_hash): Compare rtx pointers instead of register
14845         numbers.  This is required for the Xtensa port.
14846         * integrate.c (copy_insn_list): Handle case where the static
14847         chain is in memory and the memory address has to be copied to
14848         a register.
14849         * doc/invoke.texi (Option Summary): Add Xtensa options.
14850         (Xtensa Options): New node.
14851         * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
14852
14853 2002-01-23  Zack Weinberg  <zack@codesourcery.com>
14854
14855         * diagnostic.c (internal_error): Do ICE suppression only
14856         when ENABLE_CHECKING is not defined.
14857
14858         * c-typeck.c (require_complete_type): Return error_mark_node
14859         if type is error_mark_node.
14860
14861 2002-01-23  Janis Johnson  <janis187@us.ibm.com>
14862
14863         * toplev.c (process_options): Disable -fprefetch-loop-arrays with
14864         -Os and issue a warning.
14865
14866 2002-01-23  Zack Weinberg  <zack@codesourcery.com>
14867
14868         * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
14869         current (lack of) need for host configuration by hand.
14870
14871         * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
14872         references.  Documentation of some target macros moved from
14873         hostconfig.texi to tm.texi.
14874
14875 2002-01-23  Will Cohen  <wcohen@redhat.com>
14876
14877         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
14878         defined.
14879
14880 2002-01-23  Kazu Hirata  <kazu@hxi.com>
14881
14882         * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
14883         operand[3].
14884
14885 2002-01-23  Jason Merrill  <jason@redhat.com>
14886
14887         * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
14888
14889         * function.c (assign_parms): Don't put args of inline functions
14890         into registers when not optimizing.
14891
14892 2002-01-23  Nick Clifton  <nickc@cambridge.redhat.com>
14893
14894         * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
14895         (prologue_use): New pattern.
14896         * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
14897         preference to gen_rtx_USE.
14898         (thumb_expand_prologue): Use gen_prologue_use in preference to
14899         gen_rtx_USE.
14900         (thumb_expand_epilogue): Use gen_prologue_use in preference to
14901         gen_rtx_USE.
14902
14903 2002-01-23  Hans-Peter Nilsson  <hp@bitrange.com>
14904
14905         * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
14906
14907 2002-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>
14908
14909         PR c/3504
14910         * doc/extend.texi: Correct documentation of __alignof__.
14911
14912 2002-01-22  Zack Weinberg  <zack@codesourcery.com>
14913
14914         * params.h: Rename arguments of DEFPARAM so that it will be
14915         recognized as a translation keyword.
14916
14917 2002-01-22  Aldy Hernandez  <aldyh@redhat.com>
14918
14919         * extend.texi: Document altivec functions.
14920         Fix N-bit adjectives in X86 builtin documentation.
14921
14922 2002-01-22  Alexandre Oliva  <aoliva@redhat.com>
14923
14924         * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
14925         auto_inc_dec values.
14926
14927 2002-01-22  Richard Earnshaw  <rearnsha@arm.com>
14928
14929         * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
14930         after backslash.
14931         (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
14932
14933 2002-01-22  Alexandre Oliva  <aoliva@redhat.com>
14934
14935         * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
14936
14937 2002-01-22  Richard Henderson  <rth@redhat.com>
14938
14939         * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
14940         copy_insn not copy_rtx.
14941
14942 2002-01-23  Alan Modra  <amodra@bigpond.net.au>
14943
14944         * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
14945         "nonzero" as that might add "1" bits.  Ensure "constop" is
14946         properly sign extened.
14947         (force_to_mode): Tweak for sign extended constop.
14948
14949 2002-01-22  Richard Henderson  <rth@redhat.com>
14950
14951         * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
14952         for_each_rtx instead of assuming we're already looking at the MEM.
14953         (split_small_symbolic_mem_operand): Likewise.
14954         * config/alpha/alpha.h (PREDICATE_CODES): Update.
14955         * config/alpha/alpha.md (small symbolic memory splitters): Update.
14956
14957 2002-01-22  Richard Henderson  <rth@redhat.com>
14958
14959         * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
14960         sequence number for the literal.
14961         (divmoddi_internal_er): Likewise.
14962
14963 2002-01-22  Craig Rodrigues  <rodrigc@gcc.gnu.org>
14964
14965         PR java/4972
14966         * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
14967         in LIBICONV variable.
14968         * configure: Regenerated.
14969
14970 2002-01-22  Krister Walfridsson  <cato@df.lth.se>
14971
14972         * dependence.c (build_def_use): Remove array_idx.
14973
14974         * dwarfout.c (last_filename): Remove.
14975         (output_compile_unit_die): Remove last_filename.
14976
14977 2002-01-22  Roger Sayle  <roger@eyesopen.com>
14978             Richard Henderson  <rth@redhat.com>
14979
14980         PR opt/3640
14981         * fold-const.c (fold): Optimize unsigned comparisons against
14982         UINT_MAX (and similar unsigned constants).
14983
14984 2002-01-22  Janis Johnson  <janis187@us.ibm.com>
14985
14986         * Makefile.in (loop.o): Depend on OPTABS_H.
14987         * loop.c (emit_prefetch_instructions): Check the prefetch operand
14988         against the predicate.
14989
14990         PR target/5379
14991         * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
14992         for the address operand.
14993
14994 2002-01-22  Richard Henderson  <rth@redhat.com>
14995
14996         * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
14997
14998 2002-01-22  Craig Rodrigues  <rodrigc@gcc.gnu.org>
14999
15000         PR other/5450
15001         * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
15002         preprocessor flags.
15003
15004 2002-01-22  Jason Thorpe  <thorpej@wasabisystems.com>
15005
15006         * config.gcc (x86_64-*-netbsd*): New target.
15007         * config/i386/netbsd64.h: New file.
15008
15009 2002-01-22  Aldy Hernandez  <aldyh@redhat.com>
15010
15011         * regrename.c (kill_value): Fix typo.
15012
15013 2002-01-22  Aldy Hernandez  <aldyh@redhat.com>
15014
15015         * doc/tm.texi: Remove STARTING_FRAME_PHASE.
15016
15017         * config/rs6000/rs6000.h: Same.
15018
15019         * function.c (instantiate_virtual_regs): Remove
15020         STARTING_FRAME_PHASE.
15021         (assign_stack_local_1): Same.
15022         Calculate frame phase.
15023
15024 2002-01-22  Nick Clifton  <nickc@redhat.com>
15025
15026         * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
15027         variable declaration to outer scope in order to simplify
15028         future extensions.
15029         (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
15030         arm_hard_regno_mode_ok.
15031         * config/arm/arm-protos.h: Add a prototype for
15032         arm_hard_regno_mode_ok.
15033         * config/arm/arm.c (soft_df_operand): Remove now redundant
15034         check for DImode values using IP_REGNUM.
15035         (nonimmediate_soft_df_operand): Remove now redundant check for
15036         DImode values using IP_REGNUM.
15037         (arm_hard_regno_mode_ok): New function. New check: make sure
15038         that DImode values are not stored in IP_REGNUM.
15039
15040         * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
15041         note with a USE.
15042         (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
15043
15044 2002-01-22  Jason Merrill  <jason@redhat.com>
15045
15046         * c-semantics.c (genrtl_compound_stmt): Only check nesting
15047         consistency if this COMPOUND_STMT is scoped.
15048
15049 2002-01-22  Kazu Hirata  <kazu@hxi.com>
15050
15051         * predict.c: Fix formatting.
15052         * print-tree.c: Likewise.
15053         * protoize.c: Likewise.
15054         * real.h: Likewise.
15055         * rtl.h: Likewise.
15056         * sbitmap.h: Likewise.
15057         * scan.c: Likewise.
15058         * sched-deps.c: Likewise.
15059         * sched-vis.c: Likewise.
15060         * sdbout.c: Likewise.
15061         * sibcall.c: Likewise.
15062         * ssa.c: Likewise.
15063         * ssa-ccp.c: Likewise.
15064         * ssa-dce.c: Likewise.
15065         * stmt.c: Likewise.
15066         * stor-layout.c: Likewise.
15067         * system.h: Likewise.
15068
15069 Tue Jan 22 06:26:33 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15070
15071         * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
15072         if fits in bounds of base type.
15073
15074         * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
15075         (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
15076         (add_bound_info, default): If can't find a context, make a
15077         SAVE_EXPR.
15078         (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
15079
15080 2002-01-22  Hans-Peter Nilsson  <hp@axis.com>
15081
15082         * c-typeck.c (parser_build_binary_op): If result from
15083         build_binary_op is ERROR_MARK just return error_mark_node without
15084         further processing.
15085
15086 2002-01-21  Jason Thorpe  <thorpej@wasabisystems.com>
15087
15088         * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
15089         Split a.out-specific bits into...
15090         * config/netbsd-aout.h: ...this.
15091         * config/netbsd-elf.h: New file.
15092         * config/alpha/netbsd-elf.h: Remove.
15093         * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
15094         * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
15095         (STARTFILE_SPEC): Remove redundant definition.
15096         (ENDFILE_SPEC): Likewise.
15097         (LINK_SPEC): Likewise.
15098         (CPP_SPEC): Likewise.
15099         (ASM_SPEC): Likewise.
15100         (LIB_SPEC): Likewise.
15101         (SWITCH_TAKES_ARG): Likewise.
15102         (TARGET_MEM_FUNCTIONS): Likewise.
15103         (CPP_PREDEFINES): Redefine.
15104         (ASM_FINAL_SPEC): Remove redefinition.
15105         (ASM_COMMENT_START): Redefine.
15106         (FUNCTION_PROFILER): Define.
15107         (TARGET_VERSION): Redefine.
15108         Comment and formatting cleanup.
15109         * config/i386/netbsd.h: Include <netbsd-aout.h>.
15110         * config/m68k/netbsd.h: Include <netbsd-aout.h>.
15111         * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
15112         big- or little-endian.
15113         * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
15114         * config.gcc (*-*-netbsd*): Add definitions common to all
15115         NetBSD configs.
15116         (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
15117         gnu_ld definitions.  Add netbsd-elf.h to and remove
15118         alpha/netbsd-elf.h from tm_file.  Remove alpha/t-crtfm from
15119         tmake_file, and don't lose previous tmake_file contents.
15120         (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
15121         (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
15122         gnu_ld definitions.  Add netbsd-elf.h to tm_file.
15123         (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
15124         (mipsel-*-netbsd*): Rename this to...
15125         (mips*-*-netbsd*): ...this.  Add elfos.h to tm_file.  Add
15126         mips/little.h to tm_file for mips*el-*.
15127         (powerpc-*-netbsd*): Remove redundant xm_defines definition.
15128         (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
15129         (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
15130
15131 2002-01-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15132
15133         * pa-protos.h (reg_before_reload_operand): New function prototype.
15134         * pa.c (reg_before_reload_operand): New function implementation.
15135         * pa.md (decrement_and_branch_until_zero, movb): Use it.  Change "!*m"
15136         contraints to "*m".
15137
15138 2002-01-21  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
15139
15140         * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
15141
15142 2002-01-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15143
15144         * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
15145         (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
15146         (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
15147         (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
15148         (ENDFILE_SPEC): Undefine.
15149         (STARTFILE_SPEC): Redefine for PA.
15150
15151 2002-01-21  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
15152
15153         * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
15154
15155 2002-01-21  Daniel Jacobowitz  <drow@mvista.com>
15156
15157         * config.gcc: Add entries to supported PowerPC --with-cpu
15158         types.
15159
15160 2002-01-21  Jakub Jelinek  <jakub@redhat.com>
15161
15162         * config/i386/i386.c (ix86_function_arg_regno_p): Never return
15163         true for 64-bit mode only SSE registers in 32-bit mode.
15164
15165 2002-01-21  Kazu Hirata  <kazu@hxi.com>
15166
15167         * unwind-dw2.c: Fix formatting.
15168         * unwind-dw2-fde.c: Likewise.
15169         * unwind-dw2-fde.h: Likewise.
15170         * unwind-pe.h: Likewise.
15171         * varasm.c: Likewise.
15172         * varray.h: Likewise.
15173
15174 2002-01-21  Hans-Peter Nilsson  <hp@bitrange.com>
15175
15176         Remove workaround for register stack overwrite bug in mmix.
15177         * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
15178         support for TARGET_REG_STACK_FILL_BUG.
15179         * config/mmix/mmix.h: Remove member has_call_without_parameters.
15180         (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
15181         Delete.
15182         (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
15183         (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
15184         -mno-reg-stack-fill-bug-workaround.
15185         * config/mmix/mmix.md ("call", "call_value"): Don't set struct
15186         machine member has_call_without_parameters.
15187         * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
15188         -mreg-stack-fill-bug-workaround and
15189         -mno-reg-stack-fill-bug-workaround.
15190         (MMIX Options): Ditto.
15191
15192 2002-01-21  Kazu Hirata  <kazu@hxi.com>
15193
15194         * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
15195         as appropriate.
15196         Remove redundant code.
15197
15198 2002-01-21  Joseph S. Myers  <jsm28@cam.ac.uk>
15199
15200         * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
15201         config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
15202         config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
15203         config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
15204         config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
15205         out target macro definitions and non-target-specific comments
15206         mostly taken from old versions of the manual.
15207
15208 2002-01-20  Kazu Hirata  <kazu@hxi.com>
15209
15210         * config/h8300/h8300.h: Fix comment formatting.
15211         * config/ia64/aix.h: Likewise.
15212         * config/ia64/ia64-protos.h: Likewise.
15213         * config/ia64/ia64.c: Likewise.
15214         * config/ia64/ia64.h: Likewise.
15215         * config/ia64/ia64intrin.h: Likewise.
15216         * config/ia64/linux.h: Likewise.
15217         * config/ia64/unwind-aix.c: Likewise.
15218         * config/ia64/unwind-ia64.c: Likewise.
15219
15220 2002-01-20  Kazu Hirata  <kazu@hxi.com>
15221
15222         * config/h8300/h8300.c: Revise comments about shift code.
15223
15224 2002-01-20  Kazu Hirata  <kazu@hxi.com>
15225
15226         * config/h8300/h8300.c (function_arg): Update a comment.
15227
15228 2002-01-20  Kazu Hirata  <kazu@hxi.com>
15229
15230         * config/h8300/h8300.md: Update the comments at the beginning
15231         of the file.
15232
15233 2002-01-20  Kazu Hirata  <kazu@hxi.com>
15234
15235         * config/i370/i370.c: Fix comment formatting.
15236         * config/i370/i370.h: Likewise.
15237         * config/i370/i370.md: Likewise.
15238         * config/i370/linux.h: Likewise.
15239
15240 Sun Jan 20 18:40:14 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15241
15242         * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
15243
15244         * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
15245         (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
15246         in incomplete case.
15247
15248 2002-01-20  Graham Stott  <grahams@redhat.com>
15249
15250         * cfgloop.c (flow_loop_preheader_scan): Fix typo.
15251
15252 2002-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15253
15254         * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
15255
15256 2002-01-19  Tom Rix  <trix@redhat.com>
15257
15258         * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
15259
15260 2002-01-18  Aldy Hernandez  <aldyh@redhat.com>
15261
15262         * doc/tm.texi (STARTING_FRAME_PHASE): Document.
15263
15264         * function.c (assign_stack_local_1): Adjust x_frame_offset with
15265         STARTING_FRAME_PHASE.
15266         (STARTING_FRAME_PHASE): New.
15267         (instantiate_virtual_regs): Check saneness of
15268         STARTING_FRAME_PHASE.
15269
15270         * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
15271
15272 2002-01-19  Alexandre Oliva  <aoliva@redhat.com>
15273
15274         * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
15275
15276 2002-01-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
15277
15278         * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
15279         be used for bootstrapping GCC 3.0.
15280
15281 2002-01-18  Kazu Hirata  <kazu@hxi.com>
15282
15283         * config/h8300/h8300.md: Fix an insn length.
15284
15285 2002-01-18  Kazu Hirata  <kazu@hxi.com>
15286
15287         * bitmap.h: Fix comment formatting.
15288         * combine.c: Likewise.
15289         * cppfiles.c: Likewise.
15290         * c-pragma.h: Likewise.
15291         * c-typeck.c: Likewise.
15292         * df.c: Likewise.
15293         * dwarf2out.c: Likewise.
15294         * function.c: Likewise.
15295         * gcc.c: Likewise.
15296         * genattrtab.c: Likewise.
15297         * gthr-win32.h: Likewise.
15298         * haifa-sched.c: Likewise.
15299         * predict.c: Likewise.
15300         * rtlanal.c: Likewise.
15301         * rtl.h: Likewise.
15302         * unwind-dw2-fde.h: Likewise.
15303         * unwind-pe.h: Likewise.
15304         * vmsdbgout.c: Likewise.
15305
15306 Thu Jan 17 15:28:26 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15307
15308         * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
15309         if type_required and passed decl.
15310
15311 2002-01-17  Aldy Hernandez  <aldyh@redhat.com>
15312
15313         * config.gcc (cpu_type): Include altivec.h in powerpc
15314         extra_headers.
15315         Same for darwin.
15316
15317         * config/rs6000/altivec.h: New.
15318
15319 2002-01-17  David Edelsohn  <edelsohn@gnu.org>
15320
15321         * doc/install.texi (*-ibm-aix*): Update assembler and exception
15322         handling information.
15323         * doc/trouble.texi (Interoperation): Add libstdc++ information
15324         for AIX.
15325         (Misunderstandings): Add template instantiation and static template
15326         member information for AIX.
15327
15328 2002-01-17  Jason Merrill  <jason@redhat.com>
15329
15330         * dbxout.c (dbxout_type): Support const and volatile.
15331
15332         * except.c (add_partial_entry): Remove backwards compatibility code.
15333         (end_protect_partials): Likewise.
15334
15335 2002-01-17  Jakub Jelinek  <jakub@redhat.com>
15336
15337         * config/ia64/ia64.md (prologue_use): New.
15338         * config/ia64/ia64.c (ia64_expand_prologue): Use
15339         gen_prologue_use instead of gen_rtx_USE.
15340         (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
15341         as CODE_FOR_pred_rel_mutex.
15342         (ia64_sched_reorder2): Likewise.
15343
15344 2002-01-16  Eric Christopher  <echristo@redhat.com>
15345
15346         * config/mips/r3900.h: Reformat.
15347         (SUBTARGET_CPP_SIZE_SPEC): Remove.
15348         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
15349         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
15350         (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
15351         * config/mips/t-elf: Remove mips3 multilib.
15352
15353 2002-01-16  H.J. Lu <hjl@gnu.org>
15354
15355         * config/mips/linux.h: Include "mips/abi64.h".
15356
15357 2002-01-16  H.J. Lu <hjl@gnu.org>
15358
15359         * config/mips/t-linux: New.
15360
15361         * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
15362
15363         * config/mips/linux.h: Don't include "gofast.h".
15364         (INIT_SUBTARGET_OPTABS): Removed.
15365
15366 2002-01-16  Kazu Hirata  <kazu@hxi.com>
15367
15368         * config/h8300/h8300-protos.h: Replace emit_a_shift with
15369         output_a_shift.
15370         * config/h8300/h8300.c: Likewise.
15371         * config/h8300/h8300.md: Likewise.
15372
15373 2002-01-16  Kazu Hirata  <kazu@hxi.com>
15374
15375         * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
15376         spaces after an opcode name.
15377         (pushqi1_h8300hs): Likewise.
15378         (pushhi1_h8300hs): Likewise.
15379
15380 2002-01-16  Kazu Hirata  <kazu@hxi.com>
15381
15382         * doc/extend.texi: Replace "option" with "attribute"
15383         appropriately.
15384
15385 2002-01-16  Jakub Jelinek  <jakub@redhat.com>
15386
15387         * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
15388         (and:DI () (const_int -8)).
15389         (split_small_symbolic_mem_operand): Split
15390         (mem (and:DI () (const_int -8)).
15391
15392 2002-01-16  Jakub Jelinek  <jakub@redhat.com>
15393
15394         PR target/5309:
15395         * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
15396         same way as TYPE_IMUL.
15397         (ultrasparc_sched_reorder): Likewise.
15398         * config/sparc/sparc.md (type): Add comment to update
15399         ultrasparc_sched_reorder when making changes.
15400
15401 2002-01-16  Kazu Hirata  <kazu@hxi.com>
15402
15403         * doc/invoke.texi: Change the dump file name of block
15404         reordering pass from 28.bbro to 29.bbro.
15405         Mention -dk option.
15406
15407 Wed Jan 16 17:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
15408
15409         * i386.md (minsf splitter): Fix pasto.
15410
15411 2002-01-16  Nick Clifton  <nickc@cambridge.redhat.com>
15412
15413         * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
15414         to frame pointer initialisation instruction.
15415         (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
15416         initialisation instruction.
15417         (soft_df_operand): Do not accept the IP register.
15418         (nonimmediate_soft_df_operand): Do not accept the IP register.
15419
15420 2002-01-16  Jakub Jelinek  <jakub@redhat.com>
15421
15422         PR target/5357:
15423         * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
15424         MASK_V8 being both set.
15425
15426 2002-01-16  Ulrich Weigand  <uweigand@de.ibm.com>
15427
15428         * config/s390/s390.c (s390_emit_prologue): Do not emit USE
15429         insn for GOT register; add REG_MAYBE_DEAD notes instead.
15430         config/s390/s390.md (call, call_value): Add GOT register to
15431         CALL_INSN_FUNCTION_USAGE where needed.
15432         (call_exp, call_value_exp): New.
15433
15434 2002-01-16  Nick Clifton  <nickc@cambridge.redhat.com>
15435
15436         * config/arm/arm.c: General formatting tidy up.
15437
15438 2002-01-16  Graham Stott  <grahams@redhat.com>
15439
15440         * calls.c (try_to_integrate): Use "(size_t)" intermediate
15441         cast and when casting an integer literal to "rtx" pointer.
15442         (expand_call): Likewise.
15443         * flow.c (try_pre_increment): Likewise.
15444         (find_use_as_address): Likewise.
15445         * integrate.c (expand_iline_function): Likewise.
15446         * regmove.c (try_auto_increment): Likewise.
15447
15448 2002-01-16  Graham Stott  <grahams@redhat.com>
15449
15450         * sched-rgn.c (passed): Use sbitmap_free.
15451         (header): Likewise.
15452         (inner): Likewise.
15453         (in_queue): Likewise.
15454         (in_stack): Likewise.
15455
15456 2002-01-15  Eric Christopher  <echristo@redhat.com>
15457
15458         * flow.c (propagate_one_insn): Change to use fatal_insn.
15459
15460 2002-01-15  Kazu Hirata  <kazu@hxi.com>
15461
15462         * expmed.c (extract_fixed_bit_field): Remove unused code.
15463         * system.h: Poison SLOW_ZERO_EXTEND.
15464         * doc/tm.texi: Remove.
15465         * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
15466         * config/arm/arm.h: Likewise.
15467         * config/avr/avr.h: Likewise.
15468         * config/clipper/clipper.h: Likewise.
15469         * config/convex/convex.h: Likewise.
15470         * config/d30v/d30v.h: Likewise.
15471         * config/dsp16xx/dsp16xx.h: Likewise.
15472         * config/elxsi/elxsi.h: Likewise.
15473         * config/fr30/fr30.h: Likewise.
15474         * config/h8300/h8300.h: Likewise.
15475         * config/i370/i370.h: Likewise.
15476         * config/i386/i386.h: Likewise.
15477         * config/m68k/m68k.h: Likewise.
15478         * config/mips/mips.h: Likewise.
15479         * config/ns32k/ns32k.h: Likewise.
15480         * config/pdp11/pdp11.h: Likewise.
15481         * config/pj/pj.h: Likewise.
15482         * config/s390/s390.h: Likewise.
15483         * config/sh/sh.h: Likewise.
15484         * config/stormy16/stormy16.h: Likewise.
15485         * config/v850/v850.h: Likewise.
15486         * config/vax/vax.h: Likewise.
15487         * config/we32k/we32k.h: Likewise.
15488
15489 2002-01-15  Aldy Hernandez  <aldyh@redhat.com>
15490
15491         * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
15492         (altivec_lvsl): Change constraint to b.
15493         (altivec_lvsr): Same.
15494         (altivec_lvebx): Same.
15495         (altivec_lvehx): Same.
15496         (altivec_lvewx): Same.
15497         (altivec_lvxl): Same.
15498         (altivec_lvx): Same.
15499         (altivec_stvx): Add parallel.
15500         (altivec_stvxl): Same.
15501         (altivec_stvehx): Same.
15502         (altivec_stvebx): Same.
15503         (altivec_stvebx): Same.
15504
15505 2002-01-15  Aldy Hernandez  <aldyh@redhat.com>
15506
15507         * config.gcc: Change altivec.h to altivec-defs.h.
15508
15509         * config/rs6000/altivec.h: Delete.
15510
15511         * config/rs6000/altivec-defs.h: Add.
15512
15513 2002-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15514
15515         * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
15516         and UMOD modes.
15517
15518         * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
15519         less than or equal to eight bytes.
15520
15521         * vax.md (andsi3): Remove constraints and change SET destination
15522         operand type to nonimmediate_operand.
15523         (andhi3, andqi3): Likewise.  Don't clear high order bits of operand 1
15524         when it is a CONST_INT.
15525
15526 2002-01-15  Jason Merrill  <jason@redhat.com>
15527
15528         * c-common.def (FILE_STMT): New code.
15529         * c-common.c (statement_code_p): It's a statement.
15530         * c-common.h (stmt_tree_s): Add x_last_filename.
15531         (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
15532         (last_expr_filename): New macro.
15533         * c-semantics.c (begin_stmt_tree): Initialize it.
15534         (add_stmt): If the filename changed, also insert a
15535         FILE_STMT.
15536         (expand_stmt): Handle seeing one.
15537
15538 2002-01-15  Eric Christopher  <echristo@redhat.com>
15539
15540         * flow.c (propagate_one_insn): Add error message and print out
15541         insn for debugging.
15542
15543 2002-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
15544
15545         * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
15546         ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
15547         * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
15548         TRAMPOLINE_ALIGNMENT.
15549         * config/arm/arm.h, config/mcore/mcore.h: Likewise.  Change value
15550         to be in bits.
15551         * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
15552         PCC_BITFIELD_TYPE_MATTERS.
15553         * config/interix.h (STDC_VALUE): Remove.  Use
15554         STDC_0_IN_SYSTEM_HEADERS.
15555         * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
15556         (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
15557         ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
15558
15559 2002-01-15  Craig Rodrigues  <rodrigc@gcc.gnu.org>
15560
15561         * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
15562         not work on this platform currently.
15563
15564 2002-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
15565
15566         * c-typeck.c (build_unary_op): Don't wrap msgid argument of
15567         readonly_warning in _().
15568
15569 2002-01-15  Douglas B Rupp  <rupp@gnat.com>
15570
15571         * gcc.c (delete_if_ordinary): Backout previous change.
15572
15573 2002-01-15  Kazu Hirata  <kazu@hxi.com>
15574
15575         * config/h8300/h8300.c (print_operand): Remove support for
15576         unused operand characters.
15577
15578         * read-rtl.c: Fix formatting.
15579         * real.c: Likewise.
15580         * recog.c: Likewise.
15581         * regclass.c: Likewise.
15582         * regmove.c: Likewise.
15583         * reg-stack.c: Likewise.
15584         * reload1.c: Likewise.
15585         * rtlanal.c: Likewise.
15586
15587 2002-01-15  Kazu Hirata  <kazu@hxi.com>
15588
15589         * config/i386/i386.c: Fix formatting.
15590
15591 2002-01-15  Jakub Jelinek  <jakub@redhat.com>
15592
15593         * c-typeck.c (process_init_element): Don't save_expr
15594         COMPOUND_LITERAL_EXPR if just its initializer will be used.
15595
15596 2002-01-15  David Edelsohn  <edelsohn@gnu.org>
15597
15598         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
15599         emit optional traceback table if optimize_size or TARGET_ELF.
15600         * config/rs6000/rs6000.md (prefetch): New.
15601
15602 2002-01-15  Andreas Jaeger  <aj@suse.de>
15603
15604         * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
15605
15606 2002-01-15  Kazu Hirata  <kazu@hxi.com>
15607
15608         * mips-tfile.c: Fix formatting.
15609
15610 Tue Jan 15 00:56:11 CET 2002  Jan Hubicka  <jh@suse.cz>
15611
15612         * unroll.c (final_reg_note_copy): Fix previous commit.
15613
15614 2002-01-14  Kazu Hirata  <kazu@hxi.com>
15615
15616         * config/h8300/h8300-protos.h: Remove the prototype for
15617         eq_operator.
15618         * config/h8300/h8300.c (eq_operator): Remove.
15619
15620 2002-01-14  Richard Henderson  <rth@redhat.com>
15621
15622         * config/i386/i386.md (prefetch): Tidy.
15623         (prefetch_3dnow): Fix locality operand.
15624
15625 2002-01-14  Richard Henderson  <rth@redhat.com>
15626
15627         * config/mips/mips.h (HI_AND_FP_REGS): New register class.
15628         (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
15629
15630 2002-01-14  Hans-Peter Nilsson  <hp@bitrange.com>
15631
15632         * reload1.c (reload_combine): Pass reg_sum replacement through
15633         copy_rtx in loop performing multiple changes.
15634
15635 2002-01-14  Jakub Jelinek  <jakub@redhat.com>
15636
15637         * except.c (remove_unreachable_regions): New.
15638         (free_eh_status): Clear exception_handler_labels.
15639         (convert_from_eh_region_ranges): Call remove_unreachable_regions.
15640         (find_exception_handler_labels): Don't add the same label more than
15641         once.
15642         (remove_exception_handler_label): Don't die if
15643         find_exception_handler_labels hasn't been called for the current
15644         function yet.
15645
15646 Mon Jan 14 21:26:13 CET 2002  Jan Hubicka  <jh@suse.cz>
15647
15648         * toplev.c (rest_of_compilation): Rebuild jump labels after
15649         gcse.
15650
15651 2002-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>
15652
15653         * doc/extend.texi: Move documentation of X86 built-in functions
15654         here.
15655         * doc/invoke.texi: From here.
15656         * doc/sourcebuild.texi: Document location of documentation for
15657         machine built-in functions.
15658
15659 2002-01-13  Christopher Faylor  <cgf@redhat.com>
15660
15661         * cppfiles.c (TEST_THRESHOLD): New macro.
15662         (SHOULD_MMAP): Ditto.
15663         (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
15664         be used.
15665
15666 Mon Jan 14 20:23:34 CET 2002  Jan Hubicka  <jh@suse.cz>
15667
15668         * unroll.c (final_reg_note_copy): Properly handle
15669         REG_LABEL
15670         (unroll_loops): Fix LOOP_CONDITION heuristics.
15671
15672 2002-01-14  Geoffrey Keating  <geoffk@redhat.com>
15673
15674         * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
15675         * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
15676
15677 Mon Jan 14 20:18:19 CET 2002  Jan Hubicka  <jh@suse.cz>
15678
15679         * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
15680         threaded loop.
15681
15682 2002-01-14  Tom Rix  <trix@redhat.com>
15683
15684         * config/rs6000/rs6000.md: Fix typo with sradi.
15685
15686 2002-01-14  Ulrich Weigand  <uweigand@de.ibm.com>
15687
15688         * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
15689         movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
15690         (clrstrdi, clrstrsi): Adapt callers.
15691
15692         (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
15693
15694         (movti splitter): Never use register 0 as base register.
15695
15696 2002-01-14  Hartmut Penner  <hpenner@de.ibm.com>
15697
15698         * combine.c (simplify_shift_const): Always generate new rtx
15699         for shift expression instead of reusing given expression.
15700
15701 Mon Jan 14 07:08:55 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15702
15703         * config/alpha/alpha.c (alpha_expand_mov): Don't call
15704         alpha_legitimize_address unless mode is Pmode.
15705
15706 2002-01-13  Geoffrey Keating  <geoffk@redhat.com>
15707
15708         * doc/md.texi (Modifiers): Document the '*' constraint for the
15709         user.
15710
15711         * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
15712         * doc/extend.texi (Function Attributes): 'interrupt' is valid
15713         for xstormy16 too.
15714
15715 2002-01-13  Richard Henderson  <rth@redhat.com>
15716
15717         * reload.c (find_reloads): Use a hard reg destination as reload reg
15718         for an input reload of the source.
15719
15720 2002-01-13  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
15721
15722         * doc/install.texi (Binaries): Make link to ftp.writtenword.com
15723         more generic.
15724
15725 Sun Jan 13 07:23:01 2002  Douglas B Rupp  <rupp@gnat.com>
15726
15727         * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
15728         * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
15729
15730         * config/alpha/x-vms (USE_COLLECT2): Set to empty.
15731
15732 Sun Jan 13 06:55:31 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15733
15734         * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
15735
15736 2002-01-12  Tom Rix  <trix@redhat.com>
15737
15738         * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
15739         TARGET_POWERPC64.
15740
15741 2002-01-12  Richard Henderson  <rth@redhat.com>
15742
15743         * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
15744
15745         * doc/invoke.texi: Update Alpha options.
15746
15747         * doc/invoke.texi: Update i386 built-in function lists.
15748
15749 Sat Jan 12 17:38:11 CET 2002  Jan Hubicka  <jh@suse.cz>
15750
15751         * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
15752         referencing outside.
15753
15754 Sat Jan 12 08:54:51 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15755
15756         * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
15757         * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
15758         offsets, and change line folding.
15759         * optabs.c (expand_binop): Remove warnings.
15760         * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
15761
15762 2002-01-12  Graham Stott <grahams@redhat.com>
15763
15764         * attribs.c (handle_deprecated_attribute): constify WHAT.
15765         * diagnostic.c (warn_deprecated_use): Add braces, fixes
15766         dangling else warning and constify WHAT.
15767         * except.h (struct function, struct inline_remap): Move
15768         struct tag forward defs before all prototypes.
15769         (duplicate_eh_regions): Whitespace.
15770
15771 2002-01-12  Nick Clifton  <nickc@cambridge.redhat.com>
15772
15773         * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
15774         MODE_BASE_REG_CLASS.
15775         (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
15776
15777 2002-01-12  Richard Henderson  <rth@redhat.com>
15778
15779         * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
15780         (ix86_expand_vector_move): New.
15781         (bdesc_2arg): Remove andps, andnps, orps, xorps.
15782         (ix86_init_mmx_sse_builtins): Make static.  Remove composite builtins.
15783         Remove old prefetch builtins.  Special case the logicals removed above.
15784         (ix86_expand_builtin): Likewise.
15785         (safe_vector_operand): Use V4SFmode, not TImode.
15786         (ix86_expand_store_builtin): Remove shuffle arg.  Update callers.
15787         (ix86_expand_timode_binop_builtin): New.
15788         * config/i386/i386-protos.h: Update.
15789         * config/i386/i386.h (enum ix86_builtins): Update.
15790         * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
15791         Use ix86_expand_vector_move in vector move expanders.
15792         (movti_internal, movti_rex64): Add xorps alternative.
15793         (sse_clrv4sf): Rename and adjust from sse_clrti.
15794         (prefetch): Don't work so hard.
15795         (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
15796         * config/i386/xmmintrin.h (__m128): Use V4SFmode.
15797         (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
15798
15799 2002-01-11  Richard Henderson  <rth@redhat.com>
15800
15801         * config/i386/mmintrin.h: New file.
15802         * config/i386/xmmintrin.h: New file.
15803         * config.gcc (i?86-*-*): Add extra_headers.
15804         * simplify-rtx.c (simplify_unary_operation): Handle saturating
15805         truncation codes.
15806         (simplify_binary_operation): Handle saturating arithmetic codes.
15807         * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
15808         not the lowpart subreg.
15809         (ix86_expand_builtin): Return a TImode dummy register instead of 0
15810         on error.
15811         * config/i386/i386.md (mmx_clrdi): Override memory attribute.
15812
15813 2002-01-12  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
15814
15815         * conflict.c (conflict_graph_compute): Free regsets when finished.
15816         * ssa.c (compute_coalesced_reg_partition): Likewise.
15817
15818 2002-01-12  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
15819
15820         * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
15821         every where we allocate a register.
15822
15823 2002-01-12  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
15824
15825         * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
15826         * lcm.c (compute_earliest, compute_farthest): Likewise.
15827
15828 2002-01-11  Janis Johnson  <janis187@us.ibm.com>
15829
15830         * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
15831
15832 2002-01-11  Janis Johnson  <janis187@us.ibm.com>
15833
15834         * doc/rtl.texi (Insns): Fix 2 typos.
15835
15836 2002-01-11  Joseph S. Myers  <jsm28@cam.ac.uk>
15837
15838         * doc/invoke.texi: Avoid overfull hboxes.  Add summary of D30V
15839         options.  Use @table @gcctabopt for MMIX options.  Add index
15840         entries for MMIX options.  Start new paragraph with first
15841         heading of the machine-dependent options.
15842
15843 2002-01-11  Craig Rodrigues  <rodrigc@gcc.gnu.org>
15844
15845         PR other/5299
15846         * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
15847         * combine.c (force_to_mode): Same.
15848         * reload1.c (clear_reload_reg_in_use): Same.
15849
15850 2002-01-11  Nick Clifton  <nickc@cambridge.redhat.com>
15851
15852         * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
15853         and 'subtargets'.
15854
15855 2002-01-11  Andreas Jaeger  <aj@suse.de>,
15856             Brad Lucier <lucier@math.purdue.edu>
15857
15858         * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
15859         mcpu.
15860
15861 Fri Jan 11 07:35:12 2002  Douglas B Rupp  <rupp@gnat.com>
15862
15863         * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
15864         Protect with IN_LIBGCC.
15865         (LINK_EH_SPEC): Add required trailing space.
15866
15867 Fri Jan 11 09:25:05 2002  Nicola Pero  <n.pero@mi.flashnet.it>
15868
15869         * c-tree.h: Move function declarations so that they are listed
15870         under the filename which contains them.
15871         (check_identifier, finish_decl_top_level,
15872         lookup_name_current_level_global, shadow_record_fields): Remove.
15873
15874 2002-01-11  Andreas Jaeger  <aj@suse.de>
15875
15876         * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
15877         march.
15878
15879 2002-01-10  Richard Henderson  <rth@redhat.com>
15880
15881         * config/alpha/alpha.c (print_operand): Add 'J'.
15882         * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
15883         new operand with the sequence number for the lituse.  When splitting
15884         the insns, use gen_movdi_er_high_g and generate a sequence number.
15885         (gen_movdi_er_high_g): Print the sequence number if non-zero.
15886
15887 2002-01-10  Aldy Hernandez  <aldyh@redhat.com>
15888
15889         * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
15890         lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
15891         stvxl.
15892         (altivec_expand_builtin): Same.
15893         (altivec_expand_stv_builtin): New.
15894
15895         * config/rs6000/rs6000.h (rs6000_builtins): Same.
15896
15897         * config/rs6000/rs6000.md ("altivec_lvebx"): New.
15898         ("altivec_lvehx"): New.
15899         ("altivec_lvewx"): New.
15900         ("altivec_lvxl"): New.
15901         ("altivec_lvx"): New.
15902         ("altivec_stvx"): New.
15903         ("altivec_stvebx"): New.
15904         ("altivec_stvehx"): New.
15905         ("altivec_stvewx"): New.
15906         ("altivec_stvxl"): New.
15907
15908 2002-01-10  Richard Henderson  <rth@redhat.com>
15909
15910         * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
15911         * reload1.c (delete_output_reload): Zap spill_reg_store.  Take
15912         care not to delete instructions twice.
15913
15914 2002-01-10  Zack Weinberg  <zack@codesourcery.com>
15915
15916         * toplev.c: Don't declare environ (it's not used anywhere).
15917         * configure.in: Don't check for declaration of environ.
15918         * config/i386/xm-mingw32.h: Don't #define environ.
15919         * config.in, configure: Regenerate.
15920
15921 2002-01-10  Zack Weinberg  <zack@codesourcery.com>
15922
15923         * configure.in: Set stage1_cflags for powerpc-*-darwin*.
15924         * configure: Regenerate.
15925
15926         * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
15927         DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
15928         * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
15929         alpha/xm-vms.h.
15930         * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
15931         LIMITS_H_TEST here, not in m68k/x-next.
15932         * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
15933         SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
15934
15935         * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
15936         LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
15937         * config/alpha/x-vms: Don't set USE_COLLECT2.  Add comments.
15938
15939         * config/i386/x-djgpp: Renamed i386/t-djgpp.
15940         * config/m88k/x-dolph: Renamed m88k/t-dolph.
15941         * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
15942         * config/pa/x-pa-mpeix: Renamed pa/t-mpeix.  Update for
15943         replacement of quadlib.asm with quadlib.c.
15944
15945         * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
15946         config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
15947         config/rs6000/xm-beos.h: Delete file.
15948
15949         * config.gcc: Update to match above changes.
15950
15951 2002-01-10  Kazu Hirata  <kazu@hxi.com>
15952
15953         * config/h8300/h8300.h: Fix comment typos.
15954         * config/h8300/h8300.md: Likewise.
15955         * config/h8300/lib1funcs.asm: Likewise.
15956
15957 2002-01-10  Dale Johannesen  <dalej@apple.com>
15958
15959         PR optimization/5269
15960         * unroll.c (precondition_loop_p): Make *increment be the correct
15961         sign when n_iterations known, to avoid confusing caller.
15962
15963 2002-01-10  Kazu Hirata  <kazu@hxi.com>
15964
15965         * doc/extend.texi (deprecated): Fix a typo.
15966
15967 Thu Jan 10 22:35:54 CET 2002  Jan Hubicka  <jh@suse.cz>
15968
15969         * basic-block.h (update_br_prob_note): Declare.
15970         * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
15971         (try_forward_edges): Care negative frequencies and update note.
15972         (outgoing_edges_match): Tweek conditional merging heuristics.
15973         (try_crossjump_to_edge): use update_br_prob_note.
15974         * cfglayout.c (fixup_reorder_chain): Likewise.
15975         * cfrtl.c (update_br_prob_note): New.
15976         * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
15977
15978         * i386.c (ix86_decompose_address): Return -1 if address contains
15979         shift.
15980         (legitimate_address_p): Require ix86_decompose_address to return 1.
15981
15982         * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
15983         (cprop_insn): Likewise.
15984
15985 2002-01-10  Kazu Hirata  <kazu@hxi.com>
15986
15987         * toplev.c: Fix formatting.
15988         * tree.c: Likewise.
15989         * tree-dump.c: Likewise.
15990         * unroll.c: Likewise.
15991         * unwind-dw2.c: Likewise.
15992         * unwind-dw2-fde.c: Likewise.
15993         * unwind-dw2-fde-glibc.c: Likewise.
15994         * unwind-sjlj.c: Likewise.
15995
15996 2002-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
15997
15998         * doc/invoke.texi: Document PDP-11 options.
15999
16000 2002-01-10  Kazu Hirata  <kazu@hxi.com>
16001
16002         * config/h8300/h8300.h: Fix formatting.
16003
16004 2002-01-10  Ira Ruben   <ira@apple.com>
16005
16006         Add __attribute__ ((deprecated)).
16007         * extend.texi: Document __attribute__ ((deprecated)).
16008         * invoke.texi: Document -Wno-deprecated-declarations.
16009         * testsuite/g++.dg/other/deprecated.C: New C++ test.
16010         * testsuite/gcc.dg/deprecated.c: New C test.
16011         * attribs.c (enum attrs): Declare handle_deprecated_attribute().
16012         (c_common_attribute_table): Add "deprecated" entry.
16013         (handle_deprecated_attribute): New function.
16014         * c-decl.c (deprecated_states): New enum.
16015         deprecated_state: State of "deprecated" handling.
16016         (start_decl): Set deprecated_state based on attributes.
16017         (grokdeclarator): Test for deprecated uses, propagate attribute.
16018         * c-typeck.c (build_component_ref): Test for deprecated fields.
16019         (build_external_ref): Test for deprecated primaries.
16020         * diagnostic.c (warn_deprecated_use) New function to issue
16021         warnings about __attribute__ ((depricated)) references.
16022         * flags.h (warn_deprecated_decl): Extern declared for
16023         -W[no-]deprecated-declarations option.
16024         * print-tree.c (print_node): Show deprecated flag status.
16025         * toplev.c (warn_deprecated_decl): Defined.
16026         (W_options): Added "deprecated-declaration".
16027         * toplev.h (warn_deprecated_use): Extern declared.
16028         * tree.h (struct tree_common): Define deprecated_flag.
16029         (TREE_DEPRECATED): New macro to access flag.
16030         * cp/call.c (build_call): Test for deprecated calls.
16031         * cp/class.c (add_implicitly_declared_members): Set global
16032         flag to tell grokdeclarator to not issue deprecated warnings.
16033         * cp/cp-tree.h: Add extern for adding_implicit_members.
16034         * cp/decl.c (deprecated_states): New enum.
16035         (start_decl): Set deprecated_state based on attributes.
16036         (grokdeclarator): Test for deprecated uses, propagate attribute.
16037         * cp/lex.c (do_identifier): Test for deprecated primaries.
16038         * cp/typeck.c (build_component_ref): Test for deprecated fields.
16039
16040 2002-01-10  Ira Ruben   <ira@apple.com>
16041
16042         Fix to assign attributes to inline member functions.
16043         * cp/decl.c (start_method): Handle attrlist.
16044
16045 2002-01-10  Kazu Hirata  <kazu@hxi.com>
16046
16047         * combine.c (expand_field_assignment): Use subreg_lsb().
16048
16049 2002-01-10  David Edelsohn  <edelsohn@gnu.org>
16050
16051         * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
16052         POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
16053         (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
16054         Recurse for any operand of AND as long as constant is non-zero.
16055
16056 2002-01-10  Kazu Hirata  <kazu@hxi.com>
16057
16058         * config/h8300/h8300.md: Remove constraints from expanders.
16059
16060 2002-01-10  Kazu Hirata  <kazu@hxi.com>
16061
16062         * varasm.c: Fix formatting.
16063         * varray.c: Likewise.
16064         * vmsdbgout.c: Likewise.
16065         * xcoffout.c: Likewise.
16066
16067 Thu Jan 10 17:19:12 CET 2002  Jan Hubicka  <jh@suse.cz>
16068
16069         * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
16070         update edge probabilities to match.
16071
16072 2002-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
16073
16074         * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
16075         dependencies.
16076         * doc/languages.texi, doc/sourcebuild.texi: New files.
16077         * doc/configfiles.texi: Make a subsubsection.  Update.
16078         * doc/configterms.texi: Add @node.  Remove warning that this isn't
16079         instructions for building GCC.
16080         * doc/makefile.texi: Make a subsection.
16081         * doc/gccint.texi: Update.
16082
16083 Thu Jan 10 16:39:58 CET 2002  Jan Hubicka  <jh@suse.cz>
16084
16085         * i386.md (sse_mov?fcc_const0_?): Fix constraints.
16086
16087 Thu Jan 10 12:45:50 2002  Nicola Pero  <n.pero@mi.flashnet.it>
16088
16089         * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
16090
16091 Thu Jan 10 11:19:18 CET 2002  Jan Hubicka  <jh@suse.cz>
16092
16093         * optabs.c (expand_fix): Look for wider integer modes first.
16094
16095         * i386.md (mov?f): Avoid the fake const double trick for medium
16096         memory model.
16097         (min?f*/max?f*): Prohibit memory operands for i387 variant.
16098         (fop_df_4): Disable for SSE compilation.
16099
16100 2002-01-10  Graham Stott  <grahams@redhat.com>
16101
16102         * dwarf2out.c (indirect_string_alloc, output_indirect_string):
16103         Move prototype into DWARF2_DEBUGGING_INFO conditional block.
16104
16105 2002-01-10  Richard Henderson  <rth@redhat.com>
16106
16107         * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
16108
16109 2002-01-10  Richard Henderson  <rth@redhat.com>
16110
16111         * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
16112         (copyprop_hardreg_forward_1): Likewise.  Use mode_change_ok.
16113
16114 2002-01-10  Kazu Hirata  <kazu@hxi.com>
16115
16116         * combine.c (can_combine_p): Fix a comment typo.
16117
16118 2002-01-09  Zack Weinberg  <zack@codesourcery.com>
16119
16120         * Makefile.in (s-gencheck, s-options, s-specs): Handle an
16121         empty list correctly.  Change loop index $t to $f for
16122         consistency with rest of Makefile.
16123
16124 2002-01-08  Aldy Hernandez  <aldyh@redhat.com>
16125
16126         * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
16127         mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
16128
16129         * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
16130         mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
16131         (altivec_init_builtins): Same.
16132         (altivec_expand_unop_builtin): Return NULL_RTX on error.
16133         (altivec_expand_binop_builtin): Same.
16134         (altivec_expand_ternop_builtin): Same.
16135         (bdesc_dst): New.
16136
16137         * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
16138         ("altivec_vctuxs"): Fix typo.
16139         ("altivec_vnmsubfp"): Same.
16140         ("altivec_dssall"): New.
16141         ("altivec_mfvscr"): New.
16142         ("altivec_dss"): New.
16143         ("altivec_lvsl"): New.
16144         ("altivec_lvsr"): New.
16145         ("altivec_dstt"): New.
16146         ("altivec_dstst"): New.
16147         ("altivec_dststt"): New.
16148         ("altivec_dst"): New.
16149
16150         * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
16151         mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
16152
16153 2002-01-09  Richard Henderson  <rth@redhat.com>
16154
16155         * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
16156
16157 2002-01-10  Hans-Peter Nilsson  <hp@bitrange.com>
16158
16159         * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
16160         function.
16161         * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
16162         prototype.
16163         * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
16164
16165 2002-01-09  Kazu Hirata  <kazu@hxi.com>
16166
16167         * read-rtl.c: Fix formatting.
16168         * real.c: Likewise.
16169         * regclass.c: Likewise.
16170         * regrename.c: Likewise.
16171         * reg-stack.c: Likewise.
16172         * reload1.c: Likewise.
16173         * reload.c: Likewise.
16174         * rtl.c: Likewise.
16175
16176 2002-01-09  Kazu Hirata  <kazu@hxi.com>
16177
16178         * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
16179         to extract items in the expr_list chain.
16180
16181 2002-01-09  Richard Henderson  <rth@redhat.com>
16182
16183         * config/vax/vax.c (vax_rtx_cost): Never abort.
16184
16185         * config/vax/vax.h (REAL_ARITHMETIC): Define.
16186
16187 2002-01-09  Jan Hubicka  <jh@suse.cz>
16188
16189         * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
16190
16191 2002-01-09  Richard Henderson  <rth@redhat.com>
16192
16193         * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
16194         Unify code from various alternatives.
16195
16196 2002-01-09  Richard Henderson  <rth@redhat.com>
16197
16198         * regrename.c (copy_value): Ignore the copy if the source register
16199         is present in the value chain with a narrower mode.
16200
16201 2002-01-09  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
16202
16203         * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
16204         for the c4x target. Also improve layout.
16205
16206 2002-01-09  Richard Henderson  <rth@redhat.com>
16207
16208         * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
16209         * config/m32r/m32r.md (and ior xor splitters): Swap operands
16210         to match insn patterns.
16211
16212 2002-01-09  Richard Henderson  <rth@redhat.com>
16213
16214         * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
16215         (copyprop_hardreg_forward_1): Likewise.
16216
16217 2002-01-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16218
16219         * pa.md (decrement_and_branch_until_zero): Change predicate for
16220         operand 0 from register_operand to reg_or_nonsymb_mem_operand.
16221
16222 2002-01-09  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
16223
16224         * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
16225         gets undefined. For Darwin.
16226
16227 2002-01-09  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
16228
16229         * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
16230
16231 2002-01-09  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
16232
16233         * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
16234
16235 2002-01-08  Richard Henderson  <rth@redhat.com>
16236
16237         * regrename.c (copy_value): Ignore overlapping copies.
16238
16239 2002-01-08  Richard Henderson  <rth@redhat.com>
16240
16241         * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
16242         as needed to avoid shared structure.
16243
16244 2002-01-08  Kazu Hirata  <kazu@hxi.com>
16245
16246         * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
16247         H8/300H and H8/S.
16248
16249 2002-01-08  Joseph S. Myers  <jsm28@cam.ac.uk>
16250
16251         * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
16252         LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
16253         documentation of obsolete macros.
16254         * system.h: Poison these macros.
16255         * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
16256         config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
16257         config/c4x/c4x.h, config/clipper/clipper.h,
16258         config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
16259         config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
16260         config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
16261         config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
16262         config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
16263         config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
16264         config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
16265         config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
16266         config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
16267         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
16268         config/sparc/sparc.h, config/stormy16/stormy16.h,
16269         config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
16270         definitions and commented out definitions of obsolete macros.
16271         * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
16272         of MAX_INT_TYPE_SIZE.
16273
16274 2002-01-08  Ulrich Weigand  <uweigand@de.ibm.com>
16275
16276         * config/s390/s390.c (s390_preferred_reload_class): Never
16277         return ADDR_REGS if it isn't a subset of the given class.
16278         * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
16279         FP_REGS, but all superclasses as well.
16280
16281         * config/s390/s390.c (s390_function_profiler): Fix thinko.
16282
16283         * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
16284         cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
16285         must not be a const_int.
16286
16287 2002-01-08  Richard Henderson  <rth@redhat.com>
16288
16289         * Makefile.in (toplev.o): Depend on options.h.
16290         (gcc.o): Depend on specs.h.
16291
16292 2002-01-08  Jakub Jelinek  <jakub@redhat.com>
16293
16294         * expr.c (store_expr): Convert VOIDmode constants back to target's
16295         mode.
16296
16297 2002-01-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
16298
16299         * doc/invoke.texi: Markup gcc as @command.  Refer to
16300         http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
16301         of http://gcc.gnu.org/thanks.html.
16302
16303 2002-01-08  Dale Johannesen  <dalej@apple.com>
16304
16305         * config/rs6000/rs6000.md: Add missing int register
16306         target case to movdf_low.
16307
16308 2002-01-08  Zack Weinberg  <zack@codesourcery.com>
16309
16310         * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
16311         except.h.  Remove commands to define USING_SJLJ_EXCEPTIONS.
16312         (cppinit.o): Depend on except.h.
16313         (gencheck.h, options.h, specs.h, s-gencheck, s-options,
16314         s-specs): New rules.
16315
16316         * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
16317         Don't create specs.h/options.h/gencheck.h here.  Remove
16318         unnecessary variable settings from last argument of AC_OUTPUT.
16319         * config.in, configure: Regenerate.
16320         * intl.c: Hardcode package name as "gcc".
16321
16322         * cppinit.c: Include except.h.
16323         (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
16324         appropriate.
16325         * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
16326         Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
16327         (!)USING_SJLJ_EXCEPTIONS.
16328         * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
16329
16330 2002-01-08  Joseph S. Myers  <jsm28@cam.ac.uk>
16331
16332         * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
16333         ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
16334         OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
16335         documentation of obsolete macros.
16336         * system.h: Poison these macros.
16337         * config/d30v/d30v.h, config/ns32k/encore.h,
16338         config/stormy16/stormy16.h: Remove definitions and commented out
16339         definitions of obsolete macros.
16340
16341 Tue Jan  8 15:56:41 2002  Nicola Pero  <nicola@brainstorm.co.uk>
16342
16343         * objc/objc-act.c (handle_class_ref): Mark the declaration of
16344         %sobjc_class_ref_%s as used - to prevent unwanted compiler
16345         warnings.
16346
16347 2002-01-08  Ulrich Weigand  <uweigand@de.ibm.com>
16348
16349         * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
16350         * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
16351         to insn adjusting stack/frame pointer.
16352         * config/s390/s390.md (reload_la_64, reload_la_31): Do not
16353         accept operands that cause the insn to be non-splittable.
16354
16355 2002-01-08  Graham Stott  <grahams@redhat.com>
16356
16357         * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
16358         (C_TYPE_FIELDS_VOLATILE): Likewise.
16359         (C_TYPE_BEING_DEFINED): Likewise.
16360         (C_IS_RESERVED_WORD): Likewise.
16361         (C_TYPE_VARIABLE_SIZE): Likewise.
16362         (C_DECL_VARIABLE_SIZE): Likewise.
16363         (C_MISSING_PROTOTYPE_WARNED): Likewise.
16364         (C_SET_EXP_ORIGINAL_CODE): Likewise.
16365         (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
16366         parenthesis.
16367         (C_DECL_ANTICIPATED): Likewise.
16368         (c_build_type_variant): Add parenthesis.
16369
16370 2002-01-08  Joseph S. Myers  <jsm28@cam.ac.uk>
16371
16372         * gcc.c (option_map): Remove --version.
16373         (process_command): Handle -fversion following the GNU Coding
16374         Standards.  Partially addresses PR other/704.
16375
16376 2002-01-08  Graham Stott  <grahams@redhat.com>
16377
16378         * combine.c (combine_instructions): Fix typo.
16379
16380 2002-01-08  Graham Stott  <grahams@redhat.com>
16381
16382         * debug.h: Use "tree" and "rtx" throughout.
16383
16384         * debug.c: Likewise.
16385
16386 2002-01-08  Nick Clifton  <nickc@cambridge.redhat.com>
16387
16388         * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
16389         constant pool, use the pool's version of the symbol instead.
16390
16391 2002-01-07  Richard Henderson  <rth@redhat.com>
16392
16393         * regrename.c (find_oldest_value_reg): Ignore the value chain if
16394         the original register was copied in a mode with a fewer number of
16395         hard registers than the desired mode.
16396         (copyprop_hardreg_forward_1): Likewise.
16397         (debug_value_data): Fix loop test.
16398         * toplev.c (parse_options_and_default_flags): Reenable
16399         -fcprop-registers at -O1.
16400
16401 2002-01-07  Aldy Hernandez  <aldyh@redhat.com>
16402
16403         * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
16404         (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
16405
16406         * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
16407         predicates.
16408
16409         * config/rs6000/rs6000.md: Add altivec predicate patterns.
16410
16411 2002-01-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16412
16413         * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
16414         (pa_output_function_prologue): Output local label at the beginning of
16415         the prologue when profiling.
16416         (hppa_profile_hook): Use the local label rather than the function label.
16417         * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
16418
16419 2002-01-07  Aldy Hernandez  <aldyh@redhat.com>
16420
16421         * config/rs6000/rs6000.c (print_operand): Remove extra space.
16422         (altivec_expand_unop_builtin): Fix thinko.
16423         (altivec_expand_binop_builtin): Same.
16424         (altivec_expand_ternop_builtin): Same.
16425         (altivec_expand_builtin): Same.
16426
16427 2002-01-07  Richard Henderson  <rth@redhat.com>
16428
16429         * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
16430
16431 2002-01-07  Jason Merrill  <jason@redhat.com>
16432
16433         * unwind-dw2.c (execute_cfa_program): Use < again.
16434
16435 2002-01-07  Jakub Jelinek  <jakub@redhat.com>
16436
16437         * predict.c (combine_predictions_for_insn): Avoid division by zero.
16438
16439 2002-01-07  Jakub Jelinek  <jakub@redhat.com>
16440
16441         * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
16442         Don't allow -1 - x -> ~x simplifications in the first pass.
16443
16444 2002-01-07  Aldy Hernandez  <aldyh@redhat.com>
16445
16446         * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
16447         arguments.
16448         (altivec_expand_binop_builtin): Same.
16449         (altivec_expand_unop_builtin): Same.
16450         (print_operand): Fix typo.
16451         (bdesc_1arg): Add vupk* variants.
16452
16453         * rs6000.h (rs6000_builtins): Add vupk* enums.
16454
16455         * rs6000.md: Add altivec_vupk* variants.
16456
16457 2002-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
16458
16459         * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
16460         doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
16461         and last update dates.
16462
16463 2002-01-07  Janis Johnson  <janis187@us.ibm.com>
16464
16465         * doc/rtl.texi (Flags): Clean up documentation of RTL flags
16466
16467 2002-01-07  Marek Michalkiewicz  <marekm@amelek.gda.pl>
16468
16469         * config/avr/avr.c (avr_mcu_types): Add new MCU types.
16470         * config/avr/avr.h (CPP_SPEC): Likewise.
16471         (LINK_SPEC): Likewise.
16472         (CRT_BINUTILS_SPECS): Likewise.
16473         * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
16474         * doc/invoke.texi (AVR Options): Document them.
16475
16476 Mon Jan  7 11:59:34 CET 2002  Jan Hubicka  <jh@suse.cz>
16477
16478         * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
16479         LABEL_NUSES.
16480
16481 2002-01-07  Graham Stott  <grahams@redhat.com>
16482
16483         * config/i386/i386.h: Update copyright date.
16484         (HALF_PIC_PTR): Add parenthesis.
16485         (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
16486         (CONSTANT_ALIGNMENT): Add parenthesis.
16487         (DATA_ALIGNMENT): Likewise.
16488         (LOCAL_ALIGNMENT): Likewise.
16489         (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
16490         (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
16491         (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
16492         (HARD_REGNO_NREGS): Add paranethesis.
16493         (VALID_SSE_REG_MODE): Whitespace.
16494         (VALID_MMX_REG_MODE): Whitespace.
16495         (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
16496         (ix86_hard_regno_mode_ok): Add parenthesis.
16497         (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
16498         (RETURN_IN_MEMORY): Whitespace.
16499         (N_REG_CLASSES): Add parenthesis.
16500         (INTEGER_CLASS_P): Add parenthesis and wrap.
16501         (FLOAT_CLASS_P): Likewise.
16502         (SSE_CLASS_P): Likewise.
16503         (MMX_CLASS_P): Likewise.
16504         (MAYBE_INTEGER_CLASS_P): Likewise.
16505         (MAYBE_FLOAT_CLASS_P): Likewise.
16506         (MAYBE_SSE_CLASS_P): Likewise.
16507         (MAYBE_MMX_CLASS_P): Likewise.
16508         (Q_CLASS_P): Likewise.
16509         (GENERAL_REGNO_P): Uppercase macro parameter.
16510         (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
16511         (FP_REGNO_P): Likewise.
16512         (ANY_FP_REGNO_P): Uppercase macro parameter.
16513         (SSE_REGNO_P): Likewise.
16514         (SSE_REGNO): Likewise.
16515         (SSE_REG_P): Likewise.
16516         (SSE_FLOAT_MODE_P): Likewise.
16517         (MMX_REGNO_P): Likewise.
16518         (MMX_REG_P):Likewise.
16519         (STACK_REG_P): Likewise.
16520         (NON_STACK_REG_P): Likewise.
16521         (STACK_TOP_P): Likewise.
16522         (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
16523         (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
16524         (SECONDARY_MEMORY_NEEDED): Likewise.
16525         (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
16526         (MD_ASM_CLOBBERS): Whitespace and wrap.
16527         (MUST_PASS_IN_STACK): Whitespace and wrap.
16528         (RETURN_POPS_ARGS): Add parenthesis.
16529         (INIT_CUMULATIVE_ARGS): Likewise.
16530         (FUNCTION_ARG): Likewise.
16531         (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
16532         (SETUP_INCOMING_VARARGS): Likewise.
16533         (BUILD_VA_LIST_TYPE):  Add parenthesis.
16534         (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
16535         parenthsis.
16536         (EXPAND_BUILTIN_VA_ARG): Likewise.
16537         (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
16538         (INITIALIZE_TRAMPOLINE): Add parenthesis.
16539         (INITIAL_ELIMINATION_OFFSET): Likewise.
16540         (REGNO_OK_FOR_INDEX_P): Add parenthesis.
16541         (REGNO_OK_FOR_BASE_P): Likewise.
16542         (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
16543         (REGNO_OK_FOR_DIREG_P): Likewise.
16544         (REG_OK_FOR_INDEX_P): Whitespace.
16545         (REG_OK_FOR_BASE_P): Whitespace.
16546         (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
16547         parenthesis.
16548         (FIND_BASE_TERM): Fix typo.
16549         (LEGITIMIZE_ADDRESS): Wrap in  { .. } while (0) and add parenthesis.
16550         (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
16551         (SYMBOLIC_CONST; Whitespace.
16552         (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in  { .. } while (0) and wrap.
16553         (ENCODE_SECTION_INFO): Whitespace.
16554         (FINALIZE_PIC): Remove do { ... } while (0).
16555         (PROMOTE_MODE): Wrap in do { ... } while (0).
16556         (CONST_COSTS): Whitespace.
16557         (RTX_COSTS): Add paramethesis, whitespace and wrap.
16558         (REGISTER_MOVE_COST): Add parenthesis.
16559         (MEMORY_MOVE_COST): Likewise.
16560         (EXTRA_CC_MODES): Whitespace.
16561         (SELECT_CC_MODE): Add parenthesis and whitespace.
16562         (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
16563         (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
16564         (ASM_OUTPUT_LABEL): Add paramethesis.
16565         (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
16566         (ASM_OUTPUT_REG_POP): Likewise.
16567         (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
16568         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
16569
16570         * config/i386/i386.c: Update copyright.
16571         (CHECK_STACK_LIMIT): Add parenthesis.
16572         (AT_BP): Uppercase macro parameter.
16573         (x86_64_int_parameter_registers): Constify.
16574         (x86_64_int_return_registers): Likewise.
16575         (ix86_compare_op0): Use rtx.
16576         (construct_container): Constify INTREG parameter.
16577         (function_arg): Use rtx.
16578
16579         * diagnostic.h: Update copyright date.
16580         (output_buffer_state): Add parenthesis.
16581         (output_buffer_format_args): Likewise.
16582
16583         * combine.c (combine_instructions): Replace XEXP (links, 0)
16584         with link.
16585
16586 2002-01-06  H.J. Lu <hjl@gnu.org>
16587
16588         * cfgcleanup.c (thread_jump): Fix 2 typos.
16589
16590 2002-01-06  Aldy Hernandez  <aldyh@redhat.com>
16591
16592         * config.gcc: Add support for --enable-altivec.
16593
16594 2002-01-06  Craig Rodrigues  <rodrigc@gcc.gnu.org>
16595
16596         * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
16597
16598 2002-01-06  Jakub Jelinek  <jakub@redhat.com>
16599
16600         * objc/objc-act.c (handle_impent): Use assemble_variable to emit
16601         __objc_class_name_*.
16602
16603 2002-01-06  Craig Rodrigues  <rodrigc@gcc.gnu.org>
16604
16605         * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
16606
16607 2002-01-06  Richard Henderson  <rth@redhat.com>
16608
16609         * reorg.c (emit_delay_sequence): Remove death notes, not merely
16610         nop them out.  Increment label reference count for REG_LABEL.
16611         (fill_slots_from_thread): Frob label reference count around
16612         delete_related_insns.
16613
16614 2002-01-05  Richard Henderson  <rth@redhat.com>
16615
16616         * cfgcleanup.c (try_forward_edges): Detect infinite loops while
16617         jump threading.
16618
16619 2002-01-05  Richard Henderson  <rth@redhat.com>
16620
16621         * c-decl.c (c_expand_body): Don't call outlining_inline_function.
16622         * integrate.c (output_inline_function): Likewise.
16623         * toplev.c (rest_of_compilation): Do it here instead.  Move call
16624         to remove_unnecessary_notes after emitting abstract instance.
16625         Force an emitted nested function to have its parent emited as well.
16626         * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
16627         for null.
16628         (rtl_for_decl_location): Do not look at reload data structures
16629         before reload has run.
16630
16631 2002-01-05  Kazu Hirata  <kazu@hxi.com>
16632
16633         * cse.c: Fix formatting.
16634         * dwarf2asm.c: Likewise.
16635         * dwarf2out.c: Likewise.
16636         * explow.c: Likewise.
16637         * expmed.c: Likewise.
16638         * function.c: Likewise.
16639         * gcov.c: Likewise.
16640         * gencheck.c: Likewise.
16641         * genrecog.c: Likewise.
16642         * ggc-common.c: Likewise.
16643         * ggc-page.c: Likewise.
16644         * global.c: Likewise.
16645
16646 2002-01-05  Kazu Hirata  <kazu@hxi.com>
16647
16648         * combine.c: Fix formatting.
16649
16650 2002-01-05  Craig Rodrigues  <crodrigu@bbn.com>
16651
16652         PR middle-end/1557
16653         * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
16654
16655 2002-01-05  David Edelsohn  <edelsohn@gnu.org>
16656
16657         * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
16658         as 1 for __powerpc64__ as well.
16659
16660         * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
16661
16662         * alias.c (find_base_value, PLUS/MINUS): If we found a base,
16663         return it.
16664
16665 2002-01-05  Daniel Berlin  <dan@dberlin.org>
16666
16667         * lcm.c: Revert change, due to performance regression it causes on
16668         SPEC because it's slightly more conservative (sigh, I hate
16669         edge-based LCM).
16670
16671 Sat Jan  5 11:52:05 CET 2002  Jan Hubicka  <jh@suse.cz>
16672
16673         * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
16674
16675 2002-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
16676
16677         * doc/cppinternals.texi: Update.
16678
16679 2002-01-05  Hans-Peter Nilsson  <hp@bitrange.com>
16680
16681         * doc/invoke.texi (Option Summary) <MMIX Options>: Document
16682         -mbranch-predict, -mreg-stack-fill-bug-workaround and their
16683         negatives.
16684         (MMIX Options): Ditto.  Fix item/itemx typo for -mno-zero-extend.
16685         * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
16686         kludge for pre-october-14th mmix versions to handle new-found bug
16687         with PUSHJ/PUSHGO and the register stack.
16688         * config/mmix/mmix.h (struct machine_function): Rename member
16689         has_call_value_without_parameters to has_call_without_parameters.
16690         All referers changed.
16691         (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
16692         TARGET_MASK_BRANCH_PREDICT): New macros.
16693         (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
16694         -mno-reg-stack-fill-bug-workaround.
16695         * config/mmix/mmix.md ("call"): Set struct machine member
16696         has_call_without_parameters.
16697
16698 Sat Jan  5 02:20:22 CET 2002  Jan Hubicka  <jh@suse.cz>
16699
16700         * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
16701
16702 Sat Jan  5 01:35:29 CET 2002  Jan Hubicka  <jh@suse.cz>
16703
16704         * cfgcleanup.c: Include tm_p.h
16705         (mark_effect): Fix handling of hard register; fix handling of SET
16706
16707 2002-01-04  Kazu Hirata  <kazu@hxi.com>
16708
16709         * config/h8300/h8300.md (anonymous patterns): Check that
16710         operands are registers before using REGNO on them.
16711
16712 2002-01-03  Roland McGrath  <roland@frob.com>
16713
16714         * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
16715
16716 2002-01-04  Jakub Jelinek  <jakub@redhat.com>
16717
16718         * tree.h (expand_expr_stmt_value): Add maybe_last argument.
16719         * c-common.h (genrtl_expr_stmt_value): Likewise.
16720         * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
16721         (expand_expr_stmt_value): Add maybe_last argument.
16722         Don't warn about statement with no effect if it is the last statement
16723         in expression statement.
16724         * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
16725         (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
16726         expand_expr_stmt_value.
16727         (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
16728         genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
16729         * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
16730         as maybe_last to expand_expr_stmt_value.
16731
16732 Fri Jan  4 11:45:05 2002  Jeffrey A Law  (law@redhat.com)
16733
16734         * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
16735         be passed in, do not build it.
16736         (c_begin_if_stmt): New function.
16737         (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
16738         * c-common.h (c_expand_start_cond): Update prototype.
16739         (c_begin_if_stmt): Prototype new function.
16740         (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
16741         * c-parse.in (if_prefix): Use c_begin_if_stmt,
16742         c_begin_while_stmt and c_finish_while_stmt_cond.
16743
16744 2002-01-04  William Cohen  <wcohen@redhat.com>
16745
16746         * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
16747         * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
16748         * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
16749         * config/pa/som.h (ASM_FILE_START): Likewise.
16750
16751 2002-01-04  Daniel Berlin  <dan@cgsoftware.com>
16752
16753         * lcm.c: Include df.h.
16754         Add available_transfer_function prototype.
16755         (compute_available): Rework to use iterative dataflow framework.
16756         (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
16757         with bb_info in df.h
16758         (available_transfer_function): New function.
16759
16760         * Makefile.in (lcm.o): add df.h to dependencies.
16761
16762 2002-01-04  Richard Henderson  <rth@redhat.com>
16763
16764         * config/alpha/alpha.c (some_operand): Accept HIGH.
16765         (input_operand): Likewise; accept simple references to globals.
16766         (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
16767         (alpha_const_double_ok_for_letter_p): Likewise.
16768         (alpha_extra_constraint): Likewise.
16769         (alpha_preferred_reload_class): Likewise.  Do not force
16770         symbolic constants to memory.
16771         (alpha_legitimate_address_p): Accept simple references
16772         to small_symbolic_operand.
16773         (alpha_legitimize_address): New arg scratch.  Be prepared to be
16774         called when no_new_pseudos.  Emit simple symbolic references.
16775         Split integers into low, high, and rest.
16776         (alpha_expand_mov): Use alpha_legitimize_address.
16777         (some_small_symbolic_mem_operand): New.
16778         (split_small_symbolic_mem_operand): New.
16779         * config/alpha/alpha-protos.h: Update.
16780         * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
16781         (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
16782         (EXTRA_CONSTRAINT): Likewise.
16783         (PREFERRED_RELOAD_CLASS): Likewise.
16784         (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
16785         (PREDICATE_CODES): Update.
16786         * config/alpha/alpha.md: New post-reload splitters to convert
16787         simplfied symbolic operands to the form that references $29.
16788         (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
16789         (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
16790
16791 2002-01-03  Richard Henderson  <rth@redhat.com>
16792
16793         * local-alloc.c (function_invariant_p): Update commentary.
16794
16795 2002-01-04  H.J. Lu <hjl@gnu.org>
16796
16797         * toplev.c (rest_of_compilation): Fix a typo when calling
16798         cleanup_cfg.
16799
16800 2002-01-03  Kazu Hirata  <kazu@hxi.com>
16801
16802         * c-common.c: Fix formatting.
16803         * diagnostic.c: Likewise.
16804         * doloop.c: Likewise.
16805         * dwarf2out.c: Likewise.
16806
16807 2002-01-03  Kazu Hirata  <kazu@hxi.com>
16808
16809         * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
16810         of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
16811
16812 2002-01-03  Neil Booth  <neil@daikokuya.demon.co.uk>
16813
16814         * cpperror.c: Update comments and copyright.
16815         * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
16816         cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
16817
16818 2002-01-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16819
16820         * collect2.c (main): Use strcmp when testing for "-shared".
16821
16822 2002-01-03  Neil Booth  <neil@daikokuya.demon.co.uk>
16823
16824         * cppmacro.c: Don't include intl.h.  Update comments.
16825         (new_number_token): Allocate enough buffer for 64-bit unsigned
16826         integers; update prototype.
16827         * cppmain.c: Update comments.
16828
16829 2002-01-03  William Cohen  <wcohen@redhat.com>
16830
16831         * function.h (struct function): Add profile.
16832         (current_function_profile): New.
16833         doc/extend.texi: Update documentation.
16834         * final.c (final_start_function): Use current_function_profile
16835         instead of profile_flag.
16836         (profile_after_prologue): Likewise.
16837         * function.c (expand_function_start): Likewise.
16838         (expand_function_start): Likewise.
16839         * config/alpha/alpha.c (direct_call_operand):
16840         (alpha_does_function_need_gp): Likewise.
16841         (alpha_expand_prologue): Likewise.
16842         * config/arm/arm.c (arm_expand_prologue): Likewise.
16843         thumb_expand_prologue: Likewise.
16844         * config/d30v/d30v.c (d30v_stack_info): Likewise.
16845         * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
16846         (fr30_expand_prologue): Likewise.
16847         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
16848         * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
16849         * config/i386/i386.h (FINALIZE_PIC): Likewise.
16850         * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
16851         * config/i960/i960.c (i960_output_function_prologue): Likewise.
16852         * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
16853         * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
16854         (m32r_expand_prologue): Likewise.
16855         * config/m88k/m88k.c (m88k_layout_frame): Likewise.
16856         (m88k_expand_prologue): Likewise.
16857         * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
16858         * config/mips/mips.c (compute_frame_size): Likewise.
16859         (mips_expand_prologue): Likewise.
16860         (mips_can_use_return_insn): Likewise.
16861         * config/pa/elf.h (ASM_FILE_START): Likewise.
16862         * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
16863         * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
16864         * config/pa/som.h (ASM_FILE_START): Likewise.
16865         * config/romp/romp.c (romp_using_r14): Likewise.
16866         * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
16867         (rs6000_stack_info): Likewise.
16868         * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
16869         * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
16870         * config/v850/v850.c (compute_register_save_size): Likewise.
16871
16872 2002-01-03  Jakub Jelinek  <jakub@redhat.com>
16873
16874         * simplify-rtx.c (simplify_binary_operation) [DIV]: If
16875         gen_lowpart_common fails, use gen_lowpart_SUBREG.
16876
16877 2002-01-03  Turly O'Connor  <turly@apple.com>
16878
16879         * darwin.c (machopic_output_possible_stub_label): Don't generate
16880         stub routines for pseudo-stubs which we've just defined.
16881
16882 2002-01-03  Kazu Hirata  <kazu@hxi.com>
16883
16884         * builtins.c: Fix formatting.
16885         * c-typeck.c: Likewise.
16886         * combine.c: Likewise.
16887         * expr.c: Likewise.
16888         * loop.c: Likewise.
16889
16890 2002-01-03  Andreas Schwab  <schwab@suse.de>
16891
16892         * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
16893         and return true if _cpp_push_next_buffer pushed a new include
16894         file.
16895         * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
16896         _cpp_pop_file_buffer did not push a new file.
16897         * cpphash.h (_cpp_pop_file_buffer): Update declaration.
16898
16899 2002-01-02  Eric Christopher  <echristo@redhat.com>
16900
16901         * final.c (final_scan_insn): Change 0 -> NULL_RTX in
16902         FIND_REG_INC_NOTE call. Update copyright.
16903         * loop.c (canonicalize_condition): Ditto.
16904         * reorg.c (delete_scheduled_jump): Ditto.
16905
16906 2002-01-03  Kazu Hirata  <kazu@hxi.com>
16907
16908         * gcse.c: Fix formatting.
16909
16910 2002-01-03  Graham Stott  <grahams@redhat.com>
16911
16912         * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
16913         forward defs for struct tags rtx_def, union_tree, rtvec_def
16914         also output corresponding typedefs for rtx, tree, and rtvec.
16915
16916         * system.h: Move forward defs for struct tags rtx_def, union_tree,
16917         rtvec_def along with corresponding typedefs for rtx, tree, and
16918         rtvec to config.h, hconfig.h, tconfig.h.
16919
16920 2002-01-03  Graham Stott  <grahams@redhat.com>
16921
16922         * tree.h: Update copyright date.
16923         (IS_EXPR_CODE_CLASS): Add parenthesis.
16924         (TREE_SET_CODE): Add whitespace.
16925         (TREE_CHECK): Add parenthesis.
16926         (TREE_CLASS_CODE): Add parenthesis and wrap long line.
16927         (CST_OR_CONSTRUCTOR_CHECK):
16928         (EXPR_CHECK): Add parenthis, whitespace and wrap line.
16929         (TREE_SYMBOL_REFERENCED): Whitespace.
16930         (INT_CST_LT): Likewise.
16931         (INT_CST_LT_UNSIGNED): Likewise.
16932         (tree_real_cst): Unwrap comment.
16933         (tree_string): Likewise.
16934         (tree_complex): Likewise.
16935         (IDENTIFIER_POINTER): correct cast.
16936         (SAVE_EXPR_CONTEXT): Whitespace.
16937         (EXPR_WFL_FILENAME_NODE): Likewise.
16938         (EXPR_WFL_FILENAME): Remove parenthesis.
16939         (DECL_ORIGIN): Add parenthesis.
16940         (DECL_FROM_INLINE): Use NULL_TREE.
16941         (build_int_2): Whitespace.
16942         (build_type_variant): Add parenthesis.
16943
16944         * gcc/jcf-parse.c: Update copyright date.
16945         (yyparse): Constify resource_filename.
16946
16947 2002-01-03  Graham Stott  <grahams@redhat.com>
16948
16949         * rtl.h: Update copyright date.
16950         (RTL_CHECK1): Wrap long line.
16951         (RTL_CHECK2): Likewise.
16952         (RTL_CHECKC1): Wrap long line and whitespace.
16953         (RTL_CHECKC2): Likewise.
16954         (XWINT): Whitespace.
16955         (XINT): Likewise.
16956         (XSTR): Likewise.
16957         (XEXP): Likewise.
16958         (XVEC): Likewise.
16959         (XMODE): Likewise.
16960         (XBITMAP): Likewise.
16961         (XTREE): Likewise.
16962         (XBBDEF): Likewise.
16963         (XTMPL): Likewise.
16964         (X0WINT): Likewise.
16965         (X0INT):Likewise.
16966         (X0UINT): Likewise.
16967         (X0STR): Likewise.
16968         (X0EXP): Likewise.
16969         (X0VEC): Likewise.
16970         (X0MODE): Likewise.
16971         (X0BITMAP): Likewise.
16972         (X0TREE): Likewise.
16973         (X0BBDEF): Likewise.
16974         (X0ADVFLAGS): Likewise.
16975         (X0CSELIB): Likewise.
16976         (X0MEMATTR): Likewise.
16977         (XCWINT): Likewise.
16978         (XCINT): Likewise.
16979         (XCUINT): Likewise.
16980         (XCSTR): Likewise.
16981         (XCEXP): Likewise.
16982         (XCVEC): Likewise.
16983         (XCMODE): Likewise.
16984         (XCBITMAP): Likewise.
16985         (XCTREE): Likewise.
16986         (XCBBDEF): Likewise.
16987         (XCADVFLAGS): Likewise.
16988         (XCCSELIB): Likewise.
16989         (XC2EXP): Likewise.
16990         (INSN_UID): Likewise.
16991         (PREV_INSN): Likewise.
16992         (PATTERN): Likewise.
16993         (INSN_CODE): Likewise.
16994         (PUT_REG_NOTE_KIND): Likewise.
16995         (CODE_LABEL_NUMBER): Likewise.
16996         (NOTE_SOURCE_FILE): Likewise.
16997         (NOTE_BLOCK): Likewise.
16998         (NOTE_EH_HANDLER): Likewise.
16999         (NOTE_RANGE_INFO): Likewise.
17000         (NOTE_LIVE_INFO): Likewise.
17001         (NOTE_BASIC_BLOCK): Likewise.
17002         (NOTE_EXPECTED_VALUE): Likewise.
17003         (NOTE_LINE_NUMBER): Likewise.
17004         (LABEL_NAME): Likewise.
17005         (LABEL_NUSES): Likewise.
17006         (LABEL_ALTERNATE_NAME): Likewise.
17007         (ADDRESSOF_DECL): Likewise.
17008         (JUMP_LABEL): Likewise.
17009         (LABEL_NEXTREF): Likewise.
17010         (REGNO): Likewise.
17011         (ORIGINAL_REGNO: Likewise.
17012         (HARD_REGISTER_NUM_P): Add parenthesis.
17013         (SUBREG_REG): Whitespace.
17014         (SUBREG_BYTE): Likewise.
17015         (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
17016         (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
17017         (ASM_OPERANDS_OUTPUT_IDX): Likewise.
17018         (ASM_OPERANDS_INPUT_VEC): Likewise.
17019         (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
17020         (ASM_OPERANDS_INPUT): Likewise.
17021         (ASM_OPERANDS_INPUT_LENGTH): Likewise.
17022         (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
17023         (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
17024         (ASM_OPERANDS_INPUT_MODE): Likewise.
17025         (ASM_OPERANDS_SOURCE_FILE): Likewise.
17026         (ASM_OPERANDS_SOURCE_LINE): Likewise.
17027         (MEM_SET_IN_STRUCT_P): Minor reformat.
17028         (TRAP_CONDITION): Whitespace.
17029         (TRAP_CODE): Likewise.
17030         (COND_EXEC_TEST): Likewise.
17031         (COND_EXEC_CODE): Likewise.
17032         (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
17033         (PHI_NODE_P): Add parenthesis.
17034         (plus_constant): Whitespace and add parenthesis.
17035
17036 2002-01-03  Kazu Hirata  <kazu@hxi.com>
17037
17038         * config/avr/avr.c: Fix comment typos.
17039         * config/c4x/c4x.md: Likewise.
17040         * config/dsp16xx/dsp16xx.h: Likewise.
17041         * config/dsp16xx/dsp16xx.md: Likewise.
17042         * config/i386/i386.md: Likewise.
17043         * config/ia64/ia64.c: Likewise.
17044         * config/m32r/m32r.h: Likewise.
17045         * config/m68hc11/m68hc11.md: Likewise.
17046         * config/mmix/mmix.c: Likewise.
17047         * config/mn10200/mn10200.c: Likewise.
17048         * config/romp/romp.c: Likewise.
17049         * config/sh/sh.c: Likewise.
17050         * config/stormy16/stormy16.c: Likewise.
17051         * config/stormy16/stormy16.h: Likewise.
17052         * config/stormy16/stormy16.md: Likewise.
17053
17054 2002-01-03  Graham Stott  <grahams@redhat.com>
17055
17056         * loop.h: Update copyright date.
17057         (LOOP_MOVABLES): Fix typo.
17058         (LOOP_REGS): Likewise.
17059         (LOOP_IVS): Likewise.
17060
17061 2002-01-03  Graham Stott  <grahams@redhat.com>
17062
17063         * cppinit.c: Update copyright date.
17064         Don't include output.h
17065         * Makefile.in: Update copyright date.
17066         Update dependency.
17067
17068 2002-01-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
17069
17070         PR c/5226
17071         * invoke.texi (-mthreads): Remove from documented RS/6000 options.
17072         (-pthread) Add to RS/6000 options.
17073
17074 2002-01-02  Kazu Hirata  <kazu@hxi.com>
17075
17076         * except.c: Fix comment typos.
17077         * loop.c: Likewise.
17078         * varasm.c: Likewise.
17079         * doc/tm.texi: Fix a typo.
17080
17081 2002-01-02  Jakub Jelinek  <jakub@redhat.com>
17082
17083         * c-typeck.c (output_init_element): Allow initializing static storage
17084         duration objects with compound literals.
17085
17086 2002-01-02  Richard Henderson  <rth@redhat.com>
17087
17088         * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
17089         after abusing it.
17090
17091 2002-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17092
17093         * gcc.c (default_compilers): Const-ify.
17094         * mips-tdump.c (stab_names): Likewise.
17095         * mips-tfile.c (map_coff_types, map_coff_storage,
17096         map_coff_sym_type, map_coff_derived_type, stabs_symbol,
17097         pseudo_ops_t, pseudo_ops): Likewise.
17098         * protoize.c (default_include): Likewise
17099
17100         * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
17101         (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
17102         Add array size in declaration.
17103         (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
17104         emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
17105         esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
17106         etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
17107         eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
17108         efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
17109         c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
17110         emtens, make_nan): Const-ify.
17111         (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
17112         DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
17113
17114 2002-01-02  Joseph S. Myers  <jsm28@cam.ac.uk>
17115
17116         * config.gcc (ia64-*-*): Set extra_headers.
17117         (alpha*-dec-osf*): Likewise.  Don't use alpha/t-osf.
17118         * config/alpha/t-osf: Remove.
17119         * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
17120
17121 2002-01-02  David Edelsohn  <edelsohn@gnu.org>
17122
17123         * config/rs6000/t-aix43: Revert previous change.
17124
17125 2002-01-02  Jason Merrill  <jason@redhat.com>
17126
17127         * c-decl.c (c_expand_body): Call outlining_inline_function when
17128         emitting an inline function out of line.
17129
17130 2002-01-02  Richard Henderson  <rth@redhat.com>
17131
17132         * dwarf2out.c (limbo_die_node): Add created_for member.
17133         (new_die): New argument created_for.  Update all callers.
17134         (mark_limbo_die_list): New.
17135         (dwarf2out_init): Register limbo_die_list as a root.
17136         (dwarf2out_finish): Force insert limbo dies into their function
17137         context.
17138
17139 2002-01-02  Nathan Sidwell  <nathan@codesourcery.com>
17140
17141         PR c++/5089
17142         * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
17143
17144 2002-01-02  Kazu Hirata  <kazu@hxi.com>
17145
17146         * config/h8300/fixunssfsi.c: Update copyright.
17147         Fix comment typos.
17148         Fix formatting.
17149         * config/h8300/h8300.c: Update copyright.
17150         Eliminate warnings.
17151
17152 2002-01-02  Kazu Hirata  <kazu@hxi.com>
17153
17154         * config/romp/romp.c: Fix comment formatting.
17155         * config/romp/romp.h: Likewise.
17156         * config/romp/romp.md: Likewise.
17157         * config/s390/s390.c: Likewise.
17158         * config/stormy16/stormy16.c: Likewise.
17159         * config/stormy16/stormy16.h: Likewise.
17160
17161 2002-01-02  Alexandre Oliva  <aoliva@redhat.com>
17162
17163         * c-common.h (genrtl_expr_stmt_value): Declare.
17164         * c-semantics.c (genrtl_goto_stmt): Redirect to...
17165         (genrtl_goto_stmt_value): ... this new function.  Pass new
17166         argument down to expand_expr_stmt_value, taking
17167         TREE_ADDRESSABLE into account.
17168         * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
17169         STMT_EXPR as addressable, i.e., one whose result we want.
17170         * expr.c (expand_expr): Don't save expression statement value
17171         of labeled_blocks or loop_exprs.
17172         * stmt.c (expand_expr_stmt): Redirect to...
17173         (expand_expr_stmt_value): ... this new function.  Use new
17174         argument to tell whether to save expression value.
17175         (expand_end_stmt_expr): Reset last_expr_type and
17176         last_expr_value if we don't have either.
17177         * tree-inline.c (declare_return_variable): Mark its use
17178         statement as addressable.
17179         * tree.h: Document new use of TREE_ADDRESSABLE.
17180         (expand_expr_stmt_value): Declare.
17181
17182 2002-01-01  Tom Rix  <trix@redhat.com>
17183
17184         * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
17185         rs6000_emit_allocate_stack.
17186
17187 2002-01-01  Joseph S. Myers  <jsm28@cam.ac.uk>
17188
17189         * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
17190         ${srcdir}/ginclude/ to every entry in extra_headers.
17191         * configure: Regenerate.
17192         * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
17193         * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
17194         * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
17195         * ginclude/proto.h: Rename to config/convex/proto.h.
17196
17197 Tue Jan  1 17:12:56 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17198
17199         * attribs.c (handle_vector_size_attribute): Use host_integerp
17200         and tree_int_cst; remove warnings.
17201         * caller-save.c (insert_restore): Add cast to get rid of warning.
17202         (insert_save): Likewise.
17203         * emit-rtl.c (adjust_address_1, offset_address): Likewise.
17204         * regmove.c (find_matches): Add temporary var to kill a warning.
17205
17206 2002-01-01  Douglas B Rupp  <rupp@gnat.com>
17207
17208         * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
17209         LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
17210         * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
17211         (vms-dwarf2eh.o): Add Makefile rule.
17212         * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
17213         * config/alpha/vms-dwarf2eh.asm: New file.
17214
17215         * gcc.c (delete_if_ordinary): Delete all versions.
17216
17217 2002-01-01  Hans-Peter Nilsson  <hp@bitrange.com>
17218
17219         * config/mmix/mmix.md: Update FIXME to not mention
17220         define_constants.
17221         (MMIX_rJ_REGNUM): New define_constants constant.
17222         ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
17223         "*movdicc_real"): Adjust contraints formatting.
17224         ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
17225         for branch prediction.
17226         ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
17227         output template.
17228         ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
17229         "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
17230         number.  Delete related FIXMEs.
17231         * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
17232         from number to MMIX_rJ_REGNUM.
17233         (TARGET_MASK_BRANCH_PREDICT): New.
17234         (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
17235         (TARGET_SWITCHES): Update comment.  Correct -mno-toplevel-symbols
17236         value.  Add -mbranch-predict and -mno-branch-predict.
17237         (TARGET_VERSION): Drop date.
17238         (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
17239         * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
17240         for finding out global symbols.
17241         (mmix_asm_output_labelref): Revert condition for global symbol.
17242         (mmix_print_operand): <case '+'>: Emit P for a likely branch.
17243         (mmix_print_operand_punct_valid_p): A '+' is valid.
17244
17245 See ChangeLog.6 for earlier changes.