OSDN Git Service

* doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
2
3         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
4
5 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
6
7         * gcc.c (cc1_options): Pass output file as auxbase when
8         appropriate.
9         * profile.c (init_branch_prob): FILENAME has already had ending
10         stripped.
11         * final.c (end_final): Likewise.
12         * toplev.c (aux_base_name): New global.
13         (compile_file): Pass aux_base_name to init init_branch_prob and
14         end_final.
15         (independent_decode_option, case 'a'): New auxinfo options.
16         (case 'd'): Protect against mising basename.
17         (do_compile): Initialize aux_base_name.
18         * toplev.h (aux_base_name): New global.
19         * doc/invoke.texi: Adjust documentation.
20
21 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
22
23         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
24         of TARGET_ALIGN_DOUBLE.
25
26 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
27         
28         * diagnostic.c (inform): New function.
29         * diagnostic.h (inform): Declare.
30         
31 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
32
33         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
34         (movhi_internal): Same.
35         (movqi_internal): Same.
36         (movdi_internal64): Same.
37
38         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
39
40         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
41         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
42         (COMMON_ASM_OP): Define.
43         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
44         Use ALIGN parameter.
45         (LOCAL_COMMON_ASM_OP): Define.
46         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
47
48 2002-08-03  Roger Sayle  <roger@eyesopen.com>
49
50         * builtins.def: Define new builtin functions exp, expf, expl,
51         log, logf and logl (and their __builtin_* variants).
52         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
53         Define exp_optab and log_optab.
54         * optabs.c (init_optans): Initialize exp_optab and log_optab.
55         * genopinit.c (optabs): Implement exp_optab and log_optab
56         using exp?f2 and log?f2 patterns.
57         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
58         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
59         (expand_builtin): Ignore the new builtins (and all cos and
60         sin variants) when not optimizing.  Expand new builtins via
61         expand_builtin_mathfn when flag_unsafe_math_optimizations.
62
63         * doc/extend.texi: Document new exp and log builtins.
64         * doc/md.texi: Document new exp?f2 and log?f2 patterns
65         (and previously undocumented cos?f2 and sin?f2 patterns).
66
67 2002-08-03  Jason Merrill  <jason@redhat.com>
68
69         * explow.c (int_expr_size): New fn.
70         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
71         * expr.h: Declare it.
72
73 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
74
75         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
76         gengtype-* dependencies.
77
78 2002-08-02  Eric Christopher  <echristo@redhat.com>
79
80         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
81         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
82         #ifndef to #undef.
83         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
84
85 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
86
87         PR optimize/7067
88         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
89         small if optimizing for size.
90
91 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
92
93         * configure.in (FORBUILD): Use $build_alias.
94         * configure: Regenerated.
95
96 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
97
98         * config.gcc: Don't include mips/abi64.h in $tm_file.
99         * hard-reg-set.h (call_really_used_regs): Declare.
100         * config/mips/abi64.h: Remove file.
101         * config/mips/linux.h,
102         * config/mips/iris6.h: Don't include it.
103         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
104         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
105         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
106         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
107         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
108         Bring across definitions from abi64.h.
109         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
110         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
111         (struct mips_args): Use it.
112         * config/mips/mips.c (mips_conditional_register_usage): Define.
113
114 2002-08-02  Jason Merrill  <jason@redhat.com>
115
116         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
117         * langhooks.c (lhd_expr_size): Define default.
118         * langhooks.h (struct lang_hooks): Add expr_size.
119         * explow.c (expr_size): Call it.
120         * expr.c (store_expr): Don't copy an expression of size zero.
121         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
122         to store.
123         * Makefile.in (builtins.o): Depend on langhooks.h.
124
125 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
126
127         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
128         * ra-debug.c: Include "tm_p.h".
129         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
130
131 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
132
133         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
134         when not honoring signalling NaNs.
135         (simplify_ternary_operation): a == b has a definite value
136         when not honoring NaNs.
137
138 2002-08-02  Jason Merrill  <jason@redhat.com>
139
140         * gdbinit.in (pct): New macro.
141
142 2002-08-01  Stan Shebs  <shebs@apple.com>
143             Andreas Tobler  <toa@pop.agri.ch>
144
145         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
146         plays nice with Darwin headers.
147         (_BSD_RUNE_T_DEFINED_): Likewise.
148
149 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
150
151         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
152         * cppinit.c (cpp_post_options): Likewise.
153
154         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
155         warning about 'LL' suffix (but not 'ULL' etc) when
156         -Wno-long-long is in effect.
157
158         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
159         Check for failing time()/localtime(), issue a warning, and
160         make __TIME__ and __DATE__ expand to fallback strings.
161
162         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
163         and __TIME__ when the date and time cannot be determined.
164
165 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
166
167         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
168
169 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
170
171         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
172
173 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
174
175         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
176         (mipsisa64sb1el-*-elf*): Likewise.
177         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
178         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
179         (TARGET_SB1, TUNE_SB1): New macros.
180         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
181         -mtune flags.
182
183 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
184
185         * varasm.c (asm_emit_uninitialized): Return false if global BSS
186         and ASM_EMIT_BSS not supported by target.
187         (assemble_variable): Do not duplicate uninitialized logic.
188         Fall through if asm_emit_uninitialized failed.
189
190 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
191
192         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
193
194 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
195
196         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
197         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
198
199         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
200         HOST_BITS_PER_WIDE_INT == 64.
201
202 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
203
204         * df.c (df_insn_table_realloc): Change parameter to unsigned.
205         * optabs.c (expand_binop): Make variable unsigned.
206         * simplify-rtx.c (simplify_subreg): Likewise.
207         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
208
209 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
210
211         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
212
213 2002-08-01  Richard Henderson  <rth@redhat.com>
214
215         * toplev.c (parse_options_and_default_flags): Don't set
216         flag_reorder_blocks for -Os.
217
218         * config/avr/avr.c (avr_optimization_options): Remove.
219         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
220         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
221         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
222
223 2002-08-01  H.J. Lu <hjl@gnu.org>
224             Richard Henderson  <rth@redhat.com>
225
226         * output.h (DECL_READONLY_SECTION): Remove.
227         (decl_readonly_section): Declare.
228         * varasm.c (decl_readonly_section): New.
229         (default_section_type_flags, default_select_section): Use it.
230         * config/arm/pe.c (arm_pe_unique_section): Likewise.
231         * config/i386/interix.c (i386_pe_unique_section): Likewise.
232         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
233         * config/mcore/mcore.c (mcore_unique_section): Likewise.
234         * config/mips/mips.c (mips_unique_section): Likewise.
235
236 2002-08-01  Richard Henderson  <rth@redhat.com>
237
238         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
239         refers to a subroutine parameter.
240
241 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
242
243         * varasm.c (assemble_visibility): Strip name encoding.
244
245 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
246
247         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
248         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
249         when there is no frame pointer.
250         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
251         registers properly.
252         * config/ns32k/__unorddf2.c: New file.
253         * config/ns32k/__unordsf2.c: New file.
254         * config/ns32k/t-ns32k: New file.
255         * config.gcc (ns32k-*-netbsd*): Use it.
256
257 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
258
259         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
260
261 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
262
263         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
264
265 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
266
267         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
268
269 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
270
271         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
272
273 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
274
275         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
276         n_sets): Removed.
277         (expr_hash_table, set_hash_table): Type changed to ...
278         (struct hash_table): New type.
279         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
280         insert_expr_in_table, insert_set_in_table, compute_hash_table,
281         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
282         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
283         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
284         (alloc_hash_table): New.
285         (free_set_hash_table, free_expr_hash_table): Merged to ...
286         (free_hash_table): New.
287         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
288         (compute_hash_table_work): New.
289         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
290         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
291         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
292         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
293         hoist_code, one_code_hoisting_pass,
294         trim_ld_motion_mems): Altered due to changed type of hash tables.
295
296 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
297
298         * final.c (output_alternate_entry_point):
299         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
300
301 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
302
303         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
304         avoid ISO C style function definition.
305
306         * expr.c (expand_assignment): Delete unused variable.
307
308 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
309
310         * c-common.c (cb_register_builtins): Set
311         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
312         is given, and to 0 otherwise.
313         * combine.c (simplify_if_then_else): HONOR_NANS
314         implies FLOAT_MODE_P.
315
316 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
317
318         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
319         (cpp_handle_option): Don't handle it.
320         (print_help): Update.
321         * doc/cppopts.texi: Update.
322
323 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
324
325         * c-common.c (cb_register_builtins): If C++, define
326         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
327         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
328 cp:
329         * lang-specs.h: Simplify in accordance with new code in
330         c-common.c.
331
332 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
333
334         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
335         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
336         * c-decl.c: Move all warning and flag variables to c-common.c.
337         * c-format.c: Move all warning variables to c-common.c.
338         * c-tree.h: Move all warning and flag declarations to c-common.h.
339         * objc/objc-act.c: Move all warning variables to c-common.c.
340         (flag_warn_protocol): Rename warn_protocol.
341
342 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
343
344         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
345
346 2002-07-31  Graham Stott  <grahams@btinternet.com>
347
348         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
349         .section prefix.
350
351 2002-07-31  Stan Shebs  <shebs@apple.com>
352
353         * config.gcc (i[34567]86-*-darwin*): New configuration.
354         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
355         defining.
356         (TARGET_ENCODE_SECTION_INFO): Ditto.
357         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
358         * config/darwin.c (machopic_indirect_data_reference): Remove
359         setting of RTX_UNCHANGING_P.
360         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
361         not to be applied to sums.
362         * config/i386/t-darwin: New file.
363         * config/i386/darwin.h: New file.
364         * config/i386/i386.h (TARGET_MACHO): Add default definition.
365         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
366         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
367         label and not the GOT add.
368         (constant_address_p): For Mach-O, seeing a CONST is enough.
369         (legitimate_pic_address_disp_p): Add a Mach-O case.
370         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
371         (legitimize_pic_address): Use generic Mach-O code to legitimize.
372         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
373         if outputting a difference.
374         (ix86_output_addr_diff_elt): Add Mach-O case.
375         (ix86_expand_move): Similarly.
376         (ix86_expand_call): Similarly.
377         (current_machopic_label_num): New global.
378         (machopic_output_stub): New function.
379         (ix86_value_regno): New function.
380         (ix86_function_value): Use it instead of VALUE_REGNO.
381         (ix86_libcall_value): Ditto.
382         * config/i386/unix.h (VALUE_REGNO): Remove.
383
384 2002-07-31  Graham Stott  <grahas@btinternet.com>
385
386         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
387         hash for LABEL_REF's.
388
389 2002-07-31  Graham Stott  <grahams@btinternet.com>
390
391         * config/rs6000/rs6000.c (spe_init_builtins,
392         altivec_init_builtins, rs6000_common_init_builtins):
393         Replace ANSI with K&R function def.
394
395 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
396
397         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
398         for CCFPmode.
399
400 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
401
402         * config/mips/crtn.asm: Don't use __mips16 to determine the
403         return-address offset.  Define RA to a suitable temporary
404         register for the return address.
405
406 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
407
408         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
409         constraints to 'd'.
410
411 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
412
413         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
414         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
415         patch on 2002-07-29.)
416         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
417
418 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
419
420         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
421         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
422         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
423         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
424         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
425         (ASM_GLOBALIZE_LABEL): Delete.
426         (GLOBAL_ASM_OP): Define.
427
428         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
429
430         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
431         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
432
433 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
434
435         * doc/extend.texi (Hints implementation): Document that GCC
436         mostly ignores `register'.
437
438 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
439
440         * flags.h: Declare flag_finite_math_only.
441         Use it in definition of HONOR_NANS and
442         HONOR_INFINITIES.
443         * c-common.c (cb_register_builtins): Emit
444         __FINITE_MATH_ONLY__ when flag_finite_math_only
445         is set.
446         * combine.c (simplify_if_then_else): If
447         flag_finite_math_only is set, a == b has a
448         definite value.
449         * toplev.c: Initialize flag_finite_math_only.
450         (set_flags_fast_math): Set it on -ffast-math.
451         (flag_fast_math_set_p): Test it.
452         * doc/invoke.texi: Document -ffinite-math-only.
453
454 2002-07-30  Richard Henderson  <rth@redhat.com>
455
456         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
457         (noce_process_if_block): Likewise.
458
459 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
460
461         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
462         Bail out early if false_expr is NULL and we'd crash due to this.
463         * genemit.c (gen_expand): Recognize return insns even if the return
464         appears in a parallel.
465         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
466         * config/fp-bit.c: Likewise.
467         * doc/tm.texi: Document it.
468
469 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
470             Zack Weinberg  <zack@codesourcery.com>
471
472         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
473         CODE_FOR_nothing.  Change switch to if.
474         (rs6000_expand_binop_builtin): Same.
475         (rs6000_expand_builtin): Expand builtin if target support enabled.
476         (rs6000_init_builtins): Init builtin if target support enabled.
477         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
478
479 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
480
481         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
482
483 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
484
485         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
486
487 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
488
489         * sh.md (cond_delay_slot): New attribute.
490         (cbranch delay): Use it for anulled-true case.
491         (stuff_delay_slot): New pattern.
492         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
493         delay slot insn.
494         (gen_far_branch): Emit stuff_delay_slot pattern.
495
496 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
497
498         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
499
500 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
501
502         * fold-const.c: Fix comment typos.
503         * gcse.c: Likewise.
504         * reload1.c: Likewise.
505
506 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
507
508         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
509         for TARGET_SPE.
510
511 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
512
513         * c-pretty-print.h (pp_c_statement): Declare.
514         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
515         (pp_c_statement): Define.
516
517 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
518
519         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
520         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
521         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
522         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
523         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
524         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
525
526         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
527         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
528
529 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
530
531         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
532         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
533         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
534         (pp_c_expression): Update.
535
536 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
537
538         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
539         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
540         * alpha/vms-ld.c (main): Likewise.
541         * dsp16xx.c (double_reg_to_memory): Likewise.
542         * mcore.c (mcore_expand_prolog): Likewise.
543         * cppfiles.c (read_name_map): Likewise.
544         * gensupport.c (process_rtx, identify_predicable_attribute,
545         alter_test_for_insn): Likewise.
546         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
547
548 2002-07-29  Roger Sayle  <roger@eyesopen.com>
549
550         * builtins.c (expand_builtin):  Change the default behavior to
551         only issue an error if the builtin function doesn't have a
552         fallback library call.  Remove several cases handled by the
553         new default.
554
555 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
556
557         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
558         floating point format of the target is IEEE.
559         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
560         format of the target is DEC.
561
562 2002-07-29  Richard Henderson  <rth@redhat.com>
563
564         * unroll.c (verify_addresses): Remove.
565         (find_splittable_givs): Never split DEST_ADDR givs.
566
567 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
568
569         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
570         is exhaustive.
571         (Files): Improve documentation on generated source files.
572
573         * doc/extend.texi (Translation implementation): Document what
574         diagnostics look like.
575         (Identifiers implementation): Document that there's normally no
576         limit on identifier names.
577         (Integers implementation): Document two's complement.
578         (Hints implementation): Document that GCC honours 'inline', mostly.
579         (Preprocessing directives implementation): Document that GCC
580         requires the current time.
581
582 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
583
584         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
585         (pp_initializer): New macro.
586         (pp_c_initializer): Declare.
587         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
588         (pp_c_initializer): Define.
589         (pp_c_initializer_list): New function.
590         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
591         VECTOR_CST, CONSTRUCTOR.
592         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
593         IMAGPART_EXPR.
594         (pp_c_cast_expression): Handle FLOAT_EXPR.
595         (pp_c_assignment_expression): Handle INIT_EXPR.
596         (pp_c_expression): Update.
597
598 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
599
600         * objc/objc-act.c (objc_init): Return immediately if filename
601         is NULL.
602
603 2002-07-29  Eric Christopher  <echristo@redhat.com>
604
605         * config/mips/elf.h: Remove ecoff.h and gofast includes.
606         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
607         (SDB_DEBUGGING_INFO): Undefine.
608         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
609         (PUT_SDB_SIZE): Remove.
610         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
611         (STARTFILE_SPEC): Add isa3264 define.
612         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
613         * config/mips/ecoff.h: Remove. and here...
614         * config/mips/iris3.h: and here...
615         * config/mips/sni-svr4.h: and here...
616         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
617         Add assembler -mmdebug options for non-dwarf debugging.
618         * config/mips/r3900.h: Remove debug info defines.
619         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
620         * config/mips/isa3264.h: Ditto.
621         * config/mips/t-isa3264: Fix up for file removal and gofast configure
622         change.
623         * config/mips/t-elf: Ditto.
624         * config/mips/t-ecoff: Ditto.
625         * config/mips/t-r3900: Ditto.
626         * config/mips/t-iris5-6: Ditto.
627         * config/mips/t-isa3264: Ditto.
628         * config/mips/t-linux: Remove.
629         * config/mips/t-netbsd: Remove.
630         * config/mips/t-mips: New file.
631         * config/mips/t-gofast: Ditto.
632         * config/mips/netbsd.h: Remove unnecessary undefines.
633         * config/mips/linux.h: Remove #include of mips.h.
634         * config.gcc: Add mips.h include for elf targets. Remove tm_file
635         for ecoff. Add gofast configure option for mips.
636
637 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
638
639         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
640         linker scripts use STARTUP directives consistently.
641         * configure: Regenerate.
642         * config.in: Regenerate.
643         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
644         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
645         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
646         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
647         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
648         will be the same.
649
650 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
651
652         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
653
654 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
655
656         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
657
658 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
659
660         * config/rs6000/rs6000.md: Move altivec patterns from here...
661
662         * config/rs6000/altivec.md: ...to here.
663
664 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
665
666         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
667
668 2002-07-29  Richard Henderson  <rth@redhat.com>
669
670         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
671         set_mem_attributes and add BITPOS argument.  Subtract it from
672         OFFSET when same is adjusted.
673         (set_mem_attributes): New wrapper function.
674         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
675         remove offset adjustment hack.
676         * expr.h (set_mem_attributes_minus_bitpos): Declare.
677
678 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
679
680         * Makefile.in (C_OBJS): Include c-pretty-print.o
681         (c-pretty-print.o): Add depency rule.
682         * pretty-print.h: Add more macros.
683         * c-pretty-print.c: New file.
684         * c-pretty-print.h: Likewise.
685
686 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
687
688         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
689         constants to __ev64_s32__.
690         (__internal_ev_mwhgsmian): Same.
691         (__internal_ev_mwhgsmfan): Same.
692         (__internal_ev_mwhgssfan): Same.
693         (__internal_ev_mwhgumiaa): Same.
694         (__internal_ev_mwhgsmiaa): Same.
695         (__internal_ev_mwhgsmfaa): Same.
696         (__internal_ev_mwhgssfaa): Same.
697
698 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
699
700         * varasm.c (assemble_variable): Narrow test for uninitialized
701         without BSS target support.
702
703 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
704
705         * profile.c: Add file comment describing the overall algorithm and
706         structures.
707         (struct edge_info): Add comments.
708         (struct bb_info): Add comments.
709         * basic-block.h (EDGE_*): Add comments.
710         * doc/gcov.texi (Gcov Data Files): Document bit flags.
711
712 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
713
714         * config/xtensa/elf.h, config/xtensa/linux.h
715         (TARGET_OS_CPP_BUILTINS): Define.
716         (CPP_PREDEFINES): Remove.
717         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
718         (CPP_SPEC): Remove.
719
720 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
721
722         * gensupport.c: Include hashtab.h.
723         (insn_elision, condition_table, hash_c_test, cmp_c_test,
724         maybe_eval_c_test): New routines and data structures to
725         support insn elision.
726         (init_md_reader): Read and initialize the condition_table.
727         (read_md_rtx): Discard insn patterns whose C test is provably
728         always false.
729         * gensupport.h: Declare new functions and data structures.
730
731         * genconditions.c, dummy-conditions.c: New files.
732         * Makefile.in: Build genconditions; run it to construct
733         insn-conditions.c; build that and link it into most gen*
734         programs.
735         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
736         (GEN): Delete, unused.
737         (STAGESTUFF): Update.
738
739         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
740         CODE_FOR_nothing for all elided patterns.
741         (main): Tweaked to support this.
742         * genflags.c (gen_proto): Emit a static inline generator
743         function here for all elided patterns, which simply returns
744         NULL_RTX.
745         (gen_insn): Do not define HAVE_xxx for elided patterns.
746         (main): Tweaked to support this.  No need to forward-declare
747         struct rtx_def.
748         * genrecog.c: Do not bother emitting the C test if it's known
749         to be true at compile time.
750
751 2002-07-29  Mike Stump  <mrs@apple.com>
752
753         * config.gcc (target_gtfiles): Initialize, as otherwise cross
754         compilers hosted on powerpc-apple-darwin6.0 won't even build.
755
756 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
757
758         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
759         remove clobber of LR.
760         (sibcall_insn, sibcall_value_insn): Update accordingly.
761         (sibcall_epilogue): Remove debugging comment from assembler stream.
762
763 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
764
765         * pretty-print.h: Define more macros.
766         * diagnostic.h (output_formatted_integer): Moved from...
767         * diagnostic.c: ... here.
768
769 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
770
771         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
772
773 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
774
775         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
776         arguments.  Always use ".-symbol" as expression argument.
777         * doc/tm.texi: Update to match.  Document requirement for
778         ".size symbol, .-symbol" to be acceptable to assembler.
779
780         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
781         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
782         config/i386/freebsd-aout.h, config/i386/sco5.h,
783         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
784         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
785
786 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
787
788         * Makefile.in (gengtype-lex.c): Fix error in last change.
789
790         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
791         backslash.
792
793         * Makefile.in (vmsdbgout.o): Depend on function.h.
794
795         * vmsdbgout.c: Include function.h.
796
797 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
798
799         * prefix.c (update_path): Don't strip single `.' path components
800         unless stripping a later `..' component.  Exit loop as soon as
801         a valid path is found.
802
803 2002-07-27  Roger Sayle  <roger@eyesopen.com>
804
805         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
806         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
807         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
808         floating point unordered comparisons (e.g. __builtin_isgreater)
809         as const, and leave the remaining GCC_BUILTINs unchanged.
810
811         * c-decl.c (builtin_function): No need to explicitly mark
812         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
813
814 2002-07-27  Roger Sayle  <roger@eyesopen.com>
815
816         * Makefile.in: rtlanal.o now depends upon real.h.
817
818         * flags.h [flag_signaling_nans]: New flag.
819         [HONOR_SNANS]: New macro.
820
821         * toplev.c [flag_signaling_nans]: Initialize to false.
822         (f_options): Add processing for "-fsignaling-nans".
823         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
824         (process_options): flag_signaling_nans implies flag_trapping_math.
825
826         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
827         when -fsignaling-nans.  First step to implementing WG14's N965.
828
829         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
830         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
831         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
832
833         * simplify-rtx.c (simplify_relational_operation): Conditionalize
834         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
835
836         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
837         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
838         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
839         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
840         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
841
842         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
843
844 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
845
846         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
847         * gengtype-lex.l (YY_USE_PROTOS): Undef.
848         (YY_DECL): Define.
849
850 2002-07-27  Roger Sayle  <roger@eyesopen.com>
851
852         * doc/invoke.texi: Document that both -fno-builtin-foo and
853         -fno-builtin are supported by the g++ front-end.
854
855 2002-07-27  Stan Shebs  <shebs@apple.com>
856
857         * configure.in: Rename config_gtfiles to target_gtfiles.
858         * configure: Regenerate.
859         * doc/gty.texi: Update reference.
860         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
861         instead of appending to it.
862
863 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
864
865         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
866         vectors are split into two registers.
867         (function_arg): Same.
868
869 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
870
871         * pa.md (extv): Check predicates before emitting extv_32.
872
873 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
874
875         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
876         (rs6000_traceback): New var.
877         (rs6000_override_options): Set rs6000_traceback.
878         (rs6000_output_function_epilogue): Implement traceback options.
879         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
880         (rs6000_traceback_name): Declare.
881
882         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
883         label reference when NO_PROFILE_COUNTERS.
884
885 2002-07-26  Jason Merrill  <jason@redhat.com>
886
887         * function.c (assign_parms): Handle frontend-directed pass by
888         invisible reference.
889
890 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
891
892         * doc/cppopts.texi: Update.
893
894 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
895
896         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
897         warnings on assertions.
898
899 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
900
901         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
902         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
903         RID_COMPL): Remove.
904         * c-parse.in (rid_to_yy): Similarly.
905
906 2002-07-26  Jason Merrill  <jason@redhat.com>
907
908         * c-dump.c: Resurrect.
909         * tree-dump.c: Move C-specific stuff to c-dump.c.
910         * c-common.h: Declare c_dump_tree.
911         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
912         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
913         (c-dump.o): New rule.
914
915 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
916
917         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
918         PowerPC64.  Replace "T" and "S" constraints with "n" when the
919         predicate will do.  Formatting fixes.
920         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
921         as for extzvsi_internal1.
922
923 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
924
925         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
926         DERIV_END_LABEL_FMT): Remove.
927         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
928
929 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
930
931         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
932         Remove.
933
934 2002-07-25  Stan Shebs  <shebs@apple.com>
935
936         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
937         local var dwarfp.
938         (output_compiler_stub): Remove unused locals.
939         (output_call): Always initialize line number.
940
941 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
942
943         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
944         * sh.md (truncdiqi2, movqi_media): Likewise.
945
946 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
947
948         * gcse.c (obstack_chunk_alloc): Remove.
949         (gcse_alloc): Fix to count allocated bytes.
950         * collect2.c (SYMBOL__MAIN): Remove.
951
952 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
953
954         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
955         HAVE_TARGET_EXECUTABLE_SUFFIX.
956
957 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
958
959         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
960         SIZE, EXPR and OFFSET.
961
962 2002-07-25  Richard Henderson  <rth@redhat.com>
963
964         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
965         in ARRAY_REF of DECL_P case.
966
967 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
968
969         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
970         description.  Document -mips32, -mips64, and the associated -march
971         values.  Describe the "mipsN" arguments to -march.  Say that the
972         -mipsN options are equivalent to -march.  Reword the description
973         of default type sizes.
974         * toplev.h (target_flags_explicit): Declare.
975         * toplev.c (target_flags_explicit): New var.
976         (set_target_switch): Update target_flags_explicit.
977         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
978         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
979         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
980         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
981         * config/mips/mips.h (mips_cpu_info): New struct.
982         (mips_cpu_string, mips_explicit_type_size_string): Remove.
983         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
984         (MIPS_CPP_SET_PROCESSOR): New macro.
985         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
986         Define _MIPS_ARCH and _MIPS_TUNE.
987         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
988         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
989         MIPS_ISA_DEFAULT were already defined.
990         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
991         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
992         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
993         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
994         (ABI_GAS_ASM_SPEC): Remove.
995         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
996         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
997         Invoke %(asm_abi_default_spec) if no ABI was specified.
998         (CC1_SPEC): Remove ISA -> register-size rules.
999         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
1000         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
1001         (mips_cpu_string, mips_explicit_type_size_string): Remove.
1002         (mips_cpu_info_table): New array.
1003         (mips_set_architecture, mips_set_tune): New fns.
1004         (override_options): Rework to make -mipsN equivalent to -march.
1005         Detect more erroneous cases, including those removed from CC1_SPEC.
1006         Don't change the ABI based on architecture, or vice versa.
1007         Unify logic with GAS.
1008         (mips_asm_file_start): Get architecture name from mips_arch_info.
1009         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
1010         (mips_parse_cpu): Take the name of the option as argument.  Handle
1011         'from-abi'.  Raise an error if the option is wrong.
1012         (mips_cpu_info_from_isa): New fn.
1013
1014 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
1015
1016         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
1017         (tablejump_mips162): Likewise.
1018
1019 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
1020
1021         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
1022         int_mode_for_mode.
1023
1024 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
1025
1026         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
1027         complaining.
1028         * c-common.h (c_sizeof): Adjust definition.
1029         (c_alignof): Likewise.
1030         * c-tree.h (c_sizeof_nowarn): Now macro.
1031         * c-typeck.c (c_sizeof_nowarn): Remove definition.
1032
1033 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
1034
1035         * c-decl.c (c_decode_option): No need to handle switches
1036         cpplib handles.
1037
1038 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
1039
1040         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
1041         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
1042         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
1043         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
1044
1045         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
1046         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
1047         config/cris/aout.h, config/i386/freebsd-aout.h,
1048         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
1049         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
1050         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
1051         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
1052         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
1053         config/xtensa/elf.h, config/xtensa/linux.h:
1054         Use the new macros.
1055         Where possible, remove redundant definitions of SIZE_ASM_OP,
1056         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
1057
1058 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
1059
1060         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
1061         TARGET_ISEL, and TARGET_FPRS.
1062
1063         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
1064         -mabi=spe, -mabi=no-spe, and -misel=.
1065
1066         * config/rs6000/rs6000-protos.h: Add output_isel.
1067         Move vrsave_operation prototype here.
1068
1069         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
1070         (smaxsi3): Same.
1071         (uminsi3): Same.
1072         (umaxsi3): Same.
1073         (abssi2_nopower): Disallow when TARGET_ISEL.
1074         (*ne0): Same.
1075         (negsf2): Change to expand and rename old pattern to *negsf2.
1076         (abssf2): Change to expand and rename old pattern to *abssf2.
1077
1078         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
1079         fixunssfsi2.
1080
1081         Change patterns that check for TARGET_HARD_FLOAT or
1082         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
1083
1084         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
1085         rs6000_isel, rs6000_fprs, rs6000_isel_string.
1086         (rs6000_override_options): Add 8540 case to
1087         processor_target_table.
1088         Set rs6000_isel for the 8540.
1089         Call rs6000_parse_isel_option.
1090         (enable_mask_for_builtins): New.
1091         (rs6000_parse_isel_option): New.
1092         (rs6000_parse_abi_options): Add spe and no-spe.
1093         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
1094         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
1095         for TARGET_HARD_FLOAT.
1096         Add case for SPE_VECTOR_MODE.
1097         (rs6000_legitimize_reload_address): Handle SPE vector modes.
1098         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
1099         vector modes.
1100         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
1101         (rs6000_emit_move): Check for TARGET_FPRS.
1102         Add cases for SPE vector modes.
1103         (function_arg_boundary): Return 64 for SPE vector modes.
1104         (function_arg_advance): Check for TARGET_FPRS and
1105         Handle SPE vectors.
1106         (function_arg): Same.
1107         (setup_incoming_varargs): Check for TARGET_FPRS.
1108         (rs6000_va_arg): Same.
1109         (struct builtin_description): Un-constify mask field.  Move up in
1110         file.
1111         (bdesc_2arg): Un-constify and add SPE builtins.
1112         (bdesc_1arg): Same.
1113         (bdesc_spe_predicates): New.
1114         (bdesc_spe_evsel): New.
1115         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
1116         (rs6000_expand_binop_builtin): Same.
1117         (bdesc_2arg_spe): New.
1118         (spe_expand_builtin): New.
1119         (spe_expand_predicate_builtin): New.
1120         (spe_expand_evsel_builtin): New.
1121         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
1122         (rs6000_init_builtins): Initialize SPE builtins.  Call
1123         rs6000_common_init_builtins.
1124         (altivec_init_builtins): Move all non-altivec builtin code to...
1125         (rs6000_common_init_builtins): ...here.  New function.
1126         (branch_positive_comparison_operator): Allow NE code for SPE.
1127         (ccr_bit): Return correct ccr bit for SPE fp.
1128         (print_operand): Emit crnor in 'D' case for SPE.
1129         New case 't'.
1130         Add SPE code for 'y' case.
1131         (rs6000_generate_compare): Generate rtl for SPE fp.
1132         (output_cbranch): Handle SPE hard floats.
1133         (rs6000_emit_cmove): Handle isel.
1134         (rs6000_emit_int_cmove): New.
1135         (output_isel): New.
1136         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
1137         64-bits for SPE.
1138         (debug_stack_info): Add SPE info.
1139         (gen_frame_mem_offset): New.
1140         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
1141         Change mode of frame pointer, when saving it, to Pmode.
1142         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
1143         Misc cleanups and use gen_frame_mem_offset when appropriate.
1144
1145         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
1146         (TARGET_SPE_ABI): New.
1147         (TARGET_SPE): New.
1148         (TARGET_ISEL): New.
1149         (TARGET_FPRS): New.
1150         (FIXED_SCRATCH): New.
1151         (RTX_COSTS): Add PROCESSOR_PPC8540.
1152         (ASM_CPU_SPEC): Add case for 8540.
1153         (TARGET_OPTIONS): Add isel= case.
1154         (rs6000_spe_abi): New.
1155         (rs6000_isel): New.
1156         (rs6000_fprs): New.
1157         (rs6000_isel_string): New.
1158         (UNITS_PER_SPE_WORD): New.
1159         (LOCAL_ALIGNMENT): Adjust for SPE.
1160         (HARD_REGNO_MODE_OK): Same.
1161         (DATA_ALIGNMENT): Same.
1162         (MEMBER_TYPE_FORCES_BLK): New.
1163         (FIRST_PSEUDO_REGISTER): Set to 113.
1164         (FIXED_REGISTERS): Add SPE registers.
1165         (reg_class): Same.
1166         (REG_CLASS_NAMES): Same.
1167         (REG_CLASS_CONTENTS): Same.
1168         (REGNO_REG_CLASS): Same.
1169         (REGISTER_NAMES): Same.
1170         (DEBUG_REGISTER_NAMES): Same.
1171         (ADDITIONAL_REGISTER_NAMES): Same.
1172         (CALL_USED_REGISTERS): Same.
1173         (CALL_REALLY_USED_REGISTERS): Same.
1174         (SPE_ACC_REGNO): New.
1175         (SPEFSCR_REGNO): New.
1176         (SPE_SIMD_REGNO_P): New.
1177         (HARD_REGNO_NREGS): Adjust for SPE.
1178         (VECTOR_MODE_SUPPORTED_P): Same.
1179         (REGNO_REG_CLASS): Same.
1180         (FUNCTION_VALUE): Same.
1181         (LIBCALL_VALUE): Same.
1182         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
1183         (SPE_VECTOR_MODE): New.
1184         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
1185         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
1186         (rs6000_stack): Add spe_gp_size, spe_padding_size,
1187         spe_gp_save_offset.
1188         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
1189         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
1190         (SPE_CONST_OFFSET_OK): New.
1191         (rs6000_builtins): Add SPE builtins.
1192
1193         * testsuite/gcc.dg/ppc-spe.c: New.
1194
1195         * config/rs6000/eabispe.h: New.
1196
1197         * config/rs6000/spe.h: New.
1198
1199         * config/rs600/spe.md: New.
1200
1201         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
1202         __SIMD__ for TARGET_SPE.
1203
1204         * config.gcc: Add powerpc-*-eabispe* case.
1205         Add spe.h to user headers for powerpc.
1206
1207 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
1208
1209         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
1210         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
1211         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
1212
1213 2002-07-24  Richard Henderson  <rth@redhat.com>
1214
1215         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
1216         form when not optimizing.
1217
1218 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
1219
1220         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
1221         thread_pointer_rtx as unchanging.
1222
1223 2002-07-24  Michael Matz  <matz@suse.de>
1224
1225         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
1226         (free_reg): Use it.
1227
1228 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
1229
1230         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
1231         pattern.
1232         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
1233         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
1234
1235 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
1236
1237         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
1238         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
1239         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
1240
1241 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
1242
1243         * toplev.c (rest_of_compilation): Dump loops before clobbering
1244         the structure.
1245
1246 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
1247
1248         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
1249
1250 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
1251
1252         PR optimization/7291
1253         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
1254         problem on x86_64.
1255
1256 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
1257
1258         * pretty-print.h: Add macros from cp/error.c
1259
1260 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
1261
1262         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
1263         (mask64_2_operand): Declare.
1264         (build_mask64_2_operands): Declare.
1265         (and64_2_operand): Declare.
1266         (extract_MB): Declare.
1267         (extract_ME): Declare.
1268         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
1269         CONST_DOUBLE code.
1270         (mask_operand_wrap): New insn predicate.
1271         (mask64_2_operand): Likewise.
1272         (and64_2_operand): Likewise.
1273         (build_mask64_2_operands): New function.
1274         (extract_MB): New function.
1275         (extract_ME): New function.
1276         (print_operand <case m,M>): Use extract_MB and extract_ME.
1277         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
1278         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
1279         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
1280         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
1281         * config/rs6000/rs6000.md (andsi3_internal3): New
1282         (andsi3_internal3+1): Enable split for powerpc64.
1283         (andsi3_internal3+2): New split.
1284         (andsi3_internal4): Renamed old andsi3_internal3.
1285         (andsi3_internal5): New.
1286         (andsi3_internal5+1): Enable split for powerpc64.
1287         (andsi3_internal5+2): New split.
1288         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
1289         (anddi3): Handle 't' constraint.
1290         (anddi3+1): New split.
1291         (anddi3_internal2): Handle 't' constraint.
1292         (anddi3_internal2+1): New split.
1293         (anddi3_internal3): Handle 't' constraint.
1294         (anddi3_internal3+1): New split.
1295
1296 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
1297
1298         * config/rs6000/rs6000.md: Remove scratch reg on insns using
1299         addze and similar (plus (comparison r1 r2) r3) insns.  Add
1300         missing scratch reg in one case.  Formatting fixes.
1301
1302 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
1303
1304         * cppexp.c (parse_defined): Mark macro used.
1305         * cpphash.h (struct cpp_macro): New member "used".
1306         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
1307         (struct cpp_reader): New member.
1308         * cppinit.c (cpp_finish_options): Set first_unused_line.
1309         (cpp_finish): Warn of unused macros if requested.
1310         (OPT_TABLE): New switches.
1311         (cpp_handle_option): Handle them.
1312         * cpplib.c (do_undef): Warn if macro unused.
1313         (do_ifdef, do_ifndef): Mark macro used.
1314         * cpplib.h (struct cpp_options): New member.
1315         * cppmacro.c (_cpp_warn_if_unused_macro): New.
1316         (enter_macro_context): Mark macro used.
1317         (_cpp_create_definition): Mark macro unused; warn if unused
1318         when redefined.
1319         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
1320         Mark macros used.
1321         * doc/cppopts.texi: Update.
1322
1323 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
1324
1325         * dwarf2out.c (SECTION_ASM_OP,
1326         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
1327         * system.h (SECTION_ASM_OP): Poison.
1328         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
1329         * config/alpha/alpha-interix.h, config/mips/linux.h
1330         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
1331         * config/mmix/mmix-protos.h, config/mmix/mmix.c
1332         (mmix_asm_output_define_label_difference_symbol): Remove.
1333         * config/mmix/mmix.h
1334         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
1335         * doc/tm.texi: Remove documentation.
1336
1337 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
1338
1339         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
1340         (constrain_operands): Likewise.
1341         * regclass.c (record_reg_classes): Likewise.
1342         * reload.c (find_reloads): Likewise.
1343         * doc/md.texi: Likewise.
1344
1345         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
1346         * simplify-rtx.c (simplify_subreg): When converting to a non-int
1347         mode, try to convert to an integer mode of matching size first.
1348
1349         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
1350         from individual subregs, check that each subreg has been generated
1351         sucessfully.
1352
1353 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
1354
1355         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
1356         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
1357         FOR_EACH_BB_IN_SBITMAP): Remove.
1358         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
1359         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
1360         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
1361         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
1362         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
1363         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
1364
1365 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
1366
1367         * pretty-print.h: New file.
1368
1369 2002-07-23      Paul Koning     <pkoning@equallogic.com>
1370
1371         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
1372         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
1373         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
1374         (TARGET_G_FLOAT): Default to 0 if not defined.
1375         (ieeetoe): New, common routine to convert target format floats
1376         to internal form.
1377         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
1378         vs. others.
1379         (e113toe): Change to use ieeetoe.
1380
1381 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
1382
1383         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
1384         IBM.
1385         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
1386         (e64toe): Remove special cases for DEC and IBM. Remove support for
1387         ARM_EXTENDED_IEEE_FORMAT.
1388         (e24toe): Remove special cases for DEC.
1389         (significand_size): Simplify. Indent.
1390         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
1391         (etoieee, toieee): New.
1392         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
1393         etoieee and toieee for IEEE arithmetic.
1394
1395 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
1396
1397         * doc/extend.texi: Say ISO C90, not ISO C89.
1398         * doc/invoke.texi: Likewise.
1399         * doc/standards.texi: Likewise.
1400
1401 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
1402
1403         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
1404         Fix permutation of conversion and plus/mult.
1405         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
1406         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
1407         (expand_builtin_strncpy) Ditto.
1408         (expand_builtin_memset) Ditto.
1409
1410 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
1411
1412         Fix PR/7363:
1413         * c-common.c (c_sizeof_or_alignof_type): New function.
1414         (c_alignof): Remove definition.
1415         * c-common.h (c_sizeof, c_alignof): Define as macros.
1416         (c_sizeof_or_alignof_type): Declare.
1417         (my_friendly_assert): Moved from cp/cp-tree.h
1418         * c-typeck.c (c_sizeof): Remove definition.
1419
1420 2002-07-23  Jan Hubicka  <jh@suse.cz>
1421
1422         * gcse.c (try_replace_reg): Use num_changes_pending.
1423         * recog.c (num_changes_pending): New function.
1424         (validate_replace_src): Use validate_repalce_src_group.
1425         (validate_replace_src_group): New.
1426         * recog.h (validate_repalce_src_group): New.
1427         (num_changes_pending): Likewise.
1428
1429 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
1430
1431         * calls.c (emit_library_call_value_1): If
1432         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
1433         libcall, const call nor pure call.
1434
1435 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
1436
1437         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
1438
1439 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
1440
1441         * vmsdbgout.c (SECTION_ASM_OP): Remove.
1442
1443 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
1444
1445         * config/i386/i386.c (AT_BP): Remove.
1446
1447 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
1448
1449         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
1450         Default definition.
1451         * gcse.c: Don't define obstack_chunk_free.
1452         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
1453         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
1454         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
1455         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
1456         Don't define obstack macros.
1457
1458 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
1459
1460         PR target/6744
1461         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
1462         ASM_OPERANDS instructions.
1463
1464 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
1465
1466         PR target/7361
1467         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
1468         constant addresses only on 68HC12.
1469
1470 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
1471
1472         * cppfiles.c (stack_include_file): Correct test of whether
1473         a dependency should be output.
1474
1475 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
1476
1477         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
1478
1479 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
1480
1481         * arm.md (movqi): If optimizing and we can create pseudos, use
1482         a ZERO_EXTEND to load from memory, then copy the result into the
1483         target.
1484         (movhi): Likewise, but only for ARMv4.
1485
1486 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
1487
1488         * ssa-ccp.c (PHI_PARMS): Remove.
1489
1490 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
1491
1492         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
1493         on big-endian targets.
1494
1495 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1496
1497         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
1498         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
1499         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
1500         New formatting macros.
1501
1502         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
1503
1504 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
1505
1506         * rtlanal.c (subreg_regno_offset): Return correct offset for
1507         big endian paradoxical subregs.
1508
1509         * optabs.c (expand_vector_unop): Don't expand using sub_optab
1510         if we got the wrong mode.
1511
1512         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
1513         * genrecog.c (write_switch, write_cond): Use it.
1514         * genemit.c (gen_exp): Likewise.
1515
1516 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
1517
1518         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
1519
1520 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
1521
1522         * c-decl.c (build_compound_literal): Defer compound literal decls
1523         until until file end to emit them only if they are actually used.
1524
1525 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1526
1527         * ra-build.c (check_conflict_numbers): Hide unused function.
1528         (livethrough_conflicts_bb): Avoid automatic aggregate
1529         initialization.
1530         (parts_to_webs_1): Avoid `U' integer constant modifier.
1531         (conflicts_between_webs): Wrap a variable in the macro controlling
1532         its usage.
1533         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
1534         (dump_igraph, dump_graph_cost): Avoid string concatenation
1535         (dump_static_insn_cost): Avoid automatic aggregate
1536         initialization.
1537         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
1538         initialization.
1539         (dump_cost): Avoid string concatenation
1540
1541 2002-07-21  Richard Henderson  <rth@redhat.com>
1542
1543         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
1544         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
1545
1546 2002-07-21  Richard Henderson  <rth@redhat.com>
1547
1548         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
1549         that are not unrolled completely.
1550
1551 2002-07-21  Richard Henderson  <rth@redhat.com>
1552
1553         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
1554         * loop.c (strength_reduce): Update.
1555         * toplev.c (rest_of_compilation): Do unrolling in the first
1556         loop pass, not the second.
1557
1558 2002-07-21  Richard Henderson  <rth@redhat.com>
1559
1560         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
1561         when flag_argument_noalias == 2.
1562         * alias.c (nonoverlapping_memrefs_p): Handle that.
1563         * print-rtl.c (print_mem_expr): Likewise.
1564
1565 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
1566
1567         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
1568         instead of __negdi2 directly.
1569
1570 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
1571
1572         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
1573         * function.c (SYMBOL__MAIN): Remove definition.
1574         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
1575         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
1576         * profile.c (GCOV_INDEX_TO_BB): Remove.
1577         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
1578         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
1579
1580 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
1581
1582         * c-lex.c (GET_ENVIRONMENT): Remove.
1583         * collect2.c (GET_ENV_PATH_LIST): Remove.
1584         (prefix_from_env): Use GET_ENVIRONMENT.
1585         * cppinit.c (GET_ENV_PATH_LIST): Remove.
1586         (init_standard_includes): Use GET_ENVIRONMENT.
1587         * defaults.h (GET_ENVIRONMENT): Define here if not already.
1588         * gcc.c (GET_ENV_PATH_LIST): Remove.
1589         (make_relative_prefix, process_command): Update.
1590         * protoize.c (GET_ENV_PATH_LIST): Remove.
1591         (do_processing): Update.
1592
1593 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
1594
1595         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
1596         (grokdeclarator): Likewise.
1597         * c-format.c (C_STD_NAME): Likewise.
1598         * c-lex.c (interpret_integer): Likewise.
1599         * c-typeck.c (build_array_ref): Likewise.
1600         * cpplex.c (_cpp_lex_direct): Likewise.
1601         * toplev.c (documented_lang_options): Likewise.
1602
1603 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
1604
1605         * c-format.c (T99_I, T99_UI): Remove.
1606
1607 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
1608
1609         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
1610
1611 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
1612
1613         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
1614         do_local_cprop.
1615
1616 2002-07-21  Andreas Jaeger  <aj@suse.de>
1617
1618         * reload1.c (fixup_abnormal_edges): Remove unused variable.
1619
1620 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
1621
1622         Improvements for the ifcvt pass from Michael Meissner, with patches
1623         by Richard Sandiford <rsandifo@redhat.com>
1624         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
1625         * ifcvt.c (cond_exec_changed_p): New static variable.
1626         (last_active_insn): New function, renamed from last_active_insn_p
1627         and changed to return the last active insn in a basic block. All
1628         callers updated.
1629         (block_fallthru): New function.
1630         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
1631         IFCVT_MODIFY_INSN.  All callers updated.
1632         Return false if START or END are NULL.
1633         Handle case where we're processing an insn that is already
1634         conditional.
1635
1636         (noce_process_if_block): CE_INFO argument rather than
1637         multiple args containing the involved basic blocks.  All callers
1638         changed.
1639         (process_if_block, merge_if_block, find_if_block,
1640         cond_exec_process_if_block): Likewise.
1641
1642         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
1643         changed.
1644         Use new function last_active_insn to simplify some code.
1645         New code to handle multiple tests.
1646         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
1647         cond_exec_changed_p to TRUE.
1648
1649         (process_if_block): New code to handle multiple tests.
1650         (merge_if_block): Likewise.
1651         (find_if_header): New arg PASS.  Changed to return the currently
1652         processed basic block or NULL instead of true/false. All callers
1653         changed.
1654         Call IFCVT_INIT_EXTRA_FIELDS.
1655         (block_jumps_and_fallthru_p): New function.
1656         (find_if_block): Discover opportunities to convert multiple tests.
1657         Add additional debugging output.
1658         Update the ce_info structure before returning.
1659
1660         (if_convert): Run multiple passes of if-conversion.
1661         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
1662         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
1663         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
1664         these macros.
1665
1666 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
1667
1668         * gcse.c: Include cselib.h
1669         (constptop_register): Break out from ...
1670         (cprop_insn): ... here; kill basic_block argument.
1671         (do_local_cprop, local_cprop_pass): New functions.
1672         (one_cprop_pass): Call local_cprop_pass.
1673
1674 2002-07-20  Roger Sayle  <roger@eyesopen.com>
1675
1676         * simplify-rtx.c (simplify_relational_operation): Optimize
1677         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
1678
1679 2002-07-20  Michae Matz  <matz@suse.de>
1680
1681         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
1682
1683 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
1684
1685         * cppexp.c (struct op): Add token pointer.
1686         (check_promotion, CHECK_PROMOTION): New.
1687         (optab): Update.
1688         (_cpp_parse_expr): Update, use token pointer of struct op.
1689         (reduce): Warn about change of sign owing to promotion.
1690         * cppinit.c (cpp_handle_option): New warning if -Wall.
1691         * cpplib.h (struct cpp_options): New member.
1692
1693 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
1694
1695         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
1696         fpu list.  Separate Power4 compare and delayed_compare.  Correct
1697         Power4 fpcompare.
1698         (fix_truncdfsi2_internal): Restore FPR preference.
1699         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
1700         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
1701
1702 2002-07-19  Momchil Velikov <velco@fadata.bg>
1703
1704         * reload1.c (reload_as_needed): Duplicate oldpat.
1705
1706 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
1707
1708         PR optimization/7130
1709         * loop.h (struct loop_info): Add "preconditioned".
1710         * unroll.c (unroll_loop): Set it.
1711         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
1712
1713 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
1714
1715         * rtl.def (CODE_LABEL): Remove slot 8.
1716         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
1717         (LABEL_ALTERNATE_NAME): Delete.
1718         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
1719         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
1720
1721         * final.c (output_alternate_entry_point): New.
1722         (final_scan_insn): Use it instead of
1723         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
1724         of a case label being an alternate entry point.
1725
1726         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
1727         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
1728         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
1729         (field deleted).
1730         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
1731
1732         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
1733         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
1734         * doc/tm.texi: Delete documentation of
1735         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
1736
1737 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1738
1739         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
1740         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
1741         (LINK_SPEC): Define.
1742         (STARTFILE_SPEC): Define.
1743         (ENDFILE_SPEC): Define.
1744
1745         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
1746         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
1747
1748         * config/mips/iris6-o32-gas.h: New file.
1749         * config.gcc (mips-sgi-irix6*o32): Use it.
1750
1751         * config/mips/t-iris5-gas: New file.
1752         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
1753
1754 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
1755
1756         * cppexp.c (ALWAYS_EVAL): Remove.
1757         (optab, reduce): Always evaluate.
1758         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
1759         only if not skipping evaluation.
1760
1761 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
1762
1763         * config/avr/avr.c (debug_hard_reg_set): Remove.
1764
1765 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
1766
1767         * gcc.c (cpp_options): Include "%1" (cc1_spec).
1768
1769 2002-07-19  Richard Henderson  <rth@redhat.com>
1770
1771         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
1772
1773 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
1774
1775         * prefix.c (update_path): Don't zap single `.' path components
1776         unless followed by another `.' and fix typo last patch.
1777
1778 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
1779
1780         * cppexp.c (cpp_num_mul): Remove unused parameter.
1781         (UNARY, BINARY, OTHER, binary_handler): Remove.
1782         (ALWAYS_EVAL): New.
1783         (optab): Update.
1784         (reduce): Refactor to a large switch, don't use a function
1785         pointer.
1786
1787 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
1788
1789         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
1790
1791 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
1792
1793         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
1794         (sh_expand_binop_v2sf): Likewise.
1795         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
1796         (int_gpr_dest, trunc_hi_operand): New functions.
1797         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
1798         trunc_hi_operand.
1799         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
1800         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
1801         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
1802         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
1803         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
1804         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
1805         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
1806         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
1807         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
1808         (movsf_ie+1): Likewise.
1809         (loaddi_trunc): Use int_gpr_dest predicate.
1810         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
1811         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
1812         (casesi_worker_0+[12], casesi_worker): Likewise.
1813         (shcompact_preserve_incoming_args): Likewise.
1814         (mov_nop): Use any_register_operand predicate.
1815         (mperm_w0): Use trunc_hi_operand predicate.
1816
1817 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1818
1819         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
1820         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
1821         numbering.
1822
1823 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1824
1825         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
1826
1827 2002-07-18  Richard Henderson  <rth@redhat.com>
1828
1829         PR optimization/7147
1830         * ifcvt.c (noce_get_condition): Make certain that the condition
1831         is valid at JUMP.
1832
1833 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
1834
1835         * sh.c (barrier_align, push): Shut up compiler warnings.
1836         (initial_elimination_offset,sh_media_init_builtins): Likewise.
1837         (reg_no_subreg_operand): Delete.
1838
1839 2002-07-17  Bo Thorsen  <bo@suse.de>
1840
1841         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
1842         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
1843         (STARTFILE_SPEC): Remove hardcoded library paths.
1844         (ENDFILE_SPEC): Likewise.
1845
1846 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
1847
1848         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
1849
1850         * gcse.c (try_replace_reg): Do not return false positives.
1851
1852 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
1853
1854         * prefix.c: (update_path): Strip ".." components when prior dir
1855         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
1856
1857         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
1858         (ASM_OUTPUT_REG_POP): Likewise.
1859
1860 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
1861
1862         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
1863         adjustments to first_reg for profiling case.
1864         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
1865         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
1866         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
1867         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
1868         (ASM_OUTPUT_REG_POP): Define.
1869         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
1870         (ASM_OUTPUT_REG_POP): Undef.
1871
1872 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
1873
1874         * cpplib.c (do_sccs): Handle #sccs on all systems.
1875         * system.h (SCCS_DIRECTIVE): Poison.
1876         * config/darwin.h, config/freebsd.h, config/netbsd.h,
1877         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
1878         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
1879         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
1880         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
1881         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
1882         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
1883         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
1884         Remove all references to SCCS_DIRECTIVE.
1885         * doc/cpp.texi, doc/tm.texi: Update.
1886
1887 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
1888
1889         * regrename.c (maybe_mode_change): New function.
1890         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
1891
1892 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
1893
1894         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
1895         suppress addition when either ct or cf are zero.
1896
1897 2002-06-17  Eric Botcazou <ebotcazou@multimania.com>
1898             Glen Nakamura <glen@imodulo.com>
1899
1900         PR optimization/6713
1901         * loop.c (loop_givs_rescan): Explicitly delete the insn that
1902         sets a non-replaceable giv after issuing the new one.
1903
1904 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
1905
1906         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
1907         eval_token): Clarify and correct use of "bool" variables.
1908         * cpplib.h (struct cpp_options): Similarly.
1909         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
1910         * cpptrad.c (recursive_macro): Similarly.
1911
1912 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
1913
1914         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
1915         SHmedia code.
1916
1917         * sh.md (cmpgtudi_media): Remove spurious @.
1918
1919         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
1920         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
1921
1922         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
1923         * sh-protos.h (sh_initialize_trampoline): Declare.
1924         * sh.c (sh_initialize_trampoline): New function.
1925         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
1926         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
1927         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
1928         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
1929         * sh.md (initialize_trampoline, double_shori): New patterns.
1930         (initialize_trampoline_compact): Likewise.
1931         (shmedia32_initialize_trampoline_big): Remove.
1932         (shmedia32_initialize_trampoline_little): Likewise.
1933
1934         * sh-protos.h (binary_float_operator): Remove declaration.
1935         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
1936         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
1937         (unary_float_operator, sh_expand_unop_v2sf): New functions.
1938         (sh_expand_binop_v2sf): Likewise.
1939         (zero_vec_operand): Delete.
1940         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
1941         all non-shared ones.
1942         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
1943         Enable nsb and byterev.
1944         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
1945         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
1946         in general regs.
1947         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
1948         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
1949         immediate operands.
1950         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
1951         Add DF_HI_REGS.
1952         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
1953         lowpart fp regs - only for big endian for now.
1954         (LEGITIMATE_CONSTANT_P): Don't allow non-zero float vectors
1955         when FPU is in use.
1956         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
1957         (LOAD_EXTEND_OP): NIL for SImode.
1958         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
1959         general and fp registers is 4.
1960         PREDICATE_CODES: Amend binary_float_operator entry.
1961         Remove zero_vec_operand.  Add unary_float_operator.
1962         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
1963         subreg SET_DEST.
1964         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
1965         (truncdiqi2): Do sign extension.
1966         (movsi_media, movdi_media): Allow to use r63 to an fp register.
1967         (movdf_media, movsf_media): Likewise.
1968         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
1969         Collapse to one define_insn_and_split.  Allow immediate sources.
1970         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
1971         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
1972         (movv4sf): Allow immediate sources.
1973         (movsf_media_nofpu+1): Don't split moves to FP registers.
1974         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
1975         (movv8qi_i+3): Check against CONST0_RTX.
1976         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
1977         for input and output operands.  Fix argument 3 to gen_mextr_rl.
1978         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
1979         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
1980         (mshf0_w, fipr, ftrv): Likewise.
1981         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
1982
1983 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
1984
1985         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
1986         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
1987         * arm.c: Similarly.
1988
1989 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
1990
1991         * config/mips/mips-protos.h (mips_sign_extend): Declare.
1992         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
1993         (TARGET_SWITCHES): Remove debugh.
1994         (ISA_HAS_TRUNC_W): New macro.
1995         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
1996         (PREDICATE_CODES): Remove se_nonimmediate_operand.
1997         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
1998         any SImode move_operand.
1999         (se_nonimmediate_operand): Remove.
2000         (mips_sign_extend): New.
2001         (mips_move_2words): Use it for sign-extended source operands.
2002         (override_options): Allow integers to be put into single FPRs.
2003         (mips_secondary_reload_class): Handle integers in float registers.
2004         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
2005         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
2006         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
2007         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
2008         (fix_truncdfdi2): Provide only a single alternative, in which the
2009         integer is in a float register.  Depend on TARGET_FLOAT64 rather
2010         than TARGET_64BIT.
2011         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
2012         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
2013         (movdi_internal2): Don't allow the source operand to be sign-extended.
2014         Add alternatives for float registers.
2015         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
2016         allows sign-extension.
2017         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
2018         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
2019         float registers.  Remove TARGET_DEBUG_H_MODE test.
2020         (movhi_internal1): Rename to movhi_internal.  Don't check
2021         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
2022         (movqi_internal1): Rename to movqi_internal and remove
2023         TARGET_DEBUG_H_MODE dependency.
2024         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
2025
2026 2002-07-16  Jim Wilson  <wilson@redhat.com>
2027
2028         * toplev.c (lang_dependent_init): Create function context for
2029         init_expr_once.
2030
2031 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
2032
2033         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
2034         --gc-sections if -r.
2035         * config/cris/cris.h: Ditto.
2036
2037 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
2038
2039         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
2040         the comparison directly gives a mask suppress addition when cf is
2041         zero by complementing the mask.
2042
2043 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
2044
2045         * Makefile.in: Delete references to enquire.
2046         * enquire.c: Move to contrib.
2047
2048 2002-07-16  Stan Shebs  <shebs@apple.com>
2049
2050         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
2051         config/rs6000/darwin.h.
2052         (ASM_OUTPUT_SKIP): Ditto.
2053         (TEXT_SECTION_ASM_OP): Ditto.
2054         (DATA_SECTION_ASM_OP): Ditto.
2055         (ASM_APP_ON): Define.
2056         (ASM_APP_OFF): Define.
2057         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
2058         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
2059
2060         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
2061         (machopic_function_base_name): Declare result to be const.
2062         (machopic_non_lazy_ptr_name): Ditto.
2063         (machopic_stub_name): Ditto.
2064         * config/darwin-protos.h: Ditto for the prototypes.
2065
2066 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
2067
2068         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
2069
2070 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
2071
2072         * i386.md (prefetch): Fix for 64bit mode.
2073         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
2074
2075 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
2076
2077         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
2078         * i386.c (x86_machine_dependent_reorg): New function.
2079         * i386-protos.h (x86_machine_dependent_reorg): Declare.
2080
2081 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
2082
2083         * builtins.c (std_expand_builtin_va_start): Remove unused
2084         first argument.
2085         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
2086         std_expand_builtin_va_start with just two arguments.
2087         * expr.h: Update prototypes.
2088
2089         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
2090         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
2091         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
2092         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
2093         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
2094         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
2095         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
2096         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
2097         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
2098         argument from all implementations of EXPAND_BUILTIN_VA_START
2099         and all uses of std_expand_builtin_va_start.
2100
2101 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
2102
2103         * regrename.c (copy_value): Don't record high part copies.
2104
2105 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
2106
2107         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
2108         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
2109         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
2110
2111 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
2112
2113         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
2114
2115         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
2116         into addsi3 using register class "x" and "y".
2117
2118         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
2119         "earlyclobber" constraint modifier for some alternative.
2120
2121         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
2122         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
2123         unordered.
2124         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
2125
2126         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
2127         (TARGET_SWITCHES): Add -mieee-compare option.
2128         (OVERRIDE_OPTIONS): 32332 is a subset of
2129         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
2130         (TARGET_SWITCHES): Fix description of bitfield option.
2131         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
2132         -mieee-compare option. Remove 32332 flag.
2133
2134 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
2135
2136         * explow.c (convert_memory_address): Remove special handling
2137         when POINTERS_EXTEND_UNSIGNED < 0.
2138         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
2139         (movedi_symbolic): Fix typo.
2140         (load_fptr): Remove mode restriction so it works for SI and DI.
2141         (load_fptr_internal1): Ditto.
2142         (load_gprel): Ditto.
2143         (load_symptr_internal1): Ditto.
2144         (call_pic): Ditto.
2145         * config/ia64.c (call_operand): Modify mode check.
2146         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
2147         (ia64_expand_move): Ditto.
2148         (ia64_assemble_integer): Handle SImode function pointers.
2149         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
2150         (ia64_expand_op_and_fetch): Ditto.
2151         (ia64_expand_compare_and_swap): Ditto.
2152         (ia64_expand_lock_test_and_set): Ditto.
2153         (ia64_expand_lock_release): Ditto.
2154
2155 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
2156
2157         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
2158
2159 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
2160             Richard Earnshaw  <rearnsha@arm.com>
2161
2162         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
2163         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
2164
2165 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
2166
2167         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
2168         understands to be a memory clobber.
2169         * arm.c (arm_expand_prologue): Use it.
2170
2171 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
2172
2173         * ra-rewrite.c: #include reload.h, insn-config.h
2174         * ra-build.c: #include reload.h
2175         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
2176         depend on reload.h, insn-config.h.
2177
2178 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
2179
2180         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
2181         the same size as a word.
2182
2183         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
2184         BYTES_BIG_ENDIAN into account.
2185
2186 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
2187
2188         * i386.md (prefetch): Fix for 64bit mode.
2189         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
2190
2191         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
2192
2193 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
2194
2195         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
2196
2197 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
2198
2199         * ginclude/varargs.h: Replace with stub which issues #error.
2200         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
2201         __builtin_va_start.
2202
2203         * builtins.def (BUILT_IN_VARARGS_START): Delete.
2204         (BUILT_IN_VA_START): New.
2205         * builtins.c (expand_builtin_va_start): Eliminate first
2206         argument and code to implement pre-ISO varargs.
2207         (std_expand_builtin_va_start): Ignore first argument; it is
2208         always 1.
2209         (expand_builtin): Handle BUILT_IN_VA_START and
2210         BUILT_IN_STDARG_START identically.  Delete
2211         BUILT_IN_VARARGS_START case.
2212
2213         * function.c (assign_parms): Delete hide_last_arg and all
2214         its uses.
2215         (mark_varargs): Delete function.
2216         * function.h (struct function): Delete 'varargs' bit.
2217         (current_function_varargs): Delete macro.
2218         * tree.h: Don't declare mark_varargs.
2219
2220         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
2221         (c_expand_body): Don't call mark_varargs.
2222         * c-objc-common.c: Handle BUILT_IN_VA_START and
2223         BUILT_IN_STDARG_START identically.  Delete
2224         BUILT_IN_VARARGS_START case.
2225         * c-tree.h: Don't declare c_mark_varargs.
2226         * c-parse.in: Remove grammar rules for '&...' (which has been
2227         commented out since before 2.7.2) and for '...' in K+R
2228         argument declarations.
2229
2230         * builtins.c, function.c, integrate.c, sibcall.c,
2231         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
2232         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
2233         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
2234         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
2235         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
2236         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
2237         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
2238         config/stormy16/stormy16.c: Delete all references to
2239         current_function_varargs, and code predicated on that flag.
2240
2241         * config/alpha/alpha.c (alpha_va_start),
2242         config/arc/arc.c (arc_va_start),
2243         config/i386/i386.c (ix86_va_start),
2244         config/mips/mips.c (mips_va_start),
2245         config/mn10300/mn10300.c (mn10300_va_start),
2246         config/rs6000/rs6000.c (rs6000_va_start),
2247         config/s390/s390.c (s390_va_start),
2248         config/sh/sh.c (sh_va_start),
2249         Ignore first argument; it is always 1.
2250
2251         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
2252         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
2253         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
2254         Delete m68hc11_va_start.
2255         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
2256         No need to define EXPAND_BUILTIN_VA_START.
2257
2258         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
2259         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
2260
2261 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
2262
2263         PR optimization/7153
2264         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
2265         dies in more than one insn.
2266
2267 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
2268
2269         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
2270
2271 2002-07-15  Michael Matz  <matz@suse.de>,
2272             Daniel Berlin  <dberlin@dberlin.org>,
2273             Denis Chertykov  <denisc@overta.ru>
2274
2275         Add a new register allocator.
2276
2277         * ra.c: New file.
2278         * ra.h: New file.
2279         * ra-build.c: New file.
2280         * ra-colorize.c: New file.
2281         * ra-debug.c: New file.
2282         * ra-rewrite.c: New file.
2283
2284         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
2285         (ra-rewrite.o): New .o files for libbackend.a.
2286         (GTFILES): Add basic-block.h.
2287
2288         * toplev.c (flag_new_regalloc): New.
2289         (f_options): New option "new-ra".
2290         (rest_of_compilation): Call initialize_uninitialized_subregs()
2291         only for the old allocator.  If flag_new_regalloc is set, call
2292         new allocator, instead of local_alloc(), global_alloc() and
2293         friends.
2294
2295         * doc/invoke.texi: Document -fnew-ra.
2296         * basic-block.h (FOR_ALL_BB): New.
2297         * config/rs6000/rs6000.c (print_operand): Write small constants
2298         as @l+80.
2299
2300         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
2301         (df_reg_table_realloc): Make size at least as large as max_reg_num().
2302         (df_insn_table_realloc): Size argument now is absolute, not relative.
2303         Changed all callers.
2304
2305         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
2306         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
2307
2308         2002-06-20  Michael Matz  <matz@suse.de>
2309
2310         * df.h (struct ref.id): Make unsigned.
2311         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
2312
2313         2002-06-13  Michael Matz  <matz@suse.de>
2314
2315         * df.h (DF_REF_MODE_CHANGE): New flag.
2316         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
2317         involving subregs with invalid mode changes, when
2318         CLASS_CANNOT_CHANGE_MODE is defined.
2319
2320         2002-05-07  Michael Matz  <matz@suse.de>
2321
2322         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
2323
2324         2002-05-03  Michael Matz  <matz@suse.de>
2325
2326         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
2327
2328         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
2329
2330         * regclass.c (regclass): Work with all regs which have sets or
2331         refs.
2332         (reg_scan_mark_refs): Count regs inside (clobber ...).
2333
2334         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
2335
2336         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
2337         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
2338         add new refs.
2339         (df_bb_refs_update): Don't clear insns_modified here, ...
2340         (df_analyse): ... but here.
2341
2342         * sbitmap.c (dump_sbitmap_file): New.
2343         (debug_sbitmap): Use it.
2344
2345         * sbitmap.h (dump_sbitmap_file): Add prototype.
2346
2347         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
2348
2349         * df.c (df_insn_modify): Grow the UID table if necessary, rather
2350         than assume all emits go through df_insns_modify.
2351
2352         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
2353
2354         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
2355         increase REG_N_REFS (like flow does), so that regclass doesn't
2356         think a reg is useless, and thus, not calculate a class, when it
2357         really should have.
2358
2359         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
2360
2361         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
2362         dataflow analysis.
2363
2364 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
2365
2366         PR middle-end/7245
2367         * config/i386/i386.c (const_int_1_31_operand): New.
2368         * config/i386/i386.h (PREDICATE_CODES): Add it.
2369         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
2370         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
2371         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
2372
2373 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
2374
2375         PR target/7282
2376         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
2377         (floatunssidf2): Likewise.
2378         (floatsidf_ppc64): New insn_and_split.
2379         (floatunssidf_ppc64): Likewise.
2380
2381 2002-07-14  Andreas Jaeger  <aj@suse.de>
2382
2383         * config.gcc (sh64): Remove unused
2384         target_requires_64bit_host_wide_int.
2385
2386 2002-07-12  Roger Sayle  <roger@eyesopen.com>
2387
2388         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
2389         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
2390         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
2391         whether clear_by_pieces should be used to clear storage.
2392         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
2393
2394         * doc/tm.texi: Document these two new target macros.
2395
2396 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
2397
2398         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
2399         the scratch register.
2400         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
2401         of it, forbid reload to use it.
2402
2403 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
2404
2405         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
2406         usage on 64-bit hosts, return value was truncated to 32 bits.
2407
2408 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
2409
2410         * simplify-rtx.c (simplify_subreg): Handle floating point
2411         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
2412         the element mode is requested, compute a subreg with an
2413         integer mode of the same size as the element mode first.
2414
2415 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
2416
2417         * combine.c (try_combine): When converting a paradoxical subreg
2418         to an extension, take LOAD_EXTEND_OP into account.
2419
2420 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2421
2422         * config.gcc (mips-sgi-irix6*o32): New configuration.
2423
2424         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
2425         configurations.
2426         * configure: Regenerate.
2427
2428         * config/mips/iris6-o32-as.h: New file.
2429         * config/mips/iris6-o32.h: New file.
2430
2431         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
2432         (NM_FLAGS): Define.
2433         (HAVE_AS_SHF_MERGE): Undefine.
2434
2435         * config/mips/t-iris5-as: New file.
2436         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
2437
2438         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
2439         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
2440         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
2441         dp-bit.c, fp-bit.c): Move ...
2442         * config/mips/t-iris5-6: ... here.
2443         New file, shared by IRIX 5 and IRIX 6.
2444         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
2445         mips-sgi-irix5*): Use it.
2446
2447         * config/mips/iris6.h: Remove duplicate comment.
2448
2449         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
2450         !TARGET_IRIX6]: Define.
2451         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
2452
2453         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
2454
2455 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2456
2457         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
2458         and delete code to force constant to register.
2459         * pa-protos.h (adddi3_operand): Add prototype.
2460         * pa.c (adddi3_operand): New function.
2461
2462 2002-07-11  Roger Sayle  <roger@eyesopen.com>
2463
2464         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
2465         non-ANSI builtin functions.
2466
2467 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
2468
2469         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
2470         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
2471         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
2472         (gen_const_vector_0): Use it.
2473
2474 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2475
2476         * pa.md (adddi3): For 32-bit targets, force constants to a register
2477         if they don't fit in an 11-bit immediate.  Change insn predicate to
2478         arith11_operand.  Remove comment.
2479         * pa.c (cint_ok_for_move): Fix comment.
2480         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
2481         targets.
2482
2483 2002-07-11  Tim Josling  <tej@melbpc.org.au>
2484
2485         Remove front end hard coding from gengtype.c.
2486
2487         * Makefile.in
2488         (STAGESTUFF): add gtyp-gen.h
2489         (GTFILES): Remove front end specific files.
2490         (GTFILES_FILES_LANGS): New, from configure..
2491         (GTFILES_FILES_FILES): Likewise.
2492         (GTFILES_LANG_DIR_NAMES): Likewise.
2493         (GTFILES_SRCDIR): Likewise.
2494         (gtyp-gen.h): Build from configure information.
2495         (s-gtype): Remove command line parameters from gengtype.
2496         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
2497         (mostlyclean): Delete files generated by and for gengtype.
2498
2499         * c-config-lang.in: New file.
2500
2501         * configure.in (all_gtfiles_files_langs): New. Accumulate files
2502         for each language.
2503         (all_gtfiles_files_files): New. Accumulate language for each file
2504         accumulated.
2505         (gtfiles): Pick up value for C.
2506         (srcdir): AC-SUBST this variable.
2507         (all_gtfiles_files_langs): AC-SUBST this variable.
2508         (all_gtfiles_files_files): AC-SUBST this variable.
2509
2510         * configure: Regenerate.
2511
2512         * gengtype-lex.l (parse_file): Make parameter const.
2513
2514         * gengtype.c (toplevel): include gtyp-gen.h.
2515         (BASE_FILE_<language> unnamed enum): Delete.
2516         (lang_names): Delete (replaced by gtyp-gen.h)
2517         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
2518         all references.
2519         (NUM_GT_FILES): New.
2520         (NUM_LANG_FILES): New.
2521         (srcdir_len): New.
2522         (NUM_BASE_FILES): Change calculation.
2523         (open_base_files): Change prototype to avoid warning.
2524         (startswith): Delete.
2525         (get_file_basename): Iterate through generated language list not
2526         hard coded list.
2527         (get_base_file_bitmap): Use generated list of files and languages.
2528         (close_output_files): Add prototype to rmove warning.
2529         (main): Iterate through list of generated files from gtyp-gen.h
2530         rather than command line paramaters.  Ignore duplicated file
2531         names.
2532
2533         * gengtype.h (parse_file): Amend prototype for const parameter.
2534
2535         * doc/sourcebuild.texi: Document gtfiles variable.
2536
2537         * doc/gty.texi: Document changes to gtfiles variable for front
2538         ends.
2539
2540         * objc/config-lang.in (gtfiles): Add files needed for objc front
2541         end.
2542
2543 2002-07-10  Roger Sayle  <roger@eyesopen.com>
2544
2545         PR c/2454
2546         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
2547         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
2548
2549 2002-07-10  Roger Sayle  <roger@eyesopen.com>
2550             Zack Weinberg <zack@codesourcery.com>
2551
2552         * builtins.def: Make the argument types of abort and exit
2553         independent of the front-end.
2554
2555 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
2556
2557         * config/rs6000/linux64.h (ASM_SPEC): Define.
2558
2559 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
2560
2561         * config/rs6000/rs6000.c (emit_frame_save): New.
2562         (rs6000_frame_related): Replace reg2 before reg.
2563         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
2564         and eh_return registers.
2565
2566 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
2567
2568         Revert all patches for optimization of Complex .op. Real.
2569         * complex_part_zero_p: Remove
2570         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
2571         with x.
2572         * expand_cmplxdiv_wide: Ditto.
2573         * expand_binop: Ditto.
2574
2575 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
2576
2577         * config/avr/avr.md: Fix two 0x80000000 constants to make them
2578         negative also on 64-bit hosts.
2579
2580         Default to -fno-reorder-blocks when optimizing for size.
2581         * config/avr/avr-protos.h (avr_optimization_options): Declare.
2582         * config/avr/avr.c (avr_optimization_options): New function.
2583         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
2584
2585         Optimize returning from simple functions.
2586         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
2587         * config/avr/avr.c (avr_simple_epilogue): New function.
2588         * config/avr/avr.md (return): New insn.
2589
2590 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
2591
2592         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
2593         HAS_INIT_SECTION to protection.
2594
2595 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
2596
2597         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
2598         deprecated.
2599
2600 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
2601
2602         * combine.c (gen_lowpart_for_combine): Handle vector modes.
2603         Supply non-VOID mode to simplify_gen_subreg.
2604
2605 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
2606
2607         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
2608
2609 2002-07-10  Jeffrey A Law  <law@redhat.com>
2610
2611         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
2612         as appropriate.
2613
2614         * mn10200.c (expand_epilogue): Fix test to determine which scratch
2615         register to use.
2616
2617 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
2618
2619         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
2620         Get mode from dest.
2621         If simplify_gen_subreg fails, try next equivalent.
2622
2623 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
2624
2625         * diagnostic.h: #include location.h
2626         (location_t): Move definition to..
2627         * location.h: ... here.  New file.
2628         * tree.h: #include location.h
2629         (DECL_SOURCE_LOCATION): New macro.
2630         (DECL_SOURCE_FILE): Use.
2631         (DECL_SOURCE_LINE): Likewise.
2632         (struct tree_decl): REplace filename and linenum with locus.
2633         * Makefile.in (TREE_H): add location.h
2634         (diagnostic.o): Depends on gt-location.h
2635         (gt-location.h): Depends on s-gtype
2636
2637 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
2638
2639         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
2640         TARGET_OS_CPP_BUILTINS.
2641         * config/rs6000/aix31.h: Likewise.
2642         * config/rs6000/aix41.h: Likewise.
2643         * config/rs6000/aix43.h: Likewise.
2644         * config/rs6000/aix51.h: Likewise.
2645         * config/rs6000/beos.h: Likewise.
2646         * config/rs6000/darwin.h: Likewise.
2647         * config/rs6000/eabi.h: Likewise.
2648         * config/rs6000/eabisim.h: Likewise.
2649         * config/rs6000/linux.h: Likewise.
2650         * config/rs6000/linux64.h: Likewise.
2651         * config/rs6000/lynx.h: Likewise.
2652         * config/rs6000/mach.h: Likewise.
2653         * config/rs6000/rtems.h: Likewise.
2654         * config/rs6000/sysv4.h: Likewise.
2655         * config/rs6000/vxppc.h: Likewise.
2656
2657 2002-07-09 Devang Patel <dpatel@apple.com>
2658         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
2659         Do not allow ObjC objects as a parameter type for Objective-C methods.
2660         My previous patch restricted  'struct' also.
2661
2662 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
2663
2664         * cpperror.c (cpp_error): Default to directive_line within
2665         directives here.
2666         * cppexp.c (cpp_interpret_integer): Only use traditional
2667         number semantics in directives.
2668         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
2669         (do_include_common): Similarly.
2670         * cpptrad.c (scan_out_logical_line): Implement accurate
2671         quoting of <> in #include.
2672         * doc/cpp.texi: Update.
2673
2674 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
2675                           J"orn Rennecke <joern.rennecke@superh.com>
2676
2677         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
2678         * sh.md (attribute issues): Replace with:
2679         (attribute pipe_model).  All users changed.
2680         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
2681         All users changed.
2682         (function units sh5issue, sh5fds): New.
2683         (attribute is_mac_media): New.
2684         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
2685         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
2686         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
2687         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
2688         (call_media, call_value_media, sibcall_media): Likewise.
2689         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
2690         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
2691         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
2692         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
2693         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
2694         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
2695         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
2696         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
2697         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
2698         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
2699         (truncdfsf2_media): Likewise.
2700         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
2701         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
2702
2703 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
2704
2705         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
2706         * sh.c (general_extend_operand, inqhi_operand): New functions.
2707         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
2708         alternatives using 'N' modifier.  Add type.
2709         (adddi3z_media): Likewise.  Enable generator function generation.
2710         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
2711         exact predicates / constraints.  Add type.
2712         (subsi3): Allow 0 for SHMEDIA.
2713         (udivsi3_i4_media): Use match_operand for input values
2714         rather than hard registers.
2715         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
2716         unnecessarily through hard registers.  Keep copies of pseudo
2717         registers outside of the libcall sequence.
2718         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
2719         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
2720         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
2721         (extendhidi2, extendqidi2): Likewise.
2722         (andsi3_compact): Name.
2723         (andcdi3): Enable generator function generation.
2724         (zero_extendhisi2, zero_extendqisi2): Rename to
2725         (zero_extendhisi2_compact, zero_extendqisi2_compact).
2726         (extendhisi2, extendqisi2): Rename to
2727         (extendhisi2_compact, extendqisi2_compact).
2728         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
2729         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
2730         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
2731         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
2732         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
2733         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
2734         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
2735         (shmedia32_initialize_trampoline_big): Likewise.
2736         (shmedia32_initialize_trampoline_little): Likewise.
2737         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
2738         (negdi2): Remove spurious T clobber.
2739         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
2740         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
2741         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
2742         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
2743         (ic_invalidate_line_media): Write back data cache before invalidating
2744         instruction cache.  Add type.
2745         (movsf_media): Sign-extend when the destination is a general
2746         purpose register.  Add type.
2747         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
2748         (casesi_worker_0+1): Only increment ref count for proper label.
2749         (casesi_worker_0+2): Likewise.
2750
2751 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
2752
2753         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
2754
2755 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
2756
2757         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
2758         from Pmode to ptr_mode.
2759         (get_exception_pointer): Ditto.
2760         (connect_post_landing_pads): Ditto.
2761         (dw2_build_landing_pads): Ditto.
2762
2763 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
2764         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
2765         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
2766         (handle_pragma_redefine_extname): Change to use new function.
2767
2768 2002-07-08  Roger Sayle  <roger@eyesopen.com>
2769
2770         * combine.c (combine_simplify_rtx): Add an explicit cast
2771         to avoid signed/unsigned comparison warning.
2772         (simplify_if_then_else): Likewise.
2773         (extended_count): Likewise.
2774         (simplify_shift_const): Likewise.
2775         (simplify_comparison): Likewise.
2776
2777 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
2778
2779         * config/mips/mips.md: Add imadd type.  Update scheduler description
2780         to use imadd as well as imul.
2781         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
2782         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
2783         (*mul_sub_si): Likewise for first alternative.  Change second
2784         alternative from imul to multi.
2785
2786 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
2787
2788         * c-common.c (c_common_post_options): Update prototype;
2789         don't init backends if preprocessing only.
2790         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
2791         * langhooks.h (struct lang_hooks): Update post_options to
2792         return a boolean.
2793         * toplev.c (parse_options_and_default_flags, do_compile,
2794         lang_independent_init): Update prototypes.  Allow the
2795         front end to specify that there is no need to initialize
2796         the back end.
2797         (general_init): Move call to hex_init here...
2798         (toplev_main): ...from here.  Pass flag for back end init
2799         suppression.
2800
2801 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
2802
2803         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
2804         (PREDICATE_CODES): Add entries for equality_comparison_operator,
2805         greater_comparison_operator and less_comparison_operator.
2806         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
2807         more operators.
2808         (equality_comparison_operator): New function.
2809         (greater_comparison_operator, less_comparison_operator): Likewise.
2810         * sh.md (beq_media_i): Disable generator function generation.
2811         Use match_operator to handle a whole class of comparisons.  Add
2812         modifier in output template to provide branch prediction.  Add type.
2813         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
2814         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
2815         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
2816         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
2817
2818 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
2819
2820         Emit MMIX function prologue and epilogue as rtl.
2821         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
2822         not unprototyped get_hard_reg_initial_val.
2823         ("call_value", "nonlocal_goto_receiver"): Ditto.
2824         ("return"): Make define_expand.  Move real insn to...
2825         ("*expanded_return"): New pattern.
2826         ("prologue", "epilogue"): New define_expands.
2827         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
2828         (struct machine_function): New member in_prologue.
2829         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
2830         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
2831         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
2832         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
2833         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
2834         (LOCAL_REGNO): Define.  Adjust comment.
2835         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
2836         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
2837         leaf_function_p.
2838         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
2839         the prologue.
2840         (mmix_target_asm_function_prologue): Make static.  Just mark that
2841         the prologue is being emitted.  Move guts to...
2842         (mmix_expand_prologue): New function.  Adjust for emitting
2843         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
2844         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
2845         \n.  Move guts to...
2846         (mmix_expand_epilogue): New function.  Adjust for emitting
2847         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
2848         (mmix_target_asm_function_end_prologue): Mark that the prologue
2849         has ended.
2850         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
2851         (mmix_conditional_register_usage): Improve comments.
2852         (mmix_local_regno): New function.
2853         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
2854         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
2855         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
2856         (mmix_get_hard_reg_initial_val): Ditto.
2857
2858 2002-07-06  Andreas Jaeger  <aj@suse.de>
2859
2860         * toplev.c (set_fast_math_flags): Don't use ISO C style function
2861         definitions.
2862         * gengtype.c (open_base_files): Likewise.
2863         (close_output_files): Likewise.
2864         * tracer.c (find_best_predecessor): Likewise.
2865         (find_best_successor): Likewise.
2866         (ignore_bb_p): Likewise.
2867
2868 2002-07-05  Roger Sayle  <roger@eyesopen.com>
2869
2870         PR c++/7099
2871         * builtin-attrs.def: Define new attribute lists for use in
2872         builtins.def.
2873         * builtins.def [DEF_BUILTIN]: Modify to take an additional
2874         ATTRS argument, an enumerated value defined in builtin-attrs.def
2875         that represents the attribute list for the builtins.  Modify
2876         all builtin functions to pass an appropriate attribute list.
2877         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
2878         their required noreturn attributes.
2879         * tree.h (enum_builtin_function): Ignore the additional parameter
2880         to DEF_BUILTIN.
2881         * builtins.c (built_in_names): Likewise.
2882         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
2883         argument with a tree representing the functions attribute list.
2884         Pass this "attrs" argument to builtin_function.  No longer handle
2885         the noreturn_p processing manually.
2886         (built_in_attributes): Move the definitions from builtin-attrs.def
2887         before c_common_nodes_and_builtins.
2888         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
2889         DEF_BUILTIN, passing it to both builtin_function and the changed
2890         builtin_function_2.
2891
2892         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
2893         __builtin__exit and __builtin__Exit.
2894
2895 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
2896
2897         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
2898         QI mode registers in soft registers.
2899         ("zero_extendqihi2"): Do not take into account soft registers
2900         for register allocation (use '*' constraint).
2901
2902 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
2903
2904         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
2905         it is dead.
2906         ("*ashrsi3"): Likewise.
2907         ("*lshrsi3"): Likewise.
2908
2909 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
2910
2911         * genautomata.c (output_max_insn_queue_index_def): Take latencies
2912         into account.
2913
2914 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
2915
2916         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
2917         address computation and memory moves.
2918
2919 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
2920
2921         PR c++/6706
2922         * dwarfout.c (output_reg_number): Fix warning message.
2923         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
2924         before using it.
2925
2926 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2927
2928         * gcc/gcc.c (asm_debug): Move initialization ...
2929         (init_spec): ... here.
2930
2931 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
2932
2933         * c-parse.in (extdef): Append ';'.
2934         (old_style_parm_decls): Append ';'.
2935
2936 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
2937
2938         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
2939         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
2940         to gcc_cv_as_gstabs_flag.
2941         * configure: Rebuilt.
2942
2943 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
2944
2945         * ggc.h (ggc_add_root): Document as obsolete.
2946
2947 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
2948
2949         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
2950         (mshflo_w): Likewise.
2951
2952 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
2953
2954         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
2955         vector mode subregs of constants to finding integer mode
2956         subregs of constants.
2957         * cse.c (cse_insn): Use simplify_gen_subreg.
2958         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
2959         From a vector mode expression of different size than the
2960         target mode.
2961
2962 2002-07-03  Eric Christopher  <echristo@redhat.com>
2963
2964         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
2965         * config/mips/mips.h: Remove deprecated -m<processor> options
2966         and cc1_cpu_spec associated.
2967         (CONSTANT_ADDRESS_P): Fix last patch.
2968         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
2969         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
2970         sunge_sf): Remove.
2971
2972 2002-07-03  Stan Shebs  <shebs@apple.com>
2973
2974         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
2975         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
2976         (CPP_SPEC): Remove insertion of APPLE_CC definition.
2977
2978 2002-07-03  Roger Sayle  <roger@eyesopen.com>
2979
2980         * combine.c (struct_undo): Change types of recorded substitutions
2981         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
2982         (do_SUBST_INT): Change types of the substitution from unsigned int
2983         to int, to avoid compilation warning from SUBST_INT's only caller.
2984
2985         (make_extraction): Add cast to avoid compilation warning.
2986         (force_to_mode): Remove cast to avoid compilation warning.
2987
2988 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
2989             Jeff Law  <law@redhat.com>
2990
2991         * i386.md (length_immediate attribute): Fix typo.
2992         (length_address attribute): Likewise.
2993         (modrm attribute): Set it to 0 for immediate call instructions.
2994         (jcc_1 pattern): Set modrm attribute to 0.
2995         (jcc_2 pattern ): Likewise.
2996         (jump pattern): Likewise.
2997         (doloop_end_internal pattern): Explicitly set length.
2998         (leave pattern): Fix typo.
2999         (leave_rex64 pattern): Likewise.
3000
3001 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
3002
3003         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
3004         in FPR as preference.
3005         (fctiwz): Same.
3006         (floatdidf2, fix_truncdfdi2): Same.
3007         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
3008         (floatditf2): Same.
3009         (floatsitf2, fix_trunctfsi2): SImode in GPR.
3010         (ctrdi): Remove FPR alternative and splitter.
3011
3012 2002-07-03  Will Cohen  <wcohen@redhat.com>
3013
3014         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
3015
3016 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
3017
3018         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
3019         than UNITS_PER_WORD, unless this is little endian and the first unit
3020         in this word.  Let extract_bit_field decide how to load an element.
3021         Force arguments to matching mode.
3022         (expand_vector_unop): Likewise.
3023
3024         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
3025         consist of word_mode elements.
3026         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
3027         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
3028         (build_unary_op): Allow vector types for BIT_NOT_EPR.
3029         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
3030         CONST_VECTOR.
3031         * optabs.c (expand_vector_binop): Try to perform operation in
3032         smaller vector modes with same inner size.  Add handling of AND, IOR
3033         and XOR.  Reject expansion to inner-mode sized scalars when using
3034         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
3035         (expand_vector_unop): Try to perform operation in smaller vector
3036         modes with same inner size.  Add handling of one's complement.
3037         When there is no vector negate operation, try a vector subtract
3038         operation.  Use simplify_gen_subreg on constants.
3039         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
3040         constants into smaller vectors with same inner mode, and to
3041         integer CONST_DOUBLEs.
3042
3043 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3044
3045         * c-parse.in (parsing_iso_function_signature): New variable.
3046         (extdef_1): New, copied from...
3047         (extdef): ... here.  Reset parsing_iso_function_signature.
3048         (old_style_parm_decls):  Reset parsing_iso_function_signature.
3049         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
3050         Warn about ISO C style function definitions.
3051         (nested_function, notype_nested_function): Reset
3052         parsing_iso_function_signature.
3053         (parmlist_2): Set parsing_iso_function_signature.
3054
3055         * doc/invoke.texi (-Wtraditional): Document new behavior.
3056
3057 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
3058
3059         * config.gcc (mips*el-*-*): Use tm_defines to set
3060         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
3061         * config/mips/little.h: Remove.
3062
3063 2002-07-02 Devang Patel <dpatel@apple.com>
3064
3065         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
3066         object as parameter. Prevent something like 'NSObject' to be
3067         used as the type for a method argument.
3068
3069 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
3070
3071         * cpptrad.c: Update comment.
3072
3073 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
3074
3075         * doc/cpp.texi: Update for traditional preprocessing changes.
3076         * goc/cppopts.texi: Similarly.
3077
3078 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
3079
3080         * c-parse.in (designator): Enable designated initializers if ObjC.
3081         (objcmessageexpr): Remove references to objc_receiver_context.
3082         * objc/objc-act.h (objc_receiver_context): Remove decl.
3083         * objc/objc-act.c (objc_receiver_context): Remove.
3084         (lookup_objc_ivar): Test objc_method_context instead of
3085         objc_receiver_context.
3086
3087 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
3088
3089         * sh.c (print_operand, case 'N'): Allow zero vector.
3090         (arith_reg_or_0_operand): Likewise.
3091         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
3092         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
3093         IOR, XOR, PLUS and SET and take their respective constant
3094         ranges into account.
3095         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
3096         * sh.md (subdi3, subdi3_media): Allow zero operand.
3097         (movv8qi_i+3): Only vector that is not split is the zero vector.
3098         Fix operand 3 to simplify_subreg.
3099         (movv2si_i): Split alternative 1.
3100         (mshfhi_l_di_rev+1): New splitter.
3101
3102 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
3103
3104         PR preprocessor/7029
3105         * cppinit.c (cpp_handle_option):  Suppress warnings with an
3106         implicit "-w" for "-M" and "-MM".
3107         * doc/cppopts.texi: Update.
3108
3109 2002-07-01  Roger Sayle  <roger@eyesopen.com>
3110
3111         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
3112         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
3113         builtin_function.
3114
3115 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
3116
3117         * README.Portability: Fix typos.
3118
3119 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
3120
3121         PR target/7177
3122         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
3123         of indirections for register inside sign-extended mem part.
3124
3125 2002-07-01  Roger Sayle  <roger@eyesopen.com>
3126
3127         * tree.h:  Modify builtin_function interface to take an extra
3128         argument ATTRS, which is a tree representing an attribute list.
3129
3130         * c-decl.c (builtin_function): Accept additional parameter.
3131         * objc/objc-act.c (builtin_function): Likewise.
3132         * f/com.c (builtin_function): Likewise.
3133         * java/decl.c (builtin_function): Likewise.
3134         * ada/utils.c (builtin_function): Likewise.
3135         * cp/decl.c (builtin_function): Likewise.
3136         (builtin_function_1): Likewise.
3137
3138         * c-common.c (c_common_nodes_and_builtins): Pass an additional
3139         NULL_TREE argument to builtin_function.  (builtin_function_2):
3140         Likewise.
3141         * cp/call.c (build_java_interface_fn_ref): Likewise.
3142         * objc/objc-act.c (synth_module_prologue): Likewise.
3143         * java/decl.c (java_init_decl_processing): Likewise.
3144         * f/com.c (ffe_com_init_0): Likewise.
3145
3146         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
3147         NULL_TREE argument to builtin_function.
3148         * config/arm/arm.c (def_builtin): Likewise.
3149         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
3150         * config/i386/i386.c (def_builtin): Likewise.
3151         * config/ia64/ia64.c (def_builtin): Likewise.
3152         * config/rs6000/rs6000.c (def_builtin): Likewise.
3153
3154 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
3155
3156         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
3157         * config/mips/t-isa3264: Likewise.
3158         * config/mmix/t-mmix: Likewise.
3159
3160 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3161
3162         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
3163
3164 2002-07-01  Roger Sayle  <roger@eyesopen.com>
3165
3166         PR opt/4046
3167         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
3168         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
3169         B are truth values.
3170
3171 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
3172
3173         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
3174
3175 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
3176
3177         * README.Portability (Function prototypes): Give an example of
3178         declaring and defining a function with no arguments.
3179
3180         * README.Portability (Function prototypes): Document new
3181         variable-argument function macros.
3182
3183 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
3184
3185         * sh.c (langhooks.h): Include.
3186         (sh_init_builtins, sh_media_init_builtins): New functions.
3187         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
3188         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
3189         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
3190         (builtin_description): New struct tag.
3191         (signature_args, bdesc): New arrays.
3192         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
3193         (print_operand): Add 'N' modifier.
3194         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
3195         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
3196         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
3197         (CONST_COSTS): Add special case for SHmedia AND.
3198         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
3199         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
3200         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
3201         target_operand can also be const or unspec.
3202         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
3203         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
3204         (attribute type): Add new types.
3205         (anddi3): Add splitter.
3206         (movdi_const_16bit+1): Add code to handle vector constants and
3207         bitmasks efficiently.
3208         (shori_media): Have generator function made.
3209         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
3210         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
3211         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
3212         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
3213         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
3214         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
3215         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
3216         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
3217         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
3218         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
3219         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
3220         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
3221         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
3222         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
3223         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
3224         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
3225         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
3226         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
3227         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
3228         (ftrv): Likewise.
3229
3230         (fpu_switch+1, fpu_switch+2): Remove constraint.
3231
3232 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
3233
3234         * tree.c (build_function_type_list): Update function comment.
3235         Rename first argument to return_type.
3236
3237 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
3238
3239         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
3240         tradcif.y and related files.
3241
3242 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
3243
3244         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
3245
3246 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3247
3248         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
3249
3250 2002-06-30  Devang Patel  <dpatel@apple.com>
3251
3252         * objc/objc-act.c (finish_file): Avoid finish_objc() if
3253         -fsyntax-only.
3254
3255 Fri Jun 28 17:22:37 2002  Denis Chertykov  <denisc@overta.ru>
3256                           Frank Ch. Eigler  <fche@redhat.com>
3257                           Matthew Green  <mrg@redhat.com>
3258                           Richard Henderson <rtl@redhat.com>
3259                           Dave Hudson  <dave.hudson@ubicom.com>
3260                           Jeff Johnston  <jjohnstn@redhat.com>
3261                           Alan Lehotsky <apl@alum.mit.edu>
3262                           Bernd Schmidt  <bernds@redhat.com>
3263                           Graham Stott  <grahams@redhat.com>
3264
3265         * doc/extend.texi: Add ip2k port to description of attribute
3266         naked.
3267         * doc/install.texi (Specific): Add ip2k description.
3268         * doc/install-old.texi (Configurations): Add ip2k to possible
3269         cpu types.
3270         * doc/md.texi: Document ip2k constraints.
3271         * config/ip2k/crt0.S: New file.
3272         * config/ip2k/ip2k-protos.h: New file.
3273         * config/ip2k/ip2k.c: New file.
3274         * config/ip2k/ip2k.h: New file.
3275         * config/ip2k/ip2k.md: New file.
3276         * config/ip2k/libgcc.S: New file.
3277         * config/ip2k/t-ip2k: New file.
3278
3279 2002-06-30  Hans-Peter Nilsson  <hp@bitrange.com>
3280
3281         * config/mmix/mmix.md ("return"): New pattern.
3282         * config/mmix/mmix.h (TARGET_MASK_USE_RETURN_INSN)
3283         (TARGET_USE_RETURN_INSN): New macros.
3284         (TARGET_DEFAULT): Include TARGET_MASK_USE_RETURN_INSN.
3285         (TARGET_SWITCHES): Add -msingle-exit and -mno-single-exit.
3286         * config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Fix spacing.
3287         (MMIX_POP_ARGUMENT): New macro.
3288         (mmix_target_asm_function_prologue): When no epilogue is executed,
3289         just emit a blank line.  Use MMIX_POP_ARGUMENT with final POP insn.
3290         (mmix_print_operand) <case '.'>: New case.
3291         (mmix_print_operand_punct_valid_p): Match '.'.
3292         (mmix_use_simple_return): New function.
3293         * config/mmix/mmix-protos.h (mmix_use_simple_return): Prototype.
3294         * doc/invoke.texi (Option Summary) <MMIX Summary>: Add
3295         -msingle-exit, -mno-single-exit.
3296         (MMIX Options): Ditto.
3297
3298 2002-06-30  Aldy Hernandez  <aldyh@redhat.com>
3299
3300         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Fix typos.
3301
3302 2002-06-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3303
3304         * gengtype.c (oprintf): Move VA_CLOSE after all fixedarg uses.
3305
3306 2002-06-30  Alan Modra  <amodra@bigpond.net.au>
3307
3308         * unroll.c (loop_iterations): Handle EQ loops.
3309
3310 2002-06-29  David Edelsohn  <edelsohn@gnu.org>
3311
3312         * config/rs6000/rs6000.md (ctrdi): Allocate pseudo for FPR
3313         constraint in define_expand, not splitter.
3314         Formatting.
3315
3316 2002-06-29  Aldy Hernandez  <aldyh@redhat.com>
3317
3318         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use
3319         build_function_type_list instead of build_function_type.
3320
3321         * config/ia64/ia64.c (ia64_init_builtins): Same.
3322
3323         * config/alpha/alpha.c (alpha_init_builtins): Same.
3324
3325         * config/rs6000/rs6000.c (altivec_init_builtins): Same.
3326
3327         * config/arm/arm.c (arm_init_builtins): Same.
3328
3329         * tree.h: Add build_function_type_list prototype.
3330
3331         * tree.c (build_function_type_list): New.
3332
3333 2002-06-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3334
3335         * collect2.c (scan_prog_file): Fix typo in message.
3336
3337 2002-06-28  Aaron Lehmann  <aaronl@vitelus.com>
3338
3339         * fold-cont.c: Remove unused CHARMASK.
3340
3341 2002-06-29  Neil Booth  <neil@daikokuya.co.uk>
3342
3343         PR preprocessor/7150
3344         * cppmain.c (scan_translation_unit_trad): Simplify.
3345         * cppmacro.c (cpp_scan_nooutput): Handle traditional case.
3346
3347 2002-06-29  Neil Booth  <neil@daikokuya.demon.co.uk>
3348
3349         * config/i386/crtdll.h: Define EXTRA_OS_CPP_BUILTINS.
3350         Don't use CPP_PREDEFINES.
3351         * config/i386/cygwin.h (EXTRA_OS_CPP_BUILTINS): New.
3352         Used TARGET_OS_CPP_BUILTINS in preference to CPP_PREDEFINES.
3353         * config/i386/djgpp.h, config/i386/i386-coff.h,
3354         config/i386/i386-interix.h, config/i386/i386-interix3.h,
3355         config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h,
3356         config/i386/openbsd.h, config/i386/ptx4-i.h, config/i386/sysv3.h,
3357         config/i386/uwin.h: Similarly.
3358
3359 2002-06-29  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
3360
3361         * c4x.h: (TARGET_CPU_CPP_BUILTINS): Check flag_inline_functions and
3362         flag_inline_trees to enable inlining.
3363
3364 2002-06-28  Phil Edwards  <pme@gcc.gnu.org>
3365
3366         * configure.in (gcc_gxx_include_dir):  Change to match versioned
3367         C++ headers if --enable-version-specific-runtime-libs is used.
3368         * configure:  Regenerate.
3369
3370 2002-06-28  Jan Hubicka  <jh@suse.cz>
3371
3372         * gcse.c (gcse_emit_move_after): Use gen_move_insn to produce the move.
3373
3374 2002-06-28  Stephen Clarke  <stephen.clarke@superh.com>
3375
3376         * combine.c (combine_simplify_rtx): Pass the mode of the
3377         shift count, not the shift operation when trying to simplify
3378         a shift on a SHIFT_COUNT_TRUNCATED target.
3379
3380 2002-06-28  Stephane Carrez  <stcarrez@nerim.fr>
3381
3382         * config/m68hc11/m68hc11.md ("*addsi3"): Use 'o' constraint to
3383         avoid the auto increment addressing modes.
3384         ("*subsi3"): Likewise.
3385         (split for add/sub on address): For 68HC12 push the value on
3386         the stack and do the operation with a pop.
3387
3388 2002-06-28  Neil Booth  <neil@daikokuya.co.uk>
3389
3390         * cpplib.c (_cpp_handle_directive): Move #define-specific
3391         code to the #define handler...
3392         (do_define): ...here.
3393         (lex_macro_node): No longer a need to check for comments here.
3394
3395 2002-06-28  Stephane Carrez  <stcarrez@nerim.fr>
3396
3397         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Define.
3398         * config/m68hc11/m68hc11-protos.h (m68hc11_optimization_options):
3399         Declare.
3400         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): New,
3401         do not reorder basic blocks at the end when optimizing for size.
3402
3403 2002-06-28  Stephane Carrez  <stcarrez@nerim.fr>
3404
3405         * config/m68hc11/m68hc11.c (autoinc_mode): New function.
3406         (m68hc11_make_autoinc_notes): New function.
3407         (m68hc11_split_move): Be very cautious when spliting a move with
3408         auto increment/decrement modes because this may result in incompatible
3409         directions; add REG_INC notes to the resulting insn for CSE reg.
3410
3411 2002-06-28  Stephane Carrez  <Stephane.Carrez@nerim.fr>
3412
3413         * config/m68hc11/m68hc11.c (register_indirect_p): For 68HC12 a constant
3414         can be a valid address.
3415
3416 2002-06-28  Aldy Hernandez  <aldyh@redhat.com>
3417
3418         * config/rs6000/rs6000.c: Remove unusued variables from last
3419         patch.
3420
3421 2002-06-27  Aldy Hernandez  <aldyh@redhat.com>
3422
3423         Revert:
3424         * config/rs6000/rs6000.c (rs6000_override_options): Move
3425         *SUBTARGET_OVERRIDE_OPTIONS before the -m options.
3426
3427 2002-06-27  Aldy Hernandez  <aldyh@redhat.com>
3428
3429         * config/rs6000/rs6000.c (altivec_expand_builtin): Move
3430         lvx/stv/dst builtins...
3431         (altivec_expand_ld_builtin): ...to here.
3432         (altivec_expand_st_builtin): ...here.
3433         (altivec_expand_dst_builtin): ...and here (respectively).
3434
3435 2002-06-28  Bob Wilson  <bob.wilson@acm.org>
3436
3437         * config/xtensa/xtensa.h (RETURN_IN_MEMORY): Update comment.
3438
3439 2001-06-08  Bernd Schmidt  <bernds@redhat.com>
3440
3441         * emit-rtl.c (gen_lowpart_common): Don't create paradoxical FLOAT_MODE
3442         subregs.
3443         * recog.c (general_operand, register_operand): Disallow them.
3444
3445 2002-06-28  Neil Booth  <neil@daikokuya.co.uk>