OSDN Git Service

* config/i386/i386.h (MS_AGGREGATE_RETURN): New define.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-03-07  Danny Smith  <dannysmith@users.sourceforge.net>
2
3         * config/i386/i386.h (MS_AGGREGATE_RETURN): New define.
4         * config/i386/cygwin.h (MS_AGGREGATE_RETURN): Override default
5         definition.
6         * config/i386/i386.h (ix86_return_in_memory): Return aggregate
7         types of up to 8 bytes via registers if MS_AGGREGATE_RETURN.
8
9 Fri Feb  7 22:22:40 CET 2003  Jan Hubicka  <jh@suse.cz>
10
11         * i386.md (movdi_rex64_1): Fix mmx<->int move opcode.
12
13 2003-02-07  Daniel Berlin  <dberlin@dberlin.org>
14
15         * cfg.c (dump_flow_info): Add back accidently deleted line.
16
17 2003-02-07  Andrey Petrov <petrov@netbsd.org>
18
19         * optabs.c (expand_float): Search wider integer modes first.
20
21 2003-02-07  Bob Wilson  <bob.wilson@acm.org>
22
23         * config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Set this
24         based on preprocessor flag.
25
26 2003-02-07  Roger Sayle  <roger@eyesopen.com>
27             Richard Henderson  <rth@redhat.com>
28
29         * gcse.c (implicit_sets): New.
30         (compute_hash_table_work): Include them in hash table.
31         (find_implicit_sets, fis_get_condition): New.
32         (one_cprop_pass): Allocate and free implicit_sets; call
33         find_implicit_sets before building hash table.
34
35 2003-02-07  Jason Thorpe  <thorpej@wasabisystems.com>
36
37         * config/t-netbsd (USER_H): Revert previous change.
38
39 2003-02-07  Gabor Greif  <ggreif@lucent.com>
40
41         * doc/c-tree.texi (Namespaces): Fix typo.
42
43 Fri Feb  7 02:18:57 CET 2003  Jan Hubicka  <jh@suse.cz>
44
45         * regrename.c (do_replace, find_oldest_value_reg,
46         copyprop_hardreg_forward_1): Update register attributes.
47
48 2003-02-06  Vladimir Makarov  <vmakarov@redhat.com>
49
50         * genautomata.c (VLA_PTR_CREATE, VLA_PTR_EXPAND, VLA_PTR_ADD,
51         VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD): Use temporay
52         variables starting with underscore.
53         (struct unit_usage): New structure.
54         (unit_usages, cycle_alt_unit_usages): New global variables.
55         (check_unit_distribution_in_reserv): Remove it.
56         (store_alt_unit_usage): New function.
57         (check_regexp_units_distribution): Rewrite it.
58
59 2003-02-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
60
61         * config.gcc (hppa*-*-linux*): Set MASK_NO_SPACE_REGS in
62         target_cpu_default.
63         * pa.c (attr_length_call): Add 8 to call length (long indirect PA 1.X)
64         if not MASK_NO_SPACE_REGS.
65         (output_call): Adjust return pointer, don't load new space register
66         into %sr0, and use %sr4 for call if TARGET_NO_SPACE_REGS is true.
67         (pa_asm_output_mi_thunk): Don't load new space register into %sr0 if
68         TARGET_NO_SPACE_REGS is true.
69         * pa.md (return_external_pic): Add TARGET_NO_SPACE_REGS to insn
70         conditions.
71         (epilogue): Always use return_internal if TARGET_NO_SPACE_REGS is true.
72         (interspace_jump): Add new pattern for when TARGET_NO_SPACE_REGS is
73         true.  Use bve when TARGET_64BIT is true.
74
75 2003-02-06  Richard Henderson  <rth@redhat.com>
76
77         * combine.c (nonzero_bits): Fix double break.
78
79 2003-02-06  Eric Botcazou <ebotcazou@libertysurf.fr>
80             Richard Henderson <rth@redhat.com>
81
82         PR c/9530
83         * config/i386/i386.c (ix86_function_ok_for_sibcall): Forbid sibcalls
84         from functions that return a float to functions that don't.
85
86 Thu Feb  6 00:18:38 CET 2003  Jan Hubicka  <jh@suse.cz>
87
88         * i386.c (x86_inter_unit_moves): New variable.
89         (ix86_secondary_memory_needed): Fix 64bit case, honor
90         TARGET_INTER_UNIT_MOVES
91         * i386.h (x86_inter_unit_moves): Declare.
92         (TARGET_INTER_UNIT_MOVES): New macro.
93         * i386.md (movsi_1): Cleanup constraints; disable
94         when not doing inter-unit moves.
95         (movsi_1_nointernunit): New.
96         (movdi_1_rex64): Fix constraints; deal with SSE->GPR moves.
97         (movdi_1_rex64_nointerunit): New.
98         (mivsf_1): disable when not doing inter-unit moves.
99         (movsf_1_nointerunit): New.
100
101         * basic-block.h (inside_basic_block_p):  Declare.
102         * cfgbuild.c (inside_basic_block_p): Make global.
103         * haifa-sched.c (unlink_other_notes0: Deal with NOT_INSN_BASIC_BLOCK.
104         * scheudle-ebb.c  (schedule_ebb): Return last basic block of trace;
105         update CFG.
106         (fix_basic_block_boundaries, add_missing_bbs): New.
107         (rank): Use profile.
108         (scheudle_ebbs): Rely on CFG; update coments.
109
110 2003-02-05  Geoffrey Keating  <geoffk@apple.com>
111
112         * Makefile.in (host_hook_obj): New.
113         (OBJS): Add $(host_hook_obj).
114         (host_default.o): New rule.
115         * config.gcc (host_hook_obj): New, default to host-default.o.
116         (powerpc-*-darwin*): Use host-darwin.o.
117         (out_host_hook_obj): New.
118         * configure: Regenerate.
119         * configure.in: Print information about out_host_hook_obj, substitute
120         into output files.
121         * host-default.c: New file.
122         * hosthooks.h: New file.
123         * toplev.c (general_init): Call host_hooks.extra_signals.
124         * config/rs6000/host-darwin.c: New file.
125         * config/rs6000/x-darwin: New file.
126         * doc/hostconfig.texi: Add documentation for new host hook.
127         Rearrange existing documentation.
128
129 2003-02-05  Roger Sayle  <roger@eyesopen.com>
130
131         * dwarf2out.c (mem_loc_descriptor): Replace ASM_SIMPLIFY_DWARF_ADDR
132         with *targetm.delegitimize_address.
133         (rtl_for_decl_location): Likewise.
134         * dwarfout.c (output_mem_loc_descriptor): Likewise.  Include target.h.
135         * Makefile.in (dwarf2out.c, dwarfout.c): Depend upon $(TARGET_H)
136
137         * config/i386/i386.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
138         * config/i386/i386-protos.h (i386_simplify_dwarf_addr): Remove
139         prototype.
140         * config/i386/i386.c (ix86_delegitimize_address): Renamed from
141         i386_simplify_dwarf_addr.  Made static.  Prototyped.
142         (TARGET_DELEGITIMIZE_ADDRESS): Update definition from
143         i386_simplify_dwarf_addr to ix86_delegitimize_address.
144         (ix86_find_base_term): Likewise.
145         (maybe_get_pool_constant): Likewise.
146
147         * config/s390/s390.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
148         * config/s390/s390-protos.h (s390_simplify_dwarf_addr): Remove
149         prototype.
150         * config/s390/s390.c (s390_delegitimize_address): Renamed from
151         s390_simplify_dwarf_addr.  Made static.  Prototyped.
152         (TARGET_DELEGITIMIZE_ADDRESS): Define as s390_delegitimize_address.
153
154 2003-02-05  Richard Henderson  <rth@redhat.com>
155
156         PR c/8602
157         * integrate.c (output_inline_function): Reset input_filename
158         and lineno from the decl before rest_of_compilation.
159
160 2003-02-05  Richard Henderson  <rth@redhat.com>
161
162         * defaults.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
163         (CTZ_DEFINED_VALUE_AT_ZERO): New.
164         * doc/rtl.texi, doc/tm.texi: Document them.
165
166         * combine.c (nonzero_bits) [CLZ, CTZ]: Handle the definedness
167         of the value at zero properly.
168         * fold-const.c (tree_expr_nonnegative_p): Likewise.
169         * simplify-rtx.c (simplify_unary_operation): Likewise.
170
171         * config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
172         (CTZ_DEFINED_VALUE_AT_ZERO): New.
173
174         * config/arm/arm.c (TARGET_INIT_BUILTINS): Remove.
175         (TARGET_EXPAND_BUILTIN): Remove.
176         (def_builtin, arm_init_builtins, arm_expand_builtin): Remove.
177         * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
178         (enum arm_builtins): Remove.
179         * config/arm/arm.md (UNSPEC_CLZ): Remove.
180         (clzsi2): Rename from clz; use clz instead of unspec.
181         (ctzsi2): New.
182         * config/arm/arm-protos.h: Update.
183
184 Wed Feb  5 23:12:57 CET 2003  Jan Hubicka  <jh@suse.cz>
185
186         * i386-protos.h (x86_emit_floatuns):  Declare.
187         * i386.c (x86_emit_floatuns): New global function.
188         * i386.md (floatunssisf2, floatunsdisf2,
189         floatunsdidf2):  New patterns.
190
191 2003-01-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
192
193         * cfgloopmanip.c (force_single_succ_latches): Fix missindentation.
194
195 2003-02-05  Hans Boehm <Hans.Boehm@hp.com>
196
197         * config/ia64/unwind-ia64.c: include coretypes.h, tm.h to get
198           config/ia64/linux.h
199
200 2002-02-05  Roger Sayle  <roger@eyesopen.com>
201
202         * cfgloop.h (flow_bb_inside_loop_p): Correct prototype again.
203
204 2003-02-05  Jakub Jelinek  <jakub@redhat.com>
205
206         PR optimization/8555
207         * config/i386/i386.md (sse_mov?fcc split): Handle op2 == op3 case
208         instead of aborting.
209
210 2003-02-04  Richard Henderson  <rth@redhat.com>
211
212         * config/i386/i386.md (UNSPEC_BSF): Remove.
213         (ffssi2): Split into cmove and no_cmove insns and splitters;
214         lose pentium float trick for now.
215         (ffssi_1): Add * to name; use CTZ instead of UNSPEC.
216         (ctzsi2, clzsi2, bsr): New.
217
218 2003-02-04  Richard Henderson  <rth@redhat.com>
219
220         * config/ia64/ia64.c (rtx_needs_barrier): Handle POPCOUNT,
221         UNSPEC_GETF_EXP; remove UNSPEC_POPCNT.
222         * config/ia64/ia64.md (UNSPEC_POPCNT): Remove.
223         (ffsdi2): Use popcount instead of unspec.
224         (popcountdi2): Rename from *popcnt.
225         (ctzdi2, clzdi2, getf_exp_tf): New.
226
227 2003-02-04  Kazu Hirata  <kazu@cs.umass.edu>
228
229         * genconfig.c (main): Generate CC0_P.
230         * rtl.h (CC0_P): Remove.
231
232 2003-02-04  Richard Henderson  <rth@redhat.com>
233
234         * libgcc2.h, libgcc2.c (__ffsSI2): New.
235         (__ffsDI2): Rename from __ffsdi2.
236         * mklibgcc.in (lib2funcs): Add _ffssi2.
237
238 2003-02-04  Richard Henderson  <rth@redhat.com>
239
240         * libgcc2.c (__paritysi2, __paritydi2): Replace last two reduction
241         rounds with a "bit table" lookup.
242
243 2003-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
244
245         * reload.c (find_reloads): Do not use the mode specified in the insn
246         pattern as reload mode for address operands.  Do not generate optional 
247         reloads for operands where a mandatory reload was already pushed.
248
249 2003-02-04  Richard Henderson  <rth@redhat.com>
250
251         * longlong.h [alpha] (count_leading_zeros, count_trailing_zeros): Use
252         builtins instead of inline assembly.
253
254 2003-02-04  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
255  
256         PR c/9376
257         * libgcc2.c (__subvdi3): Fix typo.
258
259 Tue Feb  4 21:46:05 CET 2003  Jan Hubicka  <jh@suse.cz>
260
261         * i386.md (movti_rex64):  Fix constraint.
262
263 Tue Feb  4 18:40:42 CET 2003  Jan Hubicka  <jh@suse.cz>
264
265         * i386.md (vector push splitters):  Fix typo in resolving conflict.
266
267 2003-02-04  Rodney Brown  <rbrown64@csc.com.au>
268
269         * config/i386/i386.c (x86_function_profiler): Fix typo in format.
270
271 2003-02-04  Phil Edwards  <pme@gcc.gnu.org>
272
273         * doc/install.texi (*-*-linux-gnu):  Mention glibc requirements
274         for recent libstdc++.  Remove formatting cruft.
275
276 2003-02-04  Jakub Jelinek  <jakub@redhat.com>
277
278         * dwarf2out.c (dwarf2out_finish): Add AT_comp_dir
279         attribute even if input file name is absolute, but one of the
280         includes is relative.
281
282 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
283
284         * doc/gcc.texi, doc/gccint.texi, doc/gcov.texi,
285         doc/include/fdl.texi, doc/invoke.texi: Update to GFDL 1.2.
286         * doc/install.texi: Update copyright dates.  Update to GFDL 1.2.
287
288 2003-02-03  Richard Henderson  <rth@redhat.com>
289
290         * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
291         __popcountsi2, __popcountdi2, __paritysi2, __paritydi2): Change
292         return type to "int".  Shuffle declarations and undef int trap.
293         * libgcc2.h: Remove their declarations.
294         * optabs.c (expand_unop): Force outmode to int for bitops.
295
296 2003-02-03  Bob Wilson  <bob.wilson@acm.org>
297
298         * config/xtensa/xtensa.c (order_regs_for_local_alloc): Order the
299         coprocessor registers before floating-point registers.
300         * config/xtensa/xtensa.h (REG_ALLOC_ORDER): Adjust register numbers
301         to account for a previously removed register.
302         (SPEC_REG_FIRST, SPEC_REG_LAST, SPEC_REG_NUM, COUNT_REGISTER_REGNUM):
303         Delete unused macros.
304
305 Mon Feb  3 21:19:11 CET 2003  Jan Hubicka  <jh@suse.cz>
306
307         * i386.c (ix86_expand_store_builtin):  Always force op1 to register.
308         (mov*_internal): Fix predicates; require one of operands to not be
309         memory.
310         (SSE?MMX move expanders):  Fix predicates; force one of operands to
311         register.
312         (SSE/MMX push patterns): Reorganize; fix x86-64 code generation.
313         (movups/movupd/movdqu patterns): Force one of operands to not be
314         memory.
315
316 2002-02-03  Roger Sayle  <roger@eyesopen.com>
317
318         * hooks.c (hook_rtx_rtx_identity): Generic hook function that
319         takes a single rtx and returns it unmodified.
320         * hooks.h (hook_rtx_rtx_identity): Prototype here.
321         * target.h (struct gcc_target): Add "delegitimize_address"
322         field to target structure.
323         * target-def.h (TARGET_DELEGITIMIZE_ADDRESS):  Provide default
324         for delegitimize_address target using hook_rtx_rtx_identity.
325         (TARGET_INITIALIZER): Initialize delegitimize_address field
326         using TARGET_DELEGITIMIZE_ADDRESS macro.
327         * simplify-rtx.c (avoid_constant_pool_reference): Handle float
328         extensions of constant pool references.  Use delegitimize_address
329         to undo the obfuscation of "-fpic".
330         * Makefile.in (simplify-rtx.o): Add dependency on target.h.
331
332         * config/i386/i386.c (TARGET_DELEGITIMIZE_ADDRESS): Define as
333         i386_simplify_dwarf_addr.
334         (ix86_find_base_term): Simplify using i386_simplify_dwarf_addr.
335         (maybe_get_pool_constant): Likewise.
336
337 Mon Feb  3 16:01:17 CET 2003  Jan Hubicka  <jh@suse.cz>
338
339         * i386.c (ix86_expand_int_movcc):  Fix setcc sign bit case.
340
341 Mon Feb  3 01:30:11 CET 2003  Jan Hubicka  <jh@suse.cz>
342
343         * regclass.c (cannot_change_mode_set_regs): Correct argument order.
344
345 2003-02-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
346
347         * mips/_tilib.c: Don't include tsystem.h or defaults.h.  Don't
348         define LIBGCC2_WORDS_BIG_ENDIAN.  Include coretypes.h and tm.h.
349
350 2003-02-02  Andreas Schwab  <schwab@suse.de>
351
352         * varasm.c (asm_output_aligned_bss): Declare as possibly unused.
353
354 2003-02-02  Richard Earnshaw  <rearnsha@arm.com>
355
356         * arm.md (sibcall_epilogue): Set the "conds" to "clob".
357         (epilogue_insns): Likewise.
358
359 2003-02-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
360
361         * doc/install.texi (hppa*-hp-hpux11*): Update installation notes.
362
363 2003-02-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
364
365         * pa-protos.h (attr_length_millicode_call): Remove second argument.
366         (attr_length_indirect_call, attr_length_indirect_call,
367         attr_length_save_restore_dltp): New prototypes.
368         * pa.c (attr_length_millicode_call): Remove second argument.  Check
369         INSN_ADDRESSES_SET_P in distance calculation.
370         (output_millicode_call): Check INSN_ADDRESSES_SET_P before using
371         INSN_ADDRESSES.
372         (attr_length_call): Check INSN_ADDRESSES_SET_P in distance calculation.
373         (output_call): Check INSN_ADDRESSES_SET_P before using INSN_ADDRESSES.
374         Call attr_length_call directly.
375         (attr_length_indirect_call, output_indirect_call,
376         attr_length_save_restore_dltp): New functions.
377         * pa.md (attr_length_millicode_call): Drop second argument from all
378         patterns.
379         (return_internal_pic): Delete.
380         (return_external_pic): Remove use of PIC register and pic operand and
381         flag checks.
382         (epilogue): Use return_internal for both normal and pic code.
383         (call, call_value): Emit new 32-bit pic patterns for symref and
384         indirect calls.  Remove uses for arg pointer and pic register.
385         (call_symref_pic, call_symref_pic_post_reload, call_reg_pic,
386         call_reg_pic_post_reload, call_val_symref_pic,
387         call_val_symref_pic_post_reload, call_val_reg_pic,
388         call_val_reg_pic_post_reload): New pre and post reload insn patterns.
389         Implement define_split and define_peephole2 patterns for pre reload
390         patterns.
391         (call_symref_64bit, call_internal_reg_64bit, call_value_symref_64bit,
392         call_value_internal_reg_64bit): Shorten names.
393         (all call patterns): Explicitly indicate registers used and clobbered.
394         Use attr_length_indirect_call and attr_length_save_restore_dltp for
395         attribute length calculation.  Move code generation for indirect calls
396         to output_indirect_call.
397         (sibcall, sibcall_value): Don't restore PIC register.
398         (exception_receiver, builtin_setjmp_receiver): Add blockage after PIC
399         register retore.
400
401 2003-02-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
402
403         * doc/install.texi (Testing): Simplify and compress instructions
404         concerning Dejagnu.
405
406 2003-02-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
407
408         * collect2.c (pexecute_pid): Rename to pid.
409         (collect_wait, collect_execute, scan_prog_file, scan_libraries): Use
410         pid.
411
412 2003-02-01  Geoffrey Keating  <geoffk@apple.com>
413
414         * doc/extend.texi (Function Attributes): Remove documentation
415         for PowerPC Windows NT function attributes..
416
417 2003-02-01  Daniel Jacobowitz  <drow@mvista.com>
418
419         * dwarf2out.c (gen_type_die): Check for typedefs before calling
420         for TYPE_MAIN_VARIANT.
421
422 2003-02-01  Richard Henderson  <rth@redhat.com>
423
424         * libgcc2.c: Include auto-host.h.
425         (ATTRIBUTE_HIDDEN): New.
426         (__clz_tab): Don't declare here for clz and ctz.
427         (__clzsi2, __clzdi2): Use count_leading_zeros.
428         (__ctzsi2, __ctzdi2): Use count_trailing_zeros.
429         (__popcount_tab): Mark ATTRIBUTE_HIDDEN.
430         (__paritysi2, __paritydi2): Use shifts instead of __popcount_tab.
431         * longlong.h (__clz_tab): Mark ATTRIBUTE_HIDDEN.
432
433 2003-02-01  Richard Henderson  <rth@redhat.com>
434
435         * config/i386/i386.md (addsi_1_zext splitter): Add TARGET_64BIT
436         to the conditional.
437         (ashlsi3_1_zext splitter): Likewise.
438
439 2003-02-01  Richard Henderson  <rth@redhat.com>
440
441         * optabs.c (expand_unop): Use word_mode for outmode of bit scaners.
442         * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
443         __popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change
444         return type to Wtype.
445
446         * libgcc-std.ver (GCC_3.4): Fix inheritance.
447
448         * config/i386/i386.md (ffssi2): Use nonimmediate_operand for
449         expander input constraint.
450
451 2003-02-01  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
452
453         * optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and
454         OTI_parity.
455         (clz_optab, ctz_optab, popcount_optab, parity_optab): New.
456         * optabs.c (widen_clz, expand_parity): New.
457         (expand_unop): Handle clz and parity.  Hardcode SImode as outmode
458         for libcalls to clz, ctz, popcount, and parity.
459         (init_optabs): Init clz_optab, ctz_optab, popcount_optab and
460         parity_optab, and set up libfunc handlers.
461         * libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
462         __popcountsi2, __popcountdi2, __paritysi2 __paritydi2,
463         __popcount_tab): New.
464         * libgcc2.h: Declare them.
465         * libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c.
466         * genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab
467         and parity_optab.
468         * builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New.
469         * builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT,
470         BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL,
471         BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL,
472         BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL,
473         BUILT_IN_PARITYLL): New.
474         * builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs
475         and add optab argument.
476         (expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*.
477         * tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New.
478         * expr.c (expand_expr): Handle them.
479         * fold-const.c (tree_expr_nonnegative_p): Likewise.
480         * rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New.
481         * reload1.c (eliminate_regs): Handle them.
482         (elimination_effects): Likewise.
483         * function.c (instantiate_virtual_regs_1): Likewise
484         * genattrtab.c (check_attr_value): Likewise.
485         * simplify-rtx.c (simplify_unary_operation): Likewise.
486         * c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR.
487         * combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY.
488         (nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY.
489         * config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New.
490         * config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to
491         __builtin_arm_clz.
492         * Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move...
493         * mklibgcc.in (lib2funcs): ...here and merge.  Add new members.
494         * doc/extend.texi (Other Builtins): Add new builtins.
495         * doc/md.texi (Standard Names): Add new patterns.
496
497 2003-02-01  Ulrich Weigand  <uweigand@de.ibm.com>
498
499         * reload.c: Revert 2003-01-31 change.
500
501 Sat Feb  1 14:14:40 CET 2003  Jan Hubicka  <jh@suse.cz>
502
503         * combine.c (combine_simplify_rtx):  Use reversed_comparison_code_parts.
504
505 2003-02-01  Richard Sandiford  <rsandifo@redhat.com>
506
507         * flags.h (flag_volatile): Remove declaration.
508         (flag_volatile_global, flag_volatile_static): Likewise.
509         * c-typeck.c (build_indirect_ref): Don't check flag_volatile.
510         * toplev.c (flag_volatile): Remove definition.
511         (flag_volatile_global, flag_volatile_static): Likewise.
512         (f_options): Remove corresponding entries here.
513         * varasm.c (make_decl_rtl): Don't check flag_volatile_global
514         or flag_volatile_static.
515         * doc/invoke.texi: Remove documentation of -fvolatile,
516         -fvolatile-global and -fvolatile-static.
517
518 2003-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
519
520         * pa.c (pa_output_function_prologue, pa_output_function_epilogue): Move
521         updating of total_code_bytes from prologue to epilogue.
522
523 2003-01-31  Ulrich Weigand  <uweigand@de.ibm.com>
524
525         * reload.c (find_reloads): Do not use the mode specified in the insn
526         pattern as reload mode for address operands.  Do not generate optional
527         reloads for operands where a mandatory reload was already pushed.
528         Generate optional reloads only in the final pass though find_reloads.
529         (have_replacement_p): New function.
530
531 2003-01-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
532
533         * doc/install.texi (Testing): Remove a reference to our obsolete
534         /testresults web pages and strip redundant information concerning
535         test results.
536         (Binaries): Refer to Microsoft Windows instead of listing all
537         possible variants.
538
539 Sat Feb  1 00:28:30 CET 2003  Jan Hubicka  <jh@suse.cz>
540
541         * loop.c (emit_prefetch_instructions):  Do conversion at right place in
542         RTL chain.
543
544         * combine.c (simplify_set): Reverse order of ragumetns to
545         REG_CANNOT_CHANGE_MODE_P
546         * df.c (df_def_record_1): Likewise.
547         * recog.c (register_operand): Likewise.
548         * simplify-rtx.c (simplify_subreg): Likewise.
549         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Update use of
550         CANNOT_CHANGE_MODE_CLASS.
551         * regclass.c (cannot_change_mode_set_regs, invalid_mode_change_p):
552         Likewise.
553         * reload.c (push_reload): Likewise.
554         * alpha.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
555         * ia64.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
556         * mips.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
557         * mips-protos.h (mips_cannot_change_mode_class): Update prototype.
558         * mips.c (mips_cannot_change_mode_class): Update.
559         * pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
560         * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
561         * s390.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
562         * sh.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
563         * sh-protos.h (sh_cannot_change_mode_class): Update prototype.
564         * sh.c (sh_cannot_change_mode_class): Update.
565         * i386.h (CANNOT_CHANGE_MODE_CLASS): New.
566         * tm.texi (CANNOT_CHANGE_MODE_CLASS): Update documentation.
567
568 2003-01-31  Geoffrey Keating  <geoffk@apple.com>
569
570         * config/darwin.h (LINK_COMMAND_SPEC): Update for Nathan's recent
571         change to LINK_COMMAND_SPEC in gcc.c.
572
573 2003-01-31  Jan Hubicka  <jh@suse.cz>
574
575         PR c/9506
576         * i386.c (override_options): Use DEFAULT_PCC_STRUCT_RETURN.
577
578 2003-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
579
580         * pa32-regs.h (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Delete
581         duplicated code.
582
583 2003-01-31  Nathan Sidwell  <nathan@codesourcery.com>
584
585         * tree.h (TYPE_BINFO_SIZE, TYPE_BINFO_SIZE_UNIT): Remove.
586         (BINFO_ELTS): New #define.
587         * stor-layout.c (finalize_record_size): Don't set them.
588         * cp/cp-tree.h (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX,
589         BINFO_PRIMARY_BASE_OF): Use BINFO_ELTS.
590         (BINFO_LANG_ELTS): New #define.
591         * cp/tree.c (make_binfo): Use BINFO_LANG_ELTS.
592         * java/class.c (make_class): Use BINFO_ELTS.
593         (set_super_info): Likewse.
594         (add_interface_do): Likewise.
595         * objc/objc-act.c (start_class): Use BINFO_ELTS.
596
597 2003-01-31 Danny Smith <dannysmith@users.sourceforge.net>
598
599         * timevar.c (getrusage): Don't ever declare if not HAVE_GETRUSAGE.
600         (times): Don't ever declare if not HAVE_TIMES.
601         (clock): Don't ever declare if not HAVE_CLOCK.
602
603 2003-01-30  Richard Henderson  <rth@redhat.com>
604
605         * flow.c (update_life_info): Zap life info after cleanup_cfg.
606         (regno_uninitialized): Use correct live at function entry set.
607         (regno_clobbered_at_setjmp): Likewise.
608
609         * expr.c (store_expr): Promote all MEM intermediates to regs.
610
611 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
612
613         * config/arm/arm.c: Fix comment typos.
614         * config/arm/arm.h: Likewise.
615         * config/arm/netbsd-elf.h: Likewise.
616         * config/arm/netbsd.h: Likewise.
617
618 2003-01-30  Geoffrey Keating  <geoffk@apple.com>
619
620         * gengtype.c (struct walk_type_data): Add needs_cast_p.
621         (walk_type): Set needs_cast_p in walk_type_data.
622         (write_types_process_field): Supply casts when required to suppress
623         warnings.
624         (write_root): Cast gt_pch_n_S to suppress warning.
625         * Makefile.in: Remove -Wno-error from gtype-desc.o and c-decl.o.
626         * config/rs6000/rs6000.c (print_operand): Mask off high bits only
627         when they might exist.
628         * config/rs6000/t-rs6000: Remove -Wno-error from varasm.o,
629         insn-conditions.o, and rs6000.o.
630
631 2003-01-30  Richard Henderson  <rth@redhat.com>
632
633         * ggc-page.c (G.context_depth_allocations): New.
634         (G.context_depth_collections): New.
635         (alloc_page): Set G.context_depth_allocations.
636         (ggc_collect): Set G.context_depth_collections.
637         (ggc_push_context): Limit to HOST_BITS_PER_LONG contexts.
638         (ggc_pop_context): Early exit for no allocations or collections.
639
640 2003-01-30  Richard Henderson  <rth@redhat.com>
641
642         * tree-inline.c (walk_tree): Streamline duplicate hash table lookup.
643
644 2003-01-30  Richard Earnshaw  <rearnsha@arm.com>
645
646         * arm.c (arm_compute_initial_elimination_offset): If optimizing for
647         size, the link register is always saved if any other register is
648         saved.
649
650 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
651
652         * config/h8300/h8300-protos.h: Update the prototype for
653         compute_plussi_cc.
654         (cpp_reader): Declare before it is used.
655         * config/h8300/h8300.c (compute_plussi_cc): Change the return
656         type to int.
657         * config/h8300/h8300.md (monitor_prologue): Call abort() if we
658         see an unknown H8 variant.
659
660 2003-01-30  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
661
662         PR target/9316
663         * config/rs6000/rtems.h: Add CPP_OS_DEFAULT_SPEC.
664         * config/rs6000/sysv4.h: Add CPP_OS_RTEMS_SPEC.
665         * config/rs6000/t-rtems: New file. multilib variants to match OS.
666         * config.gcc (powerpc-*-rtems*): Use rs6000/t-rtems instead of
667         rs6000/t-ppcgas so we get the desired multilibs.
668
669 2003-01-30  Nick Clifton  <nickc@redhat.com>
670
671         * config/arm/arm.c (arm_output_epilogue): Update stack pointer
672         when popping saved IP register off the stack.
673
674 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
675
676         * config/rs6000/aix43.h: Fix comment typos.
677         * config/rs6000/aix51.h: Likewise.
678         * config/rs6000/aix52.h: Likewise.
679         * config/rs6000/altivec.h: Likewise.
680         * config/rs6000/rs6000.c: Likewise.
681         * config/rs6000/rs6000.h: Likewise.
682         * config/rs6000/rs6000.md: Likewise.
683         * config/rs6000/spe.md: Likewise.
684
685 2003-01-29  Mark Mitchell  <mark@codesourcery.com>
686
687         * c-common.c (builtin_define_float_constants): Define
688         __<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
689
690 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
691
692         * config/sh/lib1funcs.asm: Fix comment typos.
693         * config/sh/linux.h: Likewise.
694         * config/sh/sh.c: Likewise.
695         * config/sh/sh.md: Likewise.
696
697 2003-01-30  Loren James Rittle  <ljrittle@acm.org>
698
699         * objc/Make-lang.in (objc-parse.y): Find c-parse.in in $(srcdir).
700
701 2003-01-30  Alexandre Oliva  <aoliva@redhat.com>
702
703         * config/fp-bit.h (__make_dp): Declare if TMODES.
704
705 2003-01-29  Kazu Hirata  <kazu@cs.umass.edu>
706
707         * config/h8300/h8300.h (PREDICATE_CODES): Add entries for
708         general_operand_src and general_operand_dst.
709
710 2003-01-29  David Edelsohn  <edelsohn@gnu.org>
711
712         * config/rs6000/rs6000.c (function_arg_pass_by_reference):
713         Return true for variable sized types.
714         (rs6000_va_arg): Handle variable sized types passed by reference
715         on non-SVR4 ABI.
716
717 2003-01-29  Richard Earnshaw  <rearnsha@arm.com>
718
719         * arm.c (arm_legtimize_address): New function.
720         * arm-protos.h (arm_legtimize_address): Add prototype.
721         * arm.h (ARM_LEGITIMIZE_ADDRESS): Use arm_legitimize_address.
722         (LEGITIMIZE_ADDRESS, THUMB_LEGITIMIZE_ADDRESS): Wrap with
723         do ... while (0)
724
725 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
726
727         PR bootstrap/9296
728         * gthr-rtems.h: Define __GTHREAD_MUTEX_INIT.  Apparently no code
729         depended on it being defined until now.
730
731 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
732
733         PR target/9295
734         * config/mips/rtems.h: Predefine __USE_INIT_FINI__ so generic
735         RTEMS code knows which C++ initialization style the toolset
736         configuration is using.
737
738 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
739
740         PR bootstrap/9293
741         * config/m68k/t-crtstuff: Replace spaces with tabs, add
742          $(MULTILIB_CFLAGS) as compiler option and multilib crtbegin/end.o.
743
744 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
745
746         PR bootstrap/9292
747         * config.gcc (hppa1.1-rtems):  Did not include t-rtems nor enable
748         RTEMS threads.
749         * config/pa/rtems.h (LIB_SPEC): Use -N when linking.
750
751 2003-01-29  Nick Clifton  <nickc@redhat.com>
752
753         * Makefile.in (c-parse.o): Locate source file in $(parsedir)
754         not $(srcdir).
755
756 2003-01-29  Andrew Haley  <aph@redhat.com>
757
758         * tree-inline.c (walk_tree): Add CHAR_TYPE.
759
760 Wed Jan 29 10:26:12 CET 2003  Jan Hubicka  <jh@suse.cz>
761
762         * i386.md (subdi3_carry_rex64): Fix typo.
763
764 2003-01-28  Stan Shebs  <shebs@apple.com>
765
766         * coretypes.h (cpp_reader): Forward declare struct.
767         * c-pragma.h (cpp_reader): Remove forward declaration.
768         * hashtable.h (cpp_reader): Likewise.
769         * scan.h (cpp_reader): Likewise.
770         * tree.h (cpp_reader): Likewise.
771         * config/darwin-protos.h (cpp_reader): Likewise.
772         * config/arm/arm-protos.h (cpp_reader): Likewise.
773         * config/rs6000/rs6000-protos.h: Remove GCC_CPPLIB_H ifdef, use
774         struct cpp_reader in prototypes.
775
776 2003-01-28  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
777
778         * doc/install.texi: Add documentation for installation into
779         tooldirs and with DESTDIR.
780
781 2003-01-28  Richard Henderson  <rth@redhat.com>
782
783         * config.gcc (ia64*-*-aix*): Remove.
784         * config/ia64/aix.h, config/ia64/t-aix: Remove file.
785         * config/ia64/unwind-aix.c: Remove file.
786
787 2003-01-28  Andreas Schwab  <schwab@suse.de>
788
789         * config/m68k/m68k.md (tablejump+2): Don't sign extend an address
790         register.
791         * config/m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Likewise.
792         * config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Likewise.
793         * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Likewise.
794         * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
795         * config/m68k/mot3300.h (ASM_RETURN_CASE_JUMP): Likewise.
796         * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
797         * config/m68k/pbb.h (ASM_RETURN_CASE_JUMP): Likewise.
798
799 2003-01-28  Richard Sandiford  <rsandifo@redhat.com>
800
801         * combine.c (nonzero_bits): Fix check for negative divide operands.
802
803 2003-01-28  Richard Henderson  <rth@redhat.com>
804
805         * config/ia64/ia64.c (ia64_rwreloc_section_type_flags): New.
806         * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): New.
807
808 2003-01-28  Richard Henderson  <rth@redhat.com>
809
810         * cse.c (find_best_addr): Kill !ADDRESS_COST code.
811
812         * config/cris/cris.c (cris_address_cost): Make static.
813         (TARGET_RTX_COSTS, TARGET_ADDRESS_COST): New.
814         * config/cris/cris.h (ADDRESS_COST): Remove.
815         * config/cris/cris-protos.h: Update.
816
817 2003-01-23  Mike Stump  <mrs@apple.com>
818
819         * regclass.c (init_reg_autoinc): New function.
820         (regclass): Move initialization of forbidden_inc_dec_class from
821         here...
822         (init_regs): to here.  Avoids reinitialization for each function,
823         saving compilation time.
824
825 2003-01-28  Jason Merrill  <jason@redhat.com>
826
827         * cpplib.h (struct cpp_options): Add warn_deprecated field.
828         * cppinit.c (cpp_create_reader): Turn it on by default.
829         * c-opts.c (c_common_decode_option): Set it.
830         * cpplib.c (do_pragma_once): Only complain about #pragma once
831         if warn_deprecated is set.
832
833 2003-01-28  Dale Johannesen  <dalej@apple.com>
834
835         * emit-rtl.c (const_double_htab_hash):  Use mode in the hash.
836         * loop.c (scan_loop):  Move movables on -Os rich-register targets.
837         * config/rs6000/rs6000.md (sibcall*):  Use match_operand for LR.
838
839 2003-01-28  Richard Henderson  <rth@redhat.com>
840
841         * target.h (targetm.address_cost): New.
842         * target-def.h (TARGET_ADDRESS_COST): New.
843         (TARGET_RTX_COSTS): Uncomment.  Oops.
844         * cse.c (address_cost): Use new target hook.
845         (default_address_cost): New.
846         * output.h (default_address_cost): Declare.
847         * hooks.c (hook_int_rtx_0): New.
848         * hooks.h (hook_int_rtx_0): Declare.
849         * loop.c (combine_givs_p): Remove if 0 code.
850         * system.h (ADDRESS_COST): Poison.
851
852         * config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c,
853         config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h,
854         config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c,
855         config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h,
856         config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c,
857         config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h,
858         config/xtensa/xtensa.c, config/xtensa/xtensa.h
859         (TARGET_ADDRESS_COST): Define as hook_int_rtx_0.
860         (ADDRESS_COST): Remove.
861
862         * config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
863         config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
864         config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
865         config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
866         config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h,
867         config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h,
868         config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h,
869         config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h,
870         config/mips/mips.c, config/mips/mips.h,
871         config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
872         config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h,
873         config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h,
874         config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h,
875         config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h,
876         config/vax/vax.c, config/vax/vax.h
877         (foo_address_cost): Make static.
878         (TARGET_ADDRESS_COST): New.
879         (ADDRESS_COST): Remove.
880
881         * config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h,
882         config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c,
883         config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
884         config/stormy16/stormy16.h
885         (ADDRESS_COST): Move code ...
886         (foo_address_cost): ... here.
887         (TARGET_ADDRESS_COST): New.
888
889         * config/m32r/m32r.c (m32r_address_cost): Remove.
890         * config/m32r/m32r-protos.h: Update.
891
892         * config/mmix/mmix.c (mmix_address_cost): Remove.
893         * config/mmix/mmix-protos.h: Update.
894
895         * config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from
896         mn10300_address_cost; move unsig allocation ...
897         (mn10300_address_cost): ... here.
898         (TARGET_ADDRESS_COST): New.
899         * config/mn10300/mn10300-protos.h: Update.
900         * config/mn10300/mn10300.h (ADDRESS_COST): Remove.
901
902         * doc/tm.texi: Update.
903
904 2003-01-28  Vladimir Makarov  <vmakarov@redhat.com>
905
906         * haifa-sched.c (schedule_insn): Return necessary cycle advance
907         after issuing the insn.
908         (rank_for_schedule): Make a insn with /S the highest priority
909         insn.
910         (move_insn): Ignore schedule groups.  Clear SCHED_GROUP_P.
911         (choose_ready): Check SCHED_GROUP_P.
912         (schedule_block): Advance cycle after issuing insn if it is
913         necessary.  Don't reorder insns if there is an insn with /S.
914         (set_priorities): Ignore schedule groups.
915
916         * sched-deps.c (remove_dependence, group_leader): Remove the
917         functions.
918         (add_dependence): Ignore schedule groups.
919         (set_sched_group_p): Don't make copy of dependencies from previous
920         insn of the schedule group.  Add anti-dependency to the previous
921         insn of the schedule group.
922         (compute_forward_dependences): Ignore schedule groups.
923
924         * sched-ebb.c (init_ready_list): Ignore schedule groups.
925
926         * sched-rgn.c (init_ready_list): Ditto.
927         (can_schedule_ready_p): Ditto.
928
929 2003-01-28  Vladimir Makarov  <vmakarov@redhat.com>
930
931         * config/i386/i386.md (*movsi_1): Use movdqa to move one xmm
932         register to another one.
933
934 2003-01-28  Richard Henderson  <rth@redhat.com>
935
936         * calls.c (default_must_pass_in_stack): Fix typo in !type case.
937
938 2003-01-28  Roger Sayle  <roger@eyesopen.com>
939
940         * cse.c (cse_insn): Avoid redundant REG_EQUAL notes.
941
942 2003-01-28  Richard Sandiford  <rsandifo@redhat.com>
943
944         * config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given
945         class contains a floating-point register, return the size of the
946         mode in half words.
947
948 Tue Jan 28 12:15:13 CET 2003  Jan Hubicka  <jh@suse.cz>
949
950         * i386.c (ix86_carry_flag_operator):  New predicate.
951         (fcmov_operator): Fix whitespace.
952         (ix86_expand_carry_flag_compare):  Deal with floating point.
953         (ix86_expand_int_movcc): Deal with fp; update insn expansion
954         (ix86_expand_int_addcc): Likewise.
955         (ix86_expand_strlensi_unroll_1): likewsie.
956         * i386.h (PREDICATE_CODES): Add ix86_carry_flag_operator.
957         * i386.md (add?i_carry_rex64): Use new predicate.
958         (sub?i3_carry_rex64): Likewise.
959         (x86_mov?icc_0_m1*): Likewise.
960
961 2003-01-28  Andreas Schwab  <schwab@suse.de>
962
963         * cfgloopmanip.c (create_preheader): Initialize src to avoid
964         warning.
965
966         * expmed.c (emit_store_flag): Fix cast to avoid sign
967         comparison warning.
968
969         * combine.c (force_to_mode): Add cast to fix warning when
970         STORE_FLAG_VALUE is negative.
971
972 2003-01-27  Richard Henderson  <rth@redhat.com>
973
974         * Makefile.in (cse.o): Depend on TARGET_H.
975         * cse.c (rtx_cost): Use targetm.rtx_costs.
976         * system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
977         * doc/tm.texi: Update.
978
979         * target.h (targetm.rtx_costs): New.
980         * target-def.h (TARGET_RTX_COSTS): New.
981         * hooks.c (hook_bool_rtx_int_int_intp_false): New.
982         * hooks.h: Update.
983
984         * config/alpha/alpha.c (alpha_rtx_cost_data): New.
985         (alpha_rtx_costs, TARGET_RTX_COSTS): New.
986         * config/alpha/alpha.h (PROCESSOR_MAX): New.
987         (CONST_COSTS, RTX_COSTS): Remove.
988
989         * config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
990         config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
991         config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
992         config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
993         config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
994         config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
995         config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
996         config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
997         config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
998         config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
999         config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
1000         config/mn10200/mn10200.h, config/mn10300/mn10300.c,
1001         config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
1002         config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
1003         config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
1004         config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
1005         config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
1006         config/stormy16/stormy16.c, config/stormy16/stormy16.h,
1007         config/v850/v850.c, config/v850/v850.h,
1008         config/xtensa/xtensa.c, config/xtensa/xtensa.h
1009         (CONST_COSTS, RTX_COSTS): Move code ...
1010         (foo_rtx_costs, TARGET_RTX_COSTS): ... here.
1011
1012         * config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
1013         (arm_rtx_costs, TARGET_RTX_COSTS): New.
1014         * config/arm/arm-protos.h: Update.
1015         * config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.
1016
1017         * config/avr/avr.h (CONST_COSTS): Move code ...
1018         * config/avr/avr.c (avr_rtx_costs): ... here.
1019         (default_rtx_costs): Make static.
1020         * config/avr/avr-protos.h: Update.
1021
1022         * config/h8300/h8300.c (const_costs): Make static.
1023         (h8300_and_costs, h8300_shift_costs): Likewise.
1024         * config/h8300/h8300-protos.h: Update.
1025
1026         * config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
1027         (CONST_COSTS): Move code ...
1028         * config/ip2k/ip2k.c (ip2k_rtx_costs): ... here.  Rename from
1029         default_rtx_costs; update for signature change.
1030         * config/ip2k/ip2k-protos.h: Update.
1031
1032         * config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
1033         (CONST_COSTS): Move code ...
1034         * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
1035         (TARGET_RTX_COSTS): New.
1036         (m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
1037         * config/m68hc11/m68hc11-protos.h: Update.
1038
1039         * config/m68k/m68k.c (const_int_cost): Make static.
1040         * config/m68k/m68k-protos.h: Update.
1041
1042         * config/mcore/mcore.c (mcore_const_costs): Make static.
1043         (mcore_and_cost, mcore_ior_cost): Likewise.
1044         * config/mcore/mcore-protos.h: Update.
1045
1046         * config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
1047         (mmix_rtx_cost_recalculated): Remove.
1048         * config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
1049         * config/mmix/mmix-protos.h: Update.
1050
1051         * config/sh/sh.c (shiftcosts): Make static.
1052         (addsubcosts, andcosts, multcosts): Likewise.
1053         * config/sh/sh-protos.h: Update.
1054
1055         * config/sparc/sparc.c (TARGET_RTX_COSTS): New.
1056         (sparc_rtx_costs): Make static; update for change in signature.
1057         * config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
1058         * config/sparc/sparc-protos.h: Update.
1059
1060         * config/v850/v850.c (const_costs): Make static.
1061         * config/v850/v850-protos.h: Update.
1062
1063         * config/vax/vax.h (RTX_COSTS): Remove.
1064         (CONST_COSTS): Move code ...
1065         * config/vax/vax.c (vax_rtx_costs_1): ... here; rename
1066         from vax_rtx_cost.
1067         (vax_rtx_costs, TARGET_RTX_COSTS): New.
1068
1069 2003-01-27  Richard Henderson  <rth@redhat.com>
1070
1071         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.  Really.
1072         * config/vax/vax-protos.h: Update.  Really.
1073
1074 2003-01-28  Alexandre Oliva  <aoliva@redhat.com>
1075
1076         * config/mips/mips.h (UNITS_PER_HWFPVALUE): Renamed from...
1077         (UNITS_PER_FPVALUE): Defined as the width of a long double, or
1078         zero if no hardware floating point.
1079         (LONG_DUBLE_TYPE_SIZE): Set to 128 on N32 and N64.
1080         (MAX_FIXED_MODE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE.
1081         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
1082         (BIGGEST_ALIGNMENT): Same as LONG_DOUBLE_TYPE_SIZE.
1083         (FUNCTION_VALUE_REGNO_P): Set for FP_RETURN+2 on N32 and N64.
1084         * config/mips/mips.c (mips_arg_info): Pass TFmode values in
1085         even FP registers on N32 and N64.
1086         (mips_setup_incoming_varargs): Use UNITS_PER_HWFPVALUE.
1087         (mips_va_start): Adjust alignment of ARG_POINTER_REGNUM.
1088         (mips_va_arg): Use UNITS_PER_HWFPVALUE.  Impose additional
1089         even-register-like alignment to 128-bit arguments.
1090         (save_restore_insns): Use UNITS_PER_HWFPVALUE.
1091         (mips_function_value): Likewise.  Return TFmode in $f0 and $f2
1092         on N32 or N64.
1093         * config/mips/_tilib.c (__negti2, __ashlti3, __lshrti3): New.
1094         * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Add _tilib.c.
1095         (TPBIT): Set to tp-bit.c.
1096         (tp-bit.c): Create out of fp-bit.c.
1097
1098 2003-01-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1099
1100         * c-parse.in: Remove '%expect 32' directive in objc mode.
1101
1102 2003-01-27  Nathan Sidwell  <nathan@codesourcery.com>
1103
1104         * Makefile.in (LIB2FUNCS_ST): Remove _gcov.
1105         (LIBGCOV): New variable.
1106         (libgcc.mk): Add LIBGCOV.
1107         (LIBGCC_DEPS): Add libgcov.c.
1108         (libgcov.a): New target.
1109         (clean): Remove libgcov.a.
1110         (install-libgcc): Do libgcov too.
1111         (stage1-start, stage2-start, stage3-start, stage4-start): Deal
1112         with libgcov.a.
1113         * libgcc2.c (L_gcov): Move into ...
1114         * libgcov.c: ... here. New file.
1115         * mklibgcc.in: Add libgcov rules.
1116         * gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling.
1117
1118         * doc/invoke.texi (profile-arcs, test-coverage): Update and
1119         clarify.
1120
1121         * profile.c (index_counts_file): Remove duplicate check for open file.
1122
1123 2003-01-27  Jerry Quinn  <jlquinn@optonline.net>
1124
1125         * gcc/doc/invoke.texi (Optimization Options): Group together
1126         optional and experimental flags.  Move trapv and bounds-check
1127         out of this section.  Group floating point flags together.
1128         (Code Gen Options): Move trapv and bounds-check to here.
1129
1130 2003-01-27  Josef Zlomek  <zlomekj@suse.cz>
1131
1132         * gcse.c (constprop_register): Check NEXT_INSN (insn) != NULL.
1133
1134 2003-01-27  Richard Earnshaw  <rearnsha@arm.com>
1135
1136         PR optimization/9090
1137         * function.c (purge_addressof_1): After pushing an addressed register
1138         onto the stack, simplify the result.
1139
1140 2003-01-27  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1141
1142         * doc/extend.texi: Fix typo.
1143
1144 2003-01-27  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1145
1146         * doc/cppopts.texi: Fix typo.
1147         * doc/objc.texi: Likewise.
1148         * doc/passes.texi: Likewise.
1149
1150 2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
1151
1152         * real.c (ibm_extended_format): Add 53 to minimum exponent.
1153         (encode_ibm_extended): Adjust.
1154
1155 2003-01-26  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
1156
1157         * timevar.def (TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION): New
1158         timevar_id enumerations.
1159
1160 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
1161
1162         * combine.c: Fix formatting.
1163
1164 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
1165
1166         * doc/gccint.texi: Update the copyright.
1167
1168 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
1169
1170         * doc/cpp.texi: Fix typos.
1171         * doc/extend.texi: Likewise.
1172         * doc/gty.texi: Likewise.
1173         * doc/install.texi: Likewise.
1174         * doc/passes.texi: Likewise.
1175         * doc/rtl.texi: Likewise.
1176         * doc/tm.texi: Likewise.
1177
1178 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
1179
1180         * config/ia64/fde-glibc.c: Fix comment typos.
1181         * config/ia64/hpux.h: Likewise.
1182         * config/ia64/ia64.c: Likewise.
1183         * config/ia64/ia64.h: Likewise.
1184         * config/ia64/unwind-ia64.c: Likewise.
1185
1186 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
1187
1188         * config/i386/i386-modes.def: Fix comment typos.
1189         * config/i386/i386.c: Likewise.
1190         * config/i386/i386.md: Likewise.
1191
1192 2003-01-26  Steven Bosscher  <s.bosscher@student.tudelft.nl>
1193
1194         * config/avr/avr.h, config/cris/aout.h, config/elfos.h,
1195         config/i386/freebsd-aout.h, config/mips/iris6.h: Undefine
1196         ASM_FINISH_DECLARE_OBJECT before defining it.
1197         * toplev.c (rest_of_decl_compilation):  Don't define
1198         ASM_FINISH_DECLARE_OBJECT.  Only use it if it is defined.
1199         (rest_of_type_compilation): Don't ATTRIBUTE_UNUSED function
1200         parameters for DWARF2 targets because they _are_ used.
1201
1202 2003-01-26  Alexandre Oliva  <aoliva@redhat.com>
1203
1204         * fp-bit.h: Define macros for TFmode floating-point constants
1205         in IBM-extended TFmode types.
1206         (TMODES): Define if __LDBL_MANT_DIG__ has the newly-supported
1207         widths.
1208         * config/fp-bit.c (pack_d, unpack_d): Support IBM-extended
1209         TFmode type.
1210
1211         * config/fp-bit.h: Define macros for TFmode floating-point
1212         constants in IEEE quad TFmode type.  Declare functions according
1213         to L_ macros.
1214         (TMODES): Define if __LDBL_MANT_DIG__ is 113.
1215         (TFtype, TItype, UTItype): Define if TMODES is defined.
1216         (MAX_UDI_INT, MAX_DI_INT, BITS_PER_DI): Likewise.
1217         (F_T_BITOFF, D_T_BITOFF): Define.
1218         (IMPLICIT_1, IMPLICIT_2): Cast constants to types that are
1219         guaranteed to be wide enough.
1220         * config/fp-bit.c: Check for L_ macros for tf functions.
1221         (__thenan_tf): New.
1222         (nan): Adjust.
1223         (pack_d, unpack_d): Support IEEE 854 quad type.
1224         (_fpmul_parts): Support TFmode.  Compute exponent adjustment
1225         from FRAC_NBITS, FRAC_BITS and NGARDS.
1226         (usi_to_float): Cast constants to be shifted to fractype
1227         instead of assuming long long is wide enough.
1228         (sf_to_tf, df_to_tf, __make_tp, tf_to_df, tf_to_sf): New.
1229
1230 2003-01-26  Andreas Jaeger  <aj@suse.de>
1231
1232         * df.c: Remove prototype of unused function df_regno_rtl_debug.
1233
1234 2003-01-26  Alexandre Oliva  <aoliva@redhat.com>
1235
1236         * Makefile.in (FPBIT_FUNCS): Added _sf_to_tf.
1237         (DBBIT_FUNCS): Added _df_to_tf.
1238         (TPBIT_FUNCS): New.
1239         (libgcc.mk): Pass TPBIT and TPBIT_FUNCS down.
1240         (LIBGCC_DEPS): Added TPBIT.
1241         * mklibgcc.in: Support TPBIT and TPBIT_FUNCS.
1242
1243         * optabs.c (expand_binop) <add, sub>: Return xtarget if we haven't
1244         been able to move the result to target.
1245
1246         * expr.c (emit_group_store): Initialize dst with CONST0_RTX
1247         for the appropriate mode.
1248
1249         * calls.c (emit_library_call_value_1): Handle return values
1250         in a PARALLEL.
1251
1252         * rtl.c (get_mode_alignment): Moved to...
1253         * stor-layout.c: ... here.
1254
1255         * print-rtl.c (print_rtx): Don't print MEM details in
1256         GENERATOR_FILEs.
1257
1258 2003-01-26  Michael Hayes  <mph@paradise.net.nz>
1259
1260         * df.h: Update comments, tidy formatting.
1261         (DF_FORWARD, DF_REVERSE, DF_UNION, DF_INTERSECTION): Rename from FORWARD,
1262         REVERSE, UNION, INTERSECTION.  All uses updated.
1263         (OLD_DF_INTERFACE): Remove.
1264         (struct insn_info): Remove commented out insn field.
1265         * df.c: Update comments, tidy formatting.
1266         (df_def_table_realloc): Remove.
1267
1268
1269 2003-01-26  Alan Modra  <amodra@bigpond.net.au>
1270
1271         * calls.c (save_fixed_argument_area): Tidy.
1272         (restore_fixed_argument_area): Tidy.  Set alignment of stack_area.
1273         (expand_call): Comment typo fixes.  Don't init low_to_save.  Start
1274         call chain loop at 1 if !try_tail_call.  Formatting.
1275         (emit_library_call_value_1): Don't init low_to_save or high_to_save.
1276         Use save_fixed_argument_area and restore_fixed_argument_area.
1277
1278 2003-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1279
1280         * df.c (df_uses_record): Handle CC0.
1281
1282 2003-01-25  Ulrich Weigand  <uweigand@de.ibm.com>
1283
1284         * reload.c (maybe_memory_address_p): New function.
1285         (find_reloads_address): Use it instead of memory_address_p.
1286
1287 2003-01-25  Kaz Kojima  <kkojima@gcc.gnu.org>
1288
1289         * final.c (shorten_branches): Align the address of code label
1290         when computing initial lengths and addresses.
1291
1292 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
1293
1294         * config/m68hc11/m68hc11.md: Fix a comment typo.
1295
1296 2003-01-25  Andreas Jaeger  <aj@suse.de>
1297
1298         * config/i386/i386.c (x86_output_mi_thunk): Correct test for
1299         TARGET_MACHO.
1300
1301 2003-01-25  Roger Sayle  <roger@eyesopen.com>
1302
1303         * gcse.c (bypass_last_basic_block): New global variable.
1304         (bypass_block):  Use redirect_edge_and_branch_force to redirect
1305         fall-through edges.  Use bypass_last_basic_block to determine
1306         which blocks have valid PRE information.
1307         (bypass_conditional_jumps): Initialize bypass_last_basic_block.
1308
1309 Sat Jan 25 22:31:59 CET 2003  Jan Hubicka  <jh@suse.cz>
1310
1311         * gcse.c (local_cprop_pass): Update reg_sets table when needed.
1312
1313 Sat Jan 25 21:04:33 CET 2003  Jan Hubicka  <jh@suse.cz>
1314                               Eric Botcazou <ebotcazou@libertysurf.fr>
1315         PR opt/8492
1316         * gcse.c (one_cprop_pass): Delete unreachable blocks.
1317
1318 2003-01-25  Richard Henderson  <rth@redhat.com>
1319
1320         * config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename
1321         from ia64_aix_select_rtx_section.
1322         (ia64_rwreloc_select_section): Simlarly; use default*_1 function
1323         instead of saving and restoring flag_pic.
1324         (ia64_rwreloc_unique_section): Similarly.
1325         * config/ia64/aix.h (TARGET_ASM_SELECT_SECTION,
1326         TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update.
1327         * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
1328         TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New.
1329
1330 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
1331
1332         * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a
1333         comment.
1334
1335 2002-01-25  Richard Henderson  <rth@redhat.com>
1336
1337         * config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing.
1338
1339 2002-01-25  Kelley Cook <kelleycook@comcast.net>
1340
1341         * ggc-simple.c (debug_ggc_tree): Add PTR cast.
1342
1343 2003-01-25  Segher Boessenkool  <segher@koffie.nl>
1344
1345         * bitmap.h (BITMAP_WORD): New typedef: fundamental storage
1346         type for bitmaps.  Use unsigned long.
1347         (nBITMAP_WORD_BITS): New macro.
1348         (BITMAP_WORD_BITS): New macro.
1349         (rest of file): Use it.
1350         * bitmap.c: Use it.
1351
1352 2003-01-25  Richard Henderson  <rth@redhat.com>
1353
1354         2002-02-19  Robert Lipe  <robertlipe@usa.net>
1355         * config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
1356
1357 2002-01-25  Roger Sayle  <roger@eyesopen.com>
1358
1359         * builtins.c (purge_builtin_constant_p): Scan insn stream
1360         sequentially rather than by basic block.
1361         * function.c (purge_addressof): Simplify test with INSN_P.
1362
1363 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
1364
1365         * combine.c (simplify_comparison, case AND): Remove a redundant test.
1366
1367 2002-01-25  Roger Sayle  <roger@eyesopen.com>
1368
1369         * function.h (struct function): New field calls_constant_p.
1370         (current_function_calls_constant_p): New macro for above.
1371         * function.c (prepare_function_start): Initialize calls_eh_return
1372         and calls_constant_p.
1373         * builtins.c (expand_builtin_constant_p): Set calls_constant_p.
1374         * toplev.c (rest_of_compilation): Only call purge_builtin_constant_p
1375         when the current_function_calls_constant_p.
1376         * integrate.c (expand_inline_function): Set calls_constant_p if
1377         the function being inlined has calls_constant_p set.
1378
1379 2002-01-25  Roger Sayle  <roger@eyesopen.com>
1380
1381         * cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not
1382         optimizing, even if flag_gcse is true.
1383         * toplev.c (rest_of_compilation): purge_builtin_constant_p
1384         only needs to be called when "optimize > 0 && flag_gcse".
1385
1386 2003-01-25  Roger Sayle  <roger@eyesopen.com>
1387
1388         * stmt.c (emit_case_bit_tests): New routine to implement suitable
1389         switch statements using the equivalent of "if ((1<<x) & cst) ... ".
1390         (case_bit_test_cmp): New comparison function for "qsort" to order
1391         case_bit_tests by decreasing number of destination nodes.
1392         (lshift_cheap_p): New function to determine if "1 << x" is cheap.
1393         (expand_end_case_type): Use emit_case_bit_tests to implement
1394         suitable switch statments.
1395         (CASE_USE_BIT_TESTS): New target macro to disable the above.
1396         * Makefile.in (stmt.o): Add dependency on optab.h.
1397         * doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
1398
1399 2003-01-23  Andreas Schwab  <schwab@suse.de>
1400
1401         * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
1402         __do_global_ctors_aux hidden global and don't put it in
1403         .init_array.
1404         * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
1405         instead so that it comes first.
1406
1407 Sat Jan 25 16:11:22 CET 2003  Jan Hubicka  <jh@suse.cz>
1408
1409         * df.c (read_modify_subreg_p):  When osize == UNITS_PER_WORD,
1410         subreg is read/modify.
1411
1412 Sat Jan 25 15:55:08 CET 2003  Jan Hubicka  <jh@suse.cz>
1413
1414         * i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
1415         do libcall for large blocks.
1416         * i386.md (comi patterns): Set type to ssecomi.
1417         (sse2_unpck?pd): Fix mode of vec_select.
1418
1419         * cse.c: Include except.h
1420         (cse_set_around_loop):  Do not create new basic blocks.
1421         * Makefile.in (cse.o): Add dependnecy on except.h
1422
1423 Sat Jan 25 12:05:17 CET 2003  Jan Hubicka  <jh@suse.cz>
1424
1425         * builtins.c (fold_trunc_transparent_mathfn): New function.
1426         (fold_builtin): Use it.
1427         * convert.c (convert_to_real): Re-enable code to convert
1428         math functions; add support for floor familly functions.
1429
1430 2003-01-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1431
1432         * Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
1433         dependencies on coretypes.h and $(TM_H).
1434
1435 Sat Jan 25 11:10:03 CET 2003  Jan Hubicka  <jh@suse.cz>
1436
1437         * builtins.c (fold_trunc_transparent_mathfn):  Undo accidental commit.
1438
1439 2002-01-24  Stuart Hastings  <stuart@apple.com>
1440
1441         * config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
1442
1443 2003-01-25  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1444
1445         * config/c4x/c4x.md (UNSPEC_BU): New constants.
1446         (UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
1447         (UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
1448         (UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
1449         (UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST):  Likewise.
1450         (UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP):  Likewise.
1451         (UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST):  Likewise.
1452         (UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE):  Likewise.
1453
1454 Fri Jan 24 23:44:12 CET 2003  Jan Hubicka  <jh@suse.cz>
1455
1456         * emit-rtl.c (reg_attrs_htab): New static variable.
1457         (reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
1458         functions.
1459         (reg_rtx): Do not maintain regno_decl.
1460         (gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
1461         set_mem_attrs_from_reg): New global function.
1462         (init_emit): Do not initialize regno_decl.
1463         (init_emit_once): initialize reg_attrs_htab.
1464         * final.c (alter_subreg): Do not replace REG by SUBREG.
1465         (gen_mem_expr_from_op): Improve output.
1466         (output_asm_operands): Likewise.
1467         * function.c (assign_params): Do not set REGNO_DECL.
1468         * function.h (struct function): Kill regno_decl.
1469         (REGNO_DECL): Kill.
1470         * gengtype.c (adjust_field_rtx_def): Handle new field of reg.
1471         * print_rtl.c (print_rtx): Output REG information.
1472         * regclass.c (reg_scan_mark_refs): Update attrs.
1473         * reload1.c (alter_reg): Likewise.
1474         * simplify_rtx.c (simplify_subreg): Likewise.
1475         * stmt.c (expand_decl): Likewise.
1476         * rtl.def (REG): Add new field.
1477         * rtl.h (struct reg_attrs): New.
1478         (rtunion_def): At rtreg.
1479         (X0MEMATTR): Add checking.
1480         (X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
1481         (set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
1482         Declare.
1483         * tree.h (SET_DECL_RTL): Call set_decl_rtl.
1484
1485 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
1486
1487         * config/xtensa/xtensa.c: Remove unused include of machmode.h.
1488         (xtensa_emit_call, print_operand): Fix printf format strings
1489         to avoid compile warnings.
1490         (xtensa_function_prologue, xtensa_function_epilogue): Change type
1491         of "size" argument to HOST_WIDE_INT to fix compile warnings.
1492         * config/xtensa/xtensa-protos.h
1493         (xtensa_function_prologue, xtensa_function_epilogue): Ditto.
1494
1495 Fri Jan 24 23:03:32 CET 2003  Jan Hubicka  <jh@suse.cz>
1496
1497         * builtins.c (DEF_BUILTIN): Accept 10 arguments.
1498         (implicit_built_in_decls): New global array.
1499         (mathfn_built_in): New global function.
1500         (fold_trunc_transparent_mathfn): New static function
1501         (expand_builtin_strstr, expand_bultin_strchr,
1502         expand_builtin_strpbrk, expand_builtin_strcpy,
1503         expand_builtin_strncpy, expand_bultin_strcmp,
1504         expand_bultin_strncat, expand_builtin_fputs): Use
1505         implicint_built_in_decls.
1506         (fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
1507         * builtins.def: Fix comments.
1508         (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
1509         DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
1510         DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
1511         DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
1512         (DEF_C99_C90RES_BULTIN): New.
1513         (*f, *l builtins): Update.
1514         * c-common.c (DEF_BUILTIN): Initialize implicit array.
1515         (c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
1516         * convert.c (strip_float_extensions): New global function.
1517         * tree.h (DEF_BUILTIN): Accept 10 arguments.
1518         (implicit_built_in_decls, mathfn_built_in, strip_float_extension):
1519         Declare.
1520         * java/builtins.c (define_builtin): Handle implicit.
1521         (DEF_BUILTIN): Update.
1522         * tm.texi (TARGET_C99_FUNCTIONS): Document.
1523         * defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
1524         * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
1525         when using glibc2.
1526
1527 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
1528
1529         * config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
1530         extra_parts, and fixincludes.  Add xtensa/t-elf tmake_file.
1531         (xtensa-*-linux*): Add xtensa/t-linux tmake_file.
1532         * config/xtensa/crti.asm: New file.
1533         * config/xtensa/crtn.asm: New file.
1534         * config/xtensa/t-elf: New file.
1535         * config/xtensa/t-linux: New file.
1536         * config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
1537         Move various CFLAGS settings to new t-elf file.
1538
1539 2003-01-24  Richard Henderson  <rth@redhat.com>
1540
1541         PR optimization/4382
1542         * tree-inline.c (find_builtin_longjmp_call_1): New.
1543         (find_builtin_longjmp_call): New.
1544         (inlinable_function_p): Use it.
1545
1546 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1547
1548         * config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
1549         * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
1550         * config/i386/i386.c (function_arg_pass_by_reference): New.
1551         (ix86_va_arg): Support arguments passed by reference.
1552
1553 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1554
1555         * cfgloopanal.c: New file.
1556         * cfgloopmanip.c: New file.
1557         * Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
1558         (toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
1559         cfglayout.o): Add dependency on cfgloop.h.
1560         (cfgloop.o): Add flags.h dependency.
1561         * basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
1562         (VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
1563         (struct loop, struct loops, flow_loops_find, flow_loops_update,
1564         flow_loops_free, flow_loops_dump, flow_loop_dump,
1565         flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
1566         LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
1567         LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
1568         flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
1569         loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
1570         find_common_loop, verify_loop_structure): Declarations moved to ...
1571         * cfgloop.h: New file.
1572         * bb-reorder.c (reorder_basic_blocks): Modified.
1573         * cfglayout.c: Include cfgloop.h.
1574         (cleanup_unconditional_jumps, cfg_layout_redirect_edge,
1575         cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
1576         (break_superblocks): New static function.
1577         (cfg_layout_finalize): Use it.
1578         (cfg_layout_split_block): New function.
1579         * cfglayout.h (struct reorder_block_def): Add copy and duplicated
1580         fields.
1581         (cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
1582         changed.
1583         (cfg_layout_split_block): Declare.
1584         * cfgloop.c: Include cfgloop.h and flags.h.
1585         (flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
1586         get_loop_body): Avoid signed versus unsigned comparison warnings.
1587         (make_forwarder_block, flow_loops_find, loop_preheader_edge,
1588         loop_latch_edge): Modified.
1589         (verify_loop_structure): Modified to use flags stored in loop structure;
1590         check irreducible loops.
1591         (cancel_loop, cancel_loop_tree): New functions.
1592         (estimate_probability): Use loop analysis code for predictions.
1593         (estimate_loops_at_level):  Avoid signed versus unsigned comparison
1594         warnings.
1595         * doloop.c: Include cfgloop.h.
1596         * loop.c: Include cfgloop.h.
1597         * predict.c: Include cfgloop.h.
1598         * toplev.c: Include cfgloop.h.
1599         * unroll.c: Include cfgloop.h.
1600         * tracer.c (tracer): Modified.
1601
1602 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
1603
1604         * config/h8300/h8300.c (get_shift_alg): Fix a typo.
1605
1606 2003-01-24  Ulrich Weigand  <uweigand@de.ibm.com>
1607
1608         * configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
1609         * configure: Regenerate.
1610
1611         * config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
1612         (tls_symbolic_reference_mentioned_p): Add prototype.
1613         (s390_tls_get_offset): Add prototype.
1614         (emit_pic_move): Remove prototype, replace by ...
1615         (emit_symbolic_move): .. this new prototype.
1616
1617         * config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
1618         (tls_model_chars): New global variable.
1619         (s390_encode_section_info): Encode TLS model.
1620         Use targetm.binds_local_p to check for local symbols.
1621         (s390_strip_name_encoding): New function.
1622         (TARGET_STRIP_NAME_ENCODING): Define.
1623
1624         (get_thread_pointer): New function.
1625         (legitimize_tls_address): New function.
1626         (legitimize_address): Call it.
1627         (emit_pic_move): Remove, replace by ...
1628         (emit_symbolic_move): ... this new function.
1629
1630         (larl_operand): Handle TLS operands.
1631         (legitimate_constant_p): Likewise.
1632         (s390_decompose_address): Likewise.
1633         (s390_cannot_force_const_mem): New function.
1634         (TARGET_CANNOT_FORCE_CONST_MEM): Define.
1635
1636         (s390_output_symbolic_const): Handle TLS unspecs.
1637         (print_operand): New code 'J'.
1638         (machine_function): Add struct member 'some_ld_name'.
1639         (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
1640
1641         (enum s390_builtin): New type.
1642         (code_for_builtin_64, code_for_builtin_31): New global variables.
1643         (s390_init_builtins, s390_expand_builtin): New functions.
1644         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
1645
1646         * config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
1647         (ASM_OUTPUT_LABELREF): Define.
1648         (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
1649
1650         * config/s390/s390.md: Define TLS UNSPEC constants.
1651         ("movdi", "movsi"): Handle TLS operands.
1652         ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
1653         ("*tls_load_64", "*tls_load_31"): New insns.
1654         ("call_value_tls", "call_value_tls_exp"): New expanders.
1655         ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
1656         "bas_tls_64", "bas_tls_31"): New insns.
1657
1658 2003-01-24  Nathan Sidwell  <nathan@codesourcery.com>
1659
1660         * config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
1661         spe ABI is configured, if requested.
1662
1663 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1664
1665         * doc/passes.texi: Fix typo.
1666
1667 2003-01-24  Andreas Schwab  <schwab@suse.de>
1668
1669         * stor-layout.c (excess_unit_span): Only define if used.
1670
1671 2003-01-24  Jerry Quinn  <jlquinn@optonline.net>
1672
1673         * gcc/doc/invoke.texi (Optimization Options): List -O levels
1674         for each optimization flag.
1675
1676 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
1677
1678         * config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
1679
1680 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1681
1682         * doc/bugreport.texi: Use @command instead of @code for commands.
1683         * doc/collect2.texi: Likewise.
1684         * doc/headerdirs.texi: Likewise.
1685         * doc/invoke.texi: Likewise.
1686         * doc/standards.texi: Likewise.
1687         * doc/tm.texi: Likewise.
1688         * doc/trouble.texi: Likewise.
1689
1690 2003-01-24  Nick Clifton  <nickc@redhat.com>
1691
1692         * config/arm/arm.c (use_return_insn): Do not use a single return
1693         instruction for interrupt handelrs which have to create a stack
1694         frame.
1695         (arm_expand_prologue): Do not pre-bias the return address of
1696         interrupt handlers which create a stack frame.
1697
1698 2003-01-24  Nick Clifton  <nickc@redhat.com>
1699
1700         * Add sh2e support:
1701
1702         2002-08-12  Alexandre Oliva  <aoliva@redhat.com>
1703
1704                 * config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
1705                 med_cbranches.  Fix logic in short_cbranches.
1706
1707         2002-04-03  Alexandre Oliva  <aoliva@redhat.com>
1708
1709                 * config/sh/sh.md (delay for cbranch): Don't annul delay
1710                 slots on SH2e.
1711                 * config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
1712                 cbranch with unfilled delay slot on SH2e.
1713                 (output_branch): Fill with a nop the delay slot of a
1714                 branch that required a delay slot but didn't get one.
1715
1716         2002-04-02  Alexandre Oliva  <aoliva@redhat.com>
1717
1718                 * doc/invoke.texi (SH options): Document -m2e.
1719                 * config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
1720                 * config/sh/lib1funcs.asm: Likewise.
1721                 * config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
1722                 * config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
1723                 not __sh1__.
1724                 (CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
1725                 SH2E up.
1726                 (SH3E_BIT): Renamed to...
1727                 (SH_E_BIT): ... this.  Replace all uses.
1728                 (TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
1729                 Replace all uses of TARGET_SH3E with TARGET_SH2E.
1730                 (TARGET_SWITCHES): Added 2e.
1731                 (OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
1732                 (processor_type): Added PROCESSOR_SH2E.
1733                 * config/sh/sh.md: Replace all uses of TARGET_SH3E with
1734                 TARGET_SH2E, except in sqrtsf2_i.
1735                 (attribute cpu): Added sh2e.
1736                 * config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
1737                 (MULTILIB_MATCHES): Use m2e multilib for m3e.
1738                 * config.gcc: Add sh2e target support.
1739
1740 2003-01-24  Phil Edwards  <pme@gcc.gnu.org>
1741
1742         Rename -W to -Wextra.
1743         * c-decl.c:  Update comments.
1744         * c-typeck.c:  Likewise.
1745         * flags.h:  Likewise.
1746         * function.c:  Likewise.
1747         * stmt.c:  Likewise.
1748         * toplev.c:  Update comments.
1749         (W_options):  Add 'extra'.
1750         (display_help):  Remove '-W'.
1751         (decode_W_option):  Special warn_uninitialized treatment in the case
1752         of -Wextra.
1753         * doc/invoke.texi:  Update with new entries.
1754
1755 2003-01-23  Richard Henderson  <rth@redhat.com>
1756
1757         * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
1758         in no-else-block case.  Add commentary.
1759
1760 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1761
1762         * configure.in: Revert last change.
1763
1764 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1765
1766         * configure.in: Don't include ansidecl.h in tconfig.h.
1767         * gcov-io.h (PARAMS, ATTRIBUTE_UNUSED: Define if IN_LIBGCC2.
1768         * unwind-dw2-fde.h (last_fde): Use __attribute__, not
1769         ATTRIBUTE_UNUSED.
1770
1771         * configure: Regenerate.
1772
1773 2003-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1774
1775         PR java/6748
1776         * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
1777         regs->nip. Fix rt_sigreturn frame layout. Add support for newer
1778         kernels.
1779
1780 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1781
1782         * cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
1783
1784 2003-01-23  Ulrich Weigand  <uweigand@de.ibm.com>
1785
1786         * genattrtab.c (write_attr_get): Mark 'insn' paramter
1787         as ATTRIBUTE_UNUSED.
1788
1789 2003-01-23  Richard Earnshaw  <rearnsha@arm.com>
1790
1791         * arm.c (thumb_base_register_rtx_p): New function.
1792         (thumb_index_register_rtx_p): New function.
1793         (thumb_legitimate_address_p): New function.
1794         (thumb_legitimate_offset_p): New function.
1795         * arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
1796         (ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
1797         definitions.
1798         (THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
1799         (THUMB_LEGITIMATE_OFFSET): Delte.
1800         (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
1801         * arm-protos.h (thumb_legitimate_address_p): Add prototype.
1802         (thumb_legitimate_offset_p): Likewise.
1803
1804 2003-01-23  Andreas Schwab  <schwab@suse.de>
1805
1806         * unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
1807
1808 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1809
1810         * fixinc/Makefile.in (FL_LIST): Revert last change.
1811
1812 2003-01-23  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1813
1814         PR other/7341
1815         * invoke.texi (ftest-coverage): Fix broken cross-reference.
1816         Change @code to @command for gcov command.
1817
1818         * gcc.texi: Adjust title of gcov section.
1819         Adjust copyright.
1820         * gcov.texi: Likewise.
1821
1822 2003-01-22  Roger Sayle  <roger@eyesopen.com>
1823
1824         PR optimization/8423
1825         * cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
1826         its argument is constant, or 0 if !flag_gcse.
1827         * simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
1828         if it's argument is constant.
1829         * gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
1830         (hash_scan_set): Don't record CONSTANT_P_RTX expressions.
1831         (do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
1832         * builtins.c (purge_builtin_constant_p): New function to force
1833         instantiation of any remaining CONSTANT_P_RTX nodes.
1834         * rtl.h (purge_builtin_constant_p): Prototype here.
1835         * toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
1836         pass after GCSE and before loop.
1837         (flag_gcse): No longer static.
1838         * flags.h (flag_gcse): Prototype here.
1839
1840 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
1841
1842         * config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
1843         introduced by last change.
1844
1845 2003-01-22  Andreas Schwab  <schwab@suse.de>
1846
1847         * ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
1848
1849 2003-01-22  Kazu Hirata  <kazu@cs.umass.edu>
1850
1851         * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
1852         request a scratch reg on H8S when the shift count is 8.
1853
1854 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
1855
1856         * config/s390/s390-protos.h (preferred_la_operand_p):
1857         Remove second parameter.
1858         * config/s390/s390.c (preferred_la_operand_p): Likewise.
1859         * config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
1860         (HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
1861         * config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
1862         Add peepholes to transform ADD to LOAD ADDRESS.
1863
1864 2003-01-22  Richard Earnshaw  <rearnsha@arm.com>
1865
1866         * arm.c (arm_address_register_rtx_p): New function.
1867         (arm_legitimate_address_p): New function.
1868         (arm_legitimate_index_p): New function.
1869         (legitimize_pic_address): Use arm_legitimate_index_p.
1870         * arm-protos.h (arm_legtimate_address_p): Add prototype.
1871         * arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
1872         (ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
1873
1874 2003-01-22  Hartmut Penner  <hpenner@de.ibm.com>
1875
1876         * config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
1877         * config/s390/2064.md (define_bypass): Correct 'Load' and
1878         'Load-address' bypass values.
1879
1880 2003-01-22  Andreas Schwab  <schwab@suse.de>
1881
1882         * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
1883
1884 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
1885
1886         * genautomata.c (output_internal_insn_latency_func,
1887         output_print_reservation_func): Short circuit when there is no
1888         automaton to generate code for.
1889
1890 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1891
1892         * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
1893         (df.o): Delete duplicate dependency on coretypes.h $(TM_H).
1894
1895 2003-01-21  Geoffrey Keating  <geoffk@apple.com>
1896
1897         * config/rs6000/rs6000.md: Remove warning.
1898         (builtin_setjmp_receiver): Likewise.
1899         * config/darwin.c (update_stubs): Slightly improve terrible hack
1900         with identifiers.  Add comment pointing out problems with it.
1901         (update_non_lazy_ptrs): Likewise.
1902
1903 2003-01-21  Richard Henderson  <rth@redhat.com>
1904
1905         * dwarf2out.c (lookup_filename): Fix printf format warning.
1906         * system.h (fread_unlocked, fwrite_unlocked): Undef.
1907
1908         * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
1909         (fixincl.o-warn, gnu-regex.o-warn): New.
1910         * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
1911         * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
1912         * fixinc/fixincl.c (process): Fix printf format warning.
1913
1914 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
1915
1916         * dwarf2out (output_file_names): Don't crash if called
1917         with empty file_table.
1918
1919 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
1920
1921         * genautomata.c (output_internal_insn_latency_func): Add
1922         missing break statement to generated code.
1923
1924 2003-01-21  Roger Sayle  <roger@eyesopen.com>
1925
1926         * stmt.c (same_case_target_p): New function to determine whether
1927         two case labels branch to the same target.  Split out from...
1928         (group_case_nodes): ... here.  Use same_case_target_p instead.
1929         (strip_default_case_nodes): Remove explicit case nodes
1930         that branch to the default destination.
1931         (expand_end_case_type): Call strip_default_case_nodes after
1932         group_case_nodes, to simplify the case-list before we count it.
1933         Only generate table_label RTX when actually needed.  Try to share
1934         thiscase->exit_label and thiscase->data.case_stmt.default_label
1935         when a switch has no explicit default case.  Simplify test for
1936         constant index.
1937
1938 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
1939
1940         * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
1941         \t.
1942         (*negsf2_h8300hs): Likewise.
1943         (*addsi3_lshiftrt_16_zexthi): Likewise.
1944         (*iorhi3_lshiftrt_8): Likewise.
1945
1946 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
1947
1948         * dwarf2out.c (fde_table_in_use): Mark GTY.
1949         (dwarf2out_cfi_label_num): New variable, marked GTY.
1950         (dwarf2out_cfi_label): Use it instead of static label_num.
1951         * emit-rtl.c (label_num): Mark GTY.
1952
1953 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
1954
1955         * config/h8300/h8300.c (output_plussi): Support H8/300.
1956         (compute_plussi_length): Likewise.
1957         (compute_plussi_cc): Likewise.
1958         * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
1959         output assembly instructions.
1960
1961 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1962
1963         * calls.c (fix_unsafe_tree): Prototype.
1964
1965         * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
1966         (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
1967         insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
1968         c-parse.o-warn): Add -Wno-error.
1969         (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
1970
1971         * configure.in (--enable-werror): Add new flag.
1972         * doc/install.texi (--enable-werror): Document.
1973         * configure: Regenerate.
1974
1975         * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
1976
1977 2003-01-21  Andreas Schwab  <schwab@suse.de>
1978
1979         * genautomata.c (output_internal_insn_latency_func): Fix missing
1980         close paren in output.
1981
1982 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
1983
1984         * genautomata.c: Space savings in generated code:
1985         (output_dfa_insn_code_func): Split out the table-enlargement
1986         path to an out-of-line static function, dfa_insn_code_enlarge.
1987         (output_internal_insn_latency_func): Use a lookup table for the
1988         default latencies.
1989         (output_print_reservation_func): Use a lookup table for the
1990         strings.
1991
1992 2003-01-21  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
1993
1994         PR opt/7507
1995         * calls.c (fix_unsafe_tree): Split out from ...
1996         (expand_call): ... here.  Use it on the function address too.
1997
1998 2003-01-20  Richard Henderson  <rth@redhat.com>
1999
2000         * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
2001
2002 2003-01-20  Richard Henderson  <rth@redhat.com>
2003
2004         PR opt/7154
2005         * stmt.c (expand_asm_operands): Validize memory operands.
2006
2007 2003-01-20  Richard Henderson  <rth@redhat.com>
2008
2009         PR opt/8848
2010         * ifcvt.c (noce_process_if_block): Correct arguments to
2011         modified_between_p for no-else-block case.
2012
2013 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
2014
2015         * config/h8300/h8300.c (const_costs): Remove a warning.
2016         (output_plussi): Likewise.
2017         (compute_plussi_length): Likewise.
2018         (compute_plussi_cc): Likewise.
2019
2020 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
2021
2022         * config/h8300/h8300.md (addsi_h8300): Remove the last
2023         alternative.
2024
2025 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
2026
2027         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
2028
2029 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2030
2031         * system.h (__NO_STRING_INLINES): Define.
2032
2033 2003-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2034
2035         * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
2036         is not a scalar int mode.
2037
2038 2003-01-20  Roger Sayle  <roger@eyesopen.com>
2039
2040         * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
2041         insn's notes following a substitution inside a libcall.
2042
2043 2003-01-20  Zack Weinberg  <zack@codesourcery.com>
2044
2045         * configure.in: Check for system-provided 'uchar' type.
2046         * configure, config.in: Regenerate.
2047         * cpphash.h: Only typedef 'uchar' if the system doesn't.
2048
2049 2003-01-20  Richard Henderson  <rth@redhat.com>
2050
2051         * expr.h (MUST_PASS_IN_STACK): Move implementation...
2052         * calls.c (default_must_pass_in_stack): ... here.
2053
2054 2003-01-20  Vladimir Makarov  <vmakarov@redhat.com>
2055
2056         * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
2057
2058         * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
2059
2060         * genattr.c (main): Output default definition of AUTOMATON_ALTS.
2061         Wrap up definition of `insn_alts'.
2062
2063         * genattrtab.c (main): Wrap up `insn_alts'.
2064
2065 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2066
2067         * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
2068         prototyping.
2069         * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
2070
2071         * config.in, configure: Regenerate.
2072
2073 2003-01-20  Nick Clifton  <nickc@redhat.com>
2074
2075         * config/arm/arm.md (sibcall_epilogue): Add an
2076         UNSPEC_PROLOGUE_USE to prevent the link register from being
2077         considered dead.
2078
2079 Mon Jan 20 14:36:23 CET 2003  Jan Hubicka  <jh@suse.cz>
2080
2081         * i386.md (SSE cmov splitter):  Handle memory operand in operand 5.
2082
2083 2003-01-20  Andreas Schwab  <schwab@suse.de>
2084
2085         * system.h: Don't declare strsignal if the decl test hasn't been
2086         run yet.
2087
2088 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
2089
2090         * config/h8300/h8300.c (notice_update_cc): Don't assume that
2091         recog_data.operands[0] is always associated with cc0.
2092
2093 2003-01-19  David Edelsohn  <edelsohn@gnu.org>
2094
2095         * collect2.c (ldgetname): Expand declaration to prototype.
2096         * read-rtl.c (atoll): Add prototype.
2097         * system.h (strsignal): Also declare if no declaration found.
2098
2099 2003-01-19  Alexandre Oliva  <aoliva@redhat.com>
2100
2101         * config.gcc (mips64*-*-linux*): Added.
2102         * config/mips/linux64.h, config/mips/t-linux64: New file.
2103         * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
2104         * config/mips/mips.c (override_options): Use it.
2105         * config/mips/mips.h (TARGET_SWITCHES): Added...
2106         (SUBTARGET_TARGET_SWITCHES): New, empty by default.
2107         * Makefile.in (SPECS): New.
2108         (STAGESTUFF, specs, mostlyclean, install-common): Use it.
2109         * gcc.c (process_command): Move self-spec processing past spec
2110         file loading.
2111         * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
2112         * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
2113         CRTSTUFF_T_CFLAGS.
2114         (SPECS): Document.
2115         * doc/invoke.texi (-mabi-fake-default): Document.
2116
2117 2003-01-19  Stephane Carrez  <stcarrez@nerim.fr>
2118
2119         * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
2120         z_reg, z_reg_qi): Declare static and GTY().
2121         (da_reg): Remove.
2122         (create_regs_rtx): Don't create da_reg.
2123         ("gt-m68hc11.h"): Include for GTY roots.
2124         * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
2125         and GTY() here.
2126         (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
2127         (m68hc11_soft_tmp_reg): Likewise.
2128         * config/m68hc11/m68hc11-protos.h: Remove above declarations.
2129
2130 2003-01-18  Kazu Hirata  <kazu@cs.umass.edu>
2131
2132         * basic-block.h: Fix comment formatting.
2133         * calls.c: Likewise.
2134         * combine.c: Likewise.
2135         * convert.c: Likewise.
2136         * gcov.c: Likewise.
2137         * haifa-sched.c: Likewise.
2138         * libgcc2.c: Likewise.
2139         * loop.c: Likewise.
2140         * profile.c: Likewise.
2141         * system.h: Likewise.
2142
2143 2003-01-18  Roger Sayle  <roger@eyesopen.com>
2144
2145         * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
2146
2147 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2148
2149         * ra-build.c (undef_to_size_word): Avoid `switch' warning.
2150
2151 2003-01-17  Dale Johannesen  <dalej@apple.com>
2152
2153         * config/rs6000/rs6000.md (*floatsidf2_internal):  Add earlyclobbers.
2154           (*floatunssidf2_internal):  Ditto.
2155
2156 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
2157
2158         * alias.c: Fix comment typos.
2159         * basic-block.h: Likewise.
2160         * c-common.c: Likewise.
2161         * c-common.h: Likewise.
2162         * c-decl.c: Likewise.
2163         * c-opts.c: Likewise.
2164         * c-pragma.c: Likewise.
2165         * c-pretty-print.h: Likewise.
2166         * cfg.c: Likewise.
2167         * cfganal.c: Likewise.
2168         * cfgbuild.c: Likewise.
2169         * cfgcleanup.c: Likewise.
2170         * cfglayout.c: Likewise.
2171         * cfgrtl.c: Likewise.
2172         * convert.c: Likewise.
2173         * cpphash.h: Likewise.
2174         * cpplex.c: Likewise.
2175         * cpplib.h: Likewise.
2176         * df.h: Likewise.
2177         * diagnostic.c: Likewise.
2178         * diagnostic.h: Likewise.
2179         * dwarf2.h: Likewise.
2180
2181 2003-01-17  Stan Shebs  <shebs@apple.com>
2182
2183         * config/darwin-protos.h: Forward-declare struct cpp_reader.
2184
2185 2003-01-17  Douglas B Rupp  <rupp@gnat.com>
2186
2187         * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
2188         mistake in last checkin.
2189
2190 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
2191
2192         * et-forest.c: Fix comment typos.
2193         * et-forest.h: Likewise.
2194         * except.c: Likewise.
2195         * expr.c: Likewise.
2196         * flags.h: Likewise.
2197         * flow.c: Likewise.
2198         * gcc.c: Likewise.
2199         * gcse.c: Likewise.
2200         * genattrtab.c: Likewise.
2201         * genautomata.c: Likewise.
2202         * gengtype.c: Likewise.
2203         * genrecog.c: Likewise.
2204         * global.c: Likewise.
2205         * gthr-rtems.h: Likewise.
2206
2207 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2208
2209         * i386.c (x86_function_profiler): Fix format specifier.
2210
2211 2003-01-17  Richard Henderson  <rth@redhat.com>
2212
2213         * gengtype.c (walk_type): Allow paramN_is.
2214
2215 2003-01-17  Nick Clifton  <nickc@redhat.com>
2216
2217         * config/i960/t-960bare (i960-c.o): Add missing newline escape.
2218
2219 2003-01-16  Richard Henderson  <rth@redhat.com>
2220
2221         * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
2222
2223 2003-01-16  Richard Henderson  <rth@redhat.com>
2224
2225         * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
2226         (alpha_next_sequence_number): Likewise.
2227         (alpha_this_literal_sequence_number): Likewise.
2228         (alpha_this_gpdisp_sequence_number): Likewise.
2229         (struct alpha_funcs, alpha_funcs_num): Likewise.
2230         (struct alpha_links): Fix branch merge error.
2231         (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
2232
2233 2003-01-17  Alexandre Oliva  <aoliva@redhat.com>
2234
2235         * config/mips/mips.h: Don't use #elif.  Reported by Kaveh
2236         R. Ghazi.
2237
2238 2003-01-16  Kazu Hirata  <kazu@cs.umass.edu>
2239
2240         * ifcvt.c: Fix comment typos.
2241         * lcm.c: Likewise.
2242         * libgcc2.c: Likewise.
2243         * local-alloc.c: Likewise.
2244         * loop.c: Likewise.
2245         * predict.c: Likewise.
2246         * ra-build.c: Likewise.
2247         * ra.c: Likewise.
2248         * ra-colorize.c: Likewise.
2249         * ra.h: Likewise.
2250         * ra-rewrite.c: Likewise.
2251         * regmove.c: Likewise.
2252         * reload.h: Likewise.
2253         * rtlanal.c: Likewise.
2254         * toplev.c: Likewise.
2255         * tree.h: Likewise.
2256         * unwind-dw2-fde-glibc.c: Likewise.
2257         * vmsdbgout.c: Likewise.
2258
2259 2003-01-16  Richard Henderson  <rth@redhat.com>
2260
2261         * dwarf2out.c (struct file_table): Remove.
2262         (FILE_TABLE_INCREMENT): Remove.
2263         (file_table): Make a varray; mark for GC.  Update all users.
2264         (file_table_last_lookup_index): Extract from struct file_table.
2265         (output_file_names): Fix unsigned compare warnings.
2266         (add_name_attribute): Remove inline marker.
2267         (add_comp_dir_attribute): Split out from gen_compile_unit_die.
2268         (lookup_filename): Don't manage size of file_table.
2269         (init_file_table): Allocate file_table with GC.
2270         (dwarf2out_init): Don't record main_input_filename here.
2271         (dwarf2out_finish): Do it here instead.
2272
2273 2003-01-16  Bruce Korb  <bkorb@gnu.org>
2274
2275         * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
2276
2277 2003-01-16  Kaz Kojima  <kkojima@gcc.gnu.org>
2278
2279         * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
2280         instead of rotldi3_mextr.
2281
2282 2003-01-16  Vladimir Makarov  <vmakarov@redhat.com>
2283
2284         * haifa-sched.c (move_insn): Restore moving all schedule group.
2285         (set_priorities): Restore taking SCHED_GROUP_P into account.
2286
2287         * sched-deps.c (add_dependence): Restore processing the last group
2288         insn.
2289         (remove_dependence, group_leader): Restore the functions.
2290         (set_sched_group_p): Restore adding dependencies from previous insn
2291         in the group.
2292         (compute_forward_dependences): Restore usage of group_leader.
2293
2294         * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
2295         account.
2296
2297         * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
2298         account.
2299         (can_schedule_ready_p): Ditto.
2300         (add_branch_dependences): Restore skipping over the group insns.
2301
2302 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
2303
2304         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
2305         68HC12 pre/post inc/dec side effects.
2306
2307 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
2308
2309         * config/m68hc11/m68hc11.h (MASK_M6812): Define.
2310
2311 Thu Jan 16 21:50:25 2003  J"orn Rennecke <amylaar@onetel.net.uk>
2312
2313         * sh.md (mshflo_w_x): Fix description of operation.
2314
2315 2003-01-16  Zack Weinberg  <zack@codesourcery.com>
2316
2317         * config/rs6000/rs6000.h: Mention Altivec registers in
2318         commentary.  Fix typo.
2319
2320 2003-01-16  David Edelsohn  <edelsohn@gnu.org>
2321
2322         * config/rs6000/rs6000.md (movti_string): Remove clobber.
2323         * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
2324         generate PARALLEL with clobber for TARGET_POWER.
2325
2326 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2327
2328         * ra-colorize.c (colorize_one_web): Initialize variable.
2329         * regmove.c (fixup_match_1): Likewise.
2330         * reload1.c (reload_as_needed): Likewise.
2331         * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
2332
2333 2003-01-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2334
2335         * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
2336
2337 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2338
2339         * dbxout.c (lastfile, cwd): Fix `unused' warning.
2340         * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
2341         dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
2342         is_main_source, file_table, decl_die_table_in_use,
2343         abbrev_die_table_in_use, line_info_table_in_use,
2344         separate_line_info_table_in_use, pubname_table_in_use,
2345         arange_table_in_use, ranges_table_in_use,
2346         current_function_has_inlines): Likewise.
2347         * flow.c (life_analysis): Likewise.
2348         * genemit.c (gen_insn): Likewise.
2349         * protoize.c (cplus_suffix): Likewise.
2350
2351         * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
2352         * arm.h (ROUND_UP_WORD): Likewise.
2353
2354         * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
2355         warning.
2356         * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
2357         init_emit_once): Likewise.
2358         * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
2359         Likewise.
2360         * function.c (assign_stack_temp_for_type): Likewise.
2361         * loop.c (loop_invariant_p): Likewise.
2362         * recog.c (push_operand): Likewise.
2363         * regclass.c (init_reg_sets_1): Likewise.
2364         * reload.c (update_auto_inc_notes): Likewise.
2365         * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
2366         * stmt.c (expand_asm_operands): Likewise.
2367         * stor-layout.c (start_record_layout): Likewise.
2368
2369 2003-01-16  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
2370
2371         * config/c4x/c4x.md (epilogue): Correct last patch.
2372
2373 2003-01-15  Richard Henderson  <rth@redhat.com>
2374
2375         * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
2376         also check that GP is being used.
2377         (alpha_find_lo_sum_using_gp): New.
2378         (alpha_does_function_need_gp): Use get_attr_usegp.
2379         * config/alpha/alpha-protos.h: Update.
2380         * config/alpha/alpha.md (attr usegp): New.  Annotate patterns
2381         as needed.
2382
2383 2003-01-15  Roger Sayle  <roger@eyesopen.com>
2384
2385         * gcse.c (one_cprop_pass): Change function arguments to take both
2386         cprop_jumps and bypass_jumps flags instead of just alter_jumps.
2387         (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
2388         (bypass_jumps): New function to perform separate jump bypassing pass.
2389         * rtl.h (bypass_jumps): Add function prototype.
2390         * timevar.def (TV_BYPASS): New timing variable.
2391         * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
2392         (dump_file): New entry for the bypass RTL dump file.
2393         (rest_of_compilation): Insert new jump bypassing optimization
2394         pass after loop.
2395         * doc/passes.texi: Document new pass.
2396
2397 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2398
2399         * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
2400         ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
2401         * pa.h (TARGET_SOM_SDEF): Define.
2402         * pa-hpux11.h (TARGET_SOM_SDEF): Define.
2403
2404 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
2405
2406         * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
2407         allocate 4-bytes of locals on 68HC11.
2408         (expand_epilogue): Likewise.
2409         (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
2410
2411 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
2412
2413         * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
2414         and -mshort-double to the assembler to specify the ABI.
2415         (LINK_SPEC): Likewise.
2416         (CPP_SPEC): Pass HCS12 specific define.
2417         (MASK_M68S12): New define.
2418         (TARGET_M68S12): Likewise.
2419         (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
2420         (TARGET_VERSION): Update.
2421         * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
2422         (LINK_SPEC): Update.
2423         (ASM_SPEC): Update.
2424         * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
2425         * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
2426
2427 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
2428
2429         * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
2430         the return code.
2431
2432 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
2433
2434         * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
2435         flag before setting it.
2436
2437 2003-01-15  Roger Sayle  <roger@eyesopen.com>
2438
2439         * c-semantics.c (genrtl_while_stmt):  Improve initial RTL generation
2440         when loop condition is known true, i.e.  "while (1) { ... }".
2441         (genrtl_for_stmt): Similarly for "for" statements.
2442
2443 2003-01-15  Roger Sayle  <roger@eyesopen.com>
2444
2445         * real.c (real_sqrt): Return a bool result indicating whether
2446         a floating point exception or trap should be raised.
2447         * real.h (real_sqrt): Update function prototype.
2448         * builtins.c (fold_builtin): Only fold non-trapping square
2449         roots unless we're ignoring errno and trapping math.
2450
2451 2003-01-15  John David Anglin  <dave.anglin@nrc.gc.ca>
2452
2453         * expr.h (emit_conditional_add): Add PARAMS to declaration.
2454         * gengtype-lex.l (malloc, realloc): Move defines after include of
2455         system.h.  Remove duplicate include of system.h.
2456
2457 2003-01-15  Roger Sayle  <roger@eyesopen.com>
2458
2459         PR middle-end/9009
2460         * optabs.c (expand_unop):  When manipulating the FP sign bit
2461         using integer operations, account for targets with different
2462         integer and FP word orders.
2463         (expand_abs): Likewise.
2464
2465 2003-01-15  David Edelsohn  <edelsohn@gnu.org>
2466
2467         * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
2468         file extension in section name.
2469
2470 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
2471
2472         * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
2473         constant offset.
2474
2475 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
2476
2477         * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
2478         (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
2479         (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
2480         (ARM_PRINT_OPERAND_ADDRESS): Likewise.
2481
2482 Wed Jan 15 12:23:21 CET 2003  Jan Hubicka  <jh@suse.cz>
2483
2484         PR f/9258
2485         * global.c (struct allocno): Add no_stack_reg.
2486         (global_conflicts): Set no_stack_reg.
2487         (find_reg): Use it.
2488
2489         * convert.c (convert_to_real): Fold - and abs only when profitable.
2490         * fold-const.c (fold): Fold truncates in - and abs.
2491
2492 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
2493
2494         Segher Boessenkool  <segher@koffie.nl>
2495
2496         * predict.c (real_inv_br_prob_base): New variable.
2497         (propagate_freq): Use multiply by reciprocal instead of
2498         division.  Don't divide by 1.0 at all.
2499         (estimate_bb_frequencies): Similar.
2500
2501 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
2502
2503         * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
2504         * configure: Rebuilt.
2505
2506 2003-01-15  Hartmut Penner  <hpenner@de.ibm.com>
2507
2508         * config/s390/s390.c (s390_safe_attr_type): New function.
2509         (s390_use_dfa_pipeline_interface): New function, return true for z900.
2510         (s390_issue_rate): New function.
2511         (s390_agen_dep_p): New function.
2512         (addr_generation_dependency_p): Use 's390_safe_attr_type'.
2513         (s390_adjust_cost): Return 'cost' if new DFA is used.
2514         (s390_adjust_priority): Delete function.
2515         * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
2516         * config/s390/s390.md (atype attribute): Attribute 'atype' default
2517         determined by 'op_type'.
2518         (type attribute): Added more type attributes.
2519         * config/s390/2064.md: New DFA description for z900 pipeline.
2520
2521 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
2522
2523         * config/i386/i386.c (ix86_expand_vector_move): Validize constant
2524         forced to memory.  Fixes PR bootstrap/9036.
2525
2526         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
2527         to set $gp before the call.
2528
2529 2003-01-14  Richard Henderson  <rth@redhat.com>
2530
2531         * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
2532         for force_const_mem.
2533
2534 2003-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2535
2536         * genattr.c (main): Rearrange output to avoid prototype warning.
2537         * genautomata.c (transform_3): Fix ambiguous-else warning.
2538         * local-alloc.c (requires_inout): Add parentheses around
2539         assignment used as truth-value.
2540         * timevar.c: Move system includes above local includes.  Include
2541         toplev.h
2542         * Makefile.in (timevar.o): Depend on toplev.h.
2543
2544 2003-01-14  Denis Chertykov  <denisc@overta.ru>
2545
2546         * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
2547         (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
2548
2549         * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
2550         attributes.
2551         (TARGET_ATTRIBUTE_TABLE): New macro.
2552         (valid_machine_type_attribute): Remove.
2553         (valid_machine_decl_attribute): Remove.
2554         (ip2k_handle_progmem_attribute): New function.
2555         (ip2k_handle_fndecl_attribute): New function.
2556
2557 2003-01-10  Andrew Haley  <aph@redhat.com>
2558
2559         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
2560         registers to be in correct order.  Add rip.
2561
2562 2003-01-14  Kazu Hirata  <kazu@cs.umass.edu>
2563
2564         * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
2565         (*iorsi3_and_lshiftrt_9_sb): Likewise.
2566
2567 Tue Jan 14 00:45:33 CET 2003  Jan Hubicka  <jh@suse.cz>
2568
2569         * convert.c (strip_float_extensions):  Look for narrowest type handling
2570         FP constants.
2571
2572         * fold-const.c (fold):  Fold (double)float1 CMP (double)float2 into
2573         float1 CMP float2.
2574         * convert.c (strip_float_extensions): Make global.
2575         * tree.h (strip_float_extensions): Declare.
2576
2577 2003-01-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2578
2579         * timevar.def: define TV_NAME_LOOKUP.
2580         * timevar.c (timevar_pop): Be verbose when aborting.
2581
2582 2003-01-13  Andreas Schwab  <schwab@suse.de>
2583
2584         * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
2585         $(parsedir), just move the temporary file at the end.
2586         ($(parsedir)/gengtype-yacc.c): Likewise.
2587
2588 2003-01-13  Alexandre Oliva  <aoliva@redhat.com>
2589
2590         * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
2591         ${ac_tool_prefix} to ADAC or CC.  Protect them from word
2592         splitting.
2593         * configure: Rebuilt.
2594
2595 2003-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2596
2597         * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
2598         internal_mcount): Don't use PARAMS.
2599         (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
2600         ISO C style.
2601         (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
2602
2603 2003-01-13  Andreas Schwab  <schwab@suse.de>
2604
2605         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
2606         directive.
2607
2608 2003-01-13  Kazu Hirata  <kazu@cs.umass.edu>
2609
2610         * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
2611         (*iorsi3_and_lshiftrt_n_sb): Likewise.
2612
2613 2003-01-12  Mark Mitchell  <mark@codesourcery.com>
2614
2615         PR c++/9264
2616         * c-lex.c (c_lex): Set the token value to error_mark_node for
2617         invalid numeric constants.
2618
2619 2003-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2620
2621         * c-pch.c (asm_file_startpos): Change to `long'.
2622         (pch_init): Use ftell, not ftello.
2623         (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
2624         Use `long' instead of `off_t'.
2625         (c_common_read_pch): Likewise.
2626         * ggc-common.c (gt_pch_save): Use long/ftell instead of
2627         off_t/ftello.
2628
2629 2003-01-12  Alan Modra  <amodra@bigpond.net.au>
2630
2631         * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
2632
2633 2003-01-11  Richard Earnshaw  (rearnsha@arm.com)
2634
2635         * arm-protos.h (struct cpp_reader): Add declaration.
2636
2637 Sat Jan 11 11:02:58 CET 2003  Jan Hubicka  <jh@suse.cz>
2638
2639         PR target/9068
2640         * i386.c (output_fp_compare): Fix typo.
2641
2642 2003-01-10  David Edelsohn  <edelsohn@gnu.org>
2643
2644         * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
2645
2646 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
2647
2648         * Makefile.in (parsedir): New variable.
2649         (docobjdir): New variable.
2650         (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
2651         gengtype-lex.c, gengtype-yacc.c): Use parsedir.
2652         (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
2653         cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
2654         gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
2655         Use docobjdir.
2656         * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
2657         objc.maintainer-clean): Use parsedir.
2658
2659         * varasm.c (struct constant_descriptor_rtx): Remove unused
2660         `label' field.
2661
2662         * toplev.c (documented_lang_options): Document -Winvalid-pch.
2663
2664 2003-01-10  Richard Henderson  <rth@redhat.com>
2665
2666         * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
2667         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
2668
2669 2003-01-10  Richard Henderson  <rth@redhat.com>
2670
2671         * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
2672         not INTEGRAL_MODE_P when widening extensions.
2673
2674 2003-01-10  Richard Henderson  <rth@redhat.com>
2675
2676         * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
2677
2678 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
2679
2680         * ggc-page.c (ggc_collect): Avoid overflow computing
2681         min_expand.
2682
2683         * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
2684         (RANLIB_TEST_FOR_TARGET): Delete.  Don't pass down to sub-makes.
2685         Remove calls.
2686         * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
2687
2688 Fri Jan 10 22:05:35 CET 2003  Jan Hubicka  <jh@suse.cz>
2689
2690         * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
2691         with weird operands.
2692
2693 2003-01-10  Dale Johannesen <dalej@apple.com>
2694
2695         * calls.c (load_register_parameters):  Add is_sibcall, sibcall_failure
2696         parameters.  Call check_sibcall_argument_overlap if indicated.
2697         (check_sibcall_argument_overlap):  Add mark_stored_args_map
2698         parameter.  Don't mark parameter area as clobbered if not set.
2699         (expand_call):  Adjust calls to above.
2700
2701 2003-01-10 Kelley Cook <kelleycook@comcast.net>
2702
2703         * configure.in (linker read-only and read-write section mixing):
2704         Squelch some assembler warnings.
2705         * configure: Likewise.
2706
2707 2003-01-10  Hartmut Penner  <hpenner@de.ibm.com>
2708
2709         * doc/invoke.texi: Document -mtune, delete -mcpu
2710         option for S/390 and zSeries.
2711         * config/s390/s390.c (s390_tune_string) New variable.
2712         (s390_cpu_string) Delete variable.
2713         (override_options): Use s390_tune_string instead of
2714         s390_cpu_string.
2715         * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
2716
2717 2003-01-10  Kazu Hirata  <kazu@cs.umass.edu>
2718
2719         * config/h8300/h8300.md (*iorsi3_ashift_31): New.
2720
2721 2003-01-10  Josef Zlomek  <zlomekj@suse.cz>
2722
2723         * jump.c (next_nonnote_insn_in_loop): New function.
2724         (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
2725         next_nonnote_insn.
2726         (duplicate_loop_exit_test). Likewise.
2727
2728 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
2729
2730         Merge from pch-branch:
2731
2732         2003-01-06  Geoffrey Keating  <geoffk@apple.com>
2733
2734         * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
2735         load.
2736
2737         2002-12-24  Geoffrey Keating  <geoffk@apple.com>
2738
2739         * cpplib.c (count_registered_pragmas): New function.
2740         (save_registered_pragmas): New function.
2741         (_cpp_save_pragma_names): New function.
2742         (restore_registered_pragmas): New function.
2743         (_cpp_restore_pragma_names): New function.
2744         * cpphash.h (_cpp_save_pragma_names): Prototype.
2745         (_cpp_restore_pragma_names): Likewise.
2746         * cpppch.c (struct save_macro_item): Split from save_macro_data.
2747         (struct save_macro_data): New field 'saved_pragmas'.
2748         (save_macros): Update for changes to struct save_macro_data.
2749         (cpp_prepare_state): Call _cpp_save_pragma_names, update
2750         for changes to struct save_macro_data.
2751         (cpp_read_state): Call _cpp_restore_pragma_names, update
2752         for changes to struct save_macro_data.
2753
2754         * cpppch.c (cpp_read_state): Restore the hashtable references
2755         in the cpp_reader.
2756
2757         * tree.h (built_in_decls): Mark for PCH.
2758
2759         * dbxout.c (lastfile): Don't mark for PCH.
2760
2761         * ggc.h: Document PCH calls into memory managers.
2762
2763         2002-12-18  Geoffrey Keating  <geoffk@apple.com>
2764
2765         * doc/invoke.texi (Precompiled Headers): Document the
2766         directory form of PCH.
2767         * cppfiles.c (validate_pch): New function.
2768         (open_file_pch): Search suitably-named directories for PCH files.
2769
2770         2002-12-14  Geoffrey Keating  <geoffk@apple.com>
2771
2772         * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
2773         reorder options.
2774         (Type Information): Mention that the information is also
2775         used to implement PCH.
2776         * doc/passes.texi (Passes): Improve documentation of
2777         language-specific files.
2778
2779         2002-12-11  Geoffrey Keating  <geoffk@apple.com>
2780
2781         * gengtype.c (struct write_types_data): Add reorder_note_routine field.
2782         (struct walk_type_data): Add reorder_fn field.
2783         (walk_type): Process 'reorder' option.
2784         (write_types_process_field): Reorder parameters to gt_pch_note_object,
2785         call reorder_note_routine.
2786         (write_func_for_structure): Reorder parameters to gt_pch_note_object.
2787         (ggc_wtd): Update for change to struct write_types_data.
2788         (pch_wtd): Likewise.
2789         * ggc.h (gt_pch_note_object): Reorder parameters.
2790         (gt_handle_reorder): New definition.
2791         (gt_pch_note_reorder): New prototype.
2792         * ggc-common.c (struct ptr_data): Add reorder_fn.
2793         (gt_pch_note_object): Reorder parameters.
2794         (gt_pch_note_reorder): New.
2795         (gt_pch_save): Call reorder_fn.
2796         * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
2797
2798         * dbxout.c (cwd): Don't mark for PCH.
2799
2800         2002-12-09  Geoffrey Keating  <geoffk@apple.com>
2801
2802         * gengtype.c (finish_root_table): Fix some warnings.
2803         (write_root): Handle TYPE_STRING.
2804         * ggc.h (gt_ggc_m_S): Add prototype.
2805         * stringpool.c (gt_ggc_m_S): New function.
2806
2807         2002-11-30  Geoffrey Keating  <geoffk@apple.com>
2808
2809         * dwarf2out.c (dw2_string_counter): New.
2810         (AT_string_form): Use it.
2811         (same_dw_val_p): Update for removal of hashtable.h hash tables.
2812
2813         2002-11-22  Geoffrey Keating  <geoffk@apple.com>
2814
2815         * dbxout.c: Include gt-dbxout.h.
2816         (lastfile): Mark for PCH/GGC.
2817         (cwd): Likewise.
2818         (struct typeinfo): Likewise.
2819         (typevec): Likewise.
2820         (typevec_len): Likewise.
2821         (next_type_number): Likewise.
2822         (struct dbx_file): Likewise.
2823         (current_file): Likewise.
2824         (next_file_number): Likewise.
2825         (dbxout_init): Allocate typevec, struct dbx_file with GGC.
2826         (dbxout_start_source_file): Allocate struct dbx_file with GGC.
2827         (dbxout_end_source_file): Don't free struct dbx_file.
2828         (dbxout_type): Use GGC to allocate typevec.
2829         * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
2830         (GTFILES): Add dbxout.c.
2831         (gt-dbxout.h): New rule.
2832
2833         * Makefile.in (c-pch.o): Add debug.h as dependency.
2834         * c-pch.c: Include debug.h.
2835         (pch_init): Call start_source_file to keep nesting right.
2836         (c_common_read_pch): Add orig_name parameter.  Call
2837         start_source_file debug hook.  Call end_source_file debug hook.
2838         * c-common.h (c_common_read_pch): Update prototype.
2839         * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
2840         callback.
2841         * cppfiles.c (struct include_file): Add new field `header_name'.
2842         (find_or_create_entry): Default it to `name'.
2843         (open_file_pch): Set it to the original header file searched for.
2844         (stack_include_file): Don't stack an empty buffer, just handle
2845         PCH files immediately.  Pass header_name field to read_pch callback.
2846
2847         2002-11-19  Geoffrey Keating  <geoffk@apple.com>
2848
2849         * function.c (funcdef_no): Mark to be saved in a PCH.
2850
2851         2002-11-15  Geoffrey Keating  <geoffk@apple.com>
2852
2853         * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
2854
2855         * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
2856
2857         2002-11-14  Geoffrey Keating  <geoffk@apple.com>
2858
2859         * optabs.h (code_to_optab): Add GTY marker.
2860
2861         2002-11-13  Geoffrey Keating  <geoffk@apple.com>
2862
2863         * Makefile.in (GTFILES): Add cpplib.h.
2864         * c-common.h (struct c_common_identifier): Don't skip 'node' field.
2865         * c-decl.c (build_compound_literal): Don't use var_labelno.
2866         * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
2867         * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
2868         * varasm.c (const_labelno): Use gengtype to mark.
2869         (var_labelno): Likewise.
2870         (in_section): Likewise.
2871         (in_named_name): Likewise.
2872         (struct in_named_entry): Likewise.
2873         (in_named_htab): Likewise.
2874         (set_named_section_flags): Use GGC to allocate struct in_named_entry.
2875         (init_varasm_once): Use GGC to allocate in_named_htab.
2876         * config/darwin.c (current_pic_label_num): Mark for PCH.
2877
2878         2002-11-11  Geoffrey Keating  <geoffk@apple.com>
2879
2880         * ggc-simple.c (init_ggc_pch): New stub procedure.
2881         (ggc_pch_count_object): Likewise.
2882         (ggc_pch_total_size): Likewise.
2883         (ggc_pch_this_base): Likewise.
2884         (ggc_pch_alloc_object): Likewise.
2885         (ggc_pch_prepare_write): Likewise.
2886         (ggc_pch_write_object): Likewise
2887         (ggc_pch_finish): Likewise.
2888         (ggc_pch_read): Likewise.
2889
2890         2002-11-08  Geoffrey Keating  <geoffk@apple.com>
2891
2892         * c-pch.c (c_common_write_pch): Write the macro definitions after
2893         the GCed data.
2894         (c_common_read_pch): Call cpp_prepare_state.  Restore the macro
2895         definitions after the GCed data.
2896         * cpplib.c (save_macros): New.
2897         (reset_ht): New.
2898         (cpp_write_pch_deps): Split out of cpp_write_pch.
2899         (cpp_write_pch_state): Split out of cpp_write_pch.
2900         (cpp_write_pch): Delete.
2901         (struct save_macro_data): Delete.
2902         (cpp_prepare_state): New.
2903         (cpp_read_state): Erase and restore initial macro definitions.
2904         * cpplib.h (struct save_macro_data): Forward-declare.
2905         (cpp_write_pch_deps): Prototype.
2906         (cpp_write_pch_state): Prototype.
2907         (cpp_write_pch): Delete prototype.
2908         (cpp_prepare_state): Prototype.
2909         (cpp_read_state): Add fourth argument.
2910
2911         2002-11-04  Geoffrey Keating  <geoffk@apple.com>
2912
2913         * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
2914         (write_array): Remove warning.
2915
2916         * gengtype.c (contains_scalar_p): New.
2917         (finish_root_table): Add the table to all languages, even if it's
2918         empty.
2919         (write_roots): Output gt_pch_scalar_rtab.
2920         * ggc-common.c (gt_pch_save): Write out scalars.
2921         (gt_pch_restore): Read scalars back.
2922
2923         * ggc-page.c (OBJECTS_IN_PAGE): New macro.
2924         (struct page_entry): Delete pch_page field.
2925         (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
2926         (clear_marks): Likewise.
2927         (sweep_pages): Likewise.
2928         (poison_pages): Likewise.
2929         (ggc_print_statistics): Likewise.
2930         (ggc_pch_read): Don't free objects read from a PCH.
2931         Properly set up in_use_p and page_tails.
2932
2933         2002-10-25  Geoffrey Keating  <geoffk@apple.com>
2934
2935         * gengtype.c (struct write_types_data): New.
2936         (struct walk_type_data): Make `cookie' const; add extra
2937         prev_val item; add `orig_s' field.
2938         (walk_type): Update prev_val[3].
2939         (write_types_process_field): New.
2940         (write_func_for_structure): Take write_types_data structure.
2941         (write_types): New.
2942         (ggc_wtd): New.
2943         (pch_wtd): New.
2944         (write_types_local_process_field): New.
2945         (gc_mark_process_field): Delete.
2946         (write_local_func_for_structure): New.
2947         (gc_mark_func_name): Delete.
2948         (write_gc_types): Delete.
2949         (write_local): New.
2950         (finish_root_table): Don't include 'ggc_' in PFX.
2951         (write_root): Rename from write_root.  Fill pchw field of structures.
2952         (write_array): New.
2953         (write_roots): Rename from write_gc_roots.  Split out to write_array.
2954         Update to changes to other routines.  Write gt_pch_cache_rtab table.
2955         (main): Write PCH walking routines.
2956         * ggc-common.c: Include toplev.h, sys/mman.h.
2957         (ggc_mark_roots): For cache hashtables, also mark the hash table
2958         and the array of entries.
2959         (saving_htab): New.
2960         (struct ptr_data): New.
2961         (POINTER_HASH): New.
2962         (gt_pch_note_object): New.
2963         (saving_htab_hash): New.
2964         (saving_htab_eq): New.
2965         (struct traversal_state): New.
2966         (call_count): New.
2967         (call_alloc): New.
2968         (compare_ptr_data): New.
2969         (relocate_ptrs): New.
2970         (write_pch_globals): New.
2971         (struct mmap_info): New.
2972         (gt_pch_save): New.
2973         (gt_pch_restore): New.
2974         * ggc-page.c (ROUND_UP_VALUE): New.
2975         (ROUND_UP): New.
2976         (struct page_entry): Add field `pch_page'.
2977         (init_ggc): Use ROUND_UP.
2978         (struct ggc_pch_data): Declare.
2979         (init_ggc_pch): New.
2980         (ggc_pch_count_object): New.
2981         (ggc_pch_total_size): New.
2982         (ggc_pch_this_base): New.
2983         (ggc_pch_alloc_object): New.
2984         (ggc_pch_prepare_write): New.
2985         (ggc_pch_write_object): New.
2986         (ggc_pch_finish): New.
2987         (ggc_pch_read): New.
2988         * ggc.h (gt_pointer_operator): New.
2989         (gt_note_pointers): New.
2990         (gt_pch_note_object): New prototype.
2991         (gt_pointer_walker): New.
2992         (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
2993         (LAST_GGC_ROOT_TAB): Update.
2994         (gt_pch_cache_rtab): Declare.
2995         (gt_pch_scalar_rtab): Declare.
2996         (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
2997         (LAST_GGC_CACHE_TAB): Update.
2998         (gt_pch_save_stringpool): Declare.
2999         (gt_pch_restore_stringpool): Declare.
3000         (gt_pch_p_S): Declare.
3001         (gt_pch_n_S): Declare.
3002         (struct ggc_pch_data): Forward-declare.
3003         (init_ggc_pch): Declare.
3004         (ggc_pch_count_object): Declare.
3005         (ggc_pch_total_size): Declare.
3006         (ggc_pch_this_base): Declare.
3007         (ggc_pch_alloc_object): Declare.
3008         (ggc_pch_prepare_write): Declare.
3009         (ggc_pch_write_object): Declare.
3010         (ggc_pch_finish): Declare.
3011         (ggc_pch_read): Declare.
3012         (gt_pch_save): Declare.
3013         (gt_pch_restore): Declare.
3014         * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
3015         * emit-rtl.c (init_emit_once): Allocate const_int_htab,
3016         const_double_htab, mem_attrs_htab using GGC.
3017         * c-pch.c: Include ggc.h.
3018         (pch_init): Allow reading PCH file back.
3019         (c_common_write_pch): Call gt_pch_save.
3020         (c_common_read_pch): Call gt_pch_restore.
3021         * c-parse.in (init_reswords): Delete now-untrue comment.
3022         Allocate ridpointers using GGC.
3023         * c-objc-common.c (c_objc_common_finish_file): Write PCH before
3024         calling expand_deferred_fns.
3025         * c-common.h (ridpointers): Mark for GTY machinery.
3026         * Makefile.in (stringpool.o): Update dependencies.
3027         (c-pch.o): Update dependencies.
3028         (ggc-common.o): Update dependencies.
3029         * stringpool.c: Include gt-stringpool.h.
3030         (gt_pch_p_S): New.
3031         (gt_pch_n_S): New.
3032         (struct string_pool_data): New.
3033         (spd): New.
3034         (gt_pch_save_stringpool): New.
3035         (gt_pch_restore_stringpool): New.
3036         * tree.c (init_ttree): Make type_hash_table allocated using GC.
3037
3038         2002-10-04  Geoffrey Keating  <geoffk@apple.com>
3039
3040         * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
3041         (output_mangled_typename): Don't pass size_t to printf.
3042
3043         * tree.h (union tree_type_symtab): Add tag to `address' field.
3044         (union tree_decl_u2): Add tag to 'i' field.
3045         * varasm.c (union rtx_const_un): Add tags to all fields.
3046         * gengtype.c (struct walk_type_data): New.
3047         (output_escaped_param): Take struct walk_type_data parameter.
3048         (write_gc_structure_fields): Delete.
3049         (walk_type): New.
3050         (write_gc_marker_routine_for_structure): Delete.
3051         (write_func_for_structure): New.
3052         (gc_mark_process_field): New.
3053         (gc_mark_func_name): New.
3054         (gc_counter): Delete.
3055         (write_gc_types): Use write_func_for_structure.
3056         (write_gc_roots): Use walk_type.
3057
3058         2002-10-02  Geoffrey Keating  <geoffk@apple.com>
3059
3060         * ggc-common.c (ggc_mark_roots): Delete 'x'.
3061         (ggc_splay_dont_free): Fix warning about unused 'x'.
3062         (ggc_print_common_statistics): Remove warnings.
3063
3064         2002-10-01  Mike Stump  <mrs@apple.com>
3065
3066         * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
3067         * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
3068
3069         2002-09-01  Geoffrey Keating  <geoffk@redhat.com>
3070             Catherine Moore  <clm@redhat.com>
3071
3072         * Makefile (c-pch.o): Update dependencies.
3073         (LIBCPP_OBJS): Add cpppch.o.
3074         (cpppch.o): New.
3075         * c-common.c (c_common_init): Don't call pch_init here.
3076         * c-common.h (c_common_read_pch): Update prototype.
3077         * c-lex.c (c_common_parse_file): Call pch_init here.
3078         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
3079         (c_common_decode_option): Handle them.
3080         * c-pch.c: Include c-pragma.h.
3081         (save_asm_offset): Delete.
3082         (pch_init): Move contents of save_asm_offset into here, call
3083         cpp_save_state.
3084         (c_common_write_pch): Call cpp_write_pch.
3085         (c_common_valid_pch): Warn only when -Winvalid-pch.  Call
3086         cpp_valid_state.
3087         (c_common_read_pch): Add NAME parameter.  Call cpp_read_state.
3088         * cppfiles.c (stack_include_file): Update for change to
3089         parameters of cb.read_pch.
3090         * cpphash.h (struct cpp_reader): Add `savedstate' field.
3091         * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
3092         `restore_pch_deps' fields.
3093         (struct cpp_callbacks): Add NAME parameter to `read_pch'.
3094         (cpp_save_state): Prototype.
3095         (cpp_write_pch): Prototype.
3096         (cpp_valid_state): Prototype.
3097         (cpp_read_state): Prototype.
3098         * cpppch.c: New file.
3099         * flags.h (version_flag): Remove prototype.
3100         * mkdeps.c (deps_save): New.
3101         (deps_restore): New.
3102         * mkdeps.h (deps_save): Prototype.
3103         (deps_restore): Prototype.
3104         * toplev.c (late_init_hook): Delete.
3105         (version_flag): Make static again.
3106         (compile_file): Don't call late_init_hook.
3107         * toplev.h (late_init_hook): Delete.
3108         * doc/cppopts.texi: Document -fpch-deps.
3109         * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
3110
3111         2002-08-27  Geoffrey Keating  <geoffk@redhat.com>
3112
3113         * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
3114         callers.
3115         (c_common_valid_pch): Rename from c_valid_pch, change callers.
3116         (c_common_read_pch): Rename from c_read_pch, change callers.
3117
3118         * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
3119         a space between it and its argument.
3120
3121         2002-08-24  Geoffrey Keating  <geoffk@redhat.com>
3122
3123         * c-pch.c: New file.
3124         * toplev.h (late_init_hook): Declare.
3125         * toplev.c (late_init_hook): Define.
3126         (version_flag): Make globally visible.
3127         (compile_file): Call late_init_hook.
3128         (init_asm_output): Make output file seekable.
3129         * gcc.c (default_compilers): Update c-header rule.
3130         * flags.h (version_flag): Declare.
3131         * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
3132         fields.
3133         * cppfiles.c (struct include_file): Add 'pch' field.
3134         (INCLUDE_PCH_P): New.
3135         (open_file_pch): New.
3136         (stack_include_file): Handle PCH files specially.
3137         (find_include_file): Call open_file_pch instead of open_file.
3138         (_cpp_read_file): Explain why open_file is used instead of
3139         open_file_pch.
3140         * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
3141         * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
3142         * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
3143         in cpplib callbacks.
3144         * c-common.c (pch_file): Correct comment.
3145         (allow_pch): Define.
3146         (c_common_init): Call pch_init.
3147         * c-common.h (allow_pch): Declare.
3148         (pch_init): Declare.
3149         (c_valid_pch): Declare.
3150         (c_read_pch): Declare.
3151         (c_write_pch): Declare.
3152         * Makefile.in (c-pch.o): New.
3153         (C_AND_OBJC_OBJS): Add c-pch.o.
3154         * doc/invoke.texi (Precompiled Headers): Add index entries,
3155         complete truncated paragraph.
3156
3157         2002-08-17  Geoffrey Keating  <geoffk@redhat.com>
3158
3159         * c-common.c: (pch_file): Define.
3160         * c-common.h (pch_file): Declare.
3161         * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
3162         (missing_arg): Require --output-pch= to have an argument.
3163         (c_common_decode_option): Handle --output-pch=.
3164         * gcc.c: Document new %V.
3165         (default_compilers): Handle compiling C header files.
3166         (do_spec_1): Implement %V.
3167         (main): Handle "gcc foo.h" without trying to run linker.
3168         * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
3169         (Overall Options): Document what the driver does with header files,
3170         document new -x option possibilities.
3171         (Invoking G++): More documentation for PCH.
3172         (Precompiled Headers): New.
3173
3174         2002-08-09  Geoffrey Keating  <geoffk@redhat.com>
3175
3176         * ggc.h: Don't include varray.h.  Rearrange functions to be more
3177         organized.
3178         (ggc_add_root): Delete.
3179         (ggc_mark_rtx): Delete.
3180         (ggc_mark_tree): Delete.
3181         (struct ggc_statistics): Remove contents.
3182         * ggc-common.c: Remove unneeded includes.
3183         (struct ggc_root): Delete.
3184         (roots): Delete.
3185         (ggc_add_root): Delete.
3186         (ggc_mark_roots): Don't mark `roots'.  Call ggc_mark_stringpool.
3187         (ggc_print_common_statistics): Remove most of the contents.
3188         * Makefile.in (GGC_H): No longer uses varray.h.
3189         (ggc-common.o): Update dependencies.
3190         (c-parse.o): Add varray.h to dependencies.
3191         (c-common.o): Add varray.h.
3192         * stringpool.c (mark_ident): Use mangled name for tree marker routine.
3193         (mark_ident_hash): Rename to ggc_mark_stringpool.
3194         (init_stringpool): Don't use ggc_add_root.
3195         * c-parse.in: Include varray.h.
3196         * c-common.c: Include varray.h.
3197         * objc/Make-lang.in (objc-act.o): Add varray.h.
3198         * objc/objc-act.c: Include varray.h.
3199
3200         2002-07-25  Geoffrey Keating  <geoffk@redhat.com>
3201
3202         * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
3203         (dw_cfi_oprnd1_desc): Likewise.
3204
3205         2002-07-17  Geoffrey Keating  <geoffk@redhat.com>
3206
3207         * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
3208         move out of ifdef.
3209         (alpha_links): Use gengtype to mark; move out of ifdef.
3210         (mark_alpha_links_node): Delete.
3211         (mark_alpha_links): Delete.
3212         (alpha_need_linkage): Use GGC to allocate splay tree, struct
3213         alpha_links, strings.  Don't use ggc_add_root.
3214         * ggc-common.c (ggc_splay_alloc): New.
3215         (ggc_splay_dont_free): New.
3216         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
3217         (ggc_mark_tree): Likewise.
3218         (splay_tree_new_ggc): New.
3219         (ggc_splay_alloc): Declare.
3220         (ggc_splay_dont_free): Declare.
3221         * dwarf2asm.c: Include gt-dwarf2asm.h.
3222         (mark_indirect_pool_entry): Delete.
3223         (mark_indirect_pool): Delete.
3224         (indirect_pool): Use gengtype to mark.
3225         (dw2_force_const_mem): Don't use ggc_add_root.
3226         * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
3227         (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
3228         (gt-dwarf2asm.h): Depend on s-gtype.
3229
3230         2002-07-08  Geoffrey Keating  <geoffk@redhat.com>
3231
3232         * tree.h (union tree_type_symtab): Mark `die' field.
3233         * Makefile.in (dwarf2out.o): Update dependencies.
3234         * dwarf2out.c: Use GGC to allocate all structures.  Convert to htab_t
3235         hash tables.
3236         (dw_cfi_oprnd1_desc): New function.
3237         (dw_cfi_oprnd2_desc): New function.
3238         (indirect_string_alloc): Delete.
3239         (debug_str_do_hash): New function.
3240         (debug_str_eq): New function.
3241         (mark_limbo_die_list): Delete.
3242         (dwarf2out_init): Don't call ggc_add_root.
3243
3244 2003-01-09  Vladimir Makarov  <vmakarov@redhat.com>
3245
3246         The following changes are merged from itanium-sched-branch:
3247
3248         2003-01-08  David Edelsohn  <edelsohn@gnu.org>
3249
3250         * doc/md.texi: Clarify assignment of units to automata description.
3251
3252         2003-01-08  Vladimir Makarov  <vmakarov@redhat.com>
3253
3254         * genautomata.c (unit_decl): Remove members
3255         `the_same_automaton_unit' and
3256         `the_same_automaton_message_reported_p'.
3257         (process_unit_to_form_the_same_automaton_unit_lists,
3258         form_the_same_automaton_unit_lists_from_regexp,
3259         form_the_same_automaton_unit_lists, the_same_automaton_lists):
3260         Remove them.
3261         (annotation_message_reported_p): New global variable.
3262         (check_unit_distribution_in_reserv,
3263         check_regexp_units_distribution): New functions.
3264         (check_unit_distributions_to_automata): Rewrite it.
3265
3266         2003-01-04  Vladimir Makarov  <vmakarov@redhat.com>
3267
3268         * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
3269         Use continue instead of break if cycle is too big.
3270
3271         2002-12-20  Vladimir Makarov  <vmakarov@redhat.com>
3272
3273         * genautomata.c (check_unit_distributions_to_automata): Output at
3274         most one message for a unit.
3275         (process_unit_to_form_the_same_automaton_unit_lists): Check
3276         automaton of units instead of units themself.
3277
3278         * doc/md.texi: Describe the constraint about assigning unit to
3279         automata.
3280
3281         2002-12-20  Jan Hubicka  <jH@suse.cz>
3282                     Vladimir Makarov  <vmakarov@redhat.com>
3283
3284         * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
3285         and `in_set_p'.
3286         (gen_cpu_unit): Initialize the new members.
3287         (process_regexp_cycles): Calculate minimal finish cycle too.  Set
3288         up `min_occ_cycle_num'.
3289         (evaluate_max_reserv_cycles): Change the function call.
3290         (CLEAR_BIT): New macro.
3291         (states_union, state_shift): Use the mask.
3292         (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
3293         (form_reservs_matter): New function.
3294         (make_automaton): Call the function and use the mask.
3295         (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
3296         account.
3297
3298         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
3299
3300         * config/ia64/itanium2.md (lfetch): Change the insn reservation.
3301
3302         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
3303
3304         * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
3305         for Itanium.
3306
3307         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
3308
3309         * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
3310         default cpu.
3311
3312         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
3313                 2002-10-31  Dale Johannesen <dalej@apple.com>
3314
3315         * haifa-sched.c (find_set_reg_weight): New function.
3316         (find_insn_reg_weight): Use the new function.
3317         (schedule_block): Do sorting ready queue always
3318         after insn issue.
3319
3320         2002-11-27  Vladimir Makarov  <vmakarov@redhat.com>
3321
3322         * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
3323
3324         2002-11-19  Vladimir Makarov  <vmakarov@redhat.com>
3325
3326         * haifa-sched.c (choice_entry): New structure.
3327         (choice_stack, cycle_issued_insns): New variables.
3328         (max_issue): Rewrite it.
3329         (choose_ready): Set up ready_try for unknown insns too.
3330         (schedule_block): Allocate and free choice_stack.  Set up
3331         and modify cycle_issued_insns.
3332
3333         * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
3334         with and without filling the bundle.
3335         (bundling): Combine calls of issue_nops_and_insn.
3336
3337         2002-10-17  Vladimir Makarov  <vmakarov@redhat.com>
3338
3339         * config/ia64/itanium1.md: New file.
3340
3341         * config/ia64/itanium2.md: New file.
3342
3343         * config/ia64/ia64.md: Move DFA descriptions into the new files.
3344         Remove the old pipeline description.
3345
3346         * config/ia64/ia64.c (ia64_override_options): Add aliases of
3347         itanium processor names.
3348
3349         2002-10-16  Vladimir Makarov  <vmakarov@redhat.com>
3350
3351         * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
3352         (ia64_reorg):  Set up queried unit codes for Itanium2 too.
3353
3354         * config/ia64/ia64.md: Add descriptions for Itanium2.
3355
3356         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
3357
3358         * config/ia64/ia64.h (processor_type): New enumeration.
3359         (ia64_tune, ia64_tune_string): New external declarations.
3360         (TARGET_OPTIONS): Add option `tune='.
3361
3362         * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
3363         variables.
3364         (ia64_override_options): Set up `ia64_tune'.
3365         (ia64_sched_reorder2): Set up `clocks' only for Itanium.
3366         (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
3367         (bundling): Add nops for MM-insns only for Itanium.
3368         (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
3369         Itanium.
3370
3371         * config/ia64/ia64.md (cpu): New attribute.
3372         (DFA description): Enable it only for Itanium.
3373
3374         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
3375                     Richard Henderson  <rth@redhat.com>
3376
3377         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
3378         MASK_EARLY_STOP_BITS.
3379         (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
3380         (TARGET_SWITCHES): Rename option `tune-stop-bits' to
3381         `early-stop-bits'.
3382
3383         * config/ia64/ia64.c (ia64_dfa_new_cycle,
3384         final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
3385         instead of TARGET_TUNE_STOP_BITS.
3386
3387         * doc/invoke.texi: Rename option `-mtune-stop-bits' to
3388         `-mearly-stop-bits'.
3389
3390         * config/ia64/ia64.c (automata_option "v"): Comment it.
3391
3392         2002-10-07  Vladimir Makarov  <vmakarov@redhat.com>
3393
3394         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
3395         New macros.
3396         (TARGET_SWITCHES): Add entries for the new option.
3397
3398         * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
3399         dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
3400         (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
3401         global variables.
3402         (ia64_sched_reorder2): Set up `clocks'.
3403         (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
3404         (ia64_dfa_new_cycle): Set up add_cycle.  Permit sorting ready
3405         queue when TARGET_TUNE_STOP_BITS.
3406         (bundling): Insert additional nops for MM-insns.
3407         (final_emit_insn_group_barriers): Add insertion of stop bits
3408         according `stops_p'.
3409         (ia64_reorg): Initiate the new varibales.
3410
3411         * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
3412
3413         2002-10-02  Vladimir Makarov  <vmakarov@redhat.com>
3414
3415         * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
3416         insns at the end of block insn scheduling.
3417
3418         2002-09-30  Vladimir Makarov  <vmakarov@redhat.com>
3419
3420         * sched-deps.c (remove_dependence, group_leader): Remove it.
3421         (add_dependence): Add dependence to group leader to.
3422         (set_sched_group_p): Add dependence to the first insn of the
3423         schedule group too.
3424         (sched_analyze_insn): Make dependence to jump as anti-dependence.
3425         Change true dependence by anti-dependence when
3426         `reg_pending_barrier'.
3427
3428         * sched-rgn.c (init_ready_list, can_schedule_ready_p,
3429         add_branch_dependences): Ignore schedule groups.
3430
3431         * sched-ebb.c (init_ready_list): Ditto.
3432
3433         * (move_insn, set_priorities): Ditto.
3434
3435         * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
3436         flag is clear after reload.
3437         (adjust_cost): Change cost only for output dependencies.
3438
3439         * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
3440
3441         2002-09-26  Vladimir Makarov  <vmakarov@redhat.com>
3442
3443         * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
3444
3445         * target.h (gcc_target): Add member
3446         `dependencies_evaluation_hook'.
3447
3448         * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
3449         macro.
3450         (TARGET_SCHED): Add initiatialization of the new member.
3451
3452         * sched-ebb.c: Include `target.h'.
3453         (schedule_ebb): Call `dependencies_evaluation_hook'.
3454
3455         * sched-rgn.c (schedule_region): Call
3456         `dependencies_evaluation_hook'.
3457
3458         * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
3459         New macro.
3460         (ia64_dependencies_evaluation_hook): New function.
3461
3462         * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
3463         Describe the new hook.
3464
3465         2002-09-25  Vladimir Makarov  <vmakarov@redhat.com>
3466
3467         * target.h (gcc_target): Add members
3468         `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
3469
3470         * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
3471         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
3472         macros.
3473         (TARGET_SCHED): Add initiatialization of the new members.
3474
3475         * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
3476         insn scheduling too.
3477         (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
3478         initialize `ready_try'.
3479         (schedule_block): Use `dfa_new_cycle'.  Sort `ready' only unless
3480         `dfa_new_cycle' says not to do it.
3481
3482         * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
3483         bundling.
3484
3485         * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
3486
3487         * config/ia64/ia64.c: Include `hashtab.h'.
3488         (ia64_first_cycle_multipass_dfa_lookahead_guard,
3489         ia64_dfa_new_cycle, final_emit_insn_group_barriers,
3490         ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
3491         initiate_bundle_states, finish_bundle_states, bundle_state_hash,
3492         bundle_state_eq_p, insert_bundle_state,
3493         initiate_bundle_state_table, finish_bundle_state_table,
3494         try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
3495         get_template, get_next_important_insn, bundling): New functions.
3496         (ia64_internal_sched_reorder): Remove it.
3497         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
3498         TARGET_SCHED_DFA_NEW_CYCLE): New macros.
3499         (ia64_safe_itanium_requires_unit0): Remove it.
3500         (group_barrier_needed_p): Place group barrier right before a real
3501         insn.
3502         (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
3503         Remove them.
3504         (bundle_name): New variable.
3505         (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
3506         _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
3507         _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
3508         pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
3509         temp_dfa_state, prev_cycle_state): New global variables.
3510         (insn_matches_slot, maybe_rotate, finish_last_head,
3511         rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
3512         cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
3513         find_best_packet, itanium_reorder, dump_current_packet,
3514         schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
3515         (sched_data, sched_ready, sched_types): Remove them.
3516         (ia64_sched_init): Initiate only `last_scheduled_insn' and call
3517         `init_insn_group_barriers'.
3518         (ia64_sched_reorder, ia64_sched_reorder2): Call
3519         ia64_dfa_sched_reorder.
3520         (ia64_variable_issue): Rewrite it.
3521         (bundle_state): New structure.
3522         (index_to_bundle_states, bundle_states_num,
3523         allocated_bundle_states_chain, free_bundle_state_chain): New
3524         global variables.
3525         (ia64_sched_finish): Add stop bits and call `bundling' after the
3526         2nd insn scheduling.
3527         (ia64_use_dfa_pipeline_interface): Return zero always.
3528         (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
3529         insn scheduling.
3530         (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
3531         `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
3532         (ia64_reorg): Add bundling insns.
3533
3534         * doc/tm.texi
3535         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
3536         TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
3537
3538         2002-09-23  Vladimir Makarov  <vmakarov@redhat.com>
3539
3540         * config/ia64/ia64.md: Add Itanium1 DFA description.
3541         (itanium_class): Add `nop' and `pre_cycle'.  Add
3542         define_function_unit for `nop'.
3543         (nop): Change attribute `itanium_class'.
3544         (pre_cycle): New define_insn.
3545
3546         * config/ia64/ia64-protos.h (bundling_p): New external variable.
3547         (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
3548         ia64_produce_address_p): New function prototypes.
3549
3550         * config/ia64/ia64.c (bundling_p): New global variable.
3551         (ia64_use_dfa_pipeline_interface,
3552         ia64_first_cycle_multipass_dfa_lookahead,
3553         ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
3554         functions.
3555         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
3556         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
3557         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
3558         TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
3559         (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
3560         ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
3561         (dfa_pre_cycle_insn): New variable.
3562
3563         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
3564
3565         * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
3566         constructions.
3567
3568         * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
3569         New function prototypes.
3570
3571         * genattrtab.c (main): Process the new constructions.
3572
3573         * genautomata.c (gen_presence_absence_set,
3574         process_presence_absence_names, process_presence_absence_patterns,
3575         add_presence_absence, check_absence_pattern_sets): Add parameter
3576         `final_p'.
3577         (unit_decl): Add new members `final_presence_list' and
3578         `final_absence_list'.
3579         (unit_pattern_rel_decl): Add new member `final_p'.
3580         (gen_final_presence_set, gen_final_absence_set): New functions.
3581         (process_decls): Use member `final_p'.
3582         (temp_reserv): New global variable.
3583         (reserv_sets_are_intersected): Add processing `final_presence_set'
3584         and `final_absence_set'.
3585         (initiate_states): Allocate `temp_reserv'.
3586         (unit_final_presence_set_table, unit_final_absence_set_table): New
3587         gloabal variables.
3588         (initiate_presence_absence_pattern_sets): Initiate them.
3589         (NDFA_to_DFA): Fix typo.
3590         (output_description): Output `final_presence_set' and
3591         `final_absence_set'.
3592
3593         * doc/md.texi (final_presence_set, final_absence_set): Describe
3594         them.
3595
3596         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
3597
3598         * genautomata.c (transform_3): Process a missing case (nothing on
3599         unit place).
3600
3601         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
3602
3603         * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
3604         comments about queried units and the minimization.
3605
3606         * doc/md.texi: Ditto.
3607
3608         * genautomata.c (create_composed_state): Return nonzero if the new
3609         state has been created.
3610         (first_cycle_unit_presence): New function.
3611         (state_is_differed): Add new parameter.  Use the new function.
3612         Take queried units into account.
3613         (partition_equiv_class): Pass additional parameter to
3614         `state_is_differed'.
3615         (merge_states): Process composed states too.
3616         (build_automaton, create_automata, output_min_issue_delay_table,
3617         output_tables, output_statistics): Output more information.
3618         (output_reserved_units_table): Use function
3619         `first_cycle_unit_presence'.
3620         (output_tables): Output table of queried units even if the
3621         minimization is switched on.
3622         (write_automata): Output code for querying units even if the
3623         minimization is switched on.
3624
3625         2002-09-19  Vladimir Makarov  <vmakarov@redhat.com>
3626
3627         * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
3628         syntax of the constructions.
3629
3630         * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
3631         extended syntax of the constructions.
3632
3633         * genautomata.c (unit_rel_decl): Rename it to
3634         `unit_pattern_rel_decl'.
3635         (pattern_set_el, pattern_reserv): New structures.
3636         (pattern_set_el_t, pattern_reserv_t): New types.
3637         (gen_presence_absence_set): New function.
3638         (process_presence_absence): Remove it.
3639         (process_presence_absence_names,
3640         process_presence_absence_patterns): New functions.
3641         (get_presence_absence_set): Remove it.
3642         (initiate_presence_absence_sets): Rename it on
3643         `initiate_presence_absence_pattern_sets'.  Use new function
3644         `form_reserv_sets_list'.
3645         (form_reserv_sets_list, check_presence_pattern_sets,
3646         check_absence_pattern_sets, output_pattern_set_el_list): New
3647         functions.
3648         (unit_decl): Change types of members `presence_list' and
3649         `absence_list'.
3650         (unit_rel_decl): Rename member `names_num' to `all_names_num'.
3651         (decl): Change types of members `excl', `presence', and `absence'.
3652         (get_str_vect): Rename `par_flag' to `paren_p'.  Add null element
3653         at the end of the vector.
3654         (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
3655         gen_automaton, gen_regexp_repeat, gen_regexp_allof,
3656         gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
3657         (gen_presence_set, gen_absence_set): Use new function
3658         `gen_presence_absence_set'.
3659         (add_presence_absence): Process `pattern_list' instead of
3660         `source_list'.
3661         (process_decls): USe new functions
3662         `process_presence_absence_names' and
3663         `process_presence_absence_patterns'.
3664         (reserv_sets_are_intersected): Use new function
3665         `check_presence_pattern_sets'.
3666         (presence_set, absence_set): Remove them.
3667         (unit_presence_set_table, unit_absence_set_table): New global
3668         variables.
3669         (output_description): Use new function
3670         `output_pattern_set_el_list'.
3671         (generate): Use `initiate_presence_absence_pattern_sets'.
3672
3673         2002-09-18  Vladimir Makarov  <vmakarov@redhat.com>
3674
3675         * genattr.c (main): Add output of prototype of new interface
3676         function `dfa_clean_insn_cache'.
3677
3678         * genautomata.c (output_dfa_clean_insn_cache_func): New function.
3679         (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
3680         (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
3681         the generated code.
3682         (write_automata): Call the new function.
3683
3684 Thu Jan  9 22:47:38 CET 2003  Jan Hubicka  <jh@suse.cz>
3685
3686         * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
3687         correctly.
3688
3689 2003-01-09  Paolo Carlini  <pcarlini@unitus.it>
3690
3691         * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
3692
3693 Thu Jan  9 17:26:40 2003  J"orn Rennecke <joern.rennecke@superh.com>
3694
3695         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
3696         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
3697         (CONSTRAINT_LEN): Provide default definition.
3698         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
3699         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
3700         (EXTRA_CONSTRAINT_STR): Likewise.
3701         (REG_CLASS_FROM_CONSTRAINT): Define.
3702         * genoutput.c (check_constraint_len, constraint_len): New functions.
3703         (validate_insn_alternatives): Check CONSTRAINT_LEN for each
3704         constraint / modifier.
3705         (gen_insn): Call check_constraint_len.
3706         * local-alloc.c (block_alloc): Update to use new macros / pass
3707         second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
3708         * ra-build.c (handle_asm_insn): Likewise.
3709         * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
3710         (constrain_operands, peep2_find_free_register): Likewise.
3711         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
3712         * regmove.c (find_matches): Likewise.
3713         * reload.c (push_secondary_reload, find_reloads): Likewise.
3714         (alternative_allows_memconst): Likewise.
3715         * reload1.c (maybe_fix_stack_asms): Likewise.
3716         (reload_cse_simplify_operands): Likewise.
3717         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
3718         * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
3719         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
3720         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
3721         (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
3722         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
3723
3724         * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
3725
3726 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
3727
3728         * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
3729         length.
3730         (*extzv_1_r_h8300hs): Likewise.
3731         (*extzv_1_r_inv_h8300): Likewise.
3732         (*extzv_1_r_inv_h8300hs): Likewise.
3733
3734 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
3735
3736         * config/h8300/h8300.h (PREDICATE_CODES): New.
3737
3738 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
3739
3740         * config/h8300/h8300.md (*addsi3_upper): New.
3741         (*iorsi3_shift): Likewise.
3742         (two splitters): Likewise.
3743         (*addsi3_shift): Likewise.
3744         (two splitters): Likewise.
3745
3746 2003-01-09  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
3747
3748         * Makefile.in (optabs.o): Add dependency on basic-block.h.
3749         * basic-block.h (control_flow_insn_p): Fuction was exported.
3750         * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
3751         * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
3752         notes only when the region is contained in a single basic block.
3753
3754 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
3755
3756         PR inline-asm/8832
3757         * tree.h (expand_asm): New prototype.
3758         * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
3759         to do so.
3760         * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
3761         down to expand_asm.
3762         * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
3763         * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
3764         (volatile_refs_p) [ASM_INPUT]: Likewise.
3765         (side_effects_p) [ASM_INPUT]: Likewise.
3766
3767 Thu Jan  9 12:00:36 CET 2003  Jan Hubicka  <jh@suse.cz>
3768
3769         * i386.md (*mul*): FIx constraints; remove confused comment; fix
3770         athlon_decode attributes
3771         (imul/k8 optimization peep2s): New.
3772
3773         * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
3774         * i386.md (type attribute): Add ssecomi.
3775         (unit, memory, prefix attributes): Handle ssecomi.
3776         (cvt?2? patterns): Fix athlon_decode attribute
3777         (comi patterns): Set attribute to ssecomi.
3778
3779         PR target/8343
3780         * m68k.md (umulsidi, mulsidi expanders): Use register operand.
3781
3782 2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
3783
3784         * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
3785         that match register_operands.
3786         * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
3787         register_operand the default case.
3788
3789 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
3790
3791         PR c/8032
3792         * c-typeck.c (process_init_element) [RECORD_TYPE]: For
3793         an empty element, do not advance the pointer to unfilled
3794         fields if there are pending initializers.
3795
3796 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
3797
3798         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
3799         (install-gcc-tooldir, install-cpp, installdirs,
3800         install-common, install-driver, install-info, install-man,
3801         install-headers, install-include-dir, install-headers-tar,
3802         install-headers-cpio, install-headers-cp, install-mkheaders,
3803         install-collect2, uninstall): Prepend $(DESTDIR) to
3804         destination paths in all (un)installation commands.
3805         (install-driver): Rewrite $(LN) commands to support DESTDIR
3806         with "ln" as well as with "ln -s".
3807         (installdirs): Simply use mkinstalldirs.
3808         (install-libgcc, install-multilib): Also pass DESTDIR.
3809         * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
3810         installation destination variable ldir.
3811         * config/alpha/t-osf4, config/arm/t-netbsd,
3812         config/ia64/t-hpux, config/mips/t-iris5-6,
3813         config/pa/t-hpux-shlib, config/rs6000/t-aix43,
3814         config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
3815         config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
3816         in the definition of SHLIB_INSTALL.
3817         * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
3818         $(libsubdir) in the installation commands.
3819
3820 2003-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
3821
3822         * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
3823         non-optimizing compile.
3824         (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
3825         compile.
3826
3827 2003-01-08  Douglas B Rupp  <rupp@gnat.com>
3828
3829         * config/i386/i386.c (ix86_attribute_table): Add new attributes
3830         ms_struct and gcc_struct.
3831         (ix86_handle_struct_attribute): New function.
3832         (ix86_ms_bitfield_layout_p): Update to take new attributes
3833         into account.
3834         * doc/extend.texi: Document new attributes.
3835         * testsuite/gcc.dg/bf-ms-attrib.c: New test.
3836
3837 2003-01-08  Danny Smith  <dannysmith@users.sourceforge.net>
3838
3839         PR optimization/8750
3840         * config/i386/i386.c (ix86_expand_prologue): Don't allow
3841         scheduling pass to move insns across __alloca call.
3842
3843 2003-01-08  Dale Johannesen  <dalej@apple.com>
3844
3845         * config/rs6000/rs6000.md:  Replace *store_multiple_string
3846         with *stmsi[3-8].
3847
3848 2003-01-08  Jeff Sturm  <jsturm@one-point.com>
3849
3850         PR target/9210
3851         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
3852         Set SYMBOL_REF_FLAG on local data sym_ref.
3853
3854 2003-01-08  Dale Johannesen  <dalej@apple.com>
3855
3856         * function.c (assign_parms):  Don't set pretend_args_size if
3857           REG_PARM_STACK_SPACE.
3858           config/rs6000/rs6000.c (setup_incoming_varargs):  Don't set
3859           pretend_args_size.
3860
3861 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
3862
3863         * gcc.hlp: Delete.
3864
3865 Thu Jan  9 00:57:15 CET 2003  Jan Hubicka  <jh@suse.cz>
3866
3867         * i386.c  (ix86_expand_int_addcc): Fix thinko.
3868
3869 2003-01-08  David Edelsohn  <edelsohn@gnu.org>
3870
3871         * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
3872         * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
3873         as hook_bool_tree_hwi_hwi_tree_true.
3874         (rs6000_emit_allocate_stack): Use TARGET_32BIT.
3875         (rs6000_emit_epilogue): Same.
3876         (rs6000_output_mi_thunk): Re-implement as RTL.
3877         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
3878         xcoffout_declare_function if any debugging enabled.
3879
3880 2003-01-08  Chris Demetriou  <cgd@broadcom.com>
3881
3882         * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
3883         targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
3884         * config/mips/mips.h (enum processor_type): Rename
3885         PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
3886         PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
3887         Add PROCESSOR_M4K.
3888         (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
3889         (ISA_MIPS32R2): New define.
3890         (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
3891         (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
3892         (ISA_HAS_PREFETCH): Add support for MIPS32R2.
3893         (MIPS_ISA_DEFAULT): Likewise.  Also, fix indentation.
3894         (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2.  Add new
3895         predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
3896         (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
3897         compiling MIPS16 code.
3898         (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
3899         comment.
3900         (ISA_HAS_SEB_SEH): New define.
3901         (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
3902         * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
3903         processor_type value renaming.  Add support for MIPS32R2.
3904         Clean up comments, and move "sb1" entry with other MIPS64 CPU
3905         entries.
3906         (override_options): Reimplement -mipsN option handling so that
3907         it will work correctly for -mips32r2.  Avoid branch-likely
3908         instructions on MIPS32R2.
3909         * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
3910         (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
3911         (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
3912         (extendhisi2_hw, extendqisi2_hw): New.
3913         * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
3914         for MIPS32R2.  Add new predefine __mips_isa_rev for MIPS32,
3915         MIPS32R2, and MIPS64.
3916         (LINK_SPEC): Pass -mips32r2 to linker.
3917         * config/mips/t-isa3264: Built -mips32r2 multilibs.
3918         * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
3919         for mips32r2 in the -march description.  Alphabetically sort
3920         CPU names in the -march description.  Add long-missed -mips32
3921         and -mips64 to MIPS option summary.
3922
3923         * config.gcc: Update copyright years to include 2003.
3924         * config/mips/mips.c: Likewise.
3925         * config/mips/mips.h: Likewise.
3926         * config/mips/mips.md: Likewise.
3927         * config/mips/netbsd.h: Likewise.
3928         * doc/invoke.texi: Likewise.
3929
3930 2003-01-08  Andreas Schwab  <schwab@suse.de>
3931
3932         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
3933         variable.
3934         * configure: Regenerated.
3935
3936 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
3937
3938         * config/h8300/h8300.c (output_logical_op): Replace byte/word
3939         extraction of det with b0, b1, w0, w2, etc.
3940         (compute_logical_op_length): Likewise.
3941         (compute_logical_op_cc): Likewise.
3942
3943 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
3944
3945         * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
3946         HIGH on all variants.
3947
3948 Wed Jan  8 14:06:34 CET 2003  Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
3949
3950         * Makefile.in (PARTITION_H): New.
3951         (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
3952         * basic-block.h: Include hard-reg-set.h.
3953
3954 2003-01-08  Richard Earnshaw  <rearnsha@arm.com>
3955
3956         * arm.h (ENABLE_XF_PATTERNS): Delete.
3957         * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
3958         (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
3959         (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
3960         (cmpxf_trap): Delete.
3961         (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
3962
3963 Wed Jan  8 12:10:57 CET 2003  Jan Hubicka  <jh@suse.cz>
3964
3965         * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
3966         (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
3967         (add??cc): New expanders.
3968         * i386.c (expand_int_addcc): New function.
3969         * i386-protos.h (expand_int_addcc): Declare.
3970
3971         * alias.c (memory_modified_1): New static function.
3972         (memory_modified): New static varaible.
3973         (memory_modified_in_insn_p): New global function.
3974         * rtl.h (memory_modified_in_insn_p): Declare.
3975         * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
3976         references.
3977
3978         * expr.h (emit_conditional_add): Declare.
3979
3980 2003-01-07  Janis Johnson  <janis187@us.ibm.com>
3981
3982         PR other/8947
3983         * doc/invoke.texi (-malign-double): Explain that the option breaks
3984         binary compatibility.
3985
3986 2003-01-08  Andreas Schwab  <schwab@suse.de>
3987
3988         * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
3989         should come from the generic *-*-linux* entry.
3990
3991 Tue Jan  7 22:29:56 CET 2003  Jan Hubicka  <jh@suse.cz>
3992
3993         * cselib.c (cselib_current_insn_in_libcall): New static variable.
3994         (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
3995         we are inside libcall.
3996         * cselib.h (elt_loc_list): Add in_libcall.
3997         * gcse.c (do_local_cprop): Do not copy propagate using insns
3998         in libcalls.
3999
4000 2003-01-07  David Edelsohn  <edelsohn@gnu.org>
4001
4002         * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
4003         not normally affect to issue rate.
4004
4005 Tue Jan  7 21:46:57 CET 2003  Jan Hubicka  <jh@suse.cz>
4006
4007         * genopinit.c (optabs): Add addc_optab.
4008         * ifcvt.c (noce_try_store_flag): Rename to ...
4009         (noce_try_addcc): ... this one; handle generic conditional increment.
4010         (noce_process_if_block): Update noce_try_addcc call.
4011         * optabs.c (emit_conditional_add): New.
4012         (init_obtabs): Initialize addc_optab.
4013         * optabs.h (optab_index): Add OTI_addcc.
4014         (addcc_optab): New macro.
4015         * md.texi: Document addMcc
4016
4017         PR target/8322
4018         * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
4019         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
4020         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
4021
4022         * reload1.c (delete_output_reload): Avoid repeated attempts
4023         to delete insn.
4024
4025 2003-01-07  Andreas Schwab  <schwab@suse.de>
4026
4027         * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
4028         Move --enable-initfini-array check ...
4029         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here.  Define
4030         HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
4031         Don't AC_SUBST gcc_cv_initfinit_array.  Use AC_TRY_RUN.
4032         * configure: Rebuild.
4033
4034 2003-01-07  Richard Henderson  <rth@redhat.com>
4035
4036         * alias.c (find_base_value): Only use new_reg_base_value shortcut
4037         if the register is set once.
4038
4039 2003-01-07  Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
4040
4041         * config/i386/i386.c (ix86_init_mmx_sse_builtins):
4042         __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
4043         * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
4044
4045 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
4046             Sunil Davasam  <sunil.k.davasam@intel.com>
4047
4048         PR libstdc++/9076
4049         * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
4050         DW_CFA_same_value, read next and ignore.
4051
4052 2003-01-07  Richard Henderson  <rth@redhat.com>
4053
4054         * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
4055
4056 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
4057
4058         * cfg.c: Include alloc-pool.h
4059         (edge_pool): New pool.
4060         (bb_pool): New pool.
4061         (first_deleted_edge): Remove.
4062         (first_deleted_block): Remove.
4063         (init_flow): Alloc/free the pools.
4064         (free_edge): Use pools.
4065         (alloc_block): Ditto.
4066         (expunge_block): Ditto.
4067         (cached_make_edge): Ditto.
4068
4069         * Makefile.in (cfg.o): Add alloc-pool.h dependency.
4070
4071 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
4072
4073         * et-forest.c: Include alloc-pool.h.
4074         (struct et_forest): Add node_pool and occur_pool.
4075         (et_forest_create): Create the new pools.
4076         (et_forest_delete): Delete them.
4077         (et_forest_add_node): Allocate and free using pools.
4078         (et_forest_add_edge): Ditto.
4079         (et_forest_remove_node): Ditto.
4080         (et_forest_remove_edge): Ditto.
4081
4082         * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
4083
4084 2003-01-07  Kazu Hirata  <kazu@cs.umass.edu>
4085
4086         * config/h8300/h8300.c (output_logical_op): Simplify and
4087         optimize the handling of SImode.
4088         * config/h8300/h8300.c (compute_logical_op_length): Update
4089         accordingly.
4090         * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
4091
4092 2003-01-07  Richard Sandiford  <rsandifo@redhat.com>
4093
4094         * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
4095         big-endian correction to indirect arguments too.
4096
4097 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
4098
4099         Segher Boessenkool  <segher@koffie.nl>
4100
4101         * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
4102         (alt_reg_names): Ditto, fix formatting.
4103         * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
4104
4105 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
4106
4107         * config/h8300/h8300.c (final_prescan_insn): Constify uid.
4108         (output_logical_op): Constify intval and det.
4109         (compute_logical_length): Likewise.
4110         (compute_logical_cc): Likewise.
4111         (output_a_shift): Constify mask.
4112         (h8300_encode_label): Constify len.
4113
4114 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
4115
4116         * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
4117         (h8300_expand_epilogue): Likewise.
4118
4119 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
4120
4121         Segher Boessenkool  <segher@koffie.nl>
4122
4123         * config/rs6000/altivec.md: Remove spaces from assembler
4124         instruction argument lists.
4125
4126 2003-01-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
4127
4128         * config/c4x/c4x.c (c4x_naked_function_p): Rename from
4129         c4x_assembler_function_p.
4130         (c4x_null_epilogue_p): Complement return value, all uses updated.
4131         (c4x_insert_attributes): Add naked.
4132         * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
4133         * doc/extend.texi: Update C4x function attributes.
4134
4135 2003-01-06  Richard Henderson  <rth@redhat.com>
4136
4137         * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
4138         properly when changing "local-ness".
4139         * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
4140
4141 2003-01-06  Dale Johannesen  <dalej@apple.com>
4142
4143         * config/darwin-protos.h:  Add prototypes for new section functions.
4144
4145 2003-01-06  Chris Demetriou  <cgd@broadcom.com>
4146
4147         * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
4148         to EABI.
4149
4150 2003-01-06  Zack Weinberg  <zack@codesourcery.com>
4151
4152         * hwint.h: If the current compiler has no 64-bit type at all,
4153         make HOST_WIDEST_INT 32 bits.
4154
4155 2003-01-06  Eric Christopher  <echristo@redhat.com>
4156
4157         * config/mips/mips.md (movdf_internal2): Fix constraints.
4158
4159 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
4160
4161         * config/h8300/h8300.md (*twoshifts_l16_r1): New.
4162
4163 2003-01-06  Richard Sandiford  <rsandifo@redhat.com>
4164
4165         * config/mips/mips.md (leadi): Use dla rather than la.
4166
4167 2003-01-06  Svein E. Seldal  <Svein.Seldal@solidas.com>
4168
4169         * config/c4x/c4x.h: Updated specs for new gas format.  Fixed bug
4170         in C33_FLAG.  Added proper C33 support in ASM_FILE_START macro.
4171
4172 2003-01-06 Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
4173
4174         * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
4175         redefinition.
4176
4177 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
4178
4179         * config/h8300/h8300.md (*extzv_8_23): New.
4180
4181 2003-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4182
4183         * pa64-hpux.h (JCR_SECTION_NAME): Define.
4184         (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
4185         USE_EH_FRAME_REGISTRY when defining.
4186
4187 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
4188
4189         * config/h8300/h8300.c (output_a_shift): Do not output a
4190         variable shift.
4191         * config/h8300/h8300.md (two splitters): New.
4192
4193 2003-01-05  Richard Sandiford  <rsandifo@redhat.com>
4194
4195         * config/mips/mips.md: Disable the movstrsi define_split.
4196
4197 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4198
4199         * alloc-pool.c: Don't include "libiberty.h".
4200         * config/sparc/gmon-sol2.c: Include <fcntl.h>.
4201         * convert.c (convert_to_real): Hide unused variable.
4202
4203 2003-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4204
4205         * Makefile.in (gtyp-gen.h): Const-ify.
4206         * gcov-dump.c (tag_table): Likewise.
4207
4208 2003-01-04  Bruce Korb  <bkorb@gnu.org>
4209
4210         * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
4211         of *both* the file name and the fix name.
4212
4213 2003-01-04  John David Anglin  <dave.anglin@nrc.ca>
4214
4215         * config.gcc (hppa*64*-*-hpux11*): Define extra_parts.  Don't use
4216         collect2.
4217         * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
4218         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
4219         * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
4220         GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
4221         GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
4222         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
4223         elfos.h.
4224         (EH_FRAME_IN_DATA_SECTION): Delete define.
4225         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
4226         (STARTFILE_SPEC): Use crtbegin.o.
4227         (ENDFILE_SPEC): Use crtend.o.
4228         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
4229         SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
4230         PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
4231         DTOR_LIST_BEGIN): Define.
4232         * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
4233         (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
4234         * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
4235
4236 2002-12-31  Larin Hennessy  <larin@science.oregonstate.edu>
4237
4238         * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
4239         * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
4240         m88k-*-sysv3*, Sony NewsOS.   Remove references to i860.
4241         Cleanup handling of replacement text.
4242         * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
4243
4244 2003-01-04  Bruce Korb  <bkorb@gnu.org>
4245
4246         * fixinc/tests/base/math.h: removed obsolete results
4247         * fixinc/tests/base/stdlib.h: ditto
4248         * fixinc/tests/base/sys/param.h: ditto
4249         * fixinc/tests/base/sys/stat.h: ditto
4250         * fixinc/tests/base/time.h: ditto
4251         * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
4252         * fixinc/tests/base/sys/byteorder.h: ditto
4253         * fixinc/inclhack.def: Remove superfluous backslashes
4254
4255 2003-01-04  Kazu Hirata  <kazu@cs.umass.edu>
4256
4257         * config/h8300/h8300-protos.h: Add prototypes for
4258         the new functions defined below.
4259         * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
4260         define.
4261         (dosize): Emit RTL instead of assembly code.
4262         (push): Likewise.
4263         (pop): Likewise.
4264         (h8300_output_function_prologue): Remove.
4265         (h8300_expand_prologue): New.
4266         (h8300_expand_epilogue): New.
4267         (h8300_output_function_epilogue): Do only the reset of
4268         pragma_saveall.
4269         * config/h8300/h8300.md (push_h8300): New.
4270         (push_h8300hs): Likewise.
4271         (pop_h8300): Likewise.
4272         (pop_h8300hs): Likewise.
4273         (*stm_h8300s_2): Change the name to stm_h8300s_2.
4274         (*stm_h8300s_3): Change the name to stm_h8300s_3.
4275         (*stm_h8300s_4): Change the name to stm_h8300s_4.
4276         (*ldm_h8300s_2): New.
4277         (*ldm_h8300s_3): Likewise.
4278         (*ldm_h8300s_4): Likewise.
4279         (return): Likewise.
4280         (*return_1): Likewise.
4281         (prologue): Likewise.
4282         (epilogue): Likewise.
4283         (monitor_prologue): Likewise.
4284
4285 2003-01-03  Dale Johannesen  <dalej@apple.com>
4286
4287         * config/darwin.h:  (EXTRA_SECTIONS):  Add machopic_symbol_stub1,
4288           machopic_picsymbol_stub1.
4289           (EXTRA_SECTION_FUNCTIONS):  Ditto.
4290         * rs6000/rs6000.c:  Update copyright.
4291           (machopic_output_stub):  Use them.  Remove an insn from stub code.
4292
4293 2003-01-02  Jason Merrill  <jason@redhat.com>
4294
4295         * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
4296
4297         * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
4298         static/external decls.
4299
4300         * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
4301         outermost scope.
4302         * c-decl.c (c_make_fname_decl): Push the decls there, too.
4303
4304 2003-01-03  Kazu Hirata  <kazu@cs.umass.edu>
4305
4306         * config/h8300/h8300-protos.h: Add a prototype for
4307         h8300_current_function_interrupt_function_p.
4308         * config/h8300/h8300.c (interrupt_handler): Remove.
4309         (os_task): Likewise.
4310         (monitor): Likewise.
4311         (pragma_interrupt): New.
4312         (WORD_REG_USED): Use
4313         h8300_current_function_interrupt_function_p.
4314         (dosize): Likewise.
4315         (h8300_output_function_prologue): Likewise.
4316         Do not set interrupt_handler, os_task, monitor.
4317         (h8300_output_function_prologue): Use
4318         h8300_current_function_interrupt_function_p.
4319         Do not set interrupt_handler, os_task, monitor.
4320         (h8300_current_function_interrupt_function_p): New.
4321         (h8300_pr_interrupt): Set pragma_interrupt.
4322         (h8300_insert_attributes): Reset pragma_interrupt.
4323
4324 2003-01-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4325
4326         * doc/install.texi (Configuration): Fix markup for reference to
4327         gcc/config.gcc.
4328
4329 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
4330
4331         * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
4332         (*iorhi3_two_qi): Likewise.
4333         (*iorsi3_zexthi): Likewise.
4334         (*xorhi3_zextqi): Likewise.
4335         (*xorsi3_zexthi): Likewise.
4336         (*xorsi3_zextqi): Likewise.
4337
4338 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
4339
4340         * config/h8300/h8300.c (stack_pointer_operand): New.
4341         (const_int_gt_2_operand): Likewise.
4342         (const_int_ge_8_operand): Likewise.
4343         * config/h8300/h8300.md (a splitter): Likewise.
4344         (a peephole2): Likewise.
4345         * config/h8300/h8300-protos.h: Add prototypes for the new
4346         functions above.
4347
4348 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
4349
4350         * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
4351         objc/objc-act.h: Fix copyright years.
4352
4353 2003-01-02  Steven Bosscher  <s.bosscher@student.tudelft.nl>
4354
4355         * doc/passes.texi: Fix documentation for -fssa-ccp
4356
4357 2003-01-02  Neil Booth  <neil@daikokuya.co.uk>
4358
4359         * gccbug.in: Update for new categories.
4360
4361 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
4362
4363         * config/h8300/h8300.md: Reorder some patterns.
4364
4365 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
4366
4367         * config/h8300/h8300.c (output_logical_op): Fix a warning.
4368
4369 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
4370
4371         * config/darwin-protos.h, config/c4x/c4x-protos.h,
4372         config/cris/cris-protos.h, config/i370/i370-protos.h,
4373         config/i960/i960-protos.h, config/ia64/ia64-protos.h,
4374         config/v850/v850-protos.h: Use struct, and don't conditionally
4375         compile on GCC_C_PRAGMA_H.
4376
4377 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
4378
4379         * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
4380         * config/h8300/h8300-protos.h: Likewise.
4381         * config/sh/sh-protos.h: Likewise.
4382
4383 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
4384
4385         * config/arm/arm-protos.h: Use struct cpp_reader instead of
4386         cpp_reader.
4387         * config/h8300/h8300-protos.h: Likewise.
4388         * config/sh/sh-protos.h: Likewise.
4389
4390 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
4391
4392         * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
4393         arm_pr_long_calls_off): Use struct.
4394         * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
4395         : Similarly.
4396         Don't include cpplib.h.
4397         * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
4398         sh_pr_nosave_low_regs): Similarly.
4399
4400 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
4401
4402         * config/h8300/h8300.c: Include cpplib.h.
4403
4404 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
4405
4406         * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
4407           objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
4408           objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
4409           "GCC" in the copyright header.
4410
4411 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
4412
4413         * c-pragma.c (c_register_pragma): New.
4414         (init_pragma): Use it.
4415         * c-pragma.h (cpp_register_pragma): Don't declare.
4416         (c_register_pragma): New.
4417         * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
4418         * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
4419         * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
4420         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
4421         * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
4422         * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
4423         * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
4424         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
4425         * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
4426         * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
4427         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
4428         * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
4429
4430 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
4431
4432         * config/h8300/h8300-protos.h: Update the prototypes.
4433         * config/h8300/h8300.c (const_le_2_operand): Change to
4434         const_int_le_2_operand.
4435         (const_int_le_6_operand): Change to const_int_le_6_operand.
4436         * config/h8300/h8300.md (two peepholes): Update the function
4437         names.
4438
4439 2002-12-31  Tom Tromey  <tromey@redhat.com>
4440
4441         * doc/install.texi (Testing): Fixed typo.
4442
4443 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
4444
4445         * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
4446         (TRAMPOLINE_SIZE): Support the normal mode.
4447         (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
4448
4449 2002-12-31  Mark Mitchell  <mark@codesourcery.com>
4450
4451         * c-common.h (pending_lang_change): Declare.
4452
4453 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
4454
4455         * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
4456         descriptions.
4457
4458 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
4459
4460         * gcc/doc/invoke.texi (Optimization Options): List the options
4461         enabled by each -O flag.
4462
4463 2002-12-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4464
4465         * doc/install.texi (Configuration): Explicitly refer
4466         gcc/config.gcc for a list of cpu models.
4467
4468 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
4469
4470         * config/h8300/h8300.h: Fix comment typos.
4471
4472 2002-12-30  David Edelsohn  <edelsohn@gnu.org>
4473
4474         * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
4475
4476 2002-12-30  Tom Tromey  <tromey@redhat.com>
4477
4478         * doc/install.texi (Testing): Mention Jacks.
4479
4480 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
4481
4482         * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
4483
4484 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
4485
4486         * config/h8300/h8300.c (output_logical_op): Use extu.w in more
4487         cases.
4488         (compute_logical_op_length): Update to reflect the change in
4489         output_logical_op.
4490         (compute_logical_op_cc): Likewise.
4491
4492 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
4493
4494         * doc/service.texi: Uncomment and update FAQ link.
4495
4496 2002-12-30  Andreas Jaeger  <aj@suse.de>
4497
4498         * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
4499
4500 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
4501
4502         * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
4503
4504 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
4505
4506         * config/h8300/h8300.c (output_logical_op): Use extu.w if we
4507         are clearing the most significant byte.
4508         (compute_logical_op_length): Update to reflect the change in
4509         output_logical_op.
4510         (compute_logical_op_cc): Likewise.
4511
4512 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
4513
4514         * config/h8300/h8300.md: Give internal names to anonymous
4515         insns.
4516
4517 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
4518
4519         * config/h8300/h8300.md: Reorder some insns.
4520
4521 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
4522
4523         * config/h8300/h8300-protos.h: Add prototypes for
4524         const_int_qi_operand and const_int_hi_operand.
4525         * config/h8300/h8300.c (const_int_qi_operand): New.
4526         (const_int_hi_operand): Likewise.
4527         * config/h8300/h8300.md (three peepholes): New.
4528
4529 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
4530
4531         * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
4532         Use @copying.
4533
4534 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
4535
4536         * configure.in: Increase makeinfo version requirement to 4.[2-9].
4537         * configure: Regenerate.
4538         * doc/install.texi: Update Texinfo version requirement.
4539
4540 2002-12-28  Andreas Jaeger  <aj@suse.de>
4541
4542         * config/i386/i386.c (x86_function_profiler): Mark labelno as
4543         possibly unused.
4544
4545         * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
4546         correct format.
4547
4548 2002-12-27  Kazu Hirata  <kazu@cs.umass.edu>
4549
4550         * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
4551         *iorhi_ashift_8.
4552         (*iorhi_lshiftrt_8): New.
4553
4554 2002-12-27  Joseph S. Myers  <jsm@polyomino.org.uk>
4555
4556         * doc/include/texinfo.tex: Update to version 2002-12-26.16.
4557
4558 2002-12-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4559
4560         * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
4561
4562 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
4563
4564         * config/h8300/h8300-protos.h: Fix comment typos.
4565         Update copyright.
4566         * config/h8300/h8300.c: Fix comment typos.
4567
4568 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
4569
4570         * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
4571
4572 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
4573
4574         * config/i386/athlon.md: Fix comment typos.
4575         * config/i386/crtdll.h: Likewise.
4576         * config/i386/djgpp.h: Likewise.
4577         * config/i386/i386-interix.h: Likewise.
4578         * config/i386/i386.c: Likewise.
4579         * config/i386/i386.h: Likewise.
4580         * config/i386/i386.md: Likewise.
4581         * config/i386/k6.md: Likewise.
4582         * config/i386/mingw32.h: Likewise.
4583         * config/i386/pentium.md: Likewise.
4584         * config/i386/sco5.h: Likewise.
4585         * config/i386/winnt.c: Likewise.
4586         * config/i386/xmmintrin.h: Likewise.
4587
4588 2002-12-26  Jose Renau <renau@cs.uiuc.edu>
4589
4590         * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
4591         INSN_P before checking to see if it is dead.
4592         (mark_all_insn_unnecessary): Similarly.
4593         (ssa_eliminate_dead_code): Similarly.
4594         * rtl.h (struct rtx_def): Update comments for in_struct usage
4595         in dead code elimination pass.
4596         (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
4597
4598 2002-12-26  Andreas Schwab  <schwab@suse.de>
4599
4600         * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
4601
4602 2002-12-25  David Edelsohn  <edelsohn@gnu.org>
4603
4604         * config/rs6000/rs6000.c (rs6000_override_options): Convert to
4605         tartet_flags_explicit.
4606         * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
4607         Compact target_flags bits.
4608         (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
4609         (TARGET_SWITCHES): Delete references to *_SET flags.
4610
4611 Wed Dec 25 20:30:53 CET 2002  Jan Hubicka  <jh@suse.cz>
4612
4613         * i386.md (memory attribute): Fix setcc attribute.
4614
4615 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
4616
4617         * output.h: Fix comment typos.
4618         * predict.c: Likewise.
4619         * print-tree.c: Likewise.
4620         * profile.c: Likewise.
4621         * ra-build.c: Likewise.
4622         * ra-colorize.c: Likewise.
4623         * ra-debug.c: Likewise.
4624         * ra-rewrite.c: Likewise.
4625         * ra.c: Likewise.
4626         * ra.h: Likewise.
4627         * real.c: Likewise.
4628         * recog.c: Likewise.
4629         * reg-stack.c: Likewise.
4630         * regclass.c: Likewise.
4631
4632 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
4633
4634         * config/h8300/h8300.c (print_operand_address): Do not negate
4635         a negative number when printing one.
4636
4637 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
4638
4639         * config/h8300/h8300-protos.h: Add prototypes for
4640         output_plussi, compute_plussi_length, and compute_plussi_cc.
4641         * config/h8300/h8300.c (output_plussi): New.
4642         (compute_plussi_length): Likewise.
4643         (compute_plussi_cc): Likewise.
4644         * config/h8300/h8300.md (addsi_h8300h): Call
4645         output_plussi, compute_plussi_length, and compute_plussi_cc.
4646
4647 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
4648
4649         * config/h8300/h8300.md (two peepholes): Use match_dup instead
4650         of match_operand in the new patterns.
4651
4652 2002-12-24  Joseph S. Myers  <jsm@polyomino.org.uk>
4653
4654         * doc/include/texinfo.tex: Update to version 2002-11-25.11.
4655
4656 2002-12-24  Nathan Sidwell  <nathan@codesourcery.com>
4657
4658         * configure.in (enable-coverage): Add SELF_COVERAGE.
4659         * profile.c (end_branch_prob): Use SELF_COVERAGE.
4660
4661 2002-12-24  Jim Wilson  <wilson@redhat.com>
4662
4663         * alias.c (record_set): Handle multi-reg hard registers.
4664
4665 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
4666
4667         * regmove.c: Fix comment typos.
4668         * reload.c: Likewise.
4669         * reload1.c: Likewise.
4670         * resource.c: Likewise.
4671         * rtl.def: Likewise.
4672         * rtl.h: Likewise.
4673         * rtlanal.c: Likewise.
4674         * sched-deps.c: Likewise.
4675         * sched-rgn.c: Likewise.
4676         * sibcall.c: Likewise.
4677         * simplify-rtx.c: Likewise.
4678         * ssa-ccp.c: Likewise.
4679         * ssa.c: Likewise.
4680         * stmt.c: Likewise.
4681         * stor-layout.c: Likewise.
4682         * system.h: Likewise.
4683         * tlink.c: Likewise.
4684         * toplev.c: Likewise.
4685         * tracer.c: Likewise.
4686         * tree-inline.c: Likewise.
4687         * tree.c: Likewise.
4688         * tree.h: Likewise.
4689         * unroll.c: Likewise.
4690         * varasm.c: Likewise.
4691
4692 2002-12-23  Larin Hennessy  <larin@science.oregonstate.edu>
4693
4694         * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
4695         m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
4696         * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
4697         DG/UX entries.
4698         * doc/md.texi: Remove AMD 29K entries.
4699         * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
4700         1.38.1, NewsOS, RT PC, WE32K entries.
4701
4702 2002-12-23  Aldy Hernandez  <aldyh@redhat.com>
4703
4704         PR/8763
4705         * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
4706         (altivec_vspltisw_v4sf): Name pattern.
4707         (altivec_vslw_v4sf): New pattern.
4708
4709 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
4710
4711         * doc/include/gcc-common.texi: Define DEVELOPMENT.
4712
4713 2002-12-23  Mark Mitchell  <mark@codesourcery.com>
4714
4715         * stor-layout.c (update_alignment_for_field): Correct handling of
4716         unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
4717         * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
4718         bitfield does not affect alignment.
4719
4720 2002-12-23  David Edelsohn  <edelsohn@gnu.org>
4721
4722         * expr.c (expand_assignment): Apply special treatment to
4723         ARRAY_TYPE.
4724
4725 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
4726
4727         * config/h8300/h8300-protos.h: Update the prototype of
4728         expand_a_shift.
4729         * config/h8300/h8300.c (expand_a_shift): Change the return
4730         type to void.
4731         * config/h8300/h8300.md: Update all the uses of
4732         expand_a_shift.
4733
4734 2002-12-22  Nathan Sidwell  <nathan@codesourcery.com>
4735
4736         * tree.c (save_expr): Allow either side of a dyadic operand to be
4737         constant.
4738
4739         * doc/portability.texi (portability): Update portability goals.
4740
4741 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
4742
4743         * config/h8300/h8300.c (output_a_shift): Remove unused code.
4744
4745 2002-12-22  Mark Mitchell  <mark@codesourcery.com>
4746
4747         * stor-layout.c (update_alignment_for_field): Guard use of
4748         ADJUST_FIELD_ALIGN with #ifdef.
4749
4750         * stor-layout.c (update_alignment_for_field): Use
4751         ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
4752         bitfield when PCC_BITFIELD_TYPE_MATTERS.
4753
4754 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
4755
4756         * genautomata.c: Fix comment typos.
4757
4758 Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
4759
4760         * params.def (tracer-min-branch-probability-feedback): Fix default.
4761         * final.c (compute_alignments): Use profile to avoid code bloat.
4762
4763 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
4764
4765         * config/h8300/h8300.c (get_shift_alg): Make shift insn
4766         sequences end with a valid cc0 whenever possible.
4767
4768 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
4769
4770         * config/h8300/h8300.md (negsf2): New.
4771         (*negsf2_h8300): Likewise.
4772         (*negsf2_h8300hs): Likewise.
4773
4774 2002-12-21  Geoffrey Keating  <geoffk@apple.com>
4775
4776         * integrate.c (output_inline_function): Don't hold private
4777         pointers to 'struct function' over GC calls.
4778
4779 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
4780
4781         * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
4782         NO_FPSCR_VALUES.
4783         * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
4784
4785 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
4786
4787         * config/h8300/h8300.md (zero_extendqisi2): Correct the
4788         length.
4789
4790 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
4791
4792         * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
4793         second alternative "#".
4794         (*zero_extendqihi2_h8300hs): Likewise.
4795         (a define_split): New.
4796
4797 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
4798
4799         * config/h8300/h8300-protos.h: Update the prototype for
4800         split_adds_subs.
4801         Add prototypes for const_le_2_operand and const_le_6_operand.
4802         * config/h8300/h8300.c (split_adds_subs): Add an argument to
4803         specify whether inc/dec should be used when possible.
4804         (const_le_2_operand): New.
4805         (const_le_6_operand): Likewise.
4806         * config/h8300/h8300.md (two peepholes): New.
4807
4808 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
4809
4810         * config/fr30/fr30.md: Fix a comment typo.
4811         * config/i386/i386.c: Likewise.
4812         * config/ip2k/ip2k.h: Likewise.
4813
4814 2002-12-20  Jim Wilson  <wilson@redhat.com>
4815
4816         * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
4817         (__ev_subw, __ev_subiw): New.
4818         (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
4819         ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
4820
4821 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
4822
4823         * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
4824         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
4825         * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
4826         TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
4827
4828 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
4829
4830         * config/h8300/h8300-protos.h: Add prototypes for
4831         incdec_operand and eqne_operator.
4832         * config/h8300/h8300.c (incdec_operand): New.
4833         (eqne_operator): Likewise.
4834         * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
4835         (CONST_OK_FOR_O): Likewise.
4836         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
4837         CONST_OK_FOR_O.
4838         * config/h8300/h8300.md (UNSPEC_INCDEC): New.
4839         (addhi3_incdec): New.
4840         (addsi3_incdec): Likewise.
4841         (two peepholes): Likewise.
4842
4843 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
4844
4845         * config/h8300/h8300.c (dosize): Remove warnings.
4846         (print_operand): Likewise.
4847
4848 2002-12-20  Richard Henderson  <rth@redhat.com>
4849
4850         * config/alpha/alpha.c (decl_has_samegp): New.
4851         (samegp_function_operand): Use it.  Rename from
4852         current_file_function_operand.
4853         (direct_call_operand): Handle -msmall-text via symbol->jump.
4854         (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
4855         (tls_symbolic_operand_type): Likewise.
4856         (alpha_encode_section_info): Likewise.  Handle -msmall-text.
4857         (alpha_function_ok_for_sibcall): Use decl_has_samegp.
4858         (alpha_end_function): Set symbol->jump for functions defined in
4859         the text section.
4860         * config/alpha/alpha-protos.h: Update.
4861         * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
4862         (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
4863         (PREDICATE_CODES): Update.
4864         * config/alpha/alpha.md (call patterns): Update for
4865         samegp_function_operand rename; use !samegp reloc if
4866         TARGET_EXPLICIT_RELOCS.
4867         * doc/invoke.text: Document -msmall-text and -mlarge-text.
4868
4869 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
4870
4871         * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
4872         all registers capable of holding a double float.
4873         (*rcond): change name of "reverse branch" insns to
4874         something more meaningful.
4875         (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
4876         comparisons properly.
4877         (*ffs): Change operand 0 from write to read-modify-write.
4878         (*ffsssi2): Drop constraints from define_expand.
4879
4880         * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
4881         MOVE_RATIO as default for store operations.
4882
4883         * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
4884         LONG_REGS class.
4885         (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
4886         (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
4887         * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
4888
4889         * config/ns32k/STATUS: New File
4890         * config/ns32k/NOTES: New file.
4891
4892 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
4893
4894         * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
4895         option for S/390 and zSeries.
4896         * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
4897         s390_arch_string): New variables.
4898         (override_options): Checking for options and setting of
4899         appropriate target_flags, cpu and arch flags.
4900         * config/s390/s390.h: (processor_type): New enum.
4901         (TARGET_SWITCHES): New switches -mesa/zarch.
4902         * config/s390/s390.md: New attribute 'cpu'.
4903
4904 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
4905
4906         * c-pretty-print.h: Fix comment typos.
4907         * integrate.c: Likewise.
4908         * varasm.c: Likewise.
4909         * config/c4x/c4x.h: Likewise.
4910         * config/c4x/c4x.md: Likewise.
4911         * config/fr30/fr30.md: Likewise.
4912         * config/frv/frv.c: Likewise.
4913         * config/h8300/h8300.c: Likewise.
4914         * config/i386/i386.c: Likewise.
4915         * config/i386/i386.h: Likewise.
4916         * config/ia64/ia64.c: Likewise.
4917         * config/ia64/ia64.h: Likewise.
4918         * config/ip2k/ip2k.md: Likewise.
4919         * config/m68hc11/m68hc11-crt0.S: Likewise.
4920         * config/m68hc11/m68hc11.h: Likewise.
4921         * config/m68hc11/m68hc11.md: Likewise.
4922         * config/m68hc11/m68hc12.h: Likewise.
4923         * config/mcore/mcore.md: Likewise.
4924         * config/mips/mips.c: Likewise.
4925         * config/mips/mips.md: Likewise.
4926         * config/mmix/mmix-modes.def: Likewise.
4927         * config/pa/pa.c: Likewise.
4928         * config/rs6000/rs6000.c: Likewise.
4929         * config/rs6000/rs6000.h: Likewise.
4930         * config/rs6000/rs6000.md: Likewise.
4931
4932 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
4933
4934         * config/h8300/h8300.md (output_a_shift): Clean up the code to
4935         output shifts using rotation.
4936
4937 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4938
4939         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
4940
4941 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
4942
4943         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
4944         pointer.
4945         (pushqi_h8300hs): Likewise.
4946         (pushhi_h8300): Likewise.
4947         (pushhi_h8300hs): Likewise.
4948
4949 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
4950
4951         * sched-rgn.c (init_regions): Update comment.
4952
4953 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
4954
4955         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
4956         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
4957         attributes.
4958         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
4959         (get_vrsave_internal,set_vrsave_internal): Same.
4960         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
4961         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
4962         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
4963
4964 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
4965             Danny Smith  <dannysmith@users.sourceforge.net>
4966             Eric Kohl  <ekohl@rz-online.de>
4967
4968         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
4969         attributes incompatible with fastcall attribute.
4970         (ix86_handle_regparm_attribute): Likewise.
4971
4972         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
4973         fastcall types.
4974
4975         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
4976         attributes.
4977         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
4978         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
4979         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
4980         i386_pe_output_labelref rather than here.
4981         (gen_fastcall_suffix): New function. Decorates a label name with the
4982         fastcall prefix (@) and the stdcall suffix.
4983         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
4984         has a fastcall attribute.
4985         (i386_pe_output_labelref): New function. Outputs a label reference.
4986         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
4987         valid attribute.
4988         (ix86_return_pops_args): Fastcall functions pop the stack.
4989         (init_cumulative_args): Reserve registers ECX and EDX if function has
4990         fastcall attribute.
4991         (function_arg): Use registers ECX and EDX if function has fastcall
4992         attribute.
4993         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
4994         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
4995         (FASTCALL_PREFIX): Define as '@'.
4996         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
4997         attributes.
4998         * doc/extend.texi: Add documentation of fastcall attribute.
4999
5000 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
5001
5002         * configure.in: FORBUILD when build!=host changed from
5003         ../$build-alias to ../build-$build_alias to match change made
5004         in top directory.
5005         * configure: Regenerated.
5006
5007 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
5008
5009         PR optimization/8988
5010         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
5011         the biv when eliminating.
5012
5013 2002-12-19  Devang Patel  <dpatel@apple.com>
5014         * gcc.c (struct default_compiler): Recognizes input file name with
5015         .CPP extension as C++ source files
5016         * cp/lang-spec.h: Same
5017         * doc/invoke.texi:  Add documentation for .CPP support.
5018
5019 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
5020
5021         PR 8553
5022         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
5023         registers.
5024         ("absv16qi2"): Same.
5025         ("absv4si2"): Same.
5026         ("absv4sf2"): Same.
5027         ("altivec_abss_v16qi"): Same.
5028         ("altivec_abss_v8hi"): Same.
5029         ("altivec_abss_v4si"): Same.
5030
5031 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
5032
5033         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
5034         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
5035
5036 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
5037
5038         PR target/8340
5039         * stmt.c (expand_asm_operands): Produce an error when
5040         the PIC register is clobbered.
5041
5042 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
5043
5044         * Makefile.in (OBJS): Add alloc-pool.o
5045         (alloc-pool.o): New object.
5046
5047         * alloc-pool.c: New file.
5048         * alloc-pool.h: New file.
5049
5050 2002-12-18  Loren James Rittle  <ljrittle@acm.org>
5051
5052         * gcc.c (validate_switches): Robustify against skipping past '\0'.
5053
5054 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
5055
5056         * config.gcc: Set extra_objs in the generic Darwin rule,
5057         not in the machine-specific rules.
5058
5059 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
5060
5061         * ChangeLog: Follow spelling conventions.
5062         * ChangeLog.2: Likewise.
5063         * ChangeLog.4: Likewise.
5064         * ChangeLog.5: Likewise.
5065         * cppexp.c: Likewise.
5066         * df.c: Likewise.
5067         * gcov.c: Likewise.
5068         * gengtype.c: Likewise.
5069         * reload1.c: Likewise.
5070         * sched-rgn.c: Likewise.
5071         * stmt.c: Likewise.
5072         * stor-layout.c: Likewise.
5073         * timevar.c: Likewise.
5074         * toplev.c: Likewise.
5075         * tree.h: Likewise.
5076         * varasm.c: Likewise.
5077         * config/fr30/fr30.md: Likewise.
5078         * config/i386/i386.c: Likewise.
5079         * config/ia64/ia64.c: Likewise.
5080         * config/pa/pa.c: Likewise.
5081
5082 2002-12-18  Roger Sayle  <roger@eyesopen.com>
5083
5084         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
5085
5086 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
5087
5088         PR 8551
5089         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
5090         macro.
5091         (vec_cmplt C++ functions): Reverse arguments.
5092
5093 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
5094
5095         * config/rs6000/t-rs6000: Move contents to t-fprules,
5096         add rules for dependencies of rs6000.o and to build rs6000-c.o
5097         * config/rs6000/t-fprules: New file from t-rs6000.
5098         * config/rs6000/t-beos: Remove soft-fp rules.
5099         * config/rs6000/t-ppccomm: Likewise.
5100         * config/rs6000/t-newas: Likewise.
5101         * config/rs6000/t-rs6000-c-rule: Delete.
5102         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
5103         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
5104         Create generic Darwin rules.
5105
5106         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
5107
5108 2002-12-18  Doug Evans  <dje@sebabeach.org>
5109
5110         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
5111         and LIT_NAME_P.
5112         (move_src_operand): Remove compile-time warning.
5113         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
5114
5115 2002-12-18  Jason Merrill  <jason@redhat.com>
5116
5117         * unwind-dw2-fde.c (frame_downheap): Split out from...
5118         (frame_heapsort): Here.
5119
5120 2002-12-17  Jason Merrill  <jason@redhat.com>
5121
5122         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
5123         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
5124
5125         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
5126
5127         * calls.c (expand_call): Don't try to be clever about expanding
5128         the return slot address.
5129
5130 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
5131
5132         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
5133         Define.
5134
5135 2002-12-17  Jason Merrill  <jason@redhat.com>
5136
5137         * genmultilib: Use 'cd ./foo'.
5138
5139 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
5140
5141         * doc/c-tree.texi: Restore deliberate spelling mistakes.
5142
5143 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
5144
5145         * doc/c-tree.texi: Fix typos and follow spelling conventions.
5146         * doc/cpp.texi: Likewise.
5147         * doc/extend.texi: Likewise.
5148         * doc/gty.texi: Likewise.
5149         * doc/install.texi: Likewise.
5150         * doc/invoke.texi: Likewise.
5151         * doc/md.texi: Likewise.
5152         * doc/passes.texi: Likewise.
5153         * doc/rtl.texi: Likewise.
5154         * doc/sourcebuild.texi: Likewise.
5155         * doc/tm.texi: Likewise.
5156
5157 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
5158
5159         * doc/invoke.texi: Minor spelling and grammar fixes.
5160
5161 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
5162
5163         * config/s390/s390.c (s390_output_constant_pool): Replace
5164         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
5165
5166 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
5167
5168         * convert.c (convert_to_real): Disable function transformation for
5169         now.
5170
5171 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
5172
5173         * gcc.c (handle_braces): Allow '@' as a switch name.
5174
5175 2002-12-16  Jason Merrill  <jason@redhat.com>
5176
5177         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
5178         with special struct-return ABIs.
5179
5180         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
5181         doesn't match the begin SCOPE_STMT in partialness.
5182
5183 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
5184
5185         * genmultilib: Create temporary files in unique subdirectory.
5186
5187         * gcc.c (validate_switches): Allow '@' as a switch name.
5188
5189 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
5190
5191         * Makefile.in (gcov-iov.h): Improve portability.
5192
5193 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
5194
5195         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
5196         gas
5197         * mips.md (tablejump insn): Likewise.
5198
5199 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
5200
5201         * doc/include/gcc-common.texi: Change version number to 3.4.
5202
5203 2002-12-16  Bruce Korb  <bkorb@gnu.org>
5204
5205         * fixinc/fixlib.h: add: #include <signal.h>
5206         * fixinc/fixincl.c: remove: #include <signal.h>
5207
5208 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
5209
5210         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
5211         (EXTRA_CONSTRAINT): Use it.
5212         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
5213
5214 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
5215
5216         * config.gcc (need_64bit_hwint): New variable.
5217         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
5218         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
5219         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
5220         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
5221         Set it.
5222         (powerpc*-*-darwin*): Unset it.
5223         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
5224         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
5225         deleted/nonexistent xm-*.h headers.
5226         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
5227         target set need_64bit_hwint in config.gcc.
5228         * configure, config.in: Regenerate.
5229
5230         * hwint.h: Overhaul.  Don't bother trying int for
5231         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
5232         decision to force 64-bit HOST_WIDE_INT on
5233         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
5234         not visible at this point.  Don't allow prior definition of
5235         any macro defined by this file.
5236
5237         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
5238         HOST_BITS_PER_WIDE_INT.
5239         * config/c4x/c4x.h: Adjust redefinition of
5240         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
5241         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
5242         config/i386/xm-i386-interix.h: Delete file.
5243
5244 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
5245             John David Anglin  <dave@hiauly1.hia.nrc.ca>
5246
5247         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
5248         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
5249
5250 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
5251
5252         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
5253
5254 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
5255
5256         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
5257         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
5258         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
5259         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
5260         config/v850/t-v850:  Correct dependencies and normalize
5261         compilation commands for files that include coretypes.h and tm.h.
5262
5263         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
5264         not config.h and system.h.
5265
5266 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
5267
5268         * i386.c (flags_reg_operand):  New function.
5269         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
5270         * i386.md (cmov splitter, movqicc): Use new predicate.
5271
5272 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
5273
5274         * i386.md (movqicc splitter): Fix template.
5275
5276 2002-12-13  Jason Merrill  <jason@redhat.com>
5277
5278         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
5279         * calls.c (expand_call): Handle it.
5280         * tree-inline.c (struct inline_data): Remove target_exprs field.
5281         (optimize_inline_calls): Don't initialize it.
5282         (expand_call_inline): Don't modify it.  Handle
5283         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
5284         (declare_return_variable): Take return slot addr.
5285         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
5286         to return_slot_addr.
5287         * langhooks-def.h, langhooks.c: Adjust.
5288         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
5289         a decl with no DECL_INITIAL.
5290
5291         * expr.c (expand_expr): Don't discard the target of a call which
5292         returns in memory.
5293
5294 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
5295
5296         * cppinit.c (path_include): Take an environment variable name.
5297         Tidy up.
5298         (init_standard_includes): Simplify environment handling, and
5299         move to ...
5300         (cpp_read_main_file): ...here as -nostdinc should not affect
5301         environment variable paths.
5302
5303 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5304
5305         * pa.c (output_millicode_call): Correct typo.
5306         (output_call): Likewise.
5307
5308 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
5309
5310         * config/mn10300/mn10300.c (print_operand) <case N>: Check
5311         operand's range.  Print value directly, without aid from
5312         output_address.
5313         <case U>: New.
5314         <case S>: Make sure argument to fprintf has the right type.
5315         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
5316         (EXTRA_CONSTRAINT): Adjust.
5317         * config/mn10300/mn10300.md: Add new all-QImode pattern for
5318         bclr.  Use %U for immediate operands of bset and bclr.
5319         (iorqi3): New expand, with insns for AM33 and mn10300.
5320
5321 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
5322
5323         * sh.c (sh_register_operand): New function.
5324         (prepare_move_operands): Use it.
5325         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
5326         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
5327         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
5328         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
5329         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
5330         (movv2si_i): Likewise.
5331
5332 2002-12-13  Jim Wilson  <wilson@redhat.com>
5333
5334         * doc/extend.texi (Complex Numbers): Update info on debug info.
5335
5336 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
5337
5338         * config/h8300/h8300.md (addhi3_h8300): Remove the last
5339         alternative.
5340
5341 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5342
5343         * hooks.h (hook_tree_tree_bool_false): Declare
5344         hook_bool_tree_tree_false instead.
5345
5346 2002-12-12  Devang Patel  <dpatel@apple.com>
5347
5348         * doc/invoke.texi: Document Darwin linker options, -bundle
5349         -bind_at_load, -all_load and -arch_errors_fatal
5350
5351 2002-12-12  Jim Wilson  <wilson@redhat.com>
5352
5353         * dbxout.c (dbxout_fptype_value): New.
5354         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
5355
5356 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
5357
5358         * c-decl.c: Fix a comment typo.
5359         * cfg.c: Likewise.
5360         * cfgcleanup.c: Likewise.
5361         * cfglayout.c: Likewise.
5362         * cfgrtl.c: Likewise.
5363         * c-typeck.c: Likewise.
5364         * dominance.c: Likewise.
5365         * dwarf2asm.c: Likewise.
5366         * dwarfout.c: Likewise.
5367         * expmed.c: Likewise.
5368         * expr.c: Likewise.
5369         * final.c: Likewise.
5370         * flow.c: Likewise.
5371         * function.c: Likewise.
5372         * gcc.c: Likewise.
5373         * genautomata.c: Likewise.
5374         * integrate.c: Likewise.
5375         * loop.c: Likewise.
5376         * loop.h: Likewise.
5377         * output.h: Likewise.
5378         * profile.c: Likewise.
5379         * ra.h: Likewise.
5380         * reload1.c: Likewise.
5381         * reload.c: Likewise.
5382         * sched-rgn.c: Likewise.
5383         * stmt.c: Likewise.
5384         * tree.h: Likewise.
5385         * vmsdbgout.c: Likewise.
5386
5387 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
5388
5389         * config/h8300/h8300.md: Add a new peephole2.
5390
5391 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
5392
5393         * config/h8300/h8300.md (a peephole2): Accept a constant
5394         that's accepted by CONST_OK_FOR_J.
5395
5396 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
5397
5398         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
5399         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
5400         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
5401         (*addhi_h8300hs): Likewise.
5402
5403 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
5404
5405         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
5406         (sh_register_move_cost): Add clause for SImode fp-fp moves.
5407         Increase cost for moves involving multiple general purpose registers.
5408         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
5409         TARGET_FMOVD.
5410         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
5411         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
5412         (enum reg_class reg_class_from_letter): No longer const.
5413         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
5414         REGCLASS_HAS_GENERAL_REG.
5415         Handle SImode moves from/to fp registers.
5416         ! TARGET_SHMEDIA && TARGET_FMOVD.
5417         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
5418         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
5419
5420 2002-12-12  Andreas Schwab  <schwab@suse.de>
5421
5422         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
5423         change and some warnings.
5424
5425 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
5426
5427         * doc/md.texi (pushm): Fix a typo.
5428
5429 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
5430
5431         * config/mips/mips.c (mips_output_conditional_branch): Support
5432         PIC-safe out-of-range branch and branch-likely.
5433         * config/mips/mips.md (attr length): PIC-safe out-of-range
5434         branches are longer.
5435         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
5436         unused code to support indirect jumps.
5437
5438 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
5439
5440         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
5441         $(tm_file_list).
5442
5443 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
5444
5445         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
5446
5447 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
5448
5449         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
5450
5451 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5452
5453         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
5454         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
5455         BIGGEST_ALIGNMENT.
5456         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
5457         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
5458
5459 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
5460
5461         * doc/invoke.texi: Correct dump file names.
5462
5463 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
5464
5465         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
5466         name to globalize_label or assemble_name.
5467
5468 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
5469
5470         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
5471         if not TARGET_SHMEDIA.
5472
5473 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
5474
5475         * sh.h (REG_CLASS_HAS_FP_REG): New.
5476         (REGISTER_MOVE_COST) Use it.  Put body into a function and
5477         move it into:
5478         * sh.c (sh_register_move_cost).
5479         * sh-protos.h (sh_register_move_cost): Declare.
5480
5481         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
5482         (sh_adjust_cost): Always return a value.
5483
5484 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
5485
5486         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
5487         (REGISTER_MOVE_COST): Use it.
5488
5489 2002-12-11  Richard Henderson  <rth@redhat.com>
5490
5491         * tree.h (MODULE_LOCAL_P): Kill.
5492         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
5493
5494 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
5495
5496         * config/h8300/h8300.md (two define_peephole2): New.
5497
5498 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
5499
5500         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
5501         (CONST_OK_FOR_K): Likewise.
5502         (CONST_OK_FOR_M): Likewise.
5503         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
5504
5505 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
5506
5507         * c-common.c (builtin_define_type_max): Handle unsigned
5508         types too.
5509
5510 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
5511
5512         * haifa-sched.c (rank_for_schedule): Correct style.
5513
5514 2002-12-10  Per Bothner  <pbothner@apple.com>
5515
5516         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
5517         directive_index into an unsigned field and a new is_directive field.
5518         * cppinit.c (mark_named_operators):  Update to set new fields.
5519         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
5520         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
5521         No longer need to subtract 1 from directive_index.
5522         (_cpp_init_directives):  No longer need to add 1 to directive_index.
5523         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
5524
5525 2002-12-10  Roger Sayle  <roger@eyesopen.com>
5526
5527         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
5528         check for evaluating sqrt of a constant at compile time.
5529         * simplify-rtx.c (simplify_unary_operation): Likewise.
5530
5531 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
5532
5533         PR other/8882
5534         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
5535
5536 2002-12-10  Devang Patel  <dpatel@appple.com>
5537
5538         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
5539         * doc/invoke.texi: Add new "Darwin Options" section.
5540
5541 2002-12-10  Jim Wilson  <wilson@redhat.com>
5542
5543         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
5544         memory.
5545
5546 2002-12-10  Andrew Haley  <aph@redhat.com>
5547
5548         * cse.c (cse_insn): Don't cse past a basic block boundary.
5549
5550 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
5551
5552         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
5553         -shared.
5554         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
5555         * config/alpha/linux.h (LIB_SPEC): Likewise.
5556         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
5557         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
5558         * config/sparc/linux.h (LIB_SPEC): Likewise.
5559         * config/sparc/linux64.h (LIB_SPEC): Likewise.
5560
5561 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
5562
5563         * doc/invoke.texi: Document UltraSparc III option.
5564
5565 2002-12-09  Richard Henderson  <rth@redhat.com>
5566
5567         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
5568         __tune_pentium2__ and __tune_pentium3__ as necessary.
5569
5570 2002-12-09  Richard Henderson  <rth@redhat.com>
5571
5572         * target.h (gcc_target): Add cannot_force_const_mem.
5573         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
5574         (TARGET_INITIALIZER): Add it.
5575         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
5576         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
5577         * reload1.c (reload): Likewise.
5578         * hooks.c (hook_bool_rtx_false): New.
5579         * hooks.h: Declare it.
5580
5581         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
5582         (TARGET_CANNOT_FORCE_CONST_MEM): New.
5583         (ix86_expand_move): Remove de-const-pooling hack.
5584
5585 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
5586
5587         * toplev.c (dump_file): Fix order to match reality.
5588
5589 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
5590
5591         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
5592         (store_multiple): Likewise.
5593
5594 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5595
5596         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
5597         function pointers in page 0.
5598
5599 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
5600
5601         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
5602         definition
5603         (MEMBER_TYPE_FORCES_BLK): Move.
5604         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
5605         aggregate arguments.
5606         (ia64_function_value): Use PARALLEL to return aggregate values.
5607
5608 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
5609
5610         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
5611         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
5612         * calls.c (store_unaligned_arguments_into_pseudos) Remove
5613         FUNCTION_ARG_REG_LITTLE_ENDIAN.
5614         * stmt.c (expand_return): Ditto.
5615         * expr.c (move_block_from_reg): Ditto.
5616         (copy_blkmode_from_reg): Ditto.
5617         * expmed.c (store_bit_field): Ditto.
5618
5619 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
5620
5621         * config.gcc: Added tic4x-* target as an alias to c4x-*
5622
5623 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
5624
5625         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
5626         constructing insn directly.
5627
5628 2002-12-06  Per Bothner  <pbothner@apple.com>
5629
5630         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
5631         char to an int bit-field, for hosts where char is unsigned.
5632
5633 2002-12-07  Roger Sayle  <roger@eyesopen.com>
5634             Richard Henderson <rth@redhat.com>
5635
5636         * real.c (ieee_extended_motorola_format,
5637         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
5638         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
5639         Provide appropriate values for new signbit field.
5640
5641 2002-12-07  Roger Sayle  <roger@eyesopen.com>
5642
5643         * real.h (real_format): Add signbit field.
5644         * real.c (ieee_single_format, ieee_double_format,
5645         ieee_extended_motorola_format, ieee_extended_intel_96_format,
5646         ieee_extended_intel_128_format, ibm_extended_format,
5647         ieee_quad_format, vax_f_format, vax_d_format,
5648         vax_g_format, i370_single_format, i370_double_format,
5649         c4x_single_format, c4x_extended_format, real_internal_format):
5650         Provide suitable signbit value, or -1 to avoid bit twiddling.
5651
5652         * optabs.c (expand_unop): Try implementing negation of
5653         floating point modes by flipping the sign bit.
5654         (expand_abs): Try implementing abs of floating point modes
5655         by clearing the sign bit.
5656
5657 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
5658
5659         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
5660         of constructing insn directly.
5661
5662 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
5663
5664         * config/h8300/h8300.md (*iorhi_shift_8): New.
5665
5666 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
5667
5668         * doc/invoke.texi: Document FRV port options.
5669         * doc/md.texi: Document FRV register classes.
5670
5671 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5672
5673         * doc/install.texi (Configuration): Improve description of cases
5674         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
5675
5676 2002-12-06  Per Bothner  <pbothner@apple.com>
5677
5678         * cpplib.h (NODE_MACRO_ARG):  New flag.
5679         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
5680         Remove value.operator field.  Move arg_index field to value union.
5681         (directive_index):  Make signed, since also used for C++ operators.
5682         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
5683         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
5684         Save node->value, and set node->value.arg_index.
5685         (_cpp_create_definition):  For each paramater, restore node->value.
5686         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
5687         * cpptrad.c (scan_out_logical_line): Likewise.
5688         (scan_out_logical_line): Check for directive > 0.
5689         * cpplib.c (cpp_handle_directive):  Likewise.
5690         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
5691         by negative of directive_index.
5692         * cppinit.c (mark_named_operators):  Likewise.
5693
5694         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
5695
5696 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
5697
5698         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
5699         FPU.
5700         (push): Generate push_fpscr.
5701         (pop): Generate pop_fpscr.
5702         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
5703         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
5704
5705 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
5706
5707         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
5708         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
5709
5710 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
5711
5712         * sh.md (movdi_i): Name.  Remove inappropriate comment.
5713
5714 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
5715         Merged from basic improvements branch (excerpt):
5716
5717         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
5718         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
5719
5720 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
5721
5722         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
5723
5724 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
5725
5726         * i386.md (dimode peep2s): Re-add "&& 1".
5727
5728 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
5729
5730         * i386.c (ix86_expand_prologue):  Add comment, do not use
5731         fast prologues for cold and normal functions.
5732
5733 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
5734
5735         * i386.c (x86_rep_movl_optimal): New variable.
5736         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
5737         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
5738
5739         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
5740         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
5741         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
5742         generate unnecesary subregs.
5743
5744 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5745
5746         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
5747         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
5748
5749 2002-12-05  Dale Johannesen  <dalej@apple.com>
5750
5751         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
5752
5753 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
5754
5755         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
5756         PROFILE_HOOK.
5757         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
5758
5759 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
5760
5761         * config/rs6000/spe.h (__ev_mwlufi): Remove.
5762         (__ev_mwlufia): Remove.
5763         (__ev_mwlumfaaw): Remove.
5764         (__ev_mwlusfaaw): Remove.
5765         (__ev_mwlumfanw): Remove.
5766         (__ev_mwlusfanw): Remove.
5767
5768 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
5769
5770         * config/h8300/h8300.md (*andorsi3_shift_8): New.
5771
5772 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
5773
5774         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
5775         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
5776         (get_shift_alg): Return optimal assembly instructions for the
5777         shifts mentioned above.
5778
5779 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
5780
5781         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
5782         condtiional moves.
5783
5784 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
5785
5786         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
5787         implement ashiftrt:HI by 13 bits on H8S.
5788
5789 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5790
5791         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
5792         * pa.md (canonicalize_funcptr_for_compare): Output library call to
5793         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
5794         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
5795         CTOR_LIST_BEGIN): New defines.
5796         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
5797         (fptr.c): Add make rules.
5798
5799 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
5800
5801         * combine.c (combine_simplify_rtx): Add new canonicalizations.
5802         * doc/md.texi (Insn Canonicalizations): Document new
5803         canonicalizations for multiply/add combinations.
5804         * config/rs6000/rs6000.md: Add and modify floating add/multiply
5805         patterns to ensure they're used whenever they can be.
5806
5807 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
5808
5809         * config/h8300/h8300.c: Update the comments related to shifts.
5810
5811 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
5812
5813         * config/mips/mips.md (get_fnaddr): Correct length attribute.
5814
5815 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
5816
5817         * config/h8300/h8300.md (*extzv_8_8): New.
5818         (*extzv_8_16): Likewise.
5819
5820 2002-12-04  Jason Merrill  <jason@redhat.com>
5821
5822         PR c++/8461, c++/8625
5823         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
5824         references.
5825         * tree-inline.c (initialize_inlined_parameters): Likewise.
5826
5827         * tree.c (variably_modified_type_p): Just return an error_mark_node.
5828
5829 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
5830
5831         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
5832         macro instruction in a branch delay slot, to avoid assembler
5833         warnings.
5834
5835 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
5836
5837         PR c/7622
5838         * c-semantics (genrtl_scope_stmt): Do not output inlined
5839         nested functions that contain no code.
5840
5841 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
5842
5843         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
5844         to be forced into nonfallthru.
5845
5846 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
5847
5848         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
5849
5850 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
5851
5852         * config/rs6000/spe.md (*movv1di_const0): New pattern.
5853
5854 2002-12-03  Richard Henderson  <rth@redhat.com>
5855
5856         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
5857
5858 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
5859
5860         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
5861         Initialize tmp.using_obstack to 0.
5862
5863 2002-12-03  Andreas Schwab  <schwab@suse.de>
5864
5865         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
5866         (EH_RETURN_STACKADJ_RTX): Define.
5867         (EH_RETURN_HANDLER_RTX): Define.
5868         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
5869         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
5870         registers and don't save fixed registers.
5871         (m68k_output_function_prologue): Use it.
5872         (use_return_insn): Likewise.
5873         (m68k_output_function_epilogue): Likewise.
5874
5875 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
5876
5877         * config/h8300/h8300.c (single_one_operand): Fix a warning.
5878         (single_zero_operand): Likewise.
5879
5880 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
5881
5882         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
5883         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
5884         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
5885         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
5886         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
5887         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
5888         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
5889         doc/install-old.texi: Replace hconfig.h with bconfig.h.
5890         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
5891
5892 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
5893
5894         * config/rs6000/rs6000.md (ffssi): Convert to expander.
5895         (ffsdi): Likewise.
5896         (cntlzw2, cntlzd2): New patterns.
5897
5898 2002-12-02  H.J. Lu <hjl@gnu.org>
5899
5900         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
5901         (mips*-*-linux*): Remove mips/t-linux.
5902
5903 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
5904
5905         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
5906
5907 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
5908
5909         * config/h8300/h8300.c (dosize): Replace argument op with
5910         sign.
5911         (h8300_output_function_prologue): Update the call to dosize.
5912         (h8300_output_function_epilogue): Likewise.
5913
5914 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
5915
5916         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
5917
5918 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
5919
5920         * configure.in: Use "missing" script to generate warning if
5921         flex or bison programs not found, instead of invoking "false".
5922         * configure: Rebuilt.
5923
5924 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
5925
5926         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
5927
5928 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
5929
5930         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
5931
5932 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
5933
5934         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
5935         (push): Likewise.
5936         (pop): Likewise.
5937         (h8300_output_function_prologue): Likewise.
5938         (h8300_output_function_epilogue): Likewise.
5939
5940 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
5941
5942         * expmed.c (store_bit_field): Use int_mode_for_mode to find
5943         corresponding mode of non-integer mode, unless it is VOIDmode.
5944
5945 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
5946
5947         * config/h8300/h8300.md (stm_h8300s_2): New.
5948         (stm_h8300s_3): Likewise.
5949         (stm_h8300s_4): Likewise.
5950         (five define_peephole2): Likewise.
5951
5952 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
5953
5954         * ra-build.c: Fix a comment typo.
5955
5956 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
5957
5958         * i386.c (ix86_expand_int_movcc): fix
5959         reversed BRANCH_COST test; be curefull about infinite recursion.
5960
5961 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
5962
5963         * config/h8300/h8300.c (h8300_output_function_prologue):
5964         Remove variable idx.
5965         (h8300_output_function_epilogue): Likewise.
5966
5967 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
5968
5969         * config/frv/xm-frv.h: Delete, unnecessary.
5970
5971 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
5972
5973         * config/h8300/h8300.md: Add comments for define_peephole2.
5974
5975 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
5976
5977         * builtin-types.def (BT_SIZE): Use size_type_node.
5978         * builtins.c (fold_builtin): Make the builtin strlen returns a
5979         size_t, not a sizetype.
5980         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
5981         c_size_type_node.
5982         (c_alignof_expr): Likewise.
5983         (c_common_nodes_and_builtins): Likewise.
5984         * c-common.h (CTI_C_SIZE_TYPE): Remove.
5985         (c_size_type_node): Likewise.
5986         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
5987         * tree.h (TI_SIZE_TYPE): New enumeral.
5988         (size_type_node): Likewise.
5989
5990 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
5991
5992         * configure.in: Don't put ${tm_file} into host_xm_file,
5993         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
5994         Take location of tm-preds.h into account when calculating
5995         tm_p_file_list.
5996         * configure: Regenerate.
5997         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
5998         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
5999         Remove special case code for tm_p.h and *config.h; add new
6000         special case code for tm.h and tconfig.h. Clean up a bit.
6001
6002         * Makefile.in (tm_file, tm_file_list): New variables set from
6003         @-substitutions.
6004         (GCONFIG_H): Deleted.
6005         (GTM_H, TM_H): New.
6006         (CONFIG_H): Is now just config.h $(host_xm_file_list).
6007         (TM_P_H): Move up with the other mkconfig.sh-generated
6008         headers; don't mention tm-preds.h explicitly.
6009         (tm.h, cs-tm.h): New rule.
6010         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
6011         invocations of mkconfig.sh for changes to that program.
6012         (mostlyclean): Delete print-rtl1.c.
6013         (clean): Delete tm.h.
6014         Update dependencies for the files listed below.
6015
6016         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
6017
6018         * coretypes.h: New file.
6019         * system.h: #define malloc to xmalloc and realloc to xrealloc
6020         when FLEX_SCANNER or YYBISON is defined, independent of the
6021         value of GCC_VERSION.
6022         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
6023         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
6024         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
6025         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
6026         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
6027         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
6028         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
6029         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
6030         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
6031         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
6032         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
6033         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
6034         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
6035         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
6036         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
6037         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
6038         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
6039         genconstants.c, genemit.c, genextract.c, genflags.c,
6040         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
6041         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
6042         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
6043         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
6044         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
6045         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
6046         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
6047         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
6048         print-tree.c, profile.c, protoize.c, ra-build.c,
6049         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
6050         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
6051         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
6052         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
6053         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
6054         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
6055         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
6056         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
6057         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
6058         xcoffout.c, config/darwin-c.c, config/darwin.c,
6059         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
6060         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
6061         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
6062         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
6063         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
6064         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
6065         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
6066         config/i960/i960-c.c, config/i960/i960.c,
6067         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
6068         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
6069         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
6070         config/mips/irix6-libc-compat.c, config/mips/mips.c,
6071         config/mmix/mmix.c, config/mn10200/mn10200.c,
6072         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
6073         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
6074         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
6075         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
6076         config/sparc/sparc.c, config/stormy16/stormy16.c,
6077         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
6078         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
6079         Include coretypes.h and tm.h.
6080
6081         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
6082         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
6083         genrecog.c: Include coretypes.h and tm.h from the file
6084         generated by this program.
6085
6086         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
6087         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
6088         coretypes.h and tm.h, and tsystem.h when not already included.
6089         No need to include stddef.h nor stdlib.h.
6090
6091         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
6092         include auto-host.h or ansidecl.h/
6093         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
6094         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
6095         include auto-host.h, ansidecl.h, or system.h.
6096         * fixinc/server.c: Likewise.  Also, do not include signal.h,
6097         and do not redefine volatile.
6098
6099 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
6100
6101         * i386.md (movdf_integer):  Always enable in 64bit.
6102         (movdf_nointeger): Always disable in 64bit.
6103
6104 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6105
6106         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
6107         pseudo register number plus 1.
6108
6109 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
6110
6111         * expmed.c (store_bit_field): Use int_mode_for_mode to find
6112         corresponding mode of non-integer mode, unless it is VOIDmode.
6113
6114 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
6115
6116         * cpplib.c (_cpp_test_assertion): Default *value to 0.
6117
6118         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
6119
6120 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
6121
6122         * config/s390/t-crtstuff: New target makefile fragment.
6123         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
6124
6125 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
6126
6127         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
6128         alternatives to correct the length when the memory operand is
6129         either pre_dec or post_inc.
6130
6131 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
6132
6133         * config/h8300/h8300.md (an anonymous pattern): Give an
6134         internal name *tst_extzv_bitqi_1_n.
6135         Accept bit_operand instead of bit_memory_operand.
6136         Do not accept bit tests with the MSB.
6137         (*tst_extzv_memqi_1_n): New.
6138
6139 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
6140
6141         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
6142         sharing when operand is SUBREG.
6143
6144 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
6145
6146         * athlon.md (athlon-decodev): New reservation unit.
6147         (athlon-direct0): New reservation.
6148         (athlon-vector): New use athlon-decodev.
6149         (athlon-double, athlon-direct): Better model.
6150         (athlon_imul_k8): Use athlon-direct0.
6151         (athlon_movlpd_load): New insn reservation.
6152
6153 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
6154
6155         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
6156         Fix a comment typo.
6157         (h8300_tiny_constant_address_p): Likewise.
6158
6159 2002-11-28  Michael Matz  <matz@suse.de>
6160
6161         * doc/passes.texi: Mention the other register allocator.
6162
6163 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
6164
6165         * config/h8300/h8300.md (6 new peephole2 patterns): New.
6166
6167 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
6168
6169         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
6170         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
6171         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
6172
6173 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
6174
6175         * config/h8300/h8300.c (h8300_and_costs): New.
6176         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
6177         * config/h8300/h8300-protos.h: Add a prototype for
6178         h8300_and_costs.
6179
6180 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
6181
6182         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
6183         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
6184         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
6185         * i386.md (truncdfsf patterns and splitters): Use
6186         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
6187
6188 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
6189
6190         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
6191         pointer argument in the prototypes of the following builtins
6192         be (const TYPE *) rather than (TYPE *):
6193          + __builtin_altivec_ld_internal_4sf
6194          + __builtin_altivec_ld_internal_4si
6195          + __builtin_altivec_ld_internal_8hi
6196          + __builtin_altivec_ld_internal_16qi
6197          + __builtin_altivec_lvsl
6198          + __builtin_altivec_lvsr
6199          + __builtin_altivec_lvebx
6200          + __builtin_altivec_lvehx
6201          + __builtin_altivec_lvewx
6202          + __builtin_altivec_lvxl
6203          + __builtin_altivec_lvx
6204          + __builtin_altivec_dst
6205          + __builtin_altivec_dstt
6206          + __builtin_altivec_dstst
6207          + __builtin_altivec_dststt
6208
6209 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6210
6211         * except.c (default_exception_section): Move variable into the
6212         scope where it is used.
6213
6214 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
6215
6216         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
6217         correct version.
6218
6219 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
6220
6221         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
6222
6223 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
6224
6225         * config/h8300/h8300.c (h8300_shift_costs): New.
6226         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
6227         * config/h8300/h8300-protos.h: Add a prototype for
6228         h8300_shift_costs.
6229
6230 2002-11-27  Jim Wilson  <wilson@redhat.com>
6231
6232         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
6233         in output template.
6234
6235 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
6236
6237         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
6238         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
6239         DLL_IMPORT_EXPORT_PREFIX, not '@'.
6240         (i386_pe_dllimport_name_p): Likewise.
6241         (i386_pe_mark_dllexport): Likewise.
6242         (i386_pe_mark_dllimport): Likewise.
6243         (i386_pe_encode_section_info): Likewise.
6244         (i386_pe_strip_name_encoding): Likewise.
6245
6246 2002-11-27  Richard Henderson  <rth@redhat.com>
6247
6248         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
6249         (nm && NF == 3): Set sawsymbol true.
6250         (END): Exit if no symbols seen.
6251         (output): Fix map syntax error if no globals for the version.
6252
6253 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
6254
6255         * builtins.def (DEF_C99_BUILTIN): Fix.
6256
6257 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
6258
6259         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
6260         (all): Add .size and .type information.
6261
6262 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
6263
6264         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
6265         partial_reg_stall target.
6266
6267 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
6268
6269         * i386.md (movhicc): Allow general operand.
6270         (movqicc): New expander.
6271         (movqicc_noc): New pattern.
6272         * i386.c (ix86_expand_carry_flag_compare): New function.
6273         (ix86_expand_int_movcc): Optimize harder using sbb; support more
6274         HImode conversion; support QImode conditional moves
6275
6276 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
6277
6278         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
6279         (ix86_expand_prologue): Multiply the count by amount of registers to be
6280         pushed.
6281
6282 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
6283
6284         * i386.c (override_options): Error about wrong -mcpu on x86-64
6285         compilation.
6286
6287 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
6288
6289         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
6290
6291 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
6292
6293         * i386-protos.h (x86_extended_QIreg_mentioned_p,
6294         x86_extended_reg_mentioned_p): Declare.
6295         * i386.c (extended_reg_mentioned_1): New static function.
6296         (x86_extended_QIreg_mentioned_p,
6297         x86_extended_reg_mentioned_p): New global functions.
6298         * i386.h (REX_SSE_REGNO_P): New macro.
6299         * i386.md (prefix_rex): New attribute.
6300         (length attribute): Add rex.
6301
6302 2002-11-26  Andrew Haley  <aph@redhat.com>
6303
6304         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
6305         from_Unwind_Find_Enclosing_Function.
6306         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
6307         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
6308         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
6309         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
6310         * unwind.h (_Unwind_FindEnclosingFunction): Add.
6311
6312 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
6313
6314         * config/s390/s390.c (390_output_constant_pool): Set alignment
6315         before label in 64 bit mode, behind otherwise.
6316
6317 2002-11-26  Richard Henderson  <rth@redhat.com>
6318
6319         * c-common.c (handle_visibility_attribute): Accept "default".
6320         * tree.h (enum symbol_visibility): New.
6321         (decl_visibility): Declare.
6322         * target.h (gcc_target.visibility): Take visibility arg as integer.
6323         * varasm.c (default_assemble_visibility): Likewise.
6324         (decl_visibility): New.
6325         (maybe_assemble_visibility): Use it.
6326         * output.h (default_assemble_visibility): Update prototype.
6327         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
6328         visibility arg as integer.
6329         * doc/extend.texi: Document default visibility.
6330
6331 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
6332
6333         * config/h8300/h8300.c: Adjust spacing.
6334         * config/h8300/h8300.h: Likewise.
6335
6336 2002-11-26  Richard Henderson  <rth@redhat.com>
6337
6338         * hooks.c (hook_bool_void_false, hook_void_tree_int,
6339         hook_void_FILEptr_constcharptr): Rename so that the return
6340         type is first.
6341         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
6342         hook_bool_tree_false): New.
6343         * hooks.h: Update.
6344         * langhooks-def.h: Update for renames.
6345         * target-def.h: Likewise.
6346         * tree.c (default_comp_type_attributes,
6347         default_set_default_type_attributes, default_insert_attributes,
6348         default_function_attribute_inlinable_p,
6349         default_ms_bitfield_layout_p): Remove.
6350         * tree.h: Update.
6351
6352 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6353
6354         * pa-protos.h (function_value): New prototype.
6355         * pa.c (function_value): Use a PARALLEL to return small aggregates on
6356         TARGET_64BIT.
6357         * pa.h (FUNCTION_VALUE): Use function_value.
6358         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
6359         call_value_internal_reg, sibcall_value_internal_symref,
6360         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
6361         value.
6362
6363 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6364
6365         * expr.c (gen_group_rtx, emit_group_move): New functions.
6366         * expr.h (gen_group_rtx, emit_group_move): Prototype.
6367         * function.c (expand_function_start): Use gen_group_rtx to create a
6368         PARALLEL rtx to hold the return value when the real return rtx is a
6369         PARALLEL.
6370         (expand_function_end): Use emit_group_move to move the return value
6371         from a PARALLEL to the real return registers.
6372         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
6373         in PARALLELs.
6374
6375 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
6376
6377         * config/t-libc-ok: Fix typo.
6378
6379 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
6380
6381         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
6382         before AC_PROG_CC.
6383         * configure: Rebuilt.
6384
6385 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
6386
6387         * c-decl.c: (start_struct): Commonize flag setting.
6388
6389 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
6390
6391         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
6392         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
6393         RS6000_CPU_CPP_ENDIAN_BUILTINS.
6394         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
6395
6396 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
6397
6398         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
6399         insns.
6400         * config/s390/s390.c (struct machine_function): Introduction of
6401         struct machine_function.
6402         (s390_output_symbolic_const): Use of cfun.
6403         (s390_optimize_prolog): Likewise.
6404         (s390_fixup_clobbered_return_reg): Likewise.
6405         (s390_frame_info): Likewise.
6406         (s390_emit_prologue, s390_emit_epilogue): Likewise.
6407         (s390_init_machine_status): New function.
6408         (override_options): call s390_init_machine_status.
6409         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
6410         prototype.
6411
6412 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
6413
6414         * varasm.c (output_constant_pool): For pool constants in mergeable
6415         section ensure each constant is padded to multiple of entity size.
6416
6417 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
6418
6419         * varasm.c (default_exception_section): Move to...
6420         * except.c (default_exception_section): ... here. Make
6421         .gcc_except_table read-only if it is not expected to have any
6422         dynamic relocations and linker handles it.
6423         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
6424         if it is not expected to have any dynamic relocations and linker
6425         handles it.
6426         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
6427         when linking read-only and read-write sections together.
6428         * configure, config.in: Rebuilt.
6429         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
6430         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
6431
6432 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
6433
6434         * i386.md (pushsf_rex64): Fix typo.
6435
6436 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
6437
6438         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
6439         new function.
6440         (__ev_create_ufix32_fs): Same.
6441         (__ev_get_sfix32_fs_internal): New.
6442         (__ev_get_sfix32_fs): Define to use function.
6443         (__ev_get_ufix32_fs_internal): New.
6444         (__ev_get_ufix32_fs): Define to use function.
6445         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
6446         (__ev_get_lower_ufix32_fs): Same.
6447         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
6448         (__ev_get_lower_sfix32_fs): Same.
6449         (__ev_set_sfix32_fs_internal): New.
6450         (__ev_set_ufix32_fs_internal): New.
6451         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
6452         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
6453         (__ev_set_upper_sfix32_fs): Call function.
6454         (__ev_set_lower_sfix32_fs): Same.
6455         (__ev_set_upper_ufix32_fs): Same.
6456         (__ev_set_lower_ufix32_fs): Same.
6457
6458 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
6459
6460         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
6461
6462 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
6463
6464         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
6465         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
6466         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
6467         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
6468         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
6469         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
6470         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
6471         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
6472         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
6473         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
6474         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
6475         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
6476         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
6477         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
6478         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
6479         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
6480         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
6481         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
6482         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
6483         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
6484         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
6485         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
6486         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
6487         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
6488         defining.
6489         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
6490         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
6491
6492 2002-11-25  Dave Pitts  <dpitts@cozx.com>
6493
6494         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
6495
6496 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
6497
6498         * config/h8300/h8300.md (an anonymous pattern): New.
6499
6500 2002-11-25  Richard Henderson  <rth@redhat.com>
6501
6502         * alias.c (find_base_value): Use new_reg_base_value if it's live.
6503         (copying_arguments): Make boolean.
6504
6505 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
6506
6507         * gcc.c (static_spec_functions): Add if-exists-else spec
6508         function.
6509         (if_exists_else_spec_function): New function.
6510         * doc/invoke.texi: Document the if-exists-else spec function.
6511
6512         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
6513         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
6514
6515 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
6516
6517         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
6518         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
6519         "${tmake_file} rs6000/t-netbsd".
6520         * config/rs6000/netbsd.h: Rewrite.
6521         * config/rs6000/t-netbsd: New file.
6522
6523 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
6524
6525         * config/h8300/h8300.md (an anonymous pattern): Relax the
6526         condition for the pattern.
6527
6528 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
6529
6530         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
6531         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
6532         evmwlssfanw, evmwlsmfanw.
6533
6534         * config/rs6000/rs6000.c (bdesc_2arg): Same.
6535
6536         * config/rs6000/spe.md: Same for patterns.
6537
6538 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
6539
6540         PR c/8639
6541         * fold-const.c (extract_muldiv): Don't propagate division unless
6542         both arguments are multiples of C.
6543
6544 2002-11-25  Andrew Haley  <aph@redhat.com>
6545
6546         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
6547         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
6548         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
6549         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
6550
6551 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
6552
6553         * i386.c (x86_use_ffreep): New global variable.
6554         * i386.h (x86_use_frfeep): Declare
6555         (TARGET_USE_FFREEP): New macro
6556         * i386.md  (movs?f*): Use freep when asked for.
6557         (push?f): Remove dead code.
6558
6559 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
6560
6561         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
6562         target help message.
6563
6564 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
6565
6566         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
6567         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
6568         crtbeginT.o".
6569         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
6570         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
6571         to "" for a.out configurations.
6572         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
6573
6574 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
6575
6576         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
6577         NETBSD_CPP_SPEC directly.
6578         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
6579         netbsd_endfile_spec.
6580         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
6581
6582 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
6583
6584         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
6585         NETBSD_STARTFILE_SPEC.
6586         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
6587         (ENDFILE_SPEC): Likewise.
6588         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
6589
6590 2002-11-24  Andreas Schwab  <schwab@suse.de>
6591
6592         * Makefile.in (install-driver): Remove versioned link before
6593         trying to create it.
6594
6595         * config/m68k/m68k.c: Fix typo in last change defining
6596         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
6597
6598 2002-11-23  H.J. Lu <hjl@gnu.org>
6599
6600         * aclocal.m4: Include ../config/accross.m4.
6601         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
6602         (gcc_AC_C_COMPILE_ENDIAN): Removed.
6603         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
6604         instead of $ac_cv_c_compile_endian.
6605
6606         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
6607         AC_COMPILE_CHECK_SIZEOF.
6608         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
6609         * configure: Rebuild.
6610
6611 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
6612
6613         * config/h8300/h8300.c (print_operand): Update the use of
6614         h8300_tiny_constant_address_p.
6615         (h8300_adjust_insn_length): Likewise.
6616         (h8300_tiny_constant_address_p): Check if the given rtx is a
6617         variable declared with __attribute__ ((tiny_data)).
6618
6619 2002-11-22  Dale Johannesen  <dalej@apple.com>
6620
6621         * toplev.c (rest_of_compilation):  Fix comments.
6622
6623 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
6624
6625         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
6626         allow mmap from /dev/zero.  Don't make decisions for the host
6627         based on presence or absence of /dev/zero on the build machine.
6628         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
6629         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
6630         * configure: Regenerate.
6631
6632 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
6633
6634         * gcc.c (make_relative_prefix, split_directories)
6635         (free_split_directories): Removed.
6636
6637 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
6638
6639         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
6640         * configure: Regenerated.
6641
6642 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
6643
6644         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
6645         length computation when xor.l is output.
6646
6647 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
6648
6649         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
6650         (call_vms_1, call_value_vms_1): Cleanup syntax.
6651
6652 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
6653
6654         * athlon.md (define_atuomaton): Add athlon_load.
6655         (athlon-double): New reservation.
6656         (athlon-ieu0): New CPU unit.
6657         (athlon-load?): Use athlon_load automaton.
6658         (*_k8 reservations): New.
6659         (other insn revervations): Activate for K8.
6660
6661 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
6662
6663         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
6664
6665 2002-11-21  Jim Wilson  <wilson@redhat.com>
6666
6667         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
6668         vectors to SI.
6669
6670 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
6671
6672         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
6673         * config/xtensa/xtensa.c (struct machine_function): Add
6674         incoming_a7_copied flag.
6675         (xtensa_copy_incoming_a7): Define.
6676         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
6677         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
6678
6679 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
6680
6681         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
6682         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
6683         x86_64_nonmemory_operand, x86_64_movabs_operand,
6684         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
6685         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
6686         (local_symbolic_operand): Do not care the 64bit limits.
6687         (x86_64_sign_extended_value): Remove allow_rip support.
6688         (legitimate_pic_address_disp_p): Handle all cases allowed
6689         with RIP addressing.
6690         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
6691         (legitimize_pic_address): Reorganize.
6692         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
6693
6694 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
6695
6696         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
6697         * config/arm/netbsd-elf.h: New file.
6698
6699 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
6700
6701         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
6702         subtarget_asm_float_spec.
6703         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
6704         defaults from...
6705         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
6706
6707 2002-11-21  Nick Clifton  <nickc@redhat.com>
6708
6709         * config/fr30/fr30.md (movsf_constant_store): Move code to
6710         detect 0.0 into fr30.c.
6711         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
6712         Prototype.
6713         * config/fr30/fr30.c (fr30_const_double_is_zero): New
6714         function.  Return true if the rtx is 0.0.
6715
6716 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
6717
6718         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
6719         if -mlittle-endian is specified.
6720
6721 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
6722
6723         PR optimization/2903
6724         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
6725         (anddi_notsesidi_di): Likewise.
6726
6727 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
6728
6729         * config/h8300/h8300.c (print_operand): Use
6730         h8300_eightbit_constant_address_p and
6731         h8300_tiny_constant_address_p.
6732         (h8300_adjust_insn_length): Likewise.
6733         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
6734         (TINY_CONSTANT_ADDRESS_P): Likewise.
6735         (OK_FOR_U): Use eightbit_constant_address_p.
6736
6737 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
6738
6739         * config/s390/libgcc-libc.ver: Add multilib support.
6740         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
6741         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
6742         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
6743         EXTRA_MULTILIB_PARTS): Define.
6744
6745 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
6746
6747         * arm.c (arm_get_frame_size): A leaf function does not need its
6748         stack padding to an aligned boundary if it has no frame.
6749         (thumb_get_frame_size): Likewise.
6750
6751 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
6752
6753         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
6754         (override_options): Likewise.
6755
6756 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
6757
6758         * config.gcc: Add k8 target alias support
6759         * i386.c (_cost): Declare costs for various variants of divides and
6760         multiplies.
6761         (k8_cost): New.
6762         (m_K8, m_ATHLON_K8): New macros.
6763         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
6764         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
6765         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
6766         x86_integer_DFmode_moves, x86_partial_reg_dependency,
6767         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
6768         x86_prologue_using_move, x86_epilogue_using_move,
6769         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
6770         x86_sse_typeless_stores): Set for K8
6771         (override_options): Add k8 support; fix athlon alignment;
6772         complain about non-x86-64 capable CPU being used in x86-64 compilation.
6773         (ix86_issue_rate): Set for K8.
6774         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
6775         x86_machine_dependent_reorg): Handle K8 like
6776         * i386.h
6777         (x86_costs):  Change mult_init and divide into array.
6778         (TARGET_K8, TARGET_ATHLON): New macros.
6779         (MODE_INDEX): New macro.
6780         (RTX_COST): Use new costs.
6781         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
6782         (TARGET_CPU_DEFAULT_NAMES): Add k8
6783         (TARGET_CPU_DEFAULT_k8): New constant
6784         (enum processor_type): Add PROCESSOR_K8.
6785         * i386.md (cpu attribute): Add k8.
6786
6787         * invoke.texi: Document -march=k8.
6788
6789         * i386.md (type attribute): Add leave
6790         (mode attribute): Remove unknownfp.
6791         (length_immediate, modrm, memory attributes): Handle leave correctly.
6792         (fp comparison patterns): Determine FP mode.
6793         (leave, leave_rex64): Remove special cases.
6794         * ppro.md (ppro_uops, ppro_p2): Add leave
6795         * pentiun.md (pent_pop): Handle leave too.
6796         * k6.md (k6_load): Handle leave.
6797         * athlon.md (athlon_leave, athlon_pop): Fix.
6798         (athlon_decode): Handle leave.
6799
6800 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
6801
6802         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
6803         to component type using GET_MODE_INNER.
6804         * expr.c (emit_move_insn_1): Ditto.
6805         * optabs.c (expand_binop): Ditto.
6806         (expand_unop): Ditto.
6807         (expand_complex_abs): Ditto.
6808
6809 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
6810
6811         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
6812
6813 2002-11-20  DJ Delorie  <dj@redhat.com>
6814
6815         * config/stormy16/stormy16.c (s16builtins,
6816         xstormy16_init_builtins, xstormy16_expand_builtin): New.
6817         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
6818
6819 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
6820
6821         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
6822         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
6823         (executing gencheck, genconfigs, genconditions, genflags,
6824         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
6825         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
6826         gengtype, genprotos): Prepend $(RUN_GEN).
6827         * configure.in: Move host compiler tests before --enable-checking
6828         tests.
6829         (--enable-checking=valgrind): New.
6830         * config.in, configure: Regenerate.
6831         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
6832         Define as empty.
6833         (read_include_file): When doing the mmap+1 trick,
6834         valgrind-annotate the byte after the mmap:ed area as readable.
6835         (purge_cache): Remove above annotation.
6836         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
6837         VALGRIND_PATH -q to each command.
6838
6839         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
6840         Define as empty.
6841         (ggc_realloc): Update valgrind annotations.
6842         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
6843         Define as empty.
6844         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
6845         valgrind-annotate memory.
6846
6847 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
6848
6849         * recog.c (constrain_operands): Prefer exact match over reloadable
6850         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
6851
6852         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
6853         operands in Pmode.
6854
6855 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
6856
6857         PR c/8518
6858         * c-decl.c (duplicate_decls): Outline the second definition
6859         of an extern inline function in all cases.
6860
6861 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
6862
6863         * stor-layout.c (place_field): Update rli->offset as well as
6864         rli->bitpos.
6865
6866 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
6867
6868         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
6869
6870 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
6871
6872         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
6873         into a libcall block.
6874         (divsi3): Likewise divsi3_i4_media.
6875
6876 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
6877
6878         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
6879         out another register.
6880
6881 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
6882
6883         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
6884         (not just mask) are set in C.
6885
6886 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
6887
6888         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
6889
6890 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6891
6892         * profile.c (index_counts_file): Fix obvious mistake.
6893
6894 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6895
6896         * Makefile.in (profile.o): Add hashtab.h dependency.
6897         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
6898         * profile.c: Include hashtab.h.
6899         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
6900         cleanup_counts_index, index_counts_file, struct section_reference,
6901         struct da_index_entry, counts_file_name, counts_file_index): New.
6902         (get_exec_counts, init_branch_prob): Modified.
6903
6904 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
6905
6906         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
6907         to tmake_file. Remove setting gas and gnu_ld here.
6908         * config/sh/libgcc-glibc.ver: New file.
6909         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
6910         (SHLIB_MAPFILES): New.
6911         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
6912         (MD_STARTFILE_PREFIX): Likewise.
6913         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
6914         (DWARF2_UNWIND_INFO): Redefine.
6915         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
6916         (LINK_EH_SPEC): Redefine.
6917         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
6918         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
6919         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
6920         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
6921         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
6922         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
6923         SH_DWARF_FRAME_FPSCR): Likewise.
6924         * config/sh/sh-protos.h (sh_set_return_address): Declare.
6925         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
6926         registers if the current function calls EH return.
6927         (sh_expand_epilogue): Handle EH stack adjustments.
6928         (sh_set_return_address): New function.
6929         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
6930         Don't abort even if the number is mapped to -1.
6931         (EH_RETURN_DATA_REGNO): Define.
6932         (EH_RETURN_STACKADJ_RTX): Define.
6933         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
6934         (eh_return): New pattern.
6935         (eh_set_ra_di, eh_set_ra_si): Likewise.
6936         Add splitter to perform EH return after reload.
6937
6938 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
6939
6940         * stor-layout.c (excess_unit_span): New function.
6941         (place_field): Use it.
6942
6943 2002-11-19  Andreas Schwab  <schwab@suse.de>
6944
6945         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
6946         not valid in C++.
6947
6948 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
6949
6950         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
6951         * configure: Regenerate.
6952
6953 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
6954
6955         * convert.c (strip_float_extensions): New function.
6956         (convert_to_real): Optimize some cases.
6957
6958 2002-11-19  Andreas Jaeger  <aj@suse.de>
6959
6960         * loop.c (record_giv): Initialize not_replaceable.
6961         (check_final_value): Likewise.
6962
6963 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
6964
6965         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
6966         MASK_H8300S.
6967
6968 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
6969
6970         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
6971         only if -mh or -ms present.
6972         (h8300_eightbit_constant_address_p): Support the normal mode.
6973         (h8300_tiny_constant_address_p): Likewise.
6974         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
6975         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
6976         (Pmode): Evaluate to HImode for the normal mode.
6977         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
6978         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
6979         (ASM_WORD_OP): Evaluate to word for the normal mode.
6980         * config/h8300/h8300.md (tablejump_normal_mode): New.
6981         (indirect_jump_normal_mode): New.
6982         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
6983         directory.
6984         (MULTILIB_DIRNAMES): Create target dependent directory
6985         'normal'.
6986         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
6987         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
6988
6989 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
6990
6991         * i386.md (length_immediate): Do not refer to insn address.
6992         (jcc*, jmp patterns):  Compute length explicitly.
6993
6994 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
6995
6996         PR c/8588
6997         * optabs.c (expand_binop): Convert CONST_INTs in shift
6998         operations too.
6999
7000 2002-11-19  Roger Sayle  <roger@eyesopen.com>
7001
7002         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
7003
7004 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
7005
7006         * config/h8300/h8300.md (an anonymous pattern): Relax the
7007         condition to accept the same operands and/or subregs.
7008
7009 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
7010
7011         * config/sh/sh.c (gen_shl_and): Revert previous patch.
7012         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
7013         reload_completed.
7014
7015 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
7016
7017         * config/h8300/h8300.c (print_operand): Update the use of
7018         EIGHTBIT_CONSTANT_ADDRESS_P.
7019         (h8300_adjust_insn_length): Likewise.
7020         (h8300_eightbit_constant_address_p): Check if the given rtx is
7021         a variable with __attribute__((eightbit_data)).
7022         * config/h8300/h8300.h (OK_FOR_U): Update the use of
7023         EIGHTBIT_CONSTANT_ADDRESS_P.
7024
7025 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7026
7027         * doc/contrib.texi (Contributors): Add self as second contact in
7028         addition to Jeff Law.
7029
7030 2002-11-19  Andreas Jaeger  <aj@suse.de>
7031
7032         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
7033         find_alloca_call to right place.
7034
7035 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
7036
7037         * cppfiles.c: Fix formatting.
7038
7039 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
7040
7041         * gcc.c (The Specs Language): Document spec functions.
7042         (static_spec_functions, lookup_spec_function)
7043         (eval_spec_function, handle_spec_function)
7044         (if_exists_spec_function, alloc_args): New.
7045         (execute): Abort if processing_spec_function is true.
7046         (do_spec_1): Hand off spec to handle_spec_function if %:
7047         is encountered.  If processing_spec_function is true,
7048         end any pending argument when the end of the string is reached.
7049         (main): Use alloc_args to allocate the initial argument vector.
7050         * gcc.h (struct spec_function): New.
7051         (lang_specific_spec_functions): New extern.
7052
7053         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
7054         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
7055         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
7056
7057         * doc/invoke.texi: Document spec functions.
7058
7059         * cppspec.c (lang_specific_spec_functions): New.
7060         * gccspec.c: Likewise.
7061
7062 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
7063
7064         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
7065         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
7066         (fixunstfsi_libfunc): Change.
7067         (fixunstfdi_libfunc): Change.
7068         (sdiv_optab): Don't zero out SImode handler.
7069         (udiv_optab): Don't zero out SImode handler.
7070         (smod_optab): Don't zero out SImode handler.
7071         (umod_optab): Don't zero out SImode handler.
7072
7073 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
7074
7075         PR preprocessor/8524
7076         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
7077         Add a new one in its place, which hopefully works.
7078         (skip_rest_of_line): Change test for bottom-of-context-stack.
7079
7080 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
7081
7082         * i386.md (addqi_1_slp): Fix output template.
7083         (subqi_1_slp): Fix type.
7084
7085 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
7086
7087         * calls.c (alloca_call_p): New global function.
7088         * tree.h (alloca_call_p): New.
7089         * tree-inline.c (inlinable_function_p):  Do not inline when
7090         function calls alloca.
7091         (find_alloca_call, find_alloca_call_1): New functions.
7092
7093 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
7094
7095         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
7096         bst.  Update the insn length.
7097         (*andorhi3): Likewise.
7098         (*andorsi3): Likewise.
7099
7100 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
7101
7102         * config/sh/sh-protos.h (sh_mark_label): Declare.
7103         * config/sh/sh.c (sh_mark_label): New function, taken from
7104         movdi_const, but fixing the case when the address has an addend.
7105         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
7106
7107 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
7108
7109         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
7110         (add_constant): Set it.
7111         (dump_table): Don't reorder a constant if part_of_sequence_p.
7112         (machine_dependent_reorg): Assume that float constants will
7113         stay in their original order if used as a sequence.
7114
7115 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
7116
7117         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
7118         in compact code.
7119
7120 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
7121
7122         * config/sh/sh.md (initialize_trampoline): Do not force the
7123         trampoline address into R0_REGS here.
7124
7125 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
7126
7127         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
7128         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
7129         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
7130         generate unnecesary subregs.
7131
7132 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
7133
7134         * df.c: Fix formatting.
7135
7136 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
7137
7138         * config/h8300/h8300.md (two anonymous patterns): Fix insn
7139         lengths.
7140
7141 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
7142
7143         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
7144         is not an arith_reg_operand.
7145
7146 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
7147
7148         * real.c (real_to_decimal): Fix buffer overrun when buffer size
7149         is smaller than representation.
7150
7151 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
7152
7153         * builtins.c: Fix formatting.
7154
7155 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
7156
7157         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
7158         floats?dff2_i387):
7159         Work around regclass stupidity.
7160         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
7161
7162 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
7163
7164         * i386.md (fop_df_6): New pattern.
7165         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
7166         (fop_xf_6): Rewrite
7167         (fop_xf_7): Delete.
7168         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
7169         (fop_tf_6): Rewrite
7170         (fop_tf_7): Delete.
7171
7172 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
7173
7174         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
7175
7176 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
7177
7178         * config/h8300/h8300.md: Fix formatting.
7179
7180 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
7181
7182         * config/h8300/h8300.md: Replace spaces with tabs.
7183         * config/h8300/t-h8300: Remove a trailing empty line.
7184
7185 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
7186
7187         * tlink.c: Fix formatting.
7188
7189 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
7190
7191         PR 8362
7192         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
7193         * config/rs6000/rs6000.md (movti_string): Remove output modifier
7194         when scratch register never needed.
7195         (ldmsi[3-8]): New patterns.
7196
7197 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
7198
7199         * hard-reg-set.h: Follow spelling conventions.
7200         * real.c: Likewise.
7201         * target.h: Likewise.
7202
7203 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
7204
7205         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
7206
7207 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
7208
7209         * optabs.c: Fix formatting.
7210
7211 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
7212
7213         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
7214         * i386.md (attribute type): Add type shift1 and rotate1.
7215         (*_slp): Rewrite to have just two operands to avoid reload problems.
7216
7217 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
7218
7219         * config/h8300/h8300.md (4 anonymous patterns): New.
7220
7221 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
7222
7223         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
7224         * doc/invoke.texi: Correct description of what needs to be done to
7225         force collection at every ggc_collect call.
7226
7227 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
7228
7229         * config/s390/s390.c (optimization_options): Set
7230         flag_asynchronous_unwind_tables to 1 by default.
7231
7232 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
7233
7234         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
7235
7236 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
7237
7238         * i386-protos.h (x86_function_profiler): New function
7239         * i386.h (MCOUNT_NAME): New.
7240         (PROFILE_COUNT_REGISTER): New.
7241         (FUNCTION_PROFILER): Move offline to ...
7242         * i386.c (x86_function_profiler) ... here; fix 64bit support
7243         * beos-elf.h (FUNCTION_PROFILER): Kill.
7244         (MCOUNT_NAME): New.
7245         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
7246         (MCOUNT_NAME): New.
7247         (PROFILE_COUNT_REGISTER): New.
7248         * linux.h (FUNCTION_PROFILER): Kill.
7249         (MCOUNT_NAME): New.
7250         * x86-64.h (FUNCTION_PROFILER): Kill.
7251         (MCOUNT_NAME): New.
7252         * freebsd.h (FUNCTION_PROFILER): Kill.
7253         (MCOUNT_NAME): New.
7254
7255 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
7256
7257         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
7258         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
7259         * config/arm/arm.c (arm_va_arg,
7260         arm_function_arg_pass_by_reference): New.
7261         * config/arm/arm-protos.h: Add prototypes.
7262
7263 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
7264
7265         * gthr-single.h: Fix formatting.
7266
7267 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
7268
7269         * tree.c (tree_vec_elt_check_failed): New function.
7270         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
7271         (TREE_VEC_ELT): Use it.
7272
7273         * tree-inline.c (optimize_inline_calls): Don't copy a
7274         zero-length vector.
7275
7276 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7277
7278         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
7279
7280 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
7281
7282         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
7283         both operands contain local relocations.
7284         (categorize_decl_for_section): Don't use mergeable sections if
7285         initializer has any relocations.
7286
7287 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
7288
7289         * gthr-vxworks.h: Fix formatting.
7290
7291 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
7292
7293         * doc/install.texi (Testing): Document extra Java testing.
7294         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
7295
7296 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7297
7298         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
7299         beginning of the spec.
7300         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
7301         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
7302         regarding problems with global constructors when using GNU ld.
7303
7304 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
7305
7306         * gthr-solaris.h: Fix formatting.
7307
7308 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
7309
7310         * gthr-posix.h: Fix formatting.
7311
7312 2002-11-12  Devang Patel <dpatel@apple.com>
7313         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
7314         (process_command): Same.
7315         * doc/invoke.texi: Info about these two new options.
7316
7317 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
7318
7319         * config/h8300/h8300.md (*andorsi3): New.
7320
7321 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7322
7323         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
7324
7325 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
7326
7327         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
7328         expressions appropriately.
7329
7330 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
7331
7332         * gthr-win32.h: Fix formatting.
7333
7334 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
7335
7336         * config/h8300/h8300.c (single_one_operand): Correctly compute
7337         mask when mode is SImode.
7338         (single_zero_operand): Likewise.
7339         * config/h8300/h8300.md (two new anonymous insns): New.
7340
7341 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7342
7343         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
7344         to that entire project.
7345
7346 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7347
7348         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
7349         directories.
7350
7351 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
7352
7353         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
7354         * doc/invoke.texi: Document them.
7355
7356         * ggc-page.c: Include params.h.  Remove definitions of
7357         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
7358         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
7359         (init_gcc): Don't set G.allocated_last_gc here.
7360         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
7361         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
7362         perform collection.
7363         * ggc-simple.c: Similarly.
7364         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
7365         dependencies.
7366
7367 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
7368
7369         * gthr-dce.h: Fix formatting.
7370
7371 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7372
7373         PR c/8467
7374         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
7375         mode of DECL_RTL case.
7376
7377 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
7378
7379         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
7380
7381 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
7382
7383         * i386.c (construct_container): Fix handling of SSE_CLASS.
7384
7385 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
7386
7387         * config/m68k/t-crtstuff (crti.o): Use this...
7388         ($(T)crti.o): ... instead.
7389         (crtn.o): Use this...
7390         ($(T)crtn.o): ... instead.
7391
7392 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
7393
7394         PR c/8439
7395         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
7396         if there is something new to be simplified.
7397
7398 2002-11-10  H.J. Lu <hjl@gnu.org>
7399
7400         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
7401         * expr.c (PUSH_ARGS_REVERSED): Likewise.
7402
7403         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
7404
7405 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
7406
7407         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
7408         * config/rs6000/linux.h, config/rs6000/linux64.h,
7409         config/rs6000/windiss.h: ... not here.
7410
7411 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
7412
7413         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
7414         __ABICALLS__ if TARGET_ABICALLS.
7415
7416 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
7417
7418         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
7419
7420 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
7421
7422         * c-decl.c (grokdeclarator): Make error for duplicate type
7423         qualifiers into a pedwarn, disabled for C99.
7424
7425 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
7426
7427         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
7428         as FUNCTION_ARG_PASS_BY_REFERENCE.
7429
7430 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
7431
7432         * doc/install.texi: Add *-*-vxworks* specific installation
7433         instructions.
7434
7435         * config/vxlib.c: Rewrite using generation numbers to identify
7436         valid TSD keys.
7437
7438 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
7439
7440         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
7441
7442 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7443
7444         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
7445
7446         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
7447         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
7448         * pa.c (output_millicode_call): Use symbol difference rather than
7449         $PIC_pcrel$0 when using HP assembler.
7450         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
7451         not elfos.h (i.e., gas) is being used.
7452         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
7453         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
7454         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
7455         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
7456         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
7457         using elfos.h.
7458         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
7459         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
7460         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
7461         using elfos.h.
7462         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
7463         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
7464         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
7465         Don't define when not using elfos.h.
7466         (ASM_DECLARE_RESULT): Don't define.
7467         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
7468         doesn't work on hppa64-hp-hpux11.
7469         (hppa*-hp-hpux11): Update.
7470
7471 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
7472
7473         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
7474         to the assembler if -mno-abicalls was specified.
7475
7476 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7477
7478         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
7479         ASM_OUTPUT_DEF): Delete.
7480
7481 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
7482
7483         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
7484
7485 2002-11-08  Roger Sayle  <roger@eyesopen.com>
7486
7487         * real.c (real_sqrt): Update comment with bibliographic reference.
7488
7489 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
7490
7491         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
7492
7493 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
7494
7495         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
7496
7497 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
7498
7499         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
7500         (expand_builtin): Likewise.
7501         * builtins.def: Add
7502         __builtin_floor, __builtin_floorf, __builtin_floorl
7503         __builtin_ceil, __builtin_ceilf, __builtin_ceill
7504         __builtin_round, __builtin_roundf, __builtin_roundl
7505         __builtin_trunc, __builtin_truncf, __builtin_truncl
7506         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
7507         * genopinit.c (optabs): Initialize the new optabs.
7508         * optab.c (init_optabs): Likewise.
7509         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
7510         OTI_round, OTI_nearbyint.
7511         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
7512         * doc/md.texi: Document new named patterns.
7513         * doc/extend.texi (builtin functions)  Document
7514         floor, floorf, floorl, ceil, ceilf,
7515         ceill, round, roundf, roundl, trunc,
7516         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
7517
7518 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
7519
7520         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
7521
7522 2002-11-08  Dale Johannesen  <dalej@apple.com>
7523
7524         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
7525
7526 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
7527
7528         PR preprocessor/8497
7529         PR preprocessor/8501
7530         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
7531         start a directive.  In assembler, #NUM is not a line directive.
7532
7533 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
7534
7535         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
7536         buffers.
7537
7538 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
7539
7540         * config/h8300/h8300.md (two anonymous test insns): New.
7541
7542 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
7543
7544         * jump.c (mark_jump_label): Handle subregs of label_refs.
7545
7546 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
7547
7548         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
7549         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
7550
7551 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
7552
7553         * config/ia64/crtend.asm: Include "auto-host.h".
7554         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
7555         * config/ia64/crtbegin.asm: Similarly.
7556         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
7557         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
7558
7559         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
7560         * configure.in: Use it if --enable-initfini-array not specified.
7561         * doc/install.texi (Configuration): Document --enable-initfini-array.
7562         * configure, config.in: Rebuild.
7563
7564 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
7565
7566         * config/arm/arm-protos.h (arm_get_frame_size)
7567         (thumb_get_frame_size): New prototypes.
7568         * config/arm/arm.c (arm_get_frame_size)
7569         (thumb_get_frame_size): New functions.
7570         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
7571         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
7572         arm_get_frame_size.
7573         (thumb_expand_prologue, thumb_expand_epilogue): Use
7574         thumb_get_frame_size.
7575         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
7576         (machine_function): Add frame_size member.
7577         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
7578
7579 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
7580
7581         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
7582         Adjust code to use portable unsigned bit manipulation.
7583         (insn_flags, tune_flags): Change type to unsigned.
7584         (struct processors): Make flags unsigned long.
7585         (arm_override_options): Change type of count and current_bit_count
7586         to unsigned.
7587
7588 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
7589
7590         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
7591
7592 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
7593
7594         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
7595
7596 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
7597
7598         * reg-stack.c (compensate_edge): Fix sanity check.
7599
7600 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
7601
7602         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
7603         crt2.o.  Rearrange t-darwin makefiles.
7604         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
7605         * unwind-dw2-fde-darwin.c: New.
7606         * unwind-dw2-fde-glibc.c: Correct comment.
7607         * unwind-dw2-fde.c (__register_frame_info_bases)
7608         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
7609         (classify_object_over_fdes): Use last_fde.
7610         (add_fdes): Likewise.
7611         (linear_search_fdes): Likewise.
7612         * unwind-dw2-fde.h (struct object)
7613         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
7614         (last_fde): New.
7615         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
7616         (ENDFILE_SPEC): No crtend.o.
7617         * config/t-darwin: New.
7618         * config/i386/t-darwin: Delete.
7619         * config/darwin-crt2.c: New.
7620         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
7621         or config/t-darwin.
7622
7623 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
7624
7625         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
7626         MASK_MS_BITFIELD_LAYOUT
7627         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
7628         MS bitfields for Objective-C.
7629         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
7630         defines.
7631
7632         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
7633         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
7634         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
7635
7636         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
7637         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
7638         (TARGET_SWITCHES): Add above mask.
7639
7640         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
7641         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
7642         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
7643         flags for interix.
7644
7645 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
7646
7647         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
7648         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
7649         assembler.
7650         * config/mips/mips.md (tablejump_internal3): Output .cpadd
7651         before jump on ABI_N32 too.
7652         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
7653         length to match.
7654
7655 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
7656
7657         * i386.md (negsf splitter): Accept memory operand in second register.
7658         (abssf/absdf splitters): Simplify
7659         (sse_loadss, sse_loadsd): Turn into expander.
7660
7661 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
7662
7663         PR target/8480
7664         * config/rs6000/rs6000.md (movdi_internal64): Discourage
7665         FPR to FPR moves.
7666
7667 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
7668
7669         * doc/contrib.texi: Merge in the list from the Java web pages.
7670
7671 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
7672
7673         * config/sparc/freebsd: Fix typo.
7674
7675 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7676
7677         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
7678
7679 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
7680
7681         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
7682         non-SImode addresses.
7683
7684 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
7685
7686         * i386.md (float_truncate SSE splitter): Ensure that operand is not
7687         stack register.
7688         (float SSE splitters): Reorder conditional.
7689
7690 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
7691
7692         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
7693
7694 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
7695
7696         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
7697         (STARTFILE_SPEC): Remove p and pg options.
7698
7699 2002-11-05  Andrew Haley  <aph@redhat.com>
7700
7701         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
7702         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
7703
7704 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
7705
7706         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
7707         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
7708
7709 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
7710
7711         * gthr-vxworks.h: Rewritten from scratch.
7712         * config/vxlib.c: New file.
7713         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
7714         * config/rs6000/t-vxworks: Add config/vxlib.c to
7715         LIB2FUNCS_EXTRA here too, because of clash with
7716         config/rs6000/t-ppccomm.
7717
7718 2002-11-04  Dale Johannesen  <dalej@apple.com>
7719
7720         * doloop.c (doloop_modify_runtime):  Fix loop count computation
7721         for unrolled loops.
7722         * loop.c (loop_invariant_p):  Support calling from unroller.
7723
7724 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
7725
7726         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
7727         for comparison.
7728
7729 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
7730
7731         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
7732
7733         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
7734         (CLASS_CANNOT_CHANGE_MODE): Remove.
7735         (CANNOT_CHANGE_MODE_CLASS): New.
7736
7737         * config/alpha/alpha.h: Same.
7738
7739         * config/ia64/ia64.h: Same.
7740
7741         * config/mips/mips.h: Same.
7742
7743         * config/s390/s390.h: Same.
7744
7745         * config/sh/sh.h: Same.
7746
7747         * config/pa/pa64-regs.h: Same.
7748
7749         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
7750
7751         * config/sh/sh.c (sh_cannot_change_mode_class): New.
7752
7753         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
7754         prototype.
7755
7756         * config/mips/mips.c (mips_cannot_change_mode_class): New.
7757
7758         * doc/tm.texi (Register Classes): Remove
7759         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
7760         Document CANNOT_CHANGE_MODE_CLASS.
7761
7762         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
7763         (push_reload): Same.
7764
7765         * simplify-rtx.c (simplify_subreg): Same.
7766
7767         * reload1.c (choose_reload_regs): Same.
7768
7769         * recog.c (register_operand): Same.
7770
7771         * regrename.c (mode_change_ok): Change to use new
7772         CANNOT_CHANGE_MODE_CLASS infrastructure.
7773
7774         * regclass.c (cannot_change_mode_set_regs): New.
7775         Declare subregs_of_mode.
7776         (regclass): Use subregs_of_mode.
7777         Remove references to reg_changes_mode.
7778         (init_reg_sets_1): Remove class_can_change_mode and
7779         reg_changes_mode code.
7780         (invalid_mode_change_p): New.
7781         (dump_regclass): Use invalid_mode_change_p instead of
7782         class_can_change_mode.
7783         (regclass): Same.
7784         (record_operand_costs): Do not set reg_changes_mode.
7785
7786         * local-alloc.c (struct qty): Remove changes_mode field.
7787         (alloc_qty): Remove changes_mode initialization.
7788         (update_qty_class): Remove set of changes_mode.
7789         (find_free_reg): Use subregs_of_mode.
7790
7791         * global.c (find_reg): Use subregs_of_mode info.
7792
7793         * rtl.h (cannot_change_mode_set_regs): New prototype.
7794         (invalid_mode_change_p): Same.
7795         (REG_CANNOT_CHANGE_MODE_P): New macro.
7796
7797         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
7798         REG_CHANGES_MODE.
7799         (life_analysis): Clear subregs_of_mode.
7800
7801         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
7802         Remove use of CLASS_CANNOT_CHANGE_MODE.
7803         (simplify_set): Same.
7804         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
7805         REG_CHANGES_MODE.
7806
7807         * regs.h: Add extern for subregs_of_mode;
7808         Include hard-reg-set and basic-block.
7809         (REG_CHANGES_MODE): Delete.
7810
7811 2002-11-03  Roger Sayle  <roger@eyesopen.com>
7812
7813         * real.c (real_sqrt): New function to calculate square roots.
7814         * real.h (real_sqrt): Add function prototype.
7815         * builtins.c (fold_builtin): Fold sqrt of constant argument.
7816         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
7817         of constant argument.
7818
7819 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7820
7821         * jump.c (never_reached_warning): Don't set contains_insn until the
7822         first line note is seen.
7823
7824 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
7825
7826         * config/rs6000/rs6000.md (movti_string): Use string instructions.
7827
7828 2002-11-03  Roger Sayle  <roger@eyesopen.com>
7829
7830         PR c/7128
7831         * c-typeck.c (c_expand_asm_operands): Defend against
7832         error_mark_nodes in the output argument to avoid ICE.
7833
7834 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
7835
7836         PR middle-end/8408
7837         * genrecog.c (preds): Handle ADDRESSOF.
7838         (validate_pattern): Mark it as an lvalue.
7839
7840 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
7841
7842         * config/rs6000/rs6000.c (rs6000_override_options): Use string
7843         instructions when optimizing for size.
7844
7845 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
7846
7847         * config/h8300/h8300.h: Fix comment typos.
7848         * config/h8300/h8300.md: Likewise.
7849         * config/h8300/lib1funcs.asm: Likewise.
7850
7851 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7852
7853         Revert this change:
7854
7855         *doc/install.texi (Installing GCC: Configuration): Clarify
7856         the only supported ways to configure gcc.
7857
7858 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
7859
7860         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
7861         instead of 'O' for the constraint for the second operand.
7862
7863 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
7864
7865         PR c++/8391
7866         * toplev.c (rest_of_compilation): Do not refuse to output code for
7867         an inline function in a local class.
7868
7869 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
7870
7871         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
7872         (TRANSFER_FROM_TRAMPOLINE): Reformat.
7873         Add comment.
7874
7875 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
7876
7877         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
7878
7879 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
7880
7881         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
7882
7883 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
7884
7885         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
7886         (MASK_INLINE_DIV_THR): Remove.
7887         (TARGET_INLINE_DIV_LAT): Remove.
7888         (TARGET_INLINE_DIV_THR): Remove.
7889         (TARGET_INLINE_DIV): Remove.
7890         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
7891         (MASK_INLINE_FLOAT_DIV_THR): New macro.
7892         (MASK_INLINE_INT_DIV_LAT): New macro.
7893         (MASK_INLINE_INT_DIV_THR): New macro.
7894         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
7895         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
7896         (TARGET_INLINE_INT_DIV_LAT): New macro.
7897         (TARGET_INLINE_INT_DIV_THR): New macro.
7898         (TARGET_INLINE_FLOAT_DIV): New macro.
7899         (TARGET_INLINE_INT_DIV): New macro.
7900         * config/ia64/ia64.md (divsi3): Change to use new macros.
7901         (modsi3): Ditto.
7902         (udivsi3): Ditto.
7903         (umodsi3): Ditto.
7904         (divsi3_internal): Ditto.
7905         (divdi3): Ditto.
7906         (moddi3): Ditto.
7907         (udivdi3): Ditto.
7908         (umoddi3): Ditto.
7909         (divdi3_internal_lat): Ditto.
7910         (divdi3_internal_thr): Ditto.
7911         (divsf3): Ditto.
7912         (divsf3_internal_lat): Ditto.
7913         (divsf3_internal_thr): Ditto.
7914         (divdf3): Ditto.
7915         (divdf3_internal_lat): Ditto.
7916         (divdf3_internal_thr): Ditto.
7917         (divtf3): Ditto.
7918         (divtf3_internal_lat): Ditto.
7919         (divtf3_internal_thr): Ditto.
7920         * config/ia64/ia64.c (ia64_override_options): Change
7921         to check new macros for conflicts in settings.
7922         * doc/invoke.texi (-minline-divide-min-latency): Remove.
7923         (-minline-divide-max-throughput): Remove.
7924         (-minline-float-divide-min-latency): New.
7925         (-minline-float-divide-max-throughput): New.
7926         (-minline-int-divide-min-latency): New.
7927         (-minline-int-divide-max-throughput): New.
7928
7929 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
7930
7931         PR target/7856
7932         * arm.c (use_return_insn): Don't use a return insn if there are
7933         saved integer regs, but LR is not one of them.
7934
7935 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
7936
7937         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
7938         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
7939
7940 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
7941
7942         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
7943         (movps, movpd splitters): Use canonical form.
7944         (movv2di): Fix merge problem.
7945
7946 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
7947
7948         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
7949
7950 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
7951
7952         PR optimization/6162
7953         * doc/md.texi: Document restriction on commutative operand
7954         specification.
7955
7956 2002-10-31  Eric Christopher  <echristo@redhat.com>
7957
7958         * explow.c (convert_memory_address): Use shallow_copy_rtx.
7959
7960 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
7961
7962         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
7963
7964 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
7965
7966         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
7967
7968 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
7969
7970         * config/rs6000/darwin.h:  Correct formatting in previous.
7971
7972 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
7973
7974         * config/rs6000/darwin.h:  Enable -falign-xxx options.
7975
7976 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
7977
7978         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
7979         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
7980         * i386.c (optimization_options): Set flag_omit_frame_pointer,
7981         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
7982         Do not clear -momit-leaf-frame-pointer when profiling.
7983         (ix86_frame_pointer_required): Frame pointer is always required when
7984         profiling.
7985
7986 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
7987
7988         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
7989
7990 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
7991
7992         * sh.h (binary_logical_operator): Declare.
7993         * sh.c (binary_logical_operator): New function.
7994         * sh.md (xordi3+1): New combiner splitter pattern.
7995
7996 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
7997
7998         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
7999         __enable_execute_stack function.
8000
8001 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
8002
8003         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
8004         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
8005         * unwind-sjlj.c (fc_key_dtor): Delete.
8006         (fc_key_init): Adjust __gthread_key_create call to match.
8007
8008 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
8009
8010         * c-common.c: Add GTY to vector_type_node_list.
8011
8012 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
8013
8014         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
8015         * pa-protos.h (attr_length_millicode_call, attr_length_call,
8016         pa_init_machine_status): Declare new global functions.
8017         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
8018         implement new functions.
8019         (attr_length_millicode_call, attr_length_call): Implement.
8020         (total_code_bytes): Change type to long.
8021         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
8022         Reset counter if flag_function_sections.
8023         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
8024         (output_cbranch): Move call to gen_label_rtx.
8025         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
8026         delay slot in all variants, shorten pc-relative calls.
8027         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
8028         slot usage and exposure, various new call variants, and shortened
8029         sequences for some variants on TARGET_PA_20.
8030         Miscellaneous format changes.
8031         * pa.h (total_code_bytes): Change type to long.
8032         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
8033         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
8034         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
8035         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
8036         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
8037         stores on TARGET_ELF32.
8038         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
8039         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
8040         canonicalize_funcptr_for_compare expanders): Calculate attribute length
8041         attr_length_millicode_call().
8042         (call_internal_symref, call_value_internal_symref): Clobber register 1.
8043         Calculate attribute length using attr_length_call().
8044         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
8045         to delay slot.
8046         (sibcall, sibcall_value): Rewrite.
8047         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
8048         register 1.  Use attr_length_call().
8049         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
8050         New patterns.
8051         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
8052         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
8053         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
8054         * doc/invoke.texi (mlong-calls): Document.
8055
8056 2002-10-30  Roger Sayle  <roger@eyesopen.com>
8057
8058         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
8059         handling of cases where one or both branches of the conditional
8060         have void type, i.e. throw an exception or don't return.
8061         (fold): Only apply (and undo) type conversion to the non-void
8062         branches of a COND_EXPR.
8063
8064 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
8065
8066         PR c++/8333
8067         * varasm.c (asm_output_aligned_bss): Do not call
8068         ASM_GLOBALIZE_LABEL.
8069
8070 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
8071             Torbjorn Granlund  <tege@swox.com>
8072
8073         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
8074         for addressibility.
8075         (load_toc_v4_PIC_1b): Same.
8076
8077 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
8078
8079         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
8080         Truncate the addresses for H8/300 using HImode.
8081
8082 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
8083
8084         * i386.md (negdf splitter): Fix construction of the constant.
8085
8086 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
8087
8088         * i386.md (negsf, negdf): Reorganize to use vector modes
8089         for SSE variants.
8090         (abssf, absdf): Use force_reg.
8091         (movv4sf, movv2df): New splitters.
8092         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
8093         * i386.c (zero_extended_scalar_load_operand
8094
8095         * i386-protos.h (ix86_expand_call): Update prototype.
8096         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
8097         (ix86_expand_call): Use r11 for indirect sibcalls.
8098         * i386.md (call, call_value, untyped_call, call_value_pop):
8099         update x86_expand_call call.
8100         (sibcall, sibcall_value): new patterns
8101         (call_rex64, call_value_rex64): Do not accept sibcalls.
8102         (sibcall_rex64, sibcall_value_rex64,
8103         sibcall_rex64_v, sibcall_value_rex64_v): New.
8104
8105 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
8106
8107         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
8108         before final pass.
8109
8110 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
8111
8112         * toplev.c (rest_of_type_compilation): Return early in case of
8113         errors.
8114         (check_global_declarations): Don't call debug_hooks->global_decl
8115         in case of errors.
8116
8117 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
8118
8119         * doc/c-tree.texi (Tree overview): Fix typos.
8120
8121 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
8122
8123         * Makefile.in (gnucompare*):  Only record bad comparisons
8124         if there really was a bad comparison.
8125
8126 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
8127
8128         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
8129         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
8130         * md.texi (machine dependent constraints): Document 'C'
8131
8132         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
8133
8134         * i386.c (ix86_expand_vector_move): Fix.
8135
8136         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
8137         * i386.md (sse2_maskmovdqu_rex64): New pattern
8138
8139         PR target/8322
8140         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
8141         (ix86_init_mmx_sse_builtins): Fix type.
8142
8143 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
8144
8145         * gthr-posix.h: Include <unistd.h> for feature tests.
8146         (sched_get_priority_max, sched_get_priority_min)
8147         (pthread_getschedparam, pthread_setschedparam): Only use
8148         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
8149         (__gthread_objc_thread_set_priority): Don't treat all nonzero
8150         returns from sched_get_priority_max and sched_get_priority_min
8151         as an error.
8152
8153 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
8154
8155         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
8156         MASK_QUICKCALL.
8157
8158 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
8159
8160         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
8161         (h8300_tiny_constant_address_p): Likewise.
8162         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
8163         h8300_eightbit_constant_address_p.
8164         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
8165         * config/h8300/h8300-protos.h: Add the prototypes for the two
8166         new functions.
8167
8168 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
8169
8170         * reload1.c (update_eliminables): Unconditionally check if
8171         frame_pointer_needed has changed.
8172
8173 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
8174
8175         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
8176         before final pass.
8177
8178 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
8179
8180         PR optimization/8334
8181         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
8182         check for zero operands explicitly.
8183
8184 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
8185
8186         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
8187         memory after adjusting to BLKmode.
8188
8189 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
8190
8191         * config/h8300/h8300.h (MASK_*): New.
8192         (TARGET_*): Use MASK_*.
8193
8194 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
8195
8196         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
8197         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
8198         config/rs6000/vxworks.h: New files.
8199         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
8200
8201         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
8202         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
8203         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
8204         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
8205         sparc-*-vxsim*): Delete stanzas.
8206         * gthr-vxworks.h: Rip out all substantive code and just
8207         include gthr-single.h.
8208
8209         * config/alpha/vxworks.h, config/arm/vxarm.h,
8210         config/i386/vxi386.h, config/i960/t-vxworks960,
8211         config/i960/vx960-coff.h, config/i960/vx960.h,
8212         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
8213         config/mips/vxworks.h, config/rs6000/vxppc.h,
8214         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
8215         config/sparc/vxsim.h, config/sparc/vxsparc.h,
8216         config/sparc/vxsparc64.h: Delete files.
8217
8218 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
8219
8220         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
8221         tm_defines if pthreads are enabled.
8222         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
8223         if NETBSD_ENABLE_PTHREADS is defined.
8224
8225 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
8226
8227         * ChangeLog.1: Fix typos.
8228         * cse.c: Fix a comment typo.
8229         * reload1.c: Likewise.
8230
8231 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
8232
8233         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
8234         * fixinc/tests/base/_G_config.h: New file.
8235
8236 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
8237
8238         * combine.c: Fix comment formatting.
8239         * loop.c: Likewise.
8240         * real.c: Likewise.
8241         * regclass.c: Likewise.
8242         * regmove.c: Likewise.
8243         * regrename.c: Likewise.
8244         * reg-stack.c: Likewise.
8245         * reload1.c: Likewise.
8246         * reload.c: Likewise.
8247         * reload.h: Likewise.
8248         * unroll.c: Likewise.
8249
8250 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
8251
8252         * reload1.c (reload): Fix a comment typo.
8253
8254 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
8255
8256         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
8257
8258 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8259
8260         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
8261         * dwarf2out.c: Include hashtab.h.
8262         (is_main_source): New static variable.
8263         (attr_checksum, die_checksum): Modified to handle die references.
8264         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
8265         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
8266         record_comdat_symbol_number): New static functions.
8267         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
8268         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
8269         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
8270         declarations added.
8271
8272 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
8273
8274         * config/h8300/h8300.c (initial_offset): Change to
8275         h8300_initial_elimination_offset.
8276         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
8277         h8300_initial_elimination_offset.
8278         * config/h8300/h8300-protos.h: Update the prototype.
8279
8280 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
8281
8282         * config/mmix/mmix.h (LIBCALL_VALUE): Use
8283         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
8284         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
8285         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
8286         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
8287         and RTX_CODE.
8288         (mmix_function_value_regno_p): Declare.
8289
8290         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
8291         invalid for floating point mode result, with fix.
8292
8293 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
8294
8295         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
8296         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
8297         (stage1_build): Likewise.
8298
8299 2002-10-25  Mike Stump  <mrs@apple.com>
8300
8301         Fixes gcc.dg/warn-1.c.
8302         * c-typeck.c (warn_for_assignment): Don't print argument number,
8303         if zero.
8304
8305 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
8306
8307         * toplev.c (dump_file_index): Add DFI_ce3.
8308         (dump_file_info): Likewise.
8309         (rest_of_compilation): Run first ifcvt pass before tracer.
8310
8311 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
8312
8313         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
8314
8315 2002-10-25  Richard Henderson  <rth@redhat.com>
8316
8317         * real.c (real_to_decimal): If the >1 tens reduction loop results
8318         in a negative exponent, fall into the <1 pten computation.
8319
8320 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
8321
8322         PR middle-end/6994
8323         * c-objc-common.c (inline_forbidden_p): Can not inline
8324         functions containing structures or unions containing VLAs.
8325         * tree-inline.c (walk_tree): For all class 't' nodes, walk
8326         TYPE_SIZE and TYPE_SIZE_UNIT.
8327         (copy_tree_r): Copy types if they are variably modified.
8328
8329 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
8330
8331         * config/s390/s390.md: Remove old-style peepholes.
8332
8333 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
8334
8335         * config/s390/s390.c (s390_decompose_address): Do not range check the
8336         displacement if base or index is the argument pointer register.
8337
8338 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
8339
8340         PR other/3337
8341         PR bootstrap/6763
8342         PR bootstrap/8122
8343         * fixinc/inclhack.def (libc1_G_va_list): New fix.
8344         * fixinc/fixincl.x: Regenerate.
8345         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
8346         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
8347         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
8348         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
8349         * config.in, configure: Regenerate.
8350
8351 2002-10-24  Igor Shevlyakov <igor@microunity.com>
8352
8353         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
8354
8355 2002-10-24  Richard Henderson  <rth@redhat.com>
8356
8357         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
8358
8359 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
8360
8361         * config/h8300/h8300.c (initial_offset): Simplify by using
8362         round_frame_size.
8363
8364 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
8365
8366         * doc/install.texi (avr): Update required binutils version.
8367
8368 2002-10-24  Theodore A. Roth  <troth@openavr.org>
8369
8370         * doc/install.texi: Point avr users at more up-to-date information.
8371
8372 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
8373
8374         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
8375         to pull operands out of the literal pool where possible.
8376
8377 2002-10-24  Denis Chertykov  <denisc@overta.ru>
8378
8379         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
8380
8381 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
8382
8383         * expr.c (convert_move): If unsignedp is less then zero there
8384         is no equivalent code.
8385
8386 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
8387
8388         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
8389
8390 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
8391
8392         * config/s390/s390.h: Rework comments; re-sort target macro definitions
8393         according to the sequence they are defined in the manual.
8394         (POINTER_BOUNDARY): Remove.
8395
8396 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
8397
8398         * config/h8300/h8300.c (round_frame_size): Replace 8 with
8399         BITS_PER_UNIT.
8400
8401 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
8402
8403         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
8404         64-bit safe.
8405         (TINY_CONSTANT_ADDRESS_P): Likewise.
8406
8407 2002-10-24  Richard Henderson  <rth@redhat.com>
8408
8409         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
8410         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
8411         vcall offset.
8412
8413 2002-10-24  Richard Henderson  <rth@redhat.com>
8414
8415         PR opt/7944
8416         * reload.c (find_reloads_toplev): Mode of X is not important
8417         when simplifying subregs of constants.
8418
8419 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
8420
8421         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
8422         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
8423         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
8424         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
8425         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
8426
8427 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
8428
8429         * optabs.c (expand_binop): Don't reuse the shift target in the
8430         middle of shift sequences.
8431
8432 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
8433
8434         * i386.md (abs splitters): Do not produce nested subregs.
8435
8436 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
8437
8438         * i386.md (movti_rex64): Fix constraints.
8439
8440 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
8441
8442         * i386.md (abssf,absdf): Use vector operands for SSE
8443         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
8444         vector operand.
8445
8446 2002-10-23  Ziemowit Laski <zlaski@apple.com>
8447
8448         * objc/objc-act.c (get_static_reference): Remove unneeded
8449         TYPE_BINFO initialization.
8450         (get_object-reference): Likewise.
8451         (build_constructor): Tighten precondition check.
8452         (finish_message_expr): Likewise.
8453
8454 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
8455
8456         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
8457         after CONST test.
8458
8459 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
8460
8461         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
8462         in HFAs.
8463
8464 2002-10-23  Richard Henderson  <rth@redhat.com>
8465
8466         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
8467         (alpha_output_mi_thunk_osf): Handle vcall_offset.
8468
8469 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
8470
8471         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
8472         var_mod_type_p.
8473         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
8474         hook_tree_bool_false.
8475
8476         * tree.c (variably_modified_type_p): Moved here from
8477         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
8478         language-specific cases.  Due to this, must weaken some 'if
8479         and only if' checks to merely 'if'.
8480         * tree.h: Prototype variably_modified_type_p.
8481
8482         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
8483
8484 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
8485
8486         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
8487         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
8488
8489         * config/s390/s390-protos.h (fp_operand): Remove.
8490         * config/s390/s390.c (fp_operand): Remove.
8491         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
8492         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
8493         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
8494         (movdi_31, movdf_31 splitters): Likewise.
8495
8496         * config/s390/s390.h (IEEE_FLOAT): Remove.
8497         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
8498         (INT_REGNO_P): Rename to ...
8499         (GENERAL_REGNO_P): ... this.
8500         (FLOAT_REGNO_P): Rename to ...
8501         (FP_REGNO_P): ... this.
8502         (ADDR_REGNO_P): New macro.
8503         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
8504         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
8505         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
8506         (HARD_REGNO_NREGS): Adapt to macro renaming.
8507         (HARD_REGNO_MODE_OK): Likewise.
8508
8509 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
8510             Geoff Keating  <geoffk@apple.com>
8511
8512         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
8513         (rs6000_memory_move_cost): New function.
8514         * config/rs6000/rs6000-protos.h: Declare them.
8515         * config/rs6000/rs6000.h: Use them.
8516
8517 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
8518
8519         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
8520         inlining it into other libgcc2 routines.
8521         (__udivmoddi4): Likewise.
8522
8523 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
8524
8525         * doc/sourcebuild.texi (Test Suites): Improve.
8526
8527 2002-10-22  Stan Shebs  <shebs@apple.com>
8528
8529         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
8530         case for Darwin.
8531
8532 2002-10-22  Jim Wilson  <wilson@redhat.com>
8533
8534         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
8535
8536 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
8537
8538         PR other/8289
8539         * xmmintrin.h: Add const to the argument of loads.
8540
8541         * i386.md (pushv2di): New pattern.
8542         PR target/6890
8543         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
8544
8545 2002-10-22  Richard Henderson  <rth@redhat.com>
8546
8547         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
8548         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
8549         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
8550         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
8551         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
8552         (TARGET_ASM_OUT): Update.
8553         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
8554         (hook_bool_tree_hwi_hwi_tree_true): New.
8555         (default_can_output_mi_thunk_no_vcall): New.
8556         * hooks.h: Declare them.
8557         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
8558
8559         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
8560         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
8561         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
8562         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
8563         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
8564         config/stormy16/stormy16.c: Similarly.
8565
8566         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
8567         Handle 64-bit properly.  Streamline.
8568         (x86_output_mi_vcall_thunk): Remove.
8569         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
8570         (x86_can_output_mi_thunk): New.
8571         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
8572         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
8573         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
8574
8575         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
8576         output_mi_thunk; make static; always use function_section.
8577         (TARGET_ASM_OUTPUT_MI_THUNK): New.
8578         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
8579         (rs6000_ra_ever_killed): Test no_new_pseudos not
8580         targetm.asm_out.output_mi_thunk in conjunction with thunks.
8581         * config/rs6000/rs6000-protos.h: Update.
8582         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
8583         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
8584         xcoffout_declare_function when using rs6000_output_mi_thunk.
8585
8586         * config/s390/s390.c (s390_output_mi_thunk): Rename from
8587         s390_output_mi_vcall_thunk.
8588         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
8589         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
8590
8591         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
8592         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
8593         * config/vax/vax-protos.h: Update.
8594         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
8595
8596 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
8597
8598         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
8599         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
8600         * i386.md (movti_internal): Use 'C'
8601
8602         * xmmintrin.h (_mm_cmplt_epi*): New.
8603
8604 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
8605
8606         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
8607         ("*movdf_64"): Likewise.
8608         ("*lshrdi3_64"): Likewise.
8609         ("blockage"): Add length attribute.
8610         ("lit"): Likewise.
8611
8612 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
8613
8614         * i386.md: FIx typo.
8615         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
8616         (sse2_umulv2siv2di3): Fix predicate.
8617         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
8618         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
8619         * xmmintrin.h (_mm_mul_epu16): Rename to...
8620         (_mm_mul_epu32): This one.
8621         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
8622
8623         (contains_128bit_aligned_vector_p): Undo accidental checkin.
8624
8625 2002-10-22  Eric Christopher  <echristo@redhat.com>
8626
8627         * config/sparc/sparc.h: Add #error.
8628
8629 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
8630
8631         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
8632         [s390x-*-linux*]: Likewise.
8633         * config/s390/t-linux: Remove.
8634         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
8635
8636 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
8637
8638         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
8639         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
8640         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
8641         * i386.md (mmx_punpck?dq): Simplify.
8642         (sse2_pubpcklqdq): Fix.
8643         (sse2_pubpckhqdq): New.
8644         * xmmintrin.h (_mm_unpackhi_epi32): New.
8645
8646         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
8647         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
8648
8649 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
8650
8651         PR c++/7209
8652         * fold_const.c (fold_binary_op_with_conditional_arg): Always
8653         build compound_expr if we used save_expr.
8654
8655 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
8656
8657         * output.h (SECTION_NOTYPE): Define.
8658         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
8659         init array sections.
8660         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
8661         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
8662         merge TLS support.
8663
8664 2002-10-21  Richard Henderson  <rth@redhat.com>
8665
8666         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
8667         the function type, not the return type.
8668
8669 2002-10-21  Richard Henderson  <rth@redhat.com>
8670
8671         * real.c (sticky_rshift_significand): Return inexact, don't
8672         or it in immediately.
8673         (sub_significands): Accept incomming carry.
8674         (div_significands, rtd_divmod): Update for sub_significands change.
8675         (round_for_format): Update for sticky_rshift_significand change.
8676         (do_add): Don't involve the inexact bit in addition, do give the
8677         inexact bit as the subtraction carry-in.
8678         (encode_internal, decode_internal, real_internal_format): New.
8679         * real.h (real_internal_format): Declare.
8680
8681 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
8682
8683         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
8684         don't define sdiv_qrnnd.
8685
8686 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
8687
8688         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
8689         using IN_RANGE.
8690         (TINY_CONSTANT_ADDRESS_P): Likewise.
8691
8692 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
8693
8694         * i386.c (builtin_description): Add punpcklqdq and movdq2q
8695         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
8696         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
8697         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
8698         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
8699         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
8700         __builtin_ia32_setzero128.
8701         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
8702         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
8703         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
8704         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
8705         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
8706         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
8707         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
8708         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
8709         sse2_movq): New patterns.
8710         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
8711         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
8712         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
8713         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
8714         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
8715         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
8716         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
8717         (_mm_insert_epi16): Fix.
8718
8719 2002-10-21  Dale Johannesen  <dalej@apple.com>
8720
8721         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
8722             unsafe math reversals correctly for RTL generation.
8723           (output_cbranch):  Replace rs6000_reverse_condition call
8724             by its former definition.
8725
8726 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
8727
8728         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
8729         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
8730         from constant pool or LABEL_REFs as sign extended if allow_rip.
8731         Change all +-1GB limits to +-16MB.
8732         (x86_64_general_operand, x86_64_szext_general_operand,
8733         x86_64_nonmemory_operand, x86_64_movabs_operand,
8734         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
8735         legitimate_address_p, ix86_expand_int_movcc): Update callers.
8736         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
8737         in CM_SMALL_PIC model.
8738         (legitimate_pic_address_disp_p): Don't check offsets before
8739         calling local_symbolic_operand.
8740         (legitimize_pic_address): Force offsets bigger than +-16MB into
8741         register.
8742         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
8743         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
8744         prototype.
8745
8746         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
8747         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
8748         * configure: Rebuilt.
8749         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
8750         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
8751         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
8752         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
8753         -fpic.
8754         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
8755         non-pic code if TARGET_64BIT.
8756         (legitimize_address): Generate 64-bit TLS sequences.
8757         (output_pic_addr_const): Support x86-64 TLS operators.
8758         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
8759         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
8760         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
8761         (output_addr_const_extra): Support x86-64 TLS operators.
8762         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
8763         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
8764         unconditionally.
8765         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
8766         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
8767         (*tls_global_dynamic_sun): Renamed to...
8768         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
8769         (tls_global_dynamic): Renamed to...
8770         (tls_global_dynamic_32): ... this.
8771         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
8772         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
8773         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
8774         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
8775         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
8776         (tls_local_dynamic_base_dynamic): Renamed to...
8777         (tls_local_dynamic_base_dynamic_32): ... this.
8778         (tls_local_dynamic_base_dynamic_64,
8779         *tls_local_dynamic_base_dynamic_64): New.
8780         (*tls_local_dynamic_once): Renamed to...
8781         (*tls_local_dynamic_32_once): ... this.
8782
8783 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
8784
8785         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
8786         __divdi3, __umoddi3, or __moddi3.
8787
8788 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
8789
8790         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
8791         instead of just opt_index as switch expression.
8792
8793         * calls.c (store_one_arg): Change type of 'excess_align'
8794         to unsigned int.
8795
8796         * profile.c (output_gcov_string): Change type of 'temp'
8797         to size_t.
8798
8799 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
8800
8801         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
8802         (__fixunssfdi, __fixsfdi): Likewise.
8803         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
8804         (s390_single_qi): Likewise.
8805         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
8806         unsigned comparison warning.
8807         (s390_return_addr_rtx): New function.
8808         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
8809         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
8810         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
8811
8812 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
8813
8814         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
8815         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
8816         (s390_output_mi_thunk): Remove.
8817         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
8818
8819 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
8820
8821         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
8822
8823 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
8824
8825         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
8826         inverted test in the conditional determining the possibility
8827         of sibcalls in PIC mode.
8828
8829 2002-10-20  Richard Henderson  <rth@redhat.com>
8830
8831         * target.h (struct gcc_target): Line wrap.
8832
8833         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
8834         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
8835         * config/alpha/alpha.h: ... not here.
8836         * config/alpha/alpha-protos.h: Update.
8837
8838         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
8839         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
8840         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
8841         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
8842         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
8843         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
8844         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
8845         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
8846         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
8847         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
8848         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
8849         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
8850         config/sparc/sparc.c, config/sparc/sparc.h,
8851         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
8852         config/stormy16/stormy16.h: Similarly.
8853
8854         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
8855         selection logic from call patterns.
8856
8857 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
8858
8859         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
8860
8861 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8862
8863         PR other/8202
8864         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
8865         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
8866         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
8867         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
8868
8869 2002-10-20  Roger Sayle  <roger@eyesopen.com>
8870
8871         PR c/761
8872         * toplev.c (flag_unsafe_profile_arcs): Remove.
8873         (flag_bounded_pointers): Remove.
8874         (flag_bounds_check): Correct comments.
8875         (lang_independent_options): Remove -funsafe-profile-arcs and
8876         -fbounded-pointers.  Correct -fbounds-check comments.
8877
8878         * flags.h: Correct flag_schedule_interblock comments.
8879         (flag_bounded_pointers): Remove prototype.
8880         (flag_bounds_check): Correct comments.
8881
8882         * c-opts.c (c_common_init_options): No need to mark
8883         flag_bounds_check as unspecified.
8884         (c_common_post_options): And no need to set it from
8885         flag_bounded_pointers if its still unspecified.
8886
8887         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
8888         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
8889         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
8890         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
8891
8892 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
8893         Angela Marie Thomas  <angela@releasedominatrix.com>
8894         Brendan Kehoe  <brendan@zen.org>
8895         Nick Clifton  <nickc@redhat.com>
8896         Andrew Haley  <aph@redhat.com>
8897
8898         * configure.in (--with-sysroot): New.  Don't inhibit libc if
8899         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
8900         and CROSS_SYSTEM_HEADER_DIR.
8901         * configure: Rebuilt.
8902         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
8903         (TARGET_SYSTEM_ROOT): New.
8904         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
8905         CROSS_SYSTEM_HEADER_DIR.
8906         (install-gcc-tooldir): New target.
8907         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
8908         if SYSTEM_HEADER_DIR does not exist and it's not the default
8909         sys-include directory.
8910         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
8911         (install-mkheaders): Likewise.
8912         * gcc.c (target_system_root): New variable.
8913         (add_sysrooted_prefix): New function.
8914         (process_command): Recompute run-time target_system_root from
8915         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
8916         does not exist.
8917         (do_spec_1): Process 'R' spec.
8918         (main): Add md_exec_prefix to exec_prefixes regardless of
8919         startfile_prefix_spec.  Use add_sysrooted_prefix for
8920         startfile_prefixes, and don't skip the default ones when cross
8921         compiling with sysroot enabled.  Removed unused case of
8922         non-absolute standard_startfile_prefix.
8923         * config/interix.h: Remove the only potential, yet disabled,
8924         occurrence of non-absolute (empty) standard_startfile_prefix.
8925         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
8926         linking.
8927         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
8928         * doc/install.texi (--with-sysroot): Document.
8929         (--with-headers, --with-libs): Deprecate.
8930
8931 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8932             Mark Mitchell  <mark@codesourcery.com>
8933
8934         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
8935         match target.h.
8936         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
8937         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
8938         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
8939         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
8940         x86_output_mi_thunk): Likewise.
8941         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
8942         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
8943         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
8944         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
8945         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
8946         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
8947         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
8948         Likewise.
8949         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
8950
8951         * target.h (gcc_target): Update output_mi_thunk and
8952         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
8953         vcall_index.
8954
8955         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
8956         TARGET_ASM_OUTPUT_MI_THUNK in comments.
8957         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
8958         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
8959         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
8960         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
8961         signature.
8962         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
8963         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
8964         TARGET_ASM_OUTPUT_MI_THUNK in comments.
8965         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
8966         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
8967         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
8968         TARGET_ASM_OUTPUT_MI_THUNK in comments.
8969         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
8970         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
8971
8972         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
8973         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
8974
8975 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
8976
8977         * real.c (do_add): Fix 0+0 sign corner case.
8978         (do_divide): Fix Inf/0 corner case.
8979
8980 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
8981
8982         * i386.c (classify_argument): Pass MMX arguments in memory
8983         (ix86_expand_builtin): Expand proper address mode for cflush.
8984         * i386.md (movdqa): Fix typo.
8985         (sse2_cflush): Accept DImode addresses.
8986
8987         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
8988         (_mm_max_sd): Fix pasto.
8989         (_mm_storeh_pd, _mm_storel_pd): Fix.
8990
8991         * i386.c (bdesc_comi): Fix to match specification.
8992         (ix86_expand_sse_comi): Emit the comparison properly.
8993         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
8994         Do not use comparison operator.
8995         (vnmaskcmp): Fix template.
8996
8997         * xmmintrin.h (_mm_cvtps_pi16): Fix.
8998
8999 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
9000
9001         * dependence.c : Removed.
9002         * Makefile.in : Remove dependence.o.
9003
9004 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
9005
9006         * mmintrin.h (__m64): typedef it to v2si.
9007         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
9008         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
9009         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
9010         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
9011         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
9012         * xmmintrin.h (_mm_setzero_si64): Likewise.
9013
9014         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
9015         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
9016
9017         PR target/7693
9018         Patch by Shawn Wagner
9019         * mmintrin.h: Replace pi64 by si64.
9020
9021 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
9022
9023         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
9024         Use length of 4 not *.
9025         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
9026         (movdf_softfloat64): Likewise.
9027         (movdi_internal32): Use length of 4 not *.
9028         (movti_power): Same.
9029         (ctrsi, ctrdi): Same.
9030
9031 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
9032
9033         * c-decl.c (start_decl): Point users of the old initialized-
9034         typedef extension at __typeof__.
9035
9036 2002-10-18  Richard Henderson  <rth@redhat.com>
9037
9038         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
9039         (real_to_decimal): Re-implement using the logic from the
9040         gcc 3.2 etoasc.  Comment heavily.
9041         (div_significands): Simplify loop startup and comparison logic.
9042
9043 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
9044
9045         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
9046         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
9047         (TARGET_ASM_OUT): Add them.
9048         * target.h (asm_out): Add output_mi_thunk and
9049         output_mi_vcall_thunk.
9050         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9051         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9052         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
9053         * config/arm/arm.c (arm_output_mi_thunk): Define.
9054         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9055         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9056         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9057         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9058         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9059         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9060         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
9061         prototype.
9062         (x86_output_mi_vcall_thunk): Declare.
9063         * config/i386/i386.c (override_options): Clear
9064         output_mi_vcall_thunk in 64-bit mode.
9065         (ix86_fntype_regparm): New function.
9066         (ix86_return_pops_args): Use it.
9067         (ia32_this_parameter): New function.
9068         (x86_output_mi_vcall_thunk): New function.
9069         (x86_output_mi_thunk): Use it
9070         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
9071         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
9072         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
9073         * config/i960/i960.c (i960_output_mi_thunk): New function.
9074         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
9075         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
9076         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
9077         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9078         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9079         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
9080         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9081         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9082         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9083         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9084         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9085         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9086         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9087         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9088         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9089         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9090         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
9091         * config/s390/s390.c (s390_output_mi_thunk): Define.
9092         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9093         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9094         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9095         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9096         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9097         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9098         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
9099         * config/vax/vax.c (vax_output_mi_thunk): Define.
9100         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
9101         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
9102         * doc/tm.texi: Adjust documentation.
9103
9104 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
9105
9106         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
9107         __enable_execute_stack function.
9108         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
9109         as NETBSD_ENABLE_EXECUTE_STACK.
9110         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
9111         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
9112         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
9113         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
9114         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
9115
9116 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
9117
9118         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
9119         to __enable_execute_stack with the address of the trampoline
9120         if TRANSFER_FROM_TRAMPOLINE is defined.
9121         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
9122         constant if building libgcc2.
9123
9124 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
9125
9126         * i386.c (pentium4_cost): Fix according to Intel recommendations.
9127         (ix86_memory_move_cost): Fix for 64bit compilation.
9128
9129 2002-10-17  Roger Sayle  <roger@eyesopen.com>
9130
9131         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
9132
9133 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
9134
9135         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
9136         in CTR/LR/MQ.
9137         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
9138         to/from CTR/LR/MQ.
9139         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
9140         (movsf_softfloat): Likewise.
9141
9142 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
9143
9144         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
9145
9146 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
9147
9148         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
9149         tramp, not addr, to pass the trampoline address to
9150         __enable_execute_stack.
9151
9152 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
9153
9154         * mmintrin.h: Guard by __MMX__
9155         * xmmintrin.h: Guard by __SSE__
9156
9157         PR other/8062
9158         * xmmintrin.h (_MM_SHUFFLE2): New macro.
9159         (_mm_load*_?d): New functions.
9160         (_mm_set*_?d): New functions.
9161         (_mm_store*_?d): New functions.
9162
9163 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
9164
9165         Really commit patch announced at Oct 14
9166         PR c/7344
9167         * predict.c (can_predict_insn_p): New function.
9168         (estimate_probability): Avoid unnecesary work.
9169         (process_note_prediction): Likewise.
9170         * toplev.c (rest_of_compilation): Account early branch prediction pass
9171         as TV_BRANCH_PROB.
9172
9173         PR other/8048
9174         Found by Ian Ollmann
9175         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
9176         (_mm_load?_pd): Likewise.
9177         (_mm_store?_pd): Likewise.
9178
9179         PR target/7386
9180         * i386.c (builtin_description):Drop cmpg[te]s[sd].
9181         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
9182         swapped alternative.
9183
9184         PR opt/7630
9185         * reload1.c (reload_inner_reg_of_subreg): New argument output;
9186         (push_reload): Update call.
9187
9188 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
9189
9190         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
9191         if using mips/elf.h or mips/elf64.h.
9192         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
9193         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
9194
9195 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
9196
9197         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
9198         SI.
9199
9200 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
9201
9202         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
9203         (LPREFIX): Likewise.
9204         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
9205         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
9206         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
9207         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
9208         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
9209
9210         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
9211         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
9212         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
9213         BSS_SECTION_ASM_OP): Move from linux.h.
9214         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
9215         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
9216
9217         * config/s390/s390.c (s390_function_profiler): Use
9218         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
9219
9220 2002-10-15  Eric Christopher  <echristo@redhat.com>
9221
9222         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
9223         * java/parse.y (obtain_incomplete_type): Make pointer
9224         ptr_mode.
9225
9226 2002-10-15  Richard Henderson  <rth@redhat.com>
9227
9228         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
9229         as arguments.  Bound DIGITS by the available buffer size.
9230         (real_to_hexadecimal): Likewise.
9231         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
9232         (REAL_VALUE_TO_DECIMAL): Remove.
9233         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
9234         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
9235         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
9236         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
9237         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
9238         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
9239         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
9240         use real_to_decimal directly, and with the proper arguments.
9241         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
9242
9243 2002-10-15  Jim Wilson  <wilson@redhat.com>
9244
9245         * reload1.c (merge_assigned_reloads): After converting overlapping
9246         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
9247
9248         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
9249
9250 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
9251
9252         * expr.c (do_tablejump): Fix typo in my previous commit.
9253
9254 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
9255
9256         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
9257
9258 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
9259
9260         * config/s390/s390.c (s390_split_branches): Add return
9261         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
9262
9263         (find_base_register_in_addr): New function.
9264         (find_base_register_ref): New function.
9265         (replace_base_register_ref): New function.
9266
9267         (struct constant_pool): Add members pool_insn, insns, and anchor.
9268         Remove member last_insn.
9269         (s390_start_pool): Initialize them.
9270         (s390_end_pool): Emit pool placeholder insn.
9271         (s390_add_pool_insn): New function.
9272         (s390_find_pool): Use insns bitmap instead of addresses.
9273         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
9274         Replace unspec 104 by local-pool-relative references.
9275         (s390_output_constant_pool): Output anchor label if required.
9276         (s390_output_symbolic_const): Handle unspec 104 and 105.
9277         (s390_add_pool): Remove, replace by ...
9278         (s390_add_constant, s390_find_constant): ... these new functions.
9279         (s390_add_anchor): New function.
9280
9281         (s390_chunkify_pool): Delete, replace by ...
9282         (s390_chunkify_start, s390_chunkify_finish,
9283         s390_chunkify_cancel): ... these new functions.
9284         (s390_optimize_prolog): Add parameter TEMP_REGNO.
9285         Recompute register live data for special registers.
9286         (s390_fixup_clobbered_return_reg): New function.
9287         (s390_machine_dependent_reorg): Rewrite to use new
9288         s390_chunkify_... routines.
9289
9290         config/s390/s390.md ("reload_base"): Rename to ...
9291         ("reload_base_31"): ... this.
9292         ("reload_base_64"): New insn.
9293         ("reload_base2"): Remove.
9294         ("reload_anchor"): New insn.
9295         ("pool"): New insn.
9296
9297         s390.c (s390_pool_overflow): Remove.
9298         s390.h (s390_pool_overflow): Likewise.
9299         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
9300
9301 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
9302
9303         * sh.md (movv8qi_i+2): Don't split if source is -1.
9304
9305 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
9306
9307         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
9308
9309 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
9310
9311         PR opt/7409
9312         * loop.c (loop_regs_scan): Mark registers used for function
9313         argument passing as MAY_NOT_OPTIMIZE.
9314
9315 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
9316
9317         * gcov-io.h (gcov_info): Fix type.
9318         * profile.c (create_profiler): Fix type mismatch.
9319
9320 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
9321
9322         * i386.md (movv2di_internal): New pattern.
9323         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
9324         (movv2di): New expander.
9325         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
9326
9327         * i386.c (ix86_expand_timode_binop_builtin): Delete.
9328         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
9329         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
9330         (ix86_expand_builtin): Likewise.
9331         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
9332         sse_andti3,
9333         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
9334         sse_andnti3,
9335         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
9336         sse_orti3,
9337         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
9338         sse_xorti3): Kill.
9339         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
9340          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
9341         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
9342          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
9343         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
9344          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
9345
9346         * xmmintrin.h (__m128i): Define as __v2di.
9347
9348         PR c++/6419
9349         (expand_expr): Use DECL_RTL_SET_P.
9350
9351 2002-10-14  Roger Sayle  <roger@eyesopen.com>
9352
9353         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
9354
9355 2002-10-14  Roger Sayle  <roger@eyesopen.com>
9356             Zack Weinberg <zack@codesourcery.com>
9357
9358         * config/i386/i386.c (k6_cost): Correct typo.
9359
9360 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
9361
9362         PR optimization/6631
9363         * alias.c (objects_must_conflict_p): Check honor_readonly when
9364         examining TYPE_READONLY.
9365         * function.c (assign_stack_temp_for_type): Likewise.
9366
9367 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
9368
9369         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
9370         Swap zero extension arguments.
9371         (umaxhi3): Fix instruction class.
9372         PR target/7211
9373         (prefetch): Fix prefetch instructions.
9374         PR target/7238
9375         (pkwb): Fix output constraint.
9376
9377 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
9378
9379         * config/mips/mips.c (print_operand): Increase buffer size for
9380         real numbers.
9381
9382 2002-10-14  Richard Henderson  <rth@redhat.com>
9383
9384         PR opt/8165
9385         * gcse.c (adjust_libcall_notes): Revert last change.
9386         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
9387
9388 2002-10-14  Andrew Haley  <aph@redhat.com>
9389
9390         * tree-inline.c (remap_block): All local class initialization
9391         flags go in the outermost scope.
9392         (expand_call_inline): Call java_inlining_map_static_initializers.
9393         (expand_call_inline): Call java_inlining_merge_static_initializers.
9394         * java/lang.c (merge_init_test_initialization): New.
9395         (java_inlining_merge_static_initializers): New.
9396         (inline_init_test_initialization): New.
9397         (java_inlining_map_static_initializers): New.
9398
9399         * tree-inline.c (expand_call_inline): Convert retvar to expected
9400         type.
9401
9402 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
9403
9404         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
9405
9406 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
9407
9408         * stmt.c: Fix typo in comment.
9409
9410 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
9411
9412         * c-common.c (c_common_type_for_mode): Add V2HImode case.
9413         * tree.c (build_common_tree_nodes_2): Initialize
9414         unsigned_V2HI_type_node and V2HI_type_node.
9415         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
9416         (unsigned_V2HI_type_node, V2HI_type_node): Define.
9417
9418 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
9419
9420         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
9421         Handle TARGET_64BIT.
9422
9423 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
9424
9425         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
9426         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
9427         (MULTILIB_DIRNAMES): Remove long32.
9428         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
9429         (MULTILIB_REDUNDANT_DIRS): Remove.
9430
9431 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
9432
9433         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
9434         * gcc.c (driver_self_specs): New variable.
9435         (do_self_spec): New function.
9436         (main): Use it to process driver_self_specs.
9437
9438 2002-10-13  Richard Henderson  <rth@redhat.com>
9439
9440         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
9441         indirect sibcalls when regparm >= 3.
9442
9443         * config/i386/i386.c (sibcall_insn_operand): New.
9444         * config/i386/i386.h (PREDICATE_CODES): Update.
9445         * config/i386/i386-protos.h: Update.
9446         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
9447
9448         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
9449
9450 2002-10-12  Roger Sayle  <roger@eyesopen.com>
9451
9452         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
9453         arithmetic right shifts of ~0 during RTL simplifications.
9454
9455 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
9456
9457         PR preprocessor/7862
9458         PR preprocessor/8190
9459         * gcc.c (cpp_unique_options): Don't delete .d files.
9460         Remove stray whitespace.
9461
9462 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
9463
9464         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
9465         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
9466         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
9467         (pdp11_output_function_epilogue, output_ascii): Likewise.
9468         (output_addr_const_pdp11): Likewise.
9469         * pdp11.md (movdi): Use offsetable memory for floating store.
9470         (lshrsi3, negsi2): Delete irrelevant comment.
9471
9472 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
9473
9474         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
9475         indirect calls to be sibcall optimized.
9476         * config/i386/i386.md (sibcall_1): New.
9477         (call_1): Add no-sibcalls condition.
9478         (sibcall_value_1): New.
9479         (call_value_1): Add no-sibcalls condition.
9480
9481 2002-10-11  Eric Christopher  <echristo@redhat.com>
9482
9483        * output.h (default_valid_pointer_mode): Declare.
9484        * varasm.c (default_valid_pointer_mode): Define.
9485        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
9486        * target.h: Ditto.
9487        * tree.c (build_pointer_type_for_mode): New function.
9488        (build_pointer_type): Use.
9489        (build_reference_type_for_mode): New function.
9490        (build_reference_type): Use.
9491        * tree.h: Declare new functions.
9492        * c-common.c (handle_mode_attribute): Use new functions, check
9493        for type.
9494        * stor-layout.c (layout_type): Depend on machine mode for
9495        REFERENCE_TYPE and POINTER_TYPE.
9496        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
9497        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
9498        and REFERENCE_TYPE.
9499        * config/mips/mips.c (mips_valid_pointer_mode): New function.
9500        (TARGET_VALID_POINTER_MODE): Use and define.
9501        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
9502
9503 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
9504
9505         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
9506         not the address of the REG.
9507         (struct cse_reg_info): Make subreg_ticked unsigned.
9508
9509 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
9510
9511         * doc/compat.texi: Add info about C++ libraries.
9512
9513 2002-10-11  Richard Henderson  <rth@redhat.com>
9514
9515         PR opt/8165
9516         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
9517
9518 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9519
9520         * cfganal.c (dfs_enumerate_from): Use PARAMS.
9521         * genautomata.c (output_insn_code_cases): Likewise.
9522         * real.c (real_format): Likewise.
9523         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
9524         ensure value is promoted before doing subtraction.
9525
9526 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
9527
9528         * calls.c (expand_call): Simplify noreturn call.
9529
9530         PR c/7344
9531         * cfgbuild.c (make_edges): Create edge cache when we do have
9532         large jumptable.
9533         * expr.c (do_tablejump): Note size of maximal jumptable.
9534         * function.c (prepare_function_start): Zero out size.
9535         * function.h (function): Add max_jumptable_ents.
9536
9537         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
9538
9539 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
9540
9541         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
9542         register for mperm_w operation.
9543
9544 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
9545
9546         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
9547         an integer, use simplify_gen_subreg.
9548
9549 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
9550
9551         * calls.c (flags_from_decl_or_type): Make extern.
9552         (ECF_*): Move ...
9553         * rtl.h (ECF_*): ... here.
9554         (flags_from_decl_or_type): Declare.
9555
9556 2002-10-10  Roger Sayle  <roger@eyesopen.com>
9557             Nathan Sidwell <nathan@codesourcery.com>
9558
9559         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
9560         shifts of the form -1 >> x.
9561
9562 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
9563
9564         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
9565
9566 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
9567
9568         * extend.texi (Vector Extensions): Remove comment about single
9569         element vectors.
9570
9571 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9572
9573         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
9574         * function.c (insns_for_mem_hash): Likewise.
9575         * varasm.c (STRHASH): Likewise.
9576
9577 2002-10-10  Stuart Hastings  <stuart@apple.com>
9578
9579         * cse.c (struct cse_reg_info): Add subreg_ticked.
9580         (SUBREG_TICKED): New.
9581         (get_cse_reg_info): Initialize SUBREG_TICKED.
9582         (mention_regs): Use it.
9583         (invalidate): Set SUBREG_TICKED.
9584         (invalidate_for_call): Likewise.
9585         (addr_affects_sp_p): Likewise.
9586
9587 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
9588
9589         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
9590         into proper operand.
9591
9592 2002-10-10  Denis Chertykov  <denisc@overta.ru>
9593
9594         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
9595         deallocation.
9596         * config/ip2k/libgcc.S: Combine routines used by function
9597         epilogue.
9598
9599 2002-10-10  Jim Wilson  <wilson@redhat.com>
9600
9601         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
9602         UDIV.
9603
9604 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
9605
9606         * config/rs6000/aix52.h: New file.
9607         * config/rs6000/t-aix52: New File.
9608         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
9609         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
9610
9611 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
9612
9613         PR target/5610
9614         * invoke.texi (-msse-math): Kill
9615         (-msse): Add note to mfpmath=sse.
9616
9617 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
9618
9619         PR target/7723
9620         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
9621
9622 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
9623
9624         PR preprocessor/8179
9625         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
9626         as cc1_options.
9627         (default_compilers): Pass debug options when preprocessing
9628         stdin.
9629
9630 2002-10-06  Richard Henderson  <rth@redhat.com>
9631
9632         * toplev.c (rest_of_compilation): Revert opt/2960 change.
9633
9634 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
9635
9636         * i386.c (*_cost): Add branch costs.
9637         (override_options): set ix86_branch_cost.
9638         (ix86_expand_int_movcc): Use BRANCH_COST.
9639         * i386.h (costs): Add branch_cost.
9640
9641 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
9642
9643         PR c/7353
9644         * c-decl.c (start_decl): Unconditionally issue error for
9645         'typedef foo = bar'.
9646         (finish_decl): Remove special case for TYPE_DECL with initializer.
9647
9648         * doc/extend.texi: Delete "Naming Types" section.  Change all
9649         cross-references to that section to refer to "Typeof" instead.
9650         Add the useful safe-max()-macro example from "Naming Types" to
9651         "Typeof", rewritten using that extension.  Add some compatibility
9652         notes to "Typeof."
9653
9654 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9655
9656         * loop.c: Revert 2002-08-15 change.
9657         (LOOP_REGNO_NREGS): Ensure type is int.
9658
9659 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
9660
9661         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
9662         which copies first FPR and clears second.
9663         (extendsftf2): Same.
9664         (floatditf2): Fix typo.
9665         (floatsitf2): Same.
9666         (fix_trunctfdi2): Same.
9667         (fix_trunctfsi2): Same.
9668
9669 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9670
9671         * conflict.c (arc_hash): Change return type to hashval_t.
9672         * cselib.c (get_value_hash): Likewise.
9673         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
9674         state_hash, automata_list_hash): Likewise.
9675         * read-rtl.c (def_hash): Likewise.
9676         * tree.c (type_hash_hash): Likewise.
9677
9678 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
9679
9680         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
9681         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
9682
9683 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
9684
9685         * sh.md (ffssi2): Fix emitted code.
9686
9687 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
9688
9689         * cse.c (insn_live_p): Pass insn pattern, not full insn
9690         to may_trap_p.
9691
9692 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
9693
9694         * cppmacro.c (paste_tokens): Only allow / to paste with =.
9695
9696 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
9697
9698         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
9699         64-bit hosts.
9700         (movtf_internal): Reference correct displacement for second value
9701         in memory.
9702         (movtf splitter): Correct generation of constants in 64-bit mode.
9703
9704 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
9705
9706         * libgcc2.c (__floatdisf): Properly cure double rounding.
9707
9708 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9709
9710         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
9711         * doc/cpp.texi (Common Predefined Macros): Document.
9712
9713 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9714
9715         PR doc/7484
9716         * doc/invoke.texi (Option Summary): List
9717         -Wmissing-declarations as a C only option.
9718
9719 2002-10-08  Roger Sayle  <roger@eyesopen.com>
9720
9721         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
9722         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
9723         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
9724
9725 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
9726
9727         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
9728         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
9729         variables.
9730         (safe_vector_operand): Update sse_clrv4sf call.
9731         (ix86_expand_buildin): Likewise
9732         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
9733         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
9734         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
9735         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
9736         macros.
9737         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
9738         movv4si):  Obey the new flags.
9739         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
9740         reformating penalty.
9741         (anddf, cmov patterns): Avoid reformating by first converting.
9742         (sse_cvtsd2ss): Fix predicate.
9743         (sse2_clrti): Fix mode,
9744         (sse_clrv4sf): Avoid unspec.
9745
9746 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
9747
9748         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
9749         mno-app-regs|mcmodel=medany.
9750         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
9751         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
9752         (CRTSTUFF_T_CFLAGS): Define.
9753
9754 2002-10-08  Roger Sayle  <roger@eyesopen.com>
9755
9756         PR target/8087
9757         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
9758         pool references that are constructed using LO_SUM.
9759
9760 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
9761
9762         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
9763         -Wall.
9764         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
9765         message.
9766         * flags.h (warn_strict_aliasing): Declare.
9767         * toplev.c (warn_strict_aliasing): Define.
9768         (lang_independent_options): Add it.
9769         * doc/invoke.texi (-Wstrict-aliasing): Document it.
9770
9771 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
9772
9773         * system.h (GCCBUGURL): Delete.
9774         * version.c (bug_report_url): New.  Add commentary about
9775         modifying both these strings in modified distributions.
9776         * version.h: Declare bug_report_url.
9777
9778         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
9779         bug_report_url.
9780
9781 2002-10-08  Nick Clifton  <nickc@redhat.com>
9782
9783         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
9784         convert uint64_t into __ev64_opaque__.
9785         (__ev_set_acc_s64): Likewise, but using signed types.
9786
9787 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
9788
9789         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
9790         ("*doloop_di_long"): Likewise.
9791
9792 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
9793
9794         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
9795
9796 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
9797
9798         * config/mips/mips.md (define_attr cpu): Add r4111.
9799
9800 2002-10-08  Anthony Green  <green@redhat.com>
9801
9802         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
9803
9804 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
9805
9806         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
9807         for REAL_VALUE_TO_DECIMAL output.
9808
9809 2002-10-07  Richard Henderson  <rth@redhat.com>
9810
9811         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
9812         function; cleanup PLUS case by using recursion.  Update all users.
9813         (NONZERO_BASE_PLUS_P): Remove.
9814         (find_comparison_args): Use rtx_addr_can_trap_p instead.
9815         (fold_rtx): Use nonzero_address_p.
9816         * rtl.h (nonzero_address_p): Declare.
9817         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
9818         (rtx_addr_can_trap_p): Likewise.
9819         (nonzero_address_p): New.
9820         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
9821         (simplify_relational_operation): Use nonzero_address_p.
9822
9823 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
9824
9825         * config/rs6000/rs6000.c (rs6000_override_options): Set
9826         real_format_for_mode for IBM extended format, if enabled.
9827         (easy_fp_constant): Add TFmode.
9828         (rs6000_legitimize_address): Add TFmode.
9829         (rs6000_legitimate_address): Same.
9830         (function_arg_advance): TFmode uses two FPRs.
9831         (rs6000_emit_prologue): Fix warning.
9832         (rs6000_output_function_epilogue): Add TFmode.
9833         (output_toc): Add TFmode.
9834         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
9835         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
9836         * rs6000.md (movtf splitter): Load TFmode constant.
9837
9838 2002-10-07  Dale Johannesen  <dalej@apple.com>
9839
9840         * rtl.h:  Add NOTE_PRECONDITIONED.
9841         * unroll.c:  Set it.
9842         * loop.c:  Set loop_info->preconditioned from it.
9843         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
9844
9845 2002-10-07  Richard Henderson  <rth@redhat.com>
9846
9847         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
9848         new rtx for comparing the argument pointer against zero.
9849         (i960_va_start): Similarly.
9850
9851 2002-10-07  Richard Henderson  <rth@redhat.com>
9852
9853         * config/i960/i960.md (*): Use TFmode, not XFmode.
9854         * config/i960/i960.c (*): Likewise.
9855         (i960_arg_size_and_align): Remove XFmode alignment hack.
9856         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
9857         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
9858         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
9859         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
9860
9861 2002-10-07  Richard Henderson  <rth@redhat.com>
9862
9863         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
9864         entry points; use void return value and argument list.
9865
9866 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
9867
9868         * calls.c (expand_call): Fix function-is-volatile check.
9869
9870 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
9871
9872         * t-pdp11: Add MULTILIB support for msoft-float.
9873         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
9874
9875         * t-pdp11: Add LIB2FUNCS_EXTRA.
9876         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
9877         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
9878         'fldd' to 'ldd', rename 'fstd' to 'std'.
9879         (pdp11_output_function_epilogue): Likewise.
9880         (output_move_quad): Make the comment gas compatible.
9881         (output_ascii): Add preceding 0 to the octal constant.
9882         (print_operand_address): Add pre_modify, post_modify.
9883         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
9884         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
9885         with the indication of Paul Koning.
9886         (PRINT_OPERAND): Fix floating constant.
9887         * pdp11.md (movdi): Restrict matching pattern.
9888         (movqi): Generalize the matching pattern.
9889         (movdf): Restrict matching pattern.
9890         (zero_extendqihi2): Change constant representation.
9891         (floatsidf2): Fix wrong operands.
9892         (addqi3): Fix wrong instruction name.
9893         (subqi3): Fix wrong instruction name.
9894         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
9895         (xorsi3): Fix wrong insn.
9896         (one_cmplqi2): Add two operand pattern.
9897         (lsrsi3): New.
9898         (negsi2): New.
9899         (call): Add register indirect case.
9900         (mod): Fix wrong subreg.
9901
9902 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
9903             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
9904
9905         PR c/7411
9906         * expr.c (expand_expr) [PLUS]: Simplify after the operands
9907         have been expanded in EXPAND_NORMAL mode.
9908
9909 2002-10-06  Richard Henderson  <rth@redhat.com>
9910
9911         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
9912
9913 2002-10-06  Richard Henderson  <rth@redhat.com>
9914
9915         PR optimization/2960
9916         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
9917         optimize_size.
9918
9919 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
9920
9921         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
9922         previously definitions.
9923
9924 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
9925
9926         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
9927         * c-opts.c (find_opt): Similarly.
9928
9929 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
9930
9931         * athlon.md: rewrite to DFA.
9932         * i386 (ix86_adjust_cost): Drop memory latency code.
9933         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
9934
9935 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
9936
9937         * gcc.c (set_multilib_dir): Don't access *end.
9938         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
9939         (print_multilib_info): Don't show paths starting with ".:".
9940         * genmultilib: Add new option, "yes" if multilibs are enabled.
9941         Update comments.  If multilibs not enabled, print .:${osdirout}
9942         for each directory.  If multilibs are enabled, always print
9943         ${dirout}:${osdirout}, even if the two are the same.
9944         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
9945         Pass all MULTILIB_* variables to genmultilib even if
9946         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
9947
9948 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
9949
9950         * gcc.c (process_command): Set .validated for -pipe.  Correct
9951         grammar in comment.
9952
9953 2002-10-04  Bruce Korb  <bkorb@gnu.org>
9954
9955         * fixinc/inclhack.def(hpux11_abs):  use format fix
9956         * fixinc/fixincl.x: regenerate
9957         * fixinc/tests/base/stdlib.h: accommodate new fix test
9958
9959 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
9960
9961         * c-common.c (cb_register_builtins):  Use really_no_inline.
9962
9963 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
9964
9965         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
9966         copied instruction if the note is not loop invariant.
9967
9968 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
9969
9970         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
9971
9972 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
9973
9974         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
9975         and -mhp-ld options to list of options.  Add -mgnu-ld
9976         and -mhp-ld option descriptions.
9977
9978 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
9979
9980         * fixinc/inclhack.def (hpux11_abs):  New.
9981         (stdio_va_list): change __va_list__ to __gnuc_va_list.
9982         * fixinc/fixincl.x: Rebuild.
9983
9984 2002-10-04  Roger Sayle  <roger@eyesopen.com>
9985
9986         * config/i386/i386.h (processor_costs): Add new fields fadd,
9987         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
9988         (RTX_COSTS): Use these fields to determine the RTX costs
9989         of floating point addition/subtraction, multiplication,
9990         division, fabs, negation and square root respectively.
9991         * config/i386/i386.c (size_cost): Provide instruction sizes
9992         for these new fields.
9993         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
9994         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
9995         counts for these new fields for all x86 processor variants.
9996
9997 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9998
9999         * mips.c (mips_const_double_ok): Delete unused variable.
10000
10001         * gengtype.c (rtx_next): Change type to int.
10002
10003 2002-10-04  Andreas Jaeger  <aj@suse.de>
10004
10005         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
10006
10007 2002-10-04  Richard Henderson  <rth@redhat.com>
10008
10009         * real.h (SIGNIFICAND_BITS): Add one more word.
10010         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
10011         * real.c (times_pten): New.
10012         (real_to_decimal, real_from_string): Use it.
10013         (sticky_rshift_significand): Use & to find modulus.
10014         (rshift_significand, lshift_significand): Likewise.
10015         (do_divide): Apply sticky bit after normalization.
10016         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
10017
10018 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
10019
10020         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
10021         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
10022
10023 2002-10-03  Andreas Jaeger  <aj@suse.de>
10024
10025         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
10026         to unsigned long, adjust printf format string.
10027         (output_mangled_typename): Likewise.
10028
10029 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
10030
10031         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
10032         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
10033         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
10034         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
10035         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
10036         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
10037         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
10038         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
10039
10040 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
10041
10042         * doc/invoke.texi (-Wabi): Document mangling bug.
10043
10044 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
10045
10046         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
10047         name for the tbtab label that depends on the function asm name.
10048         Don't output tbtab label unless optional_tbtab.
10049         (output_mi_thunk): Formatting.
10050
10051 2002-10-03  Richard Henderson  <rth@redhat.com>
10052
10053         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
10054         * config/m68k/m68k.c (override_options): ... here.
10055         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
10056         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
10057         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
10058         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
10059
10060 2002-10-03  Richard Henderson  <rth@redhat.com>
10061
10062         * real.h (struct real_value): Use ENUM_BITFIELD.
10063
10064 2002-10-03  Richard Henderson  <rth@redhat.com>
10065
10066         * config/i960/i960.md (call, call_value): Use emit_call_insn.
10067
10068 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
10069
10070         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
10071
10072 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
10073
10074         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
10075         * config/pa/pa.h (MASK_GNU_LD): New.
10076         (TARGET_GNU_LD): New.
10077         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
10078         on gnu-ld and MASK_GNU_LD.
10079         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
10080
10081 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
10082
10083         * i386.c (athlon_cost): Fix the move costs.
10084
10085 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
10086
10087         * final.c (final): Use symbol name as function name for profiling.
10088         * profile.c (get_exec_counts): Likewise.
10089         (branch_prob): Likewise.
10090
10091 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
10092
10093         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
10094
10095 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
10096
10097         * gcc.c (print_multi_os_directory): New variable.
10098         (option_map): Support --print-multi-os-directory.
10099         (struct prefix_list): Add os_multilib field.
10100         (multilib_os_dir): New variable.
10101         (static_specs): Add multilib_options.
10102         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
10103         subdirs if nonzero.
10104         (read_specs, execute): Update callers.
10105         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
10106         pass 1 as multilib option.
10107         (display_help): Include --print-multi-os-directory.
10108         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
10109         (process_command): Update callers.  Handle --print-multi-os-directory.
10110         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
10111         set.
10112         (main): Update find_a_file and add_prefix callers.
10113         Handle print_multi_os_directory.
10114         (struct mdswitchstr): New.
10115         (mdswitches, n_mdswitches): New variables.
10116         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
10117         present on the command line nor their mutually incompatible
10118         switches.
10119         (default_arg): Optimize.
10120         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
10121         array.
10122         (print_multilib_info): Only print GCC multilib dir name, not OS
10123         multilib dirname.
10124         * genmultilib: Add osdirnames parameter.  Output multilib_options
10125         variable.  If osdirnames is specified, output dirnames as
10126         dirname:osdirname.
10127         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
10128         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
10129         to compute libgcc_s soname and install path.
10130         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
10131         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
10132         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
10133         argument.
10134
10135         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
10136         (SHLIB_SLIBDIR_SUFFIXES): Remove.
10137         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
10138         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
10139         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
10140         and -m64.
10141         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
10142         (SHLIB_SLIBDIR_SUFFIXES): Remove.
10143         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
10144         (STARTFILE_ARCH_SPEC): Remove.
10145         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
10146         (SHLIB_SLIBDIR_SUFFIXES): Remove.
10147         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
10148         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
10149         (SHLIB_SLIBDIR_SUFFIXES): Remove.
10150
10151 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
10152
10153         * predict.c (choose_function_section): Avoid choice for linkonce functions.
10154
10155 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
10156
10157         * i386.md (lea to mul peep2): Fix condition.
10158
10159 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10160
10161         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
10162         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
10163
10164 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
10165
10166         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
10167         attribute "unused".
10168
10169         * config/t-libunwind: Mention unwind-sjlj.c.
10170         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
10171         to #ifndef __USING_SJLJ_EXCEPTIONS__.
10172
10173         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
10174         before inclusion of config.gcc, but after configuring the compiler etc.
10175         Determine default value for --enable-libunwind-exceptions based on
10176         whether the host has a libunwind library (not guaranteed to be correct,
10177         but it's a reasonable first guess and can always be overridden with an
10178         explicit --enable/disable-libunwind-exceptions.
10179         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
10180         tmake_file when $use_libunwind_exceptions is enabled.
10181         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
10182         ia64 (e.g., config/t-linux also updates it).
10183         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
10184         along with the shared version of libgcc since the latter requires
10185         the former.
10186         * unwind-libunwind.c: New file.
10187         * config/t-libunwind: Ditto.
10188
10189 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
10190
10191         * config.gcc: Remove support for vax-*-vms*.
10192         * config/vax/vms.h: Remove.
10193         * config/vax/xm-vms.h: Remove.
10194         * config/vax/vax-protos.h: Remove VMS-specific code.
10195         * config/vax/vax.c: Remove VMS-specific code.
10196
10197 2002-10-02  Richard Henderson  <rth@redhat.com>
10198
10199         PR opt/7124
10200         * config/i386/i386.c (ix86_register_move_cost): Increase cost
10201         for secondary_memory_needed pairs.
10202
10203 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
10204
10205         * doc/vms.texi: Blow away false include file section.
10206
10207 2002-10-02  Roger Sayle  <roger@eyesopen.com>
10208
10209         PR optimization/6627
10210         * toplev.c (force_align_functions_log): New global variable.
10211         * flags.h (force_align_functions_log): Add extern prototype.
10212         * varasm.c (assemble_start_function): Use it to force minimum
10213         function alignment.
10214         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
10215         minimum function alignment to one byte.
10216         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
10217         the least significant bit of vtable member function pointers.
10218         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
10219         here from cp/cp-tree.h.
10220
10221 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
10222
10223         * i386.c (print_operand_address): Use RIP addressing for offsetted
10224         label refs too.
10225
10226 2002-09-30  David S. Miller  <davem@redhat.com>
10227
10228         PR middle-end/7151
10229         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
10230         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
10231
10232 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
10233
10234         * calls.c (expand_call): Remove the `no indirect check'
10235         for sibcall optimization; use function_ok_for_sibcall
10236         target hook; refine check for `function is volatile'.
10237         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
10238         * hooks.c (hook_tree_tree_bool_false): New.
10239         * hooks.h (hook_tree_tree_bool_false): Declare.
10240         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
10241         (TARGET_INITIALIZER): Add it.
10242         * target.h (struct gcc_target): Add function_ok_for_sibcall.
10243         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
10244         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
10245         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
10246         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
10247         Remove function declaration.
10248         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
10249         function static and accept another argument of type `tree'.
10250         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
10251         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
10252         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
10253         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
10254         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
10255         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
10256         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
10257         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
10258         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
10259         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
10260         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
10261         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
10262         Remove function declaration.
10263         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
10264         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
10265         rename first argument to `decl'; accept another argument
10266         of type `tree'; make static.
10267         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
10268         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
10269         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
10270         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
10271         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
10272         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
10273         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
10274         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
10275         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
10276
10277 2002-10-01  Roger Sayle  <roger@eyesopen.com>
10278
10279         * unroll.c (loop_iterations): Revert 2002-09-08 change.
10280
10281 2002-10-01  Richard Henderson  <rth@redhat.com>
10282
10283         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
10284         (real_to_hexadecimal): Likewise.
10285         * print-rtl.c (print_rtx): If we are linked with real.c, don't
10286         dump the XWINT fields of a floating point CONST_DOUBLE.
10287
10288 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
10289
10290         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
10291
10292 2002-10-01  Richard Henderson  <rth@redhat.com>
10293
10294         * calls.c (precompute_register_parameters): Force non-legitimate
10295         constants into pseudos.
10296
10297 2002-10-01  Nick Clifton  <nickc@redhat.com>
10298
10299         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
10300         to assembler template.
10301
10302 2002-10-01  Richard Henderson  <rth@redhat.com>
10303
10304         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
10305         for TLS debug info to !DECL_EXTERNAL.
10306
10307 2002-10-01  Matt Thomas  <matt@3am-software.com>
10308             Jason Thorpe  <thorpej@wasabisystems.com>
10309
10310         * config.gcc (vax-*-netbsdelf*): Enable configuration.
10311         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
10312         if not already defined.
10313         * config/vax/elf.h: New file.
10314         * config/vax/netbsd-elf.h: New file.
10315         * config/vax/vax.c: Include "debug.h".
10316         (vax_output_function_prologue): Add dwarf2 support.  Use
10317         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
10318         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
10319         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
10320         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
10321         (VAX_ISTREAM_SYNC): Remove.
10322         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
10323         (JUMP_TABLES_IN_TEXT_SECTION): Define.
10324         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
10325         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
10326         and assemble_name.
10327         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
10328         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
10329         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
10330         (INCOMING_RETURN_ADDR_RTX): Define.
10331         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
10332         (VUNSPEC_SYNC_ISTREAM): Define.
10333         (blockage): Use VUNSPEC_BLOCKAGE.
10334         (sync_istream): New insn.
10335
10336 2002-10-01  Richard Henderson  <rth@redhat.com>
10337
10338         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
10339         (*call_value_pop, call, call_value): Add dwarf2 EH support.
10340         (*call): New insn.
10341
10342 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
10343
10344         PR c/8083
10345         * c-typeck.c (build_c_cast): Warn about type punning which breaks
10346         type based aliasing.
10347
10348 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
10349
10350         * stor-layout.c (update_alignment_for_field): New function.
10351         (place_union_field): Use it.
10352         (place_field): Likewise.
10353
10354 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
10355
10356         PR other/8077
10357         * gcc.c (cc1_options): Add space on -auxbase-strip.
10358
10359 2002-10-01  Jim Wilson  <wilson@redhat.com>
10360
10361         * config/v850/v850.h (EPILOGUE_USES): Define.
10362
10363 2002-09-30  Andrew Haley  <aph@redhat.com>
10364
10365         * flow.c (insn_dead_p): When using non-call-exceptions, don't
10366         eliminate insns that may trap.
10367         * cse.c (insn_live_p): Likewise.
10368
10369 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
10370
10371         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
10372         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
10373         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
10374         * config/mips/mips.md: Apply same renaming here.
10375
10376 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
10377
10378         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
10379         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
10380         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
10381         * config/mips/mips.md (define_attr cpu): Remove r4320.
10382         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
10383
10384 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
10385
10386         * config/mips/mips.c (mips16_strings): New variable.
10387         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
10388         symbol in mips16_strings.  Free the list.
10389         (mips_encode_section_info): Keep track of local strings.
10390
10391 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
10392
10393         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
10394         (sordered_df, sordered_sf): Remove.
10395         * config/mips/mips.c (get_float_compare_codes): New fn.
10396         (gen_int_relational, gen_conditional_move): Use it.
10397
10398 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
10399
10400         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
10401         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
10402         * config/mips/mips.c (fcc_register_operand): New function.
10403         (mips_emit_fcc_reload): New function, extracted from reload_incc.
10404         (override_options): Allow TFmode values in float registers
10405         if ISA_HAS_8CC.
10406         * cnfig/mips/mips.md (reload_incc): Change destination prediate
10407         to fcc_register_operand.  Remove misleading source constraint.
10408         Use mips_emit_fcc_reload.
10409         (reload_outcc): Duplicate reload_incc.
10410
10411 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
10412
10413         * gcc.c (validate_switches): Handle all new forms of spec
10414         syntax introduced recently.  Now returns a char *.
10415         (validate_all_switches): Repetitive logic broken out to...
10416         (validate_switches_from_spec): ...here.
10417         * mklibgcc.in: Don't @-flag commands to generate .oS files.
10418
10419 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
10420
10421         * longlong.h: Partially synchronize with GMP-4.1 version:
10422         Use i370 definitions also for s390.
10423         Add generic definition of umul_ppmm in terms of smul_ppmm.
10424         [s390] (umul_ppmm): Remove.
10425         [s390] (smul_ppmm): Fix incorrect assembler constraints.
10426         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
10427
10428 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
10429
10430         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
10431         Add new RL_REGS register class.
10432         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
10433         Call xtensa_preferred_reload_class for both input and output reloads.
10434         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
10435         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
10436         instead of either AR_REGS or GR_REGS classes.
10437         (xtensa_secondary_reload_class): Use new RL_REGS class.
10438         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
10439
10440 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10441
10442         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
10443         (pa_strip_name_encoding): Strip '@' and '*', in that order.
10444         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
10445         there is a '*' prefix in NAME.
10446
10447 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
10448
10449         * reload.c (push_reload): Handle subregs and secondary memory.
10450         * reload1.c (gen_reload): Likewise.
10451
10452         * jump.c (reg_or_subregno): New function.
10453         * rtl.h (reg_or_subregno): Declare
10454         * unroll.c (find_splittable_givs): Handle subregs.
10455
10456 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
10457
10458         * store-layout.c (finish_record_layout): Add free_p parameter.
10459         (layout_type): Pass it.
10460         * tree.h (finish_record_layout): Update prototype.
10461
10462 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
10463
10464         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
10465
10466         * gcse.c (cprop_jump): Check that the register has not
10467         been modified
10468         (cprop_jump): Likewise.
10469
10470 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
10471
10472         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
10473         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
10474         that we have a SImode access, and only then if reload hasn't completed;
10475         for all other cases, use LO_REGS.
10476
10477 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10478
10479         * openbsd.h: Fix typo in last change.
10480
10481 2002-09-29  Richard Henderson  <rth@redhat.com>
10482
10483         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
10484
10485 2002-09-29  Richard Henderson  <rth@redhat.com>
10486
10487         PR c/8002
10488         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
10489         for CONST_INT.
10490
10491 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
10492
10493         * real.h (ibm_extended_format): Declare.
10494         * real.c (encode_ibm_extended, decode_ibm_extended): New
10495         functions.
10496
10497 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10498
10499         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
10500
10501         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
10502
10503 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10504
10505         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
10506
10507 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
10508
10509         * builtins.def: Fix comment formatting.
10510         * c-common.def: Likewise.
10511         * cfgcleanup.c: Likewise.
10512         * combine.c: Likewise.
10513         * gengtype.c: Likewise.
10514         * params.def: Likewise.
10515         * predict.def: Likewise.
10516         * rtl.def: Likewise.
10517         * stab.def: Likewise.
10518         * stor-layout.c: Likewise.
10519         * tree.def: Likewise.
10520         * config/darwin.c: Likewise.
10521         * config/darwin.h: Likewise.
10522         * config/dbxcoff.h: Likewise.
10523         * config/elfos.h: Likewise.
10524         * config/fp-bit.c: Likewise.
10525         * config/freebsd-spec.h: Likewise.
10526         * config/interix.h: Likewise.
10527         * config/libgloss.h: Likewise.
10528         * config/linux-aout.h: Likewise.
10529         * config/linux.h: Likewise.
10530         * config/lynx-ng.h: Likewise.
10531         * config/lynx.h: Likewise.
10532         * config/netbsd-aout.h: Likewise.
10533         * config/netbsd.h: Likewise.
10534         * config/netware.h: Likewise.
10535         * config/psos.h: Likewise.
10536         * config/ptx4.h: Likewise.
10537
10538 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
10539
10540         * ChangeLog.4: Fix typos.
10541         * ChangeLog.6: Likewise.
10542         * FSFChangeLog.10: Likewise.
10543         * genattrtab.c: Fix comment typos.
10544         * haifa-sched.c: Likewise.
10545         * real.c: Likewise.
10546         * tree.h: Likewise.
10547         * config/arm/arm.c: Likewise.
10548         * config/arm/crti.asm: Likewise.
10549         * config/arm/crtn.asm: Likewise.
10550         * config/frv/frv.c: Likewise.
10551         * config/frv/frv.md: Likewise.
10552         * config/h8300/h8300.md: Likewise.
10553         * config/i386/rtemself.h: Likewise.
10554         * config/ia64/unwind-ia64.c: Likewise.
10555         * config/ip2k/ip2k.h: Likewise.
10556         * config/m88k/m88k.c: Likewise.
10557         * config/m88k/m88k.md: Likewise.
10558         * config/mips/sr71k.md: Likewise.
10559         * config/mmix/mmix.c: Likewise.
10560         * config/rs6000/rs6000.c: Likewise.
10561         * config/sh/sh.md: Likewise.
10562
10563 2002-09-26  Theodore A. Roth  <troth@verinet.com>
10564
10565         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
10566         * config/avr/avr.md: Ditto.
10567
10568 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
10569
10570         PR preprocessor/8055
10571         * cppmacro.c (stringify_arg): Do not overflow the buffer
10572         with the terminating NUL when the argument to be stringified
10573         has no tokens.
10574
10575 2002-09-27  Richard Henderson  <rth@redhat.com>
10576
10577         * unroll.c (simplify_cmp_and_jump_insns): New.
10578         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
10579         instead of expand_simple_foo.
10580
10581 2002-09-27  Richard Henderson  <rth@redhat.com>
10582
10583         PR optimization/7520
10584         * cfganal.c (flow_active_insn_p): New.
10585         (forwarder_block_p): Use it.
10586
10587 2002-09-27  Richard Henderson  <rth@redhat.com>
10588
10589         * emit-rtl.c (active_insn_p): Revert last change.
10590
10591 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
10592
10593         * doc/extend.texi (tls_model): Document.
10594         * varasm.c (decl_tls_model): New.
10595         * c-common.c (handle_tls_model_attribute): New.
10596         (c_common_attribute_table): Add tls_model.
10597         * config/alpha/alpha.c (alpha_encode_section_info): Use
10598         decl_tls_model.
10599         * flags.h (enum tls_model, flag_tls_default): Move...
10600         * tree.h (enum tls_model, flag_tls_default): ...here.
10601         (decl_tls_model): New prototype.
10602         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
10603         * config/i386/i386.c (ix86_encode_section_info): Likewise.
10604         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
10605         Allow !flag_pic.
10606
10607 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
10608
10609         * LANGUAGES: Follow spelling conventions.
10610         * rtl.def: Likewise.
10611         * sbitmap.c: Likewise.
10612         * sched-int.h: Likewise.
10613         * sched-rgn.c: Likewise.
10614         * sibcall.c: Likewise.
10615         * simplify-rtx.c: Likewise.
10616         * ssa.c: Likewise.
10617         * stab.def: Likewise.
10618         * stmt.c: Likewise.
10619         * stor-layout.c: Likewise.
10620         * target.h: Likewise.
10621         * timevar.c: Likewise.
10622         * toplev.c: Likewise.
10623         * tree-dump.c: Likewise.
10624         * tree-inline.c: Likewise.
10625         * tree.c: Likewise.
10626         * tree.def: Likewise.
10627         * tree.h: Likewise.
10628         * unroll.c: Likewise.
10629         * varasm.c: Likewise.
10630         * vmsdbgout.c: Likewise.
10631         * treelang/treelang.texi: Likewise.
10632         * treelang/treetree.c: Likewise.
10633
10634 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
10635
10636         * config/h8300/h8300.c (compute_saved_regs): Use a macro
10637         instead of a hard register number.
10638         (get_shift_alg): Use an enumerated type instead of numbers.
10639         (h8300_shift_needs_scratch_p): Likewise.
10640
10641 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
10642
10643         * varasm.c (force_data_section): Remove.
10644         (assemble_constant_align): Likewise.
10645         * output.h: Remove corresponding prototypes.
10646
10647 2002-09-26  Roger Sayle  <roger@eyesopen.com>
10648
10649         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
10650         jump, if the loop to exit is the top of the current nesting stack.
10651
10652 2002-09-26  Torbjorn Granlund  <tege@swox.com>
10653
10654         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
10655         arithmetic.
10656
10657 2002-09-26  David S. Miller  <davem@redhat.com>
10658
10659         PR optimization/7335
10660         * calls.c (emit_library_call_value_1): Passing args by reference
10661         converts a CONST function into a PURE one.
10662
10663 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
10664
10665         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
10666         text_section.
10667         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
10668         text section.
10669         * config/rs6000/rs6000.c (rs6000_override_options): Allow
10670         function-sections and data-sections functionality on AIX.
10671
10672 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
10673             Dale Johannesen  <dalej@apple.com>
10674
10675         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
10676         in RTL for sub-word loads from memory.
10677
10678 2002-09-26  Richard Henderson  <rth@redhat.com>
10679
10680         PR c/7160
10681         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
10682         on call insns.
10683
10684 2002-09-26  Richard Henderson  <rth@redhat.com>
10685
10686         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
10687
10688 2002-09-26  Chris Lattner  <sabre@nondot.org>
10689
10690         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
10691         handling undefined values.
10692
10693 2002-09-26  Richard Henderson  <rth@redhat.com>
10694
10695         PR opt/7520
10696         * emit-rtl.c (active_insn_p): Consider a clobber of the
10697         function return value to be active even after reload.
10698
10699 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
10700
10701         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
10702         by absolute loop increment, not loop increment.
10703
10704 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
10705
10706         * c-common.h: Follow spelling conventions.
10707         * cpplex.c: Likewise.
10708         * cpplib.h: Likewise.
10709         * gthr-dce.h: Likewise.
10710         * gthr-posix.h: Likewise.
10711         * optabs.c: Likewise.
10712         * output.h: Likewise.
10713         * profile.c: Likewise.
10714         * protoize.c: Likewise.
10715         * ra-rewrite.c: Likewise.
10716         * real.c: Likewise.
10717         * recog.c: Likewise.
10718         * reg-stack.c: Likewise.
10719         * regclass.c: Likewise.
10720         * regmove.c: Likewise.
10721         * reload.c: Likewise.
10722         * reload.h: Likewise.
10723         * reload1.c: Likewise.
10724         * reorg.c: Likewise.
10725         * resource.c: Likewise.
10726         * rtl.h: Likewise.
10727         * rtlanal.c: Likewise.
10728
10729 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
10730
10731         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
10732         for symbol address.
10733
10734 2002-09-24  Eric Christopher  <echristo@redhat.com>
10735
10736         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
10737         * config/mips/elf64.h: Ditto.
10738
10739 2002-09-24  Eric Christopher  <echristo@redhat.com>
10740
10741         * except.c (expand_builtin_extract_return_address): Handle case
10742         where Pmode != ptr_mode.
10743
10744 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
10745
10746         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
10747
10748 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
10749
10750         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
10751
10752 2002-09-26  Igor Shevlyakov <igor@microunity.com>
10753
10754         * combine.c (simplify_set): Don't call to force_to_mode if size
10755         of integer type is larger than HOST_BITS_PER_WIDE_INT.
10756
10757 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
10758
10759         * Makefile.in (qmtest-g++): Fix file path.
10760
10761 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
10762
10763         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
10764         A + (-const) on RTX level, even for unsigned types.
10765
10766 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
10767
10768         * reload.c (dup_replacements): New function.
10769         (find_reloads): Use it to duplicate replacements at the top level
10770         of match_dup operands.
10771
10772 2002-09-26  Miles Bader  <miles@gnu.org>
10773
10774         * v850.md ("length"): Change default value to 4.
10775
10776 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
10777
10778         * ChangeLog.1: Follow spelling conventions.
10779         * ChangeLog.4: Likewise.
10780         * ChangeLog.6: Likewise.
10781         * FSFChangeLog.11: Likewise.
10782         * doc/cpp.texi: Likewise.
10783         * doc/invoke.texi: Likewise.
10784         * doc/tm.texi: Likewise.
10785
10786 2002-09-26  Nick Clifton  <nickc@redhat.com>
10787
10788         * config.gcc: Add x prefix to v850e case for handling
10789         --with-cpu=v850e.
10790
10791 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
10792
10793         * gcc.c (input_suffix_matches, switch_matches,
10794         mark_matching_switches, process_marked_switches,
10795         process_brace_body): New functions - split from handle_braces.
10796         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
10797         and ignore whitespace in more places.
10798         (specs documentation comment): Document %{S:X;T:Y;:D}.
10799         Clarify other %{...} docs.
10800         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
10801         %{...} docs.
10802
10803         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
10804         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
10805
10806 2002-09-25  David S. Miller  <davem@redhat.com>
10807
10808         PR target/7842
10809         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
10810         extend.
10811
10812 2002-09-25  Richard Henderson  <rth@redhat.com>
10813
10814         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
10815         fp CONST_DOUBLE; use real_identical.
10816
10817 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
10818
10819         * doc/invoke.texi: Add more -Wabi examples.
10820
10821 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
10822
10823         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
10824
10825 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
10826
10827         * profile.c (end_branch_prob): Only look for __gcov_init on
10828         weak-enabled native compilers.
10829
10830 2002-09-24  Denis Chertykov  <denisc@overta.ru>
10831
10832         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
10833         cases of optimizing "add sp,w" to "inc sp".
10834
10835 2002-09-24  Adam Nemet  <anemet@lnxw.com>
10836
10837         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
10838         epilogue for naked functions.
10839
10840 2002-09-24  Adam Nemet  <anemet@lnxw.com>
10841             Nick Clifton  <nickc@redhat.com>
10842
10843         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
10844         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
10845         is defined.
10846
10847 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
10848
10849         * config/s390/s390.c (preferred_la_operand_p): New function.
10850         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
10851         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
10852         ("*la_64_cc", "*la_31_cc", splitters): ... these.
10853         ("*la_31"): Deactivate for TARGET_64BIT.
10854         ("*la_31_and", "*la_31_and_cc"): New.
10855
10856 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10857
10858         * real.h (real_value): Make `exp' explicitly signed.
10859
10860 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
10861
10862         * config/elfos.h: Follow spelling conventions.
10863         * config/alpha/alpha.h: Likewise.
10864         * config/arc/arc.h: Likewise.
10865         * config/arm/arm.md: Likewise.
10866         * config/avr/avr.h: Likewise.
10867         * config/cris/cris.md: Likewise.
10868         * config/d30v/d30v.h: Likewise.
10869         * config/frv/frv.c: Likewise.
10870         * config/frv/frv.h: Likewise.
10871         * config/h8300/h8300.c: Likewise.
10872         * config/h8300/h8300.h: Likewise.
10873         * config/h8300/h8300.md: Likewise.
10874         * config/i386/cygwin.h: Likewise.
10875         * config/i386/i386.h: Likewise.
10876         * config/i386/sysv3.h: Likewise.
10877         * config/i960/i960.h: Likewise.
10878         * config/ia64/ia64.h: Likewise.
10879         * config/ia64/ia64.md: Likewise.
10880         * config/ip2k/ip2k.h: Likewise.
10881         * config/m32r/m32r.h: Likewise.
10882         * config/m68k/m68k.h: Likewise.
10883         * config/m88k/m88k.h: Likewise.
10884         * config/mcore/mcore.c: Likewise.
10885         * config/mcore/mcore.h: Likewise.
10886         * config/mcore/mcore.md: Likewise.
10887         * config/mips/mips.h: Likewise.
10888         * config/mmix/mmix.h: Likewise.
10889         * config/mmix/mmix.md: Likewise.
10890         * config/ns32k/netbsd.h: Likewise.
10891         * config/ns32k/ns32k.h: Likewise.
10892         * config/ns32k/ns32k.md: Likewise.
10893         * config/pa/pa.h: Likewise.
10894         * config/romp/romp.h: Likewise.
10895         * config/rs6000/rs6000.h: Likewise.
10896         * config/rs6000/rs6000.md: Likewise.
10897         * config/sparc/sparc.h: Likewise.
10898         * config/stormy16/stormy-abi: Likewise.
10899         * config/stormy16/stormy16.h: Likewise.
10900         * config/vax/vax.h: Likewise.
10901
10902 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
10903
10904         * config/alpha/alpha.h: Remove commented-out macro
10905         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
10906         * config/avr/avr.h: Likewise.
10907         * config/d30v/d30v.h: Likewise.
10908         * config/dsp16xx/dsp16xx.h: Likewise.
10909         * config/i370/i370.h: Likewise.
10910         * config/i386/i386.h: Likewise.
10911         * config/i960/i960.h: Likewise.
10912         * config/m68k/m68k.h: Likewise.
10913         * config/m88k/m88k.h: Likewise.
10914         * config/mips/mips.h: Likewise.
10915         * config/ns32k/ns32k.h: Likewise.
10916         * config/pdp11/pdp11.h: Likewise.
10917         * config/romp/romp.h: Likewise.
10918         * config/rs6000/rs6000.h: Likewise.
10919         * config/s390/s390.h: Likewise.
10920         * config/sh/sh.h: Likewise.
10921         * config/sparc/sparc.h: Likewise.
10922         * config/stormy16/stormy16.h: Likewise.
10923         * config/vax/vax.h: Likewise.
10924
10925 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
10926
10927         * function.c (push_temp_slots_for_block): Remove.
10928         (push_temp_slots_for_target): Likewise.
10929         (get_target_temp_slot_level): Likewise.
10930         (set_target_temp_slot_level): Likewise.
10931         (get_first_block_beg): Likewise.
10932         * function.h: Remove corresponding prototypes.
10933
10934 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
10935
10936         * version.c (version_string): Now const char[].
10937         * version.h: Update to match.
10938
10939 2002-09-23  Richard Henderson  <rth@redhat.com>
10940
10941         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
10942         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
10943         (TARGET_SWITCHES): Don't reference them.
10944         * config/i386/i386.c (override_options): Use target_flags_explicit
10945         to examine bits set by the user.
10946
10947 2002-09-23  Dale Johannesen  <dalej@apple.com>
10948
10949         * dbxout.c (dbxout_parms):  Set current_sym_code for params
10950         passed on stack by invisible reference.
10951
10952 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
10953
10954         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
10955         at least one byte of space.
10956
10957 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
10958
10959         * c-common.h (flag_abi_version): Fix typo in comment.
10960         * doc/invoke.texi (flag_abi_version): Document default value.
10961
10962 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
10963
10964         * doc/extend.texi (Extended Asm): Clarify that overlap between
10965         asm-declared register variables used in an asm and the asm clobber
10966         list is not allowed.
10967         * stmt.c (decl_conflicts_with_clobbers_p): New function.
10968         (expand_asm_operands): Keep track of clobbered registers.  Call
10969         decl_conflicts_with_clobbers_p for each input and output operand.
10970         If no conflicts found before, also do conflict sanity check when
10971         emitting clobbers.
10972
10973 2002-09-23  Richard Henderson  <rth@redhat.com>
10974
10975         * c-common.c (cpp_define_data_format): Remove.
10976         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
10977         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
10978         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
10979         * doc/cpp.texi: Don't document them either.
10980         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
10981         __LONG_LONG_MAX__): Document.
10982         (__TARGET_FLOAT_FORMAT__): Remove.
10983
10984 2002-09-23  Richard Henderson  <rth@redhat.com>
10985
10986         * real.c (do_multiply): Normalize U before addition.
10987
10988 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
10989
10990         * c-common.c (flag_abi_version): New variable.
10991         * c-common.h (flag_abi_version): Declare it.
10992         * c-opts.c (missing_arg): Add -fabi-version.
10993         (c_common_decode_option): Process -fabi-version.
10994         * doc/invoke.texi (-fabi-version): Document it.
10995         (-Wabi): Add information about bit-fields in unions.
10996
10997 2002-09-22  Roger Sayle  <roger@eyesopen.com>
10998
10999         * expr.c (STORE_BY_PIECES_P): New target macro.
11000         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
11001         instead of MOVE_BY_PIECES_P.
11002         * doc/tm.texi: Document this new macro.
11003
11004 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
11005
11006         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
11007         unless -fno-pic or -fno-PIC is specified.
11008
11009 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11010
11011         * c-common.c (preprocessing_trad_p): Define.
11012         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
11013         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
11014         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
11015         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
11016         * pa-linux.h (CPP_PREDEFINES): Delete.
11017         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
11018         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
11019         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
11020         (TARGET_OS_CPP_BUILTINS): Define.
11021         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
11022         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
11023         (SUBTARGET_SWITCHES): Provide default definition.
11024         (TARGET_OPTIONS): Reformat.  Use N_() macro.
11025         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
11026         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
11027         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
11028         (TARGET_CPU_CPP_BUILTINS): Define.
11029         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
11030         * doc/invoke.texi (msio, mwsio): Document new hppa options.
11031         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
11032         preprocessing_trad_p().
11033
11034 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
11035
11036         * doc/install.texi: Document behavior of --with-headers and
11037         --with-libs when arguments are omitted.
11038
11039 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
11040
11041         * dbxout.c: Follow spelling conventions.
11042         * defaults.h: Likewise.
11043         * df.c: Likewise.
11044         * diagnostic.h: Likewise.
11045         * doloop.c: Likewise.
11046         * dwarf2out.c: Likewise.
11047         * dwarfout.c: Likewise.
11048         * emit-rtl.c: Likewise.
11049         * except.c: Likewise.
11050         * explow.c: Likewise.
11051         * expmed.c: Likewise.
11052         * expr.c: Likewise.
11053         * expr.h: Likewise.
11054         * flags.h: Likewise.
11055         * flow.c: Likewise.
11056         * fold-const.c: Likewise.
11057         * function.c: Likewise.
11058         * function.h: Likewise.
11059         * gcc.c: Likewise.
11060         * gcov-io.h: Likewise.
11061         * gcov.c: Likewise.
11062         * gcse.c: Likewise.
11063         * genattrtab.c: Likewise.
11064         * genconfig.c: Likewise.
11065         * genrecog.c: Likewise.
11066         * ggc-page.c: Likewise.
11067         * ggc.h: Likewise.
11068         * global.c: Likewise.
11069         * gthr-win32.h: Likewise.
11070         * integrate.c: Likewise.
11071         * jump.c: Likewise.
11072         * langhooks.c: Likewise.
11073         * langhooks.h: Likewise.
11074         * line-map.h: Likewise.
11075         * local-alloc.c: Likewise.
11076         * longlong.h: Likewise.
11077         * loop.c: Likewise.
11078         * loop.h: Likewise.
11079
11080 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
11081
11082         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
11083
11084 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
11085
11086         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
11087         for -Os/TARGET_64BIT too.
11088
11089 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
11090
11091         * ChangeLog: Follow spelling conventions.
11092         * ChangeLog.0: Likewise.
11093         * ChangeLog.1: Likewise.
11094         * ChangeLog.2: Likewise.
11095         * ChangeLog.3: Likewise.
11096         * ChangeLog.4: Likewise.
11097         * ChangeLog.5: Likewise.
11098         * ChangeLog.6: Likewise.
11099         * FSFChangeLog.10: Likewise.
11100         * FSFChangeLog.11: Likewise.
11101         * alias.c: Likewise.
11102         * basic-block.h: Likewise.
11103         * c-aux-info.c: Likewise.
11104         * c-common.c: Likewise.
11105         * c-common.h: Likewise.
11106         * c-decl.c: Likewise.
11107         * c-format.c: Likewise.
11108         * c-semantics.c: Likewise.
11109         * c-typeck.c: Likewise.
11110         * calls.c: Likewise.
11111         * cfganal.c: Likewise.
11112         * cfgloop.c: Likewise.
11113         * collect2.c: Likewise.
11114         * combine.c: Likewise.
11115         * conflict.c: Likewise.
11116         * cppexp.c: Likewise.
11117         * cppfiles.c: Likewise.
11118         * cpphash.h: Likewise.
11119         * cppinit.c: Likewise.
11120         * cpplex.c: Likewise.
11121         * cpplib.c: Likewise.
11122         * cpplib.h: Likewise.
11123         * cppmacro.c: Likewise.
11124         * cse.c: Likewise.
11125
11126 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
11127
11128         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
11129         LINK_SPEC.
11130         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
11131         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
11132         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
11133
11134 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
11135
11136         PR opt/7930
11137         * cse.c (fold_rtx): Calculate old_cost before we fold each
11138         operand.
11139
11140 2002-09-21  Richard Henderson  <rth@redhat.com>
11141
11142         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
11143         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
11144         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
11145         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
11146         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
11147         * doc/cpp.texi: Don't document them.
11148
11149 2002-09-21  Richard Henderson  <rth@redhat.com>
11150
11151         * c-common.c (builtin_define_float_constants): Use real_format
11152         to get the floating-point parameters.
11153
11154 2002-09-21  Richard Henderson  <rth@redhat.com>
11155
11156         * real.c (struct real_format): Move to real.h.
11157         (real_format_for_mode): Rename from fmt_for_mode; update all users;
11158         initialize with ieee defaults.
11159         (real_to_target_fmt, real_from_target_fmt): New.
11160         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
11161         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
11162         ieee_quad_format, i370_single_format, i370_double_format,
11163         c4x_single_format, c4x_extended_format): Rename from s/_format//.
11164         (ieee_quad_format): Fix emin.
11165         (format_for_size, init_real_once): Remove.
11166         * real.h (struct real_format): Move from real.c.
11167         (real_format_for_mode): Declare.
11168         (real_to_target_fmt, real_from_target_fmt): Declare.
11169         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
11170         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
11171         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
11172         i370_single_format, i370_double_format, c4x_single_format,
11173         c4x_extended_format): Declare.
11174         * toplev.c (do_compile): Don't call init_real_once.
11175
11176         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
11177         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
11178
11179         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
11180         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
11181         * config/alpha/alpha.c (override_options): Set real_format_for_mode
11182         for VAX, if enabled.
11183
11184         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
11185         for C4X.
11186
11187         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
11188         * config/i370/i370.c (override_options): New.
11189         * config/i370/i370-protos.h: Update.
11190
11191         * config/i386/i386.c (override_options): Set real_format_for_mode
11192         for Intel 80-bit extended.
11193         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
11194
11195         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
11196         (OVERRIDE_OPTIONS): Move code...
11197         * config/i960/i960.c (i960_initialize): ... here.  Set
11198         real_format_for_mode for Intel 80-bit extended.
11199
11200         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
11201         for Intel 80-bit extended, if enabled.
11202
11203         * config/m68k/m68k.c (override_options): Set real_format_for_mode
11204         for Motorola 96-bit extended.
11205
11206         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
11207         * config/vax/vax.c (override_options): New.
11208         * config/vax/vax-protos.h: Update.
11209
11210 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
11211
11212         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
11213         #if TARGET_MACHO.
11214
11215         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
11216         insns.  Supply missing clobber of scratch reg.
11217
11218 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
11219
11220         * config/m32r/m32r.c: Follow spelling conventions.
11221         * config/m32r/m32r.h: Likewise.
11222         * config/m32r/m32r.md: Likewise.
11223         * config/m68k/m68k.c: Likewise.
11224         * config/m88k/m88k.c: Likewise.
11225         * config/mcore/mcore.c: Likewise.
11226         * config/mips/mips.c: Likewise.
11227         * config/mips/mips.h: Likewise.
11228         * config/mmix/mmix.c: Likewise.
11229         * config/mn10200/mn10200.c: Likewise.
11230         * config/ns32k/ns32k.h: Likewise.
11231         * config/pa/pa.c: Likewise.
11232         * config/pa/pa64-linux.h: Likewise.
11233         * config/pdp11/pdp11.h: Likewise.
11234         * config/romp/romp.c: Likewise.
11235         * config/romp/romp.h: Likewise.
11236         * config/rs6000/eabi.asm: Likewise.
11237         * config/rs6000/linux64.h: Likewise.
11238         * config/rs6000/rs6000.c: Likewise.
11239         * config/rs6000/rs6000.h: Likewise.
11240         * config/rs6000/rs6000.md: Likewise.
11241         * config/rs6000/sysv4.h: Likewise.
11242         * config/rs6000/xcoff.h: Likewise.
11243
11244 2002-09-20  Jim Wilson  <wilson@redhat.com>
11245
11246         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
11247
11248 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
11249
11250         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
11251         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
11252         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
11253         (legitimate_address_p): Likewise.
11254         (legitimize_address): Use @gotntpoff and @indntpoff.
11255         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
11256         (output_addr_const_extra): Likewise.
11257
11258 2002-09-20  Jim Wilson  <wilson@redhat.com>
11259
11260         * combine.c (try_combine): When split an instruction pair, where the
11261         first has a sign_extend src, verify that the src and dest modes match.
11262
11263 2002-09-20  Richard Henderson  <rth@redhat.com>
11264
11265         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
11266         (override_options): Do not initialize them.
11267         (mips_const_double_ok): Allow no fp constants except zero,
11268         and not even that for mips16.
11269         (const_float_1_operand): Use dconst1.
11270         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
11271         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
11272         Don't allow arbitrary constants; fix predicates and C constraint.
11273
11274 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
11275
11276         * cppmacro.c: Don't warn about function-like macros without
11277         '(' during pre-expansion.
11278
11279 2002-09-20  Jim Wilson  <wilson@redhat.com>
11280
11281         * config/v850/v850.c (current_function_anonymous_args): Delete.
11282         (expand_prologue): Use current_function_args_info.anonymous_args.
11283         (expand_epilogue): Delete use of current_function_anonymous_args.
11284         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
11285         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
11286         (current_function_anonymous_args): Delete extern declaration.
11287         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
11288
11289 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
11290
11291         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
11292         to load_macho_picbase.
11293         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
11294         (load_macho_picbase): Take the symbol to use as a parameter.
11295         (macho_correct_pic): New insn.
11296         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
11297
11298         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
11299         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
11300         (CAN_ELIMINATE): Likewise.
11301         (INITIAL_ELIMINATION_OFFSET): Likewise.
11302         (TOC_REGISTER): Likewise.
11303
11304 2002-09-20  Richard Henderson  <rth@redhat.com>
11305
11306         * real.c (real_hash): New.
11307         * real.h: Declare it.
11308         * cse.c (canon_hash): Use it.
11309         * cselib.c (hash_rtx): Likewise.
11310         * emit-rtl.c (const_double_htab_hash): Likewise.
11311         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
11312         * varasm.c (struct rtx_const): Reduce vector size; separate
11313         integer and fp vectors.
11314         (HASHBITS): Remove.
11315         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
11316         take modulus MAX_HASH_TABLE.
11317         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
11318         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
11319         (SYMHASH): Don't use HASHBITS.
11320         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
11321         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
11322         (simplify_subtraction): Fix kind comparison.
11323         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
11324         Use a union to pun integer array.
11325         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
11326         only hash two words of integral CONST_DOUBLE.
11327
11328 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
11329
11330         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
11331         (STARTFILE_PREFIX_SPEC): New.
11332         (LINK_SPEC): Modify.
11333         (LIB_SPEC): Modify.
11334         (LIBGCC_SPEC): New.
11335
11336 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
11337
11338         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
11339         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
11340
11341 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
11342
11343         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
11344         Add clobber of the condition code register.
11345
11346 2002-09-20  Richard Henderson  <rth@redhat.com>
11347
11348         * real.c (do_fix_trunc): Static.
11349         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
11350         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
11351         encode_i370_single, encode_i370_double, encode_c4x_single,
11352         encode_c4x_extended): Add default abort case.
11353
11354 2002-09-20  Richard Henderson  <rth@redhat.com>
11355
11356         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
11357         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
11358         (struct realvaluetype): Remove.
11359         (REAL_VALUE_TYPE): Use struct real_value.
11360         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
11361         (test_real_width): New.
11362         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
11363         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
11364         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
11365         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
11366         real_to_integer, real_to_integer2, real_to_decimal,
11367         real_to_hexadecimal, real_from_string, real_from_integer,
11368         real_inf, real_nan, real_2expN, real_convert, real_to_target,
11369         real_from_target): Likewise.
11370         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
11371         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
11372
11373 2002-09-20  Richard Henderson  <rth@redhat.com>
11374
11375         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
11376         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
11377         * defaults.h: ... here.
11378         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
11379         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
11380         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
11381         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
11382
11383 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
11384
11385         * config/mmix/mmix.md ("negdf2"): Rewrite.
11386         ("*expanded_negdf2"): New.
11387
11388 2002-09-19  Jim Wilson  <wilson@redhat.com>
11389
11390         * combine.c (simplify_set): When optimizing a subreg src with a
11391         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
11392
11393 2002-09-19  Dale Johannesen <dalej@apple.com>
11394         * combine.c (make_extraction): Don't create
11395         invalid subreg.
11396
11397 2002-09-19  Roger Sayle  <roger@eyesopen.com>
11398
11399         * tree.c (integer_nonzerop): New predicate for nonzero integers.
11400         * tree.h (integer_nonzerop): Add function prototype.
11401         * stmt.c (expand_end_loop):  Don't rotate the loop when there
11402         are no instructions in the test, i.e. the loop is unconditional.
11403         (expand_exit_loop_if_false):  Optimize RTL generation of loop
11404         tests when the condition is always true or always false.
11405         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
11406         do-loops when the condition is always true.
11407         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
11408         the for-expression is empty.
11409
11410 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
11411
11412         * gcc.c (use_pipes): New flag.
11413         (process_command): Set it.  Adjust check for -pipe conflicting
11414         with -time or -save-temps.
11415         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
11416         %<SWITCH.  Drop %| (without a SUFFIX).
11417         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
11418         (give_switch): Third argument eliminated.
11419         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
11420         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
11421         (specs documentation comment): Update.
11422
11423         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
11424         config/svr4.h, config/i386/freebsd-aout.h,
11425         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
11426         config/m68k/openbsd.h, config/mips/openbsd.h,
11427         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
11428         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
11429         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
11430         * config/cris/cris.h: Update comment.
11431
11432         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
11433         error messages.  Don't use %{^SWITCH}.
11434         * ada/misc.c (gnat_decode_option): Handle -I with a
11435         separate argument.
11436
11437         * f/lang-specs.h: Use %| and %m.
11438         * java/jvspec.c: Use %m and %(invoke_as).  Change all
11439         uses of %{<SWITCH} to %<SWITCH.
11440
11441         * doc/invoke.texi: Update documentation of specs.
11442         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
11443
11444 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
11445
11446         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
11447         and STRICT_LOW_PART within SET_DEST.
11448         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
11449         splitters, replacing pre-reload splitters.
11450         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
11451         "*zero_extendqihi2_31"): New insns.
11452         ("*zero_extendqihi2_64"): Do not clobber CC.
11453
11454 2002-09-18  Devang Patel  <dpatel@apple.com>
11455
11456         * cp/cp-tree.h: New prototype for walk_vtables().
11457         * cp/decl.c (walk_vtables_r): New function.
11458         (struct cp_binding_level): Add new members, namespaces,
11459         names_size and vtables.
11460         (add_decl_to_level): Add decl in namespaces or vtables
11461         chain, if conditions match.
11462         (walk_vtables): New function.
11463         (walk_namespaces_r): Travers separate namespace chain
11464         for namespace decls.
11465         (wrapup_globals_for_namespace): Use names_size instead
11466         of list_length().
11467         * cp/decl2.c (finish_file): Use walk_vtables() instead of
11468         walk_globals() to walk vtable decls.
11469
11470 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
11471
11472         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
11473         (DTORS_SECTION_ASM_OP): Ditto.
11474         (READONLY_DATA_SECTION_ASM_OP): Moved.
11475         (DATA_SECTION_ASM_OP): New.
11476         (SDATA_SECTION_ASM_OP): New.
11477         (BSS_SECTION_ASM_OP): New.
11478         (SBSS_SECTION_ASM_OP): New.
11479         (TEXT_SECTION_ASM_OP): New.
11480
11481 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
11482
11483         * config/fp-bit.c: Follow spelling conventions.
11484         * config/d30v/d30v.c: Likewise.
11485         * config/d30v/d30v.h: Likewise.
11486         * config/fr30/fr30.c: Likewise.
11487         * config/fr30/fr30.h: Likewise.
11488         * config/fr30/fr30.md: Likewise.
11489         * config/frv/frv.c: Likewise.
11490         * config/frv/frv.h: Likewise.
11491         * config/h8300/h8300.c: Likewise.
11492         * config/h8300/lib1funcs.asm: Likewise.
11493         * config/i370/i370.c: Likewise.
11494         * config/i386/i386.h: Likewise.
11495         * config/i386/i386.md: Likewise.
11496         * config/i386/pentium.md: Likewise.
11497         * config/i386/winnt.c: Likewise.
11498         * config/i960/i960.c: Likewise.
11499         * config/ia64/ia64.h: Likewise.
11500         * config/ip2k/ip2k.c: Likewise.
11501         * config/ip2k/ip2k.h: Likewise.
11502         * config/ip2k/ip2k.md: Likewise.
11503         * config/ip2k/libgcc.S: Likewise.
11504
11505 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
11506
11507         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
11508         (GOTOFF_P): Extend to allow gotoff plus constant.
11509
11510 2002-09-18  Richard Henderson  <rth@redhat.com>
11511
11512         * ifcvt.c (noce_process_if_block): Correctly detect X modified
11513         with INSN_B before COND_EARLIEST.  Don't check A and B for
11514         modification in condition range.  Reorder INSN_B for A==B properly.
11515         (if_convert): Iterate until no matches for a block.
11516
11517 2002-09-18  Richard Henderson  <rth@redhat.com>
11518
11519         * calls.c (store_one_arg): Rename default_align to parm_align;
11520         always adjust parm_align for downward padding.
11521
11522 2002-09-18  Richard Henderson  <rth@redhat.com>
11523
11524         * toplev.c (backend_init): Move init_real_once invocation ...
11525         (do_compile): ... here.
11526
11527 2002-09-18  Richard Henderson  <rth@redhat.com>
11528
11529         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
11530         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
11531
11532 2002-09-18  Richard Henderson  <rth@redhat.com>
11533
11534         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
11535
11536 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
11537
11538         * config/rs6000/rs6000.md: (floatdisf2): Rename to
11539         floatdisf2_internal1.
11540         (floatdisf2): New define_expand.
11541         (floatdisf2_internal2): Likewise.
11542
11543 2002-09-18  Richard Henderson  <rth@redhat.com>
11544
11545         * real.c (sticky_rshift_significand): Collect sticky as
11546         unsigned long, not bool.
11547
11548 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
11549
11550         * config/s390/s390.c (s390_address_cost): New function.
11551         config/s390/s390-protos.h (s390_address_cost): Add prototype.
11552         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
11553         (RTX_COST): Use COSTS_N_INSNS.
11554
11555 2002-09-18  Douglas Rupp  <rupp@gnat.com>
11556             Donn Terry  <donnte@microsoft.com>
11557
11558         * stor-layout.c (place_field): Handle alignment of whole
11559         structures when MSVC compatible bitfields are involved.
11560         Change method of computing location of MS bitfields to
11561         be compatible with #pragma pack(n).
11562
11563         * tree.h (record_layout_info): Add new field
11564         remaining_in_alignment.
11565
11566         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
11567         (pragma pack): Add paragraph on MSVC bitfield packing.
11568
11569 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
11570
11571         PR optimization/7967
11572         * arm.md (ne_zeroextractsi): Add clobber of the condition code
11573         register.
11574
11575 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
11576
11577         * config/s390/s390.c: Follow spelling conventions.
11578         * config/sh/lib1funcs.asm: Likewise.
11579         * config/sh/sh.c: Likewise.
11580         * config/sh/sh.h: Likewise.
11581         * config/sparc/sparc.c: Likewise.
11582         * config/sparc/sparc.h: Likewise.
11583         * config/sparc/sparc.md: Likewise.
11584         * config/stormy16/stormy16.c: Likewise.
11585         * config/stormy16/stormy16.h: Likewise.
11586         * config/v850/v850.c: Likewise.
11587         * config/v850/v850.h: Likewise.
11588         * config/vax/vax.c: Likewise.
11589         * config/vax/vax.h: Likewise.
11590
11591 2002-09-18  Nick Clifton  <nickc@redhat.com>
11592
11593         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
11594         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
11595         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
11596
11597 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
11598
11599         * function.c (max_parm_reg_num): Remove.
11600         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
11601         drop_through_at_end_p, move_cleanups_up,
11602         expand_end_case_dummy, case_index_expr_type): Likewise.
11603         * stor-layout.c (pos_from_byte): Likewise.
11604         * tree.c (chain_member_value, chain_member_purpose, listify,
11605         tree_int_cst_msb, index_type_equal): Likewise.
11606         * tree.h: Remove prototypes for unused functions.
11607
11608 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
11609
11610         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
11611         statement that the only translation is to en_UK.
11612
11613 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
11614
11615         * config/alpha/alpha.c: Follow spelling conventions.
11616         * config/alpha/alpha.h: Likewise.
11617         * config/alpha/alpha.md: Likewise.
11618         * config/arc/arc.h: Likewise.
11619         * config/arm/arm.c: Likewise.
11620         * config/arm/arm.h: Likewise.
11621         * config/arm/arm.md: Likewise.
11622         * config/arm/pe.c: Likewise.
11623         * config/arm/unknown-elf.h: Likewise.
11624         * config/avr/avr.c: Likewise.
11625         * config/avr/avr.h: Likewise.
11626         * config/c4x/c4x.c: Likewise.
11627         * config/cris/cris.c: Likewise.
11628         * config/cris/cris.h: Likewise.
11629
11630 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
11631
11632         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
11633         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
11634         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
11635
11636 2002-09-17  Dale Johannesen  <dalej@apple.com>
11637
11638         * cfgcleanup.c (try_forward_edges):  Do not forward a
11639         branch to just after a loop exit before loop optimization;
11640         this interfered with doloop detection.
11641
11642 2002-09-17  Nick Clifton  <nickc@redhat.com>
11643
11644         * config/arm/arm.c (output_return_instruction): Do not
11645         writeback the stack pointer when it is being loaded.
11646         (arm_output_epilogue): Likewise.
11647
11648 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
11649
11650         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
11651         generate a pseudo reg that receives the result of a libcall.
11652         (prepare_float_lib_cmp): Likewise.
11653
11654 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
11655
11656         * config/ia64/elf.h: Remove CPP_PREDEFINES.
11657
11658 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11659
11660         Fix PR/7014 and related objc bugs:
11661         * c-typeck.c (comp_target_types): Added a reflexive argument.
11662         Pass it to ObjC when/if calling objc_comptypes().  Updated all
11663         callers to provide the appropriate reflexive argument.
11664         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
11665         typechecking for all cases of comparisons and assignments,
11666         particularly the obscure and less common ones involving protocols.
11667
11668 2002-09-17  Nick Clifton  <nickc@redhat.com>
11669
11670         * machmode.def (V1DImode): New mode.  A single element vector.
11671         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
11672         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
11673         * tree.c (build_common_tree_nodes_2): Build
11674         unsigned_V1DI_type_node and V1D1_type_node.
11675         * c-common.c (c_common_type_for_mode): Return
11676         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
11677         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
11678
11679 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
11680
11681         * doc/objc.texi (Constant string objects): Extended documentation
11682         to make clear that the constant string class ivar layout is
11683         completely fixed.
11684
11685 2002-09-17  Roger Sayle  <roger@eyesopen.com>
11686
11687         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
11688         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
11689
11690 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
11691
11692         * config/mips/mips.c (save_restore_insns): Remove unused variable.
11693         * gcc.c (make_relative_prefix): Likewise.
11694         * loop.c (check_final_value): Likewise.
11695         * jump.c (init_label_info): Remove return value.
11696         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
11697
11698 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11699
11700         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
11701         (ASM_PN_FORMAT): Define.
11702
11703 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11704
11705         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
11706         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
11707         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
11708         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
11709         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
11710         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
11711         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
11712         Delete.
11713         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
11714         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
11715         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
11716
11717         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
11718         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
11719
11720 2002-09-16  Richard Henderson  <rth@redhat.com>
11721
11722         * expr.c (emit_block_move): Set memory block size as appropriate
11723         for the copy.
11724
11725 2002-09-16  Richard Henderson  <rth@redhat.com>
11726
11727         PR fortran/3924
11728         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
11729
11730 2002-09-16  Richard Henderson  <rth@redhat.com>
11731
11732         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
11733         as well as OFFSET for BITPOS.
11734
11735 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
11736
11737         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
11738         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
11739         winchip2 and c3.
11740         * doc/invoke.texi: Mention new aliases.
11741
11742 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11743
11744         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
11745         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
11746         downward.
11747         * function.c (pad_below):  Always compile.
11748         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
11749         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
11750         Pad below when the argument is not in a register and the padding
11751         direction is downward.
11752
11753         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
11754         (PAD_VARARGS_DOWN): Define.
11755         * pa.c (function_arg_padding): Revise padding directions to make them
11756         compatible with the 32 and 64-bit runtime architecture documentation.
11757         (hppa_va_arg):  Add code to handle variable and size zero arguments
11758         passed by reference on TARGET_64BIT.  Reformat.
11759         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
11760         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
11761         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
11762         Add comments.
11763         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
11764         (RETURN_IN_MEMORY): Return size zero types in memory.
11765         (FUNCTION_VALUE): Return TFmode in general registers.
11766         (MUST_PASS_IN_STACK): Define.
11767         (FUNCTION_ARG_BOUNDARY): Simplify.
11768         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
11769         by reference.
11770         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
11771
11772 2002-09-16  Richard Henderson  <rth@redhat.com>
11773
11774         * real.c (do_fix_trunc): New.
11775         (real_arithmetic): Call it.
11776         * simplify-rtx.c (simplify_unary_operation): Handle FIX
11777         with a floating-point result mode.
11778
11779 2002-09-16  Richard Henderson  <rth@redhat.com>
11780
11781         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
11782         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
11783         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
11784         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
11785         * builtins.c (fold_builtin_nan): New.
11786         (fold_builtin): Call it.
11787         * real.c (real_nan): Parse a non-empty string.
11788         (round_for_format): Fix NaN significand truncation.
11789         * real.h (real_nan): Return bool.
11790         * doc/extend.texi: Document new builtins.
11791
11792 2002-09-16  Jason Merrill  <jason@redhat.com>
11793             Danny Smith  <dannysmith@users.sourceforge.net>
11794
11795         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
11796         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
11797         (i386_pe_mark_dllimport): Not here.
11798
11799 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
11800
11801         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
11802
11803 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
11804
11805         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
11806         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
11807         < 64.
11808         (rs6000_emit_cmove): Use real_isinf not target_isinf.
11809
11810 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
11811
11812         * calls.c (emit_library_call_value_1): Don't refer to
11813         hard_libcall_value.
11814         * optabs.c (prepare_float_lib_cmp): Likewise.
11815
11816 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
11817
11818         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
11819         mangling.
11820
11821         The following changes are merged from pch-branch:
11822
11823         * doc/gty.texi (GTY Options): Document %a.
11824         * gengtype.c (do_scalar_typedef): New function.
11825         (process_gc_options): Handle `length' option.
11826         (set_gc_used_type): A pointer to an array of structures doesn't
11827         qualify as a pointer to a structure.
11828         (output_escaped_param): Add `%a' escape.
11829         (write_gc_structure_fields): Allow 'desc' on array of unions.
11830         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
11831         do_scalar_typedef.
11832
11833         * gengtype.c (enum rtx_code): Make global.
11834         (rtx_format): Make global.
11835         (rtx_next): New.
11836         (gen_rtx_next): New.
11837         (write_rtx_next): New.
11838         (adjust_field_rtx_def): Skip fields marked by chain_next.
11839         (open_base_files): Delete redundant prototype.
11840         (write_enum_defn): New.
11841         (output_mangled_typename): Correct abort call.
11842         (write_gc_marker_routine_for_structure): Handle chain_next and
11843         chain_prev options.
11844         (finish_root_table): Don't output redundant \n.
11845         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
11846         * c-tree.h (union lang_tree_node): Add chain_next option.
11847
11848         * gengtype.h (NUM_PARAM): New definition.
11849         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
11850         * gengtype.c (find_param_structure): New.
11851         (adjust_field_type): Handle param<n>_is option.
11852         (process_gc_options): Detect use_params option.  Update callers.
11853         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
11854         'use_params' option.
11855         (open_base_files): Add splay-tree.h to list of files included.
11856         (output_mangled_typename): New.
11857         (write_gc_structure_fields): Update 'param' parameter to support
11858         multiple parameters.  Change name mangling.  Allow parameterized
11859         fields to have an apparent scalar type.  Handle param<n>_is options,
11860         use_param option.
11861         (write_gc_marker_routine_for_structure): Update for change to name
11862         mangling.  Better guess the output file for parameterized types.
11863         (write_gc_types): Update for change to name mangling.
11864         (write_gc_root): Update for change to name mangling.  Handle (ignore)
11865         param<n>_is options.
11866         * doc/gty.texi (GTY Options): Add description of param<n>_is
11867         options, use_params option.
11868         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
11869         * gengtype-lex.l: Produce token for param<n>_is.
11870         * gengtype-yacc.y: Parse param<n>_is.
11871
11872         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
11873
11874         * rtl.c: Update comment describing rtx_format.
11875         * rtl.h (union rtunion): Separate definition and typedef.
11876         (struct rtx_def): Use gengtype to mark.
11877         * Makefile.in (gengtype.o): Also depend on rtl.def.
11878         * ggc.h (ggc_mark_rtx_children): Delete prototype.
11879         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
11880         * ggc-common.c (ggc_mark_rtx_children): Delete.
11881         (ggc_mark_rtx_children_1): Delete.
11882         (gt_ggc_m_rtx_def): Delete.
11883         * gengtype.c (adjust_field_rtx_def): New.
11884         (adjust_field_type): Call adjust_field_rtx_def.
11885         (write_gc_structure_fields): Add 'default' case to switch if none
11886         is specified; remove unused code.
11887
11888         * tree.h (struct tree_exp): Update for change to meaning
11889         of special.
11890         * gengtype.c (adjust_field_tree_exp): New function.
11891         (adjust_field_type): Handle `tree_exp' special here.
11892         (write_gc_structure_fields): Don't handle `tree_exp' special here.
11893         Handle new `dot' option.
11894
11895         * gengtype.h: Make `info' a pointer-to-const.
11896         * gengtype-yacc.y (yacc_ids): Use xasprintf.
11897
11898         * gengtype.c (write_gc_structure_fields): Remove implementation
11899         of `always' option, add `default' option.
11900         * doc/gty.texi (GTY Options): Remove documentation of `always',
11901         add `default'.
11902
11903 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
11904
11905         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
11906
11907 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11908
11909         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
11910
11911         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
11912         instead of the *-protos.h file directly.
11913         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
11914         * darwin.c (machopic_output_stub): Move prototype ...
11915         * darwin-protos.h (machopic_output_stub): ... here.
11916         * rs6000-protos.h (machopic_output_stub): Don't declare.
11917
11918 2002-09-16  Richard Henderson  <rth@redhat.com>
11919
11920         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
11921
11922 2002-09-16  Richard Henderson  <rth@redhat.com>
11923
11924         * real.c, real.h: Rewrite from scratch.
11925
11926         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
11927         (paranoia): New target.
11928         * builtins.c (fold_builtin_inf): Use new real.h interface.
11929         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
11930         * c-lex.c (interpret_float): Likewise.
11931         * emit-rtl.c (gen_lowpart_common): Likewise.
11932         * optabs.c (expand_float): Use real_2expN.
11933         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
11934         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
11935         (FLOAT_WORDS_BIG_ENDIAN): New.
11936         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
11937         directly to REAL_VALUE_NEGATIVE.
11938         * loop.c (canonicalize_condition): Likewise.
11939         * simplify-rtx.c: Include tree.h.
11940         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
11941         with floating-point result modes.
11942         * toplev.c (backend_init): Call init_real_once.
11943
11944         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
11945         * tree.c (build_real): Likewise.
11946         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
11947         float_values, inited_float_values, check_float_value): Remove.
11948         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
11949         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
11950         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
11951         (VAX_HALFWORD_ORDER): Remove.
11952
11953 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
11954
11955         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
11956         (s390_load_address): ... this new function.
11957         (s390_decompose_address): Allow the argument pointer and all
11958         virtual registers as 'pointer' registers.
11959         (s390_expand_plus_operand): Use s390_load_address.
11960         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
11961         ("force_la_31"): New insn pattern.
11962         config/s390/s390-protos.h (legitimize_la_operand): Remove.
11963         (s390_load_address): Add prototype.
11964
11965         * config/s390/s390.c: Include "optabs.h".
11966         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
11967         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
11968         s390_expand_cmpstr): Add prototypes.
11969         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
11970         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
11971         for operands 0 and 1 to "memory_operand".  Add type attribute.
11972         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
11973         for operands 0 and 1 to "memory_operand".  Add type attribute.
11974         ("movstrdi_long", "movstrsi_long"): Remove.
11975         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
11976         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
11977         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
11978         ("clrstrsico"): Remove, replace by ...
11979         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
11980         ("clrstrsi_64"): Rename to "clrstr_long_64".
11981         ("clrstrsi_31"): Rename to "clrstr_long_31".
11982         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
11983         ("cmpstr_const"): Remove, replace by ...
11984         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
11985         ("cmpstr_64"): Rename to "cmpstr_long_64".
11986         ("cmpstr_31"): Rename to "cmpstr_long_31".
11987
11988 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
11989
11990         * ABOUT-NLS: Follow spelling conventions.
11991         * ChangeLog: Likewise.
11992         * ChangeLog.1: Likewise.
11993         * ChangeLog.2: Likewise.
11994         * ChangeLog.3: Likewise.
11995         * ChangeLog.4: Likewise.
11996         * ChangeLog.5: Likewise.
11997         * ChangeLog.6: Likewise.
11998         * FSFChangeLog.10: Likewise.
11999         * FSFChangeLog.11: Likewise.
12000         * c-common.c: Likewise.
12001         * c-lex.c: Likewise.
12002         * c-objc-common.c: Likewise.
12003         * cppexp.c: Likewise.
12004         * cppinit.c: Likewise.
12005         * cpplex.c: Likewise.
12006         * doloop.c: Likewise.
12007         * flow.c: Likewise.
12008         * function.c: Likewise.
12009         * integrate.c: Likewise.
12010         * loop.c: Likewise.
12011         * reg-stack.c: Likewise.
12012         * reload.h: Likewise.
12013         * ssa.c: Likewise.
12014
12015 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12016
12017         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
12018         * vmsdbgout.c: Include "target.h".
12019
12020 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
12021
12022         * ChangeLog: Follow spelling conventions.
12023         * ChangeLog.0: Likewise.
12024         * ChangeLog.1: Likewise.
12025         * ChangeLog.2: Likewise.
12026         * ChangeLog.4: Likewise.
12027         * ChangeLog.6: Likewise.
12028         * config.gcc: Likewise.
12029         * dwarfout.c: Likewise.
12030         * reload1.c: Likewise.
12031         * simplify-rtx.c: Likewise.
12032         * unwind-sjlj.c: Likewise.
12033         * config/avr/avr.h: Likewise.
12034         * config/d30v/d30v.h: Likewise.
12035         * config/frv/frv.c: Likewise.
12036         * config/frv/frv.h: Likewise.
12037         * config/ip2k/ip2k.h: Likewise.
12038         * config/m88k/m88k-move.sh: Likewise.
12039         * config/stormy16/stormy16.c: Likewise.
12040         * config/stormy16/stormy16.h: Likewise.
12041         * doc/extend.texi: Likewise.
12042         * doc/interface.texi: Likewise.
12043         * doc/invoke.texi: Likewise.
12044         * doc/md.texi: Likewise.
12045         * doc/rtl.texi: Likewise.
12046         * doc/tm.texi: Likewise.
12047         * doc/trouble.texi: Likewise.
12048         * ginclude/float.h: Likewise.
12049         * treelang/treelang.texi: Likewise.
12050
12051 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12052
12053         * i386-protos.h (i386_pe_dllexport_name_p,
12054         i386_pe_dllimport_name_p, i386_pe_unique_section,
12055         i386_pe_declare_function_type, i386_pe_record_external_function,
12056         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
12057         prototype.
12058         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
12059         * i386/t-interix (winnt.o): Likewise.
12060
12061         * v850-protos.h (v850_output_addr_const_extra): Prototype.
12062
12063 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
12064
12065         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
12066         MIPS ABI CPP macros.
12067         (TARGET_CPU_CPP_BUILTINS): Redefine.
12068         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
12069         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
12070
12071 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12072
12073         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
12074
12075 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
12076
12077         * ChangeLog: Follow spelling conventions.
12078         * ChangeLog.0: Likewise.
12079         * ChangeLog.1: Likewise.
12080         * ChangeLog.2: Likewise.
12081         * ChangeLog.3: Likewise.
12082         * ChangeLog.4: Likewise.
12083         * ChangeLog.5: Likewise.
12084         * ChangeLog.6: Likewise.
12085         * FSFChangeLog.10: Likewise.
12086         * FSFChangeLog.11: Likewise.
12087         * c-common.c: Likewise.
12088         * c-common.h: Likewise.
12089         * c-format.c: Likewise.
12090         * c-opts.c: Likewise.
12091         * cpplib.c: Likewise.
12092         * langhooks.h: Likewise.
12093         * real.c: Likewise.
12094         * reg-stack.c: Likewise.
12095         * toplev.c: Likewise.
12096         * config/arm/arm.c: Likewise.
12097         * config/arm/arm.md: Likewise.
12098         * config/arm/linux-gas.h: Likewise.
12099         * config/arm/netbsd.h: Likewise.
12100         * config/c4x/c4x.c: Likewise.
12101         * config/c4x/c4x.h: Likewise.
12102         * config/c4x/c4x.md: Likewise.
12103         * config/c4x/libgcc.S: Likewise.
12104         * config/fr30/fr30.md: Likewise.
12105         * config/frv/frv.md: Likewise.
12106         * config/ia64/ia64.md: Likewise.
12107         * config/mips/mips.h: Likewise.
12108         * config/mn10300/mn10300.c: Likewise.
12109         * config/stormy16/stormy16.c: Likewise.
12110         * config/v850/v850.md: Likewise.
12111         * doc/extend.texi: Likewise.
12112         * doc/invoke.texi: Likewise.
12113         * doc/md.texi: Likewise.
12114
12115 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
12116
12117         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
12118         library if -pthread is specified.
12119
12120 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
12121
12122         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
12123         for --enable-threads=yes and --enable-threads=posix.
12124
12125 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
12126
12127         * config/sparc/cypress.md: Replace Sparc with SPARC.
12128         * config/sparc/freebsd.h: Likewise.
12129         * config/sparc/gmon-sol2.c: Likewise.
12130         * config/sparc/hypersparc.md: Likewise.
12131         * config/sparc/lb1spc.asm: Likewise.
12132         * config/sparc/lb1spl.asm: Likewise.
12133         * config/sparc/linux.h: Likewise.
12134         * config/sparc/linux64.h: Likewise.
12135         * config/sparc/lynx.h: Likewise.
12136         * config/sparc/sol2.h: Likewise.
12137         * config/sparc/sparc-modes.def: Likewise.
12138         * config/sparc/sparc.c: Likewise.
12139         * config/sparc/sparc.h: Likewise.
12140         * config/sparc/sparc.md: Likewise.
12141         * config/sparc/sparclet.md: Likewise.
12142         * config/sparc/supersparc.md: Likewise.
12143         * config/sparc/sysv4.h: Likewise.
12144         * config/sparc/vxsim.h: Likewise.
12145         * config/sparc/vxsparc64.h: Likewise.
12146
12147 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12148
12149         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
12150         * collect2.c (ignore_library, aix_std_libs): Move into the context
12151         where it is used.
12152         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
12153         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
12154         * m88k.c (output_call): Wrap variables with macro controlling use.
12155         * rs6000.md: Likewise.  Const-ify variable.
12156         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
12157         * final.c (only_leaf_regs_used): Likewise.
12158         * regrename.c (maybe_mode_change): Mark parameter with
12159         ATTRIBUTE_UNUSED.
12160         * reload.c (find_valid_class): Likewise.  Likewise for variable.
12161         (find_reloads_address_1): Likewise.
12162         * varasm.c (weak_finish): Wrap variable with macro controlling use.
12163
12164 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
12165
12166         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
12167
12168 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
12169
12170         * ChangeLog: Follow spelling conventions.
12171         * ChangeLog.0: Likewise.
12172         * ChangeLog.2: Likewise.
12173         * ChangeLog.3: Likewise.
12174         * ChangeLog.4: Likewise.
12175         * ChangeLog.5: Likewise.
12176         * ChangeLog.6: Likewise.
12177         * cppfiles.c: Likewise.
12178         * cppinit.c: Likewise.
12179         * cpplib.h: Likewise.
12180         * cse.c: Likewise.
12181         * debug.h: Likewise.
12182         * df.c: Likewise.
12183         * dominance.c: Likewise.
12184         * hashtable.c: Likewise.
12185         * hashtable.h: Likewise.
12186         * loop.c: Likewise.
12187         * config/arm/README-interworking: Likewise.
12188         * config/arm/arm.c: Likewise.
12189         * config/arm/arm.h: Likewise.
12190         * config/arm/arm.md: Likewise.
12191         * config/dsp16xx/dsp16xx.h: Likewise.
12192         * config/frv/frv.c: Likewise.
12193         * config/frv/frv.h: Likewise.
12194         * config/ip2k/ip2k.h: Likewise.
12195         * config/rs6000/rs6000.c: Likewise.
12196         * config/stormy16/stormy-abi: Likewise.
12197         * config/stormy16/stormy16.h: Likewise.
12198         * config/v850/v850.c: Likewise.
12199
12200 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
12201
12202         * loop.c: Fix a comment typo.
12203
12204 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
12205
12206         * config/fr30/fr30.h: Fix comment typos.
12207         * config/frv/frv.c: Likewise.
12208         * config/i386/xmmintrin.h: Likewise.
12209         * config/mips/mips.c: Likewise.
12210         * config/sh/sh.c: Likewise.
12211
12212 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
12213
12214         * haifa-sched.c: Follow spelling conventions.
12215         * regclass.c: Likewise.
12216         * regrename.c: Likewise.
12217         * config/fp-bit.c: Likewise.
12218         * config/frv/frv.h: Likewise.
12219         * config/m88k/m88k.c: Likewise.
12220         * config/mcore/mcore.c: Likewise.
12221         * config/rs6000/darwin.h: Likewise.
12222         * config/rs6000/gnu.h: Likewise.
12223         * config/rs6000/linux.h: Likewise.
12224         * config/rs6000/linux64.h: Likewise.
12225         * config/rs6000/rs6000.c: Likewise.
12226         * config/rs6000/rs6000.h: Likewise.
12227         * config/sh/sh.c: Likewise.
12228         * config/sparc/sparc.c: Likewise.
12229         * config/sparc/ultra1_2.md: Likewise.
12230
12231 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
12232
12233         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
12234         memory operand when source is 0 (K constraint).
12235         ("movsi_internal"): Likewise.
12236         ("movdf_internal"): Likewise.
12237         ("movsf_internal"): Likewise.
12238
12239 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
12240
12241         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
12242         targetm.binds_local_p to set SYMBOL_REF_FLAG.
12243         (rs6000_xcoff_encode_section_info): Likewise.
12244         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
12245
12246 2002-09-10  Theodore A. Roth  <troth@verinet.com>
12247
12248         * gcc/config/avr/avr.h: Set default options for C++ for avr.
12249
12250 2002-09-13  Roger Sayle  <roger@eyesopen.com>
12251
12252         * stmt.c (struct nexting): Remove unused alt_end_label field.
12253         (expand_start_loop): Delete initialization of alt_end_label.
12254         (expand_start_null_loop): Likewise.
12255         (expand_exit_loop_if_false): Delete updating of alt_end_label.
12256
12257 2002-09-13  Richard Henderson  <rth@redhat.com>
12258
12259         * Makefile.in (toplev.o): Depend on real.h.
12260         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
12261
12262 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
12263
12264         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
12265         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
12266         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
12267
12268 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
12269
12270         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
12271
12272 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
12273
12274         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
12275         ia64*-*-linux*): Set extra_parts.
12276         * config/ia64/t-aix (EXTRA_PARTS): Remove.
12277         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
12278
12279 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
12280
12281         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
12282         * config/h8300/h8300.c: Likewise.
12283         * config/h8300/h8300.h: Likewise.
12284         * config/h8300/h8300.md: Likewise.
12285         * doc/invoke.texi: Likewise.
12286
12287 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
12288
12289         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
12290
12291 2002-09-13  Richard Henderson  <rth@redhat.com>
12292
12293         * config/alpha/alpha.md (attr type): Add callpal.
12294         (imb, trap, load_tp, set_tp): Use it.
12295         * config/alpha/ev4.md (ev4_callpal): New.
12296         * config/alpha/ev5.md (ev5_callpal): New.
12297         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
12298         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
12299         (alphaev5_insn_pipe): Likewise.
12300
12301 2002-09-13  Andreas Jaeger  <aj@suse.de>
12302
12303         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
12304
12305 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
12306
12307         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
12308         LIB2ADDEH): New, set to NULL.
12309         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
12310
12311 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
12312
12313         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
12314         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
12315         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
12316         Add declarations.
12317         (_U_Qfneg): Remove.
12318
12319 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
12320
12321         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
12322         for H8/300, H8S aa:8 mode.
12323         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
12324         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
12325         for H8/300 aa:8 mode.
12326
12327 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
12328
12329         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
12330         insns.
12331
12332 2002-09-12  Richard Henderson  <rth@redhat.com>
12333
12334         * Makefile.in (HOST_PRINT): Use print-rtl1.o
12335         (print-rtl.o): Don't define GENERATOR_FILE.
12336         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
12337         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
12338         unless GENERATOR_FILE.
12339
12340 2002-09-12  Stan Shebs  <shebs@apple.com>
12341
12342         * config/darwin.h (USER_LABEL_PREFIX): Define here...
12343         * config/i386/darwin.h: ... instead of here.
12344
12345         * target.h (struct gcc_target): New field
12346         terminate_dw2_eh_frame_info.
12347         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
12348         (TARGET_INITIALIZER): Add it.
12349         * dwarf2out.c (output_call_frame_info): Use target hook.
12350         * dwarf2asm.c (dw2_asm_output_delta): Use macro
12351         ASM_OUTPUT_DWARF_DELTA if defined.
12352         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
12353         (ASM_OUTPUT_DWARF_DELTA): Ditto.
12354         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
12355         (ASM_OUTPUT_DWARF_PCREL): Ditto.
12356         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
12357         (powerpc-*-darwin*): Ditto.
12358         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
12359         to work correctly for Darwin.
12360         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
12361         (STARTFILE_SPEC): Add crtbegin.o.
12362         (ENDFILE_SPEC): Define.
12363         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
12364         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
12365         (ASM_OUTPUT_DWARF_DELTA): Define.
12366         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
12367         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
12368
12369 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
12370
12371         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
12372         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
12373         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
12374
12375 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
12376
12377         * toplev.c: Move default definition of USER_LABEL_PREFIX...
12378         * defaults.h: ... here.
12379
12380 2002-09-12  Richard Henderson  <rth@redhat.com>
12381
12382         * vax.c: Include tree.h earlier.
12383
12384 2002-09-12  Stan Shebs  <shebs@apple.com>
12385
12386         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
12387         (machopic_operand_p): Ditto.
12388
12389 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
12390
12391         * config/arm/arm.c (arm_compute_initial_elimination_offset):
12392         Fix a comment typo.
12393
12394 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
12395
12396         * toplev.c (do_abort): Fix a comment typo.
12397
12398 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
12399
12400         * cselib.c: Fix comment formatting.
12401         * gengtype.c: Likewise.
12402
12403 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
12404
12405         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
12406         (udivmodhi4): Likewise.
12407
12408 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
12409             Roger Sayle  <roger@eyesopen.com>
12410
12411         * i386.c (any_fp_register_operand, fp_register_operand,
12412         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
12413         New predicate functions.
12414         * i386-protos.h:  Add their prototypes.
12415         * i386.h: Add them to PREDICATE_CODES.
12416         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
12417         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
12418         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
12419         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
12420         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
12421         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
12422         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
12423         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
12424         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
12425         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
12426         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
12427         Use these new predicates to simplify and correct the use of
12428         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
12429
12430 2002-09-12  Jason Merrill  <jason@redhat.com>
12431
12432         * diagnostic.c (output_add_identifier): New fn.
12433         * diagnostic.h: Declare it.
12434
12435         * calls.c (store_one_arg): Use size_in_bytes to determine the
12436         amount of space to push.
12437
12438 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
12439
12440         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
12441
12442 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
12443
12444         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
12445         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
12446         (s390_select_ccmode): Likewise.
12447         (s390_branch_condition_mask): Likewise.
12448         (optimization_options): Do not set flag_branch_on_count.
12449         (s390_split_branches): Handle doloop branches.
12450         (s390_chunkify_pool): Likewise.
12451         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
12452         ("doloop_end"): New expander.
12453         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
12454         associated splitters): New.
12455
12456 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
12457
12458         * genattrtab.c (simplify_cond): Remove unused variable(s).
12459         * global.c (record_conflicts): Likewise.
12460         * jump.c (rebuild_jump_labels): Likewise.
12461         * loop.c (scan_loop, check_final_value): Likewise.
12462         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
12463         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
12464         * rtlanal.c (reg_set_p): Likewise.
12465         * stmt.c (expand_asm_operands, expand_decl): Likewise.
12466         * genautomata.c (empty_reserv): Remove.
12467         * loop.c (max_luid): Likewise.
12468         * sched-rgn.c (bitlst_table_size): Likewise.
12469
12470 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
12471
12472         Reimplement gcov format.
12473         * gcov-io.h: Replace.
12474         * gcov.c: Reimplement.
12475         * gcov-iov.c: New file.
12476         * gcov-dump.c: New file.
12477         * libgcc2.c (L_bb): Replace with ...
12478         (L_gcov): ... this.
12479         (struct bb_function_info, struct bb): Remove.
12480         (inhibit_libc): Never inhibit.
12481         (gcov_list, gcov_crc): New static variables.
12482         (gcov_version_mismatch): New static function.
12483         (__bb_exit_func): Renamed to ...
12484         (__gcov_exit): ... here. Made static. Reimplement.
12485         (__gcov_init_func): Rename to ...
12486         (__gcov_init): ... here. Check version, update crc.
12487         (__bb_fork_func): Rename to ...
12488         (__gcov_flush): ... here.
12489         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
12490         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
12491         * calls.c (expand_call): Call __gcov_flush.
12492         * profile.c (bb_file, last_bb_file_name): Remove.
12493         (bbg_file_name): New global variable.
12494         (output_gcov_string): Remove.
12495         (get_exec_counts): Reimplement.
12496         (branch_prob): Reimplement gcov file writing.
12497         (init_branch_prob): Create bbg_file_name, don't create
12498         bb_file_name.
12499         (end_branch_prob): Adjust. Don't remove counter file when
12500         instrumenting ourselves.
12501         (create_profiler): Adjust.
12502         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
12503         point to gcov-io.h.
12504         * Makefile.in (LANGUAGES): Add gcov-dump.
12505         (coverageexts): Remove .bb.
12506         (STAGESTUFF): Add gcov-dump.
12507         (LIB2FUNCS_ST): Replace _bb with _gcov.
12508         (profile.o): Depend on gcov-iov.h.
12509         (final.o): Don't depend on profile.h, gcov.h.
12510         (gcov.o): Depend on gcov-iov.h.
12511         (gcov-iov.o): New target.
12512         (gcov-iov): New target.
12513         (gcov-iov.h): New target.
12514         (gcov-dump.o): New target.
12515         (GCOV_DUMP_OBJS): New variable.
12516         (gcov-dump): New target.
12517         (distclean): Remove coverageexts.
12518         (stage1): Remove coverageexts.
12519
12520 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
12521
12522         * fold-const.c (make_range): Only narrow to signed range if
12523         the signed range is smaller than the unsigned range.
12524
12525 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
12526
12527         * emit-rtl.c (set_mem_size): New function.
12528         * expr.h (set_mem_size): Declare.
12529         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
12530         (expand_block_move): Instead, use adjust_address and
12531         replace_equiv_address to generate proper aliasing info.
12532         Move common code out of conditionals.  Localize vars.
12533
12534 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
12535
12536         * optabs.c (expand_binop): Minor cleanup.
12537         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
12538
12539 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
12540
12541         * print-tree.c (print_node): Print the restrict qualifier.
12542
12543 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
12544
12545         * doc/install.texi: Fix typos.
12546
12547 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
12548
12549         * Makefile.in: Remove all references to s-under and underscore.c.
12550         * collect2.c, tlink.c: Change all uses of prepends_underscore
12551         to look directly at USER_LABEL_PREFIX.
12552
12553 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
12554
12555         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
12556         alignment to csect.
12557         (rs6000_xcoff_unique_section): Only set section name for public
12558         data.
12559         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
12560         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
12561         duplicate definition.
12562
12563 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12564
12565         * pa.md (extzv): Check predicates before emitting extzv_32.
12566         (insv): Likewise.
12567
12568 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
12569
12570         * config/s390/s390.h (MOVE_MAX): Define to correct value.
12571         (MAX_MOVE_MAX): Define.
12572         (MOVE_BY_PIECES_P): Define.
12573         (CLEAR_BY_PIECES_P): Define.
12574
12575 2002-09-10  Denis Chertykov  <denisc@overta.ru>
12576
12577         * config/avr/avr.md (movstrhi): Use right operands for conversion.
12578
12579 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
12580
12581         PR c/7873
12582         * arm.md (insv): Use reg_or_int_operand for operand[3].
12583
12584 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
12585
12586         * rs6000.c (rs6000_assemble_visibility): Protect declaration
12587         inside macro.  Correct function definition typo.
12588         (rs6000_xcoff_section_type_flags): New function.
12589         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
12590         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
12591         with appropriate PIC test.
12592         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
12593         determine readonly.
12594         (rs6000_binds_local_p): Combine PIC flags.
12595         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
12596         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
12597
12598 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12599
12600         * h8300.md: Fix signed/unsigned warnings.
12601         * mcore.md: Likewise.
12602         * mn10300.c (mask_ok_for_mem_btst): Likewise.
12603
12604 2002-09-09  Per Bothner  <per@bothner.com>
12605
12606         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
12607         characters, and only print TREE_STRING_LENGTH chars.
12608
12609 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
12610
12611         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
12612         (ASM_FILE_END) New.
12613         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
12614         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
12615         * config/ia64/ia64.c (ia64_asm_output_external): Create list
12616         of external functions if TARGET_HPUX_LD is true.
12617         (ia64_hpux_add_extern_decl): New, routine to put names on
12618         list of external functions.
12619         (ia64_hpux_asm_file_end): Put out declarations for external
12620         functions if and only if they are used.
12621
12622 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12623
12624         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
12625         on TARGET_64BIT before pic register restore.
12626
12627 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
12628
12629         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
12630         (TARGET_HAVE_TLS): New description.
12631
12632 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
12633
12634         * doc/extend.texi (Statement Exprs): Fix broken link.
12635
12636 2002-09-09  Denis Chertykov  <denisc@overta.ru>
12637
12638         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
12639         right conversion of operands[1].
12640
12641 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
12642
12643         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
12644         commutative.  Use "nonimmediate_operand" instead of "register_operand"
12645         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
12646
12647         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
12648         as commutative.
12649
12650         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
12651         mark as commutative.  Use "nonimmediate_operand" instead of
12652         "register_operand" as predicate for operand 1.
12653
12654         ("movstrictsi"): Fix typo in insn name.
12655
12656 2002-09-09  Jan Hubicka  <jh@suse.cz>
12657
12658         * i386.c (index_register_operand): New.
12659         * i386.h (predicate_codes): Add new predicate.
12660         * i386.md (lea_general_*): Use index_register_operand
12661         (ashift to lea splitter): Do not produce invalid leas
12662         (ashift to mov+ashift split): New.
12663
12664 2002-09-09  Nick Clifton  <nickc@redhat.com>
12665
12666         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
12667         Fix folding marks.
12668
12669 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
12670             J"orn Rennecke <joern.rennecke@superh.com>
12671
12672         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
12673
12674 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
12675
12676         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
12677         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
12678         attributes.
12679
12680 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
12681
12682         * basic_block.h (gcov_type): Explain why it is signed.
12683         * final.c: Don't include profile.h.
12684         (struct function_list, functions_head, functions_tail,
12685         end_final): Moved to profile.c
12686         (final): Move arc chaining code to profile.c.
12687         * function.c (prepare_function_start): Remove duplicate line.
12688         * output.h (end_final): Remove prototype.
12689         * predict.c (estimate_loops_at_level): Use gcov_type.
12690         * profile.c (struct function_list, functions_head,
12691         functions_tail): Moved from final.c
12692         (need_func_profiler): Remove.
12693         (instrument_edges): Don't set need_func_profiler.
12694         (get_exec_counts): Avoid signed/unsigned warning.
12695         (compute_checksum): Use crc32.
12696         (branch_prob): Adjust. Chain onto functions_head.
12697         (init_branch_prob): Absorb init_edge_profiler.
12698         (init_edge_profiler): Remove.
12699         (create_profiler): Moved and renamed from final.c:end_final.
12700         Emit data and constructor.
12701         (output_func_start_profiler): Remove.
12702         * profile.h (struct profile_info): checksum is unsigned.
12703         * rtl.h (output_func_start_profiler): Remove prototype.
12704         (create_profiler): Declare.
12705         * toplev.c (compile_file): Call create_profiler, if instrumenting
12706         arcs. Don't call end_final.
12707
12708 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12709
12710         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
12711
12712 2002-09-08  Richard Henderson  <rth@redhat.com>
12713
12714         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
12715         (DW_OP_GNU_push_tls_address): New.
12716         (DW_OP_lo_user): Fix.
12717         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
12718         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
12719         (size_of_loc_descr): Likewise.
12720         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
12721         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
12722         (loc_descriptor_from_tree): Handle TLS variables.
12723         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
12724         (add_location_or_const_value_attribute): ... not here.  Defer
12725         to loc_descriptor_from_tree for TLS variables.
12726
12727         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
12728         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
12729         * config/i386/i386-protos.h: Update.
12730
12731 2002-09-08  Roger Sayle  <roger@eyesopen.com>
12732
12733         PR optimization/6405
12734         * unroll.c (loop_iterations): last_loop_insn should be the previous
12735         non-note instruction before loop->end.
12736         * loop.c (strength_reduce): The conditional jump is the last
12737         non-note instruction before loop->end (as above).
12738
12739 2002-09-08  Roger Sayle  <roger@eyesopen.com>
12740
12741         * combine.c (try_combine): Handle the case that undobuf.other_insn
12742         has been turned into a return or unconditional jump, by inserting
12743         a BARRIER if necessary.
12744         (simplify_set):  Test if a condition code setter has a constant
12745         comparison at compile time, if so convert this insn to a no-op move
12746         and update/simplify the condition code user (undobuf.other_insn).
12747
12748 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
12749
12750         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
12751         (CLEAR_INSN_CACHE): Define.
12752
12753 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
12754
12755         * basic-block.h: Fix comment formatting.
12756         * c-common.c: Likewise.
12757         * c-common.h: Likewise.
12758         * c-lex.c: Likewise.
12759         * c-pretty-print.c: Likewise.
12760         * cfglayout.c: Likewise.
12761         * cfgloop.c: Likewise.
12762         * defaults.h: Likewise.
12763         * et-forest.c: Likewise.
12764         * explow.c: Likewise.
12765         * function.h: Likewise.
12766         * gcov.c: Likewise.
12767         * genattrtab.c: Likewise.
12768         * gengtype.c: Likewise.
12769         * ifcvt.c: Likewise.
12770         * libgcc2.c: Likewise.
12771         * loop.c: Likewise.
12772         * profile.c: Likewise.
12773         * ra-build.c: Likewise.
12774         * real.c: Likewise.
12775         * rtl.h: Likewise.
12776         * tracer.c: Likewise.
12777         * tree-inline.c: Likewise.
12778         * varasm.c: Likewise.
12779
12780 2002-09-08  Jan Hubicka  <jh@suse.cz>
12781
12782         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
12783         handling.
12784
12785         * loop.c (loop_givs_reduce):  Emit addition after.
12786
12787 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
12788
12789         * varasm.c (default_assemble_visibility): Rename from
12790         assemble_visibility.
12791         * output.h: Here too.
12792         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
12793         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
12794
12795 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
12796
12797         * reload.c (find_reloads <p constraint>): Pass operand_mode to
12798         find_reloads_address.
12799
12800 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
12801
12802         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
12803         (anonymous pattern): Likewise.
12804
12805 2002-09-07  Igor Shevlyakov <igor@microunity.com>
12806
12807         * machmode.def: Add modes for half-float vectors.
12808
12809 2002-09-07  Scott Snyder  <snyder@fnal.gov>
12810
12811         PR target/7374
12812         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
12813
12814 2002-09-07  Roger Sayle  <roger@eyesopen.com>
12815
12816         * basic-block.h (struct loop): Remove unused cont_dominator field.
12817
12818 2002-09-07  Igor Shevlyakov <igor@microunity.com>
12819
12820         * varasm.c (decode_rtx_const): Don't check undefined field for
12821         CONST_VECTOR.
12822
12823 2002-09-07  Glen Nakamura  <glen@imodulo.com>
12824
12825         PR opt/7814
12826         * sched-deps.c (sched_analyze_insn): Make sure to add insn
12827         to reg_last->sets after flushing the dependency lists to guarantee
12828         that subsequent clobbers will be dependent on it.
12829
12830 2002-09-07  Igor Shevlyakov <igor@microunity.com>
12831
12832         * combine.c (simplify_shift_const): Calculate rotate count
12833         correctly for vector operands.
12834
12835 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
12836
12837         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
12838         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
12839         tree_expr_nonnegative_p.
12840         (build_conditional_expr): Likewise.
12841         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
12842
12843 2002-09-07  Richard Henderson  <rth@redhat.com>
12844
12845         * builtins.def (inf, inff, infl): Mark const.
12846         (huge_val, huge_valf, huge_vall): Likewise.
12847         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
12848
12849         * real.c (ereal_inf): Clear E before use.
12850
12851 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
12852
12853         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
12854         an expander and an anonymous pattern.  Zero out the upper half
12855         of the dividend in the expander.
12856         (udivmodqi4): Likewise.
12857
12858 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
12859
12860         * config/h8300/h8300.c: Fix formatting.
12861         * config/h8300/h8300.h: Likewise.
12862         * config/h8300/h8300.md: Likewise.
12863
12864 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
12865
12866         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
12867         information.
12868
12869 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
12870
12871        * rtlanal.c (dead_or_set_regno_p): Fix typo.
12872
12873 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
12874
12875         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
12876
12877         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
12878         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
12879         (TARGET_ASM_OUT): Add the above here.
12880         * target.h (struct gcc_target): Add "visibility" field.
12881         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
12882         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
12883         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
12884         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
12885
12886 2002-09-06  Ziemowit Laski <zlaski@apple.com>
12887
12888         * c-lang.c (objc_is_id): New stub.
12889         * c-tree.h (objc_is_id): New forward declaration.
12890         * c-typeck.c (build_c_cast): Do not strip protocol
12891         qualifiers from 'id' type.
12892         * objc/objc-act.c (objc_comptypes): Correct handling
12893         of protocol qualifiers.
12894         (objc_is_id): New.
12895
12896 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
12897
12898         * pentium.md (pentium-firstvboth): Fix typo.
12899
12900 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
12901
12902         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
12903         (enum shift_type, enum h8_cpu): Likewise.
12904         (INL, ROT, LOP, SPC macros): Likewise.
12905         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
12906         const designator.
12907         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
12908         space efficient algorithms when optimize for codesize.
12909
12910 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
12911
12912         Fix PR/1727 and long-standing failing testcase
12913         objc/formal-protocol-6.m.
12914         * objc-act.c (build_protocol_expr): If compiling for the GNU
12915         runtime, create a list of Protocol statically allocated instances
12916         if it doesn't exist, then add the Protocol object to this same
12917         list.
12918         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
12919         instead of TREE_CHAIN.
12920
12921 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
12922
12923         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
12924         10k.  Fixed category dumping - print out category names with the
12925         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
12926         interface.
12927         (finish_objc): Fixed the -gen-decls option.  It was printing out
12928         only the last class.  Dump an interface declaration of all classes
12929         being compiled instead.
12930
12931 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
12932
12933         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
12934         prototype.
12935         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
12936         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
12937         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
12938         rather than GEN_INT.
12939         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
12940         (return_addr_mask, *check_arch2): New.
12941
12942 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
12943
12944         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
12945         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
12946         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
12947         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
12948         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
12949         "adddf3", "*adddf3", "*adddf3_ibm",
12950         "addsf3", "*addsf3", "*addsf3_ibm",
12951         "muldi3", "mulsi3", "mulsidi3",
12952         "muldf3", "*muldf3", "*muldf3_ibm",
12953         "mulsf3", "*mulsf3", "*mulsf3_ibm",
12954         "*anddi3_cc", "*anddi3_cconly", "anddi3",
12955         "*andsi3_cc", "*andsi3_cconly", "andsi3",
12956         "*iordi3_cc", "*iordi3_cconly", "iordi3",
12957         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
12958         "*xordi3_cc", "*xordi3_cconly", "xordi3",
12959         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
12960         instead of "register_operand" as predicate for "%0" operand.
12961
12962 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
12963
12964         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
12965         unconditionally when gcc_cv_as_flags64 checks are gone.
12966         * configure: Rebuilt.
12967
12968 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
12969
12970         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
12971         2002-07-26 change.  Comment.
12972
12973 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12974
12975         * frv.c (frv_unique_section, frv_select_section,
12976         frv_select_rtx_section): Delete.
12977         (frv_in_small_data_p): New.
12978         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
12979         TARGET_ASM_SELECT_RTX_SECTION): Delete.
12980         (TARGET_IN_SMALL_DATA_P): Define.
12981
12982 2002-09-05  Dale Johannesen  <dalej@apple.com>
12983
12984         * reload1.c (reload):  Retain only those memory clobbers
12985         added for variable-array handling.
12986
12987 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
12988
12989         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
12990         return-in-memory rules.
12991         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
12992
12993 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
12994
12995         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
12996         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
12997
12998 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
12999
13000         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
13001         not a compile-time constant for the non-IBM case.
13002         * config/arm/arm-protos.h (arm_float_words_big_endian): New
13003         prototype.
13004         * config/arm/arm.c (arm_float_words_big_endian): New function.
13005         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
13006         if TARGET_VFP  and not TARGET_HARD_FLOAT.
13007         (ARM_FLAG_VFP, TARGET_VFP): Define.
13008         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
13009
13010 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
13011
13012         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
13013         URLs.  Fix AIX wording.
13014
13015 2002-09-05  Stan Shebs  <shebs@apple.com>
13016
13017         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
13018         -fPIC equivalent on Darwin.
13019
13020 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
13021
13022         * sh.c (sh_expand_builtin): Return early if encountering an
13023         error_mark for a type.
13024
13025 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
13026
13027         * config/s390/s390.c (s390_expand_plus_operand): Do not require
13028         double-word scratch register.
13029         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
13030
13031         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
13032         "*cli"): Replace s_operand by memory_operand.
13033         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
13034
13035 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
13036
13037         * config/h8300/h8300.c (asm_file_start): Add a missing
13038         semicolon.
13039
13040 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
13041
13042         * c-typeck.c (build_function_call): Remove unused variable(s).
13043         (build_c_cast): Likewise.
13044         * calls.c (rtx_for_function_call): Likewise.
13045         * cfglayout.c (duplicate_insn_chain): Likewise.
13046         * cfgloop.c (flow_loop_nodes_find): Likewise.
13047         * cfgrtl.c (split_edge): Likewise.
13048         * df.c (df_ref_create): Likewise.
13049         * except.c (expand_end_catch): Likewise.
13050         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
13051         * function.c (emit_return_into_block): Likewise.
13052         (reposition_prologue_and_epilogue_notes): Likewise.
13053         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
13054         * combine.c (subst_prev_insn, need_refresh): Remove.
13055         * dwarf2out.c (primary_filename): Remove.
13056         * final.c (new_block): Remove.
13057         * gcse.c (orig_bb_count): Remove.
13058
13059 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13060
13061         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
13062         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
13063         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
13064         directly instead of using a function pointer.
13065
13066 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
13067
13068         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
13069         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
13070         (ix86_output_addr_diff_elt) Likewise.
13071         (x86_output_mi_thunk) Likewise.
13072         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
13073
13074 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13075
13076         * frv.c (frv_encode_section_info): Fix error in last change.
13077
13078 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
13079
13080         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
13081         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
13082         (TARGET_BINDS_LOCAL_P): Define.
13083         (rs6000_override_options): Save original flag_pic value.
13084         (rs6000_elf_select_section): Call default_elf_select_section_1.
13085         (rs6000_elf_unique_section): Call default_unique_section_1.
13086         (rs6000_elf_in_small_data_p): New function.
13087         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
13088         (rs6000_xcoff_select_section): Update based on defaults.
13089         (rs6000_xcoff_unique_section): Set to basic name if not common.
13090         (rs6000_binds_local_p): New function.
13091         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
13092         targetm.have_srodata_section if SDATA_EABI.
13093         (TARGET_IN_SMALL_DATA_P): Define.
13094
13095 2002-09-04  Dale Johannesen  <dalej@apple.com>
13096
13097         * varasm.c (struct rtx_const, decode_rtx_const):
13098         Make veclo and vechi fields not share storage.
13099
13100 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
13101
13102         * loop.c (scan_loop): Don't mark separate insns out of a libcall
13103         for moving.
13104         (move_movables): Abort if we see the first insn of a libcall.
13105
13106 2002-09-04  Richard Henderson  <rth@redhat.com>
13107
13108         * builtin-types.def (BT_FN_FLOAT): New.
13109         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
13110         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
13111         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
13112         * builtins.c (fold_builtin_inf): New.
13113         (fold_builtin): Call it.
13114         * real.c (ereal_inf): New.
13115         * real.h: Declare it.
13116         * doc/extend.texi: Document new builtins.
13117
13118 2002-09-04  Richard Henderson  <rth@redhat.com>
13119
13120         * cse.c (cse_insn): Avoid subreg games if the equivalence
13121         is already in the proper mode.
13122
13123 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
13124
13125         PR c/7102
13126         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
13127
13128 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13129
13130         * pa.md (setccfp0, setccfp1): New patterns.
13131
13132 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13133
13134         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
13135         frv_select_section, frv_select_rtx_section,
13136         frv_encode_section_info, frv_unique_section): Delete.
13137         * frv.c: Update for target hooks.
13138         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
13139         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
13140         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
13141
13142 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13143
13144         * ip2k-protos.h (function_prologue, function_epilogue,
13145         encode_section_info): Update to match target hook specification.
13146         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
13147         (function_prologue, function_epilogue, encode_section_info):
13148         Update to match target hook specification.
13149         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
13150         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
13151         (NOTICE_UPDATE_CC): Cast to void.
13152         * ip2k.md: Add defaults in switch statements.
13153
13154 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
13155
13156         * doc/trouble.texi (Interoperation): Update information about C++ ABI
13157         issues.
13158
13159 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
13160
13161         * config/sparc/t-netbsd64: Disable multilib for now.
13162
13163 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
13164
13165         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
13166         * target.h (gcc_target): Add have_srodata_section member.
13167         * varasm.c (section_category): Add SECCAT_SRODATA.
13168         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
13169         READONLY_SDATA_SECTION defined.
13170         (decl_readonly_section_1): True for SECCAT_SRODATA also.
13171         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
13172         (default_unique_section_1): Likewise.
13173
13174 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13175
13176         * expr.c (emit_group_load): Revise to allow splitting TCmode source
13177         into DImode pieces.
13178
13179         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
13180         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
13181         for floating-point register class.
13182         * pa.c (function_arg): Fix handling of modes wider than one word for
13183         TARGET_64BIT.
13184
13185 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
13186
13187         * combine.c (make_compound_operation): Don't generate zero / sign
13188         extensions in floating point modes.
13189
13190 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
13191
13192         * doc/c-tree.texi: Fix overfull hboxes.
13193         * doc/cppopts.texi: Ditto.
13194         * doc/extend.texi: Ditto.
13195         * doc/gty.texi: Ditto.
13196         * doc/invoke.texi: Ditto.
13197         * doc/makefile.texi: Ditto.
13198         * doc/rtl.texi: Ditto.
13199         * doc/standards.texi: Ditto.
13200         * doc/tm.texi: Ditto.
13201
13202 2002-09-04  Richard Henderson  <rth@redhat.com>
13203
13204         * c-common.c (builtin_define_with_hex_fp_value): New.
13205         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
13206
13207 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
13208
13209         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
13210         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
13211         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
13212         Warn that these options can break ABI compatibility.
13213
13214 2002-09-04  Richard Henderson  <rth@redhat.com>
13215
13216         * real.c (ereal_to_decimal): Add digits parameter.
13217         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
13218         * c-pretty-print.c (pp_c_real_literal): Update call.
13219         * print-rtl.c (print_rtx): Likewise.
13220         * print-tree.c (print_node_brief, print_node): Likewise.
13221         * sched-vis.c (print_value): Likewise.
13222         * config/arc/arc.c (arc_print_operand): Likewise.
13223         * config/c4x/c4x.c (c4x_print_operand): Likewise.
13224         * config/i370/i370.h (PRINT_OPERAND): Likewise.
13225         * config/i386/i386.c (print_operand): Likewise.
13226         * config/i960/i960.c (i960_print_operand): Likewise.
13227         * config/ip2k/ip2k.c (asm_output_float): Likewise.
13228         * config/m32r/m32r.c (m32r_print_operand): Likewise.
13229         * config/m68hc11/m68hc11.c (print_operand): Likewise.
13230         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
13231         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
13232         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
13233         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
13234         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
13235         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
13236         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
13237         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
13238         * config/mips/mips.c (print_operand): Likewise.
13239         * config/ns32k/ns32k.c (print_operand): Likewise.
13240         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
13241         * config/vax/vax.h (PRINT_OPERAND): Likewise.
13242         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
13243
13244 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
13245
13246         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
13247         xtensa_multibss_section_type_flags.
13248         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
13249
13250 2002-09-04  Richard Henderson  <rth@redhat.com>
13251
13252         * doc/install-old.texi: Don't mention enquire.
13253         * doc/sourcebuild.texi: Update float.h description.
13254
13255 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
13256
13257         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
13258
13259 2002-09-03  Roger Sayle  <roger@eyesopen.com>
13260
13261         * builtins.c (build_function_call_expr): Remove prototype, export
13262         as non-static and add a comment above function definition.
13263         (builtin_mathfn_code): New function to check for math builtins.
13264         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
13265         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
13266         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
13267         log(sqrt(x)) as log(x)/2.0.
13268
13269         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
13270         in new "builtins.c" section.  Place the build_range_type prototype
13271         with the other prototypes from "tree.c".
13272
13273         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
13274         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
13275         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
13276         x/exp(y) as x*exp(-y).
13277
13278 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
13279
13280         * varasm.c (default_section_type_flags): Append _1 to name with
13281         shlib parameter.  Use original name to call new function with
13282         implicit flag_pic.
13283         (decl_readonly_section): Likewise.
13284         (default_elf_select_section): Likewise.
13285         (default_unique_section): Likewise.
13286         (default_bind_local_p): Likewise.
13287         (categorize_decl_for_section): Add shlib parameter to use in place
13288         of implicit flag_pic.
13289         * output.h: Declare new functions with _1 and shlib argument.
13290
13291 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
13292
13293         * doc/install.texi: Fix typos, formatting problems, and obvious
13294         overfull/underfull boxes.
13295
13296         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
13297         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
13298         include its file, compat.texi.
13299         * doc/compat.texi: New file with new chapter, Binary Compatibility.
13300
13301 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
13302
13303         Debian BTS Bug #157416
13304         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
13305         * cpplib.c (destringize_and_run): Kludge around getting
13306         tokens from in-progress macros.
13307         (_cpp_do__Pragma): Simplify.
13308
13309 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
13310
13311         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
13312         (CPP_CPU_SPEC): Remove.
13313         (TARGET_CPU_CPP_BUILTINS): New.
13314         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
13315         (CPP_SPEC): Remove.
13316         (TARGET_OS_CPP_BUILTINS): New.
13317         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
13318         (TARGET_OS_CPP_BUILTINS): New.
13319         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
13320         TARGET_OS_CPP_BUILTINS.
13321         (CPP_PREDEFINES): Remove.
13322         (CPLUSPLUS_CPP_SPEC): Remove.
13323         (TARGET_OS_CPP_BUILTINS): New.
13324
13325 2002-09-03  Richard Henderson  <rth@redhat.com>
13326
13327         * Makefile.in (USER_H): Add ginclude/float.h.
13328         (FLOAT_H): Remove.
13329         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
13330         (mostlyclean): Don't remove float.h intermediate files.
13331         (distclean): Don't remove float.h.
13332         * config.gcc: Remove all float_format references.
13333         * configure.in (float_format, float_h_file): Remove.
13334
13335         * c-common.c: Include tree-inline.h.
13336         (builtin_define_with_int_value): New.
13337         (builtin_define_type_precision): Use it.
13338         (builtin_define_float_constants): New.
13339         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
13340         __FLT_EVAL_METHOD__.
13341         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
13342         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
13343         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
13344         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
13345         (TARGET_FLT_EVAL_METHOD): New.
13346
13347         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
13348         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
13349         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
13350         * ginclude/float.h: New.
13351
13352 2002-09-03  Stan Shebs  <shebs@apple.com>
13353
13354         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
13355         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
13356         (PREFERRED_DEBUGGING_TYPE): Ditto.
13357         (ASM_OUTPUT_IDENT): Remove empty definition.
13358
13359 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
13360
13361         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
13362         cxx_target.
13363         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
13364         handling routine for builtin pragma.
13365         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
13366         Registered pragma handling routine.
13367         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
13368         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
13369         If builtin pragma seen for math routine and C89 conformance is
13370         requested use different math function in order to set errno.
13371         * t-ia64 (ia64-c.o): Add new rule for new file.
13372
13373 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
13374
13375         * config/s390/s390.md ("movti"): Add Q->Q alternative.
13376         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
13377         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
13378
13379         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
13380         "*movsf_ss"): Remove.
13381
13382 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13383
13384         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
13385         Delete macros.
13386
13387 2002-09-03   Arati Dikey  <aratid@kpit.com>
13388
13389         * h8300.c (asm_file_start): Corrected optimization comment.
13390
13391 2002-09-03  Stan Shebs  <shebs@apple.com>
13392
13393         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
13394         * c-tree.h (recognize_objc_keyword): Remove decl.
13395         * c-typeck.c (comp_target_types): Update a comment.
13396
13397 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
13398
13399         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
13400         and register validity checks.
13401         (general_s_operand): Adapt to s390_decompose_address interface change.
13402         (q_constraint): Likewise.
13403         (s390_expand_plus_operand): Likewise.
13404         (legitimiate_address_p): Likewise.
13405         (legitimate_la_operand_p): Likewise.
13406         (legitimize_la_operand): Likewise.
13407         (print_operand_address): Likewise.
13408         (print_operand): Likewise.
13409
13410 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
13411
13412         PR objc/5956:
13413         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
13414         was causing the new selector never to match the existing ones
13415         (Patch by Alexander Malmberg <alexander@malmberg.org>).
13416
13417 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
13418
13419         * config/i386/i386.md ("femms"): Add "memory" attr "none".
13420
13421 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
13422
13423         * expr.c (expand_expr): Remove extraneous comment and code.
13424
13425 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
13426
13427         * stor-layout (finish_builtin_struct): Renamed and moved from c++
13428         frontend. Take chain of fields. Allow NULL alignment type.
13429         * tree.h (finish_builtin_struct): Declare.
13430
13431 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13432
13433         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
13434         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
13435         config/arc/arc.c config/arc/arc.h config/arm/aout.h
13436         config/arm/arm.c config/arm/arm.h config/arm/arm.md
13437         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
13438         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
13439         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
13440         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
13441         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
13442         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
13443         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
13444         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
13445         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
13446         config/pa/pa.h config/pa/pa.md config/romp/romp.h
13447         config/rs6000/linux64.h config/rs6000/lynx.h
13448         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
13449         config/s390/s390.c config/s390/s390.md config/sh/sh.c
13450         config/sparc/sparc.c config/sparc/sysv4.h
13451         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
13452         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
13453         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
13454
13455         * doc/tm.texi: Update docs.
13456         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
13457         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
13458
13459 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13460
13461         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
13462         * arc.c (arc_internal_label): New function.
13463         (TARGET_ASM_INTERNAL_LABEL): Set.
13464         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
13465         * arm.c (arm_internal_label): New function.
13466         (TARGET_ASM_INTERNAL_LABEL): Set.
13467         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
13468         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
13469         * i370.c (i370_internal_label): New function.
13470         (TARGET_ASM_INTERNAL_LABEL): Set.
13471         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
13472         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
13473         * m68k.c (m68k_hp320_internal_label): New function.
13474         (TARGET_ASM_INTERNAL_LABEL): Set.
13475         * m88k.c (m88k_internal_label): New function.
13476         (TARGET_ASM_INTERNAL_LABEL): Set.
13477         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
13478         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
13479         * genoutput.c (output_prologue): Include target.h in output file.
13480         * output.h (default_internal_label): Declare.
13481         * sdbout.c: Include target.h.
13482         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
13483         TARGET_ASM_OUT.
13484         * target.h (internal_label): Add to struct gcc_target.
13485         * varasm.c (default_internal_label): New function.
13486
13487 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13488
13489         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
13490         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13491         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13492         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13493         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13494         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13495         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13496         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13497         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13498         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13499         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13500         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13501         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13502         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13503         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13504         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13505         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13506         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13507         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13508         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13509         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13510         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13511         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13512         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13513         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13514         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
13515         * mmix.c (mmix_asm_output_internal_label): Likewise.
13516         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13517         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13518         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13519         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13520         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13521         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13522         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13523         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13524         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13525         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13526         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13527         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13528         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13529         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13530         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13531         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13532         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13533         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13534         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
13535
13536         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
13537
13538 2002-08-31  Richard Henderson  <rth@redhat.com>
13539
13540         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
13541
13542 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13543
13544         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
13545
13546 2002-08-30  Richard Henderson  <rth@redhat.com>
13547
13548         PR opt/7515
13549         * c-objc-common.c: Include target.h.
13550         (c_cannot_inline_tree_fn): Don't auto-inline functions that
13551         don't bind locally.  Factor setting DECL_UNINLINABLE.
13552         * Makefile.in (c-objc-common.o): Update.
13553
13554 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
13555
13556         * doc/install.texi (Configuration, Building): Fix a typo and
13557         some formatting directives.
13558
13559 2002-08-30  Paul Koning <pkoning@equallogic.com>
13560
13561         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
13562         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
13563         implemented" note.
13564         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
13565         for alphabetic order.
13566         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
13567         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
13568         (VAX_HALFWORD_ORDER): Document.
13569         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
13570         IEEE float format.
13571         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
13572         (ASM_OUTPUT_LABEL_REF): Fix font.
13573         (CASE_VECTOR_SHORTEN_MODE): Ditto.
13574
13575 2002-08-30  Denis Chertykov  <denisc@overta.ru>
13576
13577         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
13578         stuff.
13579         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
13580         CONST_DOUBLE constants.
13581
13582 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
13583
13584         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
13585         related defines to...
13586         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
13587         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
13588         as a no-op.
13589
13590 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
13591
13592         * config/arm/arm.c (arm_asm_output_labelref): New function.
13593         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
13594         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
13595
13596 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
13597
13598         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
13599         memory exhausted" workarounds.
13600
13601 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
13602
13603         * diagnostic.c (fancy_abort): Don't repeat "internal error".
13604         * toplev.c (crash_signal): Likewise.
13605
13606 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
13607
13608         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
13609         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
13610         Extended, updated documentation.
13611         (-Wundeclared-selector): Documented.
13612
13613 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
13614
13615         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
13616         the value 1.  Do not undef before defining.
13617         * config/darwin.h: Likewise.
13618         * config/dbx.h: Likewise.
13619         * config/dbxcoff.h: Likewise.
13620         * config/dbxelf.h: Likewise.
13621         * config/elfos.h: Likewise.
13622         * config/interix.h: Likewise.
13623         * config/lynx-ng.h: Likewise.
13624         * config/lynx.h: Likewise.
13625         * config/netware.h: Likewise.
13626         * config/psos.h: Likewise.
13627         * config/svr3.h: Likewise.
13628         * config/alpha/alpha.h: Likewise.
13629         * config/alpha/elf.h: Likewise.
13630         * config/alpha/vms.h: Likewise.
13631         * config/arc/arc.h: Likewise.
13632         * config/arm/aout.h: Likewise.
13633         * config/arm/coff.h: Likewise.
13634         * config/c4x/c4x.h: Likewise.
13635         * config/h8300/h8300.h: Likewise.
13636         * config/i386/cygwin.h: Likewise.
13637         * config/i386/djgpp.h: Likewise.
13638         * config/i386/gas.h: Likewise.
13639         * config/i386/gstabs.h: Likewise.
13640         * config/i386/i386-coff.h: Likewise.
13641         * config/i386/i386-interix.h: Likewise.
13642         * config/i386/sco5.h: Likewise.
13643         * config/i386/svr3dbx.h: Likewise.
13644         * config/i386/sysv3.h: Likewise.
13645         * config/i386/win32.h: Likewise.
13646         * config/i386/x86-64.h: Likewise.
13647         * config/i960/i960.h: Likewise.
13648         * config/ia64/ia64.h: Likewise.
13649         * config/ip2k/ip2k.h: Likewise.
13650         * config/m32r/m32r.h: Likewise.
13651         * config/m68k/3b1.h: Likewise.
13652         * config/m68k/3b1g.h: Likewise.
13653         * config/m68k/ccur-GAS.h: Likewise.
13654         * config/m68k/coff.h: Likewise.
13655         * config/m68k/hp2bsd.h: Likewise.
13656         * config/m68k/hp310g.h: Likewise.
13657         * config/m68k/hp320g.h: Likewise.
13658         * config/m68k/hp3bsd.h: Likewise.
13659         * config/m68k/hp3bsd44.h: Likewise.
13660         * config/m68k/linux-aout.h: Likewise.
13661         * config/m68k/m68k-aout.h: Likewise.
13662         * config/m68k/mot3300.h: Likewise.
13663         * config/m68k/netbsd.h: Likewise.
13664         * config/m68k/openbsd.h: Likewise.
13665         * config/m68k/pbb.h: Likewise.
13666         * config/m68k/plexus.h: Likewise.
13667         * config/m68k/sun2.h: Likewise.
13668         * config/m68k/sun3.h: Likewise.
13669         * config/m68k/tower-as.h: Likewise.
13670         * config/m68k/vxm68k.h: Likewise.
13671         * config/m88k/aout-dbx.h: Likewise.
13672         * config/m88k/m88k-aout.h: Likewise.
13673         * config/mcore/mcore-elf.h: Likewise.
13674         * config/mcore/mcore-pe.h: Likewise.
13675         * config/mips/elf.h: Likewise.
13676         * config/mips/elf64.h: Likewise.
13677         * config/mips/iris5gas.h: Likewise.
13678         * config/mips/iris6.h: Likewise.
13679         * config/mips/mips.h: Likewise.
13680         * config/mips/sni-gas.h: Likewise.
13681         * config/mmix/mmix.h: Likewise.
13682         * config/ns32k/netbsd.h: Likewise.
13683         * config/pa/pa64-hpux.h: Likewise.
13684         * config/romp/romp.h: Likewise.
13685         * config/rs6000/sysv4.h: Likewise.
13686         * config/rs6000/xcoff.h: Likewise.
13687         * config/sh/coff.h: Likewise.
13688         * config/sh/elf.h: Likewise.
13689         * config/sparc/linux64.h: Likewise.
13690         * config/sparc/liteelf.h: Likewise.
13691         * config/sparc/netbsd.h: Likewise.
13692         * config/sparc/openbsd.h: Likewise.
13693         * config/sparc/pbd.h: Likewise.
13694         * config/sparc/sp64-elf.h: Likewise.
13695         * config/sparc/sp86x-elf.h: Likewise.
13696         * config/sparc/sparc.h: Likewise.
13697         * config/vax/vax.h: Likewise.
13698         * config/vax/vaxv.h: Likewise.
13699
13700 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
13701
13702         * h8300.c (shift_alg_hi): Various tweaks to improve performance
13703         of HImode shifts.
13704         (get_shift_alg): Corresponding changes.
13705
13706 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13707
13708         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
13709
13710 2002-08-29  Richard Henderson  <rth@redhat.com>
13711
13712         * expr.h (enum block_op_methods): New.
13713         (emit_block_move): Update prototype.
13714         * expr.c (block_move_libcall_safe_for_call_parm): New.
13715         (emit_block_move_via_loop): New.
13716         (emit_block_move): Use them.  New argument METHOD.
13717         (emit_push_insn): Always respect the given alignment.
13718         (expand_assignment): Update call to emit_block_move.
13719         (store_expr, store_field, expand_expr): Likewise.
13720         * builtins.c (expand_builtin_apply): Likewise.
13721         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
13722         * function.c (expand_function_end): Likewise.
13723         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
13724         * config/sparc/sparc.c (sparc_va_arg): Likewise.
13725         * calls.c (expand_call, emit_library_call_value_1): Likewise.
13726         (save_fixed_argument_area): Use emit_block_move with
13727         BLOCK_OP_CALL_PARM instead of move_by_pieces.
13728         (restore_fixed_argument_area): Likewise.
13729         (store_one_arg): Fix alignment parameter to emit_push_insn.
13730
13731 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13732
13733         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
13734
13735 2002-08-29  Catherine Moore  <clm@redhat.com>
13736
13737         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
13738         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
13739         (PREDICATE_CODES): Include new predicates.
13740         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
13741         (TARGET_SWITCHES):  Add strict-align.
13742         (TARGET_STRICT_ALIGN): New.
13743         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
13744         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
13745         Define.
13746         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
13747         v850_muldi3.
13748         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
13749         L_callt_save_r2_r31, L_return_r2_r31,
13750         L_save_all_interrupt): Change addi to add.
13751         (L_save_interrupt, L_return_interrupt): Rework.
13752         (__return_r31):  Correct .size directive.
13753         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
13754         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
13755         New routines.
13756         * config/v850/v850.c (expand_prologue): Call
13757         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
13758         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
13759         (reg_or_int9_operand): New predicate.
13760         (reg_or_const_operand): New routine.
13761         * config/v850/v850.md (return_interrupt): Changed from
13762         restore_interrupt.
13763         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
13764         (callt_save_interrupt): Change save sequence.
13765         (callt_return_interrupt): New.
13766         (save_interrupt): Don't use runtime function for LONG_CALLS
13767         and TARGET_PROLOG_FUNCTION.
13768         (save_all_interrupt): Likewise.
13769         (mulsi3): Use new predicate.
13770         (moviscc): Disallow some combination of constants.
13771         Fix define_split for sasf insns, so that it will not generate bad
13772         code if operand0 and operand5 are the same.
13773         * config/v850/v850-protos.h: Prototype new predicates.
13774
13775 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
13776
13777         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
13778         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
13779
13780 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
13781
13782         * c-common.c (builtin_define_type_precision): New function.
13783         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
13784         wchar_t is unsigned in C++.
13785         * doc/cpp.texi (Common Predefined Macros): Document
13786         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
13787         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
13788         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
13789
13790 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
13791
13792         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
13793         section.  Mention that it is enabled by -Wall.
13794         (-Wall): Mention that there can be language-specific warnings as well.
13795         (-Wctor-dtor-privacy): Mention that it is enabled by default.
13796         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
13797
13798 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
13799
13800         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
13801         if it is ever live.
13802
13803         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
13804         attribute for SHCOMPACT.
13805
13806         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
13807         appropriately.
13808         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
13809         by the ABI.
13810
13811         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
13812
13813 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
13814
13815         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
13816         "MASK_GAS|MASK_ABICALLS".
13817         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
13818         (TARGET_DEFAULT): Remove.
13819         (MACHINE_TYPE): Undefine before defining.
13820         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
13821
13822 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
13823
13824         * c-common.c (warn_abi): New variable.
13825         * c-common.h (warn_abi): Likewise.
13826         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
13827         (c_common_decode_option): Handle it.
13828         * doc/invoke.texi: Document -Wabi.
13829
13830 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
13831
13832         * c-common.c (warn_undeclared_selector): New variable.
13833         * c-common.h (warn_undeclared_selector): Idem.
13834         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
13835         to on when -Wundeclared-selector is found.
13836         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
13837         * objc/objc-act.c (build_selector_expr): If
13838         warn_undeclared_selector is set, check that the selector has
13839         already been defined, and emit a warning if not.
13840
13841 2002-08-27  Nick Clifton  <nickc@redhat.com>
13842             Catherine Moore  <clm@redhat.com>
13843             Jim Wilson  <wilson@cygnus.com>
13844
13845         * config.gcc: Add v850e-*-* target.
13846         Add --with-cpu= support for v850.
13847         * config/v850/lib1funcs.asm: Add v850e callt functions.
13848         * config/v850/v850.h: Add support for v850e target.
13849         * config/v850/v850.c: Add functions to support v850e target.
13850         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
13851         * config/v850/v850.md: Add patterns for v850e instructions.
13852         * doc/invoke.texi: Document new v850e command line switches.
13853
13854 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
13855                           Aldy Hernandez <aldyh at redhat dot com>
13856
13857         * doc/tm.texi: Applied numerous fixes to the automaton based
13858         scheduler descrition.
13859
13860 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
13861
13862         * i386.c (classify_argument): Handle variable sized objects.
13863
13864 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
13865
13866         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
13867
13868 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
13869
13870         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
13871
13872 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
13873
13874         * i386.c (classify_argument): Properly compute word size of the analyzed object.
13875
13876 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
13877
13878         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
13879         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
13880         accordingly.
13881         (attribute insn_class): Provide default definitions based on type.
13882         Remove all insn-specific settings.
13883         (various function units): Remove old SH4 scheduling.
13884         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
13885         New attributes.  Set them where appropriate.
13886         (cpu unit FS): Don't define / use.
13887         (F3, load_store): New cpu units.
13888         (F01): New reservation.
13889         (all insn_reservations): Make dependent on sh4 pipeline model.
13890         Fix latencies.
13891         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
13892         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
13893         (mt insn_reservation): Use type mt_group.
13894         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
13895         sh4_fload and sh4_store.
13896         (insn_reservation branch_zero and branch): Replace with sh4_branch.
13897         (insn_reservation branch_far): Replace with sh4_return.
13898         (insn_reservation return_from_exp): Rename to:
13899         (sh4_return_from_exp).  Change to be just d_lock*5.
13900         (insn_reservation lds_to_pr): Rename to:
13901         (sh4_lds_to_pr).  Change to be just d_lock*2.
13902         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
13903         d_lock*2.
13904         (insn_reservation prload_mem): Rename to:
13905         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
13906         (insn_reservation fpscr_store): Rename to:
13907         (fpscr_load).  Change to d_lock,nothing,F1*3.
13908         (insn_reservation fpscr_store_mem): Rename to:
13909         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
13910         (insn_reservation multi): Change to
13911         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
13912         (insn_reservation fp_arith): Change to issue,F01,F2.
13913         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
13914         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
13915         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
13916         (insn_reservation fp_double_cmp): Change to
13917         d_lock,(d_lock+F01),F1+F2,F2.
13918         (insn_reservation dp_div): Change to
13919         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
13920         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
13921         (sh_adjust_cost, SHcompact): Differentiate between different
13922         kinds of dependencies.  Drop factor of ten for superscalar.
13923         Use new instruction types.  Add new exception rules.
13924
13925         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
13926
13927         * sh.md (mperm_w): Add DONE.
13928
13929 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
13930
13931         * longlong.h: Import current PowerPC defintion from GMP-4.1.
13932
13933         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
13934
13935         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
13936
13937 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
13938
13939         * sh.h (MAX_FIXED_MODE_SIZE): Define.
13940
13941 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
13942
13943         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
13944         delimiter.
13945
13946 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
13947
13948         * c-common.c (cpp_define_data_format): New function.
13949         (cb_register_builtins): Call it.
13950
13951         * doc/cpp.texi (Common Predefined Macros): Document
13952         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
13953         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
13954         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
13955         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
13956         __TARGET_USES_VAX_H_FLOAT__.
13957
13958 2002-08-26  Ziemowit Laski <zlaski@apple.com>
13959
13960         * objc/objc-act.c (get_super_receiver): If inside a class method
13961         of a category, cast the receiver to 'id' before accessing the 'isa'
13962         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
13963
13964 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
13965
13966         * config/s390/s390-protos.h (s390_function_prologue,
13967         s390_function_epilogue): Remove.
13968         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
13969         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
13970
13971         config/s390/s390.c (s390_machine_dependent_recorg): New function.
13972         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
13973         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
13974         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
13975         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
13976
13977         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
13978         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
13979         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
13980         function is not a leaf function.  Use save_gprs and restore_gprs.
13981         (s390_emit_epilogue): Likewise.
13982         (save_gprs, restore_gprs): New functions.
13983         (struct s390_frame): Remove return_reg_saved_p member.
13984         (save_fprs_p): Remove.
13985         (s390_optimize_prolog): New function.
13986         (s390_legitimate_reload_constant): Remove now unnecessary check.
13987
13988         (s390_function_count): Remove.
13989         (s390_output_symbolic_const): Replace s390_function_count by
13990         current_function_funcdef_no.
13991         (s390_output_constant_pool): Likewise.
13992
13993         (legitimize_pic_address): Use regs_ever_live to track PIC register
13994         instead of current_function_uses_pic_offset_table.
13995         (s390_emit_prologue): Likewise.
13996         config/s390/s390.md ("call", "call_value"): Likewise.
13997
13998 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
13999
14000         * c-opts.c (find_opt): Don't complain about wrong languages
14001         here.  Return exact matches even for wrong language.
14002         (c_common_decode_option): Complain about wrong languages
14003         here.
14004
14005 2002-08-24  Stuart Hastings  <stuart@apple.com>
14006
14007         * function.h (struct function): Add flag
14008         all_throwers_are_sibcalls.
14009         * except.c (set_nothrow_function_flags): Replaces
14010         nothrow_function_p. Set new flag.
14011         * except.h (set_nothrow_function_flags): Replaces
14012         nothrow_function_p.
14013         * dwarf2out.c (struct dw_fde_struct): Add flag
14014         all_throwers_are_sibcalls.
14015         (output_call_frame_info): Test it.
14016         (dwarf2out_begin_prologue) Propagate it from cfun to
14017         dw_fde_struct.
14018         * toplev.c (rest_of_compilation): Update calls to
14019         nothrow_function_p.
14020
14021 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
14022
14023         * ggc-page.c (compute_inverse): Short circuit calculation for
14024         object sizes larger than half a page.
14025
14026 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
14027
14028         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
14029         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
14030         default.
14031         (rs6000_elf_unique_section): Likewise.
14032
14033 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14034
14035         * ns32k.c (ns32k_globalize_label): Delete.
14036         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
14037
14038 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
14039
14040         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
14041         for loading delta with num_insns_constant_wide.  Calculate
14042         delta_low, delta_high without using a conditional.
14043
14044 2002-08-22  Jason Merrill  <jason@redhat.com>
14045
14046         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
14047         * c-common.def: Adjust.
14048         * c-dump.c (c_dump_tree): Adjust.
14049         * c-semantics.c (genrtl_return_stmt): Adjust.
14050         * c-pretty-print.c (pp_c_statement): Adjust.
14051         * tree-inline.c (copy_body_r): Adjust.
14052
14053 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
14054
14055         * ggc-page.c: Avoid division in ggc_set_mark.
14056         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
14057         compute_inverse): New.
14058         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
14059         (init_ggc): Initialize inverse_table.
14060
14061 2002-08-22  Tom Tromey  <tromey@redhat.com>
14062
14063         * doc/install.texi (Configuration): Document --datadir.
14064
14065 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
14066
14067         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
14068
14069 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
14070
14071         * gengtype-lex.l (ID): Allow underscore as first character.
14072
14073 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
14074
14075         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
14076         function.
14077         (rs6000_xcoff_asm_named_section): Rename.
14078         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
14079
14080 2002-08-21  Tom Tromey  <tromey@redhat.com>
14081
14082         For PR java/6005 and PR java/7611:
14083         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
14084         (fold): Likewise.
14085         * langhooks.c (lhd_can_use_bit_fields_p): New function.
14086         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
14087         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
14088         (LANG_HOOKS_INITIALIZER): Use it.
14089         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
14090         field.
14091
14092 2002-08-21  Stan Shebs  <shebs@apple.com>
14093
14094         * tree.c (finish_vector_type): Fix a typo in a comment.
14095         * Makefile.in: Fix "the the" stutters in comments.
14096         * genautomata.c: Ditto.
14097         * ifcvt.c: Ditto.
14098         * regrename.c: Ditto.
14099         * config/alpha/alpha.c: Ditto.
14100         * config/alpha/vms-crt0-64.c: Ditto.
14101         * config/alpha/vms-crt0.c: Ditto.
14102         * config/alpha/vms-psxcrt0-64.c: Ditto.
14103         * config/alpha/vms-psxcrt0.c: Ditto.
14104         * config/d30v/d30v.h: Ditto.
14105         * config/fr30/fr30.h: Ditto.
14106         * config/rs6000/rs6000.c: Ditto.
14107         * config/stormy16/stormy16.h: Ditto.
14108         * doc/md.texi: Ditto.
14109
14110 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14111
14112         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
14113
14114 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
14115
14116         * c-decl.c (grokdeclarator): Make invalid combinations with long,
14117         short, signed or unsigned into hard errors.  Fixes PR c/4319.
14118         Also make duplicate modifiers such as "short short" into hard
14119         errors.
14120
14121 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
14122             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14123
14124         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
14125         to the actual end.  Add '@end table' and '@table @code'.
14126
14127 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
14128
14129         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
14130
14131         * unroll.c (biv_total_increment): Don't try to compute the total
14132         increment for FP BIVs.
14133
14134 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14135
14136         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
14137         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
14138         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
14139         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
14140         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
14141         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
14142         (GLOBAL_ASM_OP): Define.
14143         * arm.c (aof_globalize_label): New function.
14144         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
14145         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
14146         * c4x.c (c4x_globalize_label): New function.
14147         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
14148         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
14149         (GLOBAL_ASM_OP): Define.
14150         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
14151         * darwin-protos.h (darwin_globalize_label): Declare.
14152         * darwin.c (darwin_globalize_label): New function.
14153         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
14154         (ASM_GLOBALIZE_LABEL): Delete.
14155         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
14156         * dsp16xx.c (asm_output_common): Use target hook.
14157         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
14158         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
14159         (GLOBAL_ASM_OP): Define.
14160         * i370.c (i370_globalize_label): New function.
14161         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
14162         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
14163         * i386.c (ix86_asm_file_end): Use target hook.
14164         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
14165         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
14166         * ia64.c (ia64_asm_output_external): Likewise.
14167         * ia64/sysv4.h: Update comment.
14168         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
14169         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
14170         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
14171         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
14172         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
14173         * mmix-protos.h (mmix_asm_globalize_label): Delete.
14174         * mmix.c (mmix_asm_globalize_label): Likewise.
14175         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
14176         (GLOBAL_ASM_OP): Define.
14177         * ns32k.c (ns32k_globalize_label): New function.
14178         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
14179         (ASM_GLOBALIZE_LABEL): Delete.
14180         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
14181         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
14182         * pa.c (pa_globalize_label): New function.
14183         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
14184         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
14185         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
14186         (GLOBAL_ASM_OP): Define.
14187         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
14188         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
14189         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
14190         (GLOBAL_ASM_OP): Define.
14191         * v850.c (v850_output_aligned_bss): Use target hook.
14192         * vax.c (vms_globalize_label): New function.
14193         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
14194         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
14195         (GLOBAL_ASM_OP): Define.
14196         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
14197         * doc/tm.texi: Update docs.
14198         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
14199         target hook.
14200         * final.c (output_alternate_entry_point): Likewise.
14201         * hooks.c (hook_FILEptr_constcharptr_void): New function.
14202         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
14203         * output.h (assemble_global): Delete.
14204         (default_globalize_label): Declare.
14205         * system.h (ASM_GLOBALIZE_LABEL): Poison.
14206         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
14207         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
14208         * target.h (gcc_target): Add globalize_label member.
14209         * varasm.c (asm_output_bss, asm_output_aligned_bss,
14210         globalize_decl): Use target hook.
14211         (assemble_global): Delete.
14212         (default_globalize_label): New function.
14213
14214 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14215
14216         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
14217
14218 2002-08-20  Devang Patel  <dpatel@apple.com>
14219         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
14220
14221 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14222
14223         * arc.c (output_shift): Use stdio instead of asm_fprintf.
14224         * arm.c (thumb_output_function_prologue): Likewise.
14225         * avr.c (print_operand): Likewise.
14226         * c4x.c (c4x_print_operand): Likewise.
14227         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
14228         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
14229         * cris.c (cris_target_asm_function_prologue,
14230         cris_asm_output_mi_thunk): Likewise.
14231         * h8300.c (print_operand): Likewise.
14232         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
14233         * ip2k.c (print_operand): Likewise.  Fix format specifier.
14234         * m68hc11.c (asm_print_register, print_operand,
14235         print_operand_address): Use stdio instead of asm_fprintf.
14236         (print_operand_address): Fix format specifier.
14237         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
14238         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
14239         asm_fprintf.
14240         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14241         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14242         * m68k.c (m68k_output_function_prologue,
14243         m68k_output_function_epilogue, print_operand): Likewise.
14244         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
14245         Likewise.  Fix format specifier.
14246         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
14247         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
14248         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
14249
14250 2002-08-15  Eric Christopher  <echristo@redhat.com>
14251             Jeff Knaggs  <jknaggs@redhat.com>
14252
14253         * config.gcc (mipsisa64sr71k-elf): New target.
14254         * config/mips/sr71k.md: New file.
14255         * config/mips/mips.md: Use it.
14256         (rot*): Add sr71k specifics.
14257         * config/mips/t-sr71k: New file.
14258         * config/mips/mips.h (sr71k): New cpu.
14259         (TARGET_SR71K): Use it.
14260         (TUNE_SR71K): Ditto.
14261         (GENERATE_BRANCHLIKELY): Ditto.
14262         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
14263         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
14264         * config/mips/mips.c (sr71k): New cpu.
14265         (mips_use_dfa_pipeline_interface): Use.
14266
14267 2002-08-15  Eric Christopher  <echristo@redhat.com>
14268             Richard Sandiford <rsandifo@redhat.com>
14269             Aldy Hernandez  <aldyh@redhat.com>
14270             Graham Stott    <grahams@redhat.com>
14271             Michael Meissner  <meissner@redhat.com>
14272             Gavin Romig-Koch  <gavin@redhat.com>
14273             Ken Raeburn  <raeburn@cygnus.com>
14274             Alexandre Oliva <aoliva@redhat.com>
14275
14276         * config.gcc (mips64vr-elf): New target.
14277         * config/mips/5400.md: New file.
14278         * config/mips/5500.md: Ditto.
14279         * config/mips/mips.md: Use them.
14280         (frsqrt): New.
14281         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
14282         cpus.
14283         (mips_issue_rate): Use them.
14284         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
14285         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
14286         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
14287         cpus.
14288         (TARGET_MIPSx): Use them.
14289         (TUNE_MIPSx): Ditto.
14290         (GETNATE_MULT3_SI): Ditto.
14291         (ISA_HAS_BRANCHLIKELY): Ditto.
14292         (ISA_HAS_CONDMOVE): Ditto.
14293         (ISA_HAS_NMADD_NMSUB): Ditto.
14294         (ISA_HAS_MULHI): New. Ditto.
14295         (ISA_HAS_MULS): Ditto.
14296         (ISA_HAS_MSAC): Ditto.
14297         (ISA_HAS_MACC): Ditto.
14298         (ISA_HAS_ROTR_SI): Ditto.
14299         (ISA_HAS_ROTR_DI): Ditto.
14300         (RTX_COSTS): Use.
14301
14302 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14303
14304         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
14305         at head.
14306         (remove_dup_nonsys_dirs): New function.
14307         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
14308         (merge_include_chains): Remove non-system include directories from
14309         quote and bracket include chains when they duplicate equivalent system
14310         directories.
14311         * doc/cpp.texi (-I): Update.
14312         * doc/cppopts.texi (-I): Update.
14313         * doc/install.texi (--with-local-prefix): Further document usage of
14314         this option.
14315         * doc/invoke.texi (-I): Update.
14316
14317 2002-08-20  Richard Henderson  <rth@redhat.com>
14318
14319         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
14320         (emit_block_move): Split out subroutines.
14321         (emit_block_move_via_movstr): New.
14322         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
14323         (emit_block_move_libcall_fn): New.  Construct function prototype for
14324         bcopy as well.
14325         (clear_storage): Split out subroutines.
14326         (clear_storage_via_clrstr): New.
14327         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
14328         (clear_storage_libcall_fn): New.  Construct function prototype for
14329         bzero as well.
14330         (emit_push_insn): Use emit_block_move.
14331         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
14332         (store_constructor): Likewise.
14333
14334 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
14335
14336         * objc/objc-act.c (building_objc_message_expr): Rename to
14337         current_objc_message_selector.
14338
14339 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
14340
14341         * objc/objc-act.c (build_ivar_chain): Remove.
14342         (objc_copy_list): Likewise.
14343         (get_class_ivars): Inline call to removed build_ivar_chain
14344         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
14345         slot; use that slot (rather than CLASS_IVARS) when accessing
14346         ivars for base classes.  Call copy_list and chainon instead of
14347         objc_copy_list.
14348         (build_private_template): Call get_class_ivars instead of
14349         build_ivar_chain.
14350         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
14351         (continue_class): Call get_class_ivars instead of
14352         build_ivar_chain.
14353         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
14354         of DECL_BIT_FIELD (which may have been cleared).
14355         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
14356
14357 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14358
14359         * genautomata.c (output_translate_vect, output_state_ainsn_table,
14360         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
14361         in output file.
14362         (output_internal_min_issue_delay_func): Initialize variable in
14363         output file.
14364
14365 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
14366
14367         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
14368         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
14369
14370 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
14371             Steve Ellcey  <sje@cup.hp.com>
14372
14373         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
14374         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
14375         * explow.c (trunc_int_for_mode): Abort when the mode is not
14376         a scaler integer mode.
14377         * combine.c (expand_compound_operation): Don't expand Vector
14378         or Complex modes into shifts.
14379         (expand_field_assignment): Don't do bitwise arithmatic and
14380         shifts on Vector or Complex modes.
14381         (simplify_comparison): Don't call trunc_int_for_mode
14382         for VOIDmode.
14383         * recog.c (general_operand): Likewise.
14384         (immediate_operand): Likewise.
14385         (nonmemory_operand): Likewise.
14386
14387 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
14388
14389         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
14390         multi-instruction SImode constant.  Add REG_EQUAL note.
14391         * config/rs6000/rs6000.md (movsi splitter): Use
14392         rs6000_emit_set_const.
14393
14394 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14395
14396         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
14397         the macro test controlling its use.
14398
14399 2002-08-18  H.J. Lu  (hjl@gnu.org)
14400
14401         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
14402         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
14403         gnu_ld=yes.
14404         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
14405         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
14406         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
14407         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
14408         here.
14409         (cris-*-linux*): Remove setting thread_file here.
14410
14411 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
14412
14413         PR preprocessor/7602
14414         * cppinit.c (path_include): Treat the system environment
14415         variables as being cxx_aware.
14416
14417 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
14418
14419         * c-decl.c (flexible_array_type_p): New function.
14420         (grokdeclarator, finish_struct): Use it.
14421         * doc/extend.texi: Document constraints on use of structures with
14422         flexible array members.
14423
14424 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
14425
14426         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
14427         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
14428         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
14429
14430 2002-08-16  Stan Shebs  <shebs@apple.com>
14431
14432         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
14433         for ObjC with -fnext-runtime.
14434         * doc/cpp.texi: Document it.
14435
14436 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
14437
14438         * doc/install.texi (Final installation): Replace links to individual
14439         build status pages with a link to a common page that lists them all.
14440
14441 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
14442
14443         * doc/invoke.texi: Fix typo.
14444
14445 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
14446
14447         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
14448
14449 2002-08-16  Andrew Haley  <aph@redhat.com>
14450
14451         * tree-inline.c: Add includes for Java inliner.
14452         (remap_decl): Don't handle anonymous types for Java.
14453         (remap_block): Add handling for Java trees.
14454         (copy_scope_stmt): Conditionalize for non-Java use only.
14455         (copy_body_r): Handle Java trees.  Add handling for
14456         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
14457         (initialize_inlined_parameters):  Handle Java trees.
14458         (declare_return_variable): Likewise.
14459         (expand_call_inline): Handle Java trees.
14460         (walk_tree): Likewise.
14461         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
14462         (add_stmt_to_compound): New function.
14463
14464 2002-08-15  Richard Henderson  <rth@redhat.com>
14465
14466         * Makefile.in (LOOSE_WARN): Remove -fno-common.
14467         (NOCOMMON_FLAG): New substitution point.
14468         (GCC_WARN_CFLAGS): Include it.
14469         * configure.in (ac_checking): Set nocommon_flag.
14470         (nocommon_flag): New substitution point.
14471
14472 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
14473
14474         * c-tree.h (skip_evaluation): Move declaration...
14475         * c-common.h: ... here.
14476         * c-typeck.c (build_external_ref): Don't assemble_external nor
14477         mark a tree as used if skip_evaluation is set.
14478         * c-parse.in (typeof): New non-terminal to set skip_evaluation
14479         around TYPEOF.
14480         (typespec_nonreserved_nonattr): Use it.
14481
14482 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
14483
14484         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
14485         (xcoff_debug_hooks): Update end_prologue.
14486         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
14487         * debug.h (end_prologue): Add file arg.
14488         (end_epilogue): Add line and file args.
14489         (dwarf2out_end_epilogue): Add line and file args.
14490         (vmsdbgout_after_prologue): Remove.
14491         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
14492         (dwarf2_debug_hooks): Update end_prologue.
14493         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
14494         (dwarfout_end_prologue): Add file arg.
14495         * final.c (vmsdbgout_after_prologue): Remove
14496         (final_end_function): Update end_epilogue call.
14497         (final_scan_insn): Update end_prologue call.
14498         * sdbout.c (sdbout_end_epilogue): Add line and file args.
14499         (sdbout_end_prologue): Add file arg.
14500         (sdb_debug_hooks): Update end_prologue.
14501         (sdb_begin_prologue): Update sdbout_end_prologue call.
14502         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
14503         vmsdbgout_end_function.
14504         (vmsdbgout_end_prologue): New function renamed from
14505         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
14506         (vmsdbgout_end_function): New function.
14507         (vmsdbgout_end_epilogue): Add line and file args. Call
14508         vmsdbgout_source_line.
14509         (write_pclines): Write only valid line numbers.
14510         (write_srccorr): Don't write source correlation records if 0 lines.
14511         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
14512
14513 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
14514
14515         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
14516         (_Unwind_Internal_Ptr): 32 bit version for use in
14517         read_encoded_value_with_base.
14518         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
14519         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
14520         right size.
14521
14522 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14523
14524         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
14525         signed/unsigned warnings.
14526
14527         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
14528         record_reg_classes): Likewise.
14529
14530         * reload.c (reload_inner_reg_of_subreg, push_reload,
14531         find_reloads_address_1): Likewise.
14532
14533 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
14534
14535         * rs6000.c (output_mi_thunk): Return to function section on
14536         TARGET_ELF.
14537
14538         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
14539
14540 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
14541
14542         * config/s390/s390.c (legitimize_address): Optimize loading
14543         of large displacements.
14544
14545 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
14546
14547         * config/alpha/alpha-protos.h: Update.
14548
14549         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
14550         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
14551         (alpha_linkage_symbol_p): New static function.
14552         (print_operand_address): Print linkage operand.
14553
14554         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
14555         variables.
14556         (reloc_kind): New enum.
14557         (struct alpha_funcs): New struct.
14558         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
14559
14560         (alpha_need_linkage): Rewrite.
14561         (alpha_use_linkage): New global function.
14562         (alpha_write_linkage): Rewrite and make static.
14563         (alpha_write_one_linkage): Rewrite
14564
14565         (alpha_start_function): Remove procedure descriptor output.
14566         (alpha_end_function): Write linkages at end of each function.
14567
14568         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
14569         (call_vms_1, call_value_vms_1): Rewrite.
14570
14571         * config/alpha/vms.h (ASM_FILE_END): Remove.
14572
14573 2002-08-14  Richard Henderson  <rth@redhat.com>
14574
14575         * ggc-page.c (RTL_SIZE): New.
14576         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
14577         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
14578
14579 2002-08-14  Richard Henderson  <rth@redhat.com>
14580
14581         * calls.c: Include target.h.
14582         * Makefile.in (calls.o): Update.
14583
14584         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
14585         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
14586
14587 2002-08-14  Richard Henderson  <rth@redhat.com>
14588
14589         * Makefile.in (LOOSE_WARN): Add -fno-common.
14590         * c-common.h (constant_string_class_name): Add missing extern.
14591
14592 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
14593
14594         PR preprocessor/7358
14595         * c-opts.c (check_deps_environment_vars): Ignore main file
14596         for SUNPRO_DEPENDENCIES.
14597         * cppfiles.c (stack_include_file): Ignore main file if
14598         appropriate.
14599         * cpplib.h (struct cpp_options): New member in deps.
14600         * doc/cppenv.texi: Update.
14601
14602 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
14603
14604         PR preprocessor/7526
14605         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
14606
14607 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
14608
14609         * doc/invoke.texi (-a): Remove documentation.
14610         (-fprofile-arcs): Remove reference to -a, -ax options.
14611         * doc/gcov.texi (Gcov Data Files): Data might be merged.
14612
14613 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
14614
14615         Fix PR/7566
14616         * c-semantics.c (genrtl_case_label): Don't (mis)use
14617         warning_with_decl.
14618
14619 2002-08-14  Dale Johannesen  <dalej@apple.com>
14620
14621         * explow.c (emit_stack_restore):  Emit memory clobbers
14622         preceding the stack pop, to prevent the scheduler from
14623         moving refs to variable arrays below this pop.
14624         * reload1.c (reload):  Preserve these clobbers for sched2.
14625         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
14626
14627 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
14628
14629         * c-opts.c (c_common_post_options): Correct test.
14630
14631 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14632
14633         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
14634         order in call to fprintf.
14635
14636 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14637
14638         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
14639
14640 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
14641
14642         * reload.c (find_reloads): Handle constraint letters marked by
14643         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
14644         (alternative_allows_memconst): Likewise.
14645         * reload1.c (maybe_fix_stack_asms): Likewise.
14646         * recog.c (asm_operand_ok, preprocess_constraints,
14647         constrain_operands): Likewise.
14648         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
14649         * local-alloc.c (block_alloc, requires_inout): Likewise.
14650         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
14651
14652         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
14653         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
14654         * doc/tm.texi: Document these two new target macros.
14655
14656         * config/s390/s390.c (s390_expand_plus_operand): Accept already
14657         valid operands.
14658         (q_constraint): New function.
14659         config/s390/s390-protos.h (q_constraint): Declare it.
14660         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
14661         (EXTRA_MEMORY_CONSTRAINT): New macro.
14662
14663         * config/s390/s390.md: Throughout the machine description,
14664         replace all instances of the constraint combinations 'Qo'
14665         or 'oQ' with simply 'Q'.
14666
14667 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
14668
14669         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
14670         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
14671         (LIBGCC2_CFLAGS): Compile with -mrelax.
14672
14673 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
14674
14675         * doc/invoke.texi: Document -minmax for 68HC12.
14676
14677         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
14678         ("uminqi3"): Likewise.
14679         ("uminhi3", "umaxhi3"): Likewise.
14680
14681         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
14682         (TARGET_MIN_MAX): Define.
14683         (TARGET_SWITCHES): New option -minmax/-mnominmax.
14684
14685 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
14686
14687         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
14688         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
14689
14690         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
14691         (ret, declare, farsym): New gas macros.
14692         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
14693         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
14694         and declare the symbol far when compiled with -mlong-calls.
14695         (__far_trampoline): New for 68HC12 trampoline code to invoke a
14696         far handler using jsr/bsr.
14697
14698         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
14699         (jsr): New macro to transform a 'jsr' into a 'call'.
14700
14701 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
14702
14703         * doc/invoke.texi: Document -mlong-calls for 68HC12.
14704
14705         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
14706         -mlong-calls is specified.
14707         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
14708         assembler directives.
14709         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
14710         (TARGET_SWITCHES): Add -mlong-calls options.
14711         (current_function_far): Declare.
14712
14713         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
14714         into account the page register saved on the stack.
14715         (m68hc11_override_options): Take into account -mlong-calls option.
14716         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
14717
14718         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
14719         if the function is going to be in 68HC12 banked memory (-mlong-calls).
14720         ("*return_16bit"): Likewise.
14721         ("*return_void"): Likewise.
14722         ("call", "call_value"): Use call for a far function call.
14723
14724 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
14725
14726         * toplev.c (parse_options_and_default_flags): Don't call
14727         post_options here.
14728         (general_init): Initialize GC, pools and tree hash here,
14729         instead of lang_independent_init.
14730         (lang_independent_init): Rename backend_init.
14731         (do_compile): Call post_options hook; exit early if there
14732         have been errors after switch processing.
14733         (toplev_main): Update.
14734
14735 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
14736
14737         * c-pretty-print.h: Guard against multiple inclusion.
14738         Robustify macros.
14739         (pp_c_attributes): Declare.
14740         * c-pretty-print.c (pp_c_attributes): New function.
14741
14742 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14743
14744         * m68k.c (m68k_output_function_prologue,
14745         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
14746         and NEWS/MOTOROLA.
14747         * genattrtab.c: Remove dpx2 comment.
14748         * libgcc2.c (__enable_execute_stack): Delete versions for
14749         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
14750         sony_news/SYSTYPE_BSD.
14751         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
14752         __gmicro__, __i860__, __NeXT__ and __pyr__.
14753         * rtl.h: Remove convex comment.
14754         * varasm.c: Likewise.
14755
14756 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14757
14758         * c-opts.c (lang_flags): Const-ify.
14759         * ra-build.c (undef_table): Likewise.
14760         * ra.c (eliminables): Likewise.
14761
14762 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
14763
14764         * tree.h: Guard against multiple inclusion.
14765
14766 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
14767
14768         * reload1.c (reload_cse_simplify): Before checking
14769         REG_FUNCTION_VALUE_P, check REG_P.
14770
14771 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
14772
14773         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
14774
14775 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
14776
14777         * c-opts.c (c_common_init_options): Extra braces needed.
14778
14779 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
14780
14781         * sh.c (sh_init_builtins): Add PARAMS to declaration.
14782         (sh_media_init_builtins, sh_expand_builtin): Likewise.
14783         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
14784         (sh_expand_binop_v2sf): Likewise.
14785         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
14786         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
14787         (sh_initialize_trampoline): Likewise.
14788
14789 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
14790
14791         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
14792         new condition code modes.
14793         s390.c (s390_match_ccmode_set): Handle those new CC modes.
14794         (s390_select_ccmode): Likewise.
14795         (s390_branch_condition_mask): Likewise.
14796
14797         * s390-protos.h (s390_tm_ccmode): Declare.
14798         s390.c (s390_tm_ccmode): New function.
14799         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
14800
14801         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
14802         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
14803         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
14804
14805         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
14806         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
14807         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
14808         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
14809         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
14810
14811         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
14812         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
14813         "*cmpqi_ccs_0"): Remove, replace by ...
14814         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
14815         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
14816         "*tstqi", "*tstqi_cconly"): ... these new patterns.
14817
14818         ("*cmpsidi_ccs"): Remove, replace by ...
14819         ("*cmpsi_ccs_sign"): ... this new pattern.
14820         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
14821
14822         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
14823         ("*cli"): ... this new pattern.
14824
14825         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
14826         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
14827         New patterns.
14828         ("adddi3_64"): Rename to "*adddi3_64".
14829         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
14830         ("adddi3"): Adapt expander.
14831
14832         ("*addsi3_cc"): Allow "general_operand" for operand 2.
14833         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
14834         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
14835
14836         ("addhi3", "addqi3"): Remove, replace by ...
14837         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
14838
14839         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
14840         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
14841         ("subdi3"): Replace by insn and splitter "*subdi3_31".
14842         ("subdi3"): New expander.
14843
14844         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
14845
14846         ("subhi3", "subqi3"): Remove, replace by ...
14847         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
14848
14849         ("*muldi3_sign"): New pattern.
14850         ("muldi3"): Do not clobber CC.
14851         ("mulsi3"): Likewise.
14852         ("mulsi_6432"): Likewise.
14853
14854 2002-08-13  Denis Chertykov  <denisc@overta.ru>
14855
14856         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
14857         which can change CC0.
14858
14859 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
14860
14861         * gcse.c (adjust_libcall_notes): New function.
14862         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
14863
14864 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
14865
14866         * libgcc2.c (L_bb): Remove unneeded #includes.
14867         (__global_counters, __gthreads_active): Remove unused globals.
14868         (__bb_exit_func): Merge counts into files rather than appending.
14869         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
14870         (ALL_CFLAGS): ... to here.
14871
14872 2002-08-13  Denis Chertykov  <denisc@overta.ru>
14873
14874         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
14875         (function_epilogue): Don't calculate function size.
14876         (ip2k_set_compare): Don't use lookup_const_double.
14877         (asm_file_start): Initialization of commands_in_file removed.
14878         (asm_file_end): Output of commands_in_file removed.
14879
14880         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
14881         __INT_MAX__.
14882
14883 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
14884
14885         * c-opts.c (c_common_init_options): Check option array is
14886         sorted if checking enabled.
14887
14888 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
14889
14890         * c-pretty-print.c: #include "c-tree.h".
14891         (pp_c_simple_type_specifier): Tweak.
14892         (pp_c_storage_class_specifier): New.
14893         (pp_c_function_specifier): Likewise.
14894         (pp_c_declaration_specifiers): Likewise.
14895         (pp_c_init_declarator): Likewise.
14896         (pp_c_declaration): Likewise.
14897         (pp_c_direct_declarator): Stub.
14898         (pp_c_declarator): Likewise.
14899         (pp_c_parameter_declaration): Likewise.
14900
14901 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
14902
14903         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
14904         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
14905         struct deferred_opt): New.
14906         (COMMAND_LINE_OPTIONS): Add -M*.
14907         (missing_arg): Update.
14908         (c_common_decode_option): Handle -M*.
14909         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
14910         don't call cpp_post_options.
14911         (c_common_finish, check_deps_environment_vars): Update.
14912         * cppfiles.c (stack_include_file, handle_missing_header): Update.
14913         * cpphash.h (CPP_PRINT_DEPS): Remove.
14914         * cppinit.c: Don't include version.h.
14915         (cpp_create_reader): Don't call deps_init.  Initialize
14916         warn_long_long.
14917         (cpp_read_main_file): Init deps if necessary.
14918         (cpp_destroy): Conditionally free deps.
14919         (cpp_finish): Update.
14920         (no_tgt): Remove.
14921         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
14922         (cpp_post_options): Rename post_options.
14923         * cpplib.h (struct cpp_options): Remove some dependency options;
14924         move others to a new structure.
14925         (cpp_post_options): Remove.
14926         (cpp_finish): Comment.
14927         * fix-header.c (read_scan_file): Don't call cpp_post_options.
14928
14929 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
14930
14931         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
14932         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
14933         MMIX_rR_REGNUM as clobbered.
14934         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
14935
14936 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
14937
14938         * diagnostic.h (output_formatted_scalar): Rename from
14939         output_formatted_integer.
14940         * diagnostic.def: Add DK_DEBUG.
14941         * diagnostic.c (output_decimal): Adjust.
14942         (output_long_decimal): Likewise.
14943         (output_unsigned_decimal): Likewise.
14944         (output_octal): Likewise.
14945         (output_long_octal): Likewise.
14946         (output_hexadecimal): Likewise.
14947         (output_long_hexadecimal): Likewise.
14948         * c-pretty-print.c (pp_c_type_specifier): New function.
14949         (pp_c_specifier_qualifier_list): Likewise.
14950         (pp_c_abstract_declarator): Likewise.
14951         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
14952
14953 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
14954
14955         * doc/trouble.texi (Disappointments): Add static constructor and
14956         destructor dependency information for AIX.
14957
14958 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
14959
14960         * cpphash.h (struct printer): New from cppmain.c.
14961         (cpp_reader): New member.
14962         * cppmain.c (struct printer): Move to cpphash.h.
14963         (options, print): Remove.
14964         (account_for_newlines, print_line, maybe_print_line,
14965         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
14966         scan_translation_unit_trad, cb_line_change, cb_ident,
14967         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
14968         cb_def_pragma): Make reentrant.
14969
14970 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14971
14972         * real.c (ieee_64): Always define.
14973         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
14974         (dec_h): Not used yet, hide it.
14975         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
14976         macro controlling use.
14977         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
14978
14979 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
14980
14981         * i386.md (tablejump): Sign extend the operand.
14982         * i386.c (classify_argument): Fix missed case from previous patch.
14983
14984 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
14985
14986         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
14987         to c-copts.c.
14988         (warn_multichar): Die.
14989         (cb_register_builtins): Export.
14990         * c-common.h (warn_multichar, preprocess_file): Remove.
14991         (cb_register_builtins): New.
14992         * c-lang.c (c_init): Remove.
14993         (LANG_HOOKS_INIT): Use c_objc_common_init.
14994         * c-lex.c (init_c_lex): Don't canonicalize filename.
14995         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
14996         (preprocess_file): Make static.  Update for cpplib.
14997         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
14998         (c_common_post_options): Set some cpp options here.
14999         (c_common_init): Move from c-common.c.
15000         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
15001         * cpplib.h (struct cpp_options): Remove in_fname.
15002         (cpp_preprocess_file): Update.
15003         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
15004
15005 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15006
15007         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
15008
15009 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15010
15011         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
15012         backslash in comment preceeding macro definition.
15013         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
15014         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
15015         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
15016
15017 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
15018
15019         * expr.c (store_expr): In condition for checking if value is
15020         generated in TARGET, move call to expr_size last.
15021
15022 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
15023
15024         * c-common.c (c_common_init): Call preprocess_file instead.
15025         (c_common_finish): Move to c-opts.c.
15026         * c-common.h (preprocess_file): new.
15027         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
15028         check_deps_environment_vars, c_common_finish): New.
15029         (c_common_decode_option): Update for out_fname and dependencies.
15030         * cppinit.c (init_dependency_output, output_deps): Remove.
15031         (cpp_destroy): Update prototype.
15032         (cpp_add_dependency_target): New.
15033         (cpp_read_main_file): Don't overlay a buffer.
15034         (cpp_finish): Take a deps output stream and write deps to it.
15035         Return the error count.
15036         (cpp_post_options): Don't canonicalize out_fname, or do anything
15037         with dependencies.
15038         * cpplib.h (struct cpp_options): Remove out_fname and
15039         preprocess_only.
15040         (cpp_add_dependency_target): New.
15041         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
15042         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
15043         set preprocess_only.  Don't handle the output stream directly.
15044
15045 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15046
15047         * dsp16xx.c (print_operand): Fix format specifier.
15048         * dsp16xx.md: Avoid automatic aggregate initialization.
15049         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
15050         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
15051         integer constant modifier.
15052         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
15053         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
15054         guards.
15055         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
15056         * v850.c (v850_select_section): Mark parameter with
15057         ATTRIBUTE_UNUSED.
15058         * global.c (global_alloc): Const-ify.
15059         * ra-colorize.c (hardregset_to_string): Fix format specifier.
15060
15061 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15062
15063         * darwin-c.c (darwin_pragma_options): Const-ify.
15064         * darwin.c (machopic_non_lazy_ptr_name,
15065         machopic_validate_stub_or_non_lazy_ptr): Likewise.
15066         (machopic_indirect_data_reference): Wrap variables in macros
15067         controlling their use.
15068         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
15069         (machopic_select_section): Use parentheses around && within ||.
15070         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
15071
15072 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15073
15074         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
15075         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
15076         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
15077         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
15078         mdr_try_remove_redundant_insns, track_w_reload,
15079         mdr_try_wreg_elim): Make function static to match prototype.
15080         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
15081         parameter with ATTRIBUTE_UNUSED.
15082
15083 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15084
15085         * arc.c (arc_init): Don't use ISO C style function definitions.
15086         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
15087         arm_get_strip_length, arm_strip_name_encoding): Likewise.
15088         * avr.h (progmem_section): Likewise.
15089         * h8300.c h8300_asm_insn_count): Likewise.
15090         * m32r.c (init_idents): Likewise.
15091         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
15092         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
15093         * xtensa.c (xtensa_build_va_list): Likewise.
15094
15095 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
15096
15097         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
15098         * c-opts.c (parse_option): Rename find_opt.
15099         (set_std_c99): New function.
15100         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
15101         (missing_arg): Remove OPT_std_bad.  Handle -o.
15102         (c_common_decode_option): Handle input and output file names,
15103         -o and -remap.  Clean up -std= handling.
15104         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
15105         (cpp_handle_option): Similarly.  Don't handle filenames.
15106
15107 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
15108
15109         * i386.c (classify_argument): Fix computing of field's offsets.
15110
15111 2002-08-11  Andreas Jaeger  <aj@suse.de>
15112
15113         PR target/7531:
15114         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
15115
15116 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
15117
15118         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
15119         reference to clk_objective_c with flag_objc.
15120         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
15121         Likewise.
15122         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
15123
15124 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
15125
15126         * c-opts.c (set_std_cxx98, set_std_c89): New.
15127         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
15128         (c_common_decode_option): Handle new switches from cppinit.c.
15129         Add -std=gnu++98.
15130         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
15131         (no_arg, no_num): Remove.
15132         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
15133         switches apart from -lang-objc and lang-asm.
15134         (cpp_handle_option): Similarly.
15135         * cpplib.h (cpp_set_lang): New.
15136         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
15137         -std=gnu++98.
15138         * objc/lang-specs.h: Remove -ansi.
15139
15140 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
15141                                Graham Stott
15142
15143         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
15144         errors.
15145
15146 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15147
15148         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
15149         emit_jump_insn): Fix uninitialized variable.
15150         * gcov.c (init_line_info): Likewise.
15151         * genautomata.c (transform_3): Add braces around ambiguous
15152         else.
15153         * ifcvt.c (cond_exec_process_insns): Mark parameter with
15154         ATTRIBUTE_UNUSED.
15155         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
15156         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
15157         variable.
15158
15159         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
15160         warnings in output files.
15161
15162 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
15163
15164         * c-common.c (flag_objc): New.
15165         * c-common.h (c_language_kind): Get rid of clk_objective_c
15166         enum value.
15167         (flag_objc): New extern declaration.
15168         * c-decl.c (implicitly_declare): Call objc_check_decl
15169         instead of maybe_objc_check_decl.
15170         (finish_decl): Likewise.
15171         (grokfield): Likewise.
15172         (finish_struct): Likewise.
15173         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
15174         (maybe_objc_comptypes): Rename to objc_comptypes.
15175         (maybe_building_objc_message_expr): Rename to
15176         objc_message_selector.
15177         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
15178         replace with flag_objc as needed.
15179         * c-opts.c (c_common_init_options): Likewise.
15180         (c_common_decode_option): Likewise.
15181         * c-parse.in (init_reswords): Likewise.
15182         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
15183         (maybe_objc_comptypes): Rename to objc_comptypes.
15184         (maybe_building_objc_message_expr): Rename to
15185         objc_message_selector.
15186         * c-typeck.c (comptypes): Call objc_comptypes instead of
15187         maybe_objc_comptypes, and/or objc_message_selector instead of
15188         maybe_building_objc_message_expr.
15189         (comp_target_types): Likewise.
15190         (convert_for_assignment): Likewise.
15191         (warn_for_assignment): Likewise.
15192         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
15193         independently of those for other languages.
15194         * objc/objc-act.c (maybe_objc_comptypes): Delete.
15195         (maybe_objc_check_decl): Delete.
15196         (maybe_building_objc_message_expr): Rename to
15197         objc_message_selector.
15198         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
15199         clk_objective_c; set flag_objc flag.
15200
15201 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
15202
15203         * ifcvt.c (find_if_case_2): Test correct basic block for size.
15204
15205 2002-08-09  Dale Johannesen  <dalej@apple.com>
15206
15207         * config/rs6000/rs6000.md: Add sibcall patterns.
15208         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
15209         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
15210         Rewritten to handle sibcalls.
15211         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
15212         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
15213
15214 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
15215
15216         * profile.c (da_file_name): New static var.
15217         (init_branch_prob): Initialize it.
15218         (end_branch_prob): Remove da file.
15219
15220         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
15221         * configure.in (coverage_flags): Default to nothing.
15222         * configure: Rebuilt.
15223
15224 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
15225
15226         * Makefile.in (c-opts.o): Update
15227         * c-opts.c: Include intl.h.
15228         (print_help): Move from cppinit.c.  Remove unused options.
15229         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
15230         (missing_arg): Complain for switches without an argument.
15231         (c_common_decode_option): Reject missing joined arguments.
15232         Handle new switches from cppinit.c.
15233         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
15234         (cpp_handle_option): Similarly.
15235         (print_help): Moved to c-opts.c.
15236         * cpplib.h (struct cpp_options): Remove help_only.
15237         * gcc.c (cpp_unique_options): Remove -$.
15238         * doc/cppopts.texi: Undocument -h.
15239
15240 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
15241
15242         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
15243         legitimate constant.
15244         (legitimate_pic_operand_p): Neither pic operand.
15245         (legitimate_address_p): But legitimate address.
15246         (get_thread_pointer): Generate MEM/u instead of CONST around
15247         UNSPEC_TP.
15248         (print_operand): Remove printing of UNSPEC_TP.
15249         (print_operand_address): And print it here.
15250
15251 2002-08-08  Devang Patel  <dpatel@apple.com>
15252
15253         * objc/objc-act.c (build_selector_translation_table): Issue warning,
15254         when  -Wselector is used,if method for which selector is being
15255         created does not exist.
15256
15257 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
15258
15259         * config/sh/sh.c (prepare_move_operands): Only call
15260         target_reg_operand if TARGET_SHMEDIA.
15261
15262 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
15263
15264         * config/rs6000/rs6000.h, config/rs6000/aix.h,
15265         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
15266         two patches.
15267         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
15268
15269 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
15270             Richard Henderson  <rth@redhat.com>
15271
15272         * emit-rtl.c (gen_rtx_REG): After reload, only return
15273         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
15274
15275 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
15276
15277         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
15278         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
15279         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
15280         macro.
15281
15282 2002-08-08  Adam Nemet  <anemet@lnxw.com>
15283
15284         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
15285         register.
15286         (thumb_expand_prologue): Likewise.
15287         (thumb_output_function_prologue): Likewise.
15288         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
15289         the additional push of the PIC register.
15290
15291 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
15292
15293         * configure.in (enable_coverage): New enable switch.
15294         * configure: Rebuilt.
15295         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
15296         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
15297         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
15298         (mostlyclean): Remove coverage files.
15299         * doc/install.texi: Document enable_coverage.
15300
15301         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
15302         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
15303         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
15304         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
15305         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
15306         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
15307         files.
15308
15309 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
15310
15311         * c-opts.c (cpp_opts): New.
15312         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
15313         (c_common_decode_options): Handle cpplib switches.
15314         (c_common_init_options): Set cpp_opts.
15315         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
15316         (cpp_handle_option): Similarly.
15317
15318 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
15319
15320         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
15321         (TARGET_ALTIVEC_ABI): Same.
15322         (TARGET_ALTIVEC_VRSAVE): Same.
15323
15324         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
15325         icode not CODE_FOR_nothing.  Change switch to if.
15326
15327 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
15328
15329         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
15330
15331 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
15332
15333         * stor-layout.c (place_union_field): For bitfields if
15334         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
15335         TYPE_USER_ALIGN.
15336
15337 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15338
15339         * pa.c (struct deferred_plabel): Constify name field.
15340
15341 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
15342
15343         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
15344
15345 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15346
15347         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
15348         local_prefix are the same.
15349         * configure: Rebuilt.
15350
15351 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
15352             Richard Henderson  <rth@redhat.com>
15353
15354         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
15355         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
15356         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
15357         (place_field): Likewise.
15358         * config/i386/i386.c (x86_field_alignment): Don't check
15359         DECL_USER_ALIGN here.
15360         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
15361         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
15362         prototype.
15363         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
15364         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
15365         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
15366         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
15367         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
15368         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
15369
15370 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
15371
15372         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
15373         * c-common.c: Don't include tree-inline.h.
15374         (c_common_init_options, c_common_post_options): Move to c-opts.c.
15375         * c-common.h (c_common_decode_option): New.
15376         * c-decl.c (c_decode_option): Remove.
15377         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
15378         * c-opts.c: New file.
15379         * c-tree.h (c_decode_option): Remove.
15380         * doc/passes.texi: Update.
15381         * objc/objc-act.c (objc_decode_option): Remove.
15382         * objc/objc-act.h (objc_decode_option): Remove.
15383         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
15384         c_common_decode_option.
15385
15386 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
15387
15388         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
15389         dependency on TARGET_DOUBLE_FLOAT.
15390
15391 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
15392
15393         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
15394         overwrite callee-save registers.  Fix comment.
15395
15396 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
15397
15398         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
15399         in target_flags based on ISA, if it was not set on the command
15400         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
15401         support Branch Likely instructions.
15402         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
15403         (TARGET_BRANCHLIKELY): Likewise.
15404         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
15405         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
15406         ISA_HAS_BRANCHLIKELY.
15407         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
15408         * doc/invoke.texi: Document new MIPS -mbranch-likely and
15409         -mno-branch-likely options.
15410
15411 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15412
15413         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
15414
15415         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
15416         $(GCONFIG_H).
15417
15418 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
15419
15420         * c-decl.c (duplicate_decls): Error out for incompatible TLS
15421         declarations.
15422
15423         * testsuite/gcc.dg/tls/diag-3.c: New.
15424
15425 2002-08-06  Dale Johannesen  <dalej@apple.com>
15426
15427         * c-common.c (fname_decl): Use line number 0 for
15428         __func__, to avoid confusing debuggers.
15429
15430 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
15431
15432         * gcov.c: Tidy.
15433         (struct line_info, struct coverage): New structures.
15434         (gcov_file_name, gcov_file): Remove globals.
15435         (output_data): Take source file parameter. Fix memory leak. Break
15436         up into ...
15437         (init_line_info, output_line_info, make_gcov_file_name,
15438         accumulate_branch_counts): ... here.
15439         (calculate_branch_probs, function_summary): Adjust.
15440         (main): Adjust.
15441         (function_*): Remove global variables.
15442
15443 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
15444
15445         * dwarf2out.c: Remove unused macros.
15446
15447 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
15448
15449         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
15450
15451 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
15452
15453         * cppinit.c (struct lang_flags): Rename trigraphs std.
15454         (set_lang): Update.
15455         * cpplib.h (struct cpp_options): New member std.
15456         * cppmacro.c (_cpp_builtin_macro_text): Use std.
15457         (collect_args): Flag whether to swallow a possible future
15458         comma pasted with varargs.
15459         (replace_args): Use this flag.
15460         * doc/cpp.texi: Update varargs extension documentation.
15461
15462 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
15463
15464         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
15465
15466 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
15467
15468         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
15469         and MODE_CLASS_INT modes.
15470
15471 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
15472
15473         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
15474         --{enable,disable}-threads is given to configure.
15475         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
15476         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
15477         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
15478         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
15479         Remove thread_file setting here.
15480
15481 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
15482
15483         * doc/install.texi (Binaries): Update Bull Freeware URL.
15484
15485 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
15486
15487         * doc/gcc.texi (Top): Rename Index to Keyword Index.
15488
15489 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
15490
15491         * gcov.c (output_data): Round to % to nearest, tweak formatting.
15492
15493 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
15494
15495         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
15496         of the operands into MINUS_EXPR if code is PLUS_EXPR.
15497
15498 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
15499
15500         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
15501         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
15502         drectve_section): Define.
15503         * config/i386/t-interix: Replace interix.o rule with winnt.o.
15504         * config/i386/interix.c: Remove.
15505
15506 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
15507
15508         * attribs.c: Don't include obstack.h.
15509         * builtins.c: Likewise.
15510         * cfganal.c: Likewise.
15511         * cfgbuild.c: Likewise.
15512         * cfgcleanup.c: Likewise.
15513         * emit-rtl.c: Likewise.
15514         * loop.c: Likewise.
15515         * stmt.c: Likewise.
15516
15517         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
15518
15519 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
15520
15521         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
15522
15523 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
15524
15525         * doc/invoke.texi: Remove duplicated paragraph describing
15526         TARGET_SWITCHES.
15527
15528 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
15529
15530         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
15531         * collect2.h (permanent_obstack): Delete declaration.
15532         * collect2.c (permanent_obstack): Delete definition.
15533         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
15534         * expr.c: Don't include obstack.h.
15535         (permanent_obstack): Delete declaration.
15536         * function.c: Don't include obstack.h.
15537         (permanent_obstack): Delete declaration.
15538         * integrate.c: Don't include obstack.h.
15539         (function_maybepermanent_obstack): Delete declaration.
15540         * print-tree.c (debug_tree): Use x*alloc not permalloc.
15541         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
15542         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
15543         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
15544         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
15545         of permalloc, expralloc, perm_calloc.
15546         * tree.c (permanent_obstack): Delete definition.
15547         (init_ttree): Rename from init_obstacks.
15548         (permalloc): Delete.
15549         (perm_calloc): Delete.
15550         (dump_tree_statistics): Don't print information about
15551         permanent_obstack.
15552         * varasm.c (assemble_start_function): Use xstrdup instead of
15553         permalloc/strcpy.
15554         (assemble_variable): Likewise.
15555         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
15556         permalloc.
15557         (unicosmk_add_extern): Likewise.
15558         * config/c4x/c4x.c (c4x_external_ref): Likewise.
15559         (c4x_global_label): Likewise.
15560         * config/frv/frv.c (frv_encode_section_info): Likewise.
15561         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
15562         (i386_pe_record_exported_symbol): Likewise.
15563         * config/mips/mips.c (mips_output_external): Likewise.
15564         (mips_output_external_libcall): Likewise.
15565         * config/pa/pa.c: (permanent_obstack): Delete declaration.
15566         (output_call): Use ggc_strdup instead of allocating on
15567         permanent_obstack.
15568         * config/romp/romp.c: Include ggc.h.
15569         (get_symref): Don't declare permanent_obstack, use ggc_strdup
15570         intead of permanent_obstack.
15571         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
15572         instead of permalloc.
15573         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
15574         instead of permalloc
15575         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
15576         instead of permalloc.
15577         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
15578         permalloc.
15579
15580 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
15581
15582         Contribute a port developed primarily by Michael Meissner,
15583         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
15584         * config.gcc: Add frv-elf target.
15585         * config/frv/cmovd.c: New file.
15586         * config/frv/cmovh.c: New file.
15587         * config/frv/cmovw.c: New file.
15588         * config/frv/frv-abi.h: New file.
15589         * config/frv/frv-asm.h: New file.
15590         * config/frv/frv-modes.def: New file.
15591         * config/frv/frv-protos.h: New file.
15592         * config/frv/frv.c: New file.
15593         * config/frv/frv.h: New file.
15594         * config/frv/frv.md: New file.
15595         * config/frv/frvbegin.c: New file.
15596         * config/frv/frvend.c: New file.
15597         * config/frv/lib1funcs.asm: New file.
15598         * config/frv/media.h: New file.
15599         * config/frv/modi.c: New file.
15600         * config/frv/t-frv: New file.
15601         * config/frv/uitod.c: New file.
15602         * config/frv/uitof.c: New file.
15603         * config/frv/ulltod.c: New file.
15604         * config/frv/ulltof.c: New file.
15605         * config/frv/umodi.c: New file.
15606         * config/frv/xm-frv.h: New file.
15607
15608         * config/frv/media.h: Removed again.
15609
15610 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
15611
15612         * gcov.c (bb_file_time): New static variable.
15613         (object_directory): May also be object file.
15614         (preserve_paths): New static variable.
15615         (print_usage): Adjust.
15616         (options): Adjust.
15617         (process_args): Adjust.
15618         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
15619         file. Find modification date on bb file.
15620         (read_profile): Don't rewind a NULL file.
15621         (format_hwint): New static function.
15622         (function_summary): Use format_hwint.
15623         (output_data): SOURCE_FILE_NAME is never relative to
15624         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
15625         mangling. Adjust output format to make it more machine readable.
15626         * doc/gcov.texi: Document & clarify semantics.
15627
15628 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
15629
15630         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
15631
15632 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
15633
15634         * gcc.c (cc1_options): Pass output file as auxbase when
15635         appropriate.
15636         * profile.c (init_branch_prob): FILENAME has already had ending
15637         stripped.
15638         * final.c (end_final): Likewise.
15639         * toplev.c (aux_base_name): New global.
15640         (compile_file): Pass aux_base_name to init init_branch_prob and
15641         end_final.
15642         (independent_decode_option, case 'a'): New auxinfo options.
15643         (case 'd'): Protect against mising basename.
15644         (do_compile): Initialize aux_base_name.
15645         * toplev.h (aux_base_name): New global.
15646         * doc/invoke.texi: Adjust documentation.
15647
15648 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
15649
15650         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
15651         of TARGET_ALIGN_DOUBLE.
15652
15653 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
15654
15655         * diagnostic.c (inform): New function.
15656         * diagnostic.h (inform): Declare.
15657
15658 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
15659
15660         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
15661         (movhi_internal): Same.
15662         (movqi_internal): Same.
15663         (movdi_internal64): Same.
15664
15665         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
15666
15667         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
15668         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
15669         (COMMON_ASM_OP): Define.
15670         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
15671         Use ALIGN parameter.
15672         (LOCAL_COMMON_ASM_OP): Define.
15673         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
15674
15675 2002-08-03  Roger Sayle  <roger@eyesopen.com>
15676
15677         * builtins.def: Define new builtin functions exp, expf, expl,
15678         log, logf and logl (and their __builtin_* variants).
15679         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
15680         Define exp_optab and log_optab.
15681         * optabs.c (init_optans): Initialize exp_optab and log_optab.
15682         * genopinit.c (optabs): Implement exp_optab and log_optab
15683         using exp?f2 and log?f2 patterns.
15684         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
15685         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
15686         (expand_builtin): Ignore the new builtins (and all cos and
15687         sin variants) when not optimizing.  Expand new builtins via
15688         expand_builtin_mathfn when flag_unsafe_math_optimizations.
15689
15690         * doc/extend.texi: Document new exp and log builtins.
15691         * doc/md.texi: Document new exp?f2 and log?f2 patterns
15692         (and previously undocumented cos?f2 and sin?f2 patterns).
15693
15694 2002-08-03  Jason Merrill  <jason@redhat.com>
15695
15696         * explow.c (int_expr_size): New fn.
15697         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
15698         * expr.h: Declare it.
15699
15700 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
15701
15702         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
15703         gengtype-* dependencies.
15704
15705 2002-08-02  Eric Christopher  <echristo@redhat.com>
15706
15707         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
15708         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
15709         #ifndef to #undef.
15710         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
15711
15712 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
15713
15714         PR optimize/7067
15715         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
15716         small if optimizing for size.
15717
15718 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
15719
15720         * configure.in (FORBUILD): Use $build_alias.
15721         * configure: Regenerated.
15722
15723 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
15724
15725         * config.gcc: Don't include mips/abi64.h in $tm_file.
15726         * hard-reg-set.h (call_really_used_regs): Declare.
15727         * config/mips/abi64.h: Remove file.
15728         * config/mips/linux.h,
15729         * config/mips/iris6.h: Don't include it.
15730         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
15731         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
15732         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
15733         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
15734         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
15735         Bring across definitions from abi64.h.
15736         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
15737         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
15738         (struct mips_args): Use it.
15739         * config/mips/mips.c (mips_conditional_register_usage): Define.
15740
15741 2002-08-02  Jason Merrill  <jason@redhat.com>
15742
15743         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
15744         * langhooks.c (lhd_expr_size): Define default.
15745         * langhooks.h (struct lang_hooks): Add expr_size.
15746         * explow.c (expr_size): Call it.
15747         * expr.c (store_expr): Don't copy an expression of size zero.
15748         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
15749         to store.
15750         * Makefile.in (builtins.o): Depend on langhooks.h.
15751
15752 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15753
15754         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
15755         * ra-debug.c: Include "tm_p.h".
15756         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
15757
15758 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
15759
15760         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
15761         when not honoring signalling NaNs.
15762         (simplify_ternary_operation): a == b has a definite value
15763         when not honoring NaNs.
15764
15765 2002-08-02  Jason Merrill  <jason@redhat.com>
15766
15767         * gdbinit.in (pct): New macro.
15768
15769 2002-08-01  Stan Shebs  <shebs@apple.com>
15770             Andreas Tobler  <toa@pop.agri.ch>
15771
15772         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
15773         plays nice with Darwin headers.
15774         (_BSD_RUNE_T_DEFINED_): Likewise.
15775
15776 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
15777
15778         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
15779         * cppinit.c (cpp_post_options): Likewise.
15780
15781         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
15782         warning about 'LL' suffix (but not 'ULL' etc) when
15783         -Wno-long-long is in effect.
15784
15785         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
15786         Check for failing time()/localtime(), issue a warning, and
15787         make __TIME__ and __DATE__ expand to fallback strings.
15788
15789         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
15790         and __TIME__ when the date and time cannot be determined.
15791
15792 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
15793
15794         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
15795
15796 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
15797
15798         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
15799
15800 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
15801
15802         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
15803         (mipsisa64sb1el-*-elf*): Likewise.
15804         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
15805         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
15806         (TARGET_SB1, TUNE_SB1): New macros.
15807         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
15808         -mtune flags.
15809
15810 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
15811
15812         * varasm.c (asm_emit_uninitialized): Return false if global BSS
15813         and ASM_EMIT_BSS not supported by target.
15814         (assemble_variable): Do not duplicate uninitialized logic.
15815         Fall through if asm_emit_uninitialized failed.
15816
15817 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
15818
15819         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
15820
15821 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
15822
15823         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
15824         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
15825
15826         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
15827         HOST_BITS_PER_WIDE_INT == 64.
15828
15829 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15830
15831         * df.c (df_insn_table_realloc): Change parameter to unsigned.
15832         * optabs.c (expand_binop): Make variable unsigned.
15833         * simplify-rtx.c (simplify_subreg): Likewise.
15834         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
15835
15836 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
15837
15838         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
15839
15840 2002-08-01  Richard Henderson  <rth@redhat.com>
15841
15842         * toplev.c (parse_options_and_default_flags): Don't set
15843         flag_reorder_blocks for -Os.
15844
15845         * config/avr/avr.c (avr_optimization_options): Remove.
15846         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
15847         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
15848         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
15849
15850 2002-08-01  H.J. Lu <hjl@gnu.org>
15851             Richard Henderson  <rth@redhat.com>
15852
15853         * output.h (DECL_READONLY_SECTION): Remove.
15854         (decl_readonly_section): Declare.
15855         * varasm.c (decl_readonly_section): New.
15856         (default_section_type_flags, default_select_section): Use it.
15857         * config/arm/pe.c (arm_pe_unique_section): Likewise.
15858         * config/i386/interix.c (i386_pe_unique_section): Likewise.
15859         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
15860         * config/mcore/mcore.c (mcore_unique_section): Likewise.
15861         * config/mips/mips.c (mips_unique_section): Likewise.
15862
15863 2002-08-01  Richard Henderson  <rth@redhat.com>
15864
15865         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
15866         refers to a subroutine parameter.
15867
15868 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
15869
15870         * varasm.c (assemble_visibility): Strip name encoding.
15871
15872 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
15873
15874         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
15875         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
15876         when there is no frame pointer.
15877         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
15878         registers properly.
15879         * config/ns32k/__unorddf2.c: New file.
15880         * config/ns32k/__unordsf2.c: New file.
15881         * config/ns32k/t-ns32k: New file.
15882         * config.gcc (ns32k-*-netbsd*): Use it.
15883
15884 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
15885
15886         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
15887
15888 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
15889
15890         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
15891
15892 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
15893
15894         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
15895
15896 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
15897
15898         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
15899
15900 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
15901
15902         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
15903         n_sets): Removed.
15904         (expr_hash_table, set_hash_table): Type changed to ...
15905         (struct hash_table): New type.
15906         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
15907         insert_expr_in_table, insert_set_in_table, compute_hash_table,
15908         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
15909         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
15910         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
15911         (alloc_hash_table): New.
15912         (free_set_hash_table, free_expr_hash_table): Merged to ...
15913         (free_hash_table): New.
15914         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
15915         (compute_hash_table_work): New.
15916         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
15917         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
15918         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
15919         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
15920         hoist_code, one_code_hoisting_pass,
15921         trim_ld_motion_mems): Altered due to changed type of hash tables.
15922
15923 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
15924
15925         * final.c (output_alternate_entry_point):
15926         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
15927
15928 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15929
15930         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
15931         avoid ISO C style function definition.
15932
15933         * expr.c (expand_assignment): Delete unused variable.
15934
15935 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
15936
15937         * c-common.c (cb_register_builtins): Set
15938         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
15939         is given, and to 0 otherwise.
15940         * combine.c (simplify_if_then_else): HONOR_NANS
15941         implies FLOAT_MODE_P.
15942
15943 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
15944
15945         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
15946         (cpp_handle_option): Don't handle it.
15947         (print_help): Update.
15948         * doc/cppopts.texi: Update.
15949
15950 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
15951
15952         * c-common.c (cb_register_builtins): If C++, define
15953         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
15954         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
15955 cp:
15956         * lang-specs.h: Simplify in accordance with new code in
15957         c-common.c.
15958
15959 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
15960
15961         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
15962         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
15963         * c-decl.c: Move all warning and flag variables to c-common.c.
15964         * c-format.c: Move all warning variables to c-common.c.
15965         * c-tree.h: Move all warning and flag declarations to c-common.h.
15966         * objc/objc-act.c: Move all warning variables to c-common.c.
15967         (flag_warn_protocol): Rename warn_protocol.
15968
15969 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15970
15971         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
15972
15973 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
15974
15975         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
15976         .section prefix.
15977
15978 2002-07-31  Stan Shebs  <shebs@apple.com>
15979
15980         * config.gcc (i[34567]86-*-darwin*): New configuration.
15981         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
15982         defining.
15983         (TARGET_ENCODE_SECTION_INFO): Ditto.
15984         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
15985         * config/darwin.c (machopic_indirect_data_reference): Remove
15986         setting of RTX_UNCHANGING_P.
15987         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
15988         not to be applied to sums.
15989         * config/i386/t-darwin: New file.
15990         * config/i386/darwin.h: New file.
15991         * config/i386/i386.h (TARGET_MACHO): Add default definition.
15992         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
15993         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
15994         label and not the GOT add.
15995         (constant_address_p): For Mach-O, seeing a CONST is enough.
15996         (legitimate_pic_address_disp_p): Add a Mach-O case.
15997         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
15998         (legitimize_pic_address): Use generic Mach-O code to legitimize.
15999         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
16000         if outputting a difference.
16001         (ix86_output_addr_diff_elt): Add Mach-O case.
16002         (ix86_expand_move): Similarly.
16003         (ix86_expand_call): Similarly.
16004         (current_machopic_label_num): New global.
16005         (machopic_output_stub): New function.
16006         (ix86_value_regno): New function.
16007         (ix86_function_value): Use it instead of VALUE_REGNO.
16008         (ix86_libcall_value): Ditto.
16009         * config/i386/unix.h (VALUE_REGNO): Remove.
16010
16011 2002-07-31  Graham Stott  <grahas@btinternet.com>
16012
16013         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
16014         hash for LABEL_REF's.
16015
16016 2002-07-31  Graham Stott  <grahams@btinternet.com>
16017
16018         * config/rs6000/rs6000.c (spe_init_builtins,
16019         altivec_init_builtins, rs6000_common_init_builtins):
16020         Replace ANSI with K&R function def.
16021
16022 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
16023
16024         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
16025         for CCFPmode.
16026
16027 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
16028
16029         * config/mips/crtn.asm: Don't use __mips16 to determine the
16030         return-address offset.  Define RA to a suitable temporary
16031         register for the return address.
16032
16033 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
16034
16035         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
16036         constraints to 'd'.
16037
16038 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
16039
16040         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
16041         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
16042         patch on 2002-07-29.)
16043         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
16044
16045 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16046
16047         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
16048         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
16049         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
16050         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
16051         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
16052         (ASM_GLOBALIZE_LABEL): Delete.
16053         (GLOBAL_ASM_OP): Define.
16054
16055         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
16056
16057         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
16058         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
16059
16060 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
16061
16062         * doc/extend.texi (Hints implementation): Document that GCC
16063         mostly ignores `register'.
16064
16065 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
16066
16067         * flags.h: Declare flag_finite_math_only.
16068         Use it in definition of HONOR_NANS and
16069         HONOR_INFINITIES.
16070         * c-common.c (cb_register_builtins): Emit
16071         __FINITE_MATH_ONLY__ when flag_finite_math_only
16072         is set.
16073         * combine.c (simplify_if_then_else): If
16074         flag_finite_math_only is set, a == b has a
16075         definite value.
16076         * toplev.c: Initialize flag_finite_math_only.
16077         (set_flags_fast_math): Set it on -ffast-math.
16078         (flag_fast_math_set_p): Test it.
16079         * doc/invoke.texi: Document -ffinite-math-only.
16080
16081 2002-07-30  Richard Henderson  <rth@redhat.com>
16082
16083         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
16084         (noce_process_if_block): Likewise.
16085
16086 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
16087
16088         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
16089         Bail out early if false_expr is NULL and we'd crash due to this.
16090         * genemit.c (gen_expand): Recognize return insns even if the return
16091         appears in a parallel.
16092         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
16093         * config/fp-bit.c: Likewise.
16094         * doc/tm.texi: Document it.
16095
16096 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
16097             Zack Weinberg  <zack@codesourcery.com>
16098
16099         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
16100         CODE_FOR_nothing.  Change switch to if.
16101         (rs6000_expand_binop_builtin): Same.
16102         (rs6000_expand_builtin): Expand builtin if target support enabled.
16103         (rs6000_init_builtins): Init builtin if target support enabled.
16104         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
16105
16106 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
16107
16108         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
16109
16110 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
16111
16112         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
16113
16114 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
16115
16116         * sh.md (cond_delay_slot): New attribute.
16117         (cbranch delay): Use it for anulled-true case.
16118         (stuff_delay_slot): New pattern.
16119         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
16120         delay slot insn.
16121         (gen_far_branch): Emit stuff_delay_slot pattern.
16122
16123 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
16124
16125         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
16126
16127 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
16128
16129         * fold-const.c: Fix comment typos.
16130         * gcse.c: Likewise.
16131         * reload1.c: Likewise.
16132
16133 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
16134
16135         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
16136         for TARGET_SPE.
16137
16138 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
16139
16140         * c-pretty-print.h (pp_c_statement): Declare.
16141         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
16142         (pp_c_statement): Define.
16143
16144 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16145
16146         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
16147         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
16148         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
16149         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
16150         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
16151         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
16152
16153         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
16154         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
16155
16156 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
16157
16158         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
16159         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
16160         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
16161         (pp_c_expression): Update.
16162
16163 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16164
16165         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
16166         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
16167         * alpha/vms-ld.c (main): Likewise.
16168         * dsp16xx.c (double_reg_to_memory): Likewise.
16169         * mcore.c (mcore_expand_prolog): Likewise.
16170         * cppfiles.c (read_name_map): Likewise.
16171         * gensupport.c (process_rtx, identify_predicable_attribute,
16172         alter_test_for_insn): Likewise.
16173         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
16174
16175 2002-07-29  Roger Sayle  <roger@eyesopen.com>
16176
16177         * builtins.c (expand_builtin):  Change the default behavior to
16178         only issue an error if the builtin function doesn't have a
16179         fallback library call.  Remove several cases handled by the
16180         new default.
16181
16182 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
16183
16184         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
16185         floating point format of the target is IEEE.
16186         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
16187         format of the target is DEC.
16188
16189 2002-07-29  Richard Henderson  <rth@redhat.com>
16190
16191         * unroll.c (verify_addresses): Remove.
16192         (find_splittable_givs): Never split DEST_ADDR givs.
16193
16194 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
16195
16196         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
16197         is exhaustive.
16198         (Files): Improve documentation on generated source files.
16199
16200         * doc/extend.texi (Translation implementation): Document what
16201         diagnostics look like.
16202         (Identifiers implementation): Document that there's normally no
16203         limit on identifier names.
16204         (Integers implementation): Document two's complement.
16205         (Hints implementation): Document that GCC honors 'inline', mostly.
16206         (Preprocessing directives implementation): Document that GCC
16207         requires the current time.
16208
16209 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
16210
16211         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
16212         (pp_initializer): New macro.
16213         (pp_c_initializer): Declare.
16214         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
16215         (pp_c_initializer): Define.
16216         (pp_c_initializer_list): New function.
16217         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
16218         VECTOR_CST, CONSTRUCTOR.
16219         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
16220         IMAGPART_EXPR.
16221         (pp_c_cast_expression): Handle FLOAT_EXPR.
16222         (pp_c_assignment_expression): Handle INIT_EXPR.
16223         (pp_c_expression): Update.
16224
16225 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
16226
16227         * objc/objc-act.c (objc_init): Return immediately if filename
16228         is NULL.
16229
16230 2002-07-29  Eric Christopher  <echristo@redhat.com>
16231
16232         * config/mips/elf.h: Remove ecoff.h and gofast includes.
16233         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
16234         (SDB_DEBUGGING_INFO): Undefine.
16235         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
16236         (PUT_SDB_SIZE): Remove.
16237         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
16238         (STARTFILE_SPEC): Add isa3264 define.
16239         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
16240         * config/mips/ecoff.h: Remove. and here...
16241         * config/mips/iris3.h: and here...
16242         * config/mips/sni-svr4.h: and here...
16243         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
16244         Add assembler -mmdebug options for non-dwarf debugging.
16245         * config/mips/r3900.h: Remove debug info defines.
16246         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
16247         * config/mips/isa3264.h: Ditto.
16248         * config/mips/t-isa3264: Fix up for file removal and gofast configure
16249         change.
16250         * config/mips/t-elf: Ditto.
16251         * config/mips/t-ecoff: Ditto.
16252         * config/mips/t-r3900: Ditto.
16253         * config/mips/t-iris5-6: Ditto.
16254         * config/mips/t-isa3264: Ditto.
16255         * config/mips/t-linux: Remove.
16256         * config/mips/t-netbsd: Remove.
16257         * config/mips/t-mips: New file.
16258         * config/mips/t-gofast: Ditto.
16259         * config/mips/netbsd.h: Remove unnecessary undefines.
16260         * config/mips/linux.h: Remove #include of mips.h.
16261         * config.gcc: Add mips.h include for elf targets. Remove tm_file
16262         for ecoff. Add gofast configure option for mips.
16263
16264 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
16265
16266         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
16267         linker scripts use STARTUP directives consistently.
16268         * configure: Regenerate.
16269         * config.in: Regenerate.
16270         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
16271         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
16272         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
16273         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
16274         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
16275         will be the same.
16276
16277 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
16278
16279         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
16280
16281 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
16282
16283         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
16284
16285 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
16286
16287         * config/rs6000/rs6000.md: Move altivec patterns from here...
16288
16289         * config/rs6000/altivec.md: ...to here.
16290
16291 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
16292
16293         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
16294
16295 2002-07-29  Richard Henderson  <rth@redhat.com>
16296
16297         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
16298         set_mem_attributes and add BITPOS argument.  Subtract it from
16299         OFFSET when same is adjusted.
16300         (set_mem_attributes): New wrapper function.
16301         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
16302         remove offset adjustment hack.
16303         * expr.h (set_mem_attributes_minus_bitpos): Declare.
16304
16305 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
16306
16307         * Makefile.in (C_OBJS): Include c-pretty-print.o
16308         (c-pretty-print.o): Add depency rule.
16309         * pretty-print.h: Add more macros.
16310         * c-pretty-print.c: New file.
16311         * c-pretty-print.h: Likewise.
16312
16313 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
16314
16315         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
16316         constants to __ev64_s32__.
16317         (__internal_ev_mwhgsmian): Same.
16318         (__internal_ev_mwhgsmfan): Same.
16319         (__internal_ev_mwhgssfan): Same.
16320         (__internal_ev_mwhgumiaa): Same.
16321         (__internal_ev_mwhgsmiaa): Same.
16322         (__internal_ev_mwhgsmfaa): Same.
16323         (__internal_ev_mwhgssfaa): Same.
16324
16325 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
16326
16327         * varasm.c (assemble_variable): Narrow test for uninitialized
16328         without BSS target support.
16329
16330 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
16331
16332         * profile.c: Add file comment describing the overall algorithm and
16333         structures.
16334         (struct edge_info): Add comments.
16335         (struct bb_info): Add comments.
16336         * basic-block.h (EDGE_*): Add comments.
16337         * doc/gcov.texi (Gcov Data Files): Document bit flags.
16338
16339 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
16340
16341         * config/xtensa/elf.h, config/xtensa/linux.h
16342         (TARGET_OS_CPP_BUILTINS): Define.
16343         (CPP_PREDEFINES): Remove.
16344         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
16345         (CPP_SPEC): Remove.
16346
16347 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
16348
16349         * gensupport.c: Include hashtab.h.
16350         (insn_elision, condition_table, hash_c_test, cmp_c_test,
16351         maybe_eval_c_test): New routines and data structures to
16352         support insn elision.
16353         (init_md_reader): Read and initialize the condition_table.
16354         (read_md_rtx): Discard insn patterns whose C test is provably
16355         always false.
16356         * gensupport.h: Declare new functions and data structures.
16357
16358         * genconditions.c, dummy-conditions.c: New files.
16359         * Makefile.in: Build genconditions; run it to construct
16360         insn-conditions.c; build that and link it into most gen*
16361         programs.
16362         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
16363         (GEN): Delete, unused.
16364         (STAGESTUFF): Update.
16365
16366         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
16367         CODE_FOR_nothing for all elided patterns.
16368         (main): Tweaked to support this.
16369         * genflags.c (gen_proto): Emit a static inline generator
16370         function here for all elided patterns, which simply returns
16371         NULL_RTX.
16372         (gen_insn): Do not define HAVE_xxx for elided patterns.
16373         (main): Tweaked to support this.  No need to forward-declare
16374         struct rtx_def.
16375         * genrecog.c: Do not bother emitting the C test if it's known
16376         to be true at compile time.
16377
16378 2002-07-29  Mike Stump  <mrs@apple.com>
16379
16380         * config.gcc (target_gtfiles): Initialize, as otherwise cross
16381         compilers hosted on powerpc-apple-darwin6.0 won't even build.
16382
16383 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
16384
16385         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
16386         remove clobber of LR.
16387         (sibcall_insn, sibcall_value_insn): Update accordingly.
16388         (sibcall_epilogue): Remove debugging comment from assembler stream.
16389
16390 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
16391
16392         * pretty-print.h: Define more macros.
16393         * diagnostic.h (output_formatted_integer): Moved from...
16394         * diagnostic.c: ... here.
16395
16396 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16397
16398         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
16399
16400 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
16401
16402         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
16403         arguments.  Always use ".-symbol" as expression argument.
16404         * doc/tm.texi: Update to match.  Document requirement for
16405         ".size symbol, .-symbol" to be acceptable to assembler.
16406
16407         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
16408         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
16409         config/i386/freebsd-aout.h, config/i386/sco5.h,
16410         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
16411         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
16412
16413 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16414
16415         * Makefile.in (gengtype-lex.c): Fix error in last change.
16416
16417         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
16418         backslash.
16419
16420         * Makefile.in (vmsdbgout.o): Depend on function.h.
16421
16422         * vmsdbgout.c: Include function.h.
16423
16424 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
16425
16426         * prefix.c (update_path): Don't strip single `.' path components
16427         unless stripping a later `..' component.  Exit loop as soon as
16428         a valid path is found.
16429
16430 2002-07-27  Roger Sayle  <roger@eyesopen.com>
16431
16432         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
16433         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
16434         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
16435         floating point unordered comparisons (e.g. __builtin_isgreater)
16436         as const, and leave the remaining GCC_BUILTINs unchanged.
16437
16438         * c-decl.c (builtin_function): No need to explicitly mark
16439         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
16440
16441 2002-07-27  Roger Sayle  <roger@eyesopen.com>
16442
16443         * Makefile.in: rtlanal.o now depends upon real.h.
16444
16445         * flags.h [flag_signaling_nans]: New flag.
16446         [HONOR_SNANS]: New macro.
16447
16448         * toplev.c [flag_signaling_nans]: Initialize to false.
16449         (f_options): Add processing for "-fsignaling-nans".
16450         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
16451         (process_options): flag_signaling_nans implies flag_trapping_math.
16452
16453         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
16454         when -fsignaling-nans.  First step to implementing WG14's N965.
16455
16456         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
16457         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
16458         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
16459
16460         * simplify-rtx.c (simplify_relational_operation): Conditionalize
16461         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
16462
16463         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
16464         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
16465         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
16466         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
16467         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
16468
16469         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
16470
16471 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16472
16473         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
16474         * gengtype-lex.l (YY_USE_PROTOS): Undef.
16475         (YY_DECL): Define.
16476
16477 2002-07-27  Roger Sayle  <roger@eyesopen.com>
16478
16479         * doc/invoke.texi: Document that both -fno-builtin-foo and
16480         -fno-builtin are supported by the g++ front-end.
16481
16482 2002-07-27  Stan Shebs  <shebs@apple.com>
16483
16484         * configure.in: Rename config_gtfiles to target_gtfiles.
16485         * configure: Regenerate.
16486         * doc/gty.texi: Update reference.
16487         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
16488         instead of appending to it.
16489
16490 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
16491
16492         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
16493         vectors are split into two registers.
16494         (function_arg): Same.
16495
16496 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
16497
16498         * pa.md (extv): Check predicates before emitting extv_32.
16499
16500 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
16501
16502         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
16503         (rs6000_traceback): New var.
16504         (rs6000_override_options): Set rs6000_traceback.
16505         (rs6000_output_function_epilogue): Implement traceback options.
16506         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
16507         (rs6000_traceback_name): Declare.
16508
16509         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
16510         label reference when NO_PROFILE_COUNTERS.
16511
16512 2002-07-26  Jason Merrill  <jason@redhat.com>
16513
16514         * function.c (assign_parms): Handle frontend-directed pass by
16515         invisible reference.
16516
16517 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
16518
16519         * doc/cppopts.texi: Update.
16520
16521 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
16522
16523         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
16524         warnings on assertions.
16525
16526 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
16527
16528         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
16529         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
16530         RID_COMPL): Remove.
16531         * c-parse.in (rid_to_yy): Similarly.
16532
16533 2002-07-26  Jason Merrill  <jason@redhat.com>
16534
16535         * c-dump.c: Resurrect.
16536         * tree-dump.c: Move C-specific stuff to c-dump.c.
16537         * c-common.h: Declare c_dump_tree.
16538         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
16539         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
16540         (c-dump.o): New rule.
16541
16542 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
16543
16544         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
16545         PowerPC64.  Replace "T" and "S" constraints with "n" when the
16546         predicate will do.  Formatting fixes.
16547         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
16548         as for extzvsi_internal1.
16549
16550 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
16551
16552         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
16553         DERIV_END_LABEL_FMT): Remove.
16554         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
16555
16556 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
16557
16558         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
16559         Remove.
16560
16561 2002-07-25  Stan Shebs  <shebs@apple.com>
16562
16563         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
16564         local var dwarfp.
16565         (output_compiler_stub): Remove unused locals.
16566         (output_call): Always initialize line number.
16567
16568 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
16569
16570         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
16571         * sh.md (truncdiqi2, movqi_media): Likewise.
16572
16573 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
16574
16575         * gcse.c (obstack_chunk_alloc): Remove.
16576         (gcse_alloc): Fix to count allocated bytes.
16577         * collect2.c (SYMBOL__MAIN): Remove.
16578
16579 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
16580
16581         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
16582         HAVE_TARGET_EXECUTABLE_SUFFIX.
16583
16584 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
16585
16586         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
16587         SIZE, EXPR and OFFSET.
16588
16589 2002-07-25  Richard Henderson  <rth@redhat.com>
16590
16591         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
16592         in ARRAY_REF of DECL_P case.
16593
16594 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
16595
16596         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
16597         description.  Document -mips32, -mips64, and the associated -march
16598         values.  Describe the "mipsN" arguments to -march.  Say that the
16599         -mipsN options are equivalent to -march.  Reword the description
16600         of default type sizes.
16601         * toplev.h (target_flags_explicit): Declare.
16602         * toplev.c (target_flags_explicit): New var.
16603         (set_target_switch): Update target_flags_explicit.
16604         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
16605         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
16606         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
16607         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
16608         * config/mips/mips.h (mips_cpu_info): New struct.
16609         (mips_cpu_string, mips_explicit_type_size_string): Remove.
16610         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
16611         (MIPS_CPP_SET_PROCESSOR): New macro.
16612         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
16613         Define _MIPS_ARCH and _MIPS_TUNE.
16614         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
16615         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
16616         MIPS_ISA_DEFAULT were already defined.
16617         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
16618         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
16619         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
16620         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
16621         (ABI_GAS_ASM_SPEC): Remove.
16622         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
16623         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
16624         Invoke %(asm_abi_default_spec) if no ABI was specified.
16625         (CC1_SPEC): Remove ISA -> register-size rules.
16626         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
16627         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
16628         (mips_cpu_string, mips_explicit_type_size_string): Remove.
16629         (mips_cpu_info_table): New array.
16630         (mips_set_architecture, mips_set_tune): New fns.
16631         (override_options): Rework to make -mipsN equivalent to -march.
16632         Detect more erroneous cases, including those removed from CC1_SPEC.
16633         Don't change the ABI based on architecture, or vice versa.
16634         Unify logic with GAS.
16635         (mips_asm_file_start): Get architecture name from mips_arch_info.
16636         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
16637         (mips_parse_cpu): Take the name of the option as argument.  Handle
16638         'from-abi'.  Raise an error if the option is wrong.
16639         (mips_cpu_info_from_isa): New fn.
16640
16641 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
16642
16643         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
16644         (tablejump_mips162): Likewise.
16645
16646 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
16647
16648         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
16649         int_mode_for_mode.
16650
16651 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
16652
16653         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
16654         complaining.
16655         * c-common.h (c_sizeof): Adjust definition.
16656         (c_alignof): Likewise.
16657         * c-tree.h (c_sizeof_nowarn): Now macro.
16658         * c-typeck.c (c_sizeof_nowarn): Remove definition.
16659
16660 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
16661
16662         * c-decl.c (c_decode_option): No need to handle switches
16663         cpplib handles.
16664
16665 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
16666
16667         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
16668         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
16669         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
16670         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
16671
16672         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
16673         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
16674         config/cris/aout.h, config/i386/freebsd-aout.h,
16675         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
16676         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
16677         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
16678         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
16679         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
16680         config/xtensa/elf.h, config/xtensa/linux.h:
16681         Use the new macros.
16682         Where possible, remove redundant definitions of SIZE_ASM_OP,
16683         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
16684
16685 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
16686
16687         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
16688         TARGET_ISEL, and TARGET_FPRS.
16689
16690         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
16691         -mabi=spe, -mabi=no-spe, and -misel=.
16692
16693         * config/rs6000/rs6000-protos.h: Add output_isel.
16694         Move vrsave_operation prototype here.
16695
16696         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
16697         (smaxsi3): Same.
16698         (uminsi3): Same.
16699         (umaxsi3): Same.
16700         (abssi2_nopower): Disallow when TARGET_ISEL.
16701         (*ne0): Same.
16702         (negsf2): Change to expand and rename old pattern to *negsf2.
16703         (abssf2): Change to expand and rename old pattern to *abssf2.
16704
16705         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
16706         fixunssfsi2.
16707
16708         Change patterns that check for TARGET_HARD_FLOAT or
16709         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
16710
16711         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
16712         rs6000_isel, rs6000_fprs, rs6000_isel_string.
16713         (rs6000_override_options): Add 8540 case to
16714         processor_target_table.
16715         Set rs6000_isel for the 8540.
16716         Call rs6000_parse_isel_option.
16717         (enable_mask_for_builtins): New.
16718         (rs6000_parse_isel_option): New.
16719         (rs6000_parse_abi_options): Add spe and no-spe.
16720         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
16721         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
16722         for TARGET_HARD_FLOAT.
16723         Add case for SPE_VECTOR_MODE.
16724         (rs6000_legitimize_reload_address): Handle SPE vector modes.
16725         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
16726         vector modes.
16727         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
16728         (rs6000_emit_move): Check for TARGET_FPRS.
16729         Add cases for SPE vector modes.
16730         (function_arg_boundary): Return 64 for SPE vector modes.
16731         (function_arg_advance): Check for TARGET_FPRS and
16732         Handle SPE vectors.
16733         (function_arg): Same.
16734         (setup_incoming_varargs): Check for TARGET_FPRS.
16735         (rs6000_va_arg): Same.
16736         (struct builtin_description): Un-constify mask field.  Move up in
16737         file.
16738         (bdesc_2arg): Un-constify and add SPE builtins.
16739         (bdesc_1arg): Same.
16740         (bdesc_spe_predicates): New.
16741         (bdesc_spe_evsel): New.
16742         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
16743         (rs6000_expand_binop_builtin): Same.
16744         (bdesc_2arg_spe): New.
16745         (spe_expand_builtin): New.
16746         (spe_expand_predicate_builtin): New.
16747         (spe_expand_evsel_builtin): New.
16748         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
16749         (rs6000_init_builtins): Initialize SPE builtins.  Call
16750         rs6000_common_init_builtins.
16751         (altivec_init_builtins): Move all non-altivec builtin code to...
16752         (rs6000_common_init_builtins): ...here.  New function.
16753         (branch_positive_comparison_operator): Allow NE code for SPE.
16754         (ccr_bit): Return correct ccr bit for SPE fp.
16755         (print_operand): Emit crnor in 'D' case for SPE.
16756         New case 't'.
16757         Add SPE code for 'y' case.
16758         (rs6000_generate_compare): Generate rtl for SPE fp.
16759         (output_cbranch): Handle SPE hard floats.
16760         (rs6000_emit_cmove): Handle isel.
16761         (rs6000_emit_int_cmove): New.
16762         (output_isel): New.
16763         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
16764         64-bits for SPE.
16765         (debug_stack_info): Add SPE info.
16766         (gen_frame_mem_offset): New.
16767         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
16768         Change mode of frame pointer, when saving it, to Pmode.
16769         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
16770         Misc cleanups and use gen_frame_mem_offset when appropriate.
16771
16772         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
16773         (TARGET_SPE_ABI): New.
16774         (TARGET_SPE): New.
16775         (TARGET_ISEL): New.
16776         (TARGET_FPRS): New.
16777         (FIXED_SCRATCH): New.
16778         (RTX_COSTS): Add PROCESSOR_PPC8540.
16779         (ASM_CPU_SPEC): Add case for 8540.
16780         (TARGET_OPTIONS): Add isel= case.
16781         (rs6000_spe_abi): New.
16782         (rs6000_isel): New.
16783         (rs6000_fprs): New.
16784         (rs6000_isel_string): New.
16785         (UNITS_PER_SPE_WORD): New.
16786         (LOCAL_ALIGNMENT): Adjust for SPE.
16787         (HARD_REGNO_MODE_OK): Same.
16788         (DATA_ALIGNMENT): Same.
16789         (MEMBER_TYPE_FORCES_BLK): New.
16790         (FIRST_PSEUDO_REGISTER): Set to 113.
16791         (FIXED_REGISTERS): Add SPE registers.
16792         (reg_class): Same.
16793         (REG_CLASS_NAMES): Same.
16794         (REG_CLASS_CONTENTS): Same.
16795         (REGNO_REG_CLASS): Same.
16796         (REGISTER_NAMES): Same.
16797         (DEBUG_REGISTER_NAMES): Same.
16798         (ADDITIONAL_REGISTER_NAMES): Same.
16799         (CALL_USED_REGISTERS): Same.
16800         (CALL_REALLY_USED_REGISTERS): Same.
16801         (SPE_ACC_REGNO): New.
16802         (SPEFSCR_REGNO): New.
16803         (SPE_SIMD_REGNO_P): New.
16804         (HARD_REGNO_NREGS): Adjust for SPE.
16805         (VECTOR_MODE_SUPPORTED_P): Same.
16806         (REGNO_REG_CLASS): Same.
16807         (FUNCTION_VALUE): Same.
16808         (LIBCALL_VALUE): Same.
16809         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
16810         (SPE_VECTOR_MODE): New.
16811         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
16812         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
16813         (rs6000_stack): Add spe_gp_size, spe_padding_size,
16814         spe_gp_save_offset.
16815         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
16816         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
16817         (SPE_CONST_OFFSET_OK): New.
16818         (rs6000_builtins): Add SPE builtins.
16819
16820         * testsuite/gcc.dg/ppc-spe.c: New.
16821
16822         * config/rs6000/eabispe.h: New.
16823
16824         * config/rs6000/spe.h: New.
16825
16826         * config/rs600/spe.md: New.
16827
16828         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
16829         __SIMD__ for TARGET_SPE.
16830
16831         * config.gcc: Add powerpc-*-eabispe* case.
16832         Add spe.h to user headers for powerpc.
16833
16834 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
16835
16836         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
16837         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
16838         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
16839
16840 2002-07-24  Richard Henderson  <rth@redhat.com>
16841
16842         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
16843         form when not optimizing.
16844
16845 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
16846
16847         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
16848         thread_pointer_rtx as unchanging.
16849
16850 2002-07-24  Michael Matz  <matz@suse.de>
16851
16852         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
16853         (free_reg): Use it.
16854
16855 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
16856
16857         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
16858         pattern.
16859         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
16860         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
16861
16862 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
16863
16864         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
16865         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
16866         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
16867
16868 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
16869
16870         * toplev.c (rest_of_compilation): Dump loops before clobbering
16871         the structure.
16872
16873 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
16874
16875         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
16876
16877 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
16878
16879         PR optimization/7291
16880         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
16881         problem on x86_64.
16882
16883 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
16884
16885         * pretty-print.h: Add macros from cp/error.c
16886
16887 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
16888
16889         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
16890         (mask64_2_operand): Declare.
16891         (build_mask64_2_operands): Declare.
16892         (and64_2_operand): Declare.
16893         (extract_MB): Declare.
16894         (extract_ME): Declare.
16895         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
16896         CONST_DOUBLE code.
16897         (mask_operand_wrap): New insn predicate.
16898         (mask64_2_operand): Likewise.
16899         (and64_2_operand): Likewise.
16900         (build_mask64_2_operands): New function.
16901         (extract_MB): New function.
16902         (extract_ME): New function.
16903         (print_operand <case m,M>): Use extract_MB and extract_ME.
16904         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
16905         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
16906         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
16907         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
16908         * config/rs6000/rs6000.md (andsi3_internal3): New
16909         (andsi3_internal3+1): Enable split for powerpc64.
16910         (andsi3_internal3+2): New split.
16911         (andsi3_internal4): Renamed old andsi3_internal3.
16912         (andsi3_internal5): New.
16913         (andsi3_internal5+1): Enable split for powerpc64.
16914         (andsi3_internal5+2): New split.
16915         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
16916         (anddi3): Handle 't' constraint.
16917         (anddi3+1): New split.
16918         (anddi3_internal2): Handle 't' constraint.
16919         (anddi3_internal2+1): New split.
16920         (anddi3_internal3): Handle 't' constraint.
16921         (anddi3_internal3+1): New split.
16922
16923 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
16924
16925         * config/rs6000/rs6000.md: Remove scratch reg on insns using
16926         addze and similar (plus (comparison r1 r2) r3) insns.  Add
16927         missing scratch reg in one case.  Formatting fixes.
16928
16929 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
16930
16931         * cppexp.c (parse_defined): Mark macro used.
16932         * cpphash.h (struct cpp_macro): New member "used".
16933         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
16934         (struct cpp_reader): New member.
16935         * cppinit.c (cpp_finish_options): Set first_unused_line.
16936         (cpp_finish): Warn of unused macros if requested.
16937         (OPT_TABLE): New switches.
16938         (cpp_handle_option): Handle them.
16939         * cpplib.c (do_undef): Warn if macro unused.
16940         (do_ifdef, do_ifndef): Mark macro used.
16941         * cpplib.h (struct cpp_options): New member.
16942         * cppmacro.c (_cpp_warn_if_unused_macro): New.
16943         (enter_macro_context): Mark macro used.
16944         (_cpp_create_definition): Mark macro unused; warn if unused
16945         when redefined.
16946         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
16947         Mark macros used.
16948         * doc/cppopts.texi: Update.
16949
16950 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
16951
16952         * dwarf2out.c (SECTION_ASM_OP,
16953         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
16954         * system.h (SECTION_ASM_OP): Poison.
16955         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
16956         * config/alpha/alpha-interix.h, config/mips/linux.h
16957         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
16958         * config/mmix/mmix-protos.h, config/mmix/mmix.c
16959         (mmix_asm_output_define_label_difference_symbol): Remove.
16960         * config/mmix/mmix.h
16961         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
16962         * doc/tm.texi: Remove documentation.
16963
16964 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
16965
16966         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
16967         (constrain_operands): Likewise.
16968         * regclass.c (record_reg_classes): Likewise.
16969         * reload.c (find_reloads): Likewise.
16970         * doc/md.texi: Likewise.
16971
16972         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
16973         * simplify-rtx.c (simplify_subreg): When converting to a non-int
16974         mode, try to convert to an integer mode of matching size first.
16975
16976         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
16977         from individual subregs, check that each subreg has been generated
16978         sucessfully.
16979
16980 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
16981
16982         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
16983         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
16984         FOR_EACH_BB_IN_SBITMAP): Remove.
16985         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
16986         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
16987         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
16988         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
16989         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
16990         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
16991
16992 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
16993
16994         * pretty-print.h: New file.
16995
16996 2002-07-23      Paul Koning     <pkoning@equallogic.com>
16997
16998         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
16999         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
17000         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
17001         (TARGET_G_FLOAT): Default to 0 if not defined.
17002         (ieeetoe): New, common routine to convert target format floats
17003         to internal form.
17004         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
17005         vs. others.
17006         (e113toe): Change to use ieeetoe.
17007
17008 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
17009
17010         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
17011         IBM.
17012         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
17013         (e64toe): Remove special cases for DEC and IBM. Remove support for
17014         ARM_EXTENDED_IEEE_FORMAT.
17015         (e24toe): Remove special cases for DEC.
17016         (significand_size): Simplify. Indent.
17017         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
17018         (etoieee, toieee): New.
17019         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
17020         etoieee and toieee for IEEE arithmetic.
17021
17022 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
17023
17024         * doc/extend.texi: Say ISO C90, not ISO C89.
17025         * doc/invoke.texi: Likewise.
17026         * doc/standards.texi: Likewise.
17027
17028 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
17029
17030         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
17031         Fix permutation of conversion and plus/mult.
17032         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
17033         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
17034         (expand_builtin_strncpy) Ditto.
17035         (expand_builtin_memset) Ditto.
17036
17037 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
17038
17039         Fix PR/7363:
17040         * c-common.c (c_sizeof_or_alignof_type): New function.
17041         (c_alignof): Remove definition.
17042         * c-common.h (c_sizeof, c_alignof): Define as macros.
17043         (c_sizeof_or_alignof_type): Declare.
17044         (my_friendly_assert): Moved from cp/cp-tree.h
17045         * c-typeck.c (c_sizeof): Remove definition.
17046
17047 2002-07-23  Jan Hubicka  <jh@suse.cz>
17048
17049         * gcse.c (try_replace_reg): Use num_changes_pending.
17050         * recog.c (num_changes_pending): New function.
17051         (validate_replace_src): Use validate_repalce_src_group.
17052         (validate_replace_src_group): New.
17053         * recog.h (validate_repalce_src_group): New.
17054         (num_changes_pending): Likewise.
17055
17056 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
17057
17058         * calls.c (emit_library_call_value_1): If
17059         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
17060         libcall, const call nor pure call.
17061
17062 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
17063
17064         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
17065
17066 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
17067
17068         * vmsdbgout.c (SECTION_ASM_OP): Remove.
17069
17070 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
17071
17072         * config/i386/i386.c (AT_BP): Remove.
17073
17074 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
17075
17076         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
17077         Default definition.
17078         * gcse.c: Don't define obstack_chunk_free.
17079         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
17080         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
17081         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
17082         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
17083         Don't define obstack macros.
17084
17085 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
17086
17087         PR target/6744
17088         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
17089         ASM_OPERANDS instructions.
17090
17091 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
17092
17093         PR target/7361
17094         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
17095         constant addresses only on 68HC12.
17096
17097 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
17098
17099         * cppfiles.c (stack_include_file): Correct test of whether
17100         a dependency should be output.
17101
17102 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
17103
17104         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
17105
17106 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
17107
17108         * arm.md (movqi): If optimizing and we can create pseudos, use
17109         a ZERO_EXTEND to load from memory, then copy the result into the
17110         target.
17111         (movhi): Likewise, but only for ARMv4.
17112
17113 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
17114
17115         * ssa-ccp.c (PHI_PARMS): Remove.
17116
17117 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
17118
17119         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
17120         on big-endian targets.
17121
17122 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17123
17124         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
17125         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
17126         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
17127         New formatting macros.
17128
17129         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
17130
17131 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
17132
17133         * rtlanal.c (subreg_regno_offset): Return correct offset for
17134         big endian paradoxical subregs.
17135
17136         * optabs.c (expand_vector_unop): Don't expand using sub_optab
17137         if we got the wrong mode.
17138
17139         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
17140         * genrecog.c (write_switch, write_cond): Use it.
17141         * genemit.c (gen_exp): Likewise.
17142
17143 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
17144
17145         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
17146
17147 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
17148
17149         * c-decl.c (build_compound_literal): Defer compound literal decls
17150         until until file end to emit them only if they are actually used.
17151
17152 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17153
17154         * ra-build.c (check_conflict_numbers): Hide unused function.
17155         (livethrough_conflicts_bb): Avoid automatic aggregate
17156         initialization.
17157         (parts_to_webs_1): Avoid `U' integer constant modifier.
17158         (conflicts_between_webs): Wrap a variable in the macro controlling
17159         its usage.
17160         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
17161         (dump_igraph, dump_graph_cost): Avoid string concatenation
17162         (dump_static_insn_cost): Avoid automatic aggregate
17163         initialization.
17164         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
17165         initialization.
17166         (dump_cost): Avoid string concatenation
17167
17168 2002-07-21  Richard Henderson  <rth@redhat.com>
17169
17170         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
17171         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
17172
17173 2002-07-21  Richard Henderson  <rth@redhat.com>
17174
17175         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
17176         that are not unrolled completely.
17177
17178 2002-07-21  Richard Henderson  <rth@redhat.com>
17179
17180         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
17181         * loop.c (strength_reduce): Update.
17182         * toplev.c (rest_of_compilation): Do unrolling in the first
17183         loop pass, not the second.
17184
17185 2002-07-21  Richard Henderson  <rth@redhat.com>
17186
17187         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
17188         when flag_argument_noalias == 2.
17189         * alias.c (nonoverlapping_memrefs_p): Handle that.
17190         * print-rtl.c (print_mem_expr): Likewise.
17191
17192 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
17193
17194         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
17195         instead of __negdi2 directly.
17196
17197 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
17198
17199         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
17200         * function.c (SYMBOL__MAIN): Remove definition.
17201         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
17202         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
17203         * profile.c (GCOV_INDEX_TO_BB): Remove.
17204         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
17205         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
17206
17207 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
17208
17209         * c-lex.c (GET_ENVIRONMENT): Remove.
17210         * collect2.c (GET_ENV_PATH_LIST): Remove.
17211         (prefix_from_env): Use GET_ENVIRONMENT.
17212         * cppinit.c (GET_ENV_PATH_LIST): Remove.
17213         (init_standard_includes): Use GET_ENVIRONMENT.
17214         * defaults.h (GET_ENVIRONMENT): Define here if not already.
17215         * gcc.c (GET_ENV_PATH_LIST): Remove.
17216         (make_relative_prefix, process_command): Update.
17217         * protoize.c (GET_ENV_PATH_LIST): Remove.
17218         (do_processing): Update.
17219
17220 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
17221
17222         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
17223         (grokdeclarator): Likewise.
17224         * c-format.c (C_STD_NAME): Likewise.
17225         * c-lex.c (interpret_integer): Likewise.
17226         * c-typeck.c (build_array_ref): Likewise.
17227         * cpplex.c (_cpp_lex_direct): Likewise.
17228         * toplev.c (documented_lang_options): Likewise.
17229
17230 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
17231
17232         * c-format.c (T99_I, T99_UI): Remove.
17233
17234 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
17235
17236         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
17237
17238 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
17239
17240         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
17241         do_local_cprop.
17242
17243 2002-07-21  Andreas Jaeger  <aj@suse.de>
17244
17245         * reload1.c (fixup_abnormal_edges): Remove unused variable.
17246
17247 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
17248
17249         Improvements for the ifcvt pass from Michael Meissner, with patches
17250         by Richard Sandiford <rsandifo@redhat.com>
17251         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
17252         * ifcvt.c (cond_exec_changed_p): New static variable.
17253         (last_active_insn): New function, renamed from last_active_insn_p
17254         and changed to return the last active insn in a basic block. All
17255         callers updated.
17256         (block_fallthru): New function.
17257         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
17258         IFCVT_MODIFY_INSN.  All callers updated.
17259         Return false if START or END are NULL.
17260         Handle case where we're processing an insn that is already
17261         conditional.
17262
17263         (noce_process_if_block): CE_INFO argument rather than
17264         multiple args containing the involved basic blocks.  All callers
17265         changed.
17266         (process_if_block, merge_if_block, find_if_block,
17267         cond_exec_process_if_block): Likewise.
17268
17269         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
17270         changed.
17271         Use new function last_active_insn to simplify some code.
17272         New code to handle multiple tests.
17273         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
17274         cond_exec_changed_p to TRUE.
17275
17276         (process_if_block): New code to handle multiple tests.
17277         (merge_if_block): Likewise.
17278         (find_if_header): New arg PASS.  Changed to return the currently
17279         processed basic block or NULL instead of true/false. All callers
17280         changed.
17281         Call IFCVT_INIT_EXTRA_FIELDS.
17282         (block_jumps_and_fallthru_p): New function.
17283         (find_if_block): Discover opportunities to convert multiple tests.
17284         Add additional debugging output.
17285         Update the ce_info structure before returning.
17286
17287         (if_convert): Run multiple passes of if-conversion.
17288         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
17289         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
17290         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
17291         these macros.
17292
17293 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
17294
17295         * gcse.c: Include cselib.h
17296         (constptop_register): Break out from ...
17297         (cprop_insn): ... here; kill basic_block argument.
17298         (do_local_cprop, local_cprop_pass): New functions.
17299         (one_cprop_pass): Call local_cprop_pass.
17300
17301 2002-07-20  Roger Sayle  <roger@eyesopen.com>
17302
17303         * simplify-rtx.c (simplify_relational_operation): Optimize
17304         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
17305
17306 2002-07-20  Michae Matz  <matz@suse.de>
17307
17308         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
17309
17310 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
17311
17312         * cppexp.c (struct op): Add token pointer.
17313         (check_promotion, CHECK_PROMOTION): New.
17314         (optab): Update.
17315         (_cpp_parse_expr): Update, use token pointer of struct op.
17316         (reduce): Warn about change of sign owing to promotion.
17317         * cppinit.c (cpp_handle_option): New warning if -Wall.
17318         * cpplib.h (struct cpp_options): New member.
17319
17320 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
17321
17322         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
17323         fpu list.  Separate Power4 compare and delayed_compare.  Correct
17324         Power4 fpcompare.
17325         (fix_truncdfsi2_internal): Restore FPR preference.
17326         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
17327         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
17328
17329 2002-07-19  Momchil Velikov <velco@fadata.bg>
17330
17331         * reload1.c (reload_as_needed): Duplicate oldpat.
17332
17333 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
17334
17335         PR optimization/7130
17336         * loop.h (struct loop_info): Add "preconditioned".
17337         * unroll.c (unroll_loop): Set it.
17338         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
17339
17340 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
17341
17342         * rtl.def (CODE_LABEL): Remove slot 8.
17343         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
17344         (LABEL_ALTERNATE_NAME): Delete.
17345         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
17346         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
17347
17348         * final.c (output_alternate_entry_point): New.
17349         (final_scan_insn): Use it instead of
17350         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
17351         of a case label being an alternate entry point.
17352
17353         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
17354         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
17355         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
17356         (field deleted).
17357         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
17358
17359         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
17360         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
17361         * doc/tm.texi: Delete documentation of
17362         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
17363
17364 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
17365
17366         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
17367         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
17368         (LINK_SPEC): Define.
17369         (STARTFILE_SPEC): Define.
17370         (ENDFILE_SPEC): Define.
17371
17372         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
17373         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
17374
17375         * config/mips/iris6-o32-gas.h: New file.
17376         * config.gcc (mips-sgi-irix6*o32): Use it.
17377
17378         * config/mips/t-iris5-gas: New file.
17379         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
17380
17381 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
17382
17383         * cppexp.c (ALWAYS_EVAL): Remove.
17384         (optab, reduce): Always evaluate.
17385         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
17386         only if not skipping evaluation.
17387
17388 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
17389
17390         * config/avr/avr.c (debug_hard_reg_set): Remove.
17391
17392 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
17393
17394         * gcc.c (cpp_options): Include "%1" (cc1_spec).
17395
17396 2002-07-19  Richard Henderson  <rth@redhat.com>
17397
17398         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
17399
17400 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
17401
17402         * prefix.c (update_path): Don't zap single `.' path components
17403         unless followed by another `.' and fix typo last patch.
17404
17405 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
17406
17407         * cppexp.c (cpp_num_mul): Remove unused parameter.
17408         (UNARY, BINARY, OTHER, binary_handler): Remove.
17409         (ALWAYS_EVAL): New.
17410         (optab): Update.
17411         (reduce): Refactor to a large switch, don't use a function
17412         pointer.
17413
17414 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
17415
17416         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
17417
17418 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
17419
17420         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
17421         (sh_expand_binop_v2sf): Likewise.
17422         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
17423         (int_gpr_dest, trunc_hi_operand): New functions.
17424         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
17425         trunc_hi_operand.
17426         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
17427         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
17428         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
17429         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
17430         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
17431         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
17432         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
17433         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
17434         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
17435         (movsf_ie+1): Likewise.
17436         (loaddi_trunc): Use int_gpr_dest predicate.
17437         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
17438         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
17439         (casesi_worker_0+[12], casesi_worker): Likewise.
17440         (shcompact_preserve_incoming_args): Likewise.
17441         (mov_nop): Use any_register_operand predicate.
17442         (mperm_w0): Use trunc_hi_operand predicate.
17443
17444 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17445
17446         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
17447         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
17448         numbering.
17449
17450 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17451
17452         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
17453
17454 2002-07-18  Richard Henderson  <rth@redhat.com>
17455
17456         PR optimization/7147
17457         * ifcvt.c (noce_get_condition): Make certain that the condition
17458         is valid at JUMP.
17459
17460 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
17461
17462         * sh.c (barrier_align, push): Shut up compiler warnings.
17463         (initial_elimination_offset,sh_media_init_builtins): Likewise.
17464         (reg_no_subreg_operand): Delete.
17465
17466 2002-07-17  Bo Thorsen  <bo@suse.de>
17467
17468         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
17469         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
17470         (STARTFILE_SPEC): Remove hardcoded library paths.
17471         (ENDFILE_SPEC): Likewise.
17472
17473 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
17474
17475         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
17476
17477         * gcse.c (try_replace_reg): Do not return false positives.
17478
17479 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
17480
17481         * prefix.c: (update_path): Strip ".." components when prior dir
17482         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
17483
17484         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
17485         (ASM_OUTPUT_REG_POP): Likewise.
17486
17487 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
17488
17489         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
17490         adjustments to first_reg for profiling case.
17491         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
17492         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
17493         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
17494         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
17495         (ASM_OUTPUT_REG_POP): Define.
17496         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
17497         (ASM_OUTPUT_REG_POP): Undef.
17498
17499 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
17500
17501         * cpplib.c (do_sccs): Handle #sccs on all systems.
17502         * system.h (SCCS_DIRECTIVE): Poison.
17503         * config/darwin.h, config/freebsd.h, config/netbsd.h,
17504         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
17505         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
17506         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
17507         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
17508         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
17509         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
17510         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
17511         Remove all references to SCCS_DIRECTIVE.
17512         * doc/cpp.texi, doc/tm.texi: Update.
17513
17514 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
17515
17516         * regrename.c (maybe_mode_change): New function.
17517         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
17518
17519 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
17520
17521         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
17522         suppress addition when either ct or cf are zero.
17523
17524 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
17525             Glen Nakamura <glen@imodulo.com>
17526
17527         PR optimization/6713
17528         * loop.c (loop_givs_rescan): Explicitly delete the insn that
17529         sets a non-replaceable giv after issuing the new one.
17530
17531 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
17532
17533         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
17534         eval_token): Clarify and correct use of "bool" variables.
17535         * cpplib.h (struct cpp_options): Similarly.
17536         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
17537         * cpptrad.c (recursive_macro): Similarly.
17538
17539 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
17540
17541         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
17542         SHmedia code.
17543
17544         * sh.md (cmpgtudi_media): Remove spurious @.
17545
17546         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
17547         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
17548
17549         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
17550         * sh-protos.h (sh_initialize_trampoline): Declare.
17551         * sh.c (sh_initialize_trampoline): New function.
17552         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
17553         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
17554         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
17555         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
17556         * sh.md (initialize_trampoline, double_shori): New patterns.
17557         (initialize_trampoline_compact): Likewise.
17558         (shmedia32_initialize_trampoline_big): Remove.
17559         (shmedia32_initialize_trampoline_little): Likewise.
17560
17561         * sh-protos.h (binary_float_operator): Remove declaration.
17562         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
17563         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
17564         (unary_float_operator, sh_expand_unop_v2sf): New functions.
17565         (sh_expand_binop_v2sf): Likewise.
17566         (zero_vec_operand): Delete.
17567         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
17568         all non-shared ones.
17569         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
17570         Enable nsb and byterev.
17571         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
17572         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
17573         in general regs.
17574         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
17575         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
17576         immediate operands.
17577         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
17578         Add DF_HI_REGS.
17579         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
17580         lowpart fp regs - only for big endian for now.
17581         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
17582         when FPU is in use.
17583         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
17584         (LOAD_EXTEND_OP): NIL for SImode.
17585         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
17586         general and fp registers is 4.
17587         PREDICATE_CODES: Amend binary_float_operator entry.
17588         Remove zero_vec_operand.  Add unary_float_operator.
17589         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
17590         subreg SET_DEST.
17591         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
17592         (truncdiqi2): Do sign extension.
17593         (movsi_media, movdi_media): Allow to use r63 to an fp register.
17594         (movdf_media, movsf_media): Likewise.
17595         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
17596         Collapse to one define_insn_and_split.  Allow immediate sources.
17597         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
17598         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
17599         (movv4sf): Allow immediate sources.
17600         (movsf_media_nofpu+1): Don't split moves to FP registers.
17601         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
17602         (movv8qi_i+3): Check against CONST0_RTX.
17603         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
17604         for input and output operands.  Fix argument 3 to gen_mextr_rl.
17605         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
17606         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
17607         (mshf0_w, fipr, ftrv): Likewise.
17608         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
17609
17610 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
17611
17612         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
17613         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
17614         * arm.c: Similarly.
17615
17616 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
17617
17618         * config/mips/mips-protos.h (mips_sign_extend): Declare.
17619         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
17620         (TARGET_SWITCHES): Remove debugh.
17621         (ISA_HAS_TRUNC_W): New macro.
17622         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
17623         (PREDICATE_CODES): Remove se_nonimmediate_operand.
17624         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
17625         any SImode move_operand.
17626         (se_nonimmediate_operand): Remove.
17627         (mips_sign_extend): New.
17628         (mips_move_2words): Use it for sign-extended source operands.
17629         (override_options): Allow integers to be put into single FPRs.
17630         (mips_secondary_reload_class): Handle integers in float registers.
17631         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
17632         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
17633         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
17634         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
17635         (fix_truncdfdi2): Provide only a single alternative, in which the
17636         integer is in a float register.  Depend on TARGET_FLOAT64 rather
17637         than TARGET_64BIT.
17638         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
17639         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
17640         (movdi_internal2): Don't allow the source operand to be sign-extended.
17641         Add alternatives for float registers.
17642         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
17643         allows sign-extension.
17644         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
17645         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
17646         float registers.  Remove TARGET_DEBUG_H_MODE test.
17647         (movhi_internal1): Rename to movhi_internal.  Don't check
17648         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
17649         (movqi_internal1): Rename to movqi_internal and remove
17650         TARGET_DEBUG_H_MODE dependency.
17651         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
17652
17653 2002-07-16  Jim Wilson  <wilson@redhat.com>
17654
17655         * toplev.c (lang_dependent_init): Create function context for
17656         init_expr_once.
17657
17658 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
17659
17660         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
17661         --gc-sections if -r.
17662         * config/cris/cris.h: Ditto.
17663
17664 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
17665
17666         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
17667         the comparison directly gives a mask suppress addition when cf is
17668         zero by complementing the mask.
17669
17670 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
17671
17672         * Makefile.in: Delete references to enquire.
17673         * enquire.c: Move to contrib.
17674
17675 2002-07-16  Stan Shebs  <shebs@apple.com>
17676
17677         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
17678         config/rs6000/darwin.h.
17679         (ASM_OUTPUT_SKIP): Ditto.
17680         (TEXT_SECTION_ASM_OP): Ditto.
17681         (DATA_SECTION_ASM_OP): Ditto.
17682         (ASM_APP_ON): Define.
17683         (ASM_APP_OFF): Define.
17684         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
17685         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
17686
17687         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
17688         (machopic_function_base_name): Declare result to be const.
17689         (machopic_non_lazy_ptr_name): Ditto.
17690         (machopic_stub_name): Ditto.
17691         * config/darwin-protos.h: Ditto for the prototypes.
17692
17693 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
17694
17695         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
17696
17697 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
17698
17699         * i386.md (prefetch): Fix for 64bit mode.
17700         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
17701
17702 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
17703
17704         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
17705         * i386.c (x86_machine_dependent_reorg): New function.
17706         * i386-protos.h (x86_machine_dependent_reorg): Declare.
17707
17708 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
17709
17710         * builtins.c (std_expand_builtin_va_start): Remove unused
17711         first argument.
17712         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
17713         std_expand_builtin_va_start with just two arguments.
17714         * expr.h: Update prototypes.
17715
17716         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
17717         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
17718         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
17719         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
17720         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
17721         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
17722         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
17723         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
17724         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
17725         argument from all implementations of EXPAND_BUILTIN_VA_START
17726         and all uses of std_expand_builtin_va_start.
17727
17728 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
17729
17730         * regrename.c (copy_value): Don't record high part copies.
17731
17732 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
17733
17734         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
17735         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
17736         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
17737
17738 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
17739
17740         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
17741
17742         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
17743         into addsi3 using register class "x" and "y".
17744
17745         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
17746         "earlyclobber" constraint modifier for some alternative.
17747
17748         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
17749         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
17750         unordered.
17751         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
17752
17753         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
17754         (TARGET_SWITCHES): Add -mieee-compare option.
17755         (OVERRIDE_OPTIONS): 32332 is a subset of
17756         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
17757         (TARGET_SWITCHES): Fix description of bitfield option.
17758         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
17759         -mieee-compare option. Remove 32332 flag.
17760
17761 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
17762
17763         * explow.c (convert_memory_address): Remove special handling
17764         when POINTERS_EXTEND_UNSIGNED < 0.
17765         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
17766         (movedi_symbolic): Fix typo.
17767         (load_fptr): Remove mode restriction so it works for SI and DI.
17768         (load_fptr_internal1): Ditto.
17769         (load_gprel): Ditto.
17770         (load_symptr_internal1): Ditto.
17771         (call_pic): Ditto.
17772         * config/ia64.c (call_operand): Modify mode check.
17773         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
17774         (ia64_expand_move): Ditto.
17775         (ia64_assemble_integer): Handle SImode function pointers.
17776         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
17777         (ia64_expand_op_and_fetch): Ditto.
17778         (ia64_expand_compare_and_swap): Ditto.
17779         (ia64_expand_lock_test_and_set): Ditto.
17780         (ia64_expand_lock_release): Ditto.
17781
17782 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
17783
17784         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
17785
17786 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
17787             Richard Earnshaw  <rearnsha@arm.com>
17788
17789         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
17790         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
17791
17792 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
17793
17794         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
17795         understands to be a memory clobber.
17796         * arm.c (arm_expand_prologue): Use it.
17797
17798 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
17799
17800         * ra-rewrite.c: #include reload.h, insn-config.h
17801         * ra-build.c: #include reload.h
17802         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
17803         depend on reload.h, insn-config.h.
17804
17805 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
17806
17807         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
17808         the same size as a word.
17809
17810         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
17811         BYTES_BIG_ENDIAN into account.
17812
17813 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
17814
17815         * i386.md (prefetch): Fix for 64bit mode.
17816         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
17817
17818         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
17819
17820 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
17821
17822         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
17823
17824 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
17825
17826         * ginclude/varargs.h: Replace with stub which issues #error.
17827         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
17828         __builtin_va_start.
17829
17830         * builtins.def (BUILT_IN_VARARGS_START): Delete.
17831         (BUILT_IN_VA_START): New.
17832         * builtins.c (expand_builtin_va_start): Eliminate first
17833         argument and code to implement pre-ISO varargs.
17834         (std_expand_builtin_va_start): Ignore first argument; it is
17835         always 1.
17836         (expand_builtin): Handle BUILT_IN_VA_START and
17837         BUILT_IN_STDARG_START identically.  Delete
17838         BUILT_IN_VARARGS_START case.
17839
17840         * function.c (assign_parms): Delete hide_last_arg and all
17841         its uses.
17842         (mark_varargs): Delete function.
17843         * function.h (struct function): Delete 'varargs' bit.
17844         (current_function_varargs): Delete macro.
17845         * tree.h: Don't declare mark_varargs.
17846
17847         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
17848         (c_expand_body): Don't call mark_varargs.
17849         * c-objc-common.c: Handle BUILT_IN_VA_START and
17850         BUILT_IN_STDARG_START identically.  Delete
17851         BUILT_IN_VARARGS_START case.
17852         * c-tree.h: Don't declare c_mark_varargs.
17853         * c-parse.in: Remove grammar rules for '&...' (which has been
17854         commented out since before 2.7.2) and for '...' in K+R
17855         argument declarations.
17856
17857         * builtins.c, function.c, integrate.c, sibcall.c,
17858         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
17859         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
17860         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
17861         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
17862         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
17863         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
17864         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
17865         config/stormy16/stormy16.c: Delete all references to
17866         current_function_varargs, and code predicated on that flag.
17867
17868         * config/alpha/alpha.c (alpha_va_start),
17869         config/arc/arc.c (arc_va_start),
17870         config/i386/i386.c (ix86_va_start),
17871         config/mips/mips.c (mips_va_start),
17872         config/mn10300/mn10300.c (mn10300_va_start),
17873         config/rs6000/rs6000.c (rs6000_va_start),
17874         config/s390/s390.c (s390_va_start),
17875         config/sh/sh.c (sh_va_start),
17876         Ignore first argument; it is always 1.
17877
17878         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
17879         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
17880         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
17881         Delete m68hc11_va_start.
17882         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
17883         No need to define EXPAND_BUILTIN_VA_START.
17884
17885         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
17886         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
17887
17888 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
17889
17890         PR optimization/7153
17891         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
17892         dies in more than one insn.
17893
17894 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
17895
17896         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
17897
17898 2002-07-15  Michael Matz  <matz@suse.de>,
17899             Daniel Berlin  <dberlin@dberlin.org>,
17900             Denis Chertykov  <denisc@overta.ru>
17901
17902         Add a new register allocator.
17903
17904         * ra.c: New file.
17905         * ra.h: New file.
17906         * ra-build.c: New file.
17907         * ra-colorize.c: New file.
17908         * ra-debug.c: New file.
17909         * ra-rewrite.c: New file.
17910
17911         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
17912         (ra-rewrite.o): New .o files for libbackend.a.
17913         (GTFILES): Add basic-block.h.
17914
17915         * toplev.c (flag_new_regalloc): New.
17916         (f_options): New option "new-ra".
17917         (rest_of_compilation): Call initialize_uninitialized_subregs()
17918         only for the old allocator.  If flag_new_regalloc is set, call
17919         new allocator, instead of local_alloc(), global_alloc() and
17920         friends.
17921
17922         * doc/invoke.texi: Document -fnew-ra.
17923         * basic-block.h (FOR_ALL_BB): New.
17924         * config/rs6000/rs6000.c (print_operand): Write small constants
17925         as @l+80.
17926
17927         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
17928         (df_reg_table_realloc): Make size at least as large as max_reg_num().
17929         (df_insn_table_realloc): Size argument now is absolute, not relative.
17930         Changed all callers.
17931
17932         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
17933         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
17934
17935         2002-06-20  Michael Matz  <matz@suse.de>
17936
17937         * df.h (struct ref.id): Make unsigned.
17938         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
17939
17940         2002-06-13  Michael Matz  <matz@suse.de>
17941
17942         * df.h (DF_REF_MODE_CHANGE): New flag.
17943         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
17944         involving subregs with invalid mode changes, when
17945         CLASS_CANNOT_CHANGE_MODE is defined.
17946
17947         2002-05-07  Michael Matz  <matz@suse.de>
17948
17949         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
17950
17951         2002-05-03  Michael Matz  <matz@suse.de>
17952
17953         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
17954
17955         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
17956
17957         * regclass.c (regclass): Work with all regs which have sets or
17958         refs.
17959         (reg_scan_mark_refs): Count regs inside (clobber ...).
17960
17961         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
17962
17963         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
17964         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
17965         add new refs.
17966         (df_bb_refs_update): Don't clear insns_modified here, ...
17967         (df_analyse): ... but here.
17968
17969         * sbitmap.c (dump_sbitmap_file): New.
17970         (debug_sbitmap): Use it.
17971
17972         * sbitmap.h (dump_sbitmap_file): Add prototype.
17973
17974         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
17975
17976         * df.c (df_insn_modify): Grow the UID table if necessary, rather
17977         than assume all emits go through df_insns_modify.
17978
17979         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
17980
17981         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
17982         increase REG_N_REFS (like flow does), so that regclass doesn't
17983         think a reg is useless, and thus, not calculate a class, when it
17984         really should have.
17985
17986         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
17987
17988         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
17989         dataflow analysis.
17990
17991 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
17992
17993         PR middle-end/7245
17994         * config/i386/i386.c (const_int_1_31_operand): New.
17995         * config/i386/i386.h (PREDICATE_CODES): Add it.
17996         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
17997         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
17998         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
17999
18000 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
18001
18002         PR target/7282
18003         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
18004         (floatunssidf2): Likewise.
18005         (floatsidf_ppc64): New insn_and_split.
18006         (floatunssidf_ppc64): Likewise.
18007
18008 2002-07-14  Andreas Jaeger  <aj@suse.de>
18009
18010         * config.gcc (sh64): Remove unused
18011         target_requires_64bit_host_wide_int.
18012
18013 2002-07-12  Roger Sayle  <roger@eyesopen.com>
18014
18015         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
18016         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
18017         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
18018         whether clear_by_pieces should be used to clear storage.
18019         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
18020
18021         * doc/tm.texi: Document these two new target macros.
18022
18023 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
18024
18025         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
18026         the scratch register.
18027         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
18028         of it, forbid reload to use it.
18029
18030 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
18031
18032         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
18033         usage on 64-bit hosts, return value was truncated to 32 bits.
18034
18035 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
18036
18037         * simplify-rtx.c (simplify_subreg): Handle floating point
18038         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
18039         the element mode is requested, compute a subreg with an
18040         integer mode of the same size as the element mode first.
18041
18042 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
18043
18044         * combine.c (try_combine): When converting a paradoxical subreg
18045         to an extension, take LOAD_EXTEND_OP into account.
18046
18047 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18048
18049         * config.gcc (mips-sgi-irix6*o32): New configuration.
18050
18051         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
18052         configurations.
18053         * configure: Regenerate.
18054
18055         * config/mips/iris6-o32-as.h: New file.
18056         * config/mips/iris6-o32.h: New file.
18057
18058         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
18059         (NM_FLAGS): Define.
18060         (HAVE_AS_SHF_MERGE): Undefine.
18061
18062         * config/mips/t-iris5-as: New file.
18063         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
18064
18065         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
18066         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
18067         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
18068         dp-bit.c, fp-bit.c): Move ...
18069         * config/mips/t-iris5-6: ... here.
18070         New file, shared by IRIX 5 and IRIX 6.
18071         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
18072         mips-sgi-irix5*): Use it.
18073
18074         * config/mips/iris6.h: Remove duplicate comment.
18075
18076         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
18077         !TARGET_IRIX6]: Define.
18078         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
18079
18080         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
18081
18082 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
18083
18084         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
18085         and delete code to force constant to register.
18086         * pa-protos.h (adddi3_operand): Add prototype.
18087         * pa.c (adddi3_operand): New function.
18088
18089 2002-07-11  Roger Sayle  <roger@eyesopen.com>
18090
18091         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
18092         non-ANSI builtin functions.
18093
18094 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
18095
18096         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
18097         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
18098         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
18099         (gen_const_vector_0): Use it.
18100
18101 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
18102
18103         * pa.md (adddi3): For 32-bit targets, force constants to a register
18104         if they don't fit in an 11-bit immediate.  Change insn predicate to
18105         arith11_operand.  Remove comment.
18106         * pa.c (cint_ok_for_move): Fix comment.
18107         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
18108         targets.
18109
18110 2002-07-11  Tim Josling  <tej@melbpc.org.au>
18111
18112         Remove front end hard coding from gengtype.c.
18113
18114         * Makefile.in
18115         (STAGESTUFF): add gtyp-gen.h
18116         (GTFILES): Remove front end specific files.
18117         (GTFILES_FILES_LANGS): New, from configure..
18118         (GTFILES_FILES_FILES): Likewise.
18119         (GTFILES_LANG_DIR_NAMES): Likewise.
18120         (GTFILES_SRCDIR): Likewise.
18121         (gtyp-gen.h): Build from configure information.
18122         (s-gtype): Remove command line parameters from gengtype.
18123         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
18124         (mostlyclean): Delete files generated by and for gengtype.
18125
18126         * c-config-lang.in: New file.
18127
18128         * configure.in (all_gtfiles_files_langs): New. Accumulate files
18129         for each language.
18130         (all_gtfiles_files_files): New. Accumulate language for each file
18131         accumulated.
18132         (gtfiles): Pick up value for C.
18133         (srcdir): AC-SUBST this variable.
18134         (all_gtfiles_files_langs): AC-SUBST this variable.
18135         (all_gtfiles_files_files): AC-SUBST this variable.
18136
18137         * configure: Regenerate.
18138
18139         * gengtype-lex.l (parse_file): Make parameter const.
18140
18141         * gengtype.c (toplevel): include gtyp-gen.h.
18142         (BASE_FILE_<language> unnamed enum): Delete.
18143         (lang_names): Delete (replaced by gtyp-gen.h)
18144         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
18145         all references.
18146         (NUM_GT_FILES): New.
18147         (NUM_LANG_FILES): New.
18148         (srcdir_len): New.
18149         (NUM_BASE_FILES): Change calculation.
18150         (open_base_files): Change prototype to avoid warning.
18151         (startswith): Delete.
18152         (get_file_basename): Iterate through generated language list not
18153         hard coded list.
18154         (get_base_file_bitmap): Use generated list of files and languages.
18155         (close_output_files): Add prototype to rmove warning.
18156         (main): Iterate through list of generated files from gtyp-gen.h
18157         rather than command line paramaters.  Ignore duplicated file
18158         names.
18159
18160         * gengtype.h (parse_file): Amend prototype for const parameter.
18161
18162         * doc/sourcebuild.texi: Document gtfiles variable.
18163
18164         * doc/gty.texi: Document changes to gtfiles variable for front
18165         ends.
18166
18167         * objc/config-lang.in (gtfiles): Add files needed for objc front
18168         end.
18169
18170 2002-07-10  Roger Sayle  <roger@eyesopen.com>
18171
18172         PR c/2454
18173         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
18174         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
18175
18176 2002-07-10  Roger Sayle  <roger@eyesopen.com>
18177             Zack Weinberg <zack@codesourcery.com>
18178
18179         * builtins.def: Make the argument types of abort and exit
18180         independent of the front-end.
18181
18182 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
18183
18184         * config/rs6000/linux64.h (ASM_SPEC): Define.
18185
18186 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
18187
18188         * config/rs6000/rs6000.c (emit_frame_save): New.
18189         (rs6000_frame_related): Replace reg2 before reg.
18190         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
18191         and eh_return registers.
18192
18193 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
18194
18195         Revert all patches for optimization of Complex .op. Real.
18196         * complex_part_zero_p: Remove
18197         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
18198         with x.
18199         * expand_cmplxdiv_wide: Ditto.
18200         * expand_binop: Ditto.
18201
18202 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
18203
18204         * config/avr/avr.md: Fix two 0x80000000 constants to make them
18205         negative also on 64-bit hosts.
18206
18207         Default to -fno-reorder-blocks when optimizing for size.
18208         * config/avr/avr-protos.h (avr_optimization_options): Declare.
18209         * config/avr/avr.c (avr_optimization_options): New function.
18210         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
18211
18212         Optimize returning from simple functions.
18213         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
18214         * config/avr/avr.c (avr_simple_epilogue): New function.
18215         * config/avr/avr.md (return): New insn.
18216
18217 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
18218
18219         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
18220         HAS_INIT_SECTION to protection.
18221
18222 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
18223
18224         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
18225         deprecated.
18226
18227 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
18228
18229         * combine.c (gen_lowpart_for_combine): Handle vector modes.
18230         Supply non-VOID mode to simplify_gen_subreg.
18231
18232 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
18233
18234         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
18235
18236 2002-07-10  Jeffrey A Law  <law@redhat.com>
18237
18238         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
18239         as appropriate.
18240
18241         * mn10200.c (expand_epilogue): Fix test to determine which scratch
18242         register to use.
18243
18244 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
18245
18246         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
18247         Get mode from dest.
18248         If simplify_gen_subreg fails, try next equivalent.
18249
18250 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
18251
18252         * diagnostic.h: #include location.h
18253         (location_t): Move definition to..
18254         * location.h: ... here.  New file.
18255         * tree.h: #include location.h
18256         (DECL_SOURCE_LOCATION): New macro.
18257         (DECL_SOURCE_FILE): Use.
18258         (DECL_SOURCE_LINE): Likewise.
18259         (struct tree_decl): REplace filename and linenum with locus.
18260         * Makefile.in (TREE_H): add location.h
18261         (diagnostic.o): Depends on gt-location.h
18262         (gt-location.h): Depends on s-gtype
18263
18264 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
18265
18266         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
18267         TARGET_OS_CPP_BUILTINS.
18268         * config/rs6000/aix31.h: Likewise.
18269         * config/rs6000/aix41.h: Likewise.
18270         * config/rs6000/aix43.h: Likewise.
18271         * config/rs6000/aix51.h: Likewise.
18272         * config/rs6000/beos.h: Likewise.
18273         * config/rs6000/darwin.h: Likewise.
18274         * config/rs6000/eabi.h: Likewise.
18275         * config/rs6000/eabisim.h: Likewise.
18276         * config/rs6000/linux.h: Likewise.
18277         * config/rs6000/linux64.h: Likewise.
18278         * config/rs6000/lynx.h: Likewise.
18279         * config/rs6000/mach.h: Likewise.
18280         * config/rs6000/rtems.h: Likewise.
18281         * config/rs6000/sysv4.h: Likewise.
18282         * config/rs6000/vxppc.h: Likewise.
18283
18284 2002-07-09 Devang Patel <dpatel@apple.com>
18285         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
18286         Do not allow ObjC objects as a parameter type for Objective-C methods.
18287         My previous patch restricted  'struct' also.
18288
18289 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
18290
18291         * cpperror.c (cpp_error): Default to directive_line within
18292         directives here.
18293         * cppexp.c (cpp_interpret_integer): Only use traditional
18294         number semantics in directives.
18295         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
18296         (do_include_common): Similarly.
18297         * cpptrad.c (scan_out_logical_line): Implement accurate
18298         quoting of <> in #include.
18299         * doc/cpp.texi: Update.
18300
18301 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
18302                           J"orn Rennecke <joern.rennecke@superh.com>
18303
18304         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
18305         * sh.md (attribute issues): Replace with:
18306         (attribute pipe_model).  All users changed.
18307         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
18308         All users changed.
18309         (function units sh5issue, sh5fds): New.
18310         (attribute is_mac_media): New.
18311         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
18312         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
18313         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
18314         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
18315         (call_media, call_value_media, sibcall_media): Likewise.
18316         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
18317         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
18318         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
18319         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
18320         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
18321         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
18322         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
18323         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
18324         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
18325         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
18326         (truncdfsf2_media): Likewise.
18327         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
18328         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
18329
18330 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
18331
18332         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
18333         * sh.c (general_extend_operand, inqhi_operand): New functions.
18334         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
18335         alternatives using 'N' modifier.  Add type.
18336         (adddi3z_media): Likewise.  Enable generator function generation.
18337         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
18338         exact predicates / constraints.  Add type.
18339         (subsi3): Allow 0 for SHMEDIA.
18340         (udivsi3_i4_media): Use match_operand for input values
18341         rather than hard registers.
18342         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
18343         unnecessarily through hard registers.  Keep copies of pseudo
18344         registers outside of the libcall sequence.
18345         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
18346         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
18347         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
18348         (extendhidi2, extendqidi2): Likewise.
18349         (andsi3_compact): Name.
18350         (andcdi3): Enable generator function generation.
18351         (zero_extendhisi2, zero_extendqisi2): Rename to
18352         (zero_extendhisi2_compact, zero_extendqisi2_compact).
18353         (extendhisi2, extendqisi2): Rename to
18354         (extendhisi2_compact, extendqisi2_compact).
18355         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
18356         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
18357         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
18358         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
18359         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
18360         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
18361         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
18362         (shmedia32_initialize_trampoline_big): Likewise.
18363         (shmedia32_initialize_trampoline_little): Likewise.
18364         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
18365         (negdi2): Remove spurious T clobber.
18366         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
18367         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
18368         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
18369         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
18370         (ic_invalidate_line_media): Write back data cache before invalidating
18371         instruction cache.  Add type.
18372         (movsf_media): Sign-extend when the destination is a general
18373         purpose register.  Add type.
18374         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
18375         (casesi_worker_0+1): Only increment ref count for proper label.
18376         (casesi_worker_0+2): Likewise.
18377
18378 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
18379
18380         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
18381
18382 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
18383
18384         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
18385         from Pmode to ptr_mode.
18386         (get_exception_pointer): Ditto.
18387         (connect_post_landing_pads): Ditto.
18388         (dw2_build_landing_pads): Ditto.
18389
18390 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
18391         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
18392         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
18393         (handle_pragma_redefine_extname): Change to use new function.
18394
18395 2002-07-08  Roger Sayle  <roger@eyesopen.com>
18396
18397         * combine.c (combine_simplify_rtx): Add an explicit cast
18398         to avoid signed/unsigned comparison warning.
18399         (simplify_if_then_else): Likewise.
18400         (extended_count): Likewise.
18401         (simplify_shift_const): Likewise.
18402         (simplify_comparison): Likewise.
18403
18404 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
18405
18406         * config/mips/mips.md: Add imadd type.  Update scheduler description
18407         to use imadd as well as imul.
18408         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
18409         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
18410         (*mul_sub_si): Likewise for first alternative.  Change second
18411         alternative from imul to multi.
18412
18413 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
18414
18415         * c-common.c (c_common_post_options): Update prototype;
18416         don't init backends if preprocessing only.
18417         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
18418         * langhooks.h (struct lang_hooks): Update post_options to
18419         return a boolean.
18420         * toplev.c (parse_options_and_default_flags, do_compile,
18421         lang_independent_init): Update prototypes.  Allow the
18422         front end to specify that there is no need to initialize
18423         the back end.
18424         (general_init): Move call to hex_init here...
18425         (toplev_main): ...from here.  Pass flag for back end init
18426         suppression.
18427
18428 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
18429
18430         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
18431         (PREDICATE_CODES): Add entries for equality_comparison_operator,
18432         greater_comparison_operator and less_comparison_operator.
18433         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
18434         more operators.
18435         (equality_comparison_operator): New function.
18436         (greater_comparison_operator, less_comparison_operator): Likewise.
18437         * sh.md (beq_media_i): Disable generator function generation.
18438         Use match_operator to handle a whole class of comparisons.  Add
18439         modifier in output template to provide branch prediction.  Add type.
18440         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
18441         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
18442         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
18443         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
18444
18445 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
18446
18447         Emit MMIX function prologue and epilogue as rtl.
18448         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
18449         not unprototyped get_hard_reg_initial_val.
18450         ("call_value", "nonlocal_goto_receiver"): Ditto.
18451         ("return"): Make define_expand.  Move real insn to...
18452         ("*expanded_return"): New pattern.
18453         ("prologue", "epilogue"): New define_expands.
18454         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
18455         (struct machine_function): New member in_prologue.
18456         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
18457         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
18458         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
18459         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
18460         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
18461         (LOCAL_REGNO): Define.  Adjust comment.
18462         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
18463         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
18464         leaf_function_p.
18465         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
18466         the prologue.
18467         (mmix_target_asm_function_prologue): Make static.  Just mark that
18468         the prologue is being emitted.  Move guts to...
18469         (mmix_expand_prologue): New function.  Adjust for emitting
18470         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
18471         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
18472         \n.  Move guts to...
18473         (mmix_expand_epilogue): New function.  Adjust for emitting
18474         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
18475         (mmix_target_asm_function_end_prologue): Mark that the prologue
18476         has ended.
18477         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
18478         (mmix_conditional_register_usage): Improve comments.
18479         (mmix_local_regno): New function.
18480         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
18481         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
18482         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
18483         (mmix_get_hard_reg_initial_val): Ditto.
18484
18485 2002-07-06  Andreas Jaeger  <aj@suse.de>
18486
18487         * toplev.c (set_fast_math_flags): Don't use ISO C style function
18488         definitions.
18489         * gengtype.c (open_base_files): Likewise.
18490         (close_output_files): Likewise.
18491         * tracer.c (find_best_predecessor): Likewise.
18492         (find_best_successor): Likewise.
18493         (ignore_bb_p): Likewise.
18494
18495 2002-07-05  Roger Sayle  <roger@eyesopen.com>
18496
18497         PR c++/7099
18498         * builtin-attrs.def: Define new attribute lists for use in
18499         builtins.def.
18500         * builtins.def [DEF_BUILTIN]: Modify to take an additional
18501         ATTRS argument, an enumerated value defined in builtin-attrs.def
18502         that represents the attribute list for the builtins.  Modify
18503         all builtin functions to pass an appropriate attribute list.
18504         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
18505         their required noreturn attributes.
18506         * tree.h (enum_builtin_function): Ignore the additional parameter
18507         to DEF_BUILTIN.
18508         * builtins.c (built_in_names): Likewise.
18509         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
18510         argument with a tree representing the functions attribute list.
18511         Pass this "attrs" argument to builtin_function.  No longer handle
18512         the noreturn_p processing manually.
18513         (built_in_attributes): Move the definitions from builtin-attrs.def
18514         before c_common_nodes_and_builtins.
18515         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
18516         DEF_BUILTIN, passing it to both builtin_function and the changed
18517         builtin_function_2.
18518
18519         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
18520         __builtin__exit and __builtin__Exit.
18521
18522 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
18523
18524         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
18525         QI mode registers in soft registers.
18526         ("zero_extendqihi2"): Do not take into account soft registers
18527         for register allocation (use '*' constraint).
18528
18529 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
18530
18531         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
18532         it is dead.
18533         ("*ashrsi3"): Likewise.
18534         ("*lshrsi3"): Likewise.
18535
18536 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
18537
18538         * genautomata.c (output_max_insn_queue_index_def): Take latencies
18539         into account.
18540
18541 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
18542
18543         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
18544         address computation and memory moves.
18545
18546 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
18547
18548         PR c++/6706
18549         * dwarfout.c (output_reg_number): Fix warning message.
18550         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
18551         before using it.
18552
18553 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18554
18555         * gcc/gcc.c (asm_debug): Move initialization ...
18556         (init_spec): ... here.
18557
18558 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
18559
18560         * c-parse.in (extdef): Append ';'.
18561         (old_style_parm_decls): Append ';'.
18562
18563 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
18564
18565         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
18566         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
18567         to gcc_cv_as_gstabs_flag.
18568         * configure: Rebuilt.
18569
18570 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
18571
18572         * ggc.h (ggc_add_root): Document as obsolete.
18573
18574 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
18575
18576         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
18577         (mshflo_w): Likewise.
18578
18579 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
18580
18581         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
18582         vector mode subregs of constants to finding integer mode
18583         subregs of constants.
18584         * cse.c (cse_insn): Use simplify_gen_subreg.
18585         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
18586         From a vector mode expression of different size than the
18587         target mode.
18588
18589 2002-07-03  Eric Christopher  <echristo@redhat.com>
18590
18591         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
18592         * config/mips/mips.h: Remove deprecated -m<processor> options
18593         and cc1_cpu_spec associated.
18594         (CONSTANT_ADDRESS_P): Fix last patch.
18595         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
18596         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
18597         sunge_sf): Remove.
18598
18599 2002-07-03  Stan Shebs  <shebs@apple.com>
18600
18601         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
18602         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
18603         (CPP_SPEC): Remove insertion of APPLE_CC definition.
18604
18605 2002-07-03  Roger Sayle  <roger@eyesopen.com>
18606
18607         * combine.c (struct_undo): Change types of recorded substitutions
18608         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
18609         (do_SUBST_INT): Change types of the substitution from unsigned int
18610         to int, to avoid compilation warning from SUBST_INT's only caller.
18611
18612         (make_extraction): Add cast to avoid compilation warning.
18613         (force_to_mode): Remove cast to avoid compilation warning.
18614
18615 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
18616             Jeff Law  <law@redhat.com>
18617
18618         * i386.md (length_immediate attribute): Fix typo.
18619         (length_address attribute): Likewise.
18620         (modrm attribute): Set it to 0 for immediate call instructions.
18621         (jcc_1 pattern): Set modrm attribute to 0.
18622         (jcc_2 pattern ): Likewise.
18623         (jump pattern): Likewise.
18624         (doloop_end_internal pattern): Explicitly set length.
18625         (leave pattern): Fix typo.
18626         (leave_rex64 pattern): Likewise.
18627
18628 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
18629
18630         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
18631         in FPR as preference.
18632         (fctiwz): Same.
18633         (floatdidf2, fix_truncdfdi2): Same.
18634         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
18635         (floatditf2): Same.
18636         (floatsitf2, fix_trunctfsi2): SImode in GPR.
18637         (ctrdi): Remove FPR alternative and splitter.
18638
18639 2002-07-03  Will Cohen  <wcohen@redhat.com>
18640
18641         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
18642
18643 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
18644
18645         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
18646         than UNITS_PER_WORD, unless this is little endian and the first unit
18647         in this word.  Let extract_bit_field decide how to load an element.
18648         Force arguments to matching mode.
18649         (expand_vector_unop): Likewise.
18650
18651         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
18652         consist of word_mode elements.
18653         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
18654         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
18655         (build_unary_op): Allow vector types for BIT_NOT_EPR.
18656         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
18657         CONST_VECTOR.
18658         * optabs.c (expand_vector_binop): Try to perform operation in
18659         smaller vector modes with same inner size.  Add handling of AND, IOR
18660         and XOR.  Reject expansion to inner-mode sized scalars when using
18661         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
18662         (expand_vector_unop): Try to perform operation in smaller vector
18663         modes with same inner size.  Add handling of one's complement.
18664         When there is no vector negate operation, try a vector subtract
18665         operation.  Use simplify_gen_subreg on constants.
18666         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
18667         constants into smaller vectors with same inner mode, and to
18668         integer CONST_DOUBLEs.
18669
18670 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18671
18672         * c-parse.in (parsing_iso_function_signature): New variable.
18673         (extdef_1): New, copied from...
18674         (extdef): ... here.  Reset parsing_iso_function_signature.
18675         (old_style_parm_decls):  Reset parsing_iso_function_signature.
18676         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
18677         Warn about ISO C style function definitions.
18678         (nested_function, notype_nested_function): Reset
18679         parsing_iso_function_signature.
18680         (parmlist_2): Set parsing_iso_function_signature.
18681
18682         * doc/invoke.texi (-Wtraditional): Document new behavior.
18683
18684 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
18685
18686         * config.gcc (mips*el-*-*): Use tm_defines to set
18687         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
18688         * config/mips/little.h: Remove.
18689
18690 2002-07-02 Devang Patel <dpatel@apple.com>
18691
18692         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
18693         object as parameter. Prevent something like 'NSObject' to be
18694         used as the type for a method argument.
18695
18696 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
18697
18698         * cpptrad.c: Update comment.
18699
18700 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
18701
18702         * doc/cpp.texi: Update for traditional preprocessing changes.
18703         * goc/cppopts.texi: Similarly.
18704
18705 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
18706
18707         * c-parse.in (designator): Enable designated initializers if ObjC.
18708         (objcmessageexpr): Remove references to objc_receiver_context.
18709         * objc/objc-act.h (objc_receiver_context): Remove decl.
18710         * objc/objc-act.c (objc_receiver_context): Remove.
18711         (lookup_objc_ivar): Test objc_method_context instead of
18712         objc_receiver_context.
18713
18714 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
18715
18716         * sh.c (print_operand, case 'N'): Allow zero vector.
18717         (arith_reg_or_0_operand): Likewise.
18718         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
18719         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
18720         IOR, XOR, PLUS and SET and take their respective constant
18721         ranges into account.
18722         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
18723         * sh.md (subdi3, subdi3_media): Allow zero operand.
18724         (movv8qi_i+3): Only vector that is not split is the zero vector.
18725         Fix operand 3 to simplify_subreg.
18726         (movv2si_i): Split alternative 1.
18727         (mshfhi_l_di_rev+1): New splitter.
18728
18729 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
18730
18731         PR preprocessor/7029
18732         * cppinit.c (cpp_handle_option):  Suppress warnings with an
18733         implicit "-w" for "-M" and "-MM".
18734         * doc/cppopts.texi: Update.
18735
18736 2002-07-01  Roger Sayle  <roger@eyesopen.com>
18737
18738         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
18739         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
18740         builtin_function.
18741
18742 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
18743
18744         * README.Portability: Fix typos.
18745
18746 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
18747
18748         PR target/7177
18749         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
18750         of indirections for register inside sign-extended mem part.
18751
18752 2002-07-01  Roger Sayle  <roger@eyesopen.com>
18753
18754         * tree.h:  Modify builtin_function interface to take an extra
18755         argument ATTRS, which is a tree representing an attribute list.
18756
18757         * c-decl.c (builtin_function): Accept additional parameter.
18758         * objc/objc-act.c (builtin_function): Likewise.
18759         * f/com.c (builtin_function): Likewise.
18760         * java/decl.c (builtin_function): Likewise.
18761         * ada/utils.c (builtin_function): Likewise.
18762         * cp/decl.c (builtin_function): Likewise.
18763         (builtin_function_1): Likewise.
18764
18765         * c-common.c (c_common_nodes_and_builtins): Pass an additional
18766         NULL_TREE argument to builtin_function.  (builtin_function_2):
18767         Likewise.
18768         * cp/call.c (build_java_interface_fn_ref): Likewise.
18769         * objc/objc-act.c (synth_module_prologue): Likewise.
18770         * java/decl.c (java_init_decl_processing): Likewise.
18771         * f/com.c (ffe_com_init_0): Likewise.
18772
18773         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
18774         NULL_TREE argument to builtin_function.
18775         * config/arm/arm.c (def_builtin): Likewise.
18776         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
18777         * config/i386/i386.c (def_builtin): Likewise.
18778         * config/ia64/ia64.c (def_builtin): Likewise.
18779         * config/rs6000/rs6000.c (def_builtin): Likewise.
18780
18781 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
18782
18783         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
18784         * config/mips/t-isa3264: Likewise.
18785         * config/mmix/t-mmix: Likewise.
18786
18787 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
18788
18789         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
18790
18791 2002-07-01  Roger Sayle  <roger@eyesopen.com>
18792
18793         PR opt/4046
18794         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
18795         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
18796         B are truth values.
18797
18798 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
18799
18800         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
18801
18802 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
18803
18804         * README.Portability (Function prototypes): Give an example of
18805         declaring and defining a function with no arguments.
18806
18807         * README.Portability (Function prototypes): Document new
18808         variable-argument function macros.
18809
18810 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
18811
18812         * sh.c (langhooks.h): Include.
18813         (sh_init_builtins, sh_media_init_builtins): New functions.
18814         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
18815         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
18816         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
18817         (builtin_description): New struct tag.
18818         (signature_args, bdesc): New arrays.
18819         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
18820         (print_operand): Add 'N' modifier.
18821         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
18822         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
18823         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
18824         (CONST_COSTS): Add special case for SHmedia AND.
18825         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
18826         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
18827         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
18828         target_operand can also be const or unspec.
18829         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
18830         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
18831         (attribute type): Add new types.
18832         (anddi3): Add splitter.
18833         (movdi_const_16bit+1): Add code to handle vector constants and
18834         bitmasks efficiently.
18835         (shori_media): Have generator function made.
18836         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
18837         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
18838         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
18839         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
18840         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
18841         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
18842         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
18843         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
18844         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
18845         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
18846         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
18847         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
18848         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
18849         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
18850         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
18851         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
18852         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
18853         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
18854         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
18855         (ftrv): Likewise.
18856
18857         (fpu_switch+1, fpu_switch+2): Remove constraint.
18858
18859 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
18860
18861         * tree.c (build_function_type_list): Update function comment.
18862         Rename first argument to return_type.
18863
18864 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
18865
18866         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
18867         tradcif.y and related files.
18868
18869 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
18870
18871         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
18872
18873 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18874
18875         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
18876
18877 See ChangeLog.7 for earlier changes.