OSDN Git Service

476256f58592c276542b127f01b7d9f4d108b5b2
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-01-16  Kaz Kojima  <kkojima@gcc.gnu.org>
2
3         * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
4         instead of rotldi3_mextr.
5
6 2003-01-16  Vladimir Makarov  <vmakarov@redhat.com>
7
8         * haifa-sched.c (move_insn): Restore moving all schedule group.
9         (set_priorities): Restore taking SCHED_GROUP_P into account.
10
11         * sched-deps.c (add_dependence): Restore processing the last group
12         insn.
13         (remove_dependence, group_leader): Restore the functions.
14         (set_sched_group_p): Restore adding dependencies from previous insn
15         in the group.
16         (compute_forward_dependences): Restore usage of group_leader.
17
18         * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
19         account.
20
21         * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
22         account.
23         (can_schedule_ready_p): Ditto.
24         (add_branch_dependences): Restore skipping over the group insns.
25         
26 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
27
28         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
29         68HC12 pre/post inc/dec side effects.
30
31 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
32
33         * config/m68hc11/m68hc11.h (MASK_M6812): Define.
34
35 Thu Jan 16 21:50:25 2003  J"orn Rennecke <amylaar@onetel.net.uk>
36
37         * sh.md (mshflo_w_x): Fix description of operation.
38
39 2003-01-16  Zack Weinberg  <zack@codesourcery.com>
40
41         * config/rs6000/rs6000.h: Mention Altivec registers in
42         commentary.  Fix typo.
43
44 2003-01-16  David Edelsohn  <edelsohn@gnu.org>
45
46         * config/rs6000/rs6000.md (movti_string): Remove clobber.
47         * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
48         generate PARALLEL with clobber for TARGET_POWER.
49
50 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
51
52         * ra-colorize.c (colorize_one_web): Initialize variable.
53         * regmove.c (fixup_match_1): Likewise.
54         * reload1.c (reload_as_needed): Likewise.
55         * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
56
57 2003-01-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
58
59         * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
60
61 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
62
63         * dbxout.c (lastfile, cwd): Fix `unused' warning.
64         * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
65         dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
66         is_main_source, file_table, decl_die_table_in_use,
67         abbrev_die_table_in_use, line_info_table_in_use,
68         separate_line_info_table_in_use, pubname_table_in_use,
69         arange_table_in_use, ranges_table_in_use,
70         current_function_has_inlines): Likewise.
71         * flow.c (life_analysis): Likewise.
72         * genemit.c (gen_insn): Likewise.
73         * protoize.c (cplus_suffix): Likewise.
74
75         * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
76         * arm.h (ROUND_UP_WORD): Likewise.
77
78         * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
79         warning.
80         * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
81         init_emit_once): Likewise.
82         * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
83         Likewise.
84         * function.c (assign_stack_temp_for_type): Likewise.
85         * loop.c (loop_invariant_p): Likewise.
86         * recog.c (push_operand): Likewise.
87         * regclass.c (init_reg_sets_1): Likewise.
88         * reload.c (update_auto_inc_notes): Likewise.
89         * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
90         * stmt.c (expand_asm_operands): Likewise.
91         * stor-layout.c (start_record_layout): Likewise.
92
93 2003-01-16  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
94
95         * config/c4x/c4x.md (epilogue): Correct last patch.
96
97 2003-01-15  Richard Henderson  <rth@redhat.com>
98
99         * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
100         also check that GP is being used.
101         (alpha_find_lo_sum_using_gp): New.
102         (alpha_does_function_need_gp): Use get_attr_usegp.
103         * config/alpha/alpha-protos.h: Update.
104         * config/alpha/alpha.md (attr usegp): New.  Annotate patterns
105         as needed.
106
107 2003-01-15  Roger Sayle  <roger@eyesopen.com>
108
109         * gcse.c (one_cprop_pass): Change function arguments to take both
110         cprop_jumps and bypass_jumps flags instead of just alter_jumps.
111         (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
112         (bypass_jumps): New function to perform separate jump bypassing pass.
113         * rtl.h (bypass_jumps): Add function prototype.
114         * timevar.def (TV_BYPASS): New timing variable.
115         * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
116         (dump_file): New entry for the bypass RTL dump file.
117         (rest_of_compilation): Insert new jump bypassing optimization
118         pass after loop.
119         * doc/passes.texi: Document new pass.
120
121 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
122
123         * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
124         ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
125         * pa.h (TARGET_SOM_SDEF): Define.
126         * pa-hpux11.h (TARGET_SOM_SDEF): Define.
127
128 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
129
130         * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
131         allocate 4-bytes of locals on 68HC11.
132         (expand_epilogue): Likewise.
133         (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
134
135 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
136
137         * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
138         and -mshort-double to the assembler to specify the ABI.
139         (LINK_SPEC): Likewise.
140         (CPP_SPEC): Pass HCS12 specific define.
141         (MASK_M68S12): New define.
142         (TARGET_M68S12): Likewise.
143         (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
144         (TARGET_VERSION): Update.
145         * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
146         (LINK_SPEC): Update.
147         (ASM_SPEC): Update.
148         * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
149         * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
150
151 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
152
153         * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
154         the return code.
155
156 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
157
158         * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
159         flag before setting it.
160
161 2003-01-15  Roger Sayle  <roger@eyesopen.com>
162
163         * c-semantics.c (genrtl_while_stmt):  Improve initial RTL generation
164         when loop condition is known true, i.e.  "while (1) { ... }".
165         (genrtl_for_stmt): Similarly for "for" statements.
166
167 2003-01-15  Roger Sayle  <roger@eyesopen.com>
168
169         * real.c (real_sqrt): Return a bool result indicating whether
170         a floating point exception or trap should be raised.
171         * real.h (real_sqrt): Update function prototype.
172         * builtins.c (fold_builtin): Only fold non-trapping square
173         roots unless we're ignoring errno and trapping math.
174
175 2003-01-15  John David Anglin  <dave.anglin@nrc.gc.ca>
176
177         * expr.h (emit_conditional_add): Add PARAMS to declaration.
178         * gengtype-lex.l (malloc, realloc): Move defines after include of
179         system.h.  Remove duplicate include of system.h.
180
181 2003-01-15  Roger Sayle  <roger@eyesopen.com>
182
183         PR middle-end/9009
184         * optabs.c (expand_unop):  When manipulating the FP sign bit
185         using integer operations, account for targets with different
186         integer and FP word orders.
187         (expand_abs): Likewise.
188
189 2003-01-15  David Edelsohn  <edelsohn@gnu.org>
190
191         * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
192         file extension in section name.
193
194 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
195
196         * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
197         constant offset.
198
199 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
200
201         * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
202         (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
203         (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
204         (ARM_PRINT_OPERAND_ADDRESS): Likewise.
205
206 Wed Jan 15 12:23:21 CET 2003  Jan Hubicka  <jh@suse.cz>
207
208         PR f/9258
209         * global.c (struct allocno): Add no_stack_reg.
210         (global_conflicts): Set no_stack_reg.
211         (find_reg): Use it.
212
213         * convert.c (convert_to_real): Fold - and abs only when profitable.
214         * fold-const.c (fold): Fold truncates in - and abs.
215
216 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
217
218         Segher Boessenkool  <segher@koffie.nl>
219
220         * predict.c (real_inv_br_prob_base): New variable.
221         (propagate_freq): Use multiply by reciprocal instead of
222         division.  Don't divide by 1.0 at all.
223         (estimate_bb_frequencies): Similar.
224
225 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
226
227         * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
228         * configure: Rebuilt.
229
230 2003-01-15  Hartmut Penner  <hpenner@de.ibm.com>
231
232         * config/s390/s390.c (s390_safe_attr_type): New function.
233         (s390_use_dfa_pipeline_interface): New function, return true for z900.
234         (s390_issue_rate): New function.
235         (s390_agen_dep_p): New function.
236         (addr_generation_dependency_p): Use 's390_safe_attr_type'.
237         (s390_adjust_cost): Return 'cost' if new DFA is used.
238         (s390_adjust_priority): Delete function.
239         * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
240         * config/s390/s390.md (atype attribute): Attribute 'atype' default
241         determined by 'op_type'.
242         (type attribute): Added more type attributes.
243         * config/s390/2064.md: New DFA description for z900 pipeline.
244
245 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
246
247         * config/i386/i386.c (ix86_expand_vector_move): Validize constant
248         forced to memory.  Fixes PR bootstrap/9036.
249
250         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
251         to set $gp before the call.
252
253 2003-01-14  Richard Henderson  <rth@redhat.com>
254
255         * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
256         for force_const_mem.
257
258 2003-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
259
260         * genattr.c (main): Rearrange output to avoid prototype warning.
261         * genautomata.c (transform_3): Fix ambiguous-else warning.
262         * local-alloc.c (requires_inout): Add parentheses around
263         assignment used as truth-value.
264         * timevar.c: Move system includes above local includes.  Include
265         toplev.h
266         * Makefile.in (timevar.o): Depend on toplev.h.
267
268 2003-01-14  Denis Chertykov  <denisc@overta.ru>
269
270         * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
271         (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
272
273         * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
274         attributes.
275         (TARGET_ATTRIBUTE_TABLE): New macro.
276         (valid_machine_type_attribute): Remove.
277         (valid_machine_decl_attribute): Remove.
278         (ip2k_handle_progmem_attribute): New function.
279         (ip2k_handle_fndecl_attribute): New function.
280
281 2003-01-10  Andrew Haley  <aph@redhat.com>
282
283         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
284         registers to be in correct order.  Add rip.
285
286 2003-01-14  Kazu Hirata  <kazu@cs.umass.edu>
287
288         * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
289         (*iorsi3_and_lshiftrt_9_sb): Likewise.
290
291 Tue Jan 14 00:45:33 CET 2003  Jan Hubicka  <jh@suse.cz>
292
293         * convert.c (strip_float_extensions):  Look for narrowest type handling
294         FP constants.
295
296         * fold-const.c (fold):  Fold (double)float1 CMP (double)float2 into
297         float1 CMP float2.
298         * convert.c (strip_float_extensions): Make global.
299         * tree.h (strip_float_extensions): Declare.
300
301 2003-01-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
302
303         * timevar.def: define TV_NAME_LOOKUP.
304         * timevar.c (timevar_pop): Be verbose when aborting.
305
306 2003-01-13  Andreas Schwab  <schwab@suse.de>
307
308         * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
309         $(parsedir), just move the temporary file at the end.
310         ($(parsedir)/gengtype-yacc.c): Likewise.
311
312 2003-01-13  Alexandre Oliva  <aoliva@redhat.com>
313
314         * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
315         ${ac_tool_prefix} to ADAC or CC.  Protect them from word
316         splitting.
317         * configure: Rebuilt.
318
319 2003-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
320
321         * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
322         internal_mcount): Don't use PARAMS.
323         (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
324         ISO C style.
325         (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
326
327 2003-01-13  Andreas Schwab  <schwab@suse.de>
328
329         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
330         directive.
331
332 2003-01-13  Kazu Hirata  <kazu@cs.umass.edu>
333
334         * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
335         (*iorsi3_and_lshiftrt_n_sb): Likewise.
336
337 2003-01-12  Mark Mitchell  <mark@codesourcery.com>
338
339         PR c++/9264
340         * c-lex.c (c_lex): Set the token value to error_mark_node for
341         invalid numeric constants.
342
343 2003-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
344
345         * c-pch.c (asm_file_startpos): Change to `long'.
346         (pch_init): Use ftell, not ftello.
347         (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
348         Use `long' instead of `off_t'.
349         (c_common_read_pch): Likewise.
350         * ggc-common.c (gt_pch_save): Use long/ftell instead of
351         off_t/ftello.
352
353 2003-01-12  Alan Modra  <amodra@bigpond.net.au>
354
355         * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
356
357 2003-01-11  Richard Earnshaw  (rearnsha@arm.com)
358
359         * arm-protos.h (struct cpp_reader): Add declaration.
360
361 Sat Jan 11 11:02:58 CET 2003  Jan Hubicka  <jh@suse.cz>
362
363         PR target/9068
364         * i386.c (output_fp_compare): Fix typo.
365
366 2003-01-10  David Edelsohn  <edelsohn@gnu.org>
367
368         * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
369
370 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
371
372         * Makefile.in (parsedir): New variable.
373         (docobjdir): New variable.
374         (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
375         gengtype-lex.c, gengtype-yacc.c): Use parsedir.
376         (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
377         cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
378         gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
379         Use docobjdir.
380         * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
381         objc.maintainer-clean): Use parsedir.
382
383         * varasm.c (struct constant_descriptor_rtx): Remove unused
384         `label' field.
385
386         * toplev.c (documented_lang_options): Document -Winvalid-pch.
387
388 2003-01-10  Richard Henderson  <rth@redhat.com>
389
390         * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
391         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
392
393 2003-01-10  Richard Henderson  <rth@redhat.com>
394
395         * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
396         not INTEGRAL_MODE_P when widening extensions.
397
398 2003-01-10  Richard Henderson  <rth@redhat.com>
399
400         * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
401
402 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
403
404         * ggc-page.c (ggc_collect): Avoid overflow computing
405         min_expand.
406
407         * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
408         (RANLIB_TEST_FOR_TARGET): Delete.  Don't pass down to sub-makes.
409         Remove calls.
410         * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
411
412 Fri Jan 10 22:05:35 CET 2003  Jan Hubicka  <jh@suse.cz>
413
414         * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
415         with weird operands.
416
417 2003-01-10  Dale Johannesen <dalej@apple.com>
418
419         * calls.c (load_register_parameters):  Add is_sibcall, sibcall_failure
420         parameters.  Call check_sibcall_argument_overlap if indicated.
421         (check_sibcall_argument_overlap):  Add mark_stored_args_map
422         parameter.  Don't mark parameter area as clobbered if not set.
423         (expand_call):  Adjust calls to above.
424
425 2003-01-10 Kelley Cook <kelleycook@comcast.net>
426
427         * configure.in (linker read-only and read-write section mixing):
428         Squelch some assembler warnings.
429         * configure: Likewise.
430
431 2003-01-10  Hartmut Penner  <hpenner@de.ibm.com>
432
433         * doc/invoke.texi: Document -mtune, delete -mcpu
434         option for S/390 and zSeries.
435         * config/s390/s390.c (s390_tune_string) New variable.
436         (s390_cpu_string) Delete variable.
437         (override_options): Use s390_tune_string instead of
438         s390_cpu_string.
439         * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
440
441 2003-01-10  Kazu Hirata  <kazu@cs.umass.edu>
442
443         * config/h8300/h8300.md (*iorsi3_ashift_31): New.
444
445 2003-01-10  Josef Zlomek  <zlomekj@suse.cz>
446
447         * jump.c (next_nonnote_insn_in_loop): New function.
448         (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
449         next_nonnote_insn.
450         (duplicate_loop_exit_test). Likewise.
451
452 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
453
454         Merge from pch-branch:
455
456         2003-01-06  Geoffrey Keating  <geoffk@apple.com>
457
458         * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
459         load.
460
461         2002-12-24  Geoffrey Keating  <geoffk@apple.com>
462
463         * cpplib.c (count_registered_pragmas): New function.
464         (save_registered_pragmas): New function.
465         (_cpp_save_pragma_names): New function.
466         (restore_registered_pragmas): New function.
467         (_cpp_restore_pragma_names): New function.
468         * cpphash.h (_cpp_save_pragma_names): Prototype.
469         (_cpp_restore_pragma_names): Likewise.
470         * cpppch.c (struct save_macro_item): Split from save_macro_data.
471         (struct save_macro_data): New field 'saved_pragmas'.
472         (save_macros): Update for changes to struct save_macro_data.
473         (cpp_prepare_state): Call _cpp_save_pragma_names, update
474         for changes to struct save_macro_data.
475         (cpp_read_state): Call _cpp_restore_pragma_names, update
476         for changes to struct save_macro_data.
477
478         * cpppch.c (cpp_read_state): Restore the hashtable references
479         in the cpp_reader.
480
481         * tree.h (built_in_decls): Mark for PCH.
482
483         * dbxout.c (lastfile): Don't mark for PCH.
484
485         * ggc.h: Document PCH calls into memory managers.
486
487         2002-12-18  Geoffrey Keating  <geoffk@apple.com>
488
489         * doc/invoke.texi (Precompiled Headers): Document the
490         directory form of PCH.
491         * cppfiles.c (validate_pch): New function.
492         (open_file_pch): Search suitably-named directories for PCH files.
493
494         2002-12-14  Geoffrey Keating  <geoffk@apple.com>
495
496         * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
497         reorder options.
498         (Type Information): Mention that the information is also
499         used to implement PCH.
500         * doc/passes.texi (Passes): Improve documentation of
501         language-specific files.
502
503         2002-12-11  Geoffrey Keating  <geoffk@apple.com>
504
505         * gengtype.c (struct write_types_data): Add reorder_note_routine field.
506         (struct walk_type_data): Add reorder_fn field.
507         (walk_type): Process 'reorder' option.
508         (write_types_process_field): Reorder parameters to gt_pch_note_object,
509         call reorder_note_routine.
510         (write_func_for_structure): Reorder parameters to gt_pch_note_object.
511         (ggc_wtd): Update for change to struct write_types_data.
512         (pch_wtd): Likewise.
513         * ggc.h (gt_pch_note_object): Reorder parameters.
514         (gt_handle_reorder): New definition.
515         (gt_pch_note_reorder): New prototype.
516         * ggc-common.c (struct ptr_data): Add reorder_fn.
517         (gt_pch_note_object): Reorder parameters.
518         (gt_pch_note_reorder): New.
519         (gt_pch_save): Call reorder_fn.
520         * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
521
522         * dbxout.c (cwd): Don't mark for PCH.
523
524         2002-12-09  Geoffrey Keating  <geoffk@apple.com>
525
526         * gengtype.c (finish_root_table): Fix some warnings.
527         (write_root): Handle TYPE_STRING.
528         * ggc.h (gt_ggc_m_S): Add prototype.
529         * stringpool.c (gt_ggc_m_S): New function.
530
531         2002-11-30  Geoffrey Keating  <geoffk@apple.com>
532
533         * dwarf2out.c (dw2_string_counter): New.
534         (AT_string_form): Use it.
535         (same_dw_val_p): Update for removal of hashtable.h hash tables.
536
537         2002-11-22  Geoffrey Keating  <geoffk@apple.com>
538
539         * dbxout.c: Include gt-dbxout.h.
540         (lastfile): Mark for PCH/GGC.
541         (cwd): Likewise.
542         (struct typeinfo): Likewise.
543         (typevec): Likewise.
544         (typevec_len): Likewise.
545         (next_type_number): Likewise.
546         (struct dbx_file): Likewise.
547         (current_file): Likewise.
548         (next_file_number): Likewise.
549         (dbxout_init): Allocate typevec, struct dbx_file with GGC.
550         (dbxout_start_source_file): Allocate struct dbx_file with GGC.
551         (dbxout_end_source_file): Don't free struct dbx_file.
552         (dbxout_type): Use GGC to allocate typevec.
553         * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
554         (GTFILES): Add dbxout.c.
555         (gt-dbxout.h): New rule.
556
557         * Makefile.in (c-pch.o): Add debug.h as dependency.
558         * c-pch.c: Include debug.h.
559         (pch_init): Call start_source_file to keep nesting right.
560         (c_common_read_pch): Add orig_name parameter.  Call
561         start_source_file debug hook.  Call end_source_file debug hook.
562         * c-common.h (c_common_read_pch): Update prototype.
563         * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
564         callback.
565         * cppfiles.c (struct include_file): Add new field `header_name'.
566         (find_or_create_entry): Default it to `name'.
567         (open_file_pch): Set it to the original header file searched for.
568         (stack_include_file): Don't stack an empty buffer, just handle
569         PCH files immediately.  Pass header_name field to read_pch callback.
570
571         2002-11-19  Geoffrey Keating  <geoffk@apple.com>
572
573         * function.c (funcdef_no): Mark to be saved in a PCH.
574
575         2002-11-15  Geoffrey Keating  <geoffk@apple.com>
576
577         * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
578
579         * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
580
581         2002-11-14  Geoffrey Keating  <geoffk@apple.com>
582
583         * optabs.h (code_to_optab): Add GTY marker.
584
585         2002-11-13  Geoffrey Keating  <geoffk@apple.com>
586
587         * Makefile.in (GTFILES): Add cpplib.h.
588         * c-common.h (struct c_common_identifier): Don't skip 'node' field.
589         * c-decl.c (build_compound_literal): Don't use var_labelno.
590         * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
591         * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
592         * varasm.c (const_labelno): Use gengtype to mark.
593         (var_labelno): Likewise.
594         (in_section): Likewise.
595         (in_named_name): Likewise.
596         (struct in_named_entry): Likewise.
597         (in_named_htab): Likewise.
598         (set_named_section_flags): Use GGC to allocate struct in_named_entry.
599         (init_varasm_once): Use GGC to allocate in_named_htab.
600         * config/darwin.c (current_pic_label_num): Mark for PCH.
601
602         2002-11-11  Geoffrey Keating  <geoffk@apple.com>
603
604         * ggc-simple.c (init_ggc_pch): New stub procedure.
605         (ggc_pch_count_object): Likewise.
606         (ggc_pch_total_size): Likewise.
607         (ggc_pch_this_base): Likewise.
608         (ggc_pch_alloc_object): Likewise.
609         (ggc_pch_prepare_write): Likewise.
610         (ggc_pch_write_object): Likewise
611         (ggc_pch_finish): Likewise.
612         (ggc_pch_read): Likewise.
613
614         2002-11-08  Geoffrey Keating  <geoffk@apple.com>
615
616         * c-pch.c (c_common_write_pch): Write the macro definitions after
617         the GCed data.
618         (c_common_read_pch): Call cpp_prepare_state.  Restore the macro
619         definitions after the GCed data.
620         * cpplib.c (save_macros): New.
621         (reset_ht): New.
622         (cpp_write_pch_deps): Split out of cpp_write_pch.
623         (cpp_write_pch_state): Split out of cpp_write_pch.
624         (cpp_write_pch): Delete.
625         (struct save_macro_data): Delete.
626         (cpp_prepare_state): New.
627         (cpp_read_state): Erase and restore initial macro definitions.
628         * cpplib.h (struct save_macro_data): Forward-declare.
629         (cpp_write_pch_deps): Prototype.
630         (cpp_write_pch_state): Prototype.
631         (cpp_write_pch): Delete prototype.
632         (cpp_prepare_state): Prototype.
633         (cpp_read_state): Add fourth argument.
634
635         2002-11-04  Geoffrey Keating  <geoffk@apple.com>
636
637         * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
638         (write_array): Remove warning.
639
640         * gengtype.c (contains_scalar_p): New.
641         (finish_root_table): Add the table to all languages, even if it's
642         empty.
643         (write_roots): Output gt_pch_scalar_rtab.
644         * ggc-common.c (gt_pch_save): Write out scalars.
645         (gt_pch_restore): Read scalars back.
646
647         * ggc-page.c (OBJECTS_IN_PAGE): New macro.
648         (struct page_entry): Delete pch_page field.
649         (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
650         (clear_marks): Likewise.
651         (sweep_pages): Likewise.
652         (poison_pages): Likewise.
653         (ggc_print_statistics): Likewise.
654         (ggc_pch_read): Don't free objects read from a PCH.
655         Properly set up in_use_p and page_tails.
656
657         2002-10-25  Geoffrey Keating  <geoffk@apple.com>
658
659         * gengtype.c (struct write_types_data): New.
660         (struct walk_type_data): Make `cookie' const; add extra
661         prev_val item; add `orig_s' field.
662         (walk_type): Update prev_val[3].
663         (write_types_process_field): New.
664         (write_func_for_structure): Take write_types_data structure.
665         (write_types): New.
666         (ggc_wtd): New.
667         (pch_wtd): New.
668         (write_types_local_process_field): New.
669         (gc_mark_process_field): Delete.
670         (write_local_func_for_structure): New.
671         (gc_mark_func_name): Delete.
672         (write_gc_types): Delete.
673         (write_local): New.
674         (finish_root_table): Don't include 'ggc_' in PFX.
675         (write_root): Rename from write_root.  Fill pchw field of structures.
676         (write_array): New.
677         (write_roots): Rename from write_gc_roots.  Split out to write_array.
678         Update to changes to other routines.  Write gt_pch_cache_rtab table.
679         (main): Write PCH walking routines.
680         * ggc-common.c: Include toplev.h, sys/mman.h.
681         (ggc_mark_roots): For cache hashtables, also mark the hash table
682         and the array of entries.
683         (saving_htab): New.
684         (struct ptr_data): New.
685         (POINTER_HASH): New.
686         (gt_pch_note_object): New.
687         (saving_htab_hash): New.
688         (saving_htab_eq): New.
689         (struct traversal_state): New.
690         (call_count): New.
691         (call_alloc): New.
692         (compare_ptr_data): New.
693         (relocate_ptrs): New.
694         (write_pch_globals): New.
695         (struct mmap_info): New.
696         (gt_pch_save): New.
697         (gt_pch_restore): New.
698         * ggc-page.c (ROUND_UP_VALUE): New.
699         (ROUND_UP): New.
700         (struct page_entry): Add field `pch_page'.
701         (init_ggc): Use ROUND_UP.
702         (struct ggc_pch_data): Declare.
703         (init_ggc_pch): New.
704         (ggc_pch_count_object): New.
705         (ggc_pch_total_size): New.
706         (ggc_pch_this_base): New.
707         (ggc_pch_alloc_object): New.
708         (ggc_pch_prepare_write): New.
709         (ggc_pch_write_object): New.
710         (ggc_pch_finish): New.
711         (ggc_pch_read): New.
712         * ggc.h (gt_pointer_operator): New.
713         (gt_note_pointers): New.
714         (gt_pch_note_object): New prototype.
715         (gt_pointer_walker): New.
716         (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
717         (LAST_GGC_ROOT_TAB): Update.
718         (gt_pch_cache_rtab): Declare.
719         (gt_pch_scalar_rtab): Declare.
720         (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
721         (LAST_GGC_CACHE_TAB): Update.
722         (gt_pch_save_stringpool): Declare.
723         (gt_pch_restore_stringpool): Declare.
724         (gt_pch_p_S): Declare.
725         (gt_pch_n_S): Declare.
726         (struct ggc_pch_data): Forward-declare.
727         (init_ggc_pch): Declare.
728         (ggc_pch_count_object): Declare.
729         (ggc_pch_total_size): Declare.
730         (ggc_pch_this_base): Declare.
731         (ggc_pch_alloc_object): Declare.
732         (ggc_pch_prepare_write): Declare.
733         (ggc_pch_write_object): Declare.
734         (ggc_pch_finish): Declare.
735         (ggc_pch_read): Declare.
736         (gt_pch_save): Declare.
737         (gt_pch_restore): Declare.
738         * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
739         * emit-rtl.c (init_emit_once): Allocate const_int_htab,
740         const_double_htab, mem_attrs_htab using GGC.
741         * c-pch.c: Include ggc.h.
742         (pch_init): Allow reading PCH file back.
743         (c_common_write_pch): Call gt_pch_save.
744         (c_common_read_pch): Call gt_pch_restore.
745         * c-parse.in (init_reswords): Delete now-untrue comment.
746         Allocate ridpointers using GGC.
747         * c-objc-common.c (c_objc_common_finish_file): Write PCH before
748         calling expand_deferred_fns.
749         * c-common.h (ridpointers): Mark for GTY machinery.
750         * Makefile.in (stringpool.o): Update dependencies.
751         (c-pch.o): Update dependencies.
752         (ggc-common.o): Update dependencies.
753         * stringpool.c: Include gt-stringpool.h.
754         (gt_pch_p_S): New.
755         (gt_pch_n_S): New.
756         (struct string_pool_data): New.
757         (spd): New.
758         (gt_pch_save_stringpool): New.
759         (gt_pch_restore_stringpool): New.
760         * tree.c (init_ttree): Make type_hash_table allocated using GC.
761
762         2002-10-04  Geoffrey Keating  <geoffk@apple.com>
763
764         * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
765         (output_mangled_typename): Don't pass size_t to printf.
766
767         * tree.h (union tree_type_symtab): Add tag to `address' field.
768         (union tree_decl_u2): Add tag to 'i' field.
769         * varasm.c (union rtx_const_un): Add tags to all fields.
770         * gengtype.c (struct walk_type_data): New.
771         (output_escaped_param): Take struct walk_type_data parameter.
772         (write_gc_structure_fields): Delete.
773         (walk_type): New.
774         (write_gc_marker_routine_for_structure): Delete.
775         (write_func_for_structure): New.
776         (gc_mark_process_field): New.
777         (gc_mark_func_name): New.
778         (gc_counter): Delete.
779         (write_gc_types): Use write_func_for_structure.
780         (write_gc_roots): Use walk_type.
781
782         2002-10-02  Geoffrey Keating  <geoffk@apple.com>
783
784         * ggc-common.c (ggc_mark_roots): Delete 'x'.
785         (ggc_splay_dont_free): Fix warning about unused 'x'.
786         (ggc_print_common_statistics): Remove warnings.
787
788         2002-10-01  Mike Stump  <mrs@apple.com>
789
790         * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
791         * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
792
793         2002-09-01  Geoffrey Keating  <geoffk@redhat.com>
794             Catherine Moore  <clm@redhat.com>
795
796         * Makefile (c-pch.o): Update dependencies.
797         (LIBCPP_OBJS): Add cpppch.o.
798         (cpppch.o): New.
799         * c-common.c (c_common_init): Don't call pch_init here.
800         * c-common.h (c_common_read_pch): Update prototype.
801         * c-lex.c (c_common_parse_file): Call pch_init here.
802         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
803         (c_common_decode_option): Handle them.
804         * c-pch.c: Include c-pragma.h.
805         (save_asm_offset): Delete.
806         (pch_init): Move contents of save_asm_offset into here, call
807         cpp_save_state.
808         (c_common_write_pch): Call cpp_write_pch.
809         (c_common_valid_pch): Warn only when -Winvalid-pch.  Call
810         cpp_valid_state.
811         (c_common_read_pch): Add NAME parameter.  Call cpp_read_state.
812         * cppfiles.c (stack_include_file): Update for change to
813         parameters of cb.read_pch.
814         * cpphash.h (struct cpp_reader): Add `savedstate' field.
815         * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
816         `restore_pch_deps' fields.
817         (struct cpp_callbacks): Add NAME parameter to `read_pch'.
818         (cpp_save_state): Prototype.
819         (cpp_write_pch): Prototype.
820         (cpp_valid_state): Prototype.
821         (cpp_read_state): Prototype.
822         * cpppch.c: New file.
823         * flags.h (version_flag): Remove prototype.
824         * mkdeps.c (deps_save): New.
825         (deps_restore): New.
826         * mkdeps.h (deps_save): Prototype.
827         (deps_restore): Prototype.
828         * toplev.c (late_init_hook): Delete.
829         (version_flag): Make static again.
830         (compile_file): Don't call late_init_hook.
831         * toplev.h (late_init_hook): Delete.
832         * doc/cppopts.texi: Document -fpch-deps.
833         * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
834
835         2002-08-27  Geoffrey Keating  <geoffk@redhat.com>
836
837         * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
838         callers.
839         (c_common_valid_pch): Rename from c_valid_pch, change callers.
840         (c_common_read_pch): Rename from c_read_pch, change callers.
841
842         * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
843         a space between it and its argument.
844
845         2002-08-24  Geoffrey Keating  <geoffk@redhat.com>
846
847         * c-pch.c: New file.
848         * toplev.h (late_init_hook): Declare.
849         * toplev.c (late_init_hook): Define.
850         (version_flag): Make globally visible.
851         (compile_file): Call late_init_hook.
852         (init_asm_output): Make output file seekable.
853         * gcc.c (default_compilers): Update c-header rule.
854         * flags.h (version_flag): Declare.
855         * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
856         fields.
857         * cppfiles.c (struct include_file): Add 'pch' field.
858         (INCLUDE_PCH_P): New.
859         (open_file_pch): New.
860         (stack_include_file): Handle PCH files specially.
861         (find_include_file): Call open_file_pch instead of open_file.
862         (_cpp_read_file): Explain why open_file is used instead of
863         open_file_pch.
864         * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
865         * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
866         * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
867         in cpplib callbacks.
868         * c-common.c (pch_file): Correct comment.
869         (allow_pch): Define.
870         (c_common_init): Call pch_init.
871         * c-common.h (allow_pch): Declare.
872         (pch_init): Declare.
873         (c_valid_pch): Declare.
874         (c_read_pch): Declare.
875         (c_write_pch): Declare.
876         * Makefile.in (c-pch.o): New.
877         (C_AND_OBJC_OBJS): Add c-pch.o.
878         * doc/invoke.texi (Precompiled Headers): Add index entries,
879         complete truncated paragraph.
880
881         2002-08-17  Geoffrey Keating  <geoffk@redhat.com>
882
883         * c-common.c: (pch_file): Define.
884         * c-common.h (pch_file): Declare.
885         * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
886         (missing_arg): Require --output-pch= to have an argument.
887         (c_common_decode_option): Handle --output-pch=.
888         * gcc.c: Document new %V.
889         (default_compilers): Handle compiling C header files.
890         (do_spec_1): Implement %V.
891         (main): Handle "gcc foo.h" without trying to run linker.
892         * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
893         (Overall Options): Document what the driver does with header files,
894         document new -x option possibilities.
895         (Invoking G++): More documentation for PCH.
896         (Precompiled Headers): New.
897
898         2002-08-09  Geoffrey Keating  <geoffk@redhat.com>
899
900         * ggc.h: Don't include varray.h.  Rearrange functions to be more
901         organized.
902         (ggc_add_root): Delete.
903         (ggc_mark_rtx): Delete.
904         (ggc_mark_tree): Delete.
905         (struct ggc_statistics): Remove contents.
906         * ggc-common.c: Remove unneeded includes.
907         (struct ggc_root): Delete.
908         (roots): Delete.
909         (ggc_add_root): Delete.
910         (ggc_mark_roots): Don't mark `roots'.  Call ggc_mark_stringpool.
911         (ggc_print_common_statistics): Remove most of the contents.
912         * Makefile.in (GGC_H): No longer uses varray.h.
913         (ggc-common.o): Update dependencies.
914         (c-parse.o): Add varray.h to dependencies.
915         (c-common.o): Add varray.h.
916         * stringpool.c (mark_ident): Use mangled name for tree marker routine.
917         (mark_ident_hash): Rename to ggc_mark_stringpool.
918         (init_stringpool): Don't use ggc_add_root.
919         * c-parse.in: Include varray.h.
920         * c-common.c: Include varray.h.
921         * objc/Make-lang.in (objc-act.o): Add varray.h.
922         * objc/objc-act.c: Include varray.h.
923
924         2002-07-25  Geoffrey Keating  <geoffk@redhat.com>
925
926         * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
927         (dw_cfi_oprnd1_desc): Likewise.
928
929         2002-07-17  Geoffrey Keating  <geoffk@redhat.com>
930
931         * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
932         move out of ifdef.
933         (alpha_links): Use gengtype to mark; move out of ifdef.
934         (mark_alpha_links_node): Delete.
935         (mark_alpha_links): Delete.
936         (alpha_need_linkage): Use GGC to allocate splay tree, struct
937         alpha_links, strings.  Don't use ggc_add_root.
938         * ggc-common.c (ggc_splay_alloc): New.
939         (ggc_splay_dont_free): New.
940         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
941         (ggc_mark_tree): Likewise.
942         (splay_tree_new_ggc): New.
943         (ggc_splay_alloc): Declare.
944         (ggc_splay_dont_free): Declare.
945         * dwarf2asm.c: Include gt-dwarf2asm.h.
946         (mark_indirect_pool_entry): Delete.
947         (mark_indirect_pool): Delete.
948         (indirect_pool): Use gengtype to mark.
949         (dw2_force_const_mem): Don't use ggc_add_root.
950         * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
951         (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
952         (gt-dwarf2asm.h): Depend on s-gtype.
953
954         2002-07-08  Geoffrey Keating  <geoffk@redhat.com>
955
956         * tree.h (union tree_type_symtab): Mark `die' field.
957         * Makefile.in (dwarf2out.o): Update dependencies.
958         * dwarf2out.c: Use GGC to allocate all structures.  Convert to htab_t
959         hash tables.
960         (dw_cfi_oprnd1_desc): New function.
961         (dw_cfi_oprnd2_desc): New function.
962         (indirect_string_alloc): Delete.
963         (debug_str_do_hash): New function.
964         (debug_str_eq): New function.
965         (mark_limbo_die_list): Delete.
966         (dwarf2out_init): Don't call ggc_add_root.
967
968 2003-01-09  Vladimir Makarov  <vmakarov@redhat.com>
969
970         The following changes are merged from itanium-sched-branch:
971
972         2003-01-08  David Edelsohn  <edelsohn@gnu.org>
973
974         * doc/md.texi: Clarify assignment of units to automata description.
975
976         2003-01-08  Vladimir Makarov  <vmakarov@redhat.com>
977
978         * genautomata.c (unit_decl): Remove members
979         `the_same_automaton_unit' and
980         `the_same_automaton_message_reported_p'.
981         (process_unit_to_form_the_same_automaton_unit_lists,
982         form_the_same_automaton_unit_lists_from_regexp,
983         form_the_same_automaton_unit_lists, the_same_automaton_lists):
984         Remove them.
985         (annotation_message_reported_p): New global variable.
986         (check_unit_distribution_in_reserv,
987         check_regexp_units_distribution): New functions.
988         (check_unit_distributions_to_automata): Rewrite it.
989
990         2003-01-04  Vladimir Makarov  <vmakarov@redhat.com>
991
992         * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
993         Use continue instead of break if cycle is too big.
994
995         2002-12-20  Vladimir Makarov  <vmakarov@redhat.com>
996
997         * genautomata.c (check_unit_distributions_to_automata): Output at
998         most one message for a unit.
999         (process_unit_to_form_the_same_automaton_unit_lists): Check
1000         automaton of units instead of units themself.
1001
1002         * doc/md.texi: Describe the constraint about assigning unit to
1003         automata.
1004
1005         2002-12-20  Jan Hubicka  <jH@suse.cz>
1006                     Vladimir Makarov  <vmakarov@redhat.com>
1007
1008         * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
1009         and `in_set_p'.
1010         (gen_cpu_unit): Initialize the new members.
1011         (process_regexp_cycles): Calculate minimal finish cycle too.  Set
1012         up `min_occ_cycle_num'.
1013         (evaluate_max_reserv_cycles): Change the function call.
1014         (CLEAR_BIT): New macro.
1015         (states_union, state_shift): Use the mask.
1016         (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
1017         (form_reservs_matter): New function.
1018         (make_automaton): Call the function and use the mask.
1019         (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
1020         account.
1021
1022         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1023
1024         * config/ia64/itanium2.md (lfetch): Change the insn reservation.
1025
1026         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1027
1028         * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
1029         for Itanium.
1030
1031         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1032
1033         * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
1034         default cpu.
1035
1036         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
1037                 2002-10-31  Dale Johannesen <dalej@apple.com>
1038
1039         * haifa-sched.c (find_set_reg_weight): New function.
1040         (find_insn_reg_weight): Use the new function.
1041         (schedule_block): Do sorting ready queue always
1042         after insn issue.
1043
1044         2002-11-27  Vladimir Makarov  <vmakarov@redhat.com>
1045
1046         * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
1047
1048         2002-11-19  Vladimir Makarov  <vmakarov@redhat.com>
1049
1050         * haifa-sched.c (choice_entry): New structure.
1051         (choice_stack, cycle_issued_insns): New variables.
1052         (max_issue): Rewrite it.
1053         (choose_ready): Set up ready_try for unknown insns too.
1054         (schedule_block): Allocate and free choice_stack.  Set up
1055         and modify cycle_issued_insns.
1056
1057         * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
1058         with and without filling the bundle.
1059         (bundling): Combine calls of issue_nops_and_insn.
1060
1061         2002-10-17  Vladimir Makarov  <vmakarov@redhat.com>
1062
1063         * config/ia64/itanium1.md: New file.
1064
1065         * config/ia64/itanium2.md: New file.
1066
1067         * config/ia64/ia64.md: Move DFA descriptions into the new files.
1068         Remove the old pipeline description.
1069
1070         * config/ia64/ia64.c (ia64_override_options): Add aliases of
1071         itanium processor names.
1072
1073         2002-10-16  Vladimir Makarov  <vmakarov@redhat.com>
1074
1075         * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
1076         (ia64_reorg):  Set up queried unit codes for Itanium2 too.
1077
1078         * config/ia64/ia64.md: Add descriptions for Itanium2.
1079
1080         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
1081
1082         * config/ia64/ia64.h (processor_type): New enumeration.
1083         (ia64_tune, ia64_tune_string): New external declarations.
1084         (TARGET_OPTIONS): Add option `tune='.
1085
1086         * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
1087         variables.
1088         (ia64_override_options): Set up `ia64_tune'.
1089         (ia64_sched_reorder2): Set up `clocks' only for Itanium.
1090         (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
1091         (bundling): Add nops for MM-insns only for Itanium.
1092         (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
1093         Itanium.
1094
1095         * config/ia64/ia64.md (cpu): New attribute.
1096         (DFA description): Enable it only for Itanium.
1097
1098         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
1099                     Richard Henderson  <rth@redhat.com>
1100
1101         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
1102         MASK_EARLY_STOP_BITS.
1103         (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
1104         (TARGET_SWITCHES): Rename option `tune-stop-bits' to
1105         `early-stop-bits'.
1106
1107         * config/ia64/ia64.c (ia64_dfa_new_cycle,
1108         final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
1109         instead of TARGET_TUNE_STOP_BITS.
1110
1111         * doc/invoke.texi: Rename option `-mtune-stop-bits' to
1112         `-mearly-stop-bits'.
1113
1114         * config/ia64/ia64.c (automata_option "v"): Comment it.
1115
1116         2002-10-07  Vladimir Makarov  <vmakarov@redhat.com>
1117
1118         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
1119         New macros.
1120         (TARGET_SWITCHES): Add entries for the new option.
1121
1122         * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
1123         dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
1124         (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
1125         global variables.
1126         (ia64_sched_reorder2): Set up `clocks'.
1127         (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
1128         (ia64_dfa_new_cycle): Set up add_cycle.  Permit sorting ready
1129         queue when TARGET_TUNE_STOP_BITS.
1130         (bundling): Insert additional nops for MM-insns.
1131         (final_emit_insn_group_barriers): Add insertion of stop bits
1132         according `stops_p'.
1133         (ia64_reorg): Initiate the new varibales.
1134
1135         * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
1136
1137         2002-10-02  Vladimir Makarov  <vmakarov@redhat.com>
1138
1139         * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
1140         insns at the end of block insn scheduling.
1141
1142         2002-09-30  Vladimir Makarov  <vmakarov@redhat.com>
1143
1144         * sched-deps.c (remove_dependence, group_leader): Remove it.
1145         (add_dependence): Add dependence to group leader to.
1146         (set_sched_group_p): Add dependence to the first insn of the
1147         schedule group too.
1148         (sched_analyze_insn): Make dependence to jump as anti-dependence.
1149         Change true dependence by anti-dependence when
1150         `reg_pending_barrier'.
1151
1152         * sched-rgn.c (init_ready_list, can_schedule_ready_p,
1153         add_branch_dependences): Ignore schedule groups.
1154
1155         * sched-ebb.c (init_ready_list): Ditto.
1156
1157         * (move_insn, set_priorities): Ditto.
1158
1159         * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
1160         flag is clear after reload.
1161         (adjust_cost): Change cost only for output dependencies.
1162
1163         * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
1164
1165         2002-09-26  Vladimir Makarov  <vmakarov@redhat.com>
1166
1167         * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
1168
1169         * target.h (gcc_target): Add member
1170         `dependencies_evaluation_hook'.
1171
1172         * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
1173         macro.
1174         (TARGET_SCHED): Add initiatialization of the new member.
1175
1176         * sched-ebb.c: Include `target.h'.
1177         (schedule_ebb): Call `dependencies_evaluation_hook'.
1178
1179         * sched-rgn.c (schedule_region): Call
1180         `dependencies_evaluation_hook'.
1181
1182         * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
1183         New macro.
1184         (ia64_dependencies_evaluation_hook): New function.
1185
1186         * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
1187         Describe the new hook.
1188
1189         2002-09-25  Vladimir Makarov  <vmakarov@redhat.com>
1190
1191         * target.h (gcc_target): Add members
1192         `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
1193
1194         * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
1195         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
1196         macros.
1197         (TARGET_SCHED): Add initiatialization of the new members.
1198
1199         * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
1200         insn scheduling too.
1201         (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
1202         initialize `ready_try'.
1203         (schedule_block): Use `dfa_new_cycle'.  Sort `ready' only unless
1204         `dfa_new_cycle' says not to do it.
1205
1206         * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
1207         bundling.
1208
1209         * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
1210
1211         * config/ia64/ia64.c: Include `hashtab.h'.
1212         (ia64_first_cycle_multipass_dfa_lookahead_guard,
1213         ia64_dfa_new_cycle, final_emit_insn_group_barriers,
1214         ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
1215         initiate_bundle_states, finish_bundle_states, bundle_state_hash,
1216         bundle_state_eq_p, insert_bundle_state,
1217         initiate_bundle_state_table, finish_bundle_state_table,
1218         try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
1219         get_template, get_next_important_insn, bundling): New functions.
1220         (ia64_internal_sched_reorder): Remove it.
1221         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
1222         TARGET_SCHED_DFA_NEW_CYCLE): New macros.
1223         (ia64_safe_itanium_requires_unit0): Remove it.
1224         (group_barrier_needed_p): Place group barrier right before a real
1225         insn.
1226         (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
1227         Remove them.
1228         (bundle_name): New variable.
1229         (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
1230         _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
1231         _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
1232         pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
1233         temp_dfa_state, prev_cycle_state): New global variables.
1234         (insn_matches_slot, maybe_rotate, finish_last_head,
1235         rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
1236         cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
1237         find_best_packet, itanium_reorder, dump_current_packet,
1238         schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
1239         (sched_data, sched_ready, sched_types): Remove them.
1240         (ia64_sched_init): Initiate only `last_scheduled_insn' and call
1241         `init_insn_group_barriers'.
1242         (ia64_sched_reorder, ia64_sched_reorder2): Call
1243         ia64_dfa_sched_reorder.
1244         (ia64_variable_issue): Rewrite it.
1245         (bundle_state): New structure.
1246         (index_to_bundle_states, bundle_states_num,
1247         allocated_bundle_states_chain, free_bundle_state_chain): New
1248         global variables.
1249         (ia64_sched_finish): Add stop bits and call `bundling' after the
1250         2nd insn scheduling.
1251         (ia64_use_dfa_pipeline_interface): Return zero always.
1252         (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
1253         insn scheduling.
1254         (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
1255         `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
1256         (ia64_reorg): Add bundling insns.
1257
1258         * doc/tm.texi
1259         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
1260         TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
1261
1262         2002-09-23  Vladimir Makarov  <vmakarov@redhat.com>
1263
1264         * config/ia64/ia64.md: Add Itanium1 DFA description.
1265         (itanium_class): Add `nop' and `pre_cycle'.  Add
1266         define_function_unit for `nop'.
1267         (nop): Change attribute `itanium_class'.
1268         (pre_cycle): New define_insn.
1269
1270         * config/ia64/ia64-protos.h (bundling_p): New external variable.
1271         (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
1272         ia64_produce_address_p): New function prototypes.
1273
1274         * config/ia64/ia64.c (bundling_p): New global variable.
1275         (ia64_use_dfa_pipeline_interface,
1276         ia64_first_cycle_multipass_dfa_lookahead,
1277         ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
1278         functions.
1279         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
1280         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
1281         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
1282         TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
1283         (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
1284         ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
1285         (dfa_pre_cycle_insn): New variable.
1286
1287         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1288
1289         * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
1290         constructions.
1291
1292         * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
1293         New function prototypes.
1294
1295         * genattrtab.c (main): Process the new constructions.
1296
1297         * genautomata.c (gen_presence_absence_set,
1298         process_presence_absence_names, process_presence_absence_patterns,
1299         add_presence_absence, check_absence_pattern_sets): Add parameter
1300         `final_p'.
1301         (unit_decl): Add new members `final_presence_list' and
1302         `final_absence_list'.
1303         (unit_pattern_rel_decl): Add new member `final_p'.
1304         (gen_final_presence_set, gen_final_absence_set): New functions.
1305         (process_decls): Use member `final_p'.
1306         (temp_reserv): New global variable.
1307         (reserv_sets_are_intersected): Add processing `final_presence_set'
1308         and `final_absence_set'.
1309         (initiate_states): Allocate `temp_reserv'.
1310         (unit_final_presence_set_table, unit_final_absence_set_table): New
1311         gloabal variables.
1312         (initiate_presence_absence_pattern_sets): Initiate them.
1313         (NDFA_to_DFA): Fix typo.
1314         (output_description): Output `final_presence_set' and
1315         `final_absence_set'.
1316
1317         * doc/md.texi (final_presence_set, final_absence_set): Describe
1318         them.
1319
1320         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1321
1322         * genautomata.c (transform_3): Process a missing case (nothing on
1323         unit place).
1324
1325         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
1326
1327         * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
1328         comments about queried units and the minimization.
1329
1330         * doc/md.texi: Ditto.
1331
1332         * genautomata.c (create_composed_state): Return nonzero if the new
1333         state has been created.
1334         (first_cycle_unit_presence): New function.
1335         (state_is_differed): Add new parameter.  Use the new function.
1336         Take queried units into account.
1337         (partition_equiv_class): Pass additional parameter to
1338         `state_is_differed'.
1339         (merge_states): Process composed states too.
1340         (build_automaton, create_automata, output_min_issue_delay_table,
1341         output_tables, output_statistics): Output more information.
1342         (output_reserved_units_table): Use function
1343         `first_cycle_unit_presence'.
1344         (output_tables): Output table of queried units even if the
1345         minimization is switched on.
1346         (write_automata): Output code for querying units even if the
1347         minimization is switched on.
1348
1349         2002-09-19  Vladimir Makarov  <vmakarov@redhat.com>
1350
1351         * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
1352         syntax of the constructions.
1353
1354         * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
1355         extended syntax of the constructions.
1356
1357         * genautomata.c (unit_rel_decl): Rename it to
1358         `unit_pattern_rel_decl'.
1359         (pattern_set_el, pattern_reserv): New structures.
1360         (pattern_set_el_t, pattern_reserv_t): New types.
1361         (gen_presence_absence_set): New function.
1362         (process_presence_absence): Remove it.
1363         (process_presence_absence_names,
1364         process_presence_absence_patterns): New functions.
1365         (get_presence_absence_set): Remove it.
1366         (initiate_presence_absence_sets): Rename it on
1367         `initiate_presence_absence_pattern_sets'.  Use new function
1368         `form_reserv_sets_list'.
1369         (form_reserv_sets_list, check_presence_pattern_sets,
1370         check_absence_pattern_sets, output_pattern_set_el_list): New
1371         functions.
1372         (unit_decl): Change types of members `presence_list' and
1373         `absence_list'.
1374         (unit_rel_decl): Rename member `names_num' to `all_names_num'.
1375         (decl): Change types of members `excl', `presence', and `absence'.
1376         (get_str_vect): Rename `par_flag' to `paren_p'.  Add null element
1377         at the end of the vector.
1378         (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
1379         gen_automaton, gen_regexp_repeat, gen_regexp_allof,
1380         gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
1381         (gen_presence_set, gen_absence_set): Use new function
1382         `gen_presence_absence_set'.
1383         (add_presence_absence): Process `pattern_list' instead of
1384         `source_list'.
1385         (process_decls): USe new functions
1386         `process_presence_absence_names' and
1387         `process_presence_absence_patterns'.
1388         (reserv_sets_are_intersected): Use new function
1389         `check_presence_pattern_sets'.
1390         (presence_set, absence_set): Remove them.
1391         (unit_presence_set_table, unit_absence_set_table): New global
1392         variables.
1393         (output_description): Use new function
1394         `output_pattern_set_el_list'.
1395         (generate): Use `initiate_presence_absence_pattern_sets'.
1396
1397         2002-09-18  Vladimir Makarov  <vmakarov@redhat.com>
1398
1399         * genattr.c (main): Add output of prototype of new interface
1400         function `dfa_clean_insn_cache'.
1401
1402         * genautomata.c (output_dfa_clean_insn_cache_func): New function.
1403         (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
1404         (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
1405         the generated code.
1406         (write_automata): Call the new function.
1407
1408 Thu Jan  9 22:47:38 CET 2003  Jan Hubicka  <jh@suse.cz>
1409
1410         * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
1411         correctly.
1412
1413 2003-01-09  Paolo Carlini  <pcarlini@unitus.it>
1414
1415         * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
1416
1417 Thu Jan  9 17:26:40 2003  J"orn Rennecke <joern.rennecke@superh.com>
1418
1419         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
1420         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
1421         (CONSTRAINT_LEN): Provide default definition.
1422         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
1423         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
1424         (EXTRA_CONSTRAINT_STR): Likewise.
1425         (REG_CLASS_FROM_CONSTRAINT): Define.
1426         * genoutput.c (check_constraint_len, constraint_len): New functions.
1427         (validate_insn_alternatives): Check CONSTRAINT_LEN for each
1428         constraint / modifier.
1429         (gen_insn): Call check_constraint_len.
1430         * local-alloc.c (block_alloc): Update to use new macros / pass
1431         second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
1432         * ra-build.c (handle_asm_insn): Likewise.
1433         * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
1434         (constrain_operands, peep2_find_free_register): Likewise.
1435         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
1436         * regmove.c (find_matches): Likewise.
1437         * reload.c (push_secondary_reload, find_reloads): Likewise.
1438         (alternative_allows_memconst): Likewise.
1439         * reload1.c (maybe_fix_stack_asms): Likewise.
1440         (reload_cse_simplify_operands): Likewise.
1441         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
1442         * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
1443         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
1444         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
1445         (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
1446         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
1447
1448         * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
1449
1450 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1451
1452         * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
1453         length.
1454         (*extzv_1_r_h8300hs): Likewise.
1455         (*extzv_1_r_inv_h8300): Likewise.
1456         (*extzv_1_r_inv_h8300hs): Likewise.
1457
1458 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1459
1460         * config/h8300/h8300.h (PREDICATE_CODES): New.
1461
1462 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
1463
1464         * config/h8300/h8300.md (*addsi3_upper): New.
1465         (*iorsi3_shift): Likewise.
1466         (two splitters): Likewise.
1467         (*addsi3_shift): Likewise.
1468         (two splitters): Likewise.
1469
1470 2003-01-09  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
1471
1472         * Makefile.in (optabs.o): Add dependency on basic-block.h.
1473         * basic-block.h (control_flow_insn_p): Fuction was exported.
1474         * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
1475         * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
1476         notes only when the region is contained in a single basic block.
1477
1478 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
1479
1480         PR inline-asm/8832
1481         * tree.h (expand_asm): New prototype.
1482         * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
1483         to do so.
1484         * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
1485         down to expand_asm.
1486         * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
1487         * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
1488         (volatile_refs_p) [ASM_INPUT]: Likewise.
1489         (side_effects_p) [ASM_INPUT]: Likewise.
1490
1491 Thu Jan  9 12:00:36 CET 2003  Jan Hubicka  <jh@suse.cz>
1492
1493         * i386.md (*mul*): FIx constraints; remove confused comment; fix
1494         athlon_decode attributes
1495         (imul/k8 optimization peep2s): New.
1496
1497         * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
1498         * i386.md (type attribute): Add ssecomi.
1499         (unit, memory, prefix attributes): Handle ssecomi.
1500         (cvt?2? patterns): Fix athlon_decode attribute
1501         (comi patterns): Set attribute to ssecomi.
1502
1503         PR target/8343
1504         * m68k.md (umulsidi, mulsidi expanders): Use register operand.
1505
1506 2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
1507
1508         * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
1509         that match register_operands.
1510         * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
1511         register_operand the default case.
1512
1513 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
1514
1515         PR c/8032
1516         * c-typeck.c (process_init_element) [RECORD_TYPE]: For
1517         an empty element, do not advance the pointer to unfilled
1518         fields if there are pending initializers.
1519
1520 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
1521
1522         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
1523         (install-gcc-tooldir, install-cpp, installdirs,
1524         install-common, install-driver, install-info, install-man,
1525         install-headers, install-include-dir, install-headers-tar,
1526         install-headers-cpio, install-headers-cp, install-mkheaders,
1527         install-collect2, uninstall): Prepend $(DESTDIR) to
1528         destination paths in all (un)installation commands.
1529         (install-driver): Rewrite $(LN) commands to support DESTDIR
1530         with "ln" as well as with "ln -s".
1531         (installdirs): Simply use mkinstalldirs.
1532         (install-libgcc, install-multilib): Also pass DESTDIR.
1533         * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
1534         installation destination variable ldir.
1535         * config/alpha/t-osf4, config/arm/t-netbsd,
1536         config/ia64/t-hpux, config/mips/t-iris5-6,
1537         config/pa/t-hpux-shlib, config/rs6000/t-aix43,
1538         config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
1539         config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
1540         in the definition of SHLIB_INSTALL.
1541         * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
1542         $(libsubdir) in the installation commands.
1543
1544 2003-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
1545
1546         * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
1547         non-optimizing compile.
1548         (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
1549         compile.
1550
1551 2003-01-08  Douglas B Rupp  <rupp@gnat.com>
1552
1553         * config/i386/i386.c (ix86_attribute_table): Add new attributes
1554         ms_struct and gcc_struct.
1555         (ix86_handle_struct_attribute): New function.
1556         (ix86_ms_bitfield_layout_p): Update to take new attributes
1557         into account.
1558         * doc/extend.texi: Document new attributes.
1559         * testsuite/gcc.dg/bf-ms-attrib.c: New test.
1560
1561 2003-01-08  Danny Smith  <dannysmith@users.sourceforge.net>
1562
1563         PR optimization/8750
1564         * config/i386/i386.c (ix86_expand_prologue): Don't allow
1565         scheduling pass to move insns across __alloca call.
1566
1567 2003-01-08  Dale Johannesen  <dalej@apple.com>
1568
1569         * config/rs6000/rs6000.md:  Replace *store_multiple_string
1570         with *stmsi[3-8].
1571
1572 2003-01-08  Jeff Sturm  <jsturm@one-point.com>
1573
1574         PR target/9210
1575         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
1576         Set SYMBOL_REF_FLAG on local data sym_ref.
1577
1578 2003-01-08  Dale Johannesen  <dalej@apple.com>
1579
1580         * function.c (assign_parms):  Don't set pretend_args_size if
1581           REG_PARM_STACK_SPACE.
1582           config/rs6000/rs6000.c (setup_incoming_varargs):  Don't set
1583           pretend_args_size.
1584
1585 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
1586
1587         * gcc.hlp: Delete.
1588
1589 Thu Jan  9 00:57:15 CET 2003  Jan Hubicka  <jh@suse.cz>
1590
1591         * i386.c  (ix86_expand_int_addcc): Fix thinko.
1592
1593 2003-01-08  David Edelsohn  <edelsohn@gnu.org>
1594
1595         * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
1596         * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
1597         as hook_bool_tree_hwi_hwi_tree_true.
1598         (rs6000_emit_allocate_stack): Use TARGET_32BIT.
1599         (rs6000_emit_epilogue): Same.
1600         (rs6000_output_mi_thunk): Re-implement as RTL.
1601         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
1602         xcoffout_declare_function if any debugging enabled.
1603
1604 2003-01-08  Chris Demetriou  <cgd@broadcom.com>
1605
1606         * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
1607         targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
1608         * config/mips/mips.h (enum processor_type): Rename
1609         PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
1610         PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
1611         Add PROCESSOR_M4K.
1612         (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
1613         (ISA_MIPS32R2): New define.
1614         (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
1615         (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
1616         (ISA_HAS_PREFETCH): Add support for MIPS32R2.
1617         (MIPS_ISA_DEFAULT): Likewise.  Also, fix indentation.
1618         (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2.  Add new
1619         predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
1620         (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
1621         compiling MIPS16 code.
1622         (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
1623         comment.
1624         (ISA_HAS_SEB_SEH): New define.
1625         (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
1626         * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
1627         processor_type value renaming.  Add support for MIPS32R2.
1628         Clean up comments, and move "sb1" entry with other MIPS64 CPU
1629         entries.
1630         (override_options): Reimplement -mipsN option handling so that
1631         it will work correctly for -mips32r2.  Avoid branch-likely
1632         instructions on MIPS32R2.
1633         * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
1634         (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
1635         (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
1636         (extendhisi2_hw, extendqisi2_hw): New.
1637         * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
1638         for MIPS32R2.  Add new predefine __mips_isa_rev for MIPS32,
1639         MIPS32R2, and MIPS64.
1640         (LINK_SPEC): Pass -mips32r2 to linker.
1641         * config/mips/t-isa3264: Built -mips32r2 multilibs.
1642         * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
1643         for mips32r2 in the -march description.  Alphabetically sort
1644         CPU names in the -march description.  Add long-missed -mips32
1645         and -mips64 to MIPS option summary.
1646
1647         * config.gcc: Update copyright years to include 2003.
1648         * config/mips/mips.c: Likewise.
1649         * config/mips/mips.h: Likewise.
1650         * config/mips/mips.md: Likewise.
1651         * config/mips/netbsd.h: Likewise.
1652         * doc/invoke.texi: Likewise.
1653
1654 2003-01-08  Andreas Schwab  <schwab@suse.de>
1655
1656         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
1657         variable.
1658         * configure: Regenerated.
1659
1660 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
1661
1662         * config/h8300/h8300.c (output_logical_op): Replace byte/word
1663         extraction of det with b0, b1, w0, w2, etc.
1664         (compute_logical_op_length): Likewise.
1665         (compute_logical_op_cc): Likewise.
1666
1667 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
1668
1669         * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
1670         HIGH on all variants.
1671
1672 Wed Jan  8 14:06:34 CET 2003  Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
1673
1674         * Makefile.in (PARTITION_H): New.
1675         (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
1676         * basic-block.h: Include hard-reg-set.h.
1677
1678 2003-01-08  Richard Earnshaw  <rearnsha@arm.com>
1679
1680         * arm.h (ENABLE_XF_PATTERNS): Delete.
1681         * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
1682         (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
1683         (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
1684         (cmpxf_trap): Delete.
1685         (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
1686
1687 Wed Jan  8 12:10:57 CET 2003  Jan Hubicka  <jh@suse.cz>
1688
1689         * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
1690         (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
1691         (add??cc): New expanders.
1692         * i386.c (expand_int_addcc): New function.
1693         * i386-protos.h (expand_int_addcc): Declare.
1694
1695         * alias.c (memory_modified_1): New static function.
1696         (memory_modified): New static varaible.
1697         (memory_modified_in_insn_p): New global function.
1698         * rtl.h (memory_modified_in_insn_p): Declare.
1699         * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
1700         references.
1701
1702         * expr.h (emit_conditional_add): Declare.
1703
1704 2003-01-07  Janis Johnson  <janis187@us.ibm.com>
1705
1706         PR other/8947
1707         * doc/invoke.texi (-malign-double): Explain that the option breaks
1708         binary compatibility.
1709
1710 2003-01-08  Andreas Schwab  <schwab@suse.de>
1711
1712         * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
1713         should come from the generic *-*-linux* entry.
1714
1715 Tue Jan  7 22:29:56 CET 2003  Jan Hubicka  <jh@suse.cz>
1716
1717         * cselib.c (cselib_current_insn_in_libcall): New static variable.
1718         (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
1719         we are inside libcall.
1720         * cselib.h (elt_loc_list): Add in_libcall.
1721         * gcse.c (do_local_cprop): Do not copy propagate using insns
1722         in libcalls.
1723
1724 2003-01-07  David Edelsohn  <edelsohn@gnu.org>
1725
1726         * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
1727         not normally affect to issue rate.
1728
1729 Tue Jan  7 21:46:57 CET 2003  Jan Hubicka  <jh@suse.cz>
1730
1731         * genopinit.c (optabs): Add addc_optab.
1732         * ifcvt.c (noce_try_store_flag): Rename to ...
1733         (noce_try_addcc): ... this one; handle generic conditional increment.
1734         (noce_process_if_block): Update noce_try_addcc call.
1735         * optabs.c (emit_conditional_add): New.
1736         (init_obtabs): Initialize addc_optab.
1737         * optabs.h (optab_index): Add OTI_addcc.
1738         (addcc_optab): New macro.
1739         * md.texi: Document addMcc
1740
1741         PR target/8322
1742         * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
1743         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
1744         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
1745
1746         * reload1.c (delete_output_reload): Avoid repeated attempts
1747         to delete insn.
1748
1749 2003-01-07  Andreas Schwab  <schwab@suse.de>
1750
1751         * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
1752         Move --enable-initfini-array check ...
1753         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here.  Define
1754         HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
1755         Don't AC_SUBST gcc_cv_initfinit_array.  Use AC_TRY_RUN.
1756         * configure: Rebuild.
1757
1758 2003-01-07  Richard Henderson  <rth@redhat.com>
1759
1760         * alias.c (find_base_value): Only use new_reg_base_value shortcut
1761         if the register is set once.
1762
1763 2003-01-07  Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
1764
1765         * config/i386/i386.c (ix86_init_mmx_sse_builtins):
1766         __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
1767         * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
1768
1769 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
1770             Sunil Davasam  <sunil.k.davasam@intel.com>
1771
1772         PR libstdc++/9076
1773         * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
1774         DW_CFA_same_value, read next and ignore.
1775
1776 2003-01-07  Richard Henderson  <rth@redhat.com>
1777
1778         * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
1779
1780 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
1781
1782         * cfg.c: Include alloc-pool.h
1783         (edge_pool): New pool.
1784         (bb_pool): New pool.
1785         (first_deleted_edge): Remove.
1786         (first_deleted_block): Remove.
1787         (init_flow): Alloc/free the pools.
1788         (free_edge): Use pools.
1789         (alloc_block): Ditto.
1790         (expunge_block): Ditto.
1791         (cached_make_edge): Ditto.
1792
1793         * Makefile.in (cfg.o): Add alloc-pool.h dependency.
1794
1795 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
1796
1797         * et-forest.c: Include alloc-pool.h.
1798         (struct et_forest): Add node_pool and occur_pool.
1799         (et_forest_create): Create the new pools.
1800         (et_forest_delete): Delete them.
1801         (et_forest_add_node): Allocate and free using pools.
1802         (et_forest_add_edge): Ditto.
1803         (et_forest_remove_node): Ditto.
1804         (et_forest_remove_edge): Ditto.
1805
1806         * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
1807
1808 2003-01-07  Kazu Hirata  <kazu@cs.umass.edu>
1809
1810         * config/h8300/h8300.c (output_logical_op): Simplify and
1811         optimize the handling of SImode.
1812         * config/h8300/h8300.c (compute_logical_op_length): Update
1813         accordingly.
1814         * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
1815
1816 2003-01-07  Richard Sandiford  <rsandifo@redhat.com>
1817
1818         * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
1819         big-endian correction to indirect arguments too.
1820
1821 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
1822
1823         Segher Boessenkool  <segher@koffie.nl>
1824
1825         * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
1826         (alt_reg_names): Ditto, fix formatting.
1827         * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
1828
1829 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
1830
1831         * config/h8300/h8300.c (final_prescan_insn): Constify uid.
1832         (output_logical_op): Constify intval and det.
1833         (compute_logical_length): Likewise.
1834         (compute_logical_cc): Likewise.
1835         (output_a_shift): Constify mask.
1836         (h8300_encode_label): Constify len.
1837
1838 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
1839
1840         * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
1841         (h8300_expand_epilogue): Likewise.
1842
1843 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
1844
1845         Segher Boessenkool  <segher@koffie.nl>
1846
1847         * config/rs6000/altivec.md: Remove spaces from assembler
1848         instruction argument lists.
1849
1850 2003-01-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1851
1852         * config/c4x/c4x.c (c4x_naked_function_p): Rename from
1853         c4x_assembler_function_p.
1854         (c4x_null_epilogue_p): Complement return value, all uses updated.
1855         (c4x_insert_attributes): Add naked.
1856         * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
1857         * doc/extend.texi: Update C4x function attributes.
1858
1859 2003-01-06  Richard Henderson  <rth@redhat.com>
1860
1861         * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
1862         properly when changing "local-ness".
1863         * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
1864
1865 2003-01-06  Dale Johannesen  <dalej@apple.com>
1866
1867         * config/darwin-protos.h:  Add prototypes for new section functions.
1868
1869 2003-01-06  Chris Demetriou  <cgd@broadcom.com>
1870
1871         * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
1872         to EABI.
1873
1874 2003-01-06  Zack Weinberg  <zack@codesourcery.com>
1875
1876         * hwint.h: If the current compiler has no 64-bit type at all,
1877         make HOST_WIDEST_INT 32 bits.
1878
1879 2003-01-06  Eric Christopher  <echristo@redhat.com>
1880
1881         * config/mips/mips.md (movdf_internal2): Fix constraints.
1882
1883 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
1884
1885         * config/h8300/h8300.md (*twoshifts_l16_r1): New.
1886
1887 2003-01-06  Richard Sandiford  <rsandifo@redhat.com>
1888
1889         * config/mips/mips.md (leadi): Use dla rather than la.
1890
1891 2003-01-06  Svein E. Seldal  <Svein.Seldal@solidas.com>
1892
1893         * config/c4x/c4x.h: Updated specs for new gas format.  Fixed bug
1894         in C33_FLAG.  Added proper C33 support in ASM_FILE_START macro.
1895
1896 2003-01-06 Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
1897
1898         * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
1899         redefinition.
1900
1901 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
1902
1903         * config/h8300/h8300.md (*extzv_8_23): New.
1904
1905 2003-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1906
1907         * pa64-hpux.h (JCR_SECTION_NAME): Define.
1908         (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
1909         USE_EH_FRAME_REGISTRY when defining.
1910
1911 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
1912
1913         * config/h8300/h8300.c (output_a_shift): Do not output a
1914         variable shift.
1915         * config/h8300/h8300.md (two splitters): New.
1916
1917 2003-01-05  Richard Sandiford  <rsandifo@redhat.com>
1918
1919         * config/mips/mips.md: Disable the movstrsi define_split.
1920
1921 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1922
1923         * alloc-pool.c: Don't include "libiberty.h".
1924         * config/sparc/gmon-sol2.c: Include <fcntl.h>.
1925         * convert.c (convert_to_real): Hide unused variable.
1926
1927 2003-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1928
1929         * Makefile.in (gtyp-gen.h): Const-ify.
1930         * gcov-dump.c (tag_table): Likewise.
1931
1932 2003-01-04  Bruce Korb  <bkorb@gnu.org>
1933
1934         * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
1935         of *both* the file name and the fix name.
1936
1937 2003-01-04  John David Anglin  <dave.anglin@nrc.ca>
1938
1939         * config.gcc (hppa*64*-*-hpux11*): Define extra_parts.  Don't use
1940         collect2.
1941         * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
1942         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
1943         * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
1944         GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
1945         GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
1946         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
1947         elfos.h.
1948         (EH_FRAME_IN_DATA_SECTION): Delete define.
1949         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
1950         (STARTFILE_SPEC): Use crtbegin.o.
1951         (ENDFILE_SPEC): Use crtend.o.
1952         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
1953         SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
1954         PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
1955         DTOR_LIST_BEGIN): Define.
1956         * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
1957         (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
1958         * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
1959
1960 2002-12-31  Larin Hennessy  <larin@science.oregonstate.edu>
1961
1962         * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
1963         * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
1964         m88k-*-sysv3*, Sony NewsOS.   Remove references to i860.
1965         Cleanup handling of replacement text.
1966         * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
1967
1968 2003-01-04  Bruce Korb  <bkorb@gnu.org>
1969
1970         * fixinc/tests/base/math.h: removed obsolete results
1971         * fixinc/tests/base/stdlib.h: ditto
1972         * fixinc/tests/base/sys/param.h: ditto
1973         * fixinc/tests/base/sys/stat.h: ditto
1974         * fixinc/tests/base/time.h: ditto
1975         * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
1976         * fixinc/tests/base/sys/byteorder.h: ditto
1977         * fixinc/inclhack.def: Remove superfluous backslashes
1978
1979 2003-01-04  Kazu Hirata  <kazu@cs.umass.edu>
1980
1981         * config/h8300/h8300-protos.h: Add prototypes for
1982         the new functions defined below.
1983         * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
1984         define.
1985         (dosize): Emit RTL instead of assembly code.
1986         (push): Likewise.
1987         (pop): Likewise.
1988         (h8300_output_function_prologue): Remove.
1989         (h8300_expand_prologue): New.
1990         (h8300_expand_epilogue): New.
1991         (h8300_output_function_epilogue): Do only the reset of
1992         pragma_saveall.
1993         * config/h8300/h8300.md (push_h8300): New.
1994         (push_h8300hs): Likewise.
1995         (pop_h8300): Likewise.
1996         (pop_h8300hs): Likewise.
1997         (*stm_h8300s_2): Change the name to stm_h8300s_2.
1998         (*stm_h8300s_3): Change the name to stm_h8300s_3.
1999         (*stm_h8300s_4): Change the name to stm_h8300s_4.
2000         (*ldm_h8300s_2): New.
2001         (*ldm_h8300s_3): Likewise.
2002         (*ldm_h8300s_4): Likewise.
2003         (return): Likewise.
2004         (*return_1): Likewise.
2005         (prologue): Likewise.
2006         (epilogue): Likewise.
2007         (monitor_prologue): Likewise.
2008
2009 2003-01-03  Dale Johannesen  <dalej@apple.com>
2010
2011         * config/darwin.h:  (EXTRA_SECTIONS):  Add machopic_symbol_stub1,
2012           machopic_picsymbol_stub1.
2013           (EXTRA_SECTION_FUNCTIONS):  Ditto.
2014         * rs6000/rs6000.c:  Update copyright.
2015           (machopic_output_stub):  Use them.  Remove an insn from stub code.
2016
2017 2003-01-02  Jason Merrill  <jason@redhat.com>
2018
2019         * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
2020
2021         * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
2022         static/external decls.
2023
2024         * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
2025         outermost scope.
2026         * c-decl.c (c_make_fname_decl): Push the decls there, too.
2027
2028 2003-01-03  Kazu Hirata  <kazu@cs.umass.edu>
2029
2030         * config/h8300/h8300-protos.h: Add a prototype for
2031         h8300_current_function_interrupt_function_p.
2032         * config/h8300/h8300.c (interrupt_handler): Remove.
2033         (os_task): Likewise.
2034         (monitor): Likewise.
2035         (pragma_interrupt): New.
2036         (WORD_REG_USED): Use
2037         h8300_current_function_interrupt_function_p.
2038         (dosize): Likewise.
2039         (h8300_output_function_prologue): Likewise.
2040         Do not set interrupt_handler, os_task, monitor.
2041         (h8300_output_function_prologue): Use
2042         h8300_current_function_interrupt_function_p.
2043         Do not set interrupt_handler, os_task, monitor.
2044         (h8300_current_function_interrupt_function_p): New.
2045         (h8300_pr_interrupt): Set pragma_interrupt.
2046         (h8300_insert_attributes): Reset pragma_interrupt.
2047
2048 2003-01-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2049
2050         * doc/install.texi (Configuration): Fix markup for reference to
2051         gcc/config.gcc.
2052
2053 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
2054
2055         * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
2056         (*iorhi3_two_qi): Likewise.
2057         (*iorsi3_zexthi): Likewise.
2058         (*xorhi3_zextqi): Likewise.
2059         (*xorsi3_zexthi): Likewise.
2060         (*xorsi3_zextqi): Likewise.
2061
2062 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
2063
2064         * config/h8300/h8300.c (stack_pointer_operand): New.
2065         (const_int_gt_2_operand): Likewise.
2066         (const_int_ge_8_operand): Likewise.
2067         * config/h8300/h8300.md (a splitter): Likewise.
2068         (a peephole2): Likewise.
2069         * config/h8300/h8300-protos.h: Add prototypes for the new
2070         functions above.
2071
2072 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
2073
2074         * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
2075         objc/objc-act.h: Fix copyright years.
2076
2077 2003-01-02  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2078
2079         * doc/passes.texi: Fix documentation for -fssa-ccp
2080
2081 2003-01-02  Neil Booth  <neil@daikokuya.co.uk>
2082
2083         * gccbug.in: Update for new categories.
2084
2085 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2086
2087         * config/h8300/h8300.md: Reorder some patterns.
2088
2089 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2090
2091         * config/h8300/h8300.c (output_logical_op): Fix a warning.
2092
2093 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2094
2095         * config/darwin-protos.h, config/c4x/c4x-protos.h,
2096         config/cris/cris-protos.h, config/i370/i370-protos.h,
2097         config/i960/i960-protos.h, config/ia64/ia64-protos.h,
2098         config/v850/v850-protos.h: Use struct, and don't conditionally
2099         compile on GCC_C_PRAGMA_H.
2100
2101 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2102
2103         * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
2104         * config/h8300/h8300-protos.h: Likewise.
2105         * config/sh/sh-protos.h: Likewise.
2106
2107 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2108
2109         * config/arm/arm-protos.h: Use struct cpp_reader instead of
2110         cpp_reader.
2111         * config/h8300/h8300-protos.h: Likewise.
2112         * config/sh/sh-protos.h: Likewise.
2113
2114 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2115
2116         * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
2117         arm_pr_long_calls_off): Use struct.
2118         * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
2119         : Similarly.
2120         Don't include cpplib.h.
2121         * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
2122         sh_pr_nosave_low_regs): Similarly.
2123
2124 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
2125
2126         * config/h8300/h8300.c: Include cpplib.h.
2127
2128 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2129
2130         * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
2131           objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
2132           objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
2133           "GCC" in the copyright header.
2134
2135 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
2136
2137         * c-pragma.c (c_register_pragma): New.
2138         (init_pragma): Use it.
2139         * c-pragma.h (cpp_register_pragma): Don't declare.
2140         (c_register_pragma): New.
2141         * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
2142         * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
2143         * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
2144         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
2145         * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
2146         * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
2147         * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
2148         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
2149         * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
2150         * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
2151         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
2152         * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
2153
2154 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2155
2156         * config/h8300/h8300-protos.h: Update the prototypes.
2157         * config/h8300/h8300.c (const_le_2_operand): Change to
2158         const_int_le_2_operand.
2159         (const_int_le_6_operand): Change to const_int_le_6_operand.
2160         * config/h8300/h8300.md (two peepholes): Update the function
2161         names.
2162
2163 2002-12-31  Tom Tromey  <tromey@redhat.com>
2164
2165         * doc/install.texi (Testing): Fixed typo.
2166
2167 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2168
2169         * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
2170         (TRAMPOLINE_SIZE): Support the normal mode.
2171         (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
2172
2173 2002-12-31  Mark Mitchell  <mark@codesourcery.com>
2174
2175         * c-common.h (pending_lang_change): Declare.
2176
2177 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
2178
2179         * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
2180         descriptions.
2181
2182 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
2183
2184         * gcc/doc/invoke.texi (Optimization Options): List the options
2185         enabled by each -O flag.
2186
2187 2002-12-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2188
2189         * doc/install.texi (Configuration): Explicitly refer
2190         gcc/config.gcc for a list of cpu models.
2191
2192 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
2193
2194         * config/h8300/h8300.h: Fix comment typos.
2195
2196 2002-12-30  David Edelsohn  <edelsohn@gnu.org>
2197
2198         * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
2199
2200 2002-12-30  Tom Tromey  <tromey@redhat.com>
2201
2202         * doc/install.texi (Testing): Mention Jacks.
2203
2204 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
2205
2206         * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
2207
2208 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2209
2210         * config/h8300/h8300.c (output_logical_op): Use extu.w in more
2211         cases.
2212         (compute_logical_op_length): Update to reflect the change in
2213         output_logical_op.
2214         (compute_logical_op_cc): Likewise.
2215
2216 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
2217
2218         * doc/service.texi: Uncomment and update FAQ link.
2219
2220 2002-12-30  Andreas Jaeger  <aj@suse.de>
2221
2222         * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
2223
2224 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2225
2226         * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
2227
2228 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
2229
2230         * config/h8300/h8300.c (output_logical_op): Use extu.w if we
2231         are clearing the most significant byte.
2232         (compute_logical_op_length): Update to reflect the change in
2233         output_logical_op.
2234         (compute_logical_op_cc): Likewise.
2235
2236 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2237
2238         * config/h8300/h8300.md: Give internal names to anonymous
2239         insns.
2240
2241 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2242
2243         * config/h8300/h8300.md: Reorder some insns.
2244
2245 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
2246
2247         * config/h8300/h8300-protos.h: Add prototypes for
2248         const_int_qi_operand and const_int_hi_operand.
2249         * config/h8300/h8300.c (const_int_qi_operand): New.
2250         (const_int_hi_operand): Likewise.
2251         * config/h8300/h8300.md (three peepholes): New.
2252
2253 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
2254
2255         * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
2256         Use @copying.
2257
2258 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
2259
2260         * configure.in: Increase makeinfo version requirement to 4.[2-9].
2261         * configure: Regenerate.
2262         * doc/install.texi: Update Texinfo version requirement.
2263
2264 2002-12-28  Andreas Jaeger  <aj@suse.de>
2265
2266         * config/i386/i386.c (x86_function_profiler): Mark labelno as
2267         possibly unused.
2268
2269         * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
2270         correct format.
2271
2272 2002-12-27  Kazu Hirata  <kazu@cs.umass.edu>
2273
2274         * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
2275         *iorhi_ashift_8.
2276         (*iorhi_lshiftrt_8): New.
2277
2278 2002-12-27  Joseph S. Myers  <jsm@polyomino.org.uk>
2279
2280         * doc/include/texinfo.tex: Update to version 2002-12-26.16.
2281
2282 2002-12-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2283
2284         * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
2285
2286 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2287
2288         * config/h8300/h8300-protos.h: Fix comment typos.
2289         Update copyright.
2290         * config/h8300/h8300.c: Fix comment typos.
2291
2292 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2293
2294         * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
2295
2296 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
2297
2298         * config/i386/athlon.md: Fix comment typos.
2299         * config/i386/crtdll.h: Likewise.
2300         * config/i386/djgpp.h: Likewise.
2301         * config/i386/i386-interix.h: Likewise.
2302         * config/i386/i386.c: Likewise.
2303         * config/i386/i386.h: Likewise.
2304         * config/i386/i386.md: Likewise.
2305         * config/i386/k6.md: Likewise.
2306         * config/i386/mingw32.h: Likewise.
2307         * config/i386/pentium.md: Likewise.
2308         * config/i386/sco5.h: Likewise.
2309         * config/i386/winnt.c: Likewise.
2310         * config/i386/xmmintrin.h: Likewise.
2311
2312 2002-12-26  Jose Renau <renau@cs.uiuc.edu>
2313
2314         * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
2315         INSN_P before checking to see if it is dead.
2316         (mark_all_insn_unnecessary): Similarly.
2317         (ssa_eliminate_dead_code): Similarly.
2318         * rtl.h (struct rtx_def): Update comments for in_struct usage
2319         in dead code elimination pass.
2320         (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
2321
2322 2002-12-26  Andreas Schwab  <schwab@suse.de>
2323
2324         * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
2325
2326 2002-12-25  David Edelsohn  <edelsohn@gnu.org>
2327
2328         * config/rs6000/rs6000.c (rs6000_override_options): Convert to
2329         tartet_flags_explicit.
2330         * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
2331         Compact target_flags bits.
2332         (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
2333         (TARGET_SWITCHES): Delete references to *_SET flags.
2334
2335 Wed Dec 25 20:30:53 CET 2002  Jan Hubicka  <jh@suse.cz>
2336
2337         * i386.md (memory attribute): Fix setcc attribute.
2338
2339 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2340
2341         * output.h: Fix comment typos.
2342         * predict.c: Likewise.
2343         * print-tree.c: Likewise.
2344         * profile.c: Likewise.
2345         * ra-build.c: Likewise.
2346         * ra-colorize.c: Likewise.
2347         * ra-debug.c: Likewise.
2348         * ra-rewrite.c: Likewise.
2349         * ra.c: Likewise.
2350         * ra.h: Likewise.
2351         * real.c: Likewise.
2352         * recog.c: Likewise.
2353         * reg-stack.c: Likewise.
2354         * regclass.c: Likewise.
2355
2356 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2357
2358         * config/h8300/h8300.c (print_operand_address): Do not negate
2359         a negative number when printing one.
2360
2361 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
2362
2363         * config/h8300/h8300-protos.h: Add prototypes for
2364         output_plussi, compute_plussi_length, and compute_plussi_cc.
2365         * config/h8300/h8300.c (output_plussi): New.
2366         (compute_plussi_length): Likewise.
2367         (compute_plussi_cc): Likewise.
2368         * config/h8300/h8300.md (addsi_h8300h): Call
2369         output_plussi, compute_plussi_length, and compute_plussi_cc.
2370
2371 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
2372
2373         * config/h8300/h8300.md (two peepholes): Use match_dup instead
2374         of match_operand in the new patterns.
2375
2376 2002-12-24  Joseph S. Myers  <jsm@polyomino.org.uk>
2377
2378         * doc/include/texinfo.tex: Update to version 2002-11-25.11.
2379
2380 2002-12-24  Nathan Sidwell  <nathan@codesourcery.com>
2381
2382         * configure.in (enable-coverage): Add SELF_COVERAGE.
2383         * profile.c (end_branch_prob): Use SELF_COVERAGE.
2384
2385 2002-12-24  Jim Wilson  <wilson@redhat.com>
2386
2387         * alias.c (record_set): Handle multi-reg hard registers.
2388
2389 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
2390
2391         * regmove.c: Fix comment typos.
2392         * reload.c: Likewise.
2393         * reload1.c: Likewise.
2394         * resource.c: Likewise.
2395         * rtl.def: Likewise.
2396         * rtl.h: Likewise.
2397         * rtlanal.c: Likewise.
2398         * sched-deps.c: Likewise.
2399         * sched-rgn.c: Likewise.
2400         * sibcall.c: Likewise.
2401         * simplify-rtx.c: Likewise.
2402         * ssa-ccp.c: Likewise.
2403         * ssa.c: Likewise.
2404         * stmt.c: Likewise.
2405         * stor-layout.c: Likewise.
2406         * system.h: Likewise.
2407         * tlink.c: Likewise.
2408         * toplev.c: Likewise.
2409         * tracer.c: Likewise.
2410         * tree-inline.c: Likewise.
2411         * tree.c: Likewise.
2412         * tree.h: Likewise.
2413         * unroll.c: Likewise.
2414         * varasm.c: Likewise.
2415
2416 2002-12-23  Larin Hennessy  <larin@science.oregonstate.edu>
2417
2418         * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
2419         m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
2420         * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
2421         DG/UX entries.
2422         * doc/md.texi: Remove AMD 29K entries.
2423         * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
2424         1.38.1, NewsOS, RT PC, WE32K entries.
2425
2426 2002-12-23  Aldy Hernandez  <aldyh@redhat.com>
2427
2428         PR/8763
2429         * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
2430         (altivec_vspltisw_v4sf): Name pattern.
2431         (altivec_vslw_v4sf): New pattern.
2432
2433 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
2434
2435         * doc/include/gcc-common.texi: Define DEVELOPMENT.
2436
2437 2002-12-23  Mark Mitchell  <mark@codesourcery.com>
2438
2439         * stor-layout.c (update_alignment_for_field): Correct handling of
2440         unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
2441         * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
2442         bitfield does not affect alignment.
2443
2444 2002-12-23  David Edelsohn  <edelsohn@gnu.org>
2445
2446         * expr.c (expand_assignment): Apply special treatment to
2447         ARRAY_TYPE.
2448
2449 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
2450
2451         * config/h8300/h8300-protos.h: Update the prototype of
2452         expand_a_shift.
2453         * config/h8300/h8300.c (expand_a_shift): Change the return
2454         type to void.
2455         * config/h8300/h8300.md: Update all the uses of
2456         expand_a_shift.
2457
2458 2002-12-22  Nathan Sidwell  <nathan@codesourcery.com>
2459
2460         * tree.c (save_expr): Allow either side of a dyadic operand to be
2461         constant.
2462
2463         * doc/portability.texi (portability): Update portability goals.
2464
2465 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
2466
2467         * config/h8300/h8300.c (output_a_shift): Remove unused code.
2468
2469 2002-12-22  Mark Mitchell  <mark@codesourcery.com>
2470
2471         * stor-layout.c (update_alignment_for_field): Guard use of
2472         ADJUST_FIELD_ALIGN with #ifdef.
2473
2474         * stor-layout.c (update_alignment_for_field): Use
2475         ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
2476         bitfield when PCC_BITFIELD_TYPE_MATTERS.
2477
2478 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2479
2480         * genautomata.c: Fix comment typos.
2481
2482 Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
2483
2484         * params.def (tracer-min-branch-probability-feedback): Fix default.
2485         * final.c (compute_alignments): Use profile to avoid code bloat.
2486
2487 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2488
2489         * config/h8300/h8300.c (get_shift_alg): Make shift insn
2490         sequences end with a valid cc0 whenever possible.
2491
2492 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
2493
2494         * config/h8300/h8300.md (negsf2): New.
2495         (*negsf2_h8300): Likewise.
2496         (*negsf2_h8300hs): Likewise.
2497
2498 2002-12-21  Geoffrey Keating  <geoffk@apple.com>
2499
2500         * integrate.c (output_inline_function): Don't hold private
2501         pointers to 'struct function' over GC calls.
2502
2503 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
2504
2505         * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
2506         NO_FPSCR_VALUES.
2507         * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
2508
2509 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2510
2511         * config/h8300/h8300.md (zero_extendqisi2): Correct the
2512         length.
2513
2514 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2515
2516         * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
2517         second alternative "#".
2518         (*zero_extendqihi2_h8300hs): Likewise.
2519         (a define_split): New.
2520
2521 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2522
2523         * config/h8300/h8300-protos.h: Update the prototype for
2524         split_adds_subs.
2525         Add prototypes for const_le_2_operand and const_le_6_operand.
2526         * config/h8300/h8300.c (split_adds_subs): Add an argument to
2527         specify whether inc/dec should be used when possible.
2528         (const_le_2_operand): New.
2529         (const_le_6_operand): Likewise.
2530         * config/h8300/h8300.md (two peepholes): New.
2531
2532 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
2533
2534         * config/fr30/fr30.md: Fix a comment typo.
2535         * config/i386/i386.c: Likewise.
2536         * config/ip2k/ip2k.h: Likewise.
2537
2538 2002-12-20  Jim Wilson  <wilson@redhat.com>
2539
2540         * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
2541         (__ev_subw, __ev_subiw): New.
2542         (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
2543         ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
2544
2545 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
2546
2547         * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
2548         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
2549         * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
2550         TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
2551
2552 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
2553
2554         * config/h8300/h8300-protos.h: Add prototypes for
2555         incdec_operand and eqne_operator.
2556         * config/h8300/h8300.c (incdec_operand): New.
2557         (eqne_operator): Likewise.
2558         * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
2559         (CONST_OK_FOR_O): Likewise.
2560         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
2561         CONST_OK_FOR_O.
2562         * config/h8300/h8300.md (UNSPEC_INCDEC): New.
2563         (addhi3_incdec): New.
2564         (addsi3_incdec): Likewise.
2565         (two peepholes): Likewise.
2566
2567 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
2568
2569         * config/h8300/h8300.c (dosize): Remove warnings.
2570         (print_operand): Likewise.
2571
2572 2002-12-20  Richard Henderson  <rth@redhat.com>
2573
2574         * config/alpha/alpha.c (decl_has_samegp): New.
2575         (samegp_function_operand): Use it.  Rename from
2576         current_file_function_operand.
2577         (direct_call_operand): Handle -msmall-text via symbol->jump.
2578         (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
2579         (tls_symbolic_operand_type): Likewise.
2580         (alpha_encode_section_info): Likewise.  Handle -msmall-text.
2581         (alpha_function_ok_for_sibcall): Use decl_has_samegp.
2582         (alpha_end_function): Set symbol->jump for functions defined in
2583         the text section.
2584         * config/alpha/alpha-protos.h: Update.
2585         * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
2586         (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
2587         (PREDICATE_CODES): Update.
2588         * config/alpha/alpha.md (call patterns): Update for
2589         samegp_function_operand rename; use !samegp reloc if
2590         TARGET_EXPLICIT_RELOCS.
2591         * doc/invoke.text: Document -msmall-text and -mlarge-text.
2592
2593 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
2594
2595         * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
2596         all registers capable of holding a double float.
2597         (*rcond): change name of "reverse branch" insns to
2598         something more meaningful.
2599         (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
2600         comparisons properly.
2601         (*ffs): Change operand 0 from write to read-modify-write.
2602         (*ffsssi2): Drop constraints from define_expand.
2603
2604         * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
2605         MOVE_RATIO as default for store operations.
2606
2607         * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
2608         LONG_REGS class.
2609         (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
2610         (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
2611         * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
2612
2613         * config/ns32k/STATUS: New File
2614         * config/ns32k/NOTES: New file.
2615
2616 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
2617
2618         * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
2619         option for S/390 and zSeries.
2620         * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
2621         s390_arch_string): New variables.
2622         (override_options): Checking for options and setting of
2623         appropriate target_flags, cpu and arch flags.
2624         * config/s390/s390.h: (processor_type): New enum.
2625         (TARGET_SWITCHES): New switches -mesa/zarch.
2626         * config/s390/s390.md: New attribute 'cpu'.
2627
2628 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2629
2630         * c-pretty-print.h: Fix comment typos.
2631         * integrate.c: Likewise.
2632         * varasm.c: Likewise.
2633         * config/c4x/c4x.h: Likewise.
2634         * config/c4x/c4x.md: Likewise.
2635         * config/fr30/fr30.md: Likewise.
2636         * config/frv/frv.c: Likewise.
2637         * config/h8300/h8300.c: Likewise.
2638         * config/i386/i386.c: Likewise.
2639         * config/i386/i386.h: Likewise.
2640         * config/ia64/ia64.c: Likewise.
2641         * config/ia64/ia64.h: Likewise.
2642         * config/ip2k/ip2k.md: Likewise.
2643         * config/m68hc11/m68hc11-crt0.S: Likewise.
2644         * config/m68hc11/m68hc11.h: Likewise.
2645         * config/m68hc11/m68hc11.md: Likewise.
2646         * config/m68hc11/m68hc12.h: Likewise.
2647         * config/mcore/mcore.md: Likewise.
2648         * config/mips/mips.c: Likewise.
2649         * config/mips/mips.md: Likewise.
2650         * config/mmix/mmix-modes.def: Likewise.
2651         * config/pa/pa.c: Likewise.
2652         * config/rs6000/rs6000.c: Likewise.
2653         * config/rs6000/rs6000.h: Likewise.
2654         * config/rs6000/rs6000.md: Likewise.
2655
2656 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2657
2658         * config/h8300/h8300.md (output_a_shift): Clean up the code to
2659         output shifts using rotation.
2660
2661 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2662
2663         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
2664
2665 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2666
2667         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
2668         pointer.
2669         (pushqi_h8300hs): Likewise.
2670         (pushhi_h8300): Likewise.
2671         (pushhi_h8300hs): Likewise.
2672
2673 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
2674
2675         * sched-rgn.c (init_regions): Update comment.
2676
2677 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
2678
2679         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
2680         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
2681         attributes.
2682         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
2683         (get_vrsave_internal,set_vrsave_internal): Same.
2684         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
2685         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
2686         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
2687
2688 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
2689             Danny Smith  <dannysmith@users.sourceforge.net>
2690             Eric Kohl  <ekohl@rz-online.de>
2691
2692         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
2693         attributes incompatible with fastcall attribute.
2694         (ix86_handle_regparm_attribute): Likewise.
2695
2696         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
2697         fastcall types.
2698
2699         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
2700         attributes.
2701         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
2702         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
2703         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
2704         i386_pe_output_labelref rather than here.
2705         (gen_fastcall_suffix): New function. Decorates a label name with the
2706         fastcall prefix (@) and the stdcall suffix.
2707         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
2708         has a fastcall attribute.
2709         (i386_pe_output_labelref): New function. Outputs a label reference.
2710         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
2711         valid attribute.
2712         (ix86_return_pops_args): Fastcall functions pop the stack.
2713         (init_cumulative_args): Reserve registers ECX and EDX if function has
2714         fastcall attribute.
2715         (function_arg): Use registers ECX and EDX if function has fastcall
2716         attribute.
2717         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
2718         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
2719         (FASTCALL_PREFIX): Define as '@'.
2720         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
2721         attributes.
2722         * doc/extend.texi: Add documentation of fastcall attribute.
2723
2724 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
2725
2726         * configure.in: FORBUILD when build!=host changed from
2727         ../$build-alias to ../build-$build_alias to match change made
2728         in top directory.
2729         * configure: Regenerated.
2730
2731 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
2732
2733         PR optimization/8988
2734         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
2735         the biv when eliminating.
2736
2737 2002-12-19  Devang Patel  <dpatel@apple.com>
2738         * gcc.c (struct default_compiler): Recognizes input file name with
2739         .CPP extension as C++ source files
2740         * cp/lang-spec.h: Same
2741         * doc/invoke.texi:  Add documentation for .CPP support.
2742
2743 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
2744
2745         PR 8553
2746         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
2747         registers.
2748         ("absv16qi2"): Same.
2749         ("absv4si2"): Same.
2750         ("absv4sf2"): Same.
2751         ("altivec_abss_v16qi"): Same.
2752         ("altivec_abss_v8hi"): Same.
2753         ("altivec_abss_v4si"): Same.
2754
2755 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
2756
2757         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
2758         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
2759
2760 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
2761
2762         PR target/8340
2763         * stmt.c (expand_asm_operands): Produce an error when
2764         the PIC register is clobbered.
2765
2766 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
2767
2768         * Makefile.in (OBJS): Add alloc-pool.o
2769         (alloc-pool.o): New object.
2770
2771         * alloc-pool.c: New file.
2772         * alloc-pool.h: New file.
2773
2774 2002-12-18  Loren James Rittle  <rittle@labs.mot.com>
2775
2776         * gcc.c (validate_switches): Robustify against skipping past '\0'.
2777
2778 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
2779
2780         * config.gcc: Set extra_objs in the generic Darwin rule,
2781         not in the machine-specific rules.
2782
2783 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
2784
2785         * ChangeLog: Follow spelling conventions.
2786         * ChangeLog.2: Likewise.
2787         * ChangeLog.4: Likewise.
2788         * ChangeLog.5: Likewise.
2789         * cppexp.c: Likewise.
2790         * df.c: Likewise.
2791         * gcov.c: Likewise.
2792         * gengtype.c: Likewise.
2793         * reload1.c: Likewise.
2794         * sched-rgn.c: Likewise.
2795         * stmt.c: Likewise.
2796         * stor-layout.c: Likewise.
2797         * timevar.c: Likewise.
2798         * toplev.c: Likewise.
2799         * tree.h: Likewise.
2800         * varasm.c: Likewise.
2801         * config/fr30/fr30.md: Likewise.
2802         * config/i386/i386.c: Likewise.
2803         * config/ia64/ia64.c: Likewise.
2804         * config/pa/pa.c: Likewise.
2805
2806 2002-12-18  Roger Sayle  <roger@eyesopen.com>
2807
2808         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
2809
2810 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
2811
2812         PR 8551
2813         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
2814         macro.
2815         (vec_cmplt C++ functions): Reverse arguments.
2816
2817 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
2818
2819         * config/rs6000/t-rs6000: Move contents to t-fprules,
2820         add rules for dependencies of rs6000.o and to build rs6000-c.o
2821         * config/rs6000/t-fprules: New file from t-rs6000.
2822         * config/rs6000/t-beos: Remove soft-fp rules.
2823         * config/rs6000/t-ppccomm: Likewise.
2824         * config/rs6000/t-newas: Likewise.
2825         * config/rs6000/t-rs6000-c-rule: Delete.
2826         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
2827         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
2828         Create generic Darwin rules.
2829
2830         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
2831
2832 2002-12-18  Doug Evans  <dje@sebabeach.org>
2833
2834         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
2835         and LIT_NAME_P.
2836         (move_src_operand): Remove compile-time warning.
2837         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
2838
2839 2002-12-18  Jason Merrill  <jason@redhat.com>
2840
2841         * unwind-dw2-fde.c (frame_downheap): Split out from...
2842         (frame_heapsort): Here.
2843
2844 2002-12-17  Jason Merrill  <jason@redhat.com>
2845
2846         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
2847         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
2848
2849         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
2850
2851         * calls.c (expand_call): Don't try to be clever about expanding
2852         the return slot address.
2853
2854 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
2855
2856         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
2857         Define.
2858
2859 2002-12-17  Jason Merrill  <jason@redhat.com>
2860
2861         * genmultilib: Use 'cd ./foo'.
2862
2863 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
2864
2865         * doc/c-tree.texi: Restore deliberate spelling mistakes.
2866
2867 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
2868
2869         * doc/c-tree.texi: Fix typos and follow spelling conventions.
2870         * doc/cpp.texi: Likewise.
2871         * doc/extend.texi: Likewise.
2872         * doc/gty.texi: Likewise.
2873         * doc/install.texi: Likewise.
2874         * doc/invoke.texi: Likewise.
2875         * doc/md.texi: Likewise.
2876         * doc/passes.texi: Likewise.
2877         * doc/rtl.texi: Likewise.
2878         * doc/sourcebuild.texi: Likewise.
2879         * doc/tm.texi: Likewise.
2880
2881 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
2882
2883         * doc/invoke.texi: Minor spelling and grammar fixes.
2884
2885 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
2886
2887         * config/s390/s390.c (s390_output_constant_pool): Replace
2888         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
2889
2890 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
2891
2892         * convert.c (convert_to_real): Disable function transformation for
2893         now.
2894
2895 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
2896
2897         * gcc.c (handle_braces): Allow '@' as a switch name.
2898
2899 2002-12-16  Jason Merrill  <jason@redhat.com>
2900
2901         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
2902         with special struct-return ABIs.
2903
2904         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
2905         doesn't match the begin SCOPE_STMT in partialness.
2906
2907 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
2908
2909         * genmultilib: Create temporary files in unique subdirectory.
2910
2911         * gcc.c (validate_switches): Allow '@' as a switch name.
2912
2913 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
2914
2915         * Makefile.in (gcov-iov.h): Improve portability.
2916
2917 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
2918
2919         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
2920         gas
2921         * mips.md (tablejump insn): Likewise.
2922
2923 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
2924
2925         * doc/include/gcc-common.texi: Change version number to 3.4.
2926
2927 2002-12-16  Bruce Korb  <bkorb@gnu.org>
2928
2929         * fixinc/fixlib.h: add: #include <signal.h>
2930         * fixinc/fixincl.c: remove: #include <signal.h>
2931
2932 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
2933
2934         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
2935         (EXTRA_CONSTRAINT): Use it.
2936         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
2937
2938 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
2939
2940         * config.gcc (need_64bit_hwint): New variable.
2941         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
2942         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
2943         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
2944         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
2945         Set it.
2946         (powerpc*-*-darwin*): Unset it.
2947         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
2948         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
2949         deleted/nonexistent xm-*.h headers.
2950         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
2951         target set need_64bit_hwint in config.gcc.
2952         * configure, config.in: Regenerate.
2953
2954         * hwint.h: Overhaul.  Don't bother trying int for
2955         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
2956         decision to force 64-bit HOST_WIDE_INT on
2957         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
2958         not visible at this point.  Don't allow prior definition of
2959         any macro defined by this file.
2960
2961         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
2962         HOST_BITS_PER_WIDE_INT.
2963         * config/c4x/c4x.h: Adjust redefinition of
2964         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
2965         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
2966         config/i386/xm-i386-interix.h: Delete file.
2967
2968 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
2969             John David Anglin  <dave@hiauly1.hia.nrc.ca>
2970
2971         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
2972         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
2973
2974 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
2975
2976         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
2977
2978 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
2979
2980         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
2981         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
2982         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
2983         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
2984         config/v850/t-v850:  Correct dependencies and normalize
2985         compilation commands for files that include coretypes.h and tm.h.
2986
2987         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
2988         not config.h and system.h.
2989
2990 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
2991
2992         * i386.c (flags_reg_operand):  New function.
2993         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
2994         * i386.md (cmov splitter, movqicc): Use new predicate.
2995
2996 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
2997
2998         * i386.md (movqicc splitter): Fix template.
2999
3000 2002-12-13  Jason Merrill  <jason@redhat.com>
3001
3002         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
3003         * calls.c (expand_call): Handle it.
3004         * tree-inline.c (struct inline_data): Remove target_exprs field.
3005         (optimize_inline_calls): Don't initialize it.
3006         (expand_call_inline): Don't modify it.  Handle
3007         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
3008         (declare_return_variable): Take return slot addr.
3009         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
3010         to return_slot_addr.
3011         * langhooks-def.h, langhooks.c: Adjust.
3012         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
3013         a decl with no DECL_INITIAL.
3014
3015         * expr.c (expand_expr): Don't discard the target of a call which
3016         returns in memory.
3017
3018 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
3019
3020         * cppinit.c (path_include): Take an environment variable name.
3021         Tidy up.
3022         (init_standard_includes): Simplify environment handling, and
3023         move to ...
3024         (cpp_read_main_file): ...here as -nostdinc should not affect
3025         environment variable paths.
3026
3027 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3028
3029         * pa.c (output_millicode_call): Correct typo.
3030         (output_call): Likewise.
3031
3032 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
3033
3034         * config/mn10300/mn10300.c (print_operand) <case N>: Check
3035         operand's range.  Print value directly, without aid from
3036         output_address.
3037         <case U>: New.
3038         <case S>: Make sure argument to fprintf has the right type.
3039         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
3040         (EXTRA_CONSTRAINT): Adjust.
3041         * config/mn10300/mn10300.md: Add new all-QImode pattern for
3042         bclr.  Use %U for immediate operands of bset and bclr.
3043         (iorqi3): New expand, with insns for AM33 and mn10300.
3044
3045 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
3046
3047         * sh.c (sh_register_operand): New function.
3048         (prepare_move_operands): Use it.
3049         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
3050         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
3051         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
3052         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
3053         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
3054         (movv2si_i): Likewise.
3055
3056 2002-12-13  Jim Wilson  <wilson@redhat.com>
3057
3058         * doc/extend.texi (Complex Numbers): Update info on debug info.
3059
3060 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
3061
3062         * config/h8300/h8300.md (addhi3_h8300): Remove the last
3063         alternative.
3064
3065 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3066
3067         * hooks.h (hook_tree_tree_bool_false): Declare
3068         hook_bool_tree_tree_false instead.
3069
3070 2002-12-12  Devang Patel  <dpatel@apple.com>
3071
3072         * doc/invoke.texi: Document Darwin linker options, -bundle
3073         -bind_at_load, -all_load and -arch_errors_fatal
3074
3075 2002-12-12  Jim Wilson  <wilson@redhat.com>
3076
3077         * dbxout.c (dbxout_fptype_value): New.
3078         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
3079
3080 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3081
3082         * c-decl.c: Fix a comment typo.
3083         * cfg.c: Likewise.
3084         * cfgcleanup.c: Likewise.
3085         * cfglayout.c: Likewise.
3086         * cfgrtl.c: Likewise.
3087         * c-typeck.c: Likewise.
3088         * dominance.c: Likewise.
3089         * dwarf2asm.c: Likewise.
3090         * dwarfout.c: Likewise.
3091         * expmed.c: Likewise.
3092         * expr.c: Likewise.
3093         * final.c: Likewise.
3094         * flow.c: Likewise.
3095         * function.c: Likewise.
3096         * gcc.c: Likewise.
3097         * genautomata.c: Likewise.
3098         * integrate.c: Likewise.
3099         * loop.c: Likewise.
3100         * loop.h: Likewise.
3101         * output.h: Likewise.
3102         * profile.c: Likewise.
3103         * ra.h: Likewise.
3104         * reload1.c: Likewise.
3105         * reload.c: Likewise.
3106         * sched-rgn.c: Likewise.
3107         * stmt.c: Likewise.
3108         * tree.h: Likewise.
3109         * vmsdbgout.c: Likewise.
3110
3111 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3112
3113         * config/h8300/h8300.md: Add a new peephole2.
3114
3115 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3116
3117         * config/h8300/h8300.md (a peephole2): Accept a constant
3118         that's accepted by CONST_OK_FOR_J.
3119
3120 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3121
3122         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
3123         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
3124         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
3125         (*addhi_h8300hs): Likewise.
3126
3127 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
3128
3129         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
3130         (sh_register_move_cost): Add clause for SImode fp-fp moves.
3131         Increase cost for moves involving multiple general purpose registers.
3132         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
3133         TARGET_FMOVD.
3134         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
3135         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
3136         (enum reg_class reg_class_from_letter): No longer const.
3137         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
3138         REGCLASS_HAS_GENERAL_REG.
3139         Handle SImode moves from/to fp registers.
3140         ! TARGET_SHMEDIA && TARGET_FMOVD.
3141         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
3142         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
3143
3144 2002-12-12  Andreas Schwab  <schwab@suse.de>
3145
3146         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
3147         change and some warnings.
3148
3149 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
3150
3151         * doc/md.texi (pushm): Fix a typo.
3152
3153 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
3154
3155         * config/mips/mips.c (mips_output_conditional_branch): Support
3156         PIC-safe out-of-range branch and branch-likely.
3157         * config/mips/mips.md (attr length): PIC-safe out-of-range
3158         branches are longer.
3159         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
3160         unused code to support indirect jumps.
3161
3162 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
3163
3164         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
3165         $(tm_file_list).
3166
3167 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
3168
3169         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
3170
3171 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
3172
3173         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
3174
3175 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3176
3177         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
3178         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
3179         BIGGEST_ALIGNMENT.
3180         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
3181         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
3182
3183 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3184
3185         * doc/invoke.texi: Correct dump file names.
3186
3187 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3188
3189         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
3190         name to globalize_label or assemble_name.
3191
3192 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
3193
3194         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
3195         if not TARGET_SHMEDIA.
3196
3197 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
3198
3199         * sh.h (REG_CLASS_HAS_FP_REG): New.
3200         (REGISTER_MOVE_COST) Use it.  Put body into a function and
3201         move it into:
3202         * sh.c (sh_register_move_cost).
3203         * sh-protos.h (sh_register_move_cost): Declare.
3204
3205         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
3206         (sh_adjust_cost): Always return a value.
3207
3208 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
3209
3210         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
3211         (REGISTER_MOVE_COST): Use it.
3212
3213 2002-12-11  Richard Henderson  <rth@redhat.com>
3214
3215         * tree.h (MODULE_LOCAL_P): Kill.
3216         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
3217
3218 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3219
3220         * config/h8300/h8300.md (two define_peephole2): New.
3221
3222 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
3223
3224         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
3225         (CONST_OK_FOR_K): Likewise.
3226         (CONST_OK_FOR_M): Likewise.
3227         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
3228
3229 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
3230
3231         * c-common.c (builtin_define_type_max): Handle unsigned
3232         types too.
3233
3234 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
3235
3236         * haifa-sched.c (rank_for_schedule): Correct style.
3237
3238 2002-12-10  Per Bothner  <pbothner@apple.com>
3239
3240         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
3241         directive_index into an unsigned field and a new is_directive field.
3242         * cppinit.c (mark_named_operators):  Update to set new fields.
3243         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
3244         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
3245         No longer need to subtract 1 from directive_index.
3246         (_cpp_init_directives):  No longer need to add 1 to directive_index.
3247         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
3248
3249 2002-12-10  Roger Sayle  <roger@eyesopen.com>
3250
3251         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
3252         check for evaluating sqrt of a constant at compile time.
3253         * simplify-rtx.c (simplify_unary_operation): Likewise.
3254
3255 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
3256
3257         PR other/8882
3258         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
3259
3260 2002-12-10  Devang Patel  <dpatel@appple.com>
3261
3262         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
3263         * doc/invoke.texi: Add new "Darwin Options" section.
3264
3265 2002-12-10  Jim Wilson  <wilson@redhat.com>
3266
3267         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
3268         memory.
3269
3270 2002-12-10  Andrew Haley  <aph@redhat.com>
3271
3272         * cse.c (cse_insn): Don't cse past a basic block boundary.
3273
3274 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
3275
3276         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
3277         -shared.
3278         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
3279         * config/alpha/linux.h (LIB_SPEC): Likewise.
3280         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
3281         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
3282         * config/sparc/linux.h (LIB_SPEC): Likewise.
3283         * config/sparc/linux64.h (LIB_SPEC): Likewise.
3284
3285 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
3286
3287         * doc/invoke.texi: Document UltraSparc III option.
3288
3289 2002-12-09  Richard Henderson  <rth@redhat.com>
3290
3291         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
3292         __tune_pentium2__ and __tune_pentium3__ as necessary.
3293
3294 2002-12-09  Richard Henderson  <rth@redhat.com>
3295
3296         * target.h (gcc_target): Add cannot_force_const_mem.
3297         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
3298         (TARGET_INITIALIZER): Add it.
3299         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
3300         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
3301         * reload1.c (reload): Likewise.
3302         * hooks.c (hook_bool_rtx_false): New.
3303         * hooks.h: Declare it.
3304
3305         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
3306         (TARGET_CANNOT_FORCE_CONST_MEM): New.
3307         (ix86_expand_move): Remove de-const-pooling hack.
3308
3309 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
3310
3311         * toplev.c (dump_file): Fix order to match reality.
3312
3313 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
3314
3315         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
3316         (store_multiple): Likewise.
3317
3318 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3319
3320         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
3321         function pointers in page 0.
3322
3323 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3324
3325         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
3326         definition
3327         (MEMBER_TYPE_FORCES_BLK): Move.
3328         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
3329         aggregate arguments.
3330         (ia64_function_value): Use PARALLEL to return aggregate values.
3331
3332 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
3333
3334         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
3335         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
3336         * calls.c (store_unaligned_arguments_into_pseudos) Remove
3337         FUNCTION_ARG_REG_LITTLE_ENDIAN.
3338         * stmt.c (expand_return): Ditto.
3339         * expr.c (move_block_from_reg): Ditto.
3340         (copy_blkmode_from_reg): Ditto.
3341         * expmed.c (store_bit_field): Ditto.
3342
3343 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
3344
3345         * config.gcc: Added tic4x-* target as an alias to c4x-*
3346
3347 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
3348
3349         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
3350         constructing insn directly.
3351
3352 2002-12-06  Per Bothner  <pbothner@apple.com>
3353
3354         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
3355         char to an int bit-field, for hosts where char is unsigned.
3356
3357 2002-12-07  Roger Sayle  <roger@eyesopen.com>
3358             Richard Henderson <rth@redhat.com>
3359
3360         * real.c (ieee_extended_motorola_format,
3361         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
3362         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
3363         Provide appropriate values for new signbit field.
3364
3365 2002-12-07  Roger Sayle  <roger@eyesopen.com>
3366
3367         * real.h (real_format): Add signbit field.
3368         * real.c (ieee_single_format, ieee_double_format,
3369         ieee_extended_motorola_format, ieee_extended_intel_96_format,
3370         ieee_extended_intel_128_format, ibm_extended_format,
3371         ieee_quad_format, vax_f_format, vax_d_format,
3372         vax_g_format, i370_single_format, i370_double_format,
3373         c4x_single_format, c4x_extended_format, real_internal_format):
3374         Provide suitable signbit value, or -1 to avoid bit twiddling.
3375
3376         * optabs.c (expand_unop): Try implementing negation of
3377         floating point modes by flipping the sign bit.
3378         (expand_abs): Try implementing abs of floating point modes
3379         by clearing the sign bit.
3380
3381 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
3382
3383         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
3384         of constructing insn directly.
3385
3386 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
3387
3388         * config/h8300/h8300.md (*iorhi_shift_8): New.
3389
3390 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
3391
3392         * doc/invoke.texi: Document FRV port options.
3393         * doc/md.texi: Document FRV register classes.
3394
3395 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3396
3397         * doc/install.texi (Configuration): Improve description of cases
3398         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
3399
3400 2002-12-06  Per Bothner  <pbothner@apple.com>
3401
3402         * cpplib.h (NODE_MACRO_ARG):  New flag.
3403         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
3404         Remove value.operator field.  Move arg_index field to value union.
3405         (directive_index):  Make signed, since also used for C++ operators.
3406         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
3407         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
3408         Save node->value, and set node->value.arg_index.
3409         (_cpp_create_definition):  For each paramater, restore node->value.
3410         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
3411         * cpptrad.c (scan_out_logical_line): Likewise.
3412         (scan_out_logical_line): Check for directive > 0.
3413         * cpplib.c (cpp_handle_directive):  Likewise.
3414         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
3415         by negative of directive_index.
3416         * cppinit.c (mark_named_operators):  Likewise.
3417
3418         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
3419
3420 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
3421
3422         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
3423         FPU.
3424         (push): Generate push_fpscr.
3425         (pop): Generate pop_fpscr.
3426         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
3427         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
3428
3429 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
3430
3431         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
3432         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
3433
3434 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
3435
3436         * sh.md (movdi_i): Name.  Remove inappropriate comment.
3437
3438 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
3439         Merged from basic improvements branch (excerpt):
3440
3441         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
3442         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
3443
3444 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
3445
3446         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
3447
3448 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
3449
3450         * i386.md (dimode peep2s): Re-add "&& 1".
3451
3452 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
3453
3454         * i386.c (ix86_expand_prologue):  Add comment, do not use
3455         fast prologues for cold and normal functions.
3456
3457 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
3458
3459         * i386.c (x86_rep_movl_optimal): New variable.
3460         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
3461         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
3462
3463         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
3464         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
3465         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
3466         generate unnecesary subregs.
3467
3468 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3469
3470         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
3471         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
3472
3473 2002-12-05  Dale Johannesen  <dalej@apple.com>
3474
3475         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
3476
3477 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
3478
3479         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
3480         PROFILE_HOOK.
3481         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
3482
3483 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
3484
3485         * config/rs6000/spe.h (__ev_mwlufi): Remove.
3486         (__ev_mwlufia): Remove.
3487         (__ev_mwlumfaaw): Remove.
3488         (__ev_mwlusfaaw): Remove.
3489         (__ev_mwlumfanw): Remove.
3490         (__ev_mwlusfanw): Remove.
3491
3492 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
3493
3494         * config/h8300/h8300.md (*andorsi3_shift_8): New.
3495
3496 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
3497
3498         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
3499         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
3500         (get_shift_alg): Return optimal assembly instructions for the
3501         shifts mentioned above.
3502
3503 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
3504
3505         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
3506         condtiional moves.
3507
3508 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3509
3510         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
3511         implement ashiftrt:HI by 13 bits on H8S.
3512
3513 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3514
3515         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
3516         * pa.md (canonicalize_funcptr_for_compare): Output library call to
3517         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
3518         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
3519         CTOR_LIST_BEGIN): New defines.
3520         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
3521         (fptr.c): Add make rules.
3522
3523 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
3524
3525         * combine.c (combine_simplify_rtx): Add new canonicalizations.
3526         * doc/md.texi (Insn Canonicalizations): Document new
3527         canonicalizations for multiply/add combinations.
3528         * config/rs6000/rs6000.md: Add and modify floating add/multiply
3529         patterns to ensure they're used whenever they can be.
3530
3531 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3532
3533         * config/h8300/h8300.c: Update the comments related to shifts.
3534
3535 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
3536
3537         * config/mips/mips.md (get_fnaddr): Correct length attribute.
3538
3539 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
3540
3541         * config/h8300/h8300.md (*extzv_8_8): New.
3542         (*extzv_8_16): Likewise.
3543
3544 2002-12-04  Jason Merrill  <jason@redhat.com>
3545
3546         PR c++/8461, c++/8625
3547         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
3548         references.
3549         * tree-inline.c (initialize_inlined_parameters): Likewise.
3550
3551         * tree.c (variably_modified_type_p): Just return an error_mark_node.
3552
3553 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
3554
3555         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
3556         macro instruction in a branch delay slot, to avoid assembler
3557         warnings.
3558
3559 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
3560
3561         PR c/7622
3562         * c-semantics (genrtl_scope_stmt): Do not output inlined
3563         nested functions that contain no code.
3564
3565 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
3566
3567         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
3568         to be forced into nonfallthru.
3569
3570 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
3571
3572         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
3573
3574 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
3575
3576         * config/rs6000/spe.md (*movv1di_const0): New pattern.
3577
3578 2002-12-03  Richard Henderson  <rth@redhat.com>
3579
3580         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
3581
3582 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
3583
3584         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
3585         Initialize tmp.using_obstack to 0.
3586
3587 2002-12-03  Andreas Schwab  <schwab@suse.de>
3588
3589         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
3590         (EH_RETURN_STACKADJ_RTX): Define.
3591         (EH_RETURN_HANDLER_RTX): Define.
3592         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
3593         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
3594         registers and don't save fixed registers.
3595         (m68k_output_function_prologue): Use it.
3596         (use_return_insn): Likewise.
3597         (m68k_output_function_epilogue): Likewise.
3598
3599 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
3600
3601         * config/h8300/h8300.c (single_one_operand): Fix a warning.
3602         (single_zero_operand): Likewise.
3603
3604 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
3605
3606         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
3607         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
3608         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
3609         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
3610         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
3611         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
3612         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
3613         doc/install-old.texi: Replace hconfig.h with bconfig.h.
3614         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
3615
3616 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
3617
3618         * config/rs6000/rs6000.md (ffssi): Convert to expander.
3619         (ffsdi): Likewise.
3620         (cntlzw2, cntlzd2): New patterns.
3621
3622 2002-12-02  H.J. Lu <hjl@gnu.org>
3623
3624         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
3625         (mips*-*-linux*): Remove mips/t-linux.
3626
3627 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
3628
3629         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
3630
3631 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3632
3633         * config/h8300/h8300.c (dosize): Replace argument op with
3634         sign.
3635         (h8300_output_function_prologue): Update the call to dosize.
3636         (h8300_output_function_epilogue): Likewise.
3637
3638 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
3639
3640         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
3641
3642 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3643
3644         * configure.in: Use "missing" script to generate warning if
3645         flex or bison programs not found, instead of invoking "false".
3646         * configure: Rebuilt.
3647
3648 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
3649
3650         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
3651
3652 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
3653
3654         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
3655
3656 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3657
3658         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
3659         (push): Likewise.
3660         (pop): Likewise.
3661         (h8300_output_function_prologue): Likewise.
3662         (h8300_output_function_epilogue): Likewise.
3663
3664 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
3665
3666         * expmed.c (store_bit_field): Use int_mode_for_mode to find
3667         corresponding mode of non-integer mode, unless it is VOIDmode.
3668
3669 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3670
3671         * config/h8300/h8300.md (stm_h8300s_2): New.
3672         (stm_h8300s_3): Likewise.
3673         (stm_h8300s_4): Likewise.
3674         (five define_peephole2): Likewise.
3675
3676 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
3677
3678         * ra-build.c: Fix a comment typo.
3679
3680 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
3681
3682         * i386.c (ix86_expand_int_movcc): fix
3683         reversed BRANCH_COST test; be curefull about infinite recursion.
3684
3685 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
3686
3687         * config/h8300/h8300.c (h8300_output_function_prologue):
3688         Remove variable idx.
3689         (h8300_output_function_epilogue): Likewise.
3690
3691 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
3692
3693         * config/frv/xm-frv.h: Delete, unnecessary.
3694
3695 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
3696
3697         * config/h8300/h8300.md: Add comments for define_peephole2.
3698
3699 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
3700
3701         * builtin-types.def (BT_SIZE): Use size_type_node.
3702         * builtins.c (fold_builtin): Make the builtin strlen returns a
3703         size_t, not a sizetype.
3704         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
3705         c_size_type_node.
3706         (c_alignof_expr): Likewise.
3707         (c_common_nodes_and_builtins): Likewise.
3708         * c-common.h (CTI_C_SIZE_TYPE): Remove.
3709         (c_size_type_node): Likewise.
3710         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
3711         * tree.h (TI_SIZE_TYPE): New enumeral.
3712         (size_type_node): Likewise.
3713
3714 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
3715
3716         * configure.in: Don't put ${tm_file} into host_xm_file,
3717         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
3718         Take location of tm-preds.h into account when calculating
3719         tm_p_file_list.
3720         * configure: Regenerate.
3721         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
3722         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
3723         Remove special case code for tm_p.h and *config.h; add new
3724         special case code for tm.h and tconfig.h. Clean up a bit.
3725
3726         * Makefile.in (tm_file, tm_file_list): New variables set from
3727         @-substitutions.
3728         (GCONFIG_H): Deleted.
3729         (GTM_H, TM_H): New.
3730         (CONFIG_H): Is now just config.h $(host_xm_file_list).
3731         (TM_P_H): Move up with the other mkconfig.sh-generated
3732         headers; don't mention tm-preds.h explicitly.
3733         (tm.h, cs-tm.h): New rule.
3734         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
3735         invocations of mkconfig.sh for changes to that program.
3736         (mostlyclean): Delete print-rtl1.c.
3737         (clean): Delete tm.h.
3738         Update dependencies for the files listed below.
3739
3740         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
3741
3742         * coretypes.h: New file.
3743         * system.h: #define malloc to xmalloc and realloc to xrealloc
3744         when FLEX_SCANNER or YYBISON is defined, independent of the
3745         value of GCC_VERSION.
3746         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
3747         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
3748         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
3749         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
3750         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
3751         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
3752         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
3753         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
3754         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
3755         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
3756         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
3757         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
3758         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
3759         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
3760         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
3761         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
3762         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
3763         genconstants.c, genemit.c, genextract.c, genflags.c,
3764         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
3765         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
3766         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
3767         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
3768         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
3769         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
3770         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
3771         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
3772         print-tree.c, profile.c, protoize.c, ra-build.c,
3773         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
3774         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
3775         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
3776         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
3777         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
3778         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
3779         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
3780         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
3781         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
3782         xcoffout.c, config/darwin-c.c, config/darwin.c,
3783         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
3784         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
3785         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
3786         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
3787         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
3788         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
3789         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
3790         config/i960/i960-c.c, config/i960/i960.c,
3791         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
3792         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
3793         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
3794         config/mips/irix6-libc-compat.c, config/mips/mips.c,
3795         config/mmix/mmix.c, config/mn10200/mn10200.c,
3796         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
3797         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
3798         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
3799         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
3800         config/sparc/sparc.c, config/stormy16/stormy16.c,
3801         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
3802         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
3803         Include coretypes.h and tm.h.
3804
3805         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
3806         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
3807         genrecog.c: Include coretypes.h and tm.h from the file
3808         generated by this program.
3809
3810         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
3811         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
3812         coretypes.h and tm.h, and tsystem.h when not already included.
3813         No need to include stddef.h nor stdlib.h.
3814
3815         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
3816         include auto-host.h or ansidecl.h/
3817         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
3818         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
3819         include auto-host.h, ansidecl.h, or system.h.
3820         * fixinc/server.c: Likewise.  Also, do not include signal.h,
3821         and do not redefine volatile.
3822
3823 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
3824
3825         * i386.md (movdf_integer):  Always enable in 64bit.
3826         (movdf_nointeger): Always disable in 64bit.
3827
3828 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3829
3830         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
3831         pseudo register number plus 1.
3832
3833 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
3834
3835         * expmed.c (store_bit_field): Use int_mode_for_mode to find
3836         corresponding mode of non-integer mode, unless it is VOIDmode.
3837
3838 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
3839
3840         * cpplib.c (_cpp_test_assertion): Default *value to 0.
3841
3842         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
3843
3844 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
3845
3846         * config/s390/t-crtstuff: New target makefile fragment.
3847         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
3848
3849 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
3850
3851         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
3852         alternatives to correct the length when the memory operand is
3853         either pre_dec or post_inc.
3854
3855 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
3856
3857         * config/h8300/h8300.md (an anonymous pattern): Give an
3858         internal name *tst_extzv_bitqi_1_n.
3859         Accept bit_operand instead of bit_memory_operand.
3860         Do not accept bit tests with the MSB.
3861         (*tst_extzv_memqi_1_n): New.
3862
3863 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
3864
3865         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
3866         sharing when operand is SUBREG.
3867
3868 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
3869
3870         * athlon.md (athlon-decodev): New reservation unit.
3871         (athlon-direct0): New reservation.
3872         (athlon-vector): New use athlon-decodev.
3873         (athlon-double, athlon-direct): Better model.
3874         (athlon_imul_k8): Use athlon-direct0.
3875         (athlon_movlpd_load): New insn reservation.
3876
3877 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
3878
3879         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
3880         Fix a comment typo.
3881         (h8300_tiny_constant_address_p): Likewise.
3882
3883 2002-11-28  Michael Matz  <matz@suse.de>
3884
3885         * doc/passes.texi: Mention the other register allocator.
3886
3887 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
3888
3889         * config/h8300/h8300.md (6 new peephole2 patterns): New.
3890
3891 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
3892
3893         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
3894         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
3895         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
3896
3897 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
3898
3899         * config/h8300/h8300.c (h8300_and_costs): New.
3900         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
3901         * config/h8300/h8300-protos.h: Add a prototype for
3902         h8300_and_costs.
3903
3904 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
3905
3906         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
3907         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
3908         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
3909         * i386.md (truncdfsf patterns and splitters): Use
3910         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
3911
3912 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
3913
3914         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
3915         pointer argument in the prototypes of the following builtins
3916         be (const TYPE *) rather than (TYPE *):
3917          + __builtin_altivec_ld_internal_4sf
3918          + __builtin_altivec_ld_internal_4si
3919          + __builtin_altivec_ld_internal_8hi
3920          + __builtin_altivec_ld_internal_16qi
3921          + __builtin_altivec_lvsl
3922          + __builtin_altivec_lvsr
3923          + __builtin_altivec_lvebx
3924          + __builtin_altivec_lvehx
3925          + __builtin_altivec_lvewx
3926          + __builtin_altivec_lvxl
3927          + __builtin_altivec_lvx
3928          + __builtin_altivec_dst
3929          + __builtin_altivec_dstt
3930          + __builtin_altivec_dstst
3931          + __builtin_altivec_dststt
3932
3933 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3934
3935         * except.c (default_exception_section): Move variable into the
3936         scope where it is used.
3937
3938 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
3939
3940         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
3941         correct version.
3942
3943 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
3944
3945         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
3946
3947 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
3948
3949         * config/h8300/h8300.c (h8300_shift_costs): New.
3950         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
3951         * config/h8300/h8300-protos.h: Add a prototype for
3952         h8300_shift_costs.
3953
3954 2002-11-27  Jim Wilson  <wilson@redhat.com>
3955
3956         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
3957         in output template.
3958
3959 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
3960
3961         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
3962         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
3963         DLL_IMPORT_EXPORT_PREFIX, not '@'.
3964         (i386_pe_dllimport_name_p): Likewise.
3965         (i386_pe_mark_dllexport): Likewise.
3966         (i386_pe_mark_dllimport): Likewise.
3967         (i386_pe_encode_section_info): Likewise.
3968         (i386_pe_strip_name_encoding): Likewise.
3969
3970 2002-11-27  Richard Henderson  <rth@redhat.com>
3971
3972         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
3973         (nm && NF == 3): Set sawsymbol true.
3974         (END): Exit if no symbols seen.
3975         (output): Fix map syntax error if no globals for the version.
3976
3977 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
3978
3979         * builtins.def (DEF_C99_BUILTIN): Fix.
3980
3981 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
3982
3983         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
3984         (all): Add .size and .type information.
3985
3986 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
3987
3988         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
3989         partial_reg_stall target.
3990
3991 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
3992
3993         * i386.md (movhicc): Allow general operand.
3994         (movqicc): New expander.
3995         (movqicc_noc): New pattern.
3996         * i386.c (ix86_expand_carry_flag_compare): New function.
3997         (ix86_expand_int_movcc): Optimize harder using sbb; support more
3998         HImode conversion; support QImode conditional moves
3999
4000 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
4001
4002         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
4003         (ix86_expand_prologue): Multiply the count by amount of registers to be
4004         pushed.
4005
4006 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
4007
4008         * i386.c (override_options): Error about wrong -mcpu on x86-64
4009         compilation.
4010
4011 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
4012
4013         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
4014
4015 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
4016
4017         * i386-protos.h (x86_extended_QIreg_mentioned_p,
4018         x86_extended_reg_mentioned_p): Declare.
4019         * i386.c (extended_reg_mentioned_1): New static function.
4020         (x86_extended_QIreg_mentioned_p,
4021         x86_extended_reg_mentioned_p): New global functions.
4022         * i386.h (REX_SSE_REGNO_P): New macro.
4023         * i386.md (prefix_rex): New attribute.
4024         (length attribute): Add rex.
4025
4026 2002-11-26  Andrew Haley  <aph@redhat.com>
4027
4028         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
4029         from_Unwind_Find_Enclosing_Function.
4030         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
4031         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
4032         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
4033         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
4034         * unwind.h (_Unwind_FindEnclosingFunction): Add.
4035
4036 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
4037
4038         * config/s390/s390.c (390_output_constant_pool): Set alignment
4039         before label in 64 bit mode, behind otherwise.
4040
4041 2002-11-26  Richard Henderson  <rth@redhat.com>
4042
4043         * c-common.c (handle_visibility_attribute): Accept "default".
4044         * tree.h (enum symbol_visibility): New.
4045         (decl_visibility): Declare.
4046         * target.h (gcc_target.visibility): Take visibility arg as integer.
4047         * varasm.c (default_assemble_visibility): Likewise.
4048         (decl_visibility): New.
4049         (maybe_assemble_visibility): Use it.
4050         * output.h (default_assemble_visibility): Update prototype.
4051         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
4052         visibility arg as integer.
4053         * doc/extend.texi: Document default visibility.
4054
4055 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
4056
4057         * config/h8300/h8300.c: Adjust spacing.
4058         * config/h8300/h8300.h: Likewise.
4059
4060 2002-11-26  Richard Henderson  <rth@redhat.com>
4061
4062         * hooks.c (hook_bool_void_false, hook_void_tree_int,
4063         hook_void_FILEptr_constcharptr): Rename so that the return
4064         type is first.
4065         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
4066         hook_bool_tree_false): New.
4067         * hooks.h: Update.
4068         * langhooks-def.h: Update for renames.
4069         * target-def.h: Likewise.
4070         * tree.c (default_comp_type_attributes,
4071         default_set_default_type_attributes, default_insert_attributes,
4072         default_function_attribute_inlinable_p,
4073         default_ms_bitfield_layout_p): Remove.
4074         * tree.h: Update.
4075
4076 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4077
4078         * pa-protos.h (function_value): New prototype.
4079         * pa.c (function_value): Use a PARALLEL to return small aggregates on
4080         TARGET_64BIT.
4081         * pa.h (FUNCTION_VALUE): Use function_value.
4082         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
4083         call_value_internal_reg, sibcall_value_internal_symref,
4084         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
4085         value.
4086
4087 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4088
4089         * expr.c (gen_group_rtx, emit_group_move): New functions.
4090         * expr.h (gen_group_rtx, emit_group_move): Prototype.
4091         * function.c (expand_function_start): Use gen_group_rtx to create a
4092         PARALLEL rtx to hold the return value when the real return rtx is a
4093         PARALLEL.
4094         (expand_function_end): Use emit_group_move to move the return value
4095         from a PARALLEL to the real return registers.
4096         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
4097         in PARALLELs.
4098
4099 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
4100
4101         * config/t-libc-ok: Fix typo.
4102
4103 2002-11-26  Jakub Jelinek  <jakub@redhat.com>