OSDN Git Service

PR opt/8634
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-04-07  Glen Nakamura  <glen@imodulo.com>
2
3         PR opt/8634
4         * explow.c (maybe_set_unchanging): Don't flag non-static const
5         aggregate type initializers with RTX_UNCHANGING_P.
6
7 2003-04-07  Richard Henderson  <rth@redhat.com>
8
9         PR opt/8634
10         * function.c (purge_addressof_1): Don't try arithmetics for
11         unchanging memories.
12
13 2003-04-07  Janis Johnson  <janis187@us.ibm.com>
14
15         * doc/sourcebuild.texi (Test Suites): Document testing support for
16         gcov and profile-directed optimizations; describe gcc.misc-tests.
17
18 Mon Apr  7 22:19:59 CEST 2003  Jan Hubicka  <jh@suse.cz>
19
20         PR target/10077
21         * i386.md (movsi_1, movsi_nointerunit_1):  Fix SSEMOV alternative.
22
23 2003-04-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
24
25         * doc/rtl.texi (Comparison operations): Update to
26         record the allowed comparison modes.
27
28 2003-04-07  Aldy Hernandez  <aldyh@redhat.com>
29
30         * config/rs6000/rs6000.c (rs6000_common_init_builtins): Rename all
31         V2SI_type_node to opaque_V2SI_type_node.  Rename all
32         V2SF_type_node to opaque_V2SF_type_node.
33         (rs6000_init_builtins): Define opaque_V2SI_type_node and
34         opaque_V2SF_type_node.
35         (is_ev64_opaque_type): The types opaque_V2SI_type_node and
36         opaque_V2SF_type_node are opaque types.
37
38 2003-04-07  J"orn Rennecke <joern.rennecke@superh.com>
39
40         * gcse.c (replace_store_insn): Use single_set.
41
42 2003-04-07  Nathan Sidwell  <nathan@codesourcery.com>
43
44         Change gcov file interface to single file at a time.
45         * gcov-io.h: Replace IN_LIBGCC1 with IN_LIBGCOV. Use IN_GCOV.
46         Convert to C89 prototypes.
47         (gcov_file, gcov_length, gcov_position, gcov_buffer, gcov_alloc,
48         gcov_error, gcov_modified): New static variables.
49         (gcov_open, gcov_close, gcov_read_bytes, gcov_write_bytes): New
50         functions.
51         (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
52         gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
53         (gcov_read_summary, gcov_write_summary): Adjust.
54         (gcov_save_position, gcov_reserve_length, gcov_write_length):
55         Adjust.
56         (gcov_resync, gcov_skip, gcov_skip_string): Adjust.
57         (da_file_open, da_file_close, da_file_eof, da_file_error): Remove.
58         (da_file_position, da_file_seek, da_file_write, da_file_read):
59         Remove.
60         (gcov_error, gcov_eof, gcov_ok, gcov_time): New functions.
61         * gcov.c (gcov_type): Don't typedef here.
62         (IN_GCOV): #define
63         (read_graph_file, read_count_file): Adjust.
64         * gcov-dump.c (gcov_type): Don't typedef here.
65         (IN_GCOV): #define.
66         (tag_function, tag_blocks, tag_arcs, tag_lines, tag_arc_counts):
67         Remove FILE parameter, adjust.
68         (struct tag_format): Adjust proc member.
69         (dump_file): Adjust.
70         * libgcov.c (IN_LIBGCOV): #define.
71         (gcov_exit): Adjust.
72         * loop-init.c: Don't #include gcov-io.h
73         * profile.c (struct counts_entry): New structure to hold counter
74         values.
75         (struct section_reference, struct da_index_entry): Remove.
76         (bbg_file, da_file): Remove.
77         (htab_counts_index_hash, htab_counts_index_eq,
78         htab_counts_index_del): Replace with ...
79         (htab_counts_entry_hash, htab_counts_entry_eq,
80         htab_counts_entry_del): ... these.
81         (cleanup_counts_index, index_counts_file): Remove.
82         (read_counts_file): New function.
83         (get_exec_counts): Adjust.
84         (compute_branch_probabilities): Don't free the exec counts here.
85         (branch_prob): Adjust.
86         (init_branch_prob): Adjust.
87         (end_branch_prob): Adjust.
88
89 2003-04-07  Aldy Hernandez  <aldyh@redhat.com>
90
91         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
92         -mfloat-gprs.
93
94         * config/rs6000/rs6000.c: Delete rs6000_fprs.
95         Declare rs6000_float_gprs.
96         Declare rs6000_float_gprs_string.
97         (rs6000_parse_float_gprs_option): New.
98         (rs6000_override_options): Genericize rs6000_parse_* calls to use
99         rs6000_parse_yes_no_option.
100         Change check for cpu=8540, to use TARGET_E500.
101         (rs6000_parse_isel_option): Delete.
102         (rs6000_parse_spe_option): Delete.
103         (rs6000_parse_vrsave_option): Delete.
104
105         * config/rs6000/rs6000.h: Rename rs6000_fprs to rs6000_float_gprs.
106         Define rs6000_float_gprs_string.
107         (TARGET_OPTIONS): Add rs6000_float_gprs option.
108
109         * config/rs6000/eabi.h (TARGET_FPRS): Change to use rs6000_float_gprs.
110
111         * config/rs6000/eabispe.h: Set rs6000_float_gprs.
112
113 Mon Apr  7 14:36:24 CEST 2003  Jan Hubicka  <jh@suse.cz>
114
115         PR opt/10024
116         * cfglayout.c (cfg_layout_redirect_edge):
117         Redirect any branch edges unified with the fallthru one.
118         * cfgrtl.c (force_nonfallthru_and_redirect):  Do not special
119         case fallthru edges when called via cfglayout.c
120
121 2003-04-07  J"orn Rennecke <joern.rennecke@superh.com>
122
123         * c-typeck.c (output_init_element): Check for type == error_mark_node.
124
125 2003-04-07  Kazu Hirata  <kazu@cs.umass.edu>
126
127         * config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Always
128         split.
129         (a splitter): Do zero-extension via HImode.
130
131 2003-04-07  James A. Morrison <ja2morri@uwaterloo.ca>
132
133         * doc/invoke.texi: Eliminate extra white-space caused by
134         @gccoptlist{ on its own line.
135         * doc/invoke.texi: Ensured there are two spaces between each option.
136         * doc/invoke.texi: Re-wrapped option lines that were too wide.
137         Added @gol to options that didn't have them.
138
139 2003-04-07  James A Morrison <ja2morri@student.math.uwaterloo.ca>
140
141         * doc/extend.texi (Darwin Pragmas): Fix spelling of Mac OS.
142
143 2003-04-06  Zack Weinberg  <zack@codesourcery.com>
144
145         * tree.c (tree_size): For all 'c' and 'x' nodes, look directly
146         at the sizes of the relevant structures, rather than relying
147         on TREE_CODE_LENGTH.  Call lang_hooks.tree_size to get the
148         sizes of any such we don't know about.  Use
149         lang_hooks.identifier_size for IDENTIFIER_NODE.
150
151         (initializer_zerop): Use CONSTRUCTOR_ELTS.
152         * tree.def: Update commentary.  Make fourth element of
153         the definition for all 'c' and 'x' nodes zero.
154
155         * langhooks.h: New hook, tree_size / LANG_HOOKS_TREE_SIZE.
156         * langhooks-def.h: Update to match.
157         * langhooks.c: New default, lhd_tree_size.
158
159         * c-common.def (SRCLOC): Kill.
160         * c-pretty-print.c (pp_c_postfix_expression [case SRCLOC]):
161         Remove entirely - was already #if-ed out.
162
163
164 2003-04-06  Zack Weinberg  <zack@codesourcery.com>
165
166         * mklibgcc.in: Use a here document to avoid running afoul of
167         shells that generate control-A from "echo \1".
168
169 2003-04-06  Aldy Hernandez  <aldyh@redhat.com>
170
171         * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mspe
172         option.
173
174         * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set
175         rs6000_spe.
176
177         * config/rs6000/eabi.h (TARGET_E500): Define.
178
179         * config/rs6000/rs6000.h (TARGET_E500): Define.
180         (TARGET_OPTIONS): Add spe= option.
181         Declare rs6000_spe and rs6000_spe_string extern.
182
183         * config/rs6000/rs6000.c (branch_positive_comparison_operator):
184         Change TARGET_SPE to TARGET_E500.
185         (ccr_bit): Change TARGET_SPE to TARGET_E500.  Check for
186         !TARGET_FPRS.
187         (print_operand): Same.
188         (rs6000_generate_compare): Same.
189         (output_cbranch): Same.
190         (rs6000_spe): Declare.
191         (rs6000_spe_string): Declare.
192         (rs6000_override_options): Call rs6000_parse_spe_option.
193         (rs6000_parse_spe_option): New.
194
195 2003-04-06  Steven Bosscher  <steven@gcc.gnu.org>
196
197         * hashtable.c (gcc_obstack_init): Delete this function
198         and everything related to it.
199         * hashtable.h: Remove prototype.
200         * bitmap.c (bitmap_element_allocate): Cleanup redundant
201         defines.  Cleanup some unnecessary whitespace.
202         * defaults.h (obstack_chunk_alloc): Redefine with
203         appropriate casts for libiberty obstacks.
204         (obstack_chunk_free): Ditto.
205         (OBSTACK_CHUNK_SIZE): Define, default to 0.
206         (gcc_obstack_init): Define as a call to _obstack_begin.
207         * tree.c (print_obstack_statistics): Delete this unused
208         function.
209         * tree.h (obstack): Don't forward-declare.
210         (print_obstack_statistics): Delete prototype.
211         (print_obstack_name): Ditto.
212         (gcc_obstack_init): Ditto.
213         * rtl.h (gcc_obstack_init): Ditto.
214         * java/jv-scan.c (gcc_obstack_init): Delete this
215         function, its prototype and related defines.
216         * java/jvgenmain.c (gcc_obstack_init): Delete this
217         function, and related defines.
218         * java/parse-scan.y (obstack_chunk_alloc): Don't define.
219         (obstack_chunk_free): Ditto
220
221 2003-04-06  Geoffrey Keating  <geoffk@apple.com>
222
223         * dbxout.c (dbxout_handle_pch): Move prototype out from
224         #if defined DBX_DEBUGGING_INFO.
225
226 2003-04-05  Nathan Sidwell  <nathan@codesourcery.com>
227
228         * gcov.c (struct arc_info): Replace local_span with cycle.
229         (struct block_info): Replace u.span with u.cycle. Add is_call_return.
230         (solve_flow_graph): Set is_call_return.
231         (add_line_counts): Adjust. In block mode, blocks attach to last line.
232         (accumulate_line_counts): Find graph cycles, not spanning tree.
233         (output_branch_count): Adjust.
234         (output_lines): Adjust.
235         * doc/gcov.texi: Update.
236
237 2003-04-06  Kazu Hirata  <kazu@cs.umass.edu>
238
239         * config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Change
240         the second alternative to "#".
241
242 2003-04-05  Kazu Hirata  <kazu@cs.umass.edu>
243
244         * config/h8300/h8300.c (single_one_operand): Use GET_MODE_MASK.
245         (single_zero_operand): Likewise.
246
247 2003-04-05  Daniel Berlin  <dberlin@dberlin.org>
248
249         * Makefile.in (df.o):  Depend on alloc-pool.h, not obstack.h.
250         * df.c: Include alloc-pool.h, not obstack.h.
251         (df_ref_obstack): Remove.
252         (df_ref_pool, df_link_pool): Add pools.
253         (df_alloc): Init the new pools.
254         (df_free): And free them.
255         (df_link_create): Use the pools.
256         (df_ref_create): Ditto.
257
258 2003-04-05  Kazu Hirata  <kazu@cs.umass.edu>
259
260         * simplify-rtx.c: Fix formatting.
261
262 2003-04-05  Andrew Pinski  <apinski@apple.com>
263
264         * config/rs6000/rs6000.c (addrs_ok_for_quad_peep): Allow addr2
265         reg with reg1 == reg2 and offset1 = -8.
266
267 2003-04-05  David Edelsohn  <edelsohn@gnu.org>
268
269         * config/rs6000/rs6000.c (rs6000_rtx_costs): Halve Power4
270         multiply costs.  Correct Power4 divide costs.
271         * config/rs6000/power4.md: Restore multiply and FP latency.
272
273 2003-04-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
274
275         * alias.c (find_base_term): Export.
276         * rtl.h (find_base_term): Declare.
277         * gcse.c (find_moveable_store): Test for flag_non_call_exceptions
278         instead of flag_exceptions.  Move test for parameter passing ...
279         (store_killed_in_insn): ... here.
280
281 2003-04-05  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
282
283         PR bootstrap/10267
284         * doc/install.texi (*-*-solaris2): /bin/ksh is not just recommended
285         for configuring.
286
287 2003-04-04  Geoffrey Keating  <geoffk@apple.com>
288
289         * dbxout.c (scope_labelno): Add GTY.
290         (have_used_extensions): Add GTY.
291         (source_label_number): Add GTY.
292         (lastfile): Add GTY.
293         (lastfile_is_base): New.
294         (base_input_file): New.
295         (dbxout_handle_pch): New.
296         (dbx_debug_hooks): Add handle_pch.
297         (xcoff_debug_hooks): Likewise.
298         (dbxout_function_end): Remove scope_labelno.
299         (dbxout_init): Set base_input_file.
300         (dbxout_handle_pch): New.
301         (dbxout_source_file): Honour lastfile_is_base.
302         * dwarfout.c (dwarf_debug_hooks): Add dummy handle_pch.
303         * sdbout.c (sdb_debug_hooks): Add dummy handle_pch.
304         * vmsdbgout.c (vmsdbg_debug_hooks): Add dummy handle_pch.
305         * dwarf2out.c (dwarf2_debug_hooks): Add dummy handle_pch.
306         * debug.c (do_nothing_debug_hooks): Add dummy handle_pch.
307         * debug.h (struct gcc_debug_hooks): Add handle_pch.
308         * c-pch.c (pch_init): Don't call start_source_file, but do call
309         handle_pch.
310         (c_common_write_pch): Call handle_pch.
311         (c_common_read_pch): Don't call start_source_file,
312         or end_source_file.     
313
314 Fri Apr  4 17:43:52 2003  Olivier Hainque <hainque@act-europe.fr>
315
316         * emit-rtl.c (get_mem_attrs): Adjust alignment tests determining
317         use of default attributes to agree MEM_ALIGN macro.
318
319 Fri Apr  4 17:33:24 2003  Joel Brobecker  <brobecker@gnat.com>
320
321         * dbxout.c (dbxout_type): When printing type index of range type
322         whose bounds are printed in octal format, print type of parent type if
323         it exists so enumerated type descriptions are not transformed
324         into unsigned types.
325
326 2003-04-04  Kazu Hirata  <kazu@cs.umass.edu>
327
328         * config/h8300/h8300-protos.h: Add a prototype for
329         compute_a_shift_cc.
330         * config/h8300/h8300.c (shift_one): Update the CC status.
331         (shift_two): Likewise.
332         (output_a_shift_cc): Set cc_inline and cc_special.
333         (compute_a_shift_cc): New.
334         * config/h8300/h8300.md (shift insns): Use compute_a_shift_cc.
335
336 2003-04-04  Richard Henderson  <rth@redhat.com>
337
338         * cse.c (fold_rtx): Fix 03-30 change; do check insn non-null.
339
340 2003-04-04  Loren James Rittle  <ljrittle@acm.org>
341
342         * fixinc/inclhack.def (bsd_stdio_attrs_conflict): New.
343         * fixinc/fixincl.x: Rebuilt.
344         * fixinc/tests/base/stdio.h: Regenerated.
345
346 2003-04-04  Nathan Sidwell  <nathan@codesourcery.com>
347
348         * gcov.c (accumulate_line_counts): Fix span tree merge bug.
349
350 Fri Apr  4 15:58:52 2003  J"orn Rennecke <joern.rennecke@superh.com>
351
352         * sh.h (ACTUAL_NORMAL_MODE): New macro, broken out of
353         (NORMAL_MODE).
354         * sh.c (fpscr_set_from_mem): Use ACTUAL_NORMAL_MODE.
355
356 2003-04-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
357         
358         * doc/contrib.texi (Contributors): Add entries for Wolfgang
359         Bangerth, DJ Delorie, Christian Ehrhardt, Christopher Faylor,
360         Nathanael Nerode, Diego Novillo, Hartmut Penner, Volker Reichelt,
361         Danny Smith, and Ulrich Weigand.
362         Update Kriang Lerdsuwanakij and fix a typo in Janis Johnson's
363         entry.
364
365 2003-04-04  Nick Clifton  <nickc@redhat.com>
366
367         * config/sparc/sol2-bi.h: Revert previous delta.
368         * config/sparc/sol2-gas-bi.h (AS_SPARC64_FLAG): Prepend -TSO
369
370 2003-04-04  Nick Clifton  <nickc@redhat.com>
371
372         * config/v850/v850.c (expand_prologue): Only use register save
373         helper functions if long calls are not being used.
374         Add a clobber of r11 id using long calls.
375         (pattern_is_ok_for_prologue): Account for the extra clobber.
376         (construct_save_jarl): Likewise.
377         * config/v850/v850.md (prolog pattern): Do not use this pattern
378         for v850e's.
379
380 2003-04-04  Andreas Schwab  <schwab@suse.de>
381
382         * stor-layout.c (layout_decl): Avoid syntax error in last change
383         when PCC_BITFIELD_TYPE_MATTERS is defined but not
384         EMPTY_FIELD_BOUNDARY.
385
386 2003-04-03  Jason Merrill  <jason@redhat.com>
387
388         PR c/10175
389         * jump.c (never_reached_warning): Revert patch of 2002-11-02.
390         Look backwards for a line note.
391
392 2003-04-03  Neil Booth  <neil@daikokuya.co.uk>
393
394         * fix-header.c (read_scan_file): Defer switch processing.
395
396 2003-04-03  Matt Austern  <austern@apple.com>
397
398         * cpppch.c (reset_ht): Remove.
399         (cpp_read_state): Remove loop to reset hashtable identifiers.
400         * ggc-common.c (gt_pch_save): Add call to gt_pch_fixup_stringpool
401         after pch file is written.
402         * ggc.h (gt_pch_fixup_stringpool): Declare.
403         * stringpool.c (ht_copy_and_clear): Define.  Callback.  Copy
404         hashnode's value to another hashtable, then clear the original.
405         (saved_ident_hash): Define.
406         (gt_pch_save_stringpool): Create saved_ident_hash, use it to
407         store definitions in ident_hash, and clear ident_hash.
408         (gt_pch_fixup_stringpool): Define.  Restore definitions from
409         saved_ident_hash to ident_hash, then destroy saved_ident_hash.
410
411 Thu Apr  3 22:27:40 CEST 2003  Jan Hubicka  <jh@suse.cz>
412
413         * cfgrtl.c (update_bb_for_insn): Do not set block for barriers.
414
415 2003-04-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
416
417         PR optimization/10157
418         * gcse.c (can_copy_p): Rename it to can_copy.
419         (can_copy_init_p): Remove.
420         (compute_can_copy): Use can_copy instead of can_copy_p.
421         (can_copy_p): New exported function. Call compute_can_copy.
422         (hash_scan_set): Use it.
423         (gcse_main): Don't call compute_can_copy.
424         (bypass_jumps): Don't call compute_can_copy.
425         * rtl.h (can_copy_p): Declare.
426         * loop.c (scan_loop): Don't move the source and add a reg-to-reg
427         copy if the mode doesn't support copy operations.
428
429 2003-04-03  Jason Merrill  <jason@redhat.com>
430
431         * Makefile.in (unstrap): Also remove stage_last.
432
433         * dwarf2out.c (lookup_filename): Don't check for "<internal>".
434         (dwarf2out_source_line): Don't do anything if line==0.
435
436         * stor-layout.c (do_type_align): New fn, split out from...
437         (layout_decl): ...here.  Do all alignment calculations for 
438         FIELD_DECLs here.
439         (update_alignment_for_field): Not here.
440         (start_record_layout, debug_rli): Remove unpadded_align.
441         * tree.h (struct record_layout_info_s): Remove unpadded_align.
442         * c-decl.c (finish_enum): Don't set DECL_SIZE, DECL_ALIGN
443         or DECL_MODE on the CONST_DECLs.
444         (finish_struct): Don't mess with DECL_ALIGN.
445
446 Thu Apr  3 18:57:19 CEST 2003  Jan Hubicka  <jh@suse.cz>
447
448         * i386.c (print_operand): Do not bypass output_addr_const at flag_pic.
449
450 Thu Apr  3 17:08:09 2003  J"orn Rennecke <joern.rennecke@superh.com>
451
452         * sh.c (sh_function_ok_for_sibcall): Return 0 if the current
453         function is an interrupt handler.
454
455         * sh.c (sh_expand_epilogue): Avoid clash of temp register for
456         restoring target registers with EH_RETURN_STACKADJ_RTX; use
457         multiple registers in round-robin fashion.
458
459 2003-04-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
460
461         * gengtype-lex.l (IWORD): Add CHAR_BITFIELD.
462         * system.h (CHAR_BITFIELD): New.
463
464 2003-04-03  Kazu Hirata  <kazu@cs.umass.edu>
465
466         * config/h8300/h8300.md (a peephole2): Generalize to accept GT
467         and LE.
468         (another peephole2): Likewise.
469
470 2003-04-03  Nick Clifton  <nickc@redhat.com>
471
472         * config/sparc/sol2-bi.h (ASM_CPU64_DEFAULT_SPEC): Add -TSO.
473         (DEF_ARCH64_SPEC): Likewise.
474
475 Thu Apr  3 09:53:40 CEST 2003  Jan Hubicka  <jh@suse.cz>
476
477         * i386.c (constant_address_p): Use legitimate_constant_p.
478         (legitimate_address_p): Do not use CONSTANT_ADDRESS_P.
479
480 2003-04-02  Kazu Hirata  <kazu@cs.umass.edu>
481
482         * config/h8300/h8300-protos.h: Add a prototype for
483         gtle_operator.
484         * config/h8300/h8300.c (gtle_operator): New.
485         * config/h8300/h8300.h (PREDICATE_CODES): Add an entry for
486         gtle_operator.
487         * config/h8300/h8300.md (a peephole2): Generalize to accept GT
488         and LE.
489
490 2003-04-02  Richard Henderson  <rth@redhat.com>
491
492         * libgcc-std.ver (_Unwind_GetCFA): New.
493         * unwind-dw2.c (_Unwind_GetCFA): New.
494         * unwind-libunwind.c (_Unwind_GetCFA): New.
495         * unwind-sjlj.c (_Unwind_GetCFA): New.
496         * unwind.h: Declare it.
497
498 Thu Apr  3 00:31:21 CEST 2003  Jan Hubicka  <jh@suse.cz>
499
500         PR inline-asm/8088
501         * i386.c (ix86_hard_regno_mode_ok):  Return 0 for MMX/SSE registers
502         when MMX/SSE is not available.
503
504 2003-04-02  Mike Stump  <mrs@apple.com>
505
506         * doc/install.texi (Specific): Update pointers to apple.com.
507
508 Thu Apr  3 00:18:49 CEST 2003  Jan Hubicka  <jh@suse.cz>
509
510         * i386.c (override_options):  Disable red zone by default on i386.
511         (compute_frame_layout, ix86_force_to_memory, ix86_free_from_memory):  
512         Do not test TARGET_64BIT together with TARGET_RED_ZONE
513
514 2003-04-02  Kazu Hirata  <kazu@cs.umass.edu>
515
516         * config/h8300/h8300.md (a peephole2): Tighten the condition.
517
518 2003-04-02  Richard Henderson  <rth@redhat.com>
519
520         * longlong.h (umul_ppmm) [alpha]: Use __builtin_alpha_umulh.
521
522 2003-04-02  Kazu Hirata  <kazu@cs.umass.edu>
523
524         * config/h8300/h8300.md (a peephole2): New.
525
526 2003-04-02  Richard Henderson  <rth@redhat.com>
527
528         * except.c (sjlj_find_directly_reachable_regions): Recognize when
529         must-not-throw region has been deleted.
530
531 2003-04-02  Richard Henderson  <rth@redhat.com>
532
533         * dwarf2out.c (output_call_frame_info): Ignore fde->nothrow as an
534         optimization when flag_exceptions not enabled.
535
536 2003-04-02  Vladimir Makarov  <vmakarov@redhat.com>
537
538         * config/rs6000/rs6000.c
539         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Redefine the
540         macros.
541         (rs6000_issue_rate): Add case for 8540.
542         (rs6000_use_sched_lookahead): New function.
543
544         * config/rs6000/8540.md: Rename SIU units into SU ones and MIU
545         units into MU ones.
546         (ppc8540_branch, ppc8540_cr_logical): Add one cycle in the
547         reservation before retirement.
548         (ppc8540_multiply, ppc8540_load, ppc8540_store,
549         ppc8540_simple_float, ppc8540_vector_load, ppc8540_vector_store):
550         Remove additional cycle in the reservation before retirement.
551         (ppc8540_mfcr, ppc8540_mtcrf, ppc8540_mtjmpr): Add missed
552         reservation of ppc8540_issue.
553         
554 2003-04-02  Andreas Schwab  <schwab@suse.de>
555
556         * real.c (decode_ieee_single): Fix decoding of SNaN bit.
557
558 2003-04-01  Richard Henderson  <rth@redhat.com>
559
560         * except.c (convert_from_eh_region_ranges_1): Smash REG_EH_REGION
561         notes for nothrow calls if flag_forced_unwind_exceptions.
562         (build_post_landing_pads): Mind flag_forced_unwind_exceptions.
563         (sjlj_find_directly_reachable_regions): Likewise.
564         (reachable_handlers): Likewise.
565         (can_throw_external): Likewise.
566         (collect_one_action_chain): Record cleanups after catch-all and
567         must-not-throw if flag_forced_unwind_exceptions.
568         * flags.h (flag_forced_unwind_exceptions): Declare.
569         * toplev.c (flag_forced_unwind_exceptions): New.
570         (lang_independent_options): Add it.
571         * doc/invoke.text: Add it.
572
573 2003-04-01  David Mosberger <davidm@hpl.hp.com>
574
575         * config/ia64/crti.asm: Clean up trailing whitespace.
576         Remove trailing hashes (#) from identifiers.
577
578         * config/ia64/crtn.asm: Ditto.
579
580         * config/ia64/crtend.asm: Remove trailing hashes (#) from
581         identifiers.
582         (__do_global_ctors_aux): Align to 32-byte boundary.  Add unwind
583         directives.  Drop explicit bundling---it just makes the code
584         harder to read.  Don't save/restore gp needlessly.
585
586         * config/ia64/crtbegin.asm: Remove trailing hashes (#) from
587         identifiers (they're only needed if the identifier would clash
588         with a register name otherwise).
589         (__do_global_dtors_aux): Align to 32-byte boundary. Add unwind
590         directives.  Drop explicit bundling---it just makes the code
591         harder to read.
592         (__do_jv_register_classes): Ditto.
593         (.fini_array): Remove "progbits" (newer
594         assemblers don't like wrong section-types).
595         (.init_array): Ditto.
596
597 2003-04-01  Roger Sayle  <roger@eyesopen.com>
598
599         PR fortran/9974
600         * gcse.c (reg_killed_on_egde): New function to test whether the
601         given reg is overwritten by any instruction queued on an edge.
602         (bypass_block): Ignore substitutions killed on incoming edges.
603         Don't bypass outgoing edges that have queued instructions.
604
605 2003-04-01  Alexandre Oliva  <aoliva@redhat.com>
606
607         * real.h (EXP_BITS): Make room for...
608         (struct real_value): ... added canonical bit.
609         (struct real_format): Added pnan.
610         (mips_single_format, mips_double_format, mips_extended_format,
611         mips_quad_format): New.
612         * real.c: Copy p to pnan in all formats.
613         (get_canonical_qnan, get_canonical_snan): Set canonical bit.
614         (real_nan): Use pnan to compute significand's shift.
615         (real_identical): Disregard significand in canonical
616         NaNs.
617         (real_hash): Likewise.  Take signalling into account.
618         (encode_ieee_single, encode_ieee_double, encode_ieee_quad):
619         Disregard significand bits in canonical NaNs.  Set all bits of
620         canonical NaN if !qnan_msb_set.
621         (encode_ibm_extended, decode_ibm_extended): Likewise.  Use
622         qnan_msb_set to tell the base double format.
623         (ibm_extended_format): Use 53 as pnan.
624         (mips_single_format, mips_double_format, mips_extended_format,
625         mips_quad_format): Copied from the corresponding ieee/ibm
626         formats, with qnan_msb_set false.
627         * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Use mips_extended_format.
628         * config/mips/linux64.h (MIPS_TFMODE_FORMAT): Use mips_quad_format.
629         * config/mips/mips.c (override_options): Use mips_single_format
630         and mips_double_format.  Default TFmode to mips_quad_format.
631         * config/mips/t-linux64 (tp-bit.c): Define QUIET_NAN_NEGATED.
632         * config/mips/t-irix6: Likewise.
633         * config/mips/t-mips (fp-bit.c, dp-bit.c): Likewise.
634         * config/fp-bit.c (pack_d, unpack_d): Obey it.
635
636 2003-04-01  Geoffrey Keating  <geoffk@apple.com>
637
638         * unwind-dw2-fde-darwin.c (DESTRUCTOR_MAY_BE_CALLED_LIVE): New.
639         (live_image_destructor): Reset image to initial state.
640         (examine_objects): Set DESTRUCTOR_MAY_BE_CALLED_LIVE.
641
642 2003-04-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
643
644         * config/sparc/sparc.c (input_operand): Accept bare
645         CONSTANT_P_RTX operands.
646
647 2003-04-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
648
649         * gcse.c (struct ls_expr): Added pattern_regs field.
650         (ldst_entry): Initialize it.
651         (extract_mentioned_regs, extract_mentioned_regs_helper): New.
652         (store_ops_ok): Use regs precomputed by them.
653         (find_loads, store_killed_in_insn, load_kills_store): Change return
654         type to bool.
655         (store_killed_before, store_killed_after): Take position of register
656         set in account.
657         (reg_set_info): Store position of the setter.
658         (gcse_main): Enable store motion.
659         (mems_conflict_for_gcse_p): Enable load motion of non-symbol mems.
660         (pre_insert_copy_insn, update_ld_motion_stores, insert_store): Prevent rtl
661         sharing.
662         (simple_mem): Enable store motion of non-symbol mems.
663         (regvec): Type changed.
664         (LAST_AVAIL_CHECK_FAILURE): New.
665         (compute_store_table_current_insn): New.
666         (build_store_vectors): Computation of availability and anticipatability
667         moved ...
668         (compute_store_table, find_moveable_store): ... here.
669         (delete_store): Remove senseless comment.
670         (store_motion): Reorganize.
671
672 2003-04-01  Kevin Buettner  <kevinb@redhat.com>
673
674         * config/mips/mips.c (override_options): Provide mappings for
675         HI_REGNUM and LO_REGNUM.
676         * config/mips/mips.h (MD_DBX_FIRST): Define.
677
678 2003-04-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
679
680         * combine.c (merge_outer_ops): Fix typo.
681
682         * varasm.c (make_decl_one_only): Revert 2003-03-09 patch.
683
684 2003-04-01  David Edelsohn  <edelsohn@gnu.org>
685
686         * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
687         power4.md,rios1.md,rios2.md,rs64.md}: Change mult_compare to
688         imul_compare.  Add lmul_compare.
689         * config/rs6000/power4.md: Bump some latencies.  Model extra cycle
690         in second pair of dispatch slots.  Model stores more accurately.
691         Tweak multiply model.  Add bypasses for CR instructions dependent
692         on complicated compares.
693         * config/rs6000/rs6000.md (mulsi3): Name imul_compare patterns.
694         (muldi3): Add lmul_compare patterns.
695         * config/rs6000/rs6000.c (rs6000_variable_issue): Move FPLOAD_UX
696         and FPSTORE_UX to split instructions and add COMPARE,
697         DELAYED_COMPARE, IMUL_COMPARE, LMUL_COMPARE, IDIV, LDIV.
698         (rs6000_adjust_cost): Add IMUL_COMPARE and LMUL_COMPARE.
699         (rs6000_rtx_costs): Separate POWER4 multiply case.
700
701 2003-04-01  Ulrich Weigand  <uweigand@de.ibm.com>
702
703         * config/s390/s390.c (s390_fixup_clobbered_return_reg):
704         Do nothing if __builtin_return_address was not used.
705
706 Tue Apr  1 18:18:23 CEST 2003  Jan Hubicka  <jh@suse.cz>
707
708         * i386.md (test patterns):  Allow memory operand in operand1.
709
710 2003-02-31  Aldy Hernandez  <aldyh@redhat.com>
711
712         * testsuite/gcc.c-torture/execute/simd-3.c: New.
713
714         * expr.c (expand_expr): Handle VECTOR_CST.
715         (const_vector_from_tree): New.
716
717         * varasm.c (output_constant): Handle VECTOR_CST.
718
719         * c-typeck.c (digest_init): Build a vector constant from a
720         VECTOR_TYPE.
721
722         * config/rs6000/rs6000.c: Remove prototype for
723         easy_vector_constant.
724         (easy_vector_constant): Add mode parameter.  Rewrite to handle
725         more easy constants.
726         (rs6000_emit_move): Pass mode to easy_vector_constant.
727         Call emit_easy_vector_insn for SPE V2SI vector constant moves.
728         (emit_easy_vector_insn): New.
729         (easy_vector_same): New.
730         (EASY_VECTOR_15): New macro.
731         (EASY_VECTOR_15_ADD_SELF): New macro.
732         (bdesc_2arg): Rename to xorv2si3.
733         (easy_vector_constant_add_self): New.
734         (input_operand): Allow vector constants.
735
736         * config/rs6000/rs6000.h (PREDICATE_CODES): Add
737         easy_vector_constant, easy_vector_constant_add_self.
738         (EXTRA_CONSTRAINT): Add 'W'.
739
740         * config/rs6000/rs6000-protos.h: Add prototype for
741         easy_vector_constant, emit_easy_vector_insn.
742
743         * config/rs6000/altivec.md (xorv8hi3): New.
744         (xorv16qi3): New.
745         Remove all _const0 patterns.
746         (movv4si_internal): Rewrite to use code.  Add vector constant to
747         vector alternative.  Add splitter.
748         (movv8hi_internal): Same.
749         (movv16qi_internal): Same.
750         (movv4sf_internal): Same.
751         Change the unspecs for vspltis* to use constants.
752
753         * config/rs6000/spe.md ("xorv4hi3"): New.
754         ("spe_evxor"): Rename to xorv2si3.
755         ("xorv1di3"): New.
756         Remove all _const0 patterns.
757         (movv2si_internal): Rewrite to use code.  Add vector constant to
758         alternatives.  Add splitter.
759         (movv4hi_internal): Add vector constant to alternatives.
760         (movv1di_internal): Same.
761         (movv2sf_internal): Same.
762
763 2003-03-31  Mark Mitchell  <mark@codesourcery.com>
764
765         PR c/9936
766         * c-decl.c (grokdeclarator): Clear SAVE_EXPR_CONTEXT for
767         variably-sized arrays in parameters.
768         (set_save_expr_context): New function.
769         (c_expand_body): Use it, via walk_tree.
770
771 2003-03-31  Eric Christopher  <echristo@redhat.com>
772
773         * combine.c (can_combine_p): Allow ZERO_EXTRACT and STRICT_LOW_PART.
774         (combinable_i3pat): Remove call to expand_field_assignment and
775         #if 0'd code.
776
777 2003-03-31  Mark Mitchell  <mark@codesourcery.com>
778
779         PR c++/10278
780         * c-common.c (finish_label_address_expr): Handle the
781         error_mark_node.
782
783 2003-03-31  Richard Henderson  <rth@redhat.com>
784
785         * real.c (real_identical): Reorg so as to not compare
786         signalling for normals.
787
788 2003-03-31  Stephane Carrez  <stcarrez@nerim.fr>
789
790         * config/m68hc11/m68hc11.c (hard_reg_operand): Check the mode.
791
792 2003-03-31  Stephane Carrez  <stcarrez@nerim.fr>
793
794         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Don't rely on REG_WAS_0
795         notes as they are boggus.
796         (m68hc11_gen_movqi): Likewise.
797
798 2003-03-31  Stephane Carrez  <stcarrez@nerim.fr>
799
800         * config/m68hc11/m68hc11.c (expand_prologue): For an interrupt handler
801         save the soft registers after the frame pointer so that gdb can unwind
802         the frame more easily.
803         (expand_epilogue): Likewise in opposite order; allow to use X register
804         as scratch if the return value is by reference.
805
806 2003-03-31  Jason Merrill  <jason@redhat.com>
807
808         PR java/10145
809         * stor-layout.c (update_alignment_for_field): Respect
810         DECL_USER_ALIGN for zero-length bitfields, too.
811         * c-decl.c (finish_struct): Don't set DECL_ALIGN for normal
812         fields.
813
814 2003-03-31  Matt Austern  <austern@apple.com>
815
816         * cpppch.c (struct cpp_savedstate): Add defs and n_defs members.
817         (count_defs): Keep track of number of defs as well as total size.
818         (write_defs): Put every definition in cpp_savedstate's defs array.
819         (comp_hashnode): Define.  Comparison function for qsort.
820         (cpp_write_pch_deps): Sort definitions before writing them.
821         (struct ht_node_list): Define. Like cpp_savedstate but simpler.
822         (collect_ht_nodes): Define.
823         (cpp_valid_state): When verifying that undefined identifiers in
824         the pch file are still undefined, read a sorted list of undefined
825         identifiers, collect all defined identifiers into a sorted list,
826         and walk through both lists to make sure there's no match.
827
828 2003-03-31  Kazu Hirata  <kazu@cs.umass.edu>
829
830         * config/h8300/h8300.md (a peephole2): New.
831
832 2003-03-31  Michael Matz  <matz@suse.de>
833
834         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Change 1 into 0.
835
836 2003-03-31  Segher Boessenkool  <segher@koffie.nl>
837
838         PR target/10177
839         * config/rs6000/rs6000.h (HARD_REGNO_RENAME_OK): New.
840         * config/rs6000/rs6000.c (compute_vrsave_mask): Don't mark
841         all call-clobbered registers as used.
842
843 2003-03-31  Michael Matz  <matz@suse.de>
844
845         * cppexp.c (cpp_classify_number): Accept '.' after "0x".
846         * testsuite/gcc.dg/cpp/c99-hexfloat-3.c: New file.
847
848 2003-03-31  Nathan Sidwell  <nathan@codesourcery.com>
849
850         * gcov.c: Add -a & -u options.
851         (struct arc_info): Add local_span, is_call_non_return,
852         is_nonlocal_return, is_unconditional flags, remove is_call flag.
853         (struct block_info): Add flags, is_call_site, is_nonlocal_return
854         members. Make encodings a union with span member.
855         (struct function_info): Add blocks_executed, line, src, line_next
856         members.
857         (struct coverage_info): Make branches a union with blocks member.
858         (struct source_info): Add functions member.
859         (object_summary, program_count): New global variables.
860         (flag_all_blocks, flag_unconditional): New flags.
861         (find_source, output_branch_count): New functions.
862         (print_usage): Adjust.
863         (options): Adjust.
864         (process_args): Adjust.
865         (read_graph_file) <GCOV_TAG_FUNCTION>: Adjust.
866         <GCOV_TAG_BLOCKS>: Read flags.
867         <GCOV_TAG_LINES>: Adjust.
868         (read_count_file): Process SUMMARY tags.
869         (solve_flow_graph): Set is_unconditional and clear is_call_site
870         appropriately.
871         (add_branch_counts): Adjust. Don't count unconditional branches.
872         (add_line_counts): Deal with all-blocks mode, accumulate block
873         coverage.
874         (accumulate_line_counts): Adjust, generate local spanning tree for
875         all-blocks mode.
876         (output_lines): Adjust.
877         * profile.c (branch_prob): Alter GCOV_FUNCTION_TAG record.
878         * doc/gcov.texi: Document.
879
880 2003-03-31  Kazu Hirata  <kazu@cs.umass.edu>
881
882         * config/h8300/h8300.md: Organize peephole2's that transform
883         (compare (reg:HI) (const_int)).
884
885 2003-03-31  Roger Sayle  <roger@eyesopen.com>
886
887         * emit-rtl.c (dconstm2, dconsthalf): New real constants.
888         (init_emit_once): Initialize dconstm2 and dconsthalf here.
889         * real.h (dconstm2, dconsthalf): Add prototypes here.
890         * real.c (real_sqrt): Use dconsthalf rather than local copy.
891         * builtins.c (fold_builtin): When optimizing sqrt(exp(x)) as
892         exp(x/2.0) remember to fold the division if possible.
893         Fold sin(0.0) as 0.0, cos(0.0) as 1.0, pow(x,1.0) as x,
894         pow(x,-1.0) as 1.0/x, pow(x,2.0) as x*x, pow(x,-2.0) as
895         1.0/(x*x) and pow(x,0.5) as sqrt(x).
896
897 2003-03-31  Kazu Hirata  <kazu@cs.umass.edu>
898
899         * config/h8300/h8300.md (a new peephole2): New.
900
901 2003-03-31  Richard Sandiford  <rsandifo@redhat.com>
902
903         * gcse.c (simple_mem): Return false for floating-point accesses
904         if flag_float_store is true.
905
906 2003-03-30  Roger Sayle  <roger@eyesopen.com>
907
908         * gcse.c (gcse_constant_p): New function to identify constants
909         suitable for constant propagation, including COMPARE with two
910         integer constant arguments.
911         (hash_scan_set): Use gcse_constant_p.
912         (find_avail_set): Likewise.
913         (cprop_insn): Likewise.
914         (do_local_cprop): Likewise.
915         (find_implicit_sets): Likewise.
916         (find_bypass_set): Likewise.
917
918 2003-03-30  Matt Kraai  <kraai@alumni.cmu.edu>
919
920         * except.h: Remove definition of varray_type.
921
922 2003-03-30  Richard Henderson  <rth@redhat.com>
923
924         PR opt/10011, opt/10252:
925         * toplev.c (rest_of_compilation): Run purge_builtin_constant_p
926         before post-gcse cse pass.
927
928 2003-03-30  Roger Sayle  <roger@eyesopen.com>
929
930         * dojump.c (do_jump): Copy SUBREGs into a pseudo for comparison.
931
932 2003-03-30  DJ Delorie  <dj@redhat.com>
933
934         * profile.c (instrument_edges): Make sure any newly created
935         jump insns have correct jump label info.
936
937 2003-03-30  Richard Henderson  <rth@redhat.com>
938
939         * cfgbuild.c (make_edges): Use tablejump_p.
940         * cfgcleanup.c (label_is_jump_target_p): Likewise.
941         * cfglayout.c (cfg_layout_can_duplicate_bb_p): Likewise.
942         * cfgrtl.c (flow_delete_block_noexpunge): Likewise.
943         (try_redirect_by_replacing_jump): Likewise.
944         (redirect_edge_and_branch): Likewise.
945         * cse.c (fold_rtx): Likewise.
946         * jump.c (delete_related_insns): Likewise.
947         * rtlanal.c (get_jump_table_offset): Likewise.
948         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): Likewise.
949
950 2003-03-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
951
952         * Makefile.in (STRICT_WARN): Don't warn for ISO C constructs.
953         (STRICT2_WARN): Likewise.
954
955 2003-03-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
956
957         PR other/6955
958         * collect2.c (collect_wait): Use WCOREDUMP and fix output message.
959         * system.h (WCOREDUMP, WCOREFLG): Define if necessary.
960
961 2003-03-30  Richard Henderson  <rth@redhat.com>
962
963         PR c/10083
964         * config/alpha/alpha.md (umuldi3_highpart): Change to expander;
965         don't zero_extend const inputs.
966
967 2003-03-30  Kazu Hirata  <kazu@cs.umass.edu>
968
969         * reload1.c (reload_cse_move2add): Fix a comment typo.
970
971 2003-03-30  Kazu Hirata  <kazu@cs.umass.edu>
972
973         * config/h8300/h8300.md (a peephole2): Remove useless code.
974
975 2003-03-29  Kazu Hirata  <kazu@cs.umass.edu>
976
977         * config/h8300/h8300.md (*iorsi3_and_ashift): New.
978         (*iorsi3_and_lshiftrt): Likewise.
979         (*iorsi3_zero_extract): Likewise.
980
981 2003-03-29  Kazu Hirata  <kazu@cs.umass.edu>
982
983         * config/h8300/h8300.md (*insv_si_8_8): New.
984         (*insv_si_8_8_lshiftrt_8): Likewise.
985         (a peephole2): Likewise.
986
987 2003-03-29  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
988
989         * doc/contrib.texi: Add Eric Botcazou and Roger Sayle.
990         Uniformly use bugfix instead of bug fix.
991
992 2003-03-29  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
993
994         PR doc/895
995         * ONEWS: Remove those items that already appear in the EGCS
996         release notes on our web pages.
997
998 2003-03-29  Alan Modra  <amodra@bigpond.net.au>
999
1000         * config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Respect
1001         TARGET_HARD_FLOAT.  Reformat.
1002         (FUNCTION_ARG_REGNO_P): Likewise, and remove unneeded casts.
1003
1004 2003-03-28  Albert Chin-A-Young  <china@thewrittenword.com>
1005
1006         * gcc/fixinc/inclhack.def: Update solaris_mutex_init_1 to
1007         work on Solaris 2.5.1.
1008
1009 2003-03-28  Kazu Hirata  <kazu@cs.umass.edu>
1010
1011         * config/h8300/h8300.md (*addsi3_and_r_1): Put under plus:SI
1012         section of h8300.md
1013         (*addsi3_and_nor_r_1): Likewise.
1014
1015 2003-03-29  Ulrich Weigand  <uweigand@de.ibm.com>
1016
1017         * config/s390/s390.c (s390_emit_prologoue): Make sure backchain is
1018         set up before any trapping memory access if flag_non_call_exceptions.
1019
1020 2003-03-29  Alan Modra  <amodra@bigpond.net.au>
1021
1022         * reload1.c (reload_as_needed): Allow a USE in asm reloads.
1023
1024         * loop.c: (find_mem_in_note_1, find_mem_in_note): Comment.
1025
1026 2003-03-28  Nathanael Nerode  <neroden@gcc.gnu.org>
1027
1028         * configure.in: Clarify comments.
1029         * configure: Regenerate.
1030
1031 2003-03-28  Ulrich Weigand  <uweigand@de.ibm.com>
1032
1033         * config/s390/s390.md ("literal_pool_31"): Output pool anchor
1034         label even if pool empty when generating PIC.
1035         ("literal_pool_31", "literal_pool_64"): Coding style cleanup.
1036
1037 2003-03-28  Kazu Hirata  <kazu@cs.umass.edu>,
1038             Dhananjay Deshpande  <dhananjayd@kpit.com>
1039
1040         PR target/10205
1041         * config/h8300/h8300.c (h8300_initial_elimination_offset):
1042         Correct the offset computation when TARGET_NORMAL.
1043
1044 2003-03-28  Eric Botcazou  <ebotcazou@libertysurf.fr>
1045
1046         PR target/10067
1047         * config/sparc/sparc.md (jump pattern): Correct order
1048         when issuing the annuling marker.
1049
1050 2003-03-28  Eric Botcazou  <ebotcazou@libertysurf.fr>
1051
1052         PR c/8281
1053         * config/sparc/sparc.md (movdi_insn_sp32_v9): Remove 'f-f' alternative.
1054         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
1055
1056 2003-03-28  Alan Modra  <amodra@bigpond.net.au>
1057
1058         * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
1059         globalize_label.
1060         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
1061         * config/i960/i960.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
1062         * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
1063         * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
1064         * config/mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
1065         * config/sparc/sparc.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
1066         * config/v850/v850.c (v850_output_aligned_bss): Likewise.
1067
1068 2003-03-28  Alan Modra  <amodra@bigpond.net.au>
1069
1070         * loop.c: (find_mem_in_note_1, find_mem_in_note): New functions.
1071         (replace_loop_mems): Add "written" param.  Remove invalid REG_EQUAL
1072         notes after hoisting.
1073         (load_mems): Adjust replace_loop_mems call.
1074
1075 2003-03-28  Eric Botcazou  <ebotcazou@libertysurf.fr>
1076             Richard Henderson  <rth@redhat.com>
1077
1078         PR target/10114 and PR target/10084
1079         * dwarf2out.c (mem_loc_descriptor): Handle LO_SUM.
1080
1081 2003-03-27  Richard Henderson  <rth@redhat.com>
1082
1083         * config/alpha/alpha.md (adddi_er_high_l): Valid only after reload.
1084
1085 2003-03-27  Roger Sayle  <roger@eyesopen.com>
1086
1087         * fold-const.c (fold_inf_compare):  New function to simplify FP
1088         comparisons against +Infinity or -Infinity.
1089         (fold):  Optimize floating point comparisons against Infs and NaNs.
1090
1091 2003-03-27  Janis Johnson  <janis187@us.ibm.com>
1092
1093         * libgcov.c: Provide only dummy functions if libc is not available.
1094
1095 2003-03-27  Richard Henderson  <rth@redhat.com>
1096
1097         * real.h (struct real_value): Add signalling.
1098         (EXP_BITS): Decrement.
1099         * real.c (get_canonical_qnan): Don't set MSB-1.
1100         (get_canonical_snan): Likewise.  Set signalling.
1101         (real_identical): Compare signalling.
1102         (round_for_format): Remove force-one-bit on code.
1103         (real_nan): Likewise.  Set signalling.
1104         (encode_ieee_single): Add force-one-bit code; honor signalling.
1105         (encode_ieee_double, encode_ieee_extended, encode_ieee_quad): Likewise.
1106         (decode_ieee_single): Set signalling.
1107         (decode_ieee_double, decode_ieee_extended, decode_ieee_quad): Likewise.
1108
1109 2003-03-27  Olivier Hainque  <hainque@act-europe.fr>
1110
1111         PR ada/9953
1112         * ada/Makefile.in (gnatlib configuration for HPUX): Split
1113         the general section for HPUX into specific sections for
1114         HPUX 10 and HPUX 11. Fix the setting of TGT_LIB in the HPUX
1115         11 case.
1116
1117 2003-03-27  Glen Nakamura  <glen@imodulo.com>
1118
1119         PR opt/10087
1120         * loop.c (loop_givs_reduce): Skip bivs with duplicate locations
1121         while incrementing giv.
1122         (record_biv): Check for duplicate biv locations and
1123         set (struct induction *) v->same if found.
1124
1125 2003-03-27  David Mosberger  <davidm@hpl.hp.com>
1126
1127         * unwind-libunwind.c (uw_frame_state_for): Adjust for libunwind
1128         v0.9 API change: replace read of UNW_REG_HANDLER with
1129         unw_get_proc_info().
1130         (_Unwind_GetLanguageSpecificData): Replace read of UNW_REG_LSDA
1131         with unw_get_proc_info().
1132         (_Unwind_GetRegionStart): Replace UNW_REG_PROC_START with
1133         unw_get_proc_info().
1134
1135 2003-03-27  Vladimir Makarov  <vmakarov@redhat.com>
1136
1137         * config/rs6000/8540.md: Use presence_set instead of absence_set.
1138
1139 2003-03-26  Richard Henderson  <rth@redhat.com>
1140
1141         * c-decl.c (finish_function): Always defer if DECL_DECLARED_INLINE_P.
1142
1143 2003-03-26  Roger Sayle  <roger@eyesopen.com>
1144
1145         PR bootstrap/10051, PR bootstrap/10169.
1146         * mips-tfile.c (init_file): Don't provide a static initializer.
1147         (initialize_init_file): Initialize the contents of init_file.
1148         (add_file): Call initialize_init_file if not already initialized.
1149
1150 2003-03-26  Ulrich Weigand  <uweigand@de.ibm.com>
1151
1152         * config/s390/s390.c (s390_optimize_prolog): Do not save/restore
1153         registers used for global asm variables.
1154         (s390_frame_info, s390_arg_frame_offset): Likewise.
1155         (s390_emit_prologue, s390_emit_epilogue): Likewise.
1156
1157 2003-03-26  Vladimir Makarov  <vmakarov@redhat.com>
1158
1159         * config/rs6000/8540.md: New file.
1160
1161         * config/rs6000/{40x.md, 603.md, 6xx.md, 7450.md, 7xx.md, mpc.md,
1162         power4.md, rios1.md, rios2.md, rs64.md}: Add mult_compare to
1163         reservations for imul.
1164
1165         * config/rs6000/rs6000.md: Include 8540.md.  Change
1166         delayed_compare onto mult_compare for insns generating
1167         multiplication.
1168         (mult_compare, fpsimple, brinc, vecdiv, veccmpsimple, vecfdiv):
1169         New type attribute values.
1170
1171         * config/rs6000/spe.md (*negsf2_gp, *abssf2_gpr): Use type
1172         fpsimple instead of fp.
1173         (*divsf3_gpr): Use type vecfdiv instead of fp.
1174         (spe_evfsabs, spe_evfsnabs, spe_evfsneg): Use type vecsimple
1175         instead of vecfloat.
1176         (spe_evfsdive): Use type vecfdiv instead of vecfloat.
1177         (spe_brinc): Use type brinc instead of veccomplex.
1178         (spe_evaddw, spe_evaddiw): Use type vecsimple instead of
1179         veccomplex.
1180         (spe_evdivws, spe_evdivwu): Use type vecdiv instead of veccomplex.
1181         (*movv2si_internal, *movv1di_internal, *movv4hi_internal,
1182         *movv2sf_internal): Define type attribute values for all
1183         alternatives.
1184         (cmpsfeq_gpr, cmpsfgt_gpr, cmpsflt_gpr): Use type veccmp instead
1185         of fpcompare.
1186         (tstsfeq_gpr, tstsfgt_gpr, tstsflt_gpr): Use type veccmpsimple
1187         instead of fpcompare.
1188
1189 2003-03-26  David Edelsohn  <edelsohn@gnu.org>
1190
1191         * config/rs6000/power4.md: Allow delay between dispatch and
1192         function units for simple instructions.  Correct store units.
1193         Allow branch to occupy as many dispatch slots as necessary.
1194
1195 2003-03-26  Jakub Jelinek  <jakub@redhat.com>
1196
1197         * config/ia64/ia64.c (ia64_expand_op_and_fetch): Fix comment.
1198         (ia64_expand_compare_and_swap): Use always DImode ar.ccv,
1199         zero extend old to it.
1200         * config/ia64/ia64.md (cmpxchg_acq_si): Remove mode from ccv
1201         operand.
1202
1203 2003-03-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
1204
1205         PR target/7784
1206         * reload.c (find_reloads_address): Handle
1207         (PLUS (PLUS (REG) (REG)) (CONST_INT)) form for
1208         all base registers.
1209
1210 2003-03-25  Marcelo Abreu  <mmabreu@inf.ufrgs.br>
1211
1212         PR other/10203
1213         * version.c: Reference the GCC web site in the URL.
1214
1215 2003-03-26  Alan Modra  <amodra@bigpond.net.au>
1216
1217         * c-incpath.c (add_standard_paths): Add both "translated" and
1218         non-translated header paths.
1219
1220 2003-03-25  Loren James Rittle  <ljrittle@acm.org>
1221
1222         * doc/install.texi (*-*-freebsd*): Update with known status.
1223
1224 2003-03-21  Jason Merrill  <jason@redhat.com>
1225
1226         PR optimization/10171
1227         * unroll.c (unroll_loop): Don't delete the jump at the end unless
1228         we also delete a jump at the beginning.
1229
1230 2003-03-25  Stephane Carrez  <stcarrez@nerim.fr>
1231
1232         * doc/contrib.texi (Contributors): Mention self as 68HC11/68HC12
1233         contributor.
1234
1235 Tue Mar 25 20:35:51 CET 2003  Jan Hubicka  <jh@suse.cz>
1236
1237         * i386.c (ix86_rtx_costs): For -fpic and x86-64 local symbolic
1238         constants are not expensive.
1239
1240 Mon Mar 24 20:03:03 CET 2003  Jan Hubicka  <jh@suse.cz>
1241
1242         PR opt/10056
1243         * cfglayout.c (fixup_reorder_chain):  Fix dealing with the conditional
1244         jump jumping to the next instruction.
1245         * cfgrtl.c (force_nonfallthru_and_redirect):  Likewise.
1246
1247 2003-03-25  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1248
1249         * doc/passes.texi (Passes): Properly document that we do not
1250         perform jump2 any longer; remove command-line option -dJ.
1251
1252 2003-03-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
1253
1254         PR optimization/8746
1255         * config/i386/i386.md (and promoting splitters): Disable HImode to
1256         SImode promoting when the sign bit matters and is not preserved, or
1257         when TARGET_FAST_PREFIX is true. Disable promoting when optimizing
1258         for size.
1259
1260 2003-03-24  Kazu Hirata  <kazu@cs.umass.edu>
1261
1262         * config/h8300/h8300.md (a peephole2): Extend to support loads
1263         in QImode and HImode.
1264
1265 2003-03-24  Stephane Carrez  <stcarrez@nerim.fr>
1266
1267         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Add _call_far and
1268         _return_far
1269         (MULTILIB_OPTIONS): Don't multilib on -mlong-calls.
1270         (MULTILIB_EXCEPTIONS): Likewise.
1271         * config/m68hc11/m68hc11.md ("call"): Support far calls for 68HC11
1272         by calling some board support routine.
1273         ("call_value"): Likewise.
1274         ("*return_void"): Likewise for return.
1275         ("*return_16bit"): Likewise.
1276         ("*return_32bit"): Likewise.
1277         * config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Generate .far
1278         for 68HC11 too.
1279         (DWARF2_ADDR_SIZE): Use 4 so that addresses can
1280         * config/m68hc11/m68hc11.c (m68hc11_override_options): Accept
1281         -mlong-calls for 68HC11.
1282         * config/m68hc11/larith.asm (declare_near): New macro.
1283         (__premain, ___negsi2, ___one_cmplsi2, ___ashlsi3): Use it.
1284         (___ashrsi3, ___lshrsi3, ___lshrhi3, ___lshlhi3): Likewise.
1285         (___rotrhi3, ___rotlhi3, ___ashrhi3, ___ashrqi3): Likewise.
1286         (___lshlqi3, __divmodhi4, ___mulqi3, ___mulhi3): Likewise.
1287         (__mulhi32): Likewise.
1288         (ret): Update macro for 68HC11.
1289         (__far_trampoline): Implement for 68HC11.
1290         (__call_a16, __call_a32, __return_void, __return_16): New support
1291         routines for 68HC11 memory bank switching calling support.
1292         (__return_32): Likewise.
1293
1294 2003-03-24  Neil Booth  <neil@daikokuya.co.uk>
1295
1296         * toplev.c (independent_decode_option): Don't skip a 'Y' prefix.
1297
1298 2003-03-24  Janis Johnson  <janis187@us.ibm.com>
1299
1300         * doc/install.texi (Testing): Mention test result links from build
1301         status pages.
1302
1303 2003-03-24  Mark Mitchell  <mark@codesourcery.com>
1304
1305         * function.c (put_var_into_stack): Change bool parameter to int.
1306         (gen_mem_addressof): Likewise.
1307         * rtl.h (gen_mem_addressof): Likewise.
1308         * tree.h (put_var_into_stack): Likewise.
1309         * config/alpha/alpha.c (alpha_gp_save_rtx): Adjust call to
1310         gen_mem_addressof or put_var_into_stack.
1311         * config/c4x/c4x.c (c4x_expand_builtin): Likewise.
1312         * config/ia64/ia64.c (spill_tfmode_operand): Likewise.
1313
1314 2003-03-24  Kazu Hirata  <kazu@cs.umass.edu>
1315
1316         * config/h8300/h8300.md (a peephole2): New.
1317
1318 2003-03-24  Jakub Jelinek  <jakub@redhat.com>
1319
1320         * dojump.c (do_jump): Handle UNSAVE_EXPR specially.
1321
1322 2003-03-24  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1323
1324         * doc/contrib.texi (Contributors): Update Janis Johnson.
1325
1326 2003-03-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
1327
1328         PR target/10072
1329         * combine.c (simplify_if_then_else): Check that the mode
1330         has MODE_INT class before applying the (OP Z (mult COND C2))
1331         transformation.
1332
1333 2003-03-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
1334
1335         PR optimization/9414
1336         * config/sparc/sparc.md (widening peepholes): Use
1337         widen_memory_access instead of change_address.
1338
1339 2003-03-23  Mark Mitchell  <mark@codesourcery.com>
1340
1341         PR c++/7086
1342         * c-typeck.c (c_mark_addressable): Adjust calls to
1343         put_var_into_stack.
1344         * expr.c (expand_expr): Likewise.
1345         * function.c (put_var_into_stack): Add rescan parameter.  Do not
1346         call fixup_var_refs when rescan is false.
1347         (gen_mem_addressof): Likewise.
1348         (assign_parms): Adjust calls to put_var_into_stack.
1349         (setjmp_protect): Likewise.
1350         (setjmp_protect_args): Likewise.
1351         * rtl.h (gen_mem_addressof): Change prototype.
1352         * stmt.c (expand_decl): Adjust calls to put_var_into_stack.
1353         * tree.h (put_var_into_stack): Change prototype.
1354
1355 2003-03-23  Arpad Beszedes <beszedes@cc.u-szeged.hu>
1356
1357         PR middle-end/9967
1358         * builtins.c (expand_builtin_fputs): When optimizing for size,
1359         don't transform fputs into fwrite.
1360
1361 2003-03-23  Glen Nakamura <glen@imodulo.com>
1362
1363         PR c/8224
1364         * fold-const.c (extract_muldiv_1): Don't pass through type conversions
1365         when signedness changes for division or modulus.
1366
1367 2003-03-24  Alan Modra  <amodra@bigpond.net.au>
1368
1369         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
1370         globalize_label.
1371
1372 2003-03-23  Roger Sayle  <roger@eyesopen.com>
1373
1374         PR c/10178
1375         * stmt.c (expand_end_case_type): Check for overflow in range when
1376         determining whether to use a bit-test implementation.
1377
1378 2003-03-23  Richard Henderson  <rth@redhat.com>
1379
1380         * cfgcleanup.c (try_optimize_cfg): Allow merging of tablejumps
1381         before flow2.
1382         * cfgrtl.c (try_redirect_by_replacing_jump): Similarly.
1383
1384 2003-03-23  Richard Henderson  <rth@redhat.com>
1385
1386         PR opt/10116
1387         * ifcvt.c (find_if_block): Disallow tablejump insns outgoing
1388         from then_bb or else_bb after flow2.
1389
1390 2003-03-23  Zack Weinberg  <zack@codesourcery.com>
1391
1392         * configure.in: Check whether it is necessary to link against
1393         libm to use ldexp.
1394         * configure: Regenerate.
1395         * Makefile.in: Add LDEXP_LIB substitution variable.
1396
1397 2003-03-23  Kazu Hirata  <kazu@cs.umass.edu>
1398
1399         * config/h8300/h8300.md: Fix comment typos.
1400
1401 2003-03-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1402
1403         * pa.c (output_cbranch): Fix typo in comment.
1404
1405 2003-03-22  Richard Henderson <rth@redhat.com>
1406
1407         * cfgcleanup.c (insns_match_p): Do not do EQUIV substitution
1408         after reload.
1409
1410 2003-03-22  DJ Delorie  <dj at redhat dot com>,
1411         Bruce Korb  <bkorb at gnu dot org>
1412
1413         * fixinc/inclhack.def (solaris_mutex_init_1): New; Fix
1414         buggy Solaris 2.6 mutex/cond initializers.
1415         (solaris_mutex_init): Rename to solaris_mutex_init_2.
1416         * fixinc/fixincl.x: Regenerate.
1417         * fixinc/tests/base/pthread.h: Update.
1418         * fixinc/fixincl.c(initialize): be explicit about the default case
1419         and indicate verbose level when being very, very verbose.
1420         * fixinc/check.tpl(VERBOSE): provide a means for passing the value in
1421
1422 2003-03-22  Andreas Jaeger  <aj@suse.de>
1423
1424         * config/i386/i386.c (ix86_init_machine_status): Return value.
1425
1426 2003-03-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1427
1428         * pa.c (output_cbranch, output_bb, output_bvb): Output nop for
1429         conditional branch to the following instruction.  Use next_real_insn
1430         instead of next_active_insn.
1431         (output_dbra, output_movb, jump_in_call_delay): Use next_real_insn
1432         instead of next_active_insn.
1433
1434 2003-03-22  Ulrich Weigand  <uweigand@de.ibm.com>
1435
1436         * config/s390/s390.md ("movti", "*movdi_31", "*movdf_31"): Use 'o'
1437         instead of 'm' constraint in forced-split alternatives.
1438         ("*adddi3_31", "*subdi3_31"): Likewise.  Also, pass 0 instead of 1 as
1439         VALIDATE_ADDRESS parameter to operand_subword.
1440
1441 2003-03-22  Kazu Hirata  <kazu@cs.umass.edu>
1442
1443         * config/h8300/h8300.c (notice_update_cc): Correctly handle
1444         the case where the set destination is STRICT_LOW_PART.
1445
1446 2003-03-22  Svein E. Seldal  <Svein.Seldal@solidas.com>
1447
1448         * config/c4x/t-c4x (INSTALL_LIBGCC): Make gcc recognize a c33 as a
1449         c30 instead of a c40 processor.
1450
1451 2003-03-22  Alan Modra  <amodra@bigpond.net.au>
1452
1453         * combine.c (simplify_comparison <AND>): Use gen_int_mode.  Tidy.
1454
1455 2003-03-21  Zack Weinberg  <zack@codesourcery.com>
1456
1457         * c-common.c: Include intl.h.
1458         (shadow_warning): Rewrite to allow better diagnostic translations.
1459         * c-common.h: Update prototype of shadow_warning.  Declare sw_kind enum.
1460         * c-decl.c (warn_if_shadowing): Update calls to shadow_warning;
1461         use it throughout.
1462         * Makefile.in (c-common.o): Add intl.h.
1463
1464 2003-03-21  Nathanael Nerode  <neroden@gcc.gnu.org>
1465
1466         * config.gcc: Remove 'float_format'.
1467
1468         * fixproto: Define NULL and size_t in generated stdlib.h and
1469         unistd.h.  Kill unused required_stdlib_h, required_unistd_h.
1470         Rearrange file generation loop for readability.  Generate time.h,
1471         string.h if missing.
1472         * tsystem.h: Include <string.h>, <time.h> unconditionally.
1473         * config.gcc: Blow away POSIX defines.
1474
1475 2003-03-22  Stephane Carrez  <stcarrez@nerim.fr>
1476
1477         * config/m68hc11/m68hc11.md ("call_value"): Fix trap check.
1478
1479 2003-03-22  Stephane Carrez  <stcarrez@nerim.fr>
1480
1481         * config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Fix typo in
1482         writing .interrupt command.
1483         * config/m68hc11/m68hc11.md ("call"): Look at the symbol to see
1484         if it's a far or near function.
1485         ("call_value"): Likewise.
1486         * config/m68hc11/m68hc11.c (m68hc11_attribute_table): Add far and
1487         near attributes.
1488         (m68hc11_handle_fntype_attribute): Accept attributes on methods.
1489         (m68hc11_override_options): Ignore -mlong-calls for 68HC11.
1490         (m68hc11_initial_elimination_offset): Set current_function_far
1491         according to attributes.
1492         (expand_prologue): Likewise.
1493         (trap_handler_symbol): New global to keep track of trap handlers.
1494         (m68hc11_encode_section_info): Mark symbol as far if needed; set
1495         trap symbol.
1496         (m68hc11_is_far_symbol): New function.
1497         (m68hc11_is_trap_symbol): New function.
1498         * config/m68hc11/m68hc11-protos.h (m68hc11_is_far_symbol): Declare.
1499         (m68hc11_is_trap_symbol): Declare.
1500
1501 2003-03-21  Jan Hubicka  <jh@suse.cz>
1502
1503         * i386.c (ix86_compute_frame_layout): Recompute fast prologues
1504         only when amount of saved regs changed.
1505         (ix86_init_machine_status): Initialize use_fast_prologue_epilgoue_nregs.
1506         * i386.h (machine_function): New fields use_fast_prologue_epilgoue_nregs.
1507
1508 2003-03-21  Jan Hubicka  <jh@suse.cz>
1509
1510         PR inline-asm/7916
1511         * function.c (instantiate_virtual_regs_lossage): New function.
1512         (instantiate_virtual_regs_1): Use it.
1513         (instantiate_virtual_regs): Do not continue in substition when insn has
1514         been deleted.
1515
1516 2003-03-21  Kazu Hirata  <kazu@cs.umass.edu>
1517
1518         * combine.c (make_field_assignment): Fix a warning.
1519
1520 2003-03-21  Kazu Hirata  <kazu@cs.umass.edu>
1521
1522         * config/h8300/h8300.md (*insv_si_1_n_lshiftrt_16): New.
1523
1524 2003-03-21  Dale Johannesen  <dalej@apple.com>
1525
1526         * config/rs6000/rs6000.h (REG_ALLOC_ORDER):  Increase
1527         priority for R2 on Darwin.
1528         (HARD_REGNO_MODE_OK):  Don't accept R31 for DFmode.
1529
1530 2003-03-21  Kazu Hirata  <kazu@cs.umass.edu>
1531
1532         * combine.c (make_field_assignment): Remove unnecessary AND
1533         when storing into zero_extract.
1534
1535 2003-03-21  Zack Weinberg  <zack@codesourcery.com>
1536
1537         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT, gcc_AC_C_FLOAT_FORMAT): Delete.
1538         * configure.in: Don't call gcc_AC_C_FLOAT_FORMAT.
1539         * defaults.h: Remove reference to HOST_FLOAT_WORDS_BIG_ENDIAN
1540         in comment.
1541
1542 2003-03-21  DJ Delorie  <dj@redhat.com>
1543
1544         * optabs.c (init_integral_libfuncs): Make sure we init at least up
1545         to "long long" size words.
1546
1547 2003-03-21  Ulrich Weigand  <uweigand@de.ibm.com>
1548
1549         * config/s390/s390.h: Do not include fixdfdi.h on s390x.
1550         (TARGET_64BIT): Define as compile-time constant when IN_LIBGCC2.
1551         (MIN_UNITS_PER_WORD): Do not define when IN_LIBGCC2.
1552
1553 2003-03-21  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1554
1555         PR doc-bug/9813
1556         * doc/extend.texi: Move misplaced paragraph about underscores in
1557         variables in macros.
1558
1559 2003-03-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
1560             Richard Henderson  <rth@redhat.com>
1561
1562         PR optimization/8366
1563         * config/sparc/sparc.h: (SYMBOLIC_CONST): New macro.
1564         (GO_IF_LEGITIMATE_ADDRESS): Use it. Reject the form
1565         PIC+SYMBOLIC_CONST in other modes than Pmode.
1566         (GO_IF_MODE_DEPENDENT_ADDRESS): Use it. Mark
1567         the form PIC+SYMBOLIC_CONST as mode dependent.
1568
1569 2003-03-21  DJ Delorie  <dj@redhat.com>
1570
1571         * config/stormy16/stormy16.c (xstormy16_expand_arith): Make
1572         sure we always emit at least one insn.
1573
1574 2003-03-21  Christopher Faylor  <cgf@redhat.com>
1575
1576         * config.gcc (i[34567]86-*-cygwin*): Use new common makefile
1577         stub t-cygming. Use common target header cygming.h. Add extra
1578         c_target_obj and cxx_target_obj file. Default cygwin to posix
1579         threading. Enforce i386 as float format.
1580         (i[34567]86-*-mingw*): Use new common makefile stub t-cygming.
1581         Remove cygwin.h as target header. Use common target header
1582         cygming.h  Enforce i386 as float format. Correct typo.
1583         * config/i386/cygming.h: New file, containing definitions
1584         common to mingw32 and cygwin.
1585         * config/i386/cygwin.h: Remove definitions common to cygwin and
1586         mingw.  Simplify special spec logic.  Define "wrappers" around
1587         certain include path defines to accommodate -mno-cygwin.
1588         Remove some #if 0'ed code.
1589         (STANDARD_INCLUDE_DIR) Always define when not cross-compiling.
1590         (LINK_SPEC): Don't use cyg search prefix when -mno-cygwin.
1591         (GCC_DRIVER_HOST_INITIALIZATION): Define as call to mingw_scan.
1592         * config/i386/mingw32.h: Remove definitions common to cygwin and
1593         mingw.
1594         (EXTRA_OS_CPP_BUILTINS): Adjust.
1595         (TARGET_VERSION): Define.
1596         * config/i386/crtdll.h (EXTRA_OS_CPP_BUILTINS): Override
1597         mingw32.h definitions.
1598         (LIBGCC_SPEC): Add libmingwex.a as in mingw32.h.
1599         * config/i386/t-cygwin (EXTRA_GCC_OBJS): Define as cygwin1.o.
1600         Add compilation rules for cygwin1.o cygwin2.o.
1601         * config/i386/cygwin1.c: New file.
1602         * config/i386/cygwin2.c: New file.
1603         * config/i386/t-cygming: New makefile stub.
1604
1605 2003-03-20  Richard Henderson  <rth@redhat.com>
1606
1607         * fold-const.c (extract_muldiv_1): Revert changing order of
1608         operands in case MULT_EXPR of 2003-02-16 patch.
1609
1610 2003-03-20  Daniel Berlin  <dberlin@dberlin.org>
1611         Merge changes from new-regalloc-branch 
1612
1613         From Michael Matz  <matz@suse.de>
1614         * df.c (df_ref_record_1): Move init of loc to safe point.
1615         Only recurse on interesting things in parallels.
1616         Handle CLASS_CANNOT_CHANGE_MODE smarter.
1617         (df_uses_record): Ditto.
1618
1619         * df.h (DF_REF_MEM_OK): New enum member, used to mark ref's which
1620         it's already okay to use memory operands in (IE doesn't require
1621         adding another insn or anything).
1622
1623 2003-03-20  Richard Henderson  <rth@redhat.com>
1624
1625         PR middle-end/6348
1626         * explow.c (allocate_dynamic_stack_space): Handle STACK_SIZE_MODE
1627         different from word_mode.
1628
1629 2003-03-20  Kazu Hirata  <kazu@cs.umass.edu>
1630
1631         * config/h8300/h8300.md (*insv_si_1_n_lshiftrt): Restrict the
1632         source operand to those that can be extracted with bld.
1633
1634 2003-03-20  Richard Earnshaw  <rearnsha@arm.com>
1635
1636         PR 10066
1637         * arm.md (UNSPEC_PIC_BASE): New constant.
1638         (pic_add_dot_plus_four): Wrap with unspec.
1639         (pic_add_dot_plus_eight): Likewise.
1640
1641 2003-03-20  Kazu Hirata  <kazu@cs.umass.edu>
1642
1643         * config/h8300/h8300.md (*insv_si_1_n): New.
1644         (*insv_si_1_n_lshiftrt): Likewise.
1645
1646 2003-03-20  Roger Sayle  <roger@eyesopen.com>
1647
1648         * fold-const.c (fold_mathfn_compare): New function to simplify
1649         comparisons against built-in math functions.  Fold comparisons
1650         of sqrt against constants.
1651         (fold): Call fold_mathfn_compare when appropriate.
1652
1653 2003-03-20 Richard Earnshaw  <rearnsha@arm.com>
1654
1655         * ifcvt.c (find_if_case_1): If we add a new bb, update the dominance
1656         information.
1657
1658 2003-03-20  Per Bothner  <pbothner@apple.com>
1659
1660         Various cleanups to help compile server.
1661
1662         * cppinit.c (cpp_create_reader):  Take extra hash_table* argument,
1663         and pass that to _cpp_init_hashtable.
1664         (cpp_read_main_file):  Drop hash_table* argument; don't call
1665         _cpp_init_hashtable.
1666         * cpplib.h:  Update declarations to match.
1667         * c-opts.c (c_common_init_options):  Pass ident_hash to
1668         cpp_create_reader.
1669         (c_common_post_options):  Don't pass ident_hash to cpp_read_main_file.
1670         * fix-header.c (read_scan_file):  Likewise pass NULL table to
1671         cpp_create_reader rather than cpp_read_main_file.
1672
1673         * cppfiles.c (cpp_rename_file):  Generalized and renamed
1674         to cpp_change_file.
1675         * cpplib.h:  Update declaration to match.
1676         * c-opts.c (push_command_line_line, finish_options):  Change
1677         cpp_rename_file calls to cpp_change_file.
1678
1679         * line-map.c (add_line_map):  Allow leaving the outermost file.
1680         Allowing entering an outermost-file after the initial time.
1681
1682         * toplev.c (pop_srcloc):  Allow popping from initial file.
1683
1684 2003-03-20  Kazu Hirata  <kazu at cs dot umass dot edu>
1685
1686         * fold-const.c (fold): Fold A - (A & B) into ~B & A.
1687
1688 2003-03-20  Kazu Hirata  <kazu@cs.umass.edu>
1689
1690         * config/h8300/h8300.md (a peephole2): New.
1691
1692 2003-03-20  Kazu Hirata  <kazu@cs.umass.edu>
1693
1694         * config/h8300/h8300.md (*addsi3_and_r_1): New.
1695         (*addsi3_and_not_r_1): Likewise.
1696
1697 2003-03-19  Loren James Rittle  <ljrittle@acm.org>
1698
1699         * Makefile.in (STRICT2_WARN): Add @WERROR@.
1700         (GCC_WARN_CFLAGS): Remove $(WERROR).
1701         (fixinc.sh-warn): New.
1702         * ada/Make-lang.in (ada-warn): Add $(WERROR).
1703         * cp/Make-lang.in (cp-warn): Add $(WERROR).
1704         * f/Make-lang.in (f-warn): Add $(WERROR).
1705         * java/Make-lang.in (java-warn): Add $(WERROR).
1706         * treelang/Make-lang.in (treelang-warn): Add $(WERROR).
1707
1708 2003-03-19  Nathanael Nerode  <neroden@gcc.gnu.org>
1709
1710         * c-common.h (c_dump_tree), c-dump.c (c_dump_tree),
1711         langhooks-def.h (lhd_tree_dump_dump_tree),
1712         langhooks.c (lhd_tree_dump_dump_tree), langhooks.h (*dump_tree):
1713         Change return type from 'int' to 'bool'.  Replace 0 and 1 with
1714         true and false in return statements.
1715
1716 2003-03-19  Kevin Buettner  <kevinb@redhat.com>
1717
1718         * dwarf2out.c (DWARF_INITIAL_LENGTH_SIZE): Define.
1719         (DWARF_COMPILE_UNIT_HEADER_SIZE): Take into account
1720         DWARF_INITIAL_LENGTH_SIZE.
1721         (output_compilation_unit_header, output_pubnames, output_aranges)
1722         (output_line_info): Output 0xffffffff escape value for 64-bit
1723         DWARF extension.
1724         * config/mips/iris6.h (DWARF_INITIAL_LENGTH_SIZE): Define.
1725
1726 2003-03-19  Ulrich Weigand  <uweigand@de.ibm.com>
1727
1728         * config/s390/s390.c (s390_preferred_reload_class): Do not
1729         force constants to the pool unless necessary.
1730         (s390_decompose_address): Prefer to use pointer as base,
1731         not index register.
1732         * config/s390/s390.md ("*tsthiCCT_only"): Remove '?' from
1733         Q alternative.
1734         ("*movdi_64", "*movsi", "movhi", "movqi_64", "movqi",
1735         "*movdf_64", "*movsf"): Add '?' to Q->Q alternatives.
1736         ("*extractqi", "*extracthi", "*zero_extendhisi2_31",
1737         "*zero_extendqisi2_31", "*zero_extendqihi2_31",
1738         "*adddi3_31", "*subdi3_31"): Do not set "type" attribute.
1739
1740 2003-03-19  Jan Hubicka  <jh@suse.cz>
1741
1742         * i386.h (machine_function): New fields use_fast_prologue_epilogue.
1743         * i386.c (use_fast_prologue_epilogue): Remove.
1744         (ix86_frame): New field save_regs-using_mov;
1745         (ix86_compute_frame_layout):  Decide on fast prologues;
1746         allocate saved registers in red zone.
1747         (ix86_expand_epilogue, ix86_expand_prolgoues): Obey new parameters.
1748
1749 2003-03-19  Nick Clifton  <nickc@redhat.com>
1750
1751         * config/mcore/mcore.h (CPP_SPEC): Remove trailing semi-colon.
1752
1753 2003-03-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1754
1755         PR 10062
1756         * config/pa/pa-hpux.h (TARGET_HPUX_UNWIND_LIBRARY): Redefine.
1757         * pa-protos.h (output_lbranch): New prototype.
1758         * pa.c (compute_frame_size): Change size of the frame marker on the
1759         64-bit ports to 48 bytes.
1760         (pa_output_function_prologue): Document why SAVE_SP is set.
1761         (hppa_expand_prologue): Save previous stack pointer into frame marker
1762         on targets which use the hpux unwind library.
1763         (output_cbranch): Use output_lbranch.
1764         (output_lbranch): New function to output long unconditional branches.
1765         * pa.h (TARGET_HPUX_UNWIND_LIBRARY): Define.
1766         (STACK_POINTER_OFFSET): Update offset for 48-byte frame marker on
1767         64-bit ports.
1768         * pa.md (jump): Use output_lbranch.
1769         (allocate_stack): New expander for dynamic stack allocation.
1770
1771 2003-03-19  Alan Modra  <amodra@bigpond.net.au>
1772
1773         * config/rs6000/rs6000.c (rs6000_stack_info): Only require a frame
1774         when debugging on XCOFF targets.  Delete "abi" temp.
1775
1776         PR target/10073
1777         * combine.c (force_to_mode <NOT>): Use gen_int_mode.
1778
1779 2003-03-18  Jakub Jelinek  <jakub@redhat.com>
1780
1781         * config/s390/s390.c (s390_output_dwarf_dtprel): New.
1782         * config/s390/s390-protos.h (s390_output_dwarf_dtprel): New proto.
1783         * config/s390/s390.h (ASM_OUTPUT_DWARF_DTPREL): Define.
1784
1785         * config/ia64/ia64.c (ia64_output_dwarf_dtprel): New.
1786         * config/ia64/ia64-protos.h (ia64_output_dwarf_dtprel): New proto.
1787         * config/ia64/ia64.h (ASM_OUTPUT_DWARF_DTPREL): Define.
1788
1789 2003-03-18  Geoffrey Keating  <geoffk@apple.com>
1790
1791         * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't clone
1792         the result of machopic_function_base_name.
1793         * config/darwin.c (machopic_function_base_name): Use a gc-allocated
1794         string rather than a static array.
1795
1796         * Makefile.in (emit-rtl.o): Add gt-emit-rtl.h to dependencies.
1797
1798         * gengtype.c: Include rtl.h.
1799         (enum rtx_code): Don't define.
1800         (rtx_format): Make declaration match rtl.h.
1801         (rtx_next_new): Rename from rtx_next to avoid conflict.  Change all
1802         users.
1803         (adjust_field_rtx_def): Describe strings in NOTE_LINE_NUMBER notes.
1804         * Makefile.in (gengtype.o): Update dependencies.
1805
1806 2003-03-18  Andreas Schwab  <schwab@suse.de>
1807
1808         * config/m68k/m68k.md (iordi3): Fix setting low half to -1.  From
1809         martin@blom.org.
1810
1811 2003-03-18  Geoffrey Keating  <geoffk@apple.com>
1812
1813         * function.c (next_block_index): Mark with GTY.
1814
1815         * config/rs6000/rs6000.md (macho_correct_pic): Correct pattern.
1816
1817 2003-03-18  Richard Henderson  <rth@redhat.com>
1818
1819         * config/ia64/ia64.md (UNSPECV_SETJMP_RECEIVER): New.
1820         (builtin_setjmp_receiver): Delay call to ia64_reload_gp
1821         until after reload.
1822
1823 2003-03-18  Richard Henderson  <rth@redhat.com>
1824
1825         * builtins.c (expand_builtin_unop): New target_mode operand;
1826         use it to convert the result to the correct mode.
1827         (expand_builtin): Update all callers.
1828
1829 2003-03-18  Ulrich Weigand  <uweigand@de.ibm.com>
1830
1831         * config/s390/s390.md ("movti", "movhi", "movqi"): Add "type" attribute.
1832
1833 2003-03-18  Jan Hubicka  <jh@suse.cz>
1834
1835         * i386.md:  Fix previous commit that mistakely applied the patch
1836         twice.
1837
1838         * alias.c (rtx_equal_for_memref_p): Assume that X and Y has been
1839         canonicalized.
1840         (memrefs_conflict_p): Likewise.
1841         (addr_side_effect_eval): Canonicalize the constructed address.
1842
1843 2003-03-18  Jan Hubicka  <jh@suse.cz>
1844
1845         * i386.md (cvtts?2si peep2): New.
1846
1847 2003-03-18  Kazu Hirata  <kazu@cs.umass.edu>
1848
1849         * config/h8300/h8300.md (*iorsi3_two_qi_zext): New.
1850
1851 2003-03-18  Andreas Schwab  <schwab@suse.de>
1852
1853         * dwarf2out.c (output_file_names): Cast size_t to unsigned long
1854         for format.
1855
1856 2003-03-17  Jason Merrill  <jason@redhat.com>
1857
1858         PR c++/10091
1859         * expr.c (expand_expr) [ADDR_EXPR]: Disallow taking the address of
1860         an unaligned member of TREE_ADDRESSABLE type.
1861
1862 2003-03-18  Alan Modra  <amodra@bigpond.net.au>
1863
1864         * config/rs6000/linux64.h (MASK_PROFILE_KERNEL): Define.
1865         (TARGET_PROFILE_KERNEL): Define.
1866         (SUBTARGET_SWITCHES): Handle -mprofile-kernel.
1867         (PROFILE_BEFORE_PROLOGUE): Don't define.
1868         (PROFILE_KERNEL): Remove hacks.
1869         * config/rs6000/rs6000.c (TARGET_PROFILE_KERNEL): Define default.
1870         (rs6000_stack_info): No need to save lr if just for profiling when
1871         TARGET_PROFILE_KERNEL.
1872         (output_profile_hook): Output nothing when TARGET_PROFILE_KERNEL.
1873         (output_function_profiler): Localize label generation.  Emit code
1874         for kernel profiling.
1875
1876 2003-03-17  Kazu Hirata  <kazu@cs.umass.edu>
1877
1878         * config/h8300/h8300-protos.h: Add a prototype for
1879         byte_accesses_mergeable_p.
1880         * config/h8300/h8300.c (byte_accesses_mergeable_p): New.
1881         * config/h8300/h8300.md (*iorhi3_two_qi_mem): Likewise.
1882         (a splitter): Likewise.
1883         (*iorsi3_ashift_16_ashift_24): Likewise.
1884         (*iorsi3_ashift_16_ashift_24_mem): Likewise.
1885
1886 2003-03-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1887
1888         * dwarf2asm.h: Delete obsolete comment.
1889         (dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
1890         dw2_asm_output_pcrel, dw2_asm_output_addr,
1891         dw2_asm_output_addr_rtx, dw2_asm_output_encoded_addr_rtx,
1892         dw2_asm_output_nstring, dw2_asm_output_data_uleb128,
1893         dw2_asm_output_data_sleb128, dw2_asm_output_delta_uleb128,
1894         dw2_asm_output_delta_sleb128): Add ATTRIBUTE_NULL_PRINTF.
1895
1896 2003-03-17  Zack Weinberg <zack@codesourcery.com>
1897
1898         * c-tree.h (struct lang_identifier): Remove error_locus field.
1899         (IDENTIFIER_ERROR_LOCUS): Kill.
1900         (record_function_scope_shadow): New prototype.
1901         * c-typeck.c (build_external_ref): Don't complain if
1902         decl is error_mark_node.  When not at file scope, bind the
1903         decl's local value to error_mark_node to suppress further
1904         warnings, instead of setting IDENTIFIER_ERROR_LOCUS.
1905
1906         * c-decl.c (get_function_binding_level): New static function.
1907         (record_function_scope_shadow): New exported function.
1908         (c_make_fname_decl): Use get_function_binding_level.
1909
1910 2003-03-17  Steve Ellcey  <sje@cup.hp.com>
1911
1912         * stmt.c (tail_recursion_args): Call promote_mode to set
1913         unsignedp flag correctly before calling convert_move.
1914
1915 2003-03-17  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1916
1917         * loop-unroll.c (decide_peel_completely,
1918         decide_unroll_constant_iterations, decide_unroll_stupid,
1919         decide_unroll_runtime_iterations, decide_peel_simple): Set
1920         loop->has_desc.
1921
1922 2003-03-17  Jan Hubicka  <jh@suse.cz>
1923
1924         * ggc-common.c (ggc_mark_roots): Use htab_traverse_noresize.
1925
1926 2003-03-17  Olivier Hainque  <hainque@act-europe.fr>
1927
1928         * function.c (assign_parms): For a struct value address passed as
1929         first argument, delay the function's result RTL setup code until
1930         after the emission of parameter conversions.
1931
1932 2003-03-17  Dave Love  <fx@gnu.org>
1933             Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1934
1935         * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Define __digital__,
1936         __arch64__ to match Compaq cc.
1937
1938 2003-03-17  Neil Booth  <neil@daikokuya.co.uk>
1939
1940         * c-opts.c: Default TARGET_EBCDIC to 0 if not defined.
1941         (c_common_init): Set EBCDIC in cpp options.
1942         * cpplex.c (maybe_read_ucs, cpp_parse_escape): Use EBCDIC option,
1943         not conditional compilation.
1944         * cpplib.h (struct cpp_options): New entry EBCDIC.
1945
1946 2003-03-17  Neil Booth  <neil@daikokuya.co.uk>
1947
1948         * fix-header.c (read_scan_file): Need to malloc arguments to add_path.
1949
1950 2003-03-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1951
1952         * function.c (thread_prologue_and_epilogue_insns): Set delete_unused
1953         argument to 0 for redirect_jump.
1954
1955 2003-03-16  Mark Mitchell  <mark@codesourcery.com>
1956
1957         PR c++/8805
1958         * except.c (eh_region_u_cleanup): Add prev_try.
1959         (expand_eh_region_end_cleanup): Set it.
1960         (reachable_handlers): Use it to skip over cleanup blocks.
1961
1962 2003-03-17  Andreas Jaeger  <aj@suse.de>
1963
1964         * Makefile.in (TAGS): Remove obsolete handling of =*.[chy].
1965
1966 2003-03-17  Alan Modra  <amodra@bigpond.net.au>
1967
1968         * config/rs6000/linux64.h (TARGET_64BIT): Redefine.
1969         (TARGET_RELOCATABLE, TARGET_EABI, TARGET_PROTOTYPE): Likewise.
1970         (SUBTARGET_SWITCHES, SUBTARGET_OPTIONS): Likewise.
1971         (SUBTARGET_OVERRIDE_OPTIONS, CPP_SYSV_SPEC): Likewise.
1972
1973 2003-03-16  Richard Henderson  <rth@redhat.com>
1974
1975         * simplify-rtx (simplify_binary_operation): Don't abort for
1976         SS_PLUS, US_PLUS, SS_MINUS, US_MINUS.
1977
1978 2003-03-16  Richard Henderson  <rth@redhat.com>
1979
1980         * config/i386/i386.md (movstrictqi, movstrictqi_1): Check
1981         optimize_size as well.
1982
1983 2003-03-16  Stephane Carrez  <stcarrez@nerim.fr>
1984
1985         * config/m68hc11/m68hc11.c (print_operand): Handle 'b' modifier
1986         for D register to specify the low part of it, aka B.
1987         (m68hc11_gen_movhi): Use REG_WAS_0 note and increment or decrement
1988         the register if we are loading 1 or -1 to it; avoid using temp
1989         register when moving X/Y to Y/X.
1990         (m68hc11_gen_movqi): Likewise.
1991         (m68hc11_check_z_replacement): Fix last insn setting for compare case.
1992
1993 2003-03-14  Mark Mitchell  <mark@codesourcery.com>
1994
1995         PR optimization/9016
1996         * config/i386/i386.c (ix86_expand_move): Force more CONST_DOUBLEs
1997         into the constant pool.
1998
1999 2003-03-16  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
2000
2001         PR target/9164
2002         * tree.c (get_narrower): For extensions with unchanged bit number,
2003         return the unsignedness of the outer mode.
2004
2005 2003-03-16  Roger Sayle  <roger@eyesopen.com>
2006
2007         * c-typeck.c (build_component_ref):  Turn "for" into "do .. while"
2008         to avoid "may be used uninitialized" warning on ia64-hpux.
2009         * config/ia64/ia64-c.c: Include "tm_p.h" for function prototypes.
2010
2011 2003-03-16  Andreas Jaeger  <aj@suse.de>
2012
2013         * configure.in: Improve check for memcheck.h.
2014         * configure: Regenerated.
2015
2016 2003-03-16  Neil Booth  <neil@daikokuya.co.uk>
2017
2018         * doc/cppopts.texi: Remove documentation of -A-.
2019
2020 2003-03-15  Zack Weinberg  <zack@codesourcery.com>
2021
2022         * doc/libgcc.texi: Remove @tie.
2023
2024 2003-03-15  Josef Zlomek  <zlomekj@suse.cz>
2025
2026         * rtl.h (subrtx_p): Renamed to rtx_referenced_p.
2027         (rtx_pair): Added new element update_label_nuses, renamed to
2028         replace_label_data.
2029         * cfgcleanup.c (outgoing_edges_match, try_crossjump_to_edge): Use
2030         replace_label_data instead of rtx_pair.
2031         * loop.c (load_mems): Likewise.
2032         * rtlanal.c (replace_label): Replace label in pool constants and in
2033         INSN_LIST (in REG_LABEL note).
2034         (subrtx_p): Renamed to rtx_referenced_p.
2035         (subrtx_p_1): Renamed to rtx_referenced_p_1, compare the interior of
2036         LABEL_REF with CODE_LABEL, traverse constants from pool.
2037
2038 2003-03-15  Aldy Hernandez <aldyh@redhat.com>
2039             Zack Weinberg  <zack@codesourcery.com>
2040
2041         * Makefile.in (TEXI_GCCINT_FILES): Add libgcc.texi.
2042         * doc/libgcc.texi: New file.
2043         * doc/interface.texi: Delete paragraph about libgcc interface.
2044         * doc/gccint.texi: Add libgcc menu entry and @include libgcc.texi.
2045
2046 2003-03-15  Jason Merrill  <jason@redhat.com>
2047
2048         PR debug/9039
2049         * dwarf2out.c (gen_decl_die): Ignore frontend tree codes.
2050
2051         PR debug/6387
2052         * dwarf2out.c (dwarf2out_decl): If we're at -g1, just stick nested
2053         function DIEs at toplevel.
2054         (decls_for_scope): At -g1, don't descend into subblocks.
2055
2056 2003-03-15  Ulrich Weigand  <uweigand@de.ibm.com>
2057
2058         * varasm.c (struct rtx_const): Change type of un.addr member
2059         to struct holding an additional 'symbol' member.
2060         (decode_rtx_const): Re-enable optimization to count SYMBOL_REFs
2061         with equal string addresses as equal.
2062         (simplify_subtraction): Adapt to struct rtx_const change.
2063
2064 2003-03-15  Neil Booth  <neil@daikokuya.co.uk>
2065
2066         * fix-header.c (read_scan_file): Read main file before handling -D.
2067
2068 2003-03-15  Roger Sayle  <roger@eyesopen.com>
2069
2070         * c-cppbuiltin.c (builtin_define_with_value_n): Fix whitespace.
2071         * c-typeck.c (c_tree_expr_nonnegative_p): Likewise.
2072         * cfgbuild.c (find_many_sub_basic_blocks): Likewise.
2073         (find_sub_basic_blocks): Likewise.
2074         * cgraphunit.c (cgraph_expand_functions): Likewise.
2075         * dwarf2out.c (prune_unused_types): Likewise.
2076         * expr.c (store_field): Likewise.
2077         * genextract.c (print_path): Likewise.
2078         * haifa-sched.c (schedule_insn): Likewise.
2079         * lcm.c (compute_antinout_edge): Likewise.
2080         * loop-unroll.c (decide_peel_once_rolling): Likewise.
2081         * ra-colorize.c (ra_colorize_free_all): Likewise.
2082         * ra-debug.c (dump_igraph): Likewise.
2083         (debug_hard_reg_set): Likewise.
2084         * reg-stack.c (reg_to_stack): Likewise.
2085         * rtlanal.c (refers_to_regno_p): Likewise.
2086         * tracer.c (layout_superblocks): Likewise.
2087
2088 2003-03-15  Neil Booth  <neil@daikokuya.co.uk>
2089
2090         * fix-header.c (read_scan_file): Fix thinko.
2091
2092 2003-03-15  Glen Nakamura  <glen@imodulo.com>
2093
2094         * reload1.c (choose_reload_regs): Use && instead of ||
2095         with REG_CANNOT_CHANGE_MODE_P condition.
2096
2097 2003-03-15  Neil Booth  <neil@daikokuya.co.uk>
2098
2099         * Makefile.in: Update.
2100         * c-common.h (cb_register_builtins): Rename c_cpp_builtins.
2101         * c-lex.c (init_c_lex): Register builtins hook is dead.
2102         * c-opts.c (COMMAND_LINE_OPTIONS, missing_arg): Handle -A, -D and -U.
2103         (c_common_decode_option): Don't call cpp_handle_option.
2104         Handle -A, -D and -U.
2105         (handle_deferred_opts): Simplify.
2106         (finish_options): Define builtins and command line macros.
2107         * c-ppoutput.c (init_pp_output): Register builtins hook is dead.
2108         * cppinit.c: Don't include intl.h.
2109         (init_builtins): Rename cpp_init_builtins.  No hook to call.
2110         (init_library): Don't need to sort options.
2111         (cpp_create_reader): Don't set pending.
2112         (cpp_destroy): Don't free pending.
2113         (struct pending_option, cl_directive_handler, struct cpp_pending,
2114         APPEND, free_chain, new_pending_directive, parse_option, opt_comp,
2115         cpp_finish_options, COMMAND_LINE_OPTIONS, DEF_OPT, struct cl_option,
2116         cl_options, cpp_handle_option): Remove.
2117         * cpplib.h (struct cpp_pending, register_builtins, cpp_handle_option,
2118         cpp_finish_options): Remove.
2119         (cpp_init_builtins): New.
2120         * fix-header.c (read_scan_file): Update to handle -D.  Fix
2121         handling of -I.  Replace call to cpp_finish_options.
2122
2123 2003-03-15  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2124
2125         PR optimization/9387
2126         * function.c (thread_prologue_and_epilogue_insns): Use redirect_jump
2127         for conditional returns.
2128
2129 2003-03-14  Jason Merrill  <jason@redhat.com>
2130
2131         PR optimization/6871
2132         * varasm.c (assemble_variable): Leave constant zeroes in .rodata.
2133
2134 2003-03-14  Neil Booth  <neil@daikokuya.co.uk>
2135
2136         * c-opts.c (finish_options): New.
2137         (COMMAND_LINE_OPTIONS, c_common_decode_option): Add -imacros.
2138         (missing_arg): Handle OPT_include and OPT_imacros.
2139         (c_common_init, c_common_parse_file): Use finish_options.
2140         (handle_deferred_opts): Update.
2141         * cppinit.c (struct cpp_pending): Remove imacros_head and imacros_tail.
2142         (cpp_finish_options): Don't handle -imacros here.
2143         (no_fil): Remove.
2144         (COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -imacros.
2145
2146 2003-03-14  Jakub Jelinek  <jakub@redhat.com>
2147
2148         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Don't call
2149         rs6000_maybe_dead if !fromprolog.
2150
2151 2003-03-14  Neil Booth  <neil@daikokuya.co.uk>
2152
2153         * Makefile.in: Update.
2154         * c-common.h (fe_file_change, pp_file_change): New.
2155         * c-lex.c (init_c_lex): Don't set cb_file_change.
2156         (c_common_parse_file): Move to c-opts.c.
2157         (cb_file_change): Rename fe_file_change.
2158         * c-opts.c: Include debug.h.
2159         (warn_unused_macros, include_cursor): New.
2160         (push_command_line_include, cb_file_change): New.
2161         (COMMAND_LINE_OPTIONS): Handle -include.
2162         (c_common_decode_option): Use local warn_unused_macros.
2163         Handle OPT_include.
2164         (c_common_post_options): Set file change callback.
2165         (handle_deferred_opts): Skip -include.  Don't free the array.
2166         (c_common_init): Call cpp_finish_options here, and push an
2167         initial -include file.
2168         * c-ppoutput.c (cb_file_change): Rename pp_file_change.
2169         (preprocess_file): Don't call cpp_finish_options.
2170         (init_pp_output): Don't set the file change callback.
2171         (pp_file_change): Return if no line commands or no output.
2172         * cpphash.h (next_include_file, first_unused_line): Remove.
2173         * cppinit.c (include_head, include_tail): Remove.
2174         (cpp_destroy): Don't free -include chain.
2175         (cpp_finish_options): Don't handle -include, or worry about
2176         -Wunused-macros.
2177         (_cpp_maybe_push_include_file): Remove.
2178         (COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -include.
2179         * cpplib.c (_cpp_pop_buffer): Don't handle -include.
2180         * cppmacro.c (_cpp_warn_if_unused_macro, _cpp_create_definition):
2181         Used flag is set based upon the state of the warn_unused_macros
2182         flag, and so use of first_unused_line is unnecessary.
2183
2184 2003-03-13  Jan Hubicka  <jh@suse.cz>
2185
2186         * cselib.c (clear_table): Do not take argument; always clear just
2187         used slots.
2188         (cselib_process_insn):  Update call of clear_table
2189         (cselib_init): Do not call clear_table.
2190         (cselib_finish): Clear table.
2191
2192         * cse.c (count_reg_usage): Do not check side_effects_p.
2193         * rtlanal.c (set_noop_p): Check side_effects_p only when set looks
2194         like noop.
2195         (find_reg_equal_equiv_note): Do not use find_reg_note.
2196
2197 2003-03-14  Richard Henderson  <rth@redhat.com>
2198
2199         PR target/9700
2200         * config/alpha/alpha.c (alpha_va_start): Account for
2201         current_function_pretend_args_size in the AP offset.
2202
2203         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Move out of line.
2204         (INITIAL_ELIMINATION_OFFSET): Move out of line.
2205         * config/alpha/alpha.c (alpha_setup_incoming_varargs): New.
2206         (alpha_initial_elimination_offset) New.
2207         * config/alpha/alpha-protos.h: Update.
2208
2209 2003-03-14  Jakub Jelinek  <jakub@redhat.com>
2210
2211         * stmt.c (expand_start_case): Call emit_queue ().
2212
2213 2003-03-14  Chris Demetriou  <cgd@broadcom.com>
2214             Alexandre Oliva  <aoliva@redhat.com>
2215
2216         * config/mips/mips.h (FUNCTION_PROFILER): _mcount() doesn't pop 2
2217         words in new abis.
2218
2219 2003-03-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
2220
2221         PR optimization/8396
2222         * tree-inline.c (initialize_inlined_parameters): Make sure the value
2223         of read-only constant arguments is passed with the right type.
2224
2225 2003-03-14  Steven Bosscher  <steven@gcc.gnu.org>
2226
2227         * doc/extend.texi (Function Names): Make the example compilable.
2228
2229 2003-03-13  David Edelsohn  <edelsohn@gnu.org>
2230
2231         * config/rs6000/rs6000.c (processor_target_table): Really allow
2232         GP optional instructions on Power4.
2233
2234 2003-03-13  Roger Sayle  <roger@eyesopen.com>
2235
2236         * calls.c (flags_from_decl_or_type): Factor and remove redundant
2237         conditional tests.
2238
2239 2003-03-13  Mike Stump  <mrs@apple.com>
2240
2241         * ggc-page.c (struct page_entry): Remove varray.h header.
2242         Add index_by_depth field.
2243         Remove save_in_use_p field.
2244         (struct globals): Add depth_in_use, depth_max, by_depth_in_use,
2245         by_depth_max, by_depth, and save_in_use fields.
2246         (INITIAL_PTE_COUNT): Add.
2247         (save_in_use_p_i): Add.
2248         (save_in_use_p): Add.
2249         (adjust_depth): Add.
2250         (move_ptes_to_front): Add.
2251         (push_depth): Add.
2252         (push_by_depth): Add.
2253         (prefetch): Add.
2254         (free_page): Add support for and use faster data structures.
2255         (ggc_alloc): Likewise.
2256         (init_ggc): Likewise.
2257         (ggc_recalculate_in_use_p): Likewise.
2258         (ggc_pop_context): Likewise.
2259         (clear_marks): Likewise.
2260         (ggc_pch_read): Likewise.
2261         * Makefile.in (ggc-page.o): Remove varray.h.
2262
2263 2003-03-13  Nathanael Nerode  <neroden@gcc.gnu.org>
2264
2265         * ChangeLog: Rotated last year's entries to...
2266         * ChangeLog.8: New.
2267
2268         * config/ia64/fde-glibc.c, config/ia64/freebsd.h,
2269         config/ia64/hpux.h, config/ia64/hpux_longdouble.h,
2270         config/ia64/ia64-c.c, config/ia64/ia64-modes.def,
2271         config/ia64/ia64-protos.h, config/ia64/ia64.c,
2272         config/ia64/ia64.h, config/ia64/ia64.md,
2273         config/ia64/itanium1.md, config/ia64/itanium2.md,
2274         config/ia64/quadlib.c, config/ia64/unwind-ia64.c,
2275         config/ia64/unwind-ia64.h: It's GCC, not GNU CC.
2276
2277 2003-03-13  Aldy Hernandez  <aldyh@redhat.com>
2278
2279         * config/rs6000/rs6000.c (rs6000_dwarf_register_span):
2280         Differentiate endianness.
2281         (s6000_override_options): Use cpu type instead of TARGET_SPE.
2282
2283 2003-03-13  Nick Clifton  <nickc@redhat.com>
2284
2285         * config/arm/arm.c (print_multi_reg): Do not generate a type 2
2286         LDM instructions with writeback enabled.
2287         (output_return_instruction): Likewise.
2288
2289         * config/arm/pe.h (FIXED_REGISTERS): Remove definition.
2290         (CALL_USED_REGISTERS): Remove definition.
2291         (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Define.
2292
2293 2003-03-13  Alan Modra  <amodra@bigpond.net.au>
2294
2295         * config/rs6000/rs6000.c (rs6000_flag_pic): Delete.
2296         (rs6000_xcoff_encode_section_info): #ifdef TARGET_XCOFF.
2297         (rs6000_binds_local_p, TARGET_BINDS_LOCAL_P): #if TARGET_MACHO.
2298         (rs6000_override_options): Don't clear flag_pic for ABI_AIX.
2299         (rs6000_legitimize_address): Formatting.
2300         (rs6000_emit_move): Likewise.
2301         (rs6000_return_addr): Test ABI_AIX as well as flag_pic.
2302         (rs6000_emit_prologue <save_LR_around_toc_setup>): Likewise.
2303         (rs6000_elf_select_section): Comment reason for shlib being
2304         set for ABI_AIX.
2305         (rs6000_elf_unique_section): Likewise.
2306         (rs6000_elf_encode_section_info): Test !TARGET_AIX as well as ABI_AIX.
2307         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Test ABI_AIX
2308         as well as flag_pic.
2309         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
2310         (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
2311         * config/rs6000/linux64.h (TARGET_ENCODE_SECTION_INFO): Don't define.
2312
2313 2003-03-13  Richard Henderson  <rth@redhat.com>
2314
2315         * emit-rtl.c (try_split): Handle 1-1 splits of call insns properly.
2316
2317         * config/ia64/ia64.c (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
2318         (ia64_gp_save_reg): Remove.
2319         (struct ia64_frame_info): Move to the beginning of the file;
2320         add reg_save_gp.
2321         (ia64_expand_call): Rearrange for new call patterns.
2322         (ia64_reload_gp): New.
2323         (ia64_split_call): New.
2324         (ia64_compute_frame_size): Allocate reg_save_gp.
2325         (ia64_expand_prologue): Save reg_save_gp.
2326         (ia64_expand_epilogue): Don't restore gp.
2327         (ia64_hard_regno_rename_ok): Remove R4 hack.
2328         (ia64_function_ok_for_sibcall): New.
2329         (ia64_output_mi_thunk): Set reload_completed, no_new_pseudos;
2330         call try_split on sibcall pattern.
2331         * config/ia64/ia64-protos.h: Update.
2332         * config/ia64/ia64.md (call_nogp, call_value_nogp, sibcall_nogp):
2333         Rename from nopic versions.  Confiscate 2nd argument to call as
2334         a marker.
2335         (call_pic, call_value_pic, sibcall_pic): Remove.
2336         (call_gp, call_value_gp, sibcall_gp): New.
2337         (builtin_setjmp_setup): Remove.
2338         (builtin_setjmp_receiver): Call ia64_reload_gp.
2339
2340 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
2341
2342         * config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
2343         config/dsp16xx/dsp16xx.h, config/dsp16xx/dsp16xx.md: Replace
2344         "GNU CC" with "GCC".
2345
2346         * config/c4x/c4x-c.c, config/c4x/c4x-modes.def,
2347         config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
2348         config/c4x/c4x.md, config/c4x/libgcc.S, config/c4x/rtems.h:
2349         GCC, not GNU CC.
2350
2351         * genattrtab.h, hosthooks-def.h, hosthooks.h, langhooks-def.h,
2352         langhooks.h, tree-inline.h: Replace "GNU CC" with "GCC".
2353
2354         * c-pch.c, dummy-conditions.c, genautomata.c, genconditions.c,
2355         langhooks.c, tree-inline.c, unwind-dw2-fde-darwin.c,
2356         unwind-dw2-fde-glibc.c, unwind-libunwind.c, vmsdbgout.c: Replace
2357         "GNU CC" with "GCC".
2358
2359         * config/v850/lib1funcs.asm, config/v850/rtems.h,
2360         config/v850/v850-c.c, config/v850/v850-protos.h,
2361         config/v850/v850.c, config/v850/v850.h, config/v850/v850.md:
2362         GCC, not GNU CC.
2363
2364         * config/vax/bsd.h, config/vax/elf.h, config/vax/netbsd-elf.h,
2365         config/vax/netbsd.h, config/vax/openbsd.h, config/vax/openbsd1.h,
2366         config/vax/ultrix.h, config/vax/vax-protos.h, config/vax/vax.c,
2367         config/vax/vax.h, config/vax/vax.md, config/vax/vaxv.h: GCC, not
2368         GNU CC.
2369
2370 2003-03-12  Benjamin Kosnik  <bkoz@redhat.com>
2371
2372         * cpppch.c (cpp_valid_state): Use DL_WARNING_SYSHDR, not DL_WARNING.
2373
2374 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
2375
2376         * fixinc/fixinc.interix: Remove dead code (most of it).
2377         * fixinc/fixinc.dgux: Remove.
2378
2379         * ginclude/float.h, ginclude/iso646.h, ginclude/stdarg.h,
2380         ginclude/stdbool.h, ginclude/stddef.h: GCC, not GNU CC.
2381
2382 2003-03-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2383
2384         * pa.c (pa_init_builtins): Fix warning.
2385
2386 2003-03-12  Steve Ellcey  <sje@cup.hp.com>
2387
2388         * config/ia64/ia64.h (ASM_OUTPUT_XDATA_CHAR): Remove.
2389         (ASM_OUTPUT_XDATA_SHORT): Remove.
2390         (ASM_OUTPUT_XDATA_INT): Remove.
2391         (ASM_OUTPUT_XDATA_DOUBLE_INT): Remove.
2392         (ASM_OUTPUT_ADDR_DIFF_ELT): Handled 32 bit address diffs.
2393         (ASM_PREFERRED_EH_DATA_FORMAT): Handle 32 bit EH pointers.
2394         (CASE_VECTOR_MODE): Handle 32 bit pointers in case statement.
2395
2396 2003-03-12  Andrew Lewycky  <andrew@mxc.ca>
2397
2398         PR c++/7050
2399         * expr.c (store_expr): Don't attempt to store void-typed trees,
2400         just evaluate them for side effects.
2401
2402 2003-03-12  Neil Booth  <neil@daikokuya.co.uk>
2403
2404         * cppfiles.c (cpp_rename_file, cpp_push_include): New.
2405         * cppinit.c (push_include): Move with changes to cppfiles.c.
2406         (cpp_read_main_file): Mark named operators here...
2407         (cpp_finish_options): ...not here.  Update.
2408         (_cpp_maybe_push_include_file): Update.
2409         * cpplib.h (cpp_push_include, cpp_rename_file): New.
2410
2411 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
2412
2413         * aclocal.m4: Introduce gcc_GAS_VERSION_GTE_IFELSE,
2414         _gcc_COMPUTE_GAS_VERSION.
2415         * configure.in: Use them.
2416         * configure: Regenerate.
2417
2418 2003-03-12  Bob Wilson  <bob.wilson@acm.org>
2419
2420         * config/xtensa/xtensa.md (adddi3): Don't clobber source operand used
2421         to detect carry.
2422         (subdi3): Reorder emitted instructions.
2423
2424 2003-03-12  Andreas Jaeger  <aj@suse.de>
2425
2426         * config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Remove call to
2427         NETBSD_OS_CPP_BUILTINS_LP64.
2428
2429 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
2430
2431         * Makefile.in: Eliminate all.indirect.  Update and clean up comments.
2432         Rearrange.  Reorganize.
2433         * configure.in: Rearrange.
2434         * configure: Regenerate.
2435
2436 2003-03-12  Andreas Jaeger  <aj@suse.de>
2437
2438         * c-cppbuiltin.c (cb_register_builtins): Define LP64 builtins for
2439         LP64 targets.
2440
2441         * doc/cpp.texi (Common Predefined Macros): Document __LP64__ and
2442         _LP64.
2443
2444         * config/ia64/ia64.h (TARGET_CPU_CPP_BUILTINS): Do not define
2445         _LP64 macros here.
2446         * config/pa/pa.h (TARGET_CPU_CPP_BUILTINS): Likewise.
2447
2448         * config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove call to
2449         NETBSD_OS_CPP_BUILTINS_LP64.
2450         * config/sh/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise.
2451         * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise.
2452
2453         * config/netbsd.h (NETBSD_OS_CPP_BUILTINS_LP64): Remove.
2454
2455 2003-03-12  Jan Hubicka  <jh@suse.cz>
2456
2457         * i386.c (ix86_setup_incoming_varargs): Set stack_alignment_needed to 128.
2458
2459 2003-03-12  Daniel Jacobowitz  <drow@mvista.com>
2460
2461         Fix PR target/9797 and PR c/9853.
2462         * stmt.c (expand_decl_init): Call push_temp_slots () and
2463         pop_temp_slots ().
2464
2465 2003-03-12  J"orn Rennecke <joern.rennecke@superh.com>
2466
2467         * sh.c: Include basic-block.h.
2468         (sh_output_mi_thunk, emit_load_ptr): New functions.
2469         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine.
2470
2471 2003-03-12  Nick Clifton  <nickc@redhat.com>
2472
2473         * config/arm/pe.h (FIXED_REGISTERS): Add Maverick registers.
2474         (CALL_USED_REGISTERS): Likewise.
2475         * config/arm/arm.h (FIRST_PSEUDO_REGISTER): Update comment
2476         describing how this value is calculated.
2477
2478 2003-03-12  Hans-Peter Nilsson  <hp@bitrange.com>
2479
2480         * configure.in (rlim_t): Define to long if no valid definition
2481         found in sys/resource.h.
2482         * config.in, configure: Regenerate.
2483
2484 2003-03-12  Neil Booth  <neil@daikokuya.co.uk>
2485
2486         * config/mcore/mcore-elf.h (CPP_PREDEFINES): Replace with
2487         TARGET_OS_CPP_BUILTINS.
2488         * config/mcore/mcore-pe.h: Similarly.
2489         * config/mcore/mcore.h: Replace CPP_PREDEFINES and part of
2490         CPP_SPEC with TARGET_CPU_CPP_BUILTINS.
2491
2492 2003-03-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
2493
2494         PR c/9928
2495         * c-decl.c (duplicate_decls): Discard the initializer of the new decl
2496         only if it is a VAR_DECL.
2497
2498 2003-03-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
2499
2500         PR optimization/9888
2501         * config/i386/i386.md (jcc_1): Fix range.
2502         (jcc_2): Likewise.
2503         (jump): LIkewise.
2504         (doloop_end_internal): Likewise.
2505
2506 2003-03-12  Danny Smith  <dannysmith@users.sourceforge.net>
2507
2508         * config/i386/winnt.c (DLL_IMPORT_PREFIX): New define.
2509         Use throughout instead of DLL_IMPORT_EXPORT_PREFIX and "e."
2510         (DLL_EXPORT_PREFIX): New define. Use throughout instead of
2511         DLL_IMPORT_EXPORT_PREFIX and "i."
2512         (i386_pe_dllexport_name_p): Here.
2513         (i386_pe_dllimport_name_p): Here.
2514         (i386_pe_mark_dllexport): Here. Remove DLL_IMPORT_PREFIX,
2515         not 9 chars when getting identifier name.
2516         (i386_pe_mark_dllimport): Here.
2517         (i386_pe_encode_section_info): Here. Remove DLL_IMPORT_PREFIX,
2518         not 9 chars when getting identifier name. Correct comment.
2519         (i386_pe_strip_name_encoding): Here. Add comments for different
2520         cases.
2521         (gen_fastcall_suffix): Break down xmalloc() argument to
2522         components.
2523         (gen_stdcall_suffix): Likewise.
2524         Update copyright year.
2525
2526 2003-03-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
2527
2528         PR optimization/9888
2529         * config/i386/i386.md (movsi_1): Remove special alternatives
2530         for %eax register.
2531         (movsi_1_nointernunit): Likewise.
2532         (movhi_1): Likewise.
2533         * config/i386/i386.c (memory_address_length): Do not use
2534         short displacement when there is no base.
2535         (ix86_attr_length_address_default): Handle LEA instructions.
2536
2537 2003-03-12  Neil Booth  <neil@daikokuya.co.uk>
2538
2539         * c-cppbuiltin.c (builtin_define_std): Make non-static.
2540
2541 2003-03-11  Loren James Rittle  <ljrittle@acm.org>
2542
2543         * config/freebsd-spec.h (FBSD_CPP_PREDEFINES): Remove.
2544         (FBSD_TARGET_OS_CPP_BUILTINS): New port-specific macro.
2545         (FBSD_TARGET_CPU_CPP_BUILTINS): New port-specific macro.
2546         * config/freebsd.h (CPP_PREDEFINES): Remove.
2547         (TARGET_OS_CPP_BUILTINS): New.
2548         * config/alpha/freebsd.h: Use overridden FBSD_TARGET_CPU_CPP_BUILTINS
2549         instead of TARGET_OS_CPP_BUILTINS.
2550         * config/sparc/freebsd.h (CPP_PREDEFINES): Remove.
2551
2552 2003-03-11  Geoffrey Keating  <geoffk@apple.com>
2553
2554         * c-cppbuiltin.c (builtin_define_std): Add ATTRIBUTE_UNUSED.
2555
2556 2003-03-11  Aldy Hernandez  <aldyh@redhat.com>
2557
2558         * config/rs6000/rs6000.c (rs6000_stack_info): Remove
2559         insn_chain_scanned.  Use insn_chain_scanned_p in machine_function.
2560
2561         * config/rs6000/rs6000.h (machine_function): Add insn_chain_scanned_p.
2562
2563 2003-03-11  Alexandre Oliva  <aoliva@redhat.com>
2564
2565         * toplev.c (independent_decode_option): Return success for --help,
2566         --target-help and --version.
2567
2568 2003-03-11  Alexandre Oliva  <aoliva@redhat.com>
2569
2570         * config/mips/linux64.h (DRIVER_SELF_SPECS): Add endian_spec.
2571         Default to -mips3 on -mabi=64.  Don't add -mips* flag if -march is
2572         specified.
2573         (SUBTARGET_ASM_SPEC): Remove -mips*-adding code obviated by
2574         DRIVER_SELF_SPECS.
2575         (LINK_SPEC): Let endian options affect the linker emulation name.
2576
2577 2003-03-11  J"orn Rennecke <joern.rennecke@superh.com>
2578
2579         * sh.md (reload_inqi): Fix mode for source in second set.
2580
2581 2003-03-11  Jan Hubicka  <jh@suse.cz>
2582
2583         * cselib.c (cselib_invalidate_mem_1): Move too ...
2584         (cselib_invalidate_mem): ... here; use new list
2585         (dummy_val, first_containing_mem): New static variables.
2586         (clear_table): Initialize first_containing_mem.
2587         (discard_useless_values):  Compact the containing_mem list.
2588         (add_mem_for_addr): Add to the list.
2589         * cselib.h (cselib_val): Add next_containing_mem.
2590
2591 2003-03-11  Aldy Hernandez  <aldyh@redhat.com>
2592
2593         * config/rs6000/rs6000.c (rs6000_override_options): Disable string
2594         instructions for e500.
2595
2596 2003-03-11  Neil Booth  <neil@daikokuya.co.uk>
2597
2598         * Makefile.in: Update.
2599         * c-cppbuiltin.c: Include tm_p.h.
2600
2601 2003-03-11  Aldy Hernandez  <aldyh@redhat.com>
2602
2603         * doc/tm.texi (Frame Registers): Document DWARF_REG_TO_UNWIND_COLUMN.
2604
2605         * unwind-dw2.c (DWARF_REG_TO_UNWIND_COLUMN): Define.
2606         (_Unwind_GetGR): Use DWARF_REG_TO_UNWIND_COLUMN.
2607         (_Unwind_SetGR): Same.
2608         (_Unwind_GetGRPtr): New.
2609         (_Unwind_SetGRPtr): New.
2610         (uw_update_context_1): Use accesor functions instead of accessing
2611         context->reg[] directly.
2612         (uw_install_context_1): Same.
2613         (execute_cfa_program): Same.
2614         (__frame_state_for): Same.
2615
2616         * config/rs6000/rs6000.c (spe_synthesize_frame_save): Use 1200 as
2617         the synthetic register offset.
2618
2619         * config/rs6000/rs6000.h (DWARF_REG_TO_UNWIND_COLUMN): New.
2620
2621 2003-03-11  Hans-Peter Nilsson  <hp@axis.com>
2622
2623         * config/cris/cris.md: Remove lingering EGCS reference.
2624         ("*extopqihi_side_biap"): For HI operation, match
2625         cris_additive_operand_extend_operator, not
2626         cris_operand_extend_operator.  Adjust condition.
2627         ("*extopqihi_side", "*extopqihi"): Ditto.
2628         ("*extopqisi_side_biap"): Correct operand numbers in condition.
2629         ("*extophisi_side_biap", "*extopqisi_swap_side_biap"): Ditto.
2630         ("*extophisi_swap_side_biap", "*extopqisi_swap"): Ditto.
2631         ("*extophisi_swap"): Ditto.
2632         ("*extopqihi_swap_side_biap"): For HI operation, match a simple
2633         PLUS, not cris_operand_extend_operator.  Adjust condition and
2634         output template.
2635         ("*extopqihi_swap_side", "*extopqihi_swap"): Ditto.
2636         * config/cris/cris.h (PREDICATE_CODES): Add
2637         cris_additive_operand_extend_operator.
2638         * config/cris/cris.c (cris_additive_operand_extend_operator):
2639         New predicate.
2640
2641 2003-03-11  Hartmut Penner  <hpenner@de.ibm.com>
2642
2643         * df.c (read_modify_subreg_p): Change from static to global.
2644         * df.h (read_modify_subreg_p): Add prototype.
2645         * sched-deps.c (sched_analyze_1): Generate true dependency for
2646         strict_low_part, certain subregs and zero/sign_extract.
2647
2648 2003-03-11  Neil Booth  <neil@daikokuya.co.uk>
2649
2650         * Makefile.in: Update.
2651         * c-common.c: Don't include real.h or except.h.
2652         (REGISTER_PREFIX): Remove.
2653         (builtin_define_std, builtin_define_with_value,
2654         builtin_define_with_int_value, builtin_define_with_hex_fp_value,
2655         builtin_define_type_max, builtin_define_type_precision,
2656         builtin_define_float_constants): Move to c-cppbuiltin.c.
2657         (c_stddef_cpp_builtins): New.
2658         * c-common.h (builtin_define_with_value, c_stddef_cpp_builtins): New.
2659         * c-cppbuiltin.c: New, extracted from c-common.c.
2660         (define__GNUC__): New.
2661         * cppspec.c (lang_specific_driver): Remove support of -no-gcc.
2662         * gcc.c: Remove support of %v1, %v2 and %v3 specs.
2663         (cpp_unique_options): Don't support no-gcc.
2664         (do_spec_1): Remove support of version specs.
2665         * doc/invoke.texi: Remove documentation of %v1, %v2 and %v3.
2666         * doc/passes.texi: Update.
2667         * doc/tm.texi: Update.
2668
2669 2003-03-10  Aldy Hernandez  <aldyh@redhat.com>
2670
2671         * dwarf2out.c (multiple_reg_loc_descriptor): Fix thinko.
2672
2673 2003-03-10  Andrew Pinski  <apinski@apple.com>
2674
2675         * config/darwin.c (machopic_function_base_name): If dynamic-no-pic
2676         is on should not get here.
2677         (machopic_indirect_data_reference): If dynamic-no-pic is on just
2678         generate high/low parts of the address.
2679         (machopic_legitimize_pic_address): Change MACHOPIC_PURE to
2680         MACHOPIC_INDIRECT. Dynamic-no-pic uses 0 as the pic base. Generate
2681         symbol and labels with a new reg.  Dynamic-no-pic does not have a
2682         pic_offset_table_rtx.
2683         (machopic_select_section): Change references of flag_pic to
2684         MACHOPIC_INDIRECT.
2685         (machopic_asm_out_destructor): Likewise.
2686         * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Change
2687         reference of flag_pic to MACHOPIC_INDIRECT.
2688         (MACHO_DYNAMIC_NO_PIC_P): Define as TARGET_DYNAMIC_NO_PIC.
2689         (MACHOPIC_INDIRECT): Is also true when dynamic-no-pic is on.
2690         (MACHOPIC_JUST_INDIRECT): Is also true when dynamic-no-pic is on.
2691         (MACHOPIC_PURE): Is not pure when dynamic-no-pic is on.
2692         * config/i386/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define as
2693         0 for right now as dynamic-no-pic is not implemented on Darwin/ia32.
2694         * config/rs6000/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define.
2695         (TARGET_DYNAMIC_NO_PIC): Define.
2696         (SUBTARGET_SWITCHES): Define, have sub-target switches for
2697         dynamic-no-pic.
2698         (SUBTARGET_OVERRIDE_OPTIONS): Move check for -fpic from
2699         rs6000_override_options to here. Dynamic-no-pic overrides
2700         pic.
2701         (CC1_SPEC): Change from not static then pic to not static and not
2702         dynamic-no-pic then pic.
2703         * config/rs6000/rs6000.c (rs6000_override_options): Move the
2704         check for -fpic and DARWIN_ABI to config/rs6000/darwin.h
2705         (rs6000_legitimize_reload_address): Add case for loading floating in
2706         dynamic-no-pic.
2707         (rs6000_emit_move): Add case for dynamic-no-pic.  Change reference
2708         of flag_pic to MACHOPIC_INDIRECT.
2709         (secondary_reload_class): Conditional change the reference of
2710         flag_pic to MACHOPIC_INDIRECT.
2711         (rs6000_output_mi_thunk): Change reference of flag_pic to
2712         MACHOPIC_INDIRECT.
2713         (output_profile_hook): Likewise.
2714         (machopic_output_stub): Non-pure (dynamic-no-pic) is now supported.
2715         * config/rs6000/rs6000.md (movdf_low): Add the case for
2716         MACHO_DYNAMIC_NO_PIC_P.
2717         (call): Change references for flag_pic in TARGET_MACHO to
2718         MACHOPIC_INDIRECT.
2719         (SUBTARGET_OVERRIDE_OPTIONS): Add case where -fpic is on and
2720         -mdynamic-no-pic is on.  Also move case for -fpic from rs6000.c.
2721         * doc/invoke.texi (-mdynamic-no-pic): Document.
2722
2723 2003-03-10  Devang Patel  <dpatel@apple.com>
2724
2725         PR c++/9394
2726         * gcc.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
2727         (DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
2728         * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Add.
2729         (DEFAULT_WORD_SWITCH_TAKES_ARG): Add.
2730         * cppspec.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
2731         (DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
2732
2733 2003-03-10  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2734
2735         PR optimization/7189
2736         * toplev.c (rest_of_compilation):  Move
2737         check_function_return_warnings up to just after
2738         delete_unreachable_blocks.
2739
2740 2003-03-10  Stephane Carrez  <stcarrez@nerim.fr>
2741
2742         * config/m68hc11/m68hc11.h (HARD_REGNO_RENAME_OK): Define.
2743         * config/m68hc11/m68hc11-protos.h (m68hc11_hard_regno_rename_ok):
2744         Declare.
2745         * config/m68hc11/m68hc11.c (m68hc11_hard_regno_rename_ok): New function
2746         for reg rename optimization to avoid using Z and Y registers.
2747
2748 2003-03-10  Stephane Carrez  <stcarrez@nerim.fr>
2749
2750         * config/m68hc11/m68hc11.md ("*addhi3_68hc12"): Accept any constant
2751         when adding to X and Y since leax/leay are fast.
2752         ("*addhi3"): Accept 'I' constraint when adding to address register.
2753         ("rotlhi3"): Operand 1 must be a register_operand.
2754         (peephole2): New peephole to optimize some adds.
2755         * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_P): Use 'I' constraint
2756         to represent -2 .. 2 small integer range.
2757
2758 2003-03-10  Stephane Carrez  <stcarrez@nerim.fr>
2759
2760         * config/m68hc11/m68hc11.c (m68hc11_gen_rotate): Set carry before
2761         each 16-bit rotation.
2762
2763 2003-03-10  Zack Weinberg  <zack@codesourcery.com>
2764
2765         * c-opts.c (add_prefixed_path): Don't use concat.  When
2766         prefixing with cpp_GCC_INCLUDE_DIR, copy only the first
2767         cpp_GCC_INCLUDE_DIR_len characters.
2768
2769 2003-03-10  Segher Boessenkool  <segher@koffie.nl>
2770
2771         * testsuite/gcc.dg/altivec-9.c: New file.
2772
2773         * config/rs6000/rs6000.c (altivec_frame_fixup): Remove.
2774         (rs6000_emit_prologue): Use rs6000_frame_related instead.
2775
2776 2003-03-10  Aldy Hernandez  <aldyh@redhat.com>
2777
2778         * config/rs6000/spe.h: Define __ev64_*64__ to use single element
2779         vectors.
2780         (__ev_convert_u64): Remove macro.  Define as inline.
2781         (__ev_convert_s64): Same.
2782
2783 2003-03-10  Aldy Hernandez  <aldyh@redhat.com>
2784
2785         * config/rs6000/rs6000.h (DWARF_FRAME_REGISTERS): Define.
2786         (rs6000_stack_t): Add spe_64bit_regs_used.
2787
2788         * config/rs6000/rs6000.c (rs6000_stack_info): Calculate
2789         spe_64bit_regs_used, and use it to determine the size of the
2790         frame.
2791         (spe_func_has_64bit_regs_p): New.
2792         (spe_synthesize_frame_save): New.
2793         (rs6000_frame_related): Handle SPE synthetic registers.
2794         (rs6000_emit_prologue): Only save in 64-bits if the function used
2795         any registers in 64-bit mode.
2796         (rs6000_emit_epilogue): Same, but for restore.
2797
2798 2003-03-10  Richard Earnshaw  <rearnsha@arm.com>
2799
2800         * arm.h (enum floating_point_type): Delete.  Replace with...
2801         (enum fputype): ... new.
2802         (FPUTYPE_DEFAULT): Renamed from FP_DEFAULT.  Values reworked.
2803         * linux-elf.h (FPUTYPE_DEFAULT): Likewise.
2804         * arm.md (attr fpu): Reworked for new underlying enum values.
2805         * arm.c (arm_fpu_arch): Now enum fputype.
2806         (arm_fpu_tune): Renamed from arm_fpu.  Now enum fputype.
2807         (arm_override_options, arm_output_epilogue, arm_expand_prologue):
2808         Update uses of arm_fpu_arch and arm_fpu_tune.
2809
2810 2003-03-10  Josef Zlomek  <zlomekj@suse.cz>
2811
2812         * cfgcleanup.c (outgoing_edges_match): Compare the jump tables.
2813         (try_crossjump_to_edge): Replace refereces to one jump table by
2814         references to identical jump table.
2815         * loop.c (load_mems): Moved setting the JUMP_LABEL to replace_label.
2816         (replace_label): Moved to rtlanal.c.
2817         (struct rtx_pair): Moved to rtl.h.
2818         * rtl.h (struct rtx_pair): Moved from loop.c.
2819         (replace_label): New extern function.
2820         (subrtx_p): New extern function.
2821         (tablejump_p): New extern function.
2822         * rtlanal.c (replace_label): Moved from loop.c.
2823         (subrtx_p_1): New static function.
2824         (subrtx_p): New function.
2825         (tablejump_p): New function.
2826
2827 2003-03-10  Jan Hubicka  <jh@suse.cz>
2828
2829         * cfgcleanup.c (try_optimize_cfg): Fix thinko in previous patch.
2830
2831         * cfgcleanup.c (merge_blocks): Return where to iterate next.
2832         (try_optimize_cfg): Use return value of merge_blocks
2833
2834 2003-03-10  Michael Matz  <matz@suse.de>
2835
2836         * cfg.c (unchecked_make_edge): New.
2837         (cached_make_edge): Use it.
2838         * basic-block.h (unchecked_make_edge): Declare.
2839         * cfglayout.c (cfg_layout_duplicate_bb): Use it.
2840
2841 2003-03-10  Richard Earnshaw  <rearnsha@arm.com>
2842
2843         * fpa.md: New file.  Move all patterns relating to FPA co-processor
2844         to here...
2845         * arm.md: ... from here.
2846         (cirrus.md, fpa.md): Include at end of description.
2847         (divsf3, divdf3, modsf3, movdf3, sqrtsf2, sqrtdf2): New expands.
2848         (pic_load_addr_based): Remove register constraint from expander.
2849         (seq, sne, sgt, sle, slt, sge, sgeu, sleu, sgtu, sltu, sunordered)
2850         (sordered, sungt, sunle, sunge, sunlt): Likewise.
2851         (eh_epilogue, tablejump): Likewise.
2852
2853 2003-03-09  David Edelsohn  <edelsohn@gnu.org>
2854             Mostafa Hagog
2855
2856         * config/rs6000/rs6000.md (movsi_update1): Add TARGET_UPDATE final
2857         condition.
2858
2859 2003-03-09  Neil Booth  <neil@daikokuya.co.uk>
2860
2861         * config/frv/frv.h: Use TARGET_CPU_CPP_BUILTINS, not CPP_PREDEFINES.
2862         * config/ip2k/ip2k.h: Similarly.
2863         * config/m32r/m32r.h: Similarly.
2864         * config/m68hc11/m68hc11.h: Similarly.
2865         * config/mn10200/mn10200.h: Similarly.
2866         * config/mn10300/mn10300.h: Similarly.
2867         * config/pdp11/pdp11.h: Similarly.
2868         * config/v850/v850.h: Similarly.
2869         * config/rs6000/vxworks.h: Similarly for TARGET_OS_CPP_BUILTINS.
2870         * config/v850/retms.h: Similarly for TARGET_OS_CPP_BUILTINS.
2871         * config/mips/iris3.h: Remove #if 0 block.
2872
2873 2003-03-09  Roger Sayle  <roger@eyesopen.com>
2874             Joern Rennecke <joern.rennecke@superh.com>
2875
2876         * gcc.c (do_spec_1) ['{']: Revert 2003-02-24 patch.  Don't handle
2877         pending argument upon return from handle_braces here.
2878         (do_spec_2): Instead handle it upon return from do_spec_1 here.
2879
2880 2003-03-09  Roger Sayle  <roger@eyesopen.com>
2881             Joern Rennecke <joern.rennecke@superh.com>
2882
2883         * gcc.c (do_spec_1) ['{']: Revert 2003-02-24 patch.  Don't handle
2884         pending argument upon return from handle_braces here.
2885         (do_spec_2): Instead handle it upon return from do_spec_1 here.
2886
2887 2003-03-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2888
2889         * varasm.c (make_decl_one_only): Use declare_weak().
2890
2891 2003-03-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2892
2893         PR middle-end/9986
2894         * c-common.c (c_common_nodes_and_builtins): Initialize target builtins
2895         after the common builtins.
2896         * pa-hpux.h (DONT_HAVE_FPUTC_UNLOCKED): Define.
2897         * pa.c (TARGET_INIT_BUILTINS): Define.
2898         (pa_init_builtins): New function.
2899
2900         * pa.md (call, call_value, sibcall, sibcall_value): When sufficient
2901         space has been allocated for the outgoing arguments, set the arg
2902         pointer for a call emitted after virtuals have been instantiated
2903         using the stack pointer offset, otherwise abort.
2904
2905 2003-03-09  DJ Delorie  <dj@redhat.com>
2906
2907         * config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH): Revert.
2908
2909 2003-03-09  Richard Earnshaw  <rearnsha@arm.com>
2910
2911         * arm.md (fix_truncsfsi2, fix_truncdfsi2, arm_fix_truncsfsi2)
2912         (arm_fix_truncdfsi2): Add missing fix in floating point mode before
2913         conversion to integer.
2914         * cirrus.md (cirrus_truncsfsi2, cirrus_truncdfsi2): Likewise.
2915
2916 2003-03-09  Roger Sayle  <roger@eyesopen.com>
2917
2918         * builtins.def: Fix typo and improve grammar.
2919         * loop-unroll.c (decide_peel_completely): Tidy log message.
2920
2921 2003-03-09  Kazu Hirata  <kazu@cs.umass.edu>
2922
2923         * config/h8300/h8300.md (*tstsi_upper_bit): New.
2924         (*iorsi3_e2f): Likewise.
2925
2926 2003-03-08  Kazu Hirata  <kazu@cs.umass.edu>
2927
2928         * config/h8300/h8300.c (h8300_and_costs): Return the number of
2929         assembly instructions needed.
2930         (h8300_shift_costs): Likewise.
2931
2932 2003-03-09  Hans-Peter Nilsson  <hp@bitrange.com>
2933
2934         * config/cris/aout.h (ENDFILE_SPEC): Undef.
2935
2936         * optabs.c (gen_move_insn): Move logic for synthesizing MODE_CC
2937         moves from here ...
2938         * expr.c (emit_move_insn_1): ... to here.
2939
2940         * config/cris/aout.h (CRIS_CPP_SUBTARGET_SPEC): Move -D__AOUT__ to...
2941         (TARGET_OS_CPP_BUILTINS): New macro.
2942         * config/cris/cris.h (CRIS_CPP_SUBTARGET_SPEC): Move -D__ELF__ to...
2943         (TARGET_OS_CPP_BUILTINS): New macro.
2944         (CPP_PREDEFINES): Don't define.  Move old definitions and...
2945         (CPP_SPEC): ...move -D__CRIS_ABI_version=2 to...
2946         (TARGET_CPU_CPP_BUILTINS): New macro.
2947         * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Move constant
2948         definitions and the optional __PIC__, __pic__ and
2949         __NO_UNDERSCORES__ definitions to...
2950         (TARGET_OS_CPP_BUILTINS): New macro.
2951
2952         * flags.h (flag_leading_underscore): Declare.
2953
2954         * c-opts.c (c_common_post_options): On fopen failure, return
2955         false, not NULL.
2956
2957 2003-03-08  Hans-Peter Nilsson  <hp@bitrange.com>
2958
2959         * config/cris/cris_abi_symbol.c: #include tconfig.h and tm.h, not
2960         config.h.
2961         * config/cris/cris.h (HAVE_GAS_HIDDEN): Don't define here.
2962         * config/cris/aout.h (HAVE_GAS_HIDDEN): Undef.
2963
2964 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
2965
2966         * config/sh/rtemself.h (TARGET_OS_CPP_BUILTINS): Use instead of
2967         CPP_PREDEFINES.
2968         * config/sh/rtems.h (TARGET_OS_CPP_BUILTINS): Use instead of
2969         CPP_PREDEFINES.
2970
2971 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
2972
2973         * c-common.h (c_common_init, c_common_post_options): Update.
2974         * c-objc-common.c (c_objc_common_init): Update for new prototype.
2975         * c-opts.c (saved_lineno): New.
2976         (c_common_post_options, c_common_init): Update prototypes,
2977         move call to cpp_read_main_file from latter to former.
2978         * c-tree.h (c_ojbc_common_init): Update.
2979         * langhooks-def.h (lhd_post_options): New.
2980         (LANG_HOOKS_INIT, LANG_HOOKS_POST_OPTIONS): Update.
2981         * langhooks.c (lhd_post_options): New.
2982         * langhooks.h (struct lang_hooks): Update post_options and init hooks.
2983         * toplev.c (no_backend): New.
2984         (process_options): Call post_options hook and set main_input_filename
2985         and input_filename here.
2986         (lang_dependent_init, do_compile): post_options hook moved to
2987         process_options.
2988         * objc/objc-act.c (objc_init): Update prototype.
2989         * objc/objc-act.h (objc_init): Update prototype.
2990
2991 2003-03-08  Roger Sayle  <roger@eyesopen.com>
2992
2993         * emit-rtl.c (gen_lowpart): Don't attempt to load a part of
2994         a complex or vector type, using a load in the original mode.
2995
2996 2003-03-08  Jan Hubicka  <jh@suse.cz>
2997
2998         * Makefile.in (cgraph.o): Depend on gt-cgraph.h and varray.h.
2999         * gt-cgraph.h: New GC file.
3000         * cgraph.c (known_fns): New static variable.
3001         (cgraph_node): Add the decl into varray.
3002
3003 2003-03-08  Hans-Peter Nilsson  <hp@bitrange.com>
3004
3005         * config/mmix/mmix.md ("*movcc_expanded"): Add missing alternatives.
3006
3007 2003-03-08  Richard Earnshaw  <rearnsha@arm.com>
3008
3009         * arm.c (fpa_rhs_operand, fpa_add_operand, const_double_rtx_ok_for_fpa)
3010         (neg_const_double_ok_for_fpa, output_mov_long_double_fpa_from_arm)
3011         (output_mov_long_double_arm_from_fpa, output_mov_double_fpa_from_arm)
3012         (output_mov_double_arm_from_fpa): Renamed to use fpa instead of fpu.
3013         All callers changed.
3014         * arm.md, arm.h, arm-protos.h: Updated.
3015
3016         * arm.h (enum reg_class FPA_REGS): Renamed from FPU_REGS.
3017         (CLASS_MAX_NREGS, REGISTER_MOVE_COST, REG_CLASS_FROM_LETTER): Updated.
3018         * arm.c (arm_regno_class, f_register_operand): Updated.
3019
3020 2003-03-08  Hans-Peter Nilsson  <hp@bitrange.com>
3021
3022         * config/cris/cris.h: Remove EGCS references.
3023         (CPP_SPEC): Remove "-$".
3024         (INIT_CUMULATIVE_ARGS): Adjust parameter name to FNDECL.
3025
3026 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
3027
3028         * config/stormy16/stormy16.h (TARGET_CPU_CPP_BUILTINS): Use in
3029         preference to CPP_PREDEFINES.
3030
3031 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
3032
3033         * cppinit.c (cpp_finish_options): Set first_unused_line to -1.
3034
3035 2003-03-08  Kazu Hirata  <kazu@cs.umass.edu>
3036
3037         * config/h8300/h8300.md (*extzv_16_8): New.
3038
3039 2003-03-08  Jan Hubicka  <jh@suse.cz>
3040
3041         * c-decl.c: (finish_function): Update call of tree_inlinable_function_p.
3042         * cgraph.h: (cgraph_local_info): Add can_inline_once
3043         (cgraph_global_info): Add inline_once.
3044         (cgraph_node): Add previous.
3045         (cgraph_remove_node): New.
3046         * cgraphunit.c (cgraph_mark_functions_to_inline_once): New static
3047         function.
3048         (cgraph_optimize): Call it.
3049         (cgraph_finalize_function):  Set inlinable flags.
3050         (cgraph_finalize_compilation_unit):  Actually remove the reclaimed nodes.
3051         (cgraph_mark_functions_to_output):  Use new inlining heuristics flags.
3052         (cgraph_expand_function): Likewise.
3053         * cgraph.c
3054         (cgraph_node): Put nodes into doubly linked chain.
3055         (cgraph_remove_node): New function.
3056         * flags.h (flag_inline_functions_called_once): Declare.
3057         * tree-inline.c: Include cgraph.h
3058         (inlinable_functions_p): Add extra argument to bypass limits.
3059         (expand_call_inline):  Obey cgraph flag.
3060         * tree-inline.h (tree_inlinable_function_p): Update prototype.
3061
3062 2003-03-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3063
3064         * gcse.c (bypass_block, bypass_conditional_jumps): Do not create
3065         irreducible loops.
3066
3067         * loop-unroll.c (unroll_loop_runtime_iterations): Update irreducible
3068         loops info correctly.
3069
3070 2003-03-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
3071
3072         PR middle-end/7796
3073         * unroll.c (calculate_giv_inc): Handle constants being
3074         loaded with LSHIFTRT.
3075
3076 2003-03-07  David Edelsohn  <edelsohn@gnu.org>
3077
3078         * config/rs6000/rs6000.c (processor_target_table): Do not disable
3079         GP optional instructions on Power3, Power4, 620, and 630.
3080
3081 2003-03-07  Kazu Hirata  <kazu@cs.umass.edu>
3082
3083         * calls.c: Fix comment formatting.
3084         * cfgloopanal.c: Likewise.
3085         * cfgloopmanip.c: Likewise.
3086         * combine.c: Likewise.
3087         * dwarf2out.c: Likewise.
3088         * ggc-common.c: Likewise.
3089         * langhooks.c: Likewise.
3090         * loop-unroll.c: Likewise.
3091         * loop.c: Likewise.
3092         * ra-build.c: Likewise.
3093         * sbitmap.c: Likewise.
3094         * toplev.c: Likewise.
3095
3096 2003-03-07  James E Wilson  <wilson@tuliptree.org>
3097
3098         * config/sh/sh.h (HARD_REGNO_NREGS): Round up the XD register count.
3099
3100 2003-03-07  Geoffrey Keating  <geoffk@apple.com>
3101
3102         * objc/lang-specs.h (objective-c-header): Use .gch not .pch;
3103         support -no-integrated-cpp.
3104
3105         * c-pch.c (get_ident): Use c_language_kind and flag_objc rather
3106         than langhooks.name.
3107
3108 2003-03-07  Michael Matz  <matz@suse.de>
3109
3110         * df.h (enum df_ref_flags.DF_REF_STRIPPED): New.
3111         (DF_FOR_REGALLOC): New.
3112         * df.c (df_ref_record): Set DF_REF_STRIPPED.
3113         (read_modify_subreg_p): Simplify.
3114         (df_def_record_1, df_uses_record): Set DF_REF_MODE_CHANGE more often.
3115         Use DF_FOR_REGALLOC.
3116         * ra.h (struct web): New member subreg_stripped.
3117         (invalid_mode_change_regs): Declare.
3118         * ra.c (invalid_mode_change_regs): New.
3119         (init_ra): Initialize it.
3120         * ra-build.c (init_one_web_common, remember_web_was_spilled): Use it.
3121         Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
3122         (reinit_one_web, parts_to_web_1): Deal with subreg_stripped.
3123         * ra-colorize.c (colorize_one_web): Use invalid_mode_change_regs.
3124         Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
3125
3126 2003-03-07  Richard Earnshaw  <rearnsha@arm.com>
3127
3128         * arm.md (addsf3, adddf3, subsf3, subdf3, mulsf3, muldf3, negsf2)
3129         (negdf2, abssi2, abssf2, absdf2, floatsisf2, floatsidf2)
3130         (fix_truncsfsi2, fix_truncdfsi2, truncdfsf2): Moved back into main
3131         machine description file from ...
3132         * cirrus.md: ... here.
3133
3134 2003-03-06  Kazu Hirata  <kazu@cs.umass.edu>
3135
3136         * config/h8300/h8300.md (a peephole2): Don't use
3137         reg_overlap_mentioned_p.
3138
3139 2003-03-06  Geoffrey Keating  <geoffk@apple.com>
3140
3141         * c-pch.c: Include langhooks.h.
3142         (IDENT_LENGTH): New.
3143         (get_ident): New.
3144         (pch_ident): Delete.
3145         (pch_init): Use get_ident, IDENT_LENGTH.
3146         (c_common_valid_pch): Likewise.  Also, use actual language
3147         in warning message.
3148         * Makefile.in (c-pch.o): Add langhooks.h to dependencies.
3149
3150         * objc/config-lang.in (gtfiles): Add objc-act.c.  Remove duplicate
3151         c-parse.in.
3152         * objc/Make-lang.in (objc/objc-act.o): Add dependency on
3153         gt-objc-objc-act.h.
3154         (gt-objc-objc-act.h): New rule.
3155         * objc/lang-specs.h: Support PCH.
3156         * objc/objc-act.c: Include gt-objc-objc-act.h.
3157         (objc_add_static_instance): Move num_static_inst out, mark for PCH.
3158         (build_selector_reference_decl): Move idx out, mark for PCH.
3159         (build_class_reference_decl): Likewise.
3160         (build_objc_string_decl): Move *_idx out, mark for PCH.
3161         (build_tmp_function_decl): Move xxx out, mark for PCH.
3162
3163 2003-03-06  Dale Johannesen  <dalej@apple.com>
3164
3165         * config/rs6000/rs6000.c (rs6000_binds_local_p):  Consider
3166         global functions for inlining on Darwin.
3167
3168 2003-03-06  Vladimir Makarov  <vmakarov@redhat.com>
3169
3170         * haifa-sched.c (schedule_block): Don't call reorder when sorting
3171         is prohibited.
3172
3173 2003-03-06  Neil Booth  <neil@daikokuya.co.uk>
3174
3175         * Makefile.in (c-ppoutput.o): Update.
3176         * c-common.h (init_pp_output): New.
3177         (preprocess_file): Update.
3178         * c-lex.c (init_c_lex): Move mbchar initialization to cpplib.
3179         Register builtins.
3180         * c-opts.c (c_common_init): Call init_pp_output if preprocessing.
3181         Make call to cpp_read_main_file common to whether preprocessing
3182         or not.  Don't register builtins.
3183         * c-ppoutput.c: Include c-pragma.h.
3184         (setup_callbacks): Rename init_pp_output.
3185         (preprocess_file): No longer setup callbacks or call
3186         cpp_read_main_file.
3187         * cpphash.h (_cpp_init_mbchar): New.
3188         * cppinit.c (init_library): Call _cpp_init_mbchar.
3189         * cpplex.c (_cpp_init_mbchar): New.
3190
3191 2003-03-06  Roger Sayle  <roger@eyesopen.com>
3192
3193         * emit-rtl.c (gen_lowpart): When requesting the low-part of a
3194         MEM, try loading the MEM into a register and taking the low-part
3195         of that, to help CSE see the use of the MEM in its true mode.
3196
3197 2003-03-05  Tom Tromey  <tromey@redhat.com>
3198
3199         * config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH):
3200         Define.
3201
3202 2003-03-05  Nick Clifton  <nickc@cambridge.redhat.com>
3203
3204         * config/stormy16/stormy16.md ("*eqbranchsi"): Remove '+' on
3205         operand 2.
3206         ("*ineqbranchsi"): Likewise.
3207
3208 2003-03-05  Andrew Haley  <aph@cambridge.redhat.com>
3209
3210         * config/stormy16/stormy16.c (xstormy16_expand_prologue): Delete
3211         mem_fake_push_rtx.  Instead construct a SEQUENCE to show the
3212         register store followed by a stack increment.
3213
3214 2003-03-05  Chris Moller  <cmoller@redhat.com>
3215
3216         * config/stormy16/stormy16.c (REG_NEEDS_SAVE): added a term
3217         to inhibit saving CARRY_REGS.
3218
3219         * config/stormy16/stormy16.c (xs_hi_general_operand):
3220         added predicate to detect and error-out on out-of-range
3221         const_ints for movhi.
3222         * config/stormy16/stormy16.md (movhi): use
3223         xs_hi_general_operand.
3224
3225         * config/stormy16/stormy16.c (xstormy16_expand_prologue):
3226         added a check for local vbl size overflow.
3227         * config/stormy16/stormy16.c (xs_hi_nonmemory_operand):
3228         added predicate to detect and error-out on out-of-range
3229         const_ints for addhi and subhi.
3230         * config/stormy16/stormy16.md (addhi3, addchi4, addchi5,
3231         subhi3, subchi4, subchi5): used xs_hi_nonmemory_operand.
3232
3233         * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
3234         add a term to accept PRE_MODIFY addresses.
3235         * config/stormy16/stormy16.c (xstormy16_expand_move):
3236         add code to expand PRE_MODIFY addresses to an add followed
3237         by a move.
3238
3239 2003-03-06  Jason Merrill  <jason@redhat.com>
3240
3241         * tree-inline.c (inlinable_function_p): Revert earlier change
3242         pending investigation.
3243
3244 2003-03-06  Kazu Hirata  <kazu@cs.umass.edu>
3245
3246         * config/h8300/h8300.md (a new peephole2): New.
3247
3248 2003-03-06  Jan Hubicka  <jh@suse.cz>
3249
3250         * cgraph.c (cgraph_node): Do not confuse nested functions and methods.
3251
3252 2003-03-06  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3253
3254         * dwarf2out.c (size_of_die): Compute size of external reference to
3255         die correctly.
3256
3257 2003-03-06  Hans-Peter Nilsson  <hp@bitrange.com>
3258
3259         * config/mmix/mmix.md ("*movcc_expanded"): New pattern.
3260         ("movcc", "movcc_uns", "movcc_fp", "movcc_fpeq", "movcc_fun"): New
3261         expanders.
3262
3263 2003-03-05  Roger Sayle  <roger@eyesopen.com>
3264
3265         * expr.h (lang_expand_expr): Delete obsolete prototype.
3266
3267 2003-03-05  Kazu Hirata  <kazu@cs.umass.edu>
3268
3269         * emit-rtl.c (gen_highpart_mode): Fix a comment typo.
3270
3271 2003-03-05  Kazu Hirata  <kazu@cs.umass.edu>
3272
3273         * config/h8300/h8300.md (a peephole2): Generalize to
3274         accept a memory operand.
3275
3276 2003-03-05  Olivier Hainque <hainque@act-europe.fr>
3277
3278         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '+'.
3279         * config/alpha/alpha.c (print_operand, case '+'): New.
3280         * config/alpha/alpha.md (call_osf_1_noreturn): Document and use.
3281         (call_value_osf_1_noreturn): Likewise.
3282
3283 2003-03-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3284
3285         * stmt.c (fixup_gotos): Change meaning of DONT_JUMP_IN.
3286         (expand_end_bindings): Likewise.
3287
3288 2003-03-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3289
3290         * pa.md (return_external_pic): Add !TARGET_PA_20 to constraint.
3291         (epilogue): Don't generate return_external_pic when emitting PA 2.0
3292         code.
3293
3294 2003-03-05  Aldy Hernandez  <aldyh@redhat.com>
3295
3296         * doc/tm.texi: Document TARGET_DWARF_REGISTER_SPAN.
3297
3298         * config/rs6000/rs6000.c (rs6000_dwarf_register_span): New.
3299
3300         * hooks.c (hook_rtx_rtx_null): New.
3301
3302         * hooks.h (hook_rtx_rtx_null): Protoize.
3303
3304         * target-def.h (TARGET_DWARF_REGISTER_SPAN): New macro.
3305         (TARGET_INITIALIZER): Add TARGET_DWARF_REGISTER_SPAN.
3306
3307         * target.h (struct gcc_target): Add dwarf_register_span.
3308
3309         * dwarf2out.c (multiple_reg_loc_descriptor): New.
3310         (one_reg_loc_descriptor): New.
3311         (reg_loc_descriptor): Add support for values that span more than
3312         one register.
3313
3314 2003-03-05  Jan Hubicka  <jh@suse.cz>
3315
3316         * Makefile.in (calls.o, toplev.o alias.o): Depend on cgraph.h
3317         * alias.c:  Include cgraph.h
3318         (mark_constant_function): Use cgraph_rtl_info.
3319         * calls.c:  Include cgraph.h
3320         (flags_from_decl_or_type): Use cgraph_rtl_info to find pure and const
3321         calls.
3322         (expand_call): Use cgraph_rtl_info to set preferred stack boundary.
3323         * cgraph.c (cgraph_rtl_info): New function.
3324         * cgraph.h (cgraph_rtl_info): Declare
3325         (cgraph_rtl_info): Likewise.
3326         * function.h (struct function): Add recursive_call_emit.
3327         * toplev.c: Include cgraph.h.
3328         (rest_of_compilation): Set preferred_incoming_stack_boundary.
3329
3330 2003-03-05  Kazu Hirata  <kazu@cs.umass.edu>
3331
3332         * config/h8300/h8300.c (output_simode_bld): Clear the
3333         destination first if possible.
3334         * config/h8300/h8300.md (extzv_1_r_h8300hs): Add an
3335         alternative.
3336         (extzv_1_r_inv_h8300hs): Likewise.
3337
3338 2003-03-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3339
3340         * basic-block.h (EDGE_IRREDUCIBLE_LOOP, EDGE_ALL_FLAGS): New.
3341         * cfg.c (dump_edge_info): Add EDGE_IRREDUCIBLE_LOOP flag dump.
3342         * cfgloop.c (flow_loop_free): Made global.
3343         (establish_preds): New static function.
3344         (flow_loop_tree_node_add): Handle subloops of added loop correctly.
3345         (get_loop_exit_edges): New.
3346         (verify_loop_structure): Verify EDGE_IRREDUCIBLE_LOOP flags.
3347         * cfgloop.h (flow_loop_free, get_loop_exit_edges, unloop): Declare.
3348         * cfgloopanal.c (mark_irreducible_loops): Mark edges in irreducible
3349         loops.
3350         * cfgloopmanip.c (loop_delete_branch_edge): Allow to test for
3351         removability of an edge.
3352         (fix_irreducible_loops): New static function.
3353         (find_path, remove_path): Add ability to remove enclosing loops.
3354         (unloop): New.
3355         (copy_bbs, duplicate_loop_to_header_edge): Use EDGE_IRREDUCIBLE_LOOP
3356         flags.
3357         * cfgrtl.c (verify_flow_info): Handle EDGE_IRREDUCIBLE_LOOP flag.
3358         * loop-unroll.c (peel_loops_completely): Do not duplicate loop if
3359         not neccessary.
3360         (decide_peel_completely, peel_loops_completely): Allow complete peeling
3361         of non-duplicable once rolling loops.
3362         * loop-unswitch.c (unswitch_loop): Update EDGE_IRREDUCIBLE_LOOP flags.
3363
3364 2003-03-05  J"orn Rennecke <joern.rennecke@superh.com>
3365
3366         * sh.h (OVERRIDE_OPTIONS): For TARGET_SHMEDIA, the minimum value
3367         for align_jumps is 4.
3368
3369         (SECONDARY_INPUT_RELOAD_CLASS): If reloading a PLUS into FPUL,
3370         use GENERAL_REGS.
3371
3372 2003-03-05  Stephane Carrez  <stcarrez@nerim.fr>
3373
3374         * config/m68hc11/m68hc11.h (PAD_VARARGS_DOWN): Define and return
3375         according to va_arg type.
3376         (EXPAND_BUILTIN_VA_ARG): Remove.
3377         * config/m68hc11/m68hc11.c (m68hc11_va_arg): Remove.
3378         * config/m68hc11/m68hc11-protos.h (m68hc11_va_arg): Remove.
3379
3380 2003-03-05  David Edelsohn  <edelsohn@gnu.org>
3381
3382         * config/rs6000/rs6000.c (rs6000_variable_issue): Remove unnecessary
3383         else clauses.
3384
3385 2003-03-05  Michael Matz  <matz@suse.de>
3386
3387         * i386/i386.c (ix86_save_reg): Also test
3388         current_function_uses_const_pool.
3389
3390 2003-03-05  Michael Matz  <matz@suse.de>
3391
3392         * unwind.h: Add the GPL exception.
3393         * Makefile.in (USER_H): Add unwind.h.
3394
3395 2003-03-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
3396
3397         PR c/9799
3398         * c-typeck.c (push_init_level): Add sanity check.
3399
3400 2003-03-05  Jan Hubicka  <jh@suse.cz>
3401
3402         * toplev.c (rest_of_compilation):  Deffer RTL compilation only when
3403         RTL inlining is done.
3404
3405         * cgraphunit.c (cgraph_mark_local_functions): New local function.
3406         (cgraph_optimize): Mark local functions.
3407         * i386-protos.h (init_cumulative_args): Update prototype.
3408         * i386.c (init_cumulative_args): Use register passing convention for
3409         local functions.
3410
3411         * cgraph.c (cgraph_global_info_ready): New global variable
3412         (cgraph_local_info, cgraph_global_info): New functions.
3413         * cgraph.h (struct cgraph_local_info, cgraph_global_info): New
3414         structures.
3415         (cgraph_local_info, cgraph_global_info, cgraph_global_info_ready):
3416         Declare.
3417         * cgraphunit.c (cgraph_finalize_function): Set inline_many.
3418         (cgraph_mark_functions_to_output): Use inline_many.
3419         (cgraph_expand_function): Free DECL_SAVED_TREE uncondtionally.
3420         (cgraph_expand_functions): Expand inline functions last.
3421         (cgraph_optimize): Do not emit uneeded functions.
3422
3423 2003-03-04  Steve Ellcey  <sje@cup.hp.com>
3424
3425         * expr.c (convert_modes): Check for legal hard register.
3426
3427 2003-03-04  Tom Tromey  <tromey@redhat.com>
3428
3429         * doc/sourcebuild.texi (Front End Directory): Document tags.
3430         * configure: Rebuilt.
3431         * configure.in (target_list): Added tags.
3432         * Makefile.in (TAGS): Depend on lang.clean.  Include subdirectory
3433         TAGS files by reference.
3434         * objc/Make-lang.in (objc.tags): New target.
3435
3436 2003-03-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3437
3438         * gcov-io.h (gcov_save_position, gcov_reserve_length, gcov_resync,
3439         gcov_skip, gcov_skip_string, gcov_write_unsigned, gcov_write_counter,
3440         gcov_write_string, gcov_read_unsigned, gcov_read_counter,
3441         gcov_read_string, gcov_write_length): Modified to enable reading/
3442         writing of whole .da file just once.
3443         (da_file_open, da_file_close, da_file_eof, da_file_error,
3444         da_file_position, da_file_seek, da_file_write, da_file_read): New
3445         functions.
3446         (actual_da_file, actual_da_file_position, actual_da_file_length,
3447         actual_da_file_buffer, actual_da_file_buffer_size): New static
3448         functions.
3449         * libgcov.c (gcov_exit): Modified to read/write the whole .da file at
3450         just once.
3451
3452
3453 2003-03-04  Andreas Schwab  <schwab@suse.de>
3454
3455         * config/m68k/m68k.c (m68k_output_function_prologue): Fix CFA
3456         offset without frame pointer.
3457
3458 2003-03-04  Steve Ellcey  <sje@cup.hp.com>
3459
3460         * expr.c (expand_expr): Call promote_mode to set unsignedp.
3461
3462 2003-03-04  Daniel Jacobowitz  <drow@mvista.com>
3463
3464         * configure.in: Don't always define TARGET_SYSTEM_ROOT.
3465         * configure: Regenerated.
3466         * gcc.c: Check whether TARGET_SYSTEM_ROOT is defined.
3467
3468 2003-03-04  Andreas Jaeger  <aj@suse.de>
3469
3470         * configure.in: Check for <memcheck.h>.
3471         * configure: Regenerated.
3472
3473         * config.in: Define HAVE_MEMCHECK_H.
3474
3475         * ggc-common.c: Use <memcheck.h> if available instead of
3476         <valgrind.h>.
3477         * ggc-page.c: Likewise.
3478         * cppfiles.c: Likewise.
3479
3480 2003-03-04  Kazu Hirata  <kazu@cs.umass.edu>
3481
3482         * config/h8300/h8300.md (*extzv_8_8): Fix cc and lengths.
3483
3484 2003-03-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
3485
3486         PR c/9262
3487         * c-typeck.c (do_case): Attach the first case label to the SWITCH_BODY.
3488         (c_finish_case): Rechain the next statements to the SWITCH_STMT.
3489
3490 2003-03-04  Jan Hubicka  <jh@suse.cz>
3491
3492         * doc/invoke.texi:  Document that unit-at-a-time is enabled for -O3
3493         * toplev.c (parse_options_and_default_flags): Enable flag_unit_at_a_time
3494         for -O3.
3495
3496 2003-03-04  Nathanael Nerode  <neroden@gcc.gnu.org>
3497
3498         * configure.in: Delete three unused variables.  Move a variable
3499         definition closer to its use.  Simplify use_collect2 logic.  Start to
3500         organize.  Simplify tests for in-tree gas and ld.
3501         * configure: Regenerate.
3502
3503 2003-03-04  Neil Booth  <neil@daikokuya.co.uk>
3504
3505         * Makefile.in: Update.
3506         * c-common.c (flag_no_line_commands, flag_no_output,
3507         flag_dump_macros, flag_dump_includes): New.
3508         * c-common.h (flag_no_line_commands, flag_no_output,
3509         flag_dump_macros, flag_dump_includes, preprocess_file): New.
3510         (init_c_lex): Update prototype.
3511         * c-lex.c (init_c_lex): Update prototype; move some code to
3512         c_common_init.
3513         * c-opts.c (preprocess_file): Subsume into c_common_init.
3514         (c_common_decode_option): Update flags.
3515         (c_common_init): Move code from preprocess_file and init_c_lex.
3516         (sanitize_cpp_opts): Update.
3517         * c-ppoutput.c: New, cppmain.c almost verbatim.
3518         * cpphash.h (struct printer): Remove.
3519         (struct cpp_reader): Remove print.
3520         * cpplib.h (dump_none, dump_only, dump_names, dump_definitions,
3521         cpp_preprocess_file): Remove.
3522         (struct cpp_options): Remove no_output, no_line_commands, dump_macros
3523         and dump_includes.
3524         * cppmain.c: Remove.
3525         * doc/passes.texi: Update.
3526
3527 2003-03-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3528
3529         * function.c (STACK_ALIGNMENT_NEEDED): New macro.  Default to 1.
3530         (assign_stack_local_1): Perform overall stack alignment only when
3531         STACK_ALIGNMENT_NEEDED is non-zero.
3532         * doc/tm.texi (STACK_ALIGNMENT_NEEDED): Document.
3533
3534         * pa.c (compute_frame_size): Rename fsize to size.  Account for
3535         alignment to a word boundary before general register save block.  Only
3536         account for double-word alignment before floating point register save
3537         block if one or more are saved.  Don't allocate space for %r3 when
3538         frame pointer is needed.
3539         (hppa_expand_prologue): Include alignment to word boundary in local
3540         frame size.
3541         * pa.h (STARTING_FRAME_OFFSET): Define to 8 on both 32 and 64-bit ports.
3542         (STACK_ALIGNMENT_NEEDED): Define.
3543
3544 2003-03-04  Kevin Buettner  <kevinb@redhat.com>
3545
3546         * dwarf2out.c (rtl_for_decl_location): Don't return NULL_RTX for
3547         global register variables.
3548
3549 2003-03-04  Alexandre Oliva  <aoliva@redhat.com>
3550
3551         * reload.c (reload_adjust_reg_for_mode): New function.
3552         (subst_reloads): Call it.
3553         (operands_match_p): Adjust registers using HARD_REGNO_NREGS.
3554         * reload.h (reload_adjust_reg_for_mode): Declare.
3555         * reload1.c (emit_input_reload_insns, emit_output_reload_insns):
3556         Call it.
3557
3558 2003-03-03  James E Wilson  <wilson@tuliptree.org>
3559
3560         * optabs.c (add_equal_note): Delete SUBREG_REG use.
3561         Fixes PR c/7872.
3562
3563 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
3564
3565         * config/h8300/h8300.md (*ixorsi3_ashift_16): New.
3566         (*ixorsi3_lshiftrt_16): New.
3567         (*iorsi3_ashift_16): Remove.
3568
3569 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
3570
3571         * config/h8300/h8300.md (*extzv_8_8): Use '?' to simplify the
3572         pattern.
3573
3574 2003-03-03  Geoffrey Keating  <geoffk@apple.com>
3575
3576         * doc/install.texi (Specific): Update entry for powerpc-darwin.
3577
3578 2003-03-03  Richard Henderson  <rth@redhat.com>
3579
3580         * config/ia64/ia64.h (HAVE_AS_LTOFFX_LDXMOV_RELOCS): Default to 0.
3581
3582 2003-03-03  David Edelsohn  <edelsohn@gnu.org>
3583
3584         * config/rs6000/rs6000.c (rs6000_multipass_dfa_lookahead): Delete.
3585         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Delete.
3586         (rs6000_variable_issue): Do not return negative value.
3587         (rs6000_issue_rate): Uniformly set issue rate to 1 for first
3588         scheduling pass.
3589
3590 2003-03-03  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3591
3592         * dwarf2out.c (dwarf2out_finish): Swap order of break_out_includes and
3593         prune_unused_types calls.
3594
3595 2003-03-03  Jason Merrill  <jason@redhat.com>
3596
3597         * tree-inline.c (find_builtin_longjmp_call): Save and restore
3598         lineno and input_filename.
3599         (find_alloca_call): Likewise.
3600         (inlinable_function_p): Run the langhook earlier.
3601
3602         * calls.c (compute_argument_addresses): Give the new MEMs a
3603         minimum alignment of PARM_BOUNDARY.
3604
3605 2003-03-03  J"orn Rennecke <joern.rennecke@superh.com>
3606
3607         * config/sh/sh.h (EXTRA_SPECS): Add subtarget_asm_relax_spec and
3608         subtarget_asm_isa_spec.
3609         (SUBTARGET_ASM_RELAX_SPEC, SUBTARGET_ASM_ISA_SPEC): Define.
3610         (ASM_SPEC): Define as SH_ASM_SPEC.
3611         (SH_ASM_SPEC): New; take the role of ASM_SPEC, but safe from svr4.h.
3612         Use subtarget_asm_relax_spec and subtarget_asm_isa_spec.
3613         * config/sh/elf.h (ASM_SPEC): Use SH_ASM_SPEC.
3614         (SUBTARGET_ASM_ISA_SPEC): Undef / define.
3615
3616         * sh.h (OVERRIDE_OPTIONS): Set default values for align_loops
3617         and align_jumps if not set.
3618         Force align_jumps to be at least 2.
3619         When relaxing, force align_functions to be at least the maximum of
3620         align_loops, align_jumps and 4.
3621         * sh.c (find_barrier, barrier_align): Honour align_jumps_log.
3622         (sh_loop_align): Honour align_loops_log.
3623
3624         * sh.md (length attribute): Use prev_nonnote_insn instead of PREV_INSN
3625         to check for indirect_jump_scratch.
3626         (indirect_jump_scratch): Add second set.
3627         * sh.c (output_far_jump): Use prev_nonnote_insn instead of PREV_INSN
3628         when looking for indirect_jump_scratch.
3629         Extract scratch register taking new structure of indirect_jump_scratch
3630         into account.
3631         (gen_block_redirect): Set INSN_SCOPE for indirect_jump_scratch.
3632
3633 2003-03-03  Jan Hubicka  <jh@suse.cz>
3634
3635         * calls.c (rtx_for_function_call): Take the address as an argument
3636         (expand_call): Do not modify the expression.
3637
3638         * toplev.c (rest_of_compilation):  Avoid cfg_cleanup calls when not
3639         optimizing.
3640
3641 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
3642
3643         * config/h8300/h8300.md (*ixorsi3_zext_hi): Restrict to
3644         TARGET_H8300H and TARGET_H8300S.
3645
3646 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
3647
3648         * config/h8300/h8300.md (a peephole2): New.
3649
3650 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
3651
3652         * config/h8300/h8300.md (*extzv_8_8): Use shorter code when
3653         operands[0] and operands[1] are different.
3654
3655 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
3656
3657         * reload1.c (reload_cse_move2add): Remove variable success.
3658
3659 2003-03-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3660
3661         * ggc-common.c (ggc_rlimit_bound): Cast RLIM_INFINITY to avoid
3662         warnings.
3663
3664 2003-03-02  Richard Henderson  <rth@redhat.com>
3665
3666         * configure.in (HAVE_AS_LTOFFX_LDXMOV_RELOCS): New ia64 test.
3667         * config.in, configure: Rebuild.
3668         * config/ia64/ia64.c (ia64_ld_address_bypass_p): Accept lo_sum.
3669         * config/ia64/ia64.md (load_symptr): Use high/lo_sum for the
3670         paired ldtoffx and ldxmov annotations.
3671         (load_symptr_internal1): Remove.
3672         (load_symptr_high, load_symptr_low): New.
3673
3674 2003-03-02  Neil Booth  <neil@daikokuya.co.uk>
3675
3676         * c-incpath.c (add_path): Fix sysp assignment.
3677
3678 2003-03-02  Kurt Garloff  <garloff@suse.de>
3679
3680         * params.def: Introduce parameter max-inline-insns-rtl for
3681         a separate limit for the RTL inliner.
3682         * params.h: Likewise.
3683         * integrate.c (function_cannot_inline_p): Use it.
3684         * toplev.c (decode_f_option): Set multiple parameters
3685         controlling inlining with -finline-limit.
3686         * params.def: Fix orthographic and typographic errors.
3687         * doc/invoke.texi: Document parameters controlling inlining
3688         and the way -finline-limit sets multiple of them.
3689
3690         * tree.h (struct tree_decl): Introduce inlined_function_flag,
3691         recording whether the function became eligible for inlining
3692         by a compiler flag rather than the declaration.
3693         Provide DID_INLINE_FUNC macro to access it.
3694         * c-decl.c (grokdeclarator): Set DID_INLINE_FUNC.
3695         * cp/decl.c (grokfndecl): Likewise.
3696         * toplev.c (rest_of_compilation): Likewise.
3697         * cp/optimize (maybe_clone_body): Copy DID_INLINE_FUNC.
3698         * print-tree.c (print_node): Report it.
3699         * params.def: Introduce new max-inline-insns-auto limit.
3700         * params.h: Likewise.
3701         * tree-inline.c (inlinable_function_p): Apply it to functions
3702         with DID_INLINE_FUNC set.
3703         * toplev.c (decode_f_option): Initialize it from -finline-limit
3704         value.
3705         * doc/invoke.texi: Document new parameter.
3706
3707 2003-03-02  Geoffrey Keating  <geoffk@apple.com>
3708
3709         * fix-header.c (read_scan_file): Don't reference simplify_path.
3710
3711 2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
3712
3713         * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't enable
3714         min/max instructions by default as may result in reload errors.
3715
3716 2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
3717
3718         * config/m68hc11/m68hc11.md ("mulqi3"): Allow address register to
3719         avoid reload problems; define split for it.
3720
3721 2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
3722
3723         * config/m68hc11/m68hc11.c (m68hc11_shift_operator): New function.
3724         * config/m68hc11/m68hc11-protos.h (m68hc11_shift_operator): Declare.
3725         * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register.
3726         * config/m68hc11/m68hc11.md ("rotrhi3", "rotlhi3"): New patterns for
3727         rotatert and rotate.
3728         ("rotrhi3_const", "rotlhi3_const"): Rename of old 'rotrhi3' insns.
3729         ("*rotrhi3", "*rotlhi3"): New insn pattern for non-const rotatert.
3730         ("*rotrhi3_addr"): New split for shift insns on address register.
3731         ("*lshrhi3", "*ashrhi3", "*ashlhi3_2"): Use new split.
3732         * config/m68hc11/larith.asm (___rotlhi3): New asm function.
3733         (___rotrhi3): Likewise.
3734         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build them.
3735
3736 2003-03-02  Neil Booth  <neil@daikokuya.co.uk>
3737
3738         * toplev.c (aux_base_name): Moved from toplev.h.
3739         (filename): Constify.
3740         (lang_dependent_init): Don't duplicate name.
3741         (process_options): Set aux_base_name here, not...
3742         (do_compile): ...here.  Change protoype.
3743         (toplev_main): Move some code from do_compile.
3744         * toplev.h: Remove aux_base_name.
3745
3746 2003-03-02  Kazu Hirata  <kazu@cs.umass.edu>
3747
3748         * config/h8300/h8300-protos.h: Add a prototype for
3749         iorxor_operator.
3750         * config/h8300/h8300.c (print_operand): Handle 'c'.
3751         (iorxor_operator): New.
3752         * config/h8300/h8300.h (PREDICATE_CODES): Add iorxor_operator.
3753         * config/h8300/h8300.md (*iorhi3_zext): Remove.
3754         (*iorsi3_zexthi): Likewise.
3755         (*iorsi3_zextsi): Likewise.
3756         (*xorhi3_zextqi): Likewise.
3757         (*xorsi3_zexthi): Likewise.
3758         (*xorsi3_zextsi): Likewise.
3759         (*ixorhi3_zext): New.
3760         (*ixorsi3_zext_qi): Likewise.
3761         (*ixorsi3_zext_hi): Likewise.
3762
3763 2003-03-02  Neil Booth  <neil@daikokuya.co.uk>
3764
3765         * c-incpath.c (remove_component_p, simplify_path): Move back to
3766         cppfiles.c.
3767         (remove_duplicates): Use cpp_simplify_path.
3768         * c-incpath.h (simplify_path): Remove.
3769         * c-lex.c: Don't include c-incpath.h.
3770         (init_c_lex): Remove simplify_path.
3771         * cppfiles.c (remove_component_p, cpp_simplify_path): Restore.
3772         (find_or_create_entry, validate_pch): Revert.
3773
3774 2003-03-02  Ashif Harji  <asharji@uwaterloo.ca>
3775
3776         * gcc.c (default_compilers): Add -no-integrated-cpp flag to invoke
3777           an external cpp during compilation.
3778         (option_map): Likewise.
3779         * objc/lang-specs.h (default_compilers): Similarly.
3780         * doc/invoke.texi: Document -no-integrated-cpp flag.
3781
3782 2003-03-02  Kazu Hirata  <kazu@cs.umass.edu>
3783
3784         * config/h8300/h8300.md (zero_extendqisi2): Change to an
3785         expander.
3786         (*zero_extendqisi2_h8300): New.
3787         (*zero_extendqisi2_h8300hs): New.
3788         (two splitters): New.
3789
3790 2003-03-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3791
3792         * fp-bit.h (float_to_usi): Fix condition wrapping prototype.
3793
3794 2003-03-01  Kazu Hirata  <kazu@cs.umass.edu>
3795
3796         * config/h8300/h8300.md (a peephole2): Remove dead code.
3797
3798 2003-03-01  Roger Sayle  <roger@eyesopen.com>
3799
3800         PR c++/9367
3801         * builtin-types.def (DEF_FUNCTION_TYPE_VAR_3): New macro.
3802         (BT_FN_INT_CONST_STRING_VALIST_ARG,
3803         BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
3804         BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
3805         BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
3806         BT_FN_INT_STRING_CONST_STRING_VAR,
3807         BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
3808         BT_FN_INT_STRING_SIZE_CONST_STRING_VAR): New built-in types.
3809         * builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2,
3810         ATTR_NONNULL_3): Also include the nothrow attribute.
3811         (sprintf, scanf, sscanf, vprintf, vsprintf, snprintf,
3812         vsnprintf, vscanf, vsscanf): Don't define attributes here.
3813         * builtins.def (putchar, puts): Make full C89 built-ins.
3814         (snprintf, sprintf, scanf, sscanf, vprintf, vscanf,
3815         vsscanf, vsnprintf, vsprintf): New built-ins.
3816         * c-common.c (c_common_nodes_and_builtins): Handle new macro
3817         DEF_FUNCTION_TYPE_VAR_3.
3818
3819         * doc/extend.texi: Document these new built-in functions.
3820
3821 2003-03-01  Kazu Hirata  <kazu@cs.umass.edu>
3822
3823         * config/h8300/h8300.md (a peephole2): New.
3824
3825 2003-03-01  Richard Earnshaw  <rearnsha@arm.com>
3826
3827         * predict.c (estimate_bb_frequencies): Correctly set
3828         real_values_initialized after initialization.
3829
3830 2003-03-01  Neil Booth  <neil@daikokuya.co.uk>
3831
3832         * Makefile.in (C_AND_OBJC_OBJS, c-incpath.o, c-lex.o, LIBCPP_OBJS,
3833         cppinit.o, cppdefault.o, fix-header): Update.
3834         * c-incpath.c: New file.
3835         * c-incpath.h: New file.
3836         * c-lex.c: Include c-incpath.h.
3837         (init_c_lex): Register path simplifier.
3838         * c-opts.c: Include cppdefault.h and c-incpath.h.
3839         (TARGET_SYSTEM_ROOT, verbose, iprefix, sysroot, std_inc,
3840         std_cxx_inc, quote_chain_split, add_prefixed_path): New.
3841         (COMMAND_LINE_OPTIONS): Add more options from cpplib.
3842         (missing_arg, c_common_decode_option): Handle them.
3843         (c_common_post_options): Register include chains.
3844         (print_help): Update.
3845         * cppdefault.h (struct default include): Update.
3846         Move some macros to ...
3847         * cppdefault.c: ... here.
3848         (cpp_include_defaults): Add extra field add_sysroot.
3849         * cppfiles.c (include_file, search_from, find_or_create_entry,
3850         cpp_included, find_include_file, remap_filename): Update for
3851         renaming of search_path to cpp_path, and of the chain headers.
3852         (remove_component_p, _cpp_simplify_pathname): Move to c-incpath.c.
3853         * cpphash.h (struct search_path): Move to cpplib.h.
3854         (struct cpp_buffer, struct cpp_reader): Update.
3855         (_cpp_simplify_pathname): Remove.
3856         * cppinit.c: Don't include prefix.h and cppdefault.h.
3857         (INO_T_EQ, INO_T_COPY, path_include, append_include_chain,
3858         remove_dup_dir, remove_dup_nonsys_dirs, remove_dup_dirs,
3859         init_standard_includes, BRACKET, SYSTEM, AFTER, no_dir,
3860         no_pth, cpp_handle_options): Remove.
3861         (struct pending_option): Remove chain members.
3862         (cpp_destroy, cpp_read_main_file, COMMAND_LINE_OPTIONS,
3863         cpp_handle_option): Update.
3864         * cpplib.h (struct cpp_path, cpp_set_include_chains): New.
3865         (struct cpp_options): Remove quote_include, bracket_include,
3866         include_prefix, include_prefix_len, verbose, ignore_srcdir,
3867         no_standard_includes, no_standard_cplusplus_includes.
3868         (struct cpp_callbacks): Add simplify_path.
3869         (cpp_handle_options): Remove.
3870         * fix-header.c: Include c-incpath.h.
3871         (read_scan_file): Update to use c-incpath functionality.
3872         * doc/passes.texi: Update.
3873
3874 2003-03-01  Kazu Hirata  <kazu@cs.umass.edu>
3875
3876         * config/h8300/h8300.c (bit_operand): Accept MEM only if it
3877         satisfies EXTRA_CONSTRAINT 'U'.
3878
3879 2003-03-01  Kazu Hirata  <kazu@cs.umass.edu>
3880
3881         * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Take a scratch
3882         register.
3883         (*tst_extzv_memqi_1_n): Change to a splitter.
3884         (a peephole2): Update.
3885
3886 2003-03-01  Richard Earnshaw  <rearnsha@arm.com>
3887
3888         * predict.c (estimate_bb_frequencies): Initialize the sreal
3889         constants once per compilation.
3890
3891 2003-02-28  Richard Henderson  <rth@redhat.com>
3892
3893         * toplev.c (flag_eliminate_unused_debug_types): Enable by default.
3894
3895 2003-02-28  scott snyder  <snyder@fnal.gov>
3896
3897         * flags.h: Add flag_eliminate_unused_debug_types.
3898         * toplev.c: Add flag_eliminate_unused_debug_types.
3899         (f_options): Add -feliminate-unused-debug-types.
3900         * dwarf2out.c (struct file_table): Add emitted member.
3901         (splice_child_die): Fix the parent pointer for the child being
3902         spliced.
3903         (lookup_filename): Maintain file_table.emitted array.  Don't
3904         output .file directive here.
3905         (maybe_emit_file): (new)
3906         (init_file_table): Set up file_table.emitted.
3907         (dwarf2out_source_line): Use maybe_emit_file.
3908         (dwarf2out_start_source_file): Use maybe_emit_file.
3909         (dwarf2out_init): Use maybe_emit_file.
3910         (prune_unused_types_walk_attribs): (new)
3911         (prune_unused_types_mark): (new)
3912         (prune_unused_types_walk): (new)
3913         (prune_unused_types_prune): (new)
3914         (prune_unused_types): (new)
3915         (dwarf2out_finish): Call prune_unused_types if
3916         flag_eliminate_unused_debug_types is set.
3917         * doc/invoke.texi (Option Summary): Add
3918         -feliminate-unused-debug-types.
3919         (Debugging Options): Likewise.
3920
3921 2003-02-28  Geoffrey Keating  <geoffk@apple.com>
3922
3923         * doc/invoke.texi: Change .pch to .gch.
3924         * cppfiles.c (open_file_pch): Likewise.
3925         * gcc.c (default_compilers): Likewise.
3926
3927 2003-02-28  Aldy Hernandez  <aldyh@redhat.com>
3928
3929         * floatlib.c: Remove.
3930
3931 2003-02-28  Jason Merrill  <jason@redhat.com>
3932
3933         * stor-layout.c (variable_size): Leave a "minus 1" outside the
3934         SAVE_EXPR.
3935
3936 2003-02-28  David Edelsohn  <edelsohn@gnu.org>
3937
3938         * config/rs6000/power4.md: Add compare bypass.
3939
3940 2003-02-28  Jason Thorpe  <thorpej@wasabisystems.com>
3941
3942         * config/netbsd.h: Update copyright years.
3943         (NETBSD_CPP_SPEC): Define _REENTRANT and _PTHREADS if
3944         -pthread is specified on the command line.
3945
3946 2003-02-28  Dale Johannesen <dalej@apple.com>
3947
3948         * loop.c (struct movable): Add insert_temp, shrink savemode.
3949         (scan_loop): Accept invariants that require copying; mark as
3950         insert_temp.
3951         (combine_movables): Don't combine insert_temp movables.
3952         (move_movables): Insert copies for insert_temp movables.
3953         Don't record the info based on regno for insert_temp's.
3954
3955 2003-02-28  Joel Sherrill <joel@OARcorp.com>
3956
3957         PR 9638/other
3958         * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Ensure the
3959         this constant defaults to 1.
3960
3961 2003-02-28  Bob Wilson  <bob.wilson@acm.org>
3962
3963         * config.gcc (xtensa-*-linux*): Add t-slibgcc-elf-ver to tmake_file.
3964
3965 2003-02-28  Richard Earnshaw  <rearnsha@arm.com>
3966
3967         * arm.md (mulhisi3, mulhisi3addsi, mulhidi3adddi): Enable for any
3968         ARMv5e processor, not just for XScale.  Instructions are predicable.
3969         (mulhisi3tb, mulhisi3bt, mulhisi3tt): New patterns for ARMv5e.
3970
3971 2003-02-28  Nick Clifton  <nickc@redhat.com>
3972
3973         * config/arm/arm.c (note_invalid_constants): Change parameter type
3974         from bool to int.
3975
3976 2003-02-28  Kazu Hirata  <kazu@cs.umass.edu>
3977
3978         * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Accept the
3979         test of bit 7.
3980         (*tst_extzv_memqi_1_n): Likewise.
3981         (a peephole2): New.
3982
3983 2003-02-28  Richard Sandiford  <rsandifo@redhat.com>
3984
3985         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Wrap in
3986         #ifndef __mips16.
3987
3988 2003-02-28  Jan Hubicka  <jh@suse.cz>
3989
3990         * combine.c (gen_lowpart_for_combine): Update handling of
3991         subregs_of_mode
3992         * flow.c (life_analysis, mark_used_regs): Likewise.
3993         * regclass.c (subregs_of_mode): Turn into single bitmap.
3994         (cannot_change-mode_set_regs, invalid_mode_change_p): Update
3995         dealing with subregs_of_mode
3996         * regs.h (subregs_of_mode): Update prototype.
3997
3998 2003-02-28  Josef Zlomek  <zlomekj@suse.cz>
3999
4000         * emit-rtl.c (set_reg_attrs_for_parm): New function.
4001         * rtl.h (set_reg_attrs_for_parm): New exported function.
4002         * function.c (assign_parms): Use set_reg_attrs_for_parm instead of
4003         set_reg_attrs_from_mem.
4004
4005 2003-02-27  Roger Sayle  <roger@eyesopen.com>
4006             Zack Weinberg <zack@codesourcery.com>
4007
4008         * gcc.c (do_spec_1):  Treat %U like %u for unique associations.
4009
4010 2003-02-27  Kazu Hirata  <kazu@cs.umass.edu>
4011
4012         * reload1.c (sext_for_mode): Remove.
4013         (reload_cse_move2add): Use trunc_int_for_mode instead of
4014         sext_for_mode.
4015         (move2add_note_store): Likewise.
4016         Reset register information if we see a set in non-integer
4017         mode.
4018
4019 2003-02-27  David Edelsohn  <edelsohn@gnu.org>
4020
4021         * config/rs6000/aix43.h (ASM_SPEC): Only emit -mppc64 if no -mcpu
4022         option.
4023         (ASM_CPU_SPEC): Use -m620 for Power3, Power4, 620, 630.
4024         * config/rs6000/aix51.h: Same.
4025         * config/rs6000/aix52.h: Same.
4026         * config/rs6000/power4.md: Additional VMX bypasses.
4027
4028 2003-02-27   Geert Bosch <bosch@gnat.com>
4029
4030         * toplev.c (print_version): Add indentation for GGC heuristics and
4031         output after printing version information.
4032
4033 2003-02-27  James E Wilson  <wilson@tuliptree.org>
4034
4035         * combine.c (simplify_comparison): Require integral mode when
4036         permuting SUBREG with AND.
4037
4038 2003-02-27  Steve Ellcey  <sje@cup.hp.com>
4039
4040         * config/ia64/hpux.h (STARTFILE_PREFIX_SPEC): Remove.
4041
4042 2003-02-27  Nick Clifton  <nickc@redhat.com>
4043
4044         * config/arm/arm.md (extendsfdf2): Add pattern accidentally
4045         deleted when cirrus instructions were added.
4046
4047 2003-02-27  Jason Thorpe  <thorpej@wasabisystems.com>
4048
4049         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Enable
4050         POSIX thread support by default.
4051
4052 2003-02-27  Roger Sayle  <roger@eyesopen.com>
4053
4054         * config/i386/cygwin.h: Don't include any other files directly.
4055         * config/i386/mingw32.h: Don't include cygwin.h directly.
4056         * config.gcc (cygwin, mingw32, uwin): Instead make these files
4057         explicit in the tm_files variable.
4058
4059 2003-02-27  Alan Modra  <amodra@bigpond.net.au>
4060
4061         * config/rs6000/rs6000.md: Add TI constant splitter.
4062
4063 2003-02-26  Alexandre Oliva  <aoliva@redhat.com>
4064
4065         * builtins.c (purge_builtin_constant_p): Handle subreg of
4066         constant_p_rtx too.
4067
4068         * function.c (assign_stack_local_1): Truncate constant added to
4069         frame_pointer_rtx or virtual_stack_vars_rtx for Pmode.
4070
4071 2003-02-26  David Edelsohn  <edelsohn@gnu.org>
4072
4073         * config.gcc: Add power4 to PowerPC with_cpu list.
4074
4075 2003-02-26  Jan Hubicka  <jh@suse.cz>
4076
4077         * objc-act.c: (mark_referenced_methods): Fix compilation problem.
4078
4079 2003-02-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4080
4081         * gcov-dump.c (print_prefix): Fix signedness warning.
4082         * gcov-io.h (struct counter_section, struct counter_section_data): New.
4083         (struct function_info): n_arc_counts field removed, n_counter_sections,
4084         counter_sections fields added.
4085         (struct gcov_info): arc_counts, n_arc_counts fields removed,
4086         n_counter_sections, counter_sections fields added.
4087         * libgcov.c (gcov_exit, __gcov_flush): Add support for multiple
4088         profile sections.
4089         * profile.h (MAX_COUNTER_SECTIONS): New.
4090         (struct section_info): New.
4091         (struct profile_info): count_instrumented_edges,
4092         count_edges_instrumented_now fields removed, n_sections, section_info
4093         fields added.
4094         (find_counters_section): Declare.
4095         * profile.c (struct function_list): count_edges field removed,
4096         n_counter_sections, counter_sections fields added.
4097         (set_purpose, label_for_tag, build_counter_section_fields,
4098         build_counter_section_value, build_counter_section_data_fields,
4099         build_counter_section_data_value, build_function_info_fields,
4100         build_function_info_value, build_gcov_info_fields,
4101         build_gcov_info_value): New static functions.
4102         (find_counters_section): New function.
4103         (instrument_edges, get_exec_counts, compute_branch_probabilities,
4104         branch_prob, create_profiler): Modified to support multiple profile
4105         sections.
4106
4107 2003-02-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4108
4109         * pa.c (compute_frame_size): Don't assume PREFERRED_STACK_BOUNDARY
4110         is 8 * STACK_BOUNDARY.
4111         * pa.h (PREFERRED_STACK_BOUNDARY): Change to 128 on 64-bit port.
4112
4113 2003-02-26  Michael Matz  <matz@suse.de>
4114
4115         * ra-colorize.c (merge_moves): Fix list handling.
4116
4117 2003-02-26  Nick Clifton  <nickc@redhat.com>
4118
4119         * config/arm/arm.c (is_load_address): Rename to...
4120         (arm_memory_load_p) ... this and make it check for SUBREGs and
4121         constant loads that will be converted into loads from the
4122         minipool.
4123         (is_cirrus_insn): Rename to ...
4124         (arm_cirrus_insn_p): ... this, for consistency.  Replace test
4125         of CIRRUS_NO with CIRRUS_NOT.
4126         (cirrus_reorg): Use renamed functions.
4127         (note_invalid_constants): Change from a void function to bool.
4128         Add an extra parameter, saying whether the fixups should be
4129         pushed.  Return true if fixups are needed.
4130         (arm_reorg): Use renamed functions.  Use INSN_P.  Replace test
4131         of CIRRUS_NO with CIRRUS_NOT.
4132         * config/arm/arm.h (FLOAT_WORDS_BIG_ENDIAN): Mention that
4133         other floating point co-processors can also affect this.
4134         * config/arm/arm.md ("type" attribute): Add mav_farith and
4135         mav_dmult.  Replace references to "cirrus_type" attribute with
4136         "type".
4137         * config/arm/cirrus.md ("cirrus_fpu" attribute): Delete.
4138         ("cirrus_type" attribute): Delete - use "type" instead.
4139         ("cirrus" attribute): Replace 'no' with 'not' and 'yes' with
4140         'normal'.
4141
4142 2003-02-25  Jan Hubicka  <jh@suse.cz>
4143
4144         * objc-act.c: Include cgraph.h
4145         (mark_referenced_methods): New function.
4146         (objc_init): Call it.
4147         * objc-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Set.
4148
4149         * c-decl.c (finish_function): Honor can_defer_p even in unit-at-a-time
4150         mode.
4151
4152         * optabs.c (expand_fix): Do not widen the input operand.
4153
4154         * expr.c (emit_group_store):  Fix crash when converting single
4155         register into complex register.
4156
4157         * Makefile.in (jump.o, regclass.o, alias.o): Add dependency on timevar.h
4158         * alias.c: Include timevar.h
4159         (init_alias_analysis):  Set timevar
4160         * jump.c: Include timevar.h
4161         (rebuild_jump_labels):  Set timevar
4162         * regcalss.c: Include timevar.h
4163         (reg_scan):  Set timevar
4164         * timevar.def (TV_ALIAS_ANALYSIS, TV_REG_SCAN, TV_REBUILD_JUMP): New
4165
4166 2003-02-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4167
4168         * cse.c (count_reg_usage): Fix handling of REG_EQUAL notes.
4169
4170         * Makefile.in (loop-unroll.o): New.
4171         * cfgloop.h (UAP_PEEL, UAP_UNROLL, UAP_UNROLL_ALL): New.
4172         (unroll_and_peel_loops): Declare.
4173         * alias.c (init_alias_analysis): Flag_unroll_loops renamed to
4174         flag_old_unroll_loops.
4175         * loop.c (loop_invariant_p): Ditto.
4176         * unroll.c (unroll_loop): Flag_unroll_all_loops renamed to
4177         flag_old_unroll_all_loops.
4178         * flags.h (flag_unroll_loops): Renamed to flag_old_unroll_loops.
4179         (flag_unroll_all_loops): Renamed to flag_old_unroll_all_loops.
4180         * params.def (PARAM_MAX_UNROLLED_INSNS): Default value changed.
4181         (PARAM_MAX_AVERAGE_UNROLLED_INSNS, PARAM_MAX_UNROLL_TIMES,
4182         PARAM_MAX_PEELED_INSNS, PARAM_MAX_PEEL_TIMES,
4183         PARAM_MAX_COMPLETELY_PEELED_INSNS, PARAM_MAX_COMPLETELY_PEEL_TIMES,
4184         PARAM_MAX_ONCE_PEELED_INSNS): New.
4185         * toplev.h (flag_old_unroll_loops, flag_old_unroll_all_loops): New.
4186         (flag_unroll_loops, flag_unroll_all_loops): Used for new unroller
4187         instead of old one.
4188         (flag_peel_loops): New.
4189         (lang_independent_options): The new flags added.
4190         (rest_of_compilation): Call new unroller.
4191         (process_options): Setup flags for coexistence of old and new unroller.
4192         * doc/invoke.texi: Document new options.
4193         * doc/passes.texi: Document new unroller pass.
4194
4195 2003-02-26  David Billinghurst <David.Billinghurst@riotinto.com>
4196
4197         * fixinc/fixincl.x: Regenerate
4198
4199 2003-02-26  Josef Zlomek  <zlomekj@suse.cz>
4200
4201         * function.c (assign_parms): Set reg_attrs for parameters passed in
4202         registers.
4203
4204 2003-02-26  Alan Modra  <amodra@bigpond.net.au>
4205
4206         PR target/9681
4207         * tlink.c (scan_linker_output): Drop leading '.' from symbol names.
4208
4209 2003-02-25  David Edelsohn  <edelsohn@gnu.org>
4210
4211         * config/rs6000/xcoff.h (ASM_FILE_START): Do not emit machine
4212         pseudo-op.
4213
4214 2003-02-25  Roger Sayle  <roger@eyesopen.com>
4215
4216         * combine.c (combine_simplify_rtx, simplfy_comparison):  Use CC0_P.
4217         * cse.c (invalidate_skipped_set):  Likewise.
4218         * integrate.c (subst_constants):  Likewise.
4219         * jump.c (reversed_comparison_code_parts):  Likewise.
4220         * loop.c (canonicalize_condition):  Likewise.
4221         * simplify-rtx.c (simplify_relational_operation):  Likewise.
4222
4223 2003-02-25  Roger Sayle  <roger@eyesopen.com>
4224
4225         * builtins.def (DEF_LIB_ALWAYS_BUILTIN, DEF_UNUSED_BUILTIN): Delete.
4226         (abs, labs, fabs, fabsf, fabsl, abort, exit, _exit, _Exit):  Use
4227         the appropriate macro to define built-in function.
4228         (fmod,fmodf,fmodl): New built-in functions.
4229
4230         * doc/extend.texi (fmod,fmodf,fmodl): Document new built-ins.
4231
4232 2003-02-25  Richard Henderson  <rth@redhat.com>
4233
4234         * config/i386/i386.c (function_arg): Pass variable sized
4235         structures correctly on the stack.
4236
4237 2003-02-25  Kazu Hirata  <kazu@cs.umass.edu>
4238
4239         * reload1.c (reload_cse_move2add): Use STRICT_LOW_PART if PLUS
4240         does not reduce the cost of SET.
4241
4242 2003-02-25  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4243
4244         PR target/9732
4245         * config/rs6000/rs6000.c (first_reg_to_save): Handle
4246         PIC_OFFSET_TABLE_REGNUM for -fPIC too.
4247         (rs6000_emit_prologue): Likewise.
4248         (rs6000_emit_epilogue): Likewise.
4249         * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Make
4250         PIC_OFFSET_TABLE_REGNUM a fixed register for -fPIC.
4251
4252 2003-02-25  Richard Henderson  <rth@redhat.com>
4253
4254         * real.c (real_to_integer2): Force overflow result only for
4255         unsigned overflow.
4256
4257 2003-02-25  Kazu Hirata  <kazu@cs.umass.edu>
4258
4259         * gcse.c (cprop_jump): Revert the 2003-02-23 change.
4260
4261 2003-02-25  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
4262             Richard Henderson  <rth@redhat.com>
4263
4264         * sched-ebb.c (add_deps_for_risky_insns): Add the dependence when
4265         there is no similar load.
4266
4267 2003-02-25  Vladimir Makarov  <vmakarov@redhat.com>
4268             Richard Henderson  <rth@redhat.com>
4269
4270         * sched-int.h (INSN_TRAP_CLASS, WORST_CLASS): Move them from
4271         sched-rgn.c.
4272         (add_forward_dependence): New function prototype.
4273
4274         * sched-rgn.c (INSN_TRAP_CLASS, WORST_CLASS): Move them to
4275         sched-init.h.
4276         (CONST_BASED_ADDRESS_P, may_trap_exp, haifa_classify_insn): Move
4277         them to haifa-sched.c.
4278
4279         * haifa-sched.c (CONST_BASED_ADDRESS_P, may_trap_exp,
4280         haifa_classify_insn): Move them from sched-rgn.c.
4281
4282         * sched-deps.c (add_dependence): Return flag of creating a new
4283         entry.
4284         (add_forward_dependence): New function.
4285         (compute_forward_dependences): Use the function.
4286
4287         * sched-ebb.c (earliest_block_with_similiar_load): New function.
4288         (add_deps_for_risky_insns): New function.
4289         (schedule_ebb): Call the function.
4290
4291 2003-02-20  Aldy Hernandez  <aldyh@redhat.com>
4292
4293         * doc/tm.texi: Document Rename TARGET_VECTOR_TYPES_COMPATIBLE to
4294         TARGET_VECTOR_OPAQUE_P.  Document accordingly.
4295
4296         * testsuite/gcc.dg/20030218-1.c: Check that initialization of
4297         opaque types fail.
4298
4299         * c-typeck.c (comptypes): Change call to vector_types_compatible
4300         to vector_opaque_p.
4301         (convert_for_assignment): Call vector_opaque_p instead of
4302         vector_types_compatible.
4303         (really_start_incremental_init): Disallow initialization of opaque
4304         types.
4305
4306         * target-def.h: Remove TARGET_VECTOR_TYPES_COMPATIBLE.
4307         Define TARGET_VECTOR_OPAQUE_P.
4308         (TARGET_INITIALIZER): Same.
4309
4310         * target.h (struct gcc_target): Remove vector_types_compatible.
4311         Add vector_opaque_p.
4312
4313         * config/rs6000/rs6000.c (rs6000_spe_vector_types_compatible):
4314         Remove.
4315         (is_ev64_opaque_type): Check for TARGET_SPE and make sure type is
4316         a vector type.  Change return type to bool.
4317         (TARGET_VECTOR_TYPES_COMPATIBLE): Remove.
4318         (TARGET_VECTOR_OPAQUE_P): Define.
4319
4320         * cp/parser.c (cp_parser_init_declarator): Call vector_opaque_p
4321         target hook.
4322         Include target.h.
4323         (cp_parser_init_declarator): Fix typo in function comments.
4324
4325 2003-02-25  Jan Hubicka  <jh@suse.cz>
4326
4327         * Makefile.in (lcm.o):  Add dependency on function.h
4328         * lcm.c (function.h): Include.
4329         * i386.c (machine_function, ix86_stack_locals,
4330         * ix86_save_varrargs_registers) : Move to
4331         ...
4332         * i386.h (machine_function, ix86_stack_locals,
4333         ix86_save_varrargs_registers): ... here; add optimize_mode_switching
4334         (ix86_optimize_mode_switching): New.
4335         * i386.md (fix patterns): Set ix86_optimize_mode_switching
4336
4337 2003-02-25  Nick Clifton  <nickc@redhat.com>
4338
4339         * config/d30v/d30v.c (d30v_init_cumulative_args): Fix typo.  Name
4340         of fourth arg is 'fndecl' not 'indirect'.  Update comment
4341         describing the function's parameters.
4342
4343 2003-02-24  Jan Hubicka  <jh@suse.cz>
4344
4345         * combine.c (simplify_shift_const):  Fix previous patch.
4346
4347 2003-02-24  Jeff Law  <law@redhat.com>
4348
4349         * i386.md (testdi_1_rex64): Discourage reload from using the %eax
4350         alternative.
4351         (testsi_1, testhi_1, testqi_1): Likewise.
4352
4353 2003-02-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4354
4355         * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Rename
4356         __EXTERN_PREFIX to __PRAGMA_EXTERN_PREFIX.
4357         * doc/extend.texi (Tru64 Pragmas): Reflect this.
4358
4359         * fixinc/inclhack.def (alpha___extern_prefix): Indicate #pragma
4360         extern_prefix support for Tru64 UNIX V5 <sys/stat.h>.
4361         * fixinc/fixincl.x: Regenerate.
4362         * fixinc/tests/base/sys/stat.h [ALPHA___EXTERN_PREFIX_CHECK]: New
4363         testcase.
4364         Fixes PR c/5059, c/6126, other/9671.
4365
4366 2003-02-24  Roger Sayle  <roger@eyesopen.com>
4367
4368         * gcc.c (do_spec_1) ['{']:  Handle pending argument upon return
4369         from handle_braces in "%{...}".
4370
4371 2003-02-24  Kaz Kojima  <kkojima@gcc.gnu.org>
4372
4373         * config/sh/sh.c (TARGET_HAVE_TLS): Conditionally define.
4374         (prepare_move_operands): Handle TLS operands.
4375         (tls_symbolic_operand): New.
4376         (nonpic_symbol_mentioned_p): Handle TLS UNSPECs.
4377         (legitimize_pic_address): Do nothing for the TLS symbol.
4378         (sh_encode_section_info): Handle TLS case.
4379         (sh_strip_name_encoding): Drop TLS encoding.
4380         * config/sh/sh-protos.h (tls_symbolic_operand): Add prototype.
4381         * config/sh/sh.h (SH_TLS_ENCODING): Define.
4382         (TLS_SYMNAME_P, STRIP_TLS_ENCODING): Likewise.
4383         (ASM_OUTPUT_LABELREF): Drop TLS encoding.
4384         (OUTPUT_ADDR_CONST_EXTRA): Handle TLS UNSPECs.
4385         * config/sh/sh.md: Define TLS UNSPEC constants.
4386         (type): Add tls_load.
4387         ("tls_global_dynamic", "tls_local_dynamic"): New insns.
4388         ("sym2DTPOFF", "symDTPOFF2reg", "sym2GOTTPOFF"): New expanders.
4389         ("tls_initial_exec"): New insn.
4390         ("sym2TPOFF", "symTPOFF2reg"): New expanders.
4391         ("load_gbr"): New insn.
4392
4393         * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
4394         * configure: Regenerate.
4395
4396 2003-02-24  Alan Modra  <amodra@bigpond.net.au>
4397
4398         PR 9297, PR 9722
4399         * calls.c (store_one_arg): Revert 1999-02-16 change.  Revert
4400         2000-12-17 change.  Pass EXPAND_STACK_PARM to expand_expr.
4401         * expr.h (enum expand_modifier): Define EXPAND_STACK_PARM.
4402         (enum block_op_methods): Reorder for better store_expr optimization.
4403         * expr.c (store_expr): Test bit 1 of "want_value" for call param
4404         stores, test bit 0 for original want_value meaning.  Pass
4405         BLOCK_OP_CALL_PARM to emit_block_move when bit 1 set.  Adjust
4406         recursive calls, and calls to expand_param.
4407         (expand_expr): Handle EXPAND_STACK_PARM modifier.  When cse
4408         expected, set target to 0 rather than to subtarget.  Formatting.
4409
4410 2003-02-23  Kazu Hirata  <kazu@cs.umass.edu>
4411
4412         * gcse.c (cprop_jump): Use the REG_EQUAL note if available.
4413
4414 2003-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4415
4416         * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Document
4417         new default behavior.
4418         * ggc-common.c: Include sys/resource.h.
4419         (ggc_rlimit_bound): New function.
4420         (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Update
4421         defaults to account for rlimits.
4422
4423 2003-02-22  Richard Henderson  <rth@redhat.com>
4424
4425         * i386.c, i386.h (TUNEMASK): Rename from CPUMASK.
4426
4427 2003-02-22  Kelley Cook <kelley@dwhoops.info>
4428
4429         * i386.h, i386.c, i386.md (ix86_tune): Rename from ix86_cpu.
4430         (ix86_tune_string): Rename from ix86_cpu_string.
4431
4432 2003-02-22  Kelley Cook <kelleycook@comcast.net>
4433
4434         * config/i386/i386.c: Replace "mcpu" with "mtune".
4435         * config/i386/i386.h (TARGET_OPTIONS): Likewise.
4436         (CC1_CPU_SPEC): Likewise. New warning for "-mcpu".
4437         * doc/invoke.texi (i386 and x86-64 Options): Replace "mcpu"
4438         with "mtune".  Note that "mcpu" is a deprecated synonym for "mtune".
4439
4440 2003-02-23  Andreas Schwab  <schwab@suse.de>
4441
4442         * config.gcc: Delete references to m68k/t-linux and
4443         m68k/t-linux-aout.
4444         * config/m68k/t-linux, config/m68k/t-linux-aout: Removed.
4445
4446 2003-02-22  Jan Hubicka  <jh@suse.cz>
4447
4448         * toplev.c (rest_of_compilation):  Apply fotgotten hunk
4449         of track scheduling patch.
4450
4451 2003-02-22  Jan Hubicka  <jh@suse.cz>
4452
4453         * config/linux.h (TARGET_HAS_F_SETLKW): Define.
4454         * config/alpha/linux.h (TARGET_HAS_F_SETLKW): Likewise
4455
4456 2003-02-22  Jan Hubicka  <jh@suse.cz>
4457
4458         * c-decl.c (c_expand_body_1): Fix.
4459
4460 2003-02-22  Jan Hubicka  <jh@suse.cz>
4461
4462         * expmed.c (expand_divmod): Undo sign extensions for unsigned operands
4463
4464         * cfgcleanup.c (try_forward_edges):  Don't check loop structures
4465         when not optimizing.
4466         (cleanup_cfg): Do not iterate trought delete_trivially_dead_insns
4467         when not expensive.
4468         * toplev.c (rest_of_compilation):  Duplicate loop headers only when
4469         optimizing;  Delete trivially dead insns early; fix optimize check.
4470
4471         * Makefile.in (c-decl.o, c-objc-common.o, cgraph.o, tree-inline.o): Add
4472         dependency on cgraph.h
4473         * c-decl.c: Include cgraph.h
4474         (finish_function): Update call of tree_inlinable_function_p.
4475         * c-objc-common.c: Include cgraph.h
4476         * cgraph.h: New file.
4477         * cgraphunit.c: New file.
4478         * cgraph.c (cgraph_node, cgraph_edge): Move into cgraph.h
4479         (cgraph_nodes, cgraph_n_nodes): Globalize.
4480         (cgraph_finalize_function, cgraph_finalize_compilation_unit
4481         cgraph_create_edges, cgraph_optimize, cgraph_mark_needed_node):
4482         Move into cgraphunit.c
4483         * tree-inline.c: Include cgraph.h
4484         * tree-inline.c: Include cgraph.h
4485
4486 2003-02-22  Josef Zlomek  <zlomekj@suse.cz>
4487
4488         * config/i386/i386.md: Use gen_lowpart instead of gen_rtx_REG
4489         for copying a register.
4490
4491 2003-02-22  Steven Bosscher  <s.bosscher@student.tudelft.nl>
4492
4493         PR other/3782
4494         * toplev.c (process_options): If flag_detailed_statistics is set,
4495         then set time_report as well.
4496
4497         PR c/8828
4498         * jump.c (never_reached_warning): Don't fall through BARRRIER
4499         insns.  Update comments to reflect what the function really does.
4500
4501 2003-02-21  Roger Sayle  <roger@eyesopen.com>
4502
4503         * fold-const.c (omit_one_operand): No longer static.
4504         * tree.h (omit_one_operand): Prototype here.
4505         (div_and_round_double): Keep fold-const.c prototypes together.
4506         * builtins.c (builtin_mathfn_code): Handle binary built-in
4507         funtions, such as "pow" and "atan2".
4508         (fold_builtin): Optimize both pow(x,0.0) and pow(1.0,y) to 1.0.
4509         Simplify optimizations using "type" the builtin's return type.
4510
4511 2003-02-22  Hans-Peter Nilsson  <hp@axis.com>
4512
4513         * config/cris/cris.c (cris_rtx_costs): Blockify dangling else.
4514         Fix functionalization typo.
4515
4516         * regmove.c (optimize_reg_copy_1): Do not replace a hard register
4517         in an asm.
4518
4519 2003-02-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4520
4521         * Makefile.in (ggc-common.o): Depend on $(PARAMS_H)
4522         * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Update
4523         documentation.
4524         * ggc-common.c: Include params.h
4525         (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
4526         init_ggc_heuristics): New functions.
4527         * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
4528         init_ggc_heuristics): Prototype.
4529         * toplev.c (print_version):  Output GGC heuristics.
4530         (parse_options_and_default_flags): Call init_ggc_heuristics.
4531
4532 2003-02-22  Jan Hubicka  <jh@suse.cz>
4533
4534         * i386.c (def_builtin):  Special case 64bit builtins.
4535         (MASK_SSE164, MASK_SSE264): New constants.
4536         (builtin_description): Add 64bit builtins.
4537         (ix86_init_mmx_sse_builtins): Likewise.
4538         * i386.h (enum ix86_builtins): Likewise.
4539         * i386.md (cvtss2siq, cvttss2siq, cvtsd2siq, cvttsd2siq, cvtsi2sdq,
4540         sse2_movq2dq_rex64, sse2_movsq2q_rex64): New.
4541         (sse2_movq2dq, sse2_movsq2q): Disable for 64bit.
4542         * mmintrin.h (_mm_cvtsi64x_si64, _mm_set_pi64x, _mm_cvtsi64_si64x): New.
4543         * xmmintrin.h (_mm_cvtss_si64x, _mm_cvttss_si64x, _mm_cvtsi64x_ss,
4544         _mm_set_epi64x, _mm_set1_epi64x, _mm_cvtsd_si64x, _mm_cvttsd_si64x,
4545         _mm_cvtsi64x_sd, _mm_cvtsi64x_si128, _mm_cvtsi128_si64x): New.
4546
4547 2003-02-22  Jan Hubicka  <jh@suse.cz>
4548
4549         * i386.c (builtin_description): Add __builtin_ia32_paddq and
4550         __builtin_ia32_psubq. Fix __builtin_ia32_paddq128
4551          and __builtin_ia32_psubq128.
4552         * i386.h (IX86_BUILTIN_PADDQ, IX86_BUILTIN_PSUBQ): New.
4553         * i386.md (addv*, mmx_ior*, mmx_xoe*, mmx_and*): Add missing '%'.
4554         (mmx_adddi3, mmx_subdi3): New.
4555         * mmintrin.h (_mm_add_si64, _mm_sub_si64): New.
4556         * xmmintrin.h (_mm_movepi64_pi64): New.
4557         (_mm_add_epi64, _mm_sub_epi64): fix.
4558         (_mm_mul_pu16): Rename to...
4559         (_mm_mul_su32): ... this one.
4560
4561         * builtins.c (expand_builtin_expect):  Do not predict
4562         flag_guess_branch_prob is not set.
4563         * c-semantics.c (expand_stmt): Likewise.
4564         * predict.c (predict_insn): Likewise.
4565         * stmt.c (expand_continue_loop): Likewise.
4566         * toplev.c (rest_of_compilation): Do not call
4567         note_prediction_to_br_prob and note_prediction_to_br_prob
4568         when not optimizing.
4569
4570 2003-02-21  Jan Hubicka  <jh@suse.cz>
4571
4572         * cfgrtl.c (commit_edge_insertions):  Call
4573         find_many_sub_basic_block only when some code has been emitted.
4574         (commit_edge_insertions_watch_calls): Bring into sync with
4575         commit_edge_insertions
4576
4577 2003-02-21  J"orn Rennecke <joern.rennecke@superh.com>
4578
4579         * sh.h (OVERRIDE_OPTIONS): Fix code that clears 'e' register class.
4580
4581         * sh.md (binary_sf_op): Use extra constant operand instead of
4582         negating constant operand 4.
4583         * sh.c (sh_expand_binop_v2sf): Supply it.
4584
4585 2003-02-21  Zack Weinberg  <zack@codesourcery.com>
4586
4587         * cpphash.h (struct lexer_state): Add directive_wants_padding.
4588         * cpplib.c (_cpp_handle_directive): Set directive_wants_padding
4589         for directives of type INCL.
4590         (glue_header_name, parse_include): Use get_token_no_padding.
4591         * cppmacro.c (replace_args): If directive_wants_padding,
4592         provide padding tokens.
4593
4594 2003-02-21  Kazu Hirata  <kazu@cs.umass.edu>
4595
4596         * config/h8300/h8300.md (a peephole2): New.
4597
4598 2003-02-21  Jan Hubicka  <jh@suse.cz>
4599
4600         * cfgrtl.c (commit_one_edge_insertion): Only mark BB for splitting.
4601         (commit_edge_insertions): Call find_many_sub_basic_blocks
4602
4603         * reg-stack.c (convert_regs): Cleax aux for blocks.
4604
4605 2003-02-21  Jan Hubicka  <jh@suse.cz>
4606
4607         * toplev.c (parse_options_and_default_flags): Undo accidental commit.
4608
4609 2003-02-21  Glen Nakamura  <glen@imodulo.com>
4610
4611         PR optimization/8613
4612         * builtins.c (expand_builtin): Emit postincrements before expanding
4613         builtin functions.
4614
4615 2003-02-21  Ben Elliston  <bje@redhat.com>
4616
4617         PR other/5634
4618         * doc/install.texi (Configuration): Explain using $HOME instead of
4619         the ~ metacharacter when referring to home directories.
4620
4621 2003-02-20  Alexandre Oliva  <aoliva@redhat.com>
4622
4623         * configure.in (TARGET_SYSTEM_ROOT): Set default to
4624         ${exec_prefix}/${target_alias}/sys-root.  Match explicit
4625         '${exec_prefix}' (in addition to the expansion thereof) as
4626         relocatable.
4627         * configure: Rebuilt.
4628
4629 2003-02-20  Kazu Hirata  <kazu@cs.umass.edu>
4630
4631         * config/h8300/h8300.md (addhi3_incdec): Change the name to
4632         *addhi3_incdec.
4633         (addsi3_incdec): Change the name to *addsi3_incdec.
4634
4635 2003-02-20  Roger Sayle  <roger@eyesopen.com>
4636
4637         * explow.c (force_reg): Avoid useless REG_EQUAL notes.
4638
4639 2003-02-20  Toon Moene  <toon@moene.indiv.nluug.nl>
4640
4641         PR fortran/9038
4642         * c-opts.c (sanitize_cpp_opts): Add Fortran front end
4643         options to be ignored.
4644         (c_common_decode_option): Ignore them when preprocessing.
4645
4646 2003-02-20  Jan Hubicka  <jh@suse.cz>
4647
4648         * toplev.c (flag_sched2_use_superblocks, flag_sched2_use_traces): New
4649         global variables.
4650         (lang_independent_options):  Add -fsched2-use-superblocks
4651         -fsced2-use-traces.
4652         (rest_of_compilation): Deal with it.
4653         * invoke.texi (-fsched2-use-traces, fsched2-use-superblocks):  Declare.
4654         * flags.h (flag_sched2_use_superblocks, flag_sched2_use_traces):
4655         Declare.
4656         * rtl.h (reg_to_stack):  Update prototype.
4657         * reg-stack.c (reg_to_stack): Return when something has changed;
4658         update liveness when executing after superblock scheduling.
4659
4660         * combine.c (simplify_shift_const):  Simplify few special cases
4661         into constants.
4662
4663 2003-02-20  David Edelsohn  <edelsohn@gnu.org>
4664
4665         * config/rs6000/rs6000.md: (attr "type"): Add fast_compare.
4666         (add.,subf.,neg.): Change attribute to fast_compare.
4667         All DFA descriptions updated.
4668
4669 2003-02-20  Nathan Sidwell  <nathan@codesourcery.com>
4670
4671         Change base class access representation.
4672         * tree.h (TREE_VIA_PUBLIC, TREE_VIA_PROTECTED,
4673         TREE_VIA_PRIVATE): Remove.
4674         (BINFO_BASEACCESSES): New binfo elt.
4675         (BINFO_BASEACCESS): New accessor.
4676         (BINFO_ELTS): Increase.
4677         (TI_ACCESS_PUBLIC, TI_ACCESS_PROTECTED, TI_ACCESS_PRIVATE): New.
4678         (access_public_node, access_protected_node,
4679         access_private_node): New global nodes.
4680         * tree.c (build_common_tree_nodes_2): Initialize access nodes.
4681         * dbxout.c (dbxout_type): Adjust.
4682         * dwarf2out.c (gen_inheritance_die): Add access parameter.
4683         (gen_member_die): Adjust.
4684         * dwarfout.c (output_inheritance_die): ARG is array of two trees.
4685         (output_type): Adjust.
4686         * tree-dump.c (dequeue_and_dump): Adjust binfo dumping.
4687
4688         Change base class access representation. Share virtual base
4689         binfos.
4690         * cp/call.c (build_special_member_call): Remove binfo_for_vbase
4691         call.
4692         * cp/class.c (build_base_path): Likewise.
4693         (build_primary_vtable): Adjust BINFO_NEW_VTABLE_MARKED use.
4694         (build_secondary_vtable): Remove FOR_TYPE arg. Adjust.
4695         (make_new_vtable): Adjust.
4696         (force_canonical_binfo_r): Delete.
4697         (force_canonical_binfo): Delete.
4698         (mark_primary_virtual_base): Delete.
4699         (dfs_unshared_virtual_bases): Delete.
4700         (mark_primary_bases): Adjust.
4701         (maybe_warn_about_overly_private_class): Adjust.
4702         (dfs_base_derived_from): Delete.
4703         (base_derived_from): Follow the inheritance chain.
4704         (struct find_final_overrider_data): Add vpath member.
4705         (dfs_find_final_overrider): Adjust.
4706         (dfs_find_final_overrider_q, dfs_find_final_overrider_post): New.
4707         (find_final_overrider): Adjust.
4708         (update_vtable_entry_for_fn): Adjust.
4709         (modify_all_vtables): Adjust.
4710         (walk_subobject_offsets): Adjust.
4711         (layout_nonempty_base_or_field): Adjust.
4712         (layout_empty_base): Remove last parameter. Adjust.
4713         (build_base_field): Adjust.
4714         (build_base_fields): Adjust.
4715         (propagate_binfo_offsets): Remove last parameter. Adjust.
4716         (dfs_set_offset_for_unshared_vbases): Delete.
4717         (layout_virtual_bases): Adjust.
4718         (finish_struct_1): Adjust.
4719         (init_class_processing): Don't init access nodes.
4720         (dfs_get_primary_binfo): Delete.
4721         (get_primary_binfo): Adjust.
4722         (dump_class_hierarchy_r): Remove most derived arg, add IGO
4723         parameter. Adjust.
4724         (dump_class_hierarchy): Adjust.
4725         (finish_vtbls): Adjust.
4726         (get_original_base): Delete.
4727         (build_vtt_inits): Adjust.
4728         (dfs_build_secondary_vptr_vtt_inits): Adjust.
4729         (dfs_ctor_vtable_bases_queue_p): Adjust.
4730         (build_ctor_vtbl_group): Adjust.
4731         (dfs_accumulate_vtbl_inits): Adjust.
4732         (build_vtbl_initializer): Adjust.
4733         (build_vbase_offset_vtbl_entries): Adjust.
4734         (add_vcall_offset_vtbl_entries_1): Adjust.
4735         * cp/cp-tree.h (CPTI_ACCESS_*): Remove.
4736         (access_*_node): Remove.
4737         (CANONICAL_BINFO): Delete.
4738         (BINFO_UNSHARED_MARKED): Remove.
4739         (BINFO_MARKED): Set LANG_FLAG_0 directly.
4740         (SET_BINFO_MARKED, CLEAR_BINFO_MARKED): Delete.
4741         (BINFO_VTABLE_PATH_MARKED): Set LANG_FLAG_3 directly.
4742         (SET_BINFO_VTABLE_PATH_MARKED, CLEAR_BINFO_VTABLE_PATH_MARKED):
4743         Delete.
4744         (BINFO_NEW_VTABLE_MARKED): Set LANG_FLAG_4 directly.
4745         (SET_BINFO_NEW_VTABLE_MARKED): Adjust.
4746         (SET_BINFO_PUSHDECLS_MARKED, CLEAR_BINFO_PUSHDECLS_MARKED):
4747         Delete.
4748         (BINFO_DEPENDENT_BASE_P): New.
4749         (dfs_walk, dfs_walk_real): Queue function takes derived binfo and
4750         index.
4751         (markedp, unmarkedp): Adjust.
4752         (dfs_unmarked_real_bases_queue_p, dfs_marked_real_bases_queue_p,
4753         dfs_skip_vbases, marked_vtable_pathp, unmarked_vtable_pathp,
4754         find_vbase_instance, binfo_for_vbase): Delete.
4755         (copied_binfo, original_binfo): Declare.
4756         (finish_base_specifier): Add virtual_p arg.
4757         (unshare_base_binfos): Delete.
4758         (copy_base_binfos): Declare.
4759         (reverse_path): Delete.
4760         * cp/decl.c (xref_basetypes): Access and virtuality passed
4761         differently. Don't copy direct base binfos here. Call
4762         copy_base_binfos.
4763         * cp/init.c (dfs_initialize_vtbl_ptrs): Adjust.
4764         (initialize_vtbl_ptrs): Adjust.
4765         (expand_member_init): Adjust.
4766         * cp/parser.c (cp_parser_base_specifier): Adjust.
4767         * cp/pt.c (instantiate_class_template): Adjust.
4768         (get_template_base_recursive): Adjust.
4769         * cp/rtti.c (get_pseudo_ti_init): Adjust.
4770         (get_pseudo_ti_desc): Adjust.
4771         * cp/tree.c (unshare_base_binfos): Rename to ...
4772         (copy_base_binfos): ... here, reimplement.
4773         (make_binfo): Set BINFO_DEPENDENT_BASE_P.
4774         (reverse_path): Remove.
4775         * cp/typeck.c (get_delta_difference): Adjust error messages.
4776         * cp/semantics.c (finish_base_specifier): Add virtual arg, adjust.
4777         * cp/search.c (lookup_base_r): Adjust.
4778         (dynamic_cast_base_recurse): Adjust.
4779         (canonical_binfo): Remove.
4780         (dfs_canonical_queue): Remove.
4781         (dfs_assert_unmarked_p): Remove.
4782         (assert_canonical_unmarked): Remove.
4783         (shared_marked_p, shared_unmarked_p): Remove.
4784         (BINFO_ACCESS, SET_BINFO_ACCESS): Use TREE_PUBLIC & TREE_PRIVATE.
4785         (dfs_access_in_type): Adjust.
4786         (access_in_type): Adjust.
4787         (dfs_accessible_queue_p): Adjust.
4788         (dfs_accessible_p): Adjust.
4789         (is_subobject_of_p_1, is_subobject_of_p): Remove.
4790         (struct lookup_field_info): Remove from_dep_base_p field.
4791         (lookup_field_queue_p): Adjust, test BINFO_DEPENDENT_BASE_P.
4792         (lookup_field_r): Remove dependent base code.
4793         (lookup_member): Likewise.
4794         (dfs_walk, dfs_walk_real): Add access arg to queue fn.
4795         (dfs_unmarked_real_bases_queue_p): Remove.
4796         (dfs_marked_real_bases_queue_p): Remove.
4797         (dfs_skip_vbases): Remove.
4798         (dfs_get_pure_virtuals): Adjust.
4799         (markedp, unmarkedp): Adjust.
4800         (marked_vtable_pathp, unmarked_vtable_pathp): Remove.
4801         (marked_pushdecls_p, unmarked_pushdecls_p): Adjust.
4802         (dfs_unmark): Adjust.
4803         (dfs_get_vbase_types):Remove.
4804         (dfs_build_inheritance_graph_order): Remove.
4805         (get_vbase_types): Remove
4806         (dfs_find_vbase_instance): Remove.
4807         (find_vbase_instance): Remove.
4808         (dfs_debug_unmarkedp): Adjust.
4809         (dependent_base_p): Remove.
4810         (dfs_push_type_decls): Adjust.
4811         (dfs_push_decls): Adjust.
4812         (dfs_no_overlap_yet): Adjust.
4813         (copied_binfo): New function.
4814         (original_binfo): New function.
4815         (binfo_for_vbase): Remove.
4816
4817         Change base class access representation.
4818         * java/class.c (set_super_info): Don't set TREE_VIA_PUBLIC.
4819         (add_interface_do): Likewise.
4820
4821 2003-02-20  David Edelsohn  <edelsohn@gnu.org>
4822
4823         * config/rs6000/sysv4.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
4824         * config/rs6000/power4.md (power4-store,power4-vecstore): New
4825         insn reservations.
4826         (power4-fpstore): Compact.
4827
4828 2003-02-20  Kazu Hirata  <kazu@cs.umass.edu>
4829
4830         * config/h8300/h8300.md (*iorsi3_w): New.
4831
4832 2003-02-20  Josef Zlomek  <zlomekj@suse.cz>
4833
4834         * combine.c (distribute_notes): Kill REG_EXEC_COUNT.
4835         * rtl.c (reg_note_name): Likewise.
4836         * rtl.h (enum reg_note): Likewise.
4837         * doc/invoke.texi: Likewise.
4838         * doc/rtl.texi: Likewise.
4839
4840 2003-02-20  Josef Zlomek  <zlomekj@suse.cz>
4841
4842         * bb-reorder.c (find_traces_1_round): Fix comment typo.
4843
4844 2003-02-19  Roger Sayle  <roger@eyesopen.com>
4845
4846         * fold-const.c (fold_real_zero_addition_p): Don't fold a zero
4847         addition in the presence of signaling NaNs.
4848
4849 2003-02-19  Krister Walfridsson  <cato@df.lth.se>
4850
4851         * tm.texi (INIT_CUMULATIVE_ARGS): Fix typo.
4852
4853 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
4854
4855         * config/h8300/h8300.c (output_logical_op): Optimize or.l when
4856         ORing with 0xffff??00 with the highest bit of the ?? part set.
4857         (compute_logical_op_length): Update.
4858         (compute_logical_op_cc): Likewise.
4859
4860 2003-02-19  Josef Zlomek  <zlomekj@suse.cz>
4861
4862         * bb-reorder.c (find_traces_1_round): Fixed condition for small
4863         destination block with multiple predecessors.
4864         (connect_traces): Check whether the block is a start of trace.
4865
4866 2003-02-19  Jan Hubicka  <jh@suse.cz>
4867
4868         * calls.c (expand_call): Update call of INIT_CUMULATIVE_ARGS
4869         * function.c (assign_params): Likewise.
4870         * arm-protos.h (arm_init_cumulative_args): Update prototype.
4871         * arm.c (arm_init_cumulative_args): Update function.
4872         * arm.h (INIT_CUMULATIVE_ARGS): Update.
4873         * avr-protos.h (init_cumulative_args): Update prototype.
4874         * avr.c (init_cumulative_args): Update function.
4875         * avr.h (INIT_CUMULATIVE_ARGS): Update.
4876         * d30v-protos.h (d30v_init_cumulative_args): Update prototype.
4877         * d30v.c (d30v_init_cumulative_args): Update function.
4878         * d30v.h (INIT_CUMULATIVE_ARGS): Update.
4879         * frv-protos.h (frv_init_cumulative_args): Update prototype.
4880         * frv.c (frv_init_cumulative_args): Update function.
4881         * frv.h (INIT_CUMULATIVE_ARGS): Update.
4882         * mips.c (mips_expand_prolgue): Update call of INIT_CUMULATIVE_ARGS.
4883         * pa.h (INIT_CUMULATIVE_ARGS): Update.
4884         * sparc-protos.h (init_cumulative_args): Update prototype.
4885         * sparc.c (init_cumulative_args): Update function.
4886         * sparc.h (INIT_CUMULATIVE_ARGS): Update.
4887         * tm.texi (INIT_CUMULATIVE_ARGS): Update documentation.
4888
4889 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
4890
4891         * config/h8300/h8300.md (*iorsi3_two_qi_sext): New.
4892         (*ashiftsi_sextqi_7): Likewise.
4893
4894 2003-02-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4895
4896         * config/mips/iris6.h (TARGET_OS_CPP_BUILTINS): Define __c99 for
4897         ISO C99 and C++.
4898
4899         * fixinc/inclhack.def (irix___restrict): Don't change __restrict
4900         for C++ on IRIX 6.5.1[89].
4901         * fixinc/tests/base/internal/sgimacros.h: New file.
4902
4903         * fixinc/inclhack.def (irix_wcsftime): Use XPG5 variant for C99.
4904         * fixinc/tests/base/internal/wchar_core.h: New file.
4905
4906         * fixinc/inclhack.def (irix_socklen_t): Fix broken IRIX 6.5.1[78]
4907         socklen_t definition.
4908         * fixinc/fixincl.x: Regenerate.
4909         * fixinc/tests/base/sys/socket.h: New file.
4910         Fixes PR libgcj/9652.
4911
4912 2003-02-19  Jan Hubicka  <jh@suse.cz>
4913
4914         * i386.md (movsfcc_1, movdfcc_1): Fix constrains.
4915
4916 2003-02-19  David Edelsohn  <edelsohn@gnu.org>
4917
4918         * config/rs6000/rs6000.c (rs6000_override_options): Initialize
4919         align_jumps_max_skip and align_loops_max_skip.
4920
4921 2003-02-19  Thierry Moreau  <thierry.moreau@connotech.com>
4922
4923         * config/rs6000/rs6000.c (rs6000_encode_section_info): Do not
4924         test size if named section.
4925
4926 2003-02-19  Daniel Jacobowitz  <drow@mvista.com>
4927
4928         * expr.c (expand_expr): Use gen_int_mode for the argument
4929         to gen_rtx_MULT.
4930
4931 2003-02-19  Jan Hubicka  <jh@suse.cz>
4932
4933         * i386.md (cosxf2):  Fix conditional.
4934
4935 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
4936
4937         * config/h8300/h8300.md (extendqisi2): Change to an expander.
4938         (*extendqisi2_h8300): New.
4939         (*extendqisi2_h8300hs): Likewise.
4940
4941 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
4942
4943         * config/h8300/h8300-protos.h: Update the prototype for
4944         split_adds_subs.  Remove the prototypes for
4945         const_int_le_2_operand and const_int_le_6_operand.
4946         * config/h8300/h8300.c (split_adds_sub): Don't output inc/dec.
4947         (const_int_le_2_operand): Remove.
4948         (const_int_le_6_operand): Likewise.
4949         * config/h8300/h8300.h (PREDICATE_CODES): Remove the entries
4950         for const_int_le_2_operand and const_int_le_6_operand.
4951         * config/h8300/h8300.md: Update all uses of split_adds_subs.
4952         (a peephole2): New.
4953
4954 2003-02-18  Jan Hubicka  <jh@suse.cz>
4955
4956         * cgraph.c (NPREDECESORC, SET_NPREDECESORS): Kill.
4957         (cgraph_expand_function): Rewrite.
4958
4959 2003-02-18  Matt Austern <austern@apple.com>
4960
4961         * toplev.c, langhooks.c, langhooks-def.h: Move
4962         write_global_declarations from toplev.c to langhooks.c.
4963
4964 2003-02-18  Kazu Hirata  <kazu@cs.umass.edu>
4965
4966         * config/h8300/h8300.c (general_operand_src): Always check
4967         MODE.
4968         (general_operand_dst): Likewise.
4969
4970 2003-02-18  Roger Sayle  <roger@eyesopen.com>
4971
4972         * convert.c (convert_to_real): Also optimize (float)log(x) into
4973         logf(x) where x is a float, i.e. also handle BUILT_IN_LOG{,L}.
4974
4975 2003-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
4976
4977         * config/sh/sh.c (unspec_caller_rtx_p): New.
4978         (sh_cannot_copy_insn_p): New.
4979         (TARGET_CANNOT_COPY_INSN_P): New.
4980
4981 2003-02-18  Richard Henderson  <rth@redhat.com>
4982
4983         * c-common.c (handle_used_attribute): Accept static data too.
4984
4985 2003-02-18  Nick Clifton  <nickc@redhat.com>
4986             Aldy Hernandez  <aldyh@redhat.com>
4987
4988         * testsuite/gcc.dg/20030218-1.c: New.
4989
4990         * doc/tm.texi: Document TARGET_VECTOR_TYPES_COMPATIBLE.
4991
4992         * target-def.h (TARGET_INITIALIZER): Add
4993         TARGET_VECTOR_TYPES_COMPATIBLE.
4994         (TARGET_VECTOR_TYPES_COMPATIBLE): New macro.
4995
4996         * target.h (struct gcc_target): Add field vector_types_compatible.
4997
4998         * c-typeck.c (comptypes): Take into account
4999         TARGET_VECTOR_TYPES_COMPATIBLE.
5000         (convert_for_assignment): Same.
5001
5002         * config/rs6000/rs6000.c (is_ev64_opaque_type): New.
5003         (rs6000_spe_vector_types_compatible): New.
5004         (TARGET_VECTOR_TYPES_COMPATIBLE): Define.
5005
5006 2003-02-19  Andreas Schwab  <schwab@suse.de>
5007
5008         * Makefile.in (toplev.o): Depend on $(LANGHOOKS_DEF_H).
5009         * toplev.c: Include langhooks-def.h.
5010
5011 2003-02-18  Chris Demetriou  <cgd@broadcom.com>
5012
5013         * config/mips/mips.h (enum processor_type): Sort entries
5014         alphabetically.
5015         * config/mips/mips.md (define_attr cpu): Sync with processor_type
5016         enum values, including adding entries that were missing.
5017
5018 2003-02-18  J"orn Rennecke <joern.rennecke@superh.com>
5019
5020         * sh.c (calc_live_regs): Also check GET_CODE when checking if
5021         initial value for PR_REG is still the PR_REG register.
5022
5023 2003-02-18  Jim Wilson  <wilson@redhat.com>
5024
5025         * config/ia64/ia64.md (floatdidf2, floatdisf2): Add %, before second
5026         instruction in output template.
5027         (bsp_value): Change output template from string to C code, add %,
5028         before actual instruction.
5029         (flushrs): Mark as not predicable.
5030
5031 2003-02-18  Krister Walfridsson  <cato@df.lth.se>
5032
5033         * inclhack.def (netbsd_bogus_semicolon): New fix.
5034         * fixincl.x: Rebuilt.
5035         * tests/base/ctype.h: Update.
5036
5037 2003-02-18  Roger Sayle  <roger@eyesopen.com>
5038
5039         * fold-const.c (negate_expr_p): New function to determine whether
5040         an expression can be negated cheaply.
5041         (fold) [MINUS_EXPR]: Use it to determine whether to transform
5042         -A - B into -B - A for floating point types.
5043
5044 2003-02-18  Roger Sayle  <roger@eyesopen.com>
5045
5046         * sbitmap.c (sbitmap_resize): New function.
5047         * sbitmap.h (sbitmap_resize): Prototype here.
5048         * recog.c (split_all_insns): Use sbitmap_resize.
5049
5050 2003-02-18  Kazu Hirata  <kazu@cs.umass.edu>
5051
5052         * config/h8300/h8300.md (*zero_extendhisi2_h8300): Fix the
5053         insn length.
5054         (extendqisi2): Likewise.
5055         (*extendhisi2_h8300): Likewise.
5056
5057 2003-02-18  Matt Austern <austern@apple.com>
5058
5059         * langhooks.h, langhooks-def.h: introduce new langhook,
5060         final_write_globals, with write_global_declarations as default.
5061         * toplev.c: Move invocation of wrapup_global_declarations from
5062         compile_file to new function, write_global_declarations.  Change
5063         compile_file to use final_write_globals hook.  Change
5064         wrapup_global_declarations so writing to DECL_DEFER_OUTPUT is
5065         conditional.
5066
5067 2003-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5068
5069         * pa.md: Correct and enhance comment.
5070
5071 2003-02-18  Geoffrey Keating  <geoffk@apple.com>
5072
5073         * gcc.c (validate_switches): Don't scan past closing '}'.
5074
5075 2003-02-18  Ben Elliston  <bje@redhat.com>
5076
5077         PR c++/1607
5078         * doc/extend.texi (Function Attributes): Document the effect of
5079         the C++ "this" parameter on the counting of arguments for the
5080         "format" and "format_arg" attributes.
5081
5082 2003-02-17  Aldy Hernandez  <aldyh@redhat.com>
5083
5084         * config/rs6000/spe.h (__ev_stdd): Cast 2nd arg.
5085         (__ev_stdw): Same.
5086         (__ev_stdh): Same.
5087
5088 2003-02-17  Jan Hubicka  <jh@suse.cz>
5089
5090         * recog.c (split_all_insns):  Fix memory overflow.
5091
5092 2003-02-17  Kazu Hirata  <kazu@cs.umass.edu>
5093
5094         * config/h8300/h8300.md (cmpqi): Remove mode from compare.
5095         (cmphi): Likewise.
5096         (*cmphi_h8300): Likewise.
5097         (*cmphi_h8300hs): Likewise.
5098         (cmpsi): Likewise.
5099         (7 peephole2): Likewise.
5100
5101 2003-02-16  Jan Hubicka  <jh@suse.cz>
5102
5103         * c-typeck.c (build_c_cast):  Fold constant variables into
5104         initial values.
5105
5106 2003-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5107
5108         * doc/install.texi (Specific): Fix link for m68k-att-sysv.
5109         (Binaries): Ditto for Sinix/Reliant Unix.
5110
5111 2003-02-16 Richard Earnshaw  <rearnsha@arm.com>
5112
5113         * arm.c (arm_reload_in_hi): Ensure that the scratch register does
5114         not overlap the final result register.
5115
5116 2003-02-16 Arend Bayer <arend.bayer@web.de>
5117            Richard Henderson  <rth@redhat.com>
5118
5119         PR c/8068
5120         * fold-const.c (extract_muldiv_1): Rename from extract_muldiv;
5121         rearrange mult arguments for less recursion.
5122         (extract_muldiv): New.  Prevent runaway recursion.
5123
5124 2003-02-16  Danny Smith  <dannysmith@users.sourceforge.net>
5125
5126         * config/i386/cygwin.h (TARGET_SUBTARGET_DEFAULT): Set
5127         MASK_ALIGN_DOUBLE.
5128
5129 2003-02-15  Roger Sayle  <roger@eyesopen.com>
5130
5131         * config/i386/i386.c (x86_ext_80387_constants): Use 80387 insns
5132         to load mathematical constants on K6, Athlon, Pentium 4 and PPro.
5133         (ext_80387_constants_table): Global table of 80387 special constants
5134         guarded by ext_80387_constants_init flag when not initialized.
5135         (init_ext_80387_constants): New function to initialize this table.
5136         (standard_80387_constant_p): Extend to recognize extra 80387
5137         constants, in XFmode, on processors where this is a win.
5138         (standard_80387_constant_opcode): New function to return the
5139         opcode associated with standard_80387_constant_p.
5140         (standard_80387_constant_rtx): New function to return the XFmode
5141         CONST_DOUBLE associated with standard_80387_constant_p.
5142         (ix86_rtx_costs): Give the new constants the same cost as 1.0.
5143
5144         * config/i386/i386-protos.h (standard_80387_constant_opcode):
5145         Prototype here.
5146         (standard_80387_constant_rtx): Likewise.
5147
5148         * config/i386/i386.md (*movsf1, *movsf1_nointerunit, *movdf_nointeger,
5149         *movdf_integer, *movxf_nointeger, *movtf_nointeger, *movxf_integer,
5150         *movtf_integer): Simplify using new standard_80387_constant_opcode.
5151
5152 2003-02-15  Geoffrey Keating  <geoffk@apple.com>
5153
5154         * doc/invoke.texi (Optimize Options): Correct @option syntax.
5155
5156 2003-02-15  Richard Henderson  <rth@redhat.com>
5157
5158         * Makefile.in (cfglayout.o): Depend on TARGET_H.
5159         * cfglayout.c: Include target.h.
5160         (cfg_layout_can_duplicate_bb_p): Check targetm.cannot_copy_insn_p.
5161         * target-def.h (TARGET_CANNOT_COPY_INSN_P): New.
5162         * target.h (struct gcc_target): Add cannot_copy_insn_p.
5163
5164         * config/alpha/alpha.c (alpha_cannot_copy_insn_p): New.
5165         (TARGET_CANNOT_COPY_INSN_P): New.
5166         (override_options): Revert 2003-02-08 hack.
5167
5168 2003-02-15  Richard Henderson  <rth@redhat.com>
5169
5170         * gcse.c (bypass_block): Use BLOCK_FOR_INSN for resolving LABEL_REFs.
5171         (bypass_conditional_jumps): Accept computed_jump_p insns as well.
5172
5173 2003-02-15  David Edelsohn  <edelsohn@gnu.org>
5174
5175         * config/rs6000/rs6000.h (processor_type): Add PPC440.
5176         * config/rs6000/rs6000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
5177         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
5178         TARGET_SCHED_VARIABLE_ISSUE): Define.
5179         (rs6000_use_dfa_pipeline_interface): New function.
5180         (rs6000_multipass_dfa_lookahead): New Function.
5181         (rs6000_variable_issue): New function.
5182         (rs6000_adjust_cost): Add CMP and DELAYED_CR types.
5183         (rs6000_issue_rate): Add PPC440.
5184         * config/rs6000/rs6000.md (unspec list): Correct typo.
5185         (attr "type"): Add load_ext, load_ext_u, load_ext_ux, load_u,
5186         store_ux, store_u, fpload_ux, fpload_u, fpstore_ux, fpstore_u,
5187         cmp, delayed_cr, mfcr, mtcr.
5188         (automata_option): Set "ndfa".
5189         (extendMMNN2): Update attributes.
5190         (movcc_internal1): Discourage move to non-cr0.  Update
5191         attributes.
5192         (movMM_update): Update attributes.
5193         (cmpMM_internal): Update attributes.
5194         (sCC CR materialization): Update attributes.
5195         (branch patterns): Do not discourage non-cr0.
5196         (cr logical patterns): Prefer destructive register allocation.
5197         Update attributes.
5198         (movesi_from_cr): Update attribute.
5199         (mtcrf_operation): Update attribute.
5200         (mtcrfsi): Update attribute.
5201         * config/rs6000/40x.md: New file.
5202         * config/rs6000/603.md: New file.
5203         * config/rs6000/6xx.md: New file.
5204         * config/rs6000/7450.md: New file.
5205         * config/rs6000/7xx.md: New file.
5206         * config/rs6000/mpc.md: New file.
5207         * config/rs6000/power4.md: New file.
5208         * config/rs6000/rios1.md: New file.
5209         * config/rs6000/rios2.md: New file.
5210         * config/rs6000/rs64.md: New file.
5211         [Some DFA descriptions based on work by Michael Hayes]
5212
5213 2003-02-15  Richard Henderson  <rth@redhat.com>
5214
5215         * bb-reorder.c (find_traces_1_round): Don't connect easy to copy
5216         successors with multiple predecessors.
5217         (connect_traces): Try harder to copy traces of length 1.
5218
5219         * function.h (struct function): Add computed_goto_common_label,
5220         computed_goto_common_reg.
5221         * function.c (free_after_compilation): Zap them.
5222         * stmt.c (expand_computed_goto): Use them to produce one
5223         indirect branch per function.
5224
5225 2003-02-15  Richard Henderson  <rth@redhat.com>
5226
5227         * cfgcleanup.c: Include params.h.
5228         (try_crossjump_bb): Use PARAM_MAX_CROSSJUMP_EDGES.  Fix test for
5229         too many outgoing edges from a block.
5230         * Makefile.in (cfgcleanup.o): Depend on PARAMS_H.
5231         * params.def (max-crossjump-edges): New.
5232         * doc/invoke.texi: Document it.
5233
5234 2003-02-15  Richard Henderson  <rth@redhat.com>
5235
5236         * recog.c (split_all_insns): Include new blocks in life update;
5237         do a global life update.
5238
5239 2003-02-15  Danny Smith  <dannysmith@users.sourceforge.net>
5240
5241         * config/i386/mingw32.h (LIBGCC_SPEC): Add libmingwex.a.
5242         Update copyright.
5243         * config/i386/cygwin.h (LIBGCC_SPEC): Add libmingwex.a for
5244         -mno-cygwin case.
5245
5246 2003-02-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
5247
5248         PR optimization/7702
5249         * reload1.c (reload_cse_simplify_set): Honor
5250         CANNOT_CHANGE_MODE_CLASS.
5251
5252 2003-02-14  Alexandre Oliva  <aoliva@redhat.com>
5253
5254         * config/mn10300/mn10300.c (mn10300_wide_const_load_uses_clr): New
5255         function.
5256         * config/mn10300/mn10300-protos.h: Declare it.
5257         * config/mn10300/mn10300.md (movdi, movdf): Use it to compute
5258         attribute cc of instructions that may use clr.
5259
5260 2003-02-14  Kazu Hirata  <kazu@cs.umass.edu>
5261
5262         * simplify-rtx.c (simplify_binary_operation): Simplify ~y when
5263         (x - (x & y)) is found.
5264
5265 2003-02-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5266
5267         * configure.in: Fix typo.
5268         * configure: Regenerate.
5269
5270 2003-02-14  Kazu Hirata  <kazu@cs.umass.edu>
5271
5272         * config/h8300/h8300.md (*iorsi2_and_1_lshiftrt_1): New.
5273
5274 2003-02-13  Adam Nemet  <anemet@lnxw.com>
5275
5276         PR opt/2391
5277         * combine.c: Fix spelling in comment.
5278         (cached_nonzero_bits): New function.
5279         (cached_num_sign_bit_copies): New function.
5280         (nonzero_bits_with_known): New macro.
5281         (num_sign_bit_copies_with_known): New macro.
5282         (nonzero_bits1): Rename from nonzero_bits.  Add three new
5283         arguments.  Change calls from nonzero_bits to
5284         nonzero_bits_with_known.
5285         (num_sign_bit_copies1): Rename from num_sign_bit_copies.  Add
5286         three new arguments.  Change calls from num_sign_bit_copies to
5287         num_sign_bit_copies_with_known.
5288         (nonzero_bits): New macro.
5289         (num_sign_bit_copies): New macro.
5290         (update_table_tick): Don't traverse identical subexpression more
5291         than once.
5292         (get_last_value_validate): Likewise.
5293
5294 2003-02-13  Zack Weinberg  <zack@codesourcery.com>
5295
5296         * emit-rtl.c (init_emit): Use ggc_alloc for regno_reg_rtx.
5297         * function.h (struct emit_status): Length of regno_pointer_align
5298         and x_regno_reg_rtx as seen by gengtype is only x_reg_rtx_no,
5299         not regno_pointer_align_length (i.e. length actually used, not
5300         length as allocated)
5301
5302         * config/i386/i386.c (struct stack_local_entry): New.
5303         (struct machine_function): Replace huge array with alist.
5304         (assign_386_stack_local): Change to match.
5305
5306 2003-02-13  John David Anglin  <dave.anglin@nrc-crnc.gc.ca>
5307
5308         * inclhack.def (hpux_long_double): Tighten select and add bypass
5309         regexp.
5310         * fixincl.x: Rebuilt.
5311
5312 2003-02-13  Josef Zlomek  <zlomekj@suse.cz>
5313
5314         * cfgcleanup.c (outgoing_edges_match): When there is single outgoing
5315         edge and block ends with a jump insn it must be simple jump.
5316
5317 2003-02-13  Daniel Jacobowitz  <drow@mvista.com>
5318
5319         * Makefile.in (PREPROCESSOR_DEFINES): Add
5320         @TARGET_SYSTEM_ROOT_DEFINE@.
5321         * configure.in (PREFIX_INCLUDE_DIR): Don't define if $with_sysroot
5322         is specified or if building a cross compiler.
5323         (TARGET_SYSTEM_ROOT_DEFINE): Add TARGET_SYSTEM_ROOT_RELOCATABLE
5324         if the sysroot is under $exec_prefix.
5325         * configure: Regenerated.
5326         * cppdefault.h: Use native include paths if TARGET_SYSTEM_ROOT is
5327         defined.
5328         (struct default_include): Add add_sysroot field.
5329         (cpp_SYSROOT): Declare.
5330         * cppdefault.c (cpp_include_defaults): Fill in add_sysroot
5331         field.
5332         (cpp_SYSROOT): New variable.
5333         * cppinit.c (cpp_create_reader): Initialize
5334         CPP_OPTION (pfile, sysroot).
5335         (init_standard_includes): Handle add_sysroot.  Do not
5336         add unrelocated copies of relocated directories.
5337         (COMMAND_LINE_OPTIONS): Add -isysroot.
5338         (cpp_handle_option): Handle -isysroot.
5339         * cpplib.h (struct cpp_options): Add sysroot member.
5340         * gcc.c (The Specs Language): Update description of %I.
5341         (target_system_root_changed): New variable.
5342         (process_command): Conditionalize make_relative_prefix call
5343         on !VMS and TARGET_SYSTEM_ROOT_RELOCATABLE.  Set
5344         target_system_root_changed.
5345         (do_spec_1): Add -isysroot to %I.
5346         * doc/invoke.texi (Spec Files): Update description of %I.
5347         * doc/install.texi (--with-sysroot): Update comment about
5348         relocation.
5349
5350 2003-02-13  Kazu Hirata  <kazu@cs.umass.edu>
5351
5352         * config/h8300/h8300.md (a peephole2): New.
5353
5354 2003-02-13  Robert Lipe <robertlipe@usa.net>
5355             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5356
5357         * doc/install.texi (Specific): Update three SCO-related URLs.
5358
5359 2003-02-13  Andreas Schwab  <schwab@suse.de>
5360
5361         * cgraph.c (SET_NPREDECESORS): Add intermediate cast to size_t.
5362         Parenthesize properly.
5363         (NPREDECESORS): Parenthesize properly.
5364
5365 2003-02-13  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5366
5367         * timevar.h (POP_TIMEVAR_AND_RETURN): New macro.
5368
5369 2003-02-12  Roger Sayle  <roger@eyesopen.com>
5370
5371         * config/i386/i386.md (UNSPEC_FPATAN): New UNSPEC constant.
5372         (atan2sf3, atan2df3, atan2xf3, atan2tf3): New patterns.
5373
5374         * reg-stack.c (subst_stack_regs_pat): Add support for binary
5375         UNSPEC instructions (e.g. "fpatan").
5376
5377 2003-02-12  Mike Stump  <mrs@apple.com>
5378
5379         * varray.c (element_size): Remove.
5380         (uses_ggc): Remove.
5381         (element): Add.
5382         (varray_init): Use new interface.
5383         (varray_grow): Use new interface.
5384         (varray_clear): Use new interface.
5385
5386 2003-02-12  Aldy Hernandez  <aldyh@redhat.com>
5387
5388         * config/rs6000/spe.h: Add casts to the arguments of the following
5389         macros: evfsabs, evfsnabs, evfsneg, evfsadd, evfssub, evfsmul,
5390         evfsdiv, evfscfui, evfscfsi evfscfuf evfscfsf, evfsctui, evfsctsi,
5391         evfsctuf, evfsctsf, evfsctuiz, evfsctsiz, __ev_get_upper*,
5392         __ev_get_lower*, __ev_get_u32, __ev_get_s32, __ev_get_fs,
5393         __ev_get_u16, __ev_get_s16.
5394
5395 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
5396
5397         * config/h8300/h8300.md (a peephole2): New.
5398
5399 2003-02-12  Jan Hubicka  <jh@suse.cz>
5400
5401         * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-unit-at-a-time
5402         (OBJS): Add callgraph.o
5403         (callgraph.o): New.
5404         * c-decl.c (expand_body_1): Break out from ...
5405         (expand_body): This one;  change calling convention
5406         (finish_function): Move some of expand_body logic here.
5407         (c_expand_deferred_function): Update call of expand_body
5408         (c_expand_stmt): Use c_expand_body_1.
5409         * c-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
5410         * c-objc-commin.c (c_objc_common_finish_file): Use callgraph code.
5411         * c-tree.h (c_expand_body): Declare.
5412         * callgraph.c: New file.
5413         * flags.h (flag_unit_at_a_time): Declare.
5414         * langhooks.h (LANG_HOOKS_CALLGRAPH_LOWER_FUNCTION,
5415         LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION,
5416         LANG_HOOKS_CALLGRAPH_INITIALIZER): New macros.
5417         * langhooks.h (struct lang_hooks_for_callgraph): New.
5418         (struct lang_hooks): Add callgraph field.
5419         * toplev.c (flag_unit_at_a_time): New.
5420         (lang_independent_options): Add flag_unit_at_a_time.
5421         (process_options): Disable unit-at-a-time mode for frontends not
5422         supporting callgraph.
5423         * tree-inline.c (typedef struct inline_data): Add "decl"
5424         (expand_call_inline): Update callgraph.
5425         (optimize_inline_calls): Set id.decl.
5426         * tree.h (cgraph_finalize_function, cgraph_finalize_compilation_unit,
5427         cgraph_create_edges, dump_cgraph, cgraph_optimize, cgraph_remove_call
5428         cgraph_calls_p): Declare.
5429         * invoke.texi (-funit-at-a-time): Document
5430
5431 2003-02-12  Aldy Hernandez  <aldyh@redhat.com>
5432
5433         * config/rs6000/spe.h: Fix misc formatting.
5434         (__ev_create_ufix32_fs): Cast ev argument.
5435         (__ev_create_sfix32_fs): Same.
5436         (__ev_get_sfix32_fs_internal): Cast arguments to builtins.
5437         (__ev_get_ufix32_fs_internal): Same.
5438
5439 2003-02-12  Ranjit Mathew  <rmathew@hotmail.com>
5440
5441         * doc/tm.texi (MODIFY_JNI_METHOD_CALL): Document.
5442         * config/i386/cygwin.h (MODIFY_JNI_METHOD_CALL): New macro.
5443
5444 2003-02-12  Zack Weinberg  <zack@codesourcery.com>
5445
5446         * cpplib.c (do_include_common): Move warnings for
5447         #include_next and #import out to callers.  Use early-return
5448         instead of nested ifs.  Don't do check_eol here.
5449         (parse_include): Do check_eol here with the rest of the
5450         parsing stuff.
5451         (do_include_next, do_import): Now handle warnings.
5452
5453 2003-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5454
5455         * doc/install.texi (Specific): Update AVR- and Darwin-related URLs.
5456
5457 2003-02-12  Jan Hubicka  <jh@suse.cz>
5458
5459         * predict.c (estimate_probability):  Fix roundoff error.
5460
5461 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
5462
5463         * config/h8300/h8300.md (a peephole2): Don't handle 65535.
5464         (two peephole2): New.
5465
5466 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
5467
5468         * config/h8300/h8300.md (several peephole2): Replace
5469         find_regno_note with peep2_reg_dead_p.
5470
5471 2003-02-11  Richard Henderson  <rth@redhat.com>
5472
5473         * gcse.c (lookup_set): Remove unused argument PAT.  Update
5474         both callers.
5475
5476 2003-02-11  Geoffrey Keating  <geoffk@apple.com>
5477
5478         * diagnostic.c (real_abort): New.
5479         (diagnostic_report_diagnostic): Call real_abort on error.
5480         * diagnostic.h (diagnostic_abort_on_error): New.
5481         (struct diagnostic_context): Add abort_on_error field.
5482         * toplev.c (setup_core_dumping): New.
5483         (decode_d_option): Handle 'H' case.
5484         * doc/invoke.texi (Debugging Options): Document -dH.
5485
5486 2003-02-11  Nathanael Nerode  <neroden@gcc.gnu.org>
5487
5488         * Makefile.in: Remove pointless setting of CXXFLAGS for dejagnu
5489         which refers to obsolete directories.
5490
5491 2003-02-11  Richard Henderson  <rth@redhat.com>
5492
5493         * config/alpha/linux.h (TARGET_C99_FUNCTIONS): New.
5494
5495 2002-10-21  Jan Hubicka  <jh@suse.cz>
5496
5497         * i386.c (contains_128bit_aligned_vector_p): New function.
5498         (ix86_function_arg_boundary): Properly align vector modes.
5499
5500 2003-02-11  Bob Wilson  <bob.wilson@acm.org>
5501
5502         * config/xtensa/xtensa.md (set_frame_ptr): Change rtl to set reg a7.
5503         * config/xtensa/xtensa.c (xtensa_reorg): Search for UNSPECV_SET_FP
5504         as a SET pattern.
5505
5506 2003-02-11  Roger Sayle  <roger@eyesopen.com>
5507
5508         * builtins.c:  Fix failure caused by commiting wrong patch.
5509
5510 2003-02-11  Dale Johannesen  <dalej@apple.com>
5511         * ra-build.c (compare_and_free_webs):  Relax checking.
5512         * config/rs6000/darwin.h (HOT_TEXT_SECTION_NAME):  Define.
5513         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME):  Define.
5514
5515 2003-02-11  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
5516
5517         PR optimization/9651
5518         * rtlanal.c (may_trap_p): Handle FIX.
5519
5520 2003-02-11  Dave Jones <davej@codemonkey.org.uk>
5521
5522         * config/i386/i386.c (override_options): Define c3-2 as a 686 with SSE.
5523         * doc/invoke.texi: Extra alias.
5524
5525 2003-02-11  Geoffrey Keating  <geoffk@apple.com>
5526
5527         * config/rs6000/host-darwin.c: Fix comment.
5528
5529 2003-02-11  David Edelsohn  <edelsohn@gnu.org>
5530
5531         * config/rs6000/rs6000.md (divmodsi4): Use register_operand
5532         predicate for mod result.
5533
5534 2003-02-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5535
5536         * inclhack.def (hpux_long_double, hpux10_ctype_declarations1,
5537         hpux10_ctype_declarations2, hpux_ctype_macros): New hacks.
5538         * fixincl.x: Rebuilt.
5539         * tests/base/stdlib.h: Update.
5540         * tests/base/ctype.h: New file.
5541
5542 2003-02-11  Jan Hubicka  <jh@suse.cz>
5543
5544         * emit-rtl.c (emit_copy_of_insn_after): Copy insn recog cache too.
5545
5546 2003-02-11  Richard Henderson  <rth@redhat.com>
5547
5548         * config/i386/i386.c (ix86_expand_movstr): Fail if esi or edi
5549         appropriated as globals.
5550         (ix86_expand_clrstr): Similarly.
5551         * config/i386/i386.md (cmpstrsi): Similarly.
5552
5553 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
5554
5555         * config/h8300/h8300.md (a peephole2): Add a case of 255.
5556
5557 2003-02-11  Roger Sayle  <roger@eyesopen.com>
5558
5559         * optabs.h (enum optab_index): Add new OTI_pow and OTI_atan2.
5560         (pow_optab, atan2_optab): Define corresponding macros.
5561         * optabs.c (init_optabs): Initialize pow_optab and atan2_optab.
5562         * genopinit.c (optabs): Implement pow_optab and atan2_optab
5563         using pow?f3 and atan2?f3 patterns.
5564         * builtins.c (expand_errno_check): New function to update errno
5565         if necessary, split out from expand_builtin_mathfn.
5566         (expand_builtin_mathfn): Use expand_errno_check.
5567         (expand_builtin_mathfn_2): New function to handle expanding binary
5568         math functions, reusing the code in expand_errno_check.
5569         (expand_builtin): Handle the pow and atan2 math built-ins,
5570         BUILT_IN_{POW,POWF,POWL,ATAN2,ATAN2F,ATAN2L} via the new function
5571         expand_builtin_mathfn_2.
5572
5573         * doc/md.texi: Document new pow?f3 and atan2?f3 patterns.
5574
5575 2003-02-11  Jan Hubicka  <jh@suse.cz>
5576
5577         * combine.c (combine_simplify_rtx): Fix folding of
5578         nested float_truncates.
5579
5580 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
5581
5582         * config/h8300/h8300.md (a peephole2): Fix a typo.
5583
5584 2003-02-11  Richard Earnshaw  <rearnsha@arm.com>
5585
5586         * arm.mc (return_address_mask): Use CC_REGNUM for the condition code
5587         register number.
5588
5589 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
5590
5591         * config/h8300/h8300-protos.h: Add a prototype for
5592         gtuleu_operator.
5593         * config/h8300/h8300.c (gtuleu_operator): New.
5594         * config/h8300/h8300.h (PREDICATE_CODES): Add gtuleu_operator.
5595         * config/h8300/h8300.md (a peephole2): New.
5596
5597 2003-02-11  Jan Hubicka  <jh@suse.cz>
5598
5599         * sched-ebb.c (schedule_ebbs): Do not verify_flow_info.
5600
5601 2003-02-11  Jan Hubicka  <jh@suse.cz>
5602
5603         * predict.c (choose_function_section): Choose sections correctly.
5604
5605 2003-02-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5606
5607         * reload1.c (first_label_num): New.
5608         (reload): Index offsets_known_at and offsets_at using difference of
5609         label number and first label number.  Don't use offset pointers.
5610         (set_label_offsets, set_initial_label_offsets): Likewise.
5611
5612 2003-02-10  Roger Sayle  <roger@eyesopen.com>
5613
5614         * mips-tfile.c (init_file): Add missing initializers in the
5615         "#ifdef __alpha" case.
5616         (file_offset, max_file_offset): Declare as unsigned long.
5617         (write_varray): Cast to "unsigned long" in comparisons against
5618         either file_offset or max_file_offset.
5619         (write_object): Likewise.
5620         (read_seek): Likewise.
5621         (copy_object): Likewise. Declare "ifd" as int to match its use
5622         in add_ext_symbol, and avoid signed/unsigned conditional warning.
5623
5624 2003-02-10  Nick Clifton  <nickc@redhat.com>
5625             Aldy Hernandez  <aldyh@redhat.com>
5626
5627         * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Do not
5628         override options which have been specified on the command line.
5629
5630 2003-02-10  Kazu Hirata  <kazu@cs.umass.edu>
5631
5632         * config/h8300/h8300.md (abssf2): New.
5633         (*abssf2_h8300): Likewise.
5634         (*abssf2_h8300hs): Likewise.
5635
5636 2003-02-10  Phil Edwards  <pme@gcc.gnu.org>
5637
5638         * tree.c (build_tree_list):  Fix parameter names in comment.
5639
5640 2003-02-10  Janis Johnson  <janis187@us.ibm.com>
5641
5642         * config/rs6000/ppc64-fp.c: New file.
5643         * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
5644
5645 2003-02-10  Josef Zlomek  <zlomekj@suse.cz>
5646
5647         * Makefile.in (bb-reorder.o): Add dependency on $(FIBHEAP_H).
5648         * bb-reorder.c (make_reorder_chain): Deleted.
5649         (make_reorder_chain_1): Deleted.
5650         (find_traces): New function.
5651         (rotate_loop): New function.
5652         (mark_bb_visited): New function.
5653         (find_traces_1_round): New function.
5654         (copy_bb): New function.
5655         (bb_to_key): New function.
5656         (better_edge_p): New function.
5657         (connect_traces): New function.
5658         (copy_bb_p): New function.
5659         (get_uncond_jump_length): New function.
5660         (reorder_basic_blocks): Use new functions (Software Trace Cache).
5661         * cfgcleanup.c (outgoing_edges_match): Enable crossjumping across loop
5662         boundaries.
5663
5664 2003-02-10  Aldy Hernandez  <aldyh@redhat.com>
5665
5666         * config/rs6000/rs6000.c (bdesc_2arg): Change spe_evxor to xorv2si3.
5667
5668 2003-02-09  Dan Nicolaescu  <dann@ics.uci.edu>
5669
5670         * tree.h (struct tree_decl): Remove unused live_range_rtl field.
5671         (DECL_LIVE_RANGE_RTL): Remove.
5672
5673 2003-02-10  Nick Clifton  <nickc@redhat.com>
5674
5675         * config/arm/aof.h, config/arm/aout.h, config/arm/arm-modes.def,
5676         config/arm/arm-protos.h, config/arm/arm.c, config/arm/arm.h,
5677         config/arm/arm.md, config/arm/cirrus.md, config/arm/coff.h,
5678         config/arm/conix-elf.h, config/arm/ecos-elf.h, config/arm/elf.h,
5679         config/arm/freebsd.h, config/arm/linux-elf.h,
5680         config/arm/linux-gas.h, config/arm/netbsd-elf.h,
5681         config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h,
5682         config/arm/rtems-elf.h, config/arm/semi.h, config/arm/semiaof.h,
5683         config/arm/strongarm-coff.h, config/arm/strongarm-elf.h,
5684         config/arm/strongarm-pe.h, config/arm/uclinux-elf.h,
5685         config/arm/unknown-elf-oabi.h, config/arm/unknown-elf.h,
5686         config/arm/xscale-elf.h: Replace occurances of "GNU CC" with "GCC"
5687         and reformat as appropriate.
5688
5689 2003-02-10  Kazu Hirata  <kazu@cs.umass.edu>
5690
5691         * config/h8300/clzsi2.c: Remove.
5692         * config/h8300/ctzsi2.c: Likewise.
5693         * config/h8300/paritysi2.c: Likewise.
5694         * config/h8300/popcountsi2.c: Likewise.
5695         * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Remove clzsi2,
5696         ctzsi2, paritysi2, and popcountsi2.
5697
5698 2003-02-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
5699             Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
5700
5701         PR c/7741
5702         * c-decl.c (duplicate_decls): Discard the initializer of the
5703         new decl when the types are conflicting.
5704
5705 2003-02-10  Josef Zlomek  <zlomekj@suse.cz>
5706
5707         * Makefile.in (sreal.o): Added.
5708         (predict.o): Depends on sreal.h instead of real.h.
5709         * sreal.c: New file.
5710         * sreal.h: New file.
5711         * predict.c: Use sreal.c instead of real.c.
5712
5713 2003-02-10  Nick Clifton  <nickc@redhat.com>
5714
5715         * Contributed support for the Cirrus EP9312 "Maverick"
5716         floating point co-processor.  Written by Aldy Hernandez
5717         <aldyh@redhat.com>.
5718         (config/arm/arm.c): Add Cirrus support.
5719         (config/arm/arm.h): Likewise.
5720         (config/arm/aout.h): Likewise.
5721         (config/arm/arm.md): Likewise.
5722         (config/arm/arm-protos.h): Likewise.
5723         (config.gcc): Likewise.
5724         (doc/invoke.texi): Describe new -mcpu value and new
5725         -mcirrus-fix-invalid-insns switch,
5726         (cirrus.md): New file.
5727
5728 2003-02-10  Jan Hubicka  <jh@suse.cz>
5729
5730         * combine.c (combine_simplify_rtx): Simplify using
5731         (float_truncate (float x)) is (float x)
5732         (float_extend (float_extend x)) is (float_extend x).
5733
5734 2003-02-10  Alan Modra  <amodra@bigpond.net.au>
5735
5736         * calls.c (try_to_integrate): Tidy stack_usage_map access.
5737         (emit_library_call_value_1): Likewise.  Formatting.
5738         (store_one_arg): Likewise.
5739
5740 2003-02-09  Nick Clifton  <nickc@redhat.com>
5741             Aldy Hernandez  <aldyh@redhat.com>
5742
5743         * config/rs6000/spe.md: spe_evlhhesplat, spe_evlhhossplat,
5744         spe_evlhhousplat, spe_evlwhsplat, spe_evlwwsplat, spe_evldd,
5745         spe_evldh, spe_evldw, spe_evlwhe, spe_evlwhos, spe_evlwhou,
5746         spe_evstdd, spe_evstdh, spe_evstdw, spe_evstdwx, spe_evstwhe,
5747         spe_evstwho, spe_evstwwe, spe_evstwwo: Fix syntax to match newest
5748         docs.  Add range test for immediate value.
5749
5750 2003-02-09  Aldy Hernandez  <aldyh@redhat.com>
5751
5752         Rename spe_evxor to xorv2si3.
5753         (xorv4hi3): New.
5754         (xorv1di3): New.
5755
5756 2003-02-10  Glen Nakamura  <glen@imodulo.com>
5757
5758         * doc/extend.texi (C++98 Thread-Local Edits): Add missing @item
5759         tag.
5760
5761 2003-02-10  Jan Hubicka  <jh@suse.cz>
5762
5763         * i386.c (vector_move_operand): New predicate.
5764         (ix86_expand_vector_move): Be happy about 0.
5765         * i386.h (PREDICATE_CODES): Add sse-move_operand.
5766         * i386.md (mov*_internal): Add 'C' alternative.
5767
5768 2003-02-09  Jan Hubicka  <jh@suse.cz>
5769
5770         * i386.md (floathi*): Deal with SSE.
5771
5772 2003-02-09  Jan Hubicka  <jh@suse.cz>
5773
5774         * simplify-rtx.c (simplify_unary_operation,
5775         simplify_binary_operation):  Deal with vector modes
5776         (simplify_ternary_operation):  Deal with no-op VEC_MERGE.
5777
5778 2003-02-09  Richard Sandiford  <rsandifo@redhat.com>
5779
5780         * toplev.c (rest_of_compilation): Recompute register usage after
5781         split_all_insns.
5782
5783 2003-02-09  Richard Henderson  <rth@redhat.com>
5784
5785         * libgcc-std.ver (__clztf2): New.
5786         (__ctztf2, __popcounttf2, __paritytf2): New.
5787         * libgcc2.c (__clzSI2, __clzDI2, __ctzSI2, __ctzDI2, __popcountSI2,
5788         __popcountDI2, __paritySI2, __parityDI2): Use UWmode and UDWmode;
5789         adjust code to match the different type sizes.
5790         * libgcc2.h (__clzSI2, __ctzSI2, __popcountSI2, __paritySI2,
5791         __clzDI2, __ctzDI2, __popcountDI2, __parityDI2): New macros.
5792
5793         * optabs.c (init_integral_libfuncs): Don't hard-code SImode and
5794         TImode; select word_mode and twice that.
5795         (init_floating_libfuncs): Don't hard-code SFmode and TFmode;
5796         select the modes from float, double, and long double.
5797         (init_optabs): Remove duplicate initializations.
5798
5799 2003-02-09  Wolfgang Bangerth  <bangerth@ticam.utexas.edu>
5800
5801         * doc/install.texi: Squeeze and streamline section on
5802         testing and regression checking.
5803
5804 2003-02-09  Jan Hubicka  <jh@suse.cz>
5805
5806         * i386.md (ahi?v*3): Set third operand type to TImode.
5807         * i386.c (ix86_expand_binop_builtin): Extend operand when needed.
5808
5809         * simplify-rtx.c (simplify_subreg): Fix conversion from vector into
5810         integer mode.
5811
5812         * rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_DUPLICATE):
5813         Change code so they are arithmetic expressions now.
5814         * simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
5815         simplify_ternary_operation): Deal with VEC_* expressions.
5816
5817         * i386.md (vmaskcmp, pinsrw, movd patterns):  Fix RTL representation.
5818
5819 2003-02-08  Jan Hubicka  <jh@suse.cz>
5820
5821         * cfgrtl.c (verify_flow_info):  Use control_flow_insn_p.
5822         * reload1.c (fixup_abnormal_edges):  Split basic blocks when EH edges
5823         possibly got duplicated.
5824
5825 2003-02-08  Richard Henderson  <rth@redhat.com>
5826
5827         * config/alpha/alpha.c (override_options): Turn off explicit
5828         relocs until post-peep2 code duplication resolved.
5829
5830 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
5831
5832         * optabs.c (expand_unop): Widen clz properly when clz is done
5833         via libcall.
5834
5835 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
5836
5837         * config/h8300/clzsi2.c: Replace "GNU CC" with "GCC".
5838         * config/h8300/crti.asm: Likewise.
5839         * config/h8300/crtn.asm: Likewise.
5840         * config/h8300/ctzsi2.c: Likewise.
5841         * config/h8300/fixunssfsi.c: Likewise.
5842         * config/h8300/h8300-protos.h: Likewise.
5843         * config/h8300/h8300.c: Likewise.
5844         * config/h8300/h8300.h: Likewise.
5845         * config/h8300/h8300.md: Likewise.
5846         * config/h8300/paritysi2.c: Likewise.
5847         * config/h8300/popcountsi2.c: Likewise.
5848         * config/h8300/rtems.h: Likewise.
5849
5850 2003-02-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5851
5852         * doc/invoke.texi: Documentation for my previous commit.
5853         * doc/passes.texi: Ditto.
5854
5855 2003-02-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5856
5857         * cfgloop.h (fix_loop_placement, can_duplicate_loop_p,
5858         duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
5859         Declare.
5860         (DLTHE_FLAG_UPDATE_FREQ): New.
5861         * cfgloopmanip.c (duplicate_loop, duplicate_subloops, copy_loops_to,
5862         loop_redirect_edge, loop_delete_branch_edge, copy_bbs, remove_bbs,
5863         rpe_enum_p, find_branch, alp_enum_p, add_loop, fix_loop_placements,
5864         fix_bb_placement, fix_bb_placements, place_new_loop,
5865         scale_loop_frequencies, scale_bbs_frequencies, record_exit_edges):
5866         New static functions.
5867         (fix_loop_placement, can_duplicate_loop_p,
5868         duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
5869         New functions.
5870
5871         * cfgloop.h (loop_optimizer_init, loop_optimizer_finalize,
5872         unswitch_loops): Declare.
5873         * loop-init.c: New file.
5874         * loop-unswitch.c: New file.
5875         * Makefile.in (loop-init.o, loop-unswitch.o): New.
5876         * params.def (PARAM_MAX_UNSWITCH_INSNS, PARAM_MAX_UNSWITCH_LEVEL): New.
5877         * toplev.c (DFI_loop2): New dump.
5878         (flag_unswitch_loops): New.
5879         (lang_independent_options): Add it.
5880         (rest_of_compilation): Call new loop optimizer.
5881         (parse_options_and_default_flags): Turn flag_unswitch_loops on with -O3.
5882
5883 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
5884
5885         * config/h8300/clzsi2.c: New.
5886         * config/h8300/ctzsi2.c: Likewise.
5887         * config/h8300/paritysi2.c: Likewise.
5888         * config/h8300/popcountsi2.c: Likewise.
5889         * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Add above files.
5890
5891 2003-02-07  David Edelsohn  <edelsohn@gnu.org>
5892
5893         * config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
5894         * config/rs6000/rs6000.md (clzsi2): Rename from cntlzw2.
5895         (ctzsi2): New pattern.
5896         (ffssi2): Use clz instead of unspec.
5897         (clzdi2): Rename from cntlzd2.
5898         (ctzdi2): New pattern.
5899         (ffsdi2): Use clz instead of unspec.
5900
5901 2003-02-07  Loren James Rittle  <ljrittle@acm.org>
5902
5903         * config/alpha/freebsd.h (LINK_SPEC): Weaken error to notice.
5904         * config/ia64/freebsd.h (LINK_SPEC): Likewise.
5905         * config/sparc/freebsd.h (LINK_SPEC): Likewise.
5906         * config/i386/freebsd.h (LINK_SPEC): Add clause to mirror other arches.
5907
5908 2003-02-07  Wolfgang Bangerth  <bangerth@ticam.utexas.edu>
5909
5910         * doc/trouble.texi: Document pitfalls of two-stage name lookup.
5911
5912 2003-02-07  Richard Henderson  <rth@redhat.com>
5913
5914         PR 9226
5915         * gcse.c (local_cprop_find_used_regs): New.
5916         (local_cprop_pass): Use it.
5917
5918 2003-02-07  Fred Fish  <fnf@intrinsity.com>
5919
5920         * mips-tfile.c (parse_def): Parenthesize assignments to fix
5921         precedence bugs.
5922
5923 2003-02-07  Segher Boessenkool  <segher@koffie.nl>
5924
5925         * genoutput.c (output_get_insn_name): Handle NOOP_MOVE_INSN_CODE.
5926
5927 2003-02-07  Roger Sayle  <roger@eyesopen.com>
5928
5929         * builtin-types.def (BT_FN_FLOAT_FLOAT_FLOAT): New built-in type.
5930         (BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE): Likewise.
5931         (BT_FN_DOUBLE_DOUBLE_DOUBLE): Likewise.
5932         * builtins.def: Define pow, powf, powl, atan2, atan2f and atan2l
5933         builtin functions (and their __builtin_* variants).
5934         * builtins.c (mathfn_built_in): Handle missing log{,f,l} cases.
5935         (expand_builtin): Don't expand log{,f,l}, pow{,f,l} or atan2{,f,l}
5936         when not optimizing.
5937
5938         * doc/extend.texi: Document new pow and atan2 builtins, and
5939         their float and long double variants.  Realphabetize builtins.
5940
5941 2003-02-07  Jan Hubicka  <jh@suse.cz>
5942
5943         * i386.md (sse2_nandv2di3): Fix.
5944
5945 2003-03-07  Danny Smith  <dannysmith@users.sourceforge.net>
5946
5947         * config/i386/i386.h (MS_AGGREGATE_RETURN): New define.
5948         * config/i386/cygwin.h (MS_AGGREGATE_RETURN): Override default
5949         definition.
5950         * config/i386/i386.h (ix86_return_in_memory): Return aggregate
5951         types of up to 8 bytes via registers if MS_AGGREGATE_RETURN.
5952
5953 2003-02-07  Jan Hubicka  <jh@suse.cz>
5954
5955         * i386.md (movdi_rex64_1): Fix mmx<->int move opcode.
5956
5957 2003-02-07  Daniel Berlin  <dberlin@dberlin.org>
5958
5959         * cfg.c (dump_flow_info): Add back accidently deleted line.
5960
5961 2003-02-07  Andrey Petrov <petrov@netbsd.org>
5962
5963         * optabs.c (expand_float): Search wider integer modes first.
5964
5965 2003-02-07  Bob Wilson  <bob.wilson@acm.org>
5966
5967         * config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Set this
5968         based on preprocessor flag.
5969
5970 2003-02-07  Roger Sayle  <roger@eyesopen.com>
5971             Richard Henderson  <rth@redhat.com>
5972
5973         * gcse.c (implicit_sets): New.
5974         (compute_hash_table_work): Include them in hash table.
5975         (find_implicit_sets, fis_get_condition): New.
5976         (one_cprop_pass): Allocate and free implicit_sets; call
5977         find_implicit_sets before building hash table.
5978
5979 2003-02-07  Jason Thorpe  <thorpej@wasabisystems.com>
5980
5981         * config/t-netbsd (USER_H): Revert previous change.
5982
5983 2003-02-07  Gabor Greif  <ggreif@lucent.com>
5984
5985         * doc/c-tree.texi (Namespaces): Fix typo.
5986
5987 2003-02-07  Jan Hubicka  <jh@suse.cz>
5988
5989         * regrename.c (do_replace, find_oldest_value_reg,
5990         copyprop_hardreg_forward_1): Update register attributes.
5991
5992 2003-02-06  Vladimir Makarov  <vmakarov@redhat.com>
5993
5994         * genautomata.c (VLA_PTR_CREATE, VLA_PTR_EXPAND, VLA_PTR_ADD,
5995         VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD): Use temporay
5996         variables starting with underscore.
5997         (struct unit_usage): New structure.
5998         (unit_usages, cycle_alt_unit_usages): New global variables.
5999         (check_unit_distribution_in_reserv): Remove it.
6000         (store_alt_unit_usage): New function.
6001         (check_regexp_units_distribution): Rewrite it.
6002
6003 2003-02-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6004
6005         * config.gcc (hppa*-*-linux*): Set MASK_NO_SPACE_REGS in
6006         target_cpu_default.
6007         * pa.c (attr_length_call): Add 8 to call length (long indirect PA 1.X)
6008         if not MASK_NO_SPACE_REGS.
6009         (output_call): Adjust return pointer, don't load new space register
6010         into %sr0, and use %sr4 for call if TARGET_NO_SPACE_REGS is true.
6011         (pa_asm_output_mi_thunk): Don't load new space register into %sr0 if
6012         TARGET_NO_SPACE_REGS is true.
6013         * pa.md (return_external_pic): Add TARGET_NO_SPACE_REGS to insn
6014         conditions.
6015         (epilogue): Always use return_internal if TARGET_NO_SPACE_REGS is true.
6016         (interspace_jump): Add new pattern for when TARGET_NO_SPACE_REGS is
6017         true.  Use bve when TARGET_64BIT is true.
6018
6019 2003-02-06  Richard Henderson  <rth@redhat.com>
6020
6021         * combine.c (nonzero_bits): Fix double break.
6022
6023 2003-02-06  Eric Botcazou <ebotcazou@libertysurf.fr>
6024             Richard Henderson <rth@redhat.com>
6025
6026         PR c/9530
6027         * config/i386/i386.c (ix86_function_ok_for_sibcall): Forbid sibcalls
6028         from functions that return a float to functions that don't.
6029
6030 2003-02-06  Jan Hubicka  <jh@suse.cz>
6031
6032         * i386.c (x86_inter_unit_moves): New variable.
6033         (ix86_secondary_memory_needed): Fix 64bit case, honor
6034         TARGET_INTER_UNIT_MOVES
6035         * i386.h (x86_inter_unit_moves): Declare.
6036         (TARGET_INTER_UNIT_MOVES): New macro.
6037         * i386.md (movsi_1): Cleanup constraints; disable
6038         when not doing inter-unit moves.
6039         (movsi_1_nointernunit): New.
6040         (movdi_1_rex64): Fix constraints; deal with SSE->GPR moves.
6041         (movdi_1_rex64_nointerunit): New.
6042         (mivsf_1): disable when not doing inter-unit moves.
6043         (movsf_1_nointerunit): New.
6044
6045         * basic-block.h (inside_basic_block_p):  Declare.
6046         * cfgbuild.c (inside_basic_block_p): Make global.
6047         * haifa-sched.c (unlink_other_notes0: Deal with NOT_INSN_BASIC_BLOCK.
6048         * scheudle-ebb.c  (schedule_ebb): Return last basic block of trace;
6049         update CFG.
6050         (fix_basic_block_boundaries, add_missing_bbs): New.
6051         (rank): Use profile.
6052         (scheudle_ebbs): Rely on CFG; update coments.
6053
6054 2003-02-05  Geoffrey Keating  <geoffk@apple.com>
6055
6056         * Makefile.in (host_hook_obj): New.
6057         (OBJS): Add $(host_hook_obj).
6058         (host_default.o): New rule.
6059         * config.gcc (host_hook_obj): New, default to host-default.o.
6060         (powerpc-*-darwin*): Use host-darwin.o.
6061         (out_host_hook_obj): New.
6062         * configure: Regenerate.
6063         * configure.in: Print information about out_host_hook_obj, substitute
6064         into output files.
6065         * host-default.c: New file.
6066         * hosthooks.h: New file.
6067         * toplev.c (general_init): Call host_hooks.extra_signals.
6068         * config/rs6000/host-darwin.c: New file.
6069         * config/rs6000/x-darwin: New file.
6070         * doc/hostconfig.texi: Add documentation for new host hook.
6071         Rearrange existing documentation.
6072
6073 2003-02-05  Roger Sayle  <roger@eyesopen.com>
6074
6075         * dwarf2out.c (mem_loc_descriptor): Replace ASM_SIMPLIFY_DWARF_ADDR
6076         with *targetm.delegitimize_address.
6077         (rtl_for_decl_location): Likewise.
6078         * dwarfout.c (output_mem_loc_descriptor): Likewise.  Include target.h.
6079         * Makefile.in (dwarf2out.c, dwarfout.c): Depend upon $(TARGET_H)
6080
6081         * config/i386/i386.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
6082         * config/i386/i386-protos.h (i386_simplify_dwarf_addr): Remove
6083         prototype.
6084         * config/i386/i386.c (ix86_delegitimize_address): Renamed from
6085         i386_simplify_dwarf_addr.  Made static.  Prototyped.
6086         (TARGET_DELEGITIMIZE_ADDRESS): Update definition from
6087         i386_simplify_dwarf_addr to ix86_delegitimize_address.
6088         (ix86_find_base_term): Likewise.
6089         (maybe_get_pool_constant): Likewise.
6090
6091         * config/s390/s390.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
6092         * config/s390/s390-protos.h (s390_simplify_dwarf_addr): Remove
6093         prototype.
6094         * config/s390/s390.c (s390_delegitimize_address): Renamed from
6095         s390_simplify_dwarf_addr.  Made static.  Prototyped.
6096         (TARGET_DELEGITIMIZE_ADDRESS): Define as s390_delegitimize_address.
6097
6098 2003-02-05  Richard Henderson  <rth@redhat.com>
6099
6100         PR c/8602
6101         * integrate.c (output_inline_function): Reset input_filename
6102         and lineno from the decl before rest_of_compilation.
6103
6104 2003-02-05  Richard Henderson  <rth@redhat.com>
6105
6106         * defaults.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
6107         (CTZ_DEFINED_VALUE_AT_ZERO): New.
6108         * doc/rtl.texi, doc/tm.texi: Document them.
6109
6110         * combine.c (nonzero_bits) [CLZ, CTZ]: Handle the definedness
6111         of the value at zero properly.
6112         * fold-const.c (tree_expr_nonnegative_p): Likewise.
6113         * simplify-rtx.c (simplify_unary_operation): Likewise.
6114
6115         * config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
6116         (CTZ_DEFINED_VALUE_AT_ZERO): New.
6117
6118         * config/arm/arm.c (TARGET_INIT_BUILTINS): Remove.
6119         (TARGET_EXPAND_BUILTIN): Remove.
6120         (def_builtin, arm_init_builtins, arm_expand_builtin): Remove.
6121         * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
6122         (enum arm_builtins): Remove.
6123         * config/arm/arm.md (UNSPEC_CLZ): Remove.
6124         (clzsi2): Rename from clz; use clz instead of unspec.
6125         (ctzsi2): New.
6126         * config/arm/arm-protos.h: Update.
6127
6128 2003-02-05  Jan Hubicka  <jh@suse.cz>
6129
6130         * i386-protos.h (x86_emit_floatuns):  Declare.
6131         * i386.c (x86_emit_floatuns): New global function.
6132         * i386.md (floatunssisf2, floatunsdisf2,
6133         floatunsdidf2):  New patterns.
6134
6135 2003-01-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6136
6137         * cfgloopmanip.c (force_single_succ_latches): Fix missindentation.
6138
6139 2003-02-05  Hans Boehm <Hans.Boehm@hp.com>
6140
6141         * config/ia64/unwind-ia64.c: include coretypes.h, tm.h to get
6142           config/ia64/linux.h
6143
6144 2003-02-05  Roger Sayle  <roger@eyesopen.com>
6145
6146         * cfgloop.h (flow_bb_inside_loop_p): Correct prototype again.
6147
6148 2003-02-05  Jakub Jelinek  <jakub@redhat.com>
6149
6150         PR optimization/8555
6151         * config/i386/i386.md (sse_mov?fcc split): Handle op2 == op3 case
6152         instead of aborting.
6153
6154 2003-02-04  Richard Henderson  <rth@redhat.com>
6155
6156         * config/i386/i386.md (UNSPEC_BSF): Remove.
6157         (ffssi2): Split into cmove and no_cmove insns and splitters;
6158         lose pentium float trick for now.
6159         (ffssi_1): Add * to name; use CTZ instead of UNSPEC.
6160         (ctzsi2, clzsi2, bsr): New.
6161
6162 2003-02-04  Richard Henderson  <rth@redhat.com>
6163
6164         * config/ia64/ia64.c (rtx_needs_barrier): Handle POPCOUNT,
6165         UNSPEC_GETF_EXP; remove UNSPEC_POPCNT.
6166         * config/ia64/ia64.md (UNSPEC_POPCNT): Remove.
6167         (ffsdi2): Use popcount instead of unspec.
6168         (popcountdi2): Rename from *popcnt.
6169         (ctzdi2, clzdi2, getf_exp_tf): New.
6170
6171 2003-02-04  Kazu Hirata  <kazu@cs.umass.edu>
6172
6173         * genconfig.c (main): Generate CC0_P.
6174         * rtl.h (CC0_P): Remove.
6175
6176 2003-02-04  Richard Henderson  <rth@redhat.com>
6177
6178         * libgcc2.h, libgcc2.c (__ffsSI2): New.
6179         (__ffsDI2): Rename from __ffsdi2.
6180         * mklibgcc.in (lib2funcs): Add _ffssi2.
6181
6182 2003-02-04  Richard Henderson  <rth@redhat.com>
6183
6184         * libgcc2.c (__paritysi2, __paritydi2): Replace last two reduction
6185         rounds with a "bit table" lookup.
6186
6187 2003-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
6188
6189         * reload.c (find_reloads): Do not use the mode specified in the insn
6190         pattern as reload mode for address operands.  Do not generate optional
6191         reloads for operands where a mandatory reload was already pushed.
6192
6193 2003-02-04  Richard Henderson  <rth@redhat.com>
6194
6195         * longlong.h [alpha] (count_leading_zeros, count_trailing_zeros): Use
6196         builtins instead of inline assembly.
6197
6198 2003-02-04  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
6199
6200         PR c/9376
6201         * libgcc2.c (__subvdi3): Fix typo.
6202
6203 2003-02-04  Jan Hubicka  <jh@suse.cz>
6204
6205         * i386.md (movti_rex64):  Fix constraint.
6206
6207 2003-02-04  Jan Hubicka  <jh@suse.cz>
6208
6209         * i386.md (vector push splitters):  Fix typo in resolving conflict.
6210
6211 2003-02-04  Rodney Brown  <rbrown64@csc.com.au>
6212
6213         * config/i386/i386.c (x86_function_profiler): Fix typo in format.
6214
6215 2003-02-04  Phil Edwards  <pme@gcc.gnu.org>
6216
6217         * doc/install.texi (*-*-linux-gnu):  Mention glibc requirements
6218         for recent libstdc++.  Remove formatting cruft.
6219
6220 2003-02-04  Jakub Jelinek  <jakub@redhat.com>
6221
6222         * dwarf2out.c (dwarf2out_finish): Add AT_comp_dir
6223         attribute even if input file name is absolute, but one of the
6224         includes is relative.
6225
6226 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
6227
6228         * doc/gcc.texi, doc/gccint.texi, doc/gcov.texi,
6229         doc/include/fdl.texi, doc/invoke.texi: Update to GFDL 1.2.
6230         * doc/install.texi: Update copyright dates.  Update to GFDL 1.2.
6231
6232 2003-02-03  Richard Henderson  <rth@redhat.com>
6233
6234         * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
6235         __popcountsi2, __popcountdi2, __paritysi2, __paritydi2): Change
6236         return type to "int".  Shuffle declarations and undef int trap.
6237         * libgcc2.h: Remove their declarations.
6238         * optabs.c (expand_unop): Force outmode to int for bitops.
6239
6240 2003-02-03  Bob Wilson  <bob.wilson@acm.org>
6241
6242         * config/xtensa/xtensa.c (order_regs_for_local_alloc): Order the
6243         coprocessor registers before floating-point registers.
6244         * config/xtensa/xtensa.h (REG_ALLOC_ORDER): Adjust register numbers
6245         to account for a previously removed register.
6246         (SPEC_REG_FIRST, SPEC_REG_LAST, SPEC_REG_NUM, COUNT_REGISTER_REGNUM):
6247         Delete unused macros.
6248
6249 2003-02-03  Jan Hubicka  <jh@suse.cz>
6250
6251         * i386.c (ix86_expand_store_builtin):  Always force op1 to register.
6252         (mov*_internal): Fix predicates; require one of operands to not be
6253         memory.
6254         (SSE?MMX move expanders):  Fix predicates; force one of operands to
6255         register.
6256         (SSE/MMX push patterns): Reorganize; fix x86-64 code generation.
6257         (movups/movupd/movdqu patterns): Force one of operands to not be
6258         memory.
6259
6260 2003-02-03  Roger Sayle  <roger@eyesopen.com>
6261
6262         * hooks.c (hook_rtx_rtx_identity): Generic hook function that
6263         takes a single rtx and returns it unmodified.
6264         * hooks.h (hook_rtx_rtx_identity): Prototype here.
6265         * target.h (struct gcc_target): Add "delegitimize_address"
6266         field to target structure.
6267         * target-def.h (TARGET_DELEGITIMIZE_ADDRESS):  Provide default
6268         for delegitimize_address target using hook_rtx_rtx_identity.
6269         (TARGET_INITIALIZER): Initialize delegitimize_address field
6270         using TARGET_DELEGITIMIZE_ADDRESS macro.
6271         * simplify-rtx.c (avoid_constant_pool_reference): Handle float
6272         extensions of constant pool references.  Use delegitimize_address
6273         to undo the obfuscation of "-fpic".
6274         * Makefile.in (simplify-rtx.o): Add dependency on target.h.
6275
6276         * config/i386/i386.c (TARGET_DELEGITIMIZE_ADDRESS): Define as
6277         i386_simplify_dwarf_addr.
6278         (ix86_find_base_term): Simplify using i386_simplify_dwarf_addr.
6279         (maybe_get_pool_constant): Likewise.
6280
6281 2003-02-03  Jan Hubicka  <jh@suse.cz>
6282
6283         * i386.c (ix86_expand_int_movcc):  Fix setcc sign bit case.
6284
6285 2003-02-03  Jan Hubicka  <jh@suse.cz>
6286
6287         * regclass.c (cannot_change_mode_set_regs): Correct argument order.
6288
6289 2003-02-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6290
6291         * mips/_tilib.c: Don't include tsystem.h or defaults.h.  Don't
6292         define LIBGCC2_WORDS_BIG_ENDIAN.  Include coretypes.h and tm.h.
6293
6294 2003-02-02  Andreas Schwab  <schwab@suse.de>
6295
6296         * varasm.c (asm_output_aligned_bss): Declare as possibly unused.
6297
6298 2003-02-02  Richard Earnshaw  <rearnsha@arm.com>
6299
6300         * arm.md (sibcall_epilogue): Set the "conds" to "clob".
6301         (epilogue_insns): Likewise.
6302
6303 2003-02-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6304
6305         * doc/install.texi (hppa*-hp-hpux11*): Update installation notes.
6306
6307 2003-02-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6308
6309         * pa-protos.h (attr_length_millicode_call): Remove second argument.
6310         (attr_length_indirect_call, attr_length_indirect_call,
6311         attr_length_save_restore_dltp): New prototypes.
6312         * pa.c (attr_length_millicode_call): Remove second argument.  Check
6313         INSN_ADDRESSES_SET_P in distance calculation.
6314         (output_millicode_call): Check INSN_ADDRESSES_SET_P before using
6315         INSN_ADDRESSES.
6316         (attr_length_call): Check INSN_ADDRESSES_SET_P in distance calculation.
6317         (output_call): Check INSN_ADDRESSES_SET_P before using INSN_ADDRESSES.
6318         Call attr_length_call directly.
6319         (attr_length_indirect_call, output_indirect_call,
6320         attr_length_save_restore_dltp): New functions.
6321         * pa.md (attr_length_millicode_call): Drop second argument from all
6322         patterns.
6323         (return_internal_pic): Delete.
6324         (return_external_pic): Remove use of PIC register and pic operand and
6325         flag checks.
6326         (epilogue): Use return_internal for both normal and pic code.
6327         (call, call_value): Emit new 32-bit pic patterns for symref and
6328         indirect calls.  Remove uses for arg pointer and pic register.
6329         (call_symref_pic, call_symref_pic_post_reload, call_reg_pic,
6330         call_reg_pic_post_reload, call_val_symref_pic,
6331         call_val_symref_pic_post_reload, call_val_reg_pic,
6332         call_val_reg_pic_post_reload): New pre and post reload insn patterns.
6333         Implement define_split and define_peephole2 patterns for pre reload
6334         patterns.
6335         (call_symref_64bit, call_internal_reg_64bit, call_value_symref_64bit,
6336         call_value_internal_reg_64bit): Shorten names.
6337         (all call patterns): Explicitly indicate registers used and clobbered.
6338         Use attr_length_indirect_call and attr_length_save_restore_dltp for
6339         attribute length calculation.  Move code generation for indirect calls
6340         to output_indirect_call.
6341         (sibcall, sibcall_value): Don't restore PIC register.
6342         (exception_receiver, builtin_setjmp_receiver): Add blockage after PIC
6343         register retore.
6344
6345 2003-02-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6346
6347         * doc/install.texi (Testing): Simplify and compress instructions
6348         concerning Dejagnu.
6349
6350 2003-02-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6351
6352         * collect2.c (pexecute_pid): Rename to pid.
6353         (collect_wait, collect_execute, scan_prog_file, scan_libraries): Use
6354         pid.
6355
6356 2003-02-01  Geoffrey Keating  <geoffk@apple.com>
6357
6358         * doc/extend.texi (Function Attributes): Remove documentation
6359         for PowerPC Windows NT function attributes..
6360
6361 2003-02-01  Daniel Jacobowitz  <drow@mvista.com>
6362
6363         * dwarf2out.c (gen_type_die): Check for typedefs before calling
6364         for TYPE_MAIN_VARIANT.
6365
6366 2003-02-01  Richard Henderson  <rth@redhat.com>
6367
6368         * libgcc2.c: Include auto-host.h.
6369         (ATTRIBUTE_HIDDEN): New.
6370         (__clz_tab): Don't declare here for clz and ctz.
6371         (__clzsi2, __clzdi2): Use count_leading_zeros.
6372         (__ctzsi2, __ctzdi2): Use count_trailing_zeros.
6373         (__popcount_tab): Mark ATTRIBUTE_HIDDEN.
6374         (__paritysi2, __paritydi2): Use shifts instead of __popcount_tab.
6375         * longlong.h (__clz_tab): Mark ATTRIBUTE_HIDDEN.
6376
6377 2003-02-01  Richard Henderson  <rth@redhat.com>
6378
6379         * config/i386/i386.md (addsi_1_zext splitter): Add TARGET_64BIT
6380         to the conditional.
6381         (ashlsi3_1_zext splitter): Likewise.
6382
6383 2003-02-01  Richard Henderson  <rth@redhat.com>
6384
6385         * optabs.c (expand_unop): Use word_mode for outmode of bit scaners.
6386         * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
6387         __popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change
6388         return type to Wtype.
6389
6390         * libgcc-std.ver (GCC_3.4): Fix inheritance.
6391
6392         * config/i386/i386.md (ffssi2): Use nonimmediate_operand for
6393         expander input constraint.
6394
6395 2003-02-01  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
6396
6397         * optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and
6398         OTI_parity.
6399         (clz_optab, ctz_optab, popcount_optab, parity_optab): New.
6400         * optabs.c (widen_clz, expand_parity): New.
6401         (expand_unop): Handle clz and parity.  Hardcode SImode as outmode
6402         for libcalls to clz, ctz, popcount, and parity.
6403         (init_optabs): Init clz_optab, ctz_optab, popcount_optab and
6404         parity_optab, and set up libfunc handlers.
6405         * libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
6406         __popcountsi2, __popcountdi2, __paritysi2 __paritydi2,
6407         __popcount_tab): New.
6408         * libgcc2.h: Declare them.
6409         * libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c.
6410         * genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab
6411         and parity_optab.
6412         * builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New.
6413         * builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT,
6414         BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL,
6415         BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL,
6416         BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL,
6417         BUILT_IN_PARITYLL): New.
6418         * builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs
6419         and add optab argument.
6420         (expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*.
6421         * tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New.
6422         * expr.c (expand_expr): Handle them.
6423         * fold-const.c (tree_expr_nonnegative_p): Likewise.
6424         * rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New.
6425         * reload1.c (eliminate_regs): Handle them.
6426         (elimination_effects): Likewise.
6427         * function.c (instantiate_virtual_regs_1): Likewise
6428         * genattrtab.c (check_attr_value): Likewise.
6429         * simplify-rtx.c (simplify_unary_operation): Likewise.
6430         * c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR.
6431         * combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY.
6432         (nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY.
6433         * config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New.
6434         * config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to
6435         __builtin_arm_clz.
6436         * Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move...
6437         * mklibgcc.in (lib2funcs): ...here and merge.  Add new members.
6438         * doc/extend.texi (Other Builtins): Add new builtins.
6439         * doc/md.texi (Standard Names): Add new patterns.
6440
6441 2003-02-01  Ulrich Weigand  <uweigand@de.ibm.com>
6442
6443         * reload.c: Revert 2003-01-31 change.
6444
6445 2003-02-01  Jan Hubicka  <jh@suse.cz>
6446
6447         * combine.c (combine_simplify_rtx):  Use reversed_comparison_code_parts.
6448
6449 2003-02-01  Richard Sandiford  <rsandifo@redhat.com>
6450
6451         * flags.h (flag_volatile): Remove declaration.
6452         (flag_volatile_global, flag_volatile_static): Likewise.
6453         * c-typeck.c (build_indirect_ref): Don't check flag_volatile.
6454         * toplev.c (flag_volatile): Remove definition.
6455         (flag_volatile_global, flag_volatile_static): Likewise.
6456         (f_options): Remove corresponding entries here.
6457         * varasm.c (make_decl_rtl): Don't check flag_volatile_global
6458         or flag_volatile_static.
6459         * doc/invoke.texi: Remove documentation of -fvolatile,
6460         -fvolatile-global and -fvolatile-static.
6461
6462 2003-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6463
6464         * pa.c (pa_output_function_prologue, pa_output_function_epilogue): Move
6465         updating of total_code_bytes from prologue to epilogue.
6466
6467 2003-01-31  Ulrich Weigand  <uweigand@de.ibm.com>
6468
6469         * reload.c (find_reloads): Do not use the mode specified in the insn
6470         pattern as reload mode for address operands.  Do not generate optional
6471         reloads for operands where a mandatory reload was already pushed.
6472         Generate optional reloads only in the final pass though find_reloads.
6473         (have_replacement_p): New function.
6474
6475 2003-01-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6476
6477         * doc/install.texi (Testing): Remove a reference to our obsolete
6478         /testresults web pages and strip redundant information concerning
6479         test results.
6480         (Binaries): Refer to Microsoft Windows instead of listing all
6481         possible variants.
6482
6483 2003-02-01  Jan Hubicka  <jh@suse.cz>
6484
6485         * loop.c (emit_prefetch_instructions):  Do conversion at right place in
6486         RTL chain.
6487
6488         * combine.c (simplify_set): Reverse order of ragumetns to
6489         REG_CANNOT_CHANGE_MODE_P
6490         * df.c (df_def_record_1): Likewise.
6491         * recog.c (register_operand): Likewise.
6492         * simplify-rtx.c (simplify_subreg): Likewise.
6493         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Update use of
6494         CANNOT_CHANGE_MODE_CLASS.
6495         * regclass.c (cannot_change_mode_set_regs, invalid_mode_change_p):
6496         Likewise.
6497         * reload.c (push_reload): Likewise.
6498         * alpha.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
6499         * ia64.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
6500         * mips.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
6501         * mips-protos.h (mips_cannot_change_mode_class): Update prototype.
6502         * mips.c (mips_cannot_change_mode_class): Update.
6503         * pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
6504         * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
6505         * s390.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
6506         * sh.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
6507         * sh-protos.h (sh_cannot_change_mode_class): Update prototype.
6508         * sh.c (sh_cannot_change_mode_class): Update.
6509         * i386.h (CANNOT_CHANGE_MODE_CLASS): New.
6510         * tm.texi (CANNOT_CHANGE_MODE_CLASS): Update documentation.
6511
6512 2003-01-31  Geoffrey Keating  <geoffk@apple.com>
6513
6514         * config/darwin.h (LINK_COMMAND_SPEC): Update for Nathan's recent
6515         change to LINK_COMMAND_SPEC in gcc.c.
6516
6517 2003-01-31  Jan Hubicka  <jh@suse.cz>
6518
6519         PR c/9506
6520         * i386.c (override_options): Use DEFAULT_PCC_STRUCT_RETURN.
6521
6522 2003-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6523
6524         * pa32-regs.h (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Delete
6525         duplicated code.
6526
6527 2003-01-31  Nathan Sidwell  <nathan@codesourcery.com>
6528
6529         * tree.h (TYPE_BINFO_SIZE, TYPE_BINFO_SIZE_UNIT): Remove.
6530         (BINFO_ELTS): New #define.
6531         * stor-layout.c (finalize_record_size): Don't set them.
6532         * cp/cp-tree.h (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX,
6533         BINFO_PRIMARY_BASE_OF): Use BINFO_ELTS.
6534         (BINFO_LANG_ELTS): New #define.
6535         * cp/tree.c (make_binfo): Use BINFO_LANG_ELTS.
6536         * java/class.c (make_class): Use BINFO_ELTS.
6537         (set_super_info): Likewse.
6538         (add_interface_do): Likewise.
6539         * objc/objc-act.c (start_class): Use BINFO_ELTS.
6540
6541 2003-01-31 Danny Smith <dannysmith@users.sourceforge.net>
6542
6543         * timevar.c (getrusage): Don't ever declare if not HAVE_GETRUSAGE.
6544         (times): Don't ever declare if not HAVE_TIMES.
6545         (clock): Don't ever declare if not HAVE_CLOCK.
6546
6547 2003-01-30  Richard Henderson  <rth@redhat.com>
6548
6549         * flow.c (update_life_info): Zap life info after cleanup_cfg.
6550         (regno_uninitialized): Use correct live at function entry set.
6551         (regno_clobbered_at_setjmp): Likewise.
6552
6553         * expr.c (store_expr): Promote all MEM intermediates to regs.
6554
6555 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
6556
6557         * config/arm/arm.c: Fix comment typos.
6558         * config/arm/arm.h: Likewise.
6559         * config/arm/netbsd-elf.h: Likewise.
6560         * config/arm/netbsd.h: Likewise.
6561
6562 2003-01-30  Geoffrey Keating  <geoffk@apple.com>
6563
6564         * gengtype.c (struct walk_type_data): Add needs_cast_p.
6565         (walk_type): Set needs_cast_p in walk_type_data.
6566         (write_types_process_field): Supply casts when required to suppress
6567         warnings.
6568         (write_root): Cast gt_pch_n_S to suppress warning.
6569         * Makefile.in: Remove -Wno-error from gtype-desc.o and c-decl.o.
6570         * config/rs6000/rs6000.c (print_operand): Mask off high bits only
6571         when they might exist.
6572         * config/rs6000/t-rs6000: Remove -Wno-error from varasm.o,
6573         insn-conditions.o, and rs6000.o.
6574
6575 2003-01-30  Richard Henderson  <rth@redhat.com>
6576
6577         * ggc-page.c (G.context_depth_allocations): New.
6578         (G.context_depth_collections): New.
6579         (alloc_page): Set G.context_depth_allocations.
6580         (ggc_collect): Set G.context_depth_collections.
6581         (ggc_push_context): Limit to HOST_BITS_PER_LONG contexts.
6582         (ggc_pop_context): Early exit for no allocations or collections.
6583
6584 2003-01-30  Richard Henderson  <rth@redhat.com>
6585
6586         * tree-inline.c (walk_tree): Streamline duplicate hash table lookup.
6587
6588 2003-01-30  Richard Earnshaw  <rearnsha@arm.com>
6589
6590         * arm.c (arm_compute_initial_elimination_offset): If optimizing for
6591         size, the link register is always saved if any other register is
6592         saved.
6593
6594 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
6595
6596         * config/h8300/h8300-protos.h: Update the prototype for
6597         compute_plussi_cc.
6598         (cpp_reader): Declare before it is used.
6599         * config/h8300/h8300.c (compute_plussi_cc): Change the return
6600         type to int.
6601         * config/h8300/h8300.md (monitor_prologue): Call abort() if we
6602         see an unknown H8 variant.
6603
6604 2003-01-30  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
6605
6606         PR target/9316
6607         * config/rs6000/rtems.h: Add CPP_OS_DEFAULT_SPEC.
6608         * config/rs6000/sysv4.h: Add CPP_OS_RTEMS_SPEC.
6609         * config/rs6000/t-rtems: New file. multilib variants to match OS.
6610         * config.gcc (powerpc-*-rtems*): Use rs6000/t-rtems instead of
6611         rs6000/t-ppcgas so we get the desired multilibs.
6612
6613 2003-01-30  Nick Clifton  <nickc@redhat.com>
6614
6615         * config/arm/arm.c (arm_output_epilogue): Update stack pointer
6616         when popping saved IP register off the stack.
6617
6618 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
6619
6620         * config/rs6000/aix43.h: Fix comment typos.
6621         * config/rs6000/aix51.h: Likewise.
6622         * config/rs6000/aix52.h: Likewise.
6623         * config/rs6000/altivec.h: Likewise.
6624         * config/rs6000/rs6000.c: Likewise.
6625         * config/rs6000/rs6000.h: Likewise.
6626         * config/rs6000/rs6000.md: Likewise.
6627         * config/rs6000/spe.md: Likewise.
6628
6629 2003-01-29  Mark Mitchell  <mark@codesourcery.com>
6630
6631         * c-common.c (builtin_define_float_constants): Define
6632         __<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
6633
6634 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
6635
6636         * config/sh/lib1funcs.asm: Fix comment typos.
6637         * config/sh/linux.h: Likewise.
6638         * config/sh/sh.c: Likewise.
6639         * config/sh/sh.md: Likewise.
6640
6641 2003-01-30  Loren James Rittle  <ljrittle@acm.org>
6642
6643         * objc/Make-lang.in (objc-parse.y): Find c-parse.in in $(srcdir).
6644
6645 2003-01-30  Alexandre Oliva  <aoliva@redhat.com>
6646
6647         * config/fp-bit.h (__make_dp): Declare if TMODES.
6648
6649 2003-01-29  Kazu Hirata  <kazu@cs.umass.edu>
6650
6651         * config/h8300/h8300.h (PREDICATE_CODES): Add entries for
6652         general_operand_src and general_operand_dst.
6653
6654 2003-01-29  David Edelsohn  <edelsohn@gnu.org>
6655
6656         * config/rs6000/rs6000.c (function_arg_pass_by_reference):
6657         Return true for variable sized types.
6658         (rs6000_va_arg): Handle variable sized types passed by reference
6659         on non-SVR4 ABI.
6660
6661 2003-01-29  Richard Earnshaw  <rearnsha@arm.com>
6662
6663         * arm.c (arm_legtimize_address): New function.
6664         * arm-protos.h (arm_legtimize_address): Add prototype.
6665         * arm.h (ARM_LEGITIMIZE_ADDRESS): Use arm_legitimize_address.
6666         (LEGITIMIZE_ADDRESS, THUMB_LEGITIMIZE_ADDRESS): Wrap with
6667         do ... while (0)
6668
6669 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
6670
6671         PR bootstrap/9296
6672         * gthr-rtems.h: Define __GTHREAD_MUTEX_INIT.  Apparently no code
6673         depended on it being defined until now.
6674
6675 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
6676
6677         PR target/9295
6678         * config/mips/rtems.h: Predefine __USE_INIT_FINI__ so generic
6679         RTEMS code knows which C++ initialization style the toolset
6680         configuration is using.
6681
6682 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
6683
6684         PR bootstrap/9293
6685         * config/m68k/t-crtstuff: Replace spaces with tabs, add
6686          $(MULTILIB_CFLAGS) as compiler option and multilib crtbegin/end.o.
6687
6688 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
6689
6690         PR bootstrap/9292
6691         * config.gcc (hppa1.1-rtems):  Did not include t-rtems nor enable
6692         RTEMS threads.
6693         * config/pa/rtems.h (LIB_SPEC): Use -N when linking.
6694
6695 2003-01-29  Nick Clifton  <nickc@redhat.com>
6696
6697         * Makefile.in (c-parse.o): Locate source file in $(parsedir)
6698         not $(srcdir).
6699
6700 2003-01-29  Andrew Haley  <aph@redhat.com>
6701
6702         * tree-inline.c (walk_tree): Add CHAR_TYPE.
6703
6704 2003-01-29  Jan Hubicka  <jh@suse.cz>
6705
6706         * i386.md (subdi3_carry_rex64): Fix typo.
6707
6708 2003-01-28  Stan Shebs  <shebs@apple.com>
6709
6710         * coretypes.h (cpp_reader): Forward declare struct.
6711         * c-pragma.h (cpp_reader): Remove forward declaration.
6712         * hashtable.h (cpp_reader): Likewise.
6713         * scan.h (cpp_reader): Likewise.
6714         * tree.h (cpp_reader): Likewise.
6715         * config/darwin-protos.h (cpp_reader): Likewise.
6716         * config/arm/arm-protos.h (cpp_reader): Likewise.
6717         * config/rs6000/rs6000-protos.h: Remove GCC_CPPLIB_H ifdef, use
6718         struct cpp_reader in prototypes.
6719
6720 2003-01-28  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
6721
6722         * doc/install.texi: Add documentation for installation into
6723         tooldirs and with DESTDIR.
6724
6725 2003-01-28  Richard Henderson  <rth@redhat.com>
6726
6727         * config.gcc (ia64*-*-aix*): Remove.
6728         * config/ia64/aix.h, config/ia64/t-aix: Remove file.
6729         * config/ia64/unwind-aix.c: Remove file.
6730
6731 2003-01-28  Andreas Schwab  <schwab@suse.de>
6732
6733         * config/m68k/m68k.md (tablejump+2): Don't sign extend an address
6734         register.
6735         * config/m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Likewise.
6736         * config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Likewise.
6737         * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Likewise.
6738         * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
6739         * config/m68k/mot3300.h (ASM_RETURN_CASE_JUMP): Likewise.
6740         * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
6741         * config/m68k/pbb.h (ASM_RETURN_CASE_JUMP): Likewise.
6742
6743 2003-01-28  Richard Sandiford  <rsandifo@redhat.com>
6744
6745         * combine.c (nonzero_bits): Fix check for negative divide operands.
6746
6747 2003-01-28  Richard Henderson  <rth@redhat.com>
6748
6749         * config/ia64/ia64.c (ia64_rwreloc_section_type_flags): New.
6750         * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): New.
6751
6752 2003-01-28  Richard Henderson  <rth@redhat.com>
6753
6754         * cse.c (find_best_addr): Kill !ADDRESS_COST code.
6755
6756         * config/cris/cris.c (cris_address_cost): Make static.
6757         (TARGET_RTX_COSTS, TARGET_ADDRESS_COST): New.
6758         * config/cris/cris.h (ADDRESS_COST): Remove.
6759         * config/cris/cris-protos.h: Update.
6760
6761 2003-01-23  Mike Stump  <mrs@apple.com>
6762
6763         * regclass.c (init_reg_autoinc): New function.
6764         (regclass): Move initialization of forbidden_inc_dec_class from
6765         here...
6766         (init_regs): to here.  Avoids reinitialization for each function,
6767         saving compilation time.
6768
6769 2003-01-28  Jason Merrill  <jason@redhat.com>
6770
6771         * cpplib.h (struct cpp_options): Add warn_deprecated field.
6772         * cppinit.c (cpp_create_reader): Turn it on by default.
6773         * c-opts.c (c_common_decode_option): Set it.
6774         * cpplib.c (do_pragma_once): Only complain about #pragma once
6775         if warn_deprecated is set.
6776
6777 2003-01-28  Dale Johannesen  <dalej@apple.com>
6778
6779         * emit-rtl.c (const_double_htab_hash):  Use mode in the hash.
6780         * loop.c (scan_loop):  Move movables on -Os rich-register targets.
6781         * config/rs6000/rs6000.md (sibcall*):  Use match_operand for LR.
6782
6783 2003-01-28  Richard Henderson  <rth@redhat.com>
6784
6785         * target.h (targetm.address_cost): New.
6786         * target-def.h (TARGET_ADDRESS_COST): New.
6787         (TARGET_RTX_COSTS): Uncomment.  Oops.
6788         * cse.c (address_cost): Use new target hook.
6789         (default_address_cost): New.
6790         * output.h (default_address_cost): Declare.
6791         * hooks.c (hook_int_rtx_0): New.
6792         * hooks.h (hook_int_rtx_0): Declare.
6793         * loop.c (combine_givs_p): Remove if 0 code.
6794         * system.h (ADDRESS_COST): Poison.
6795
6796         * config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c,
6797         config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h,
6798         config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c,
6799         config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h,
6800         config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c,
6801         config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h,
6802         config/xtensa/xtensa.c, config/xtensa/xtensa.h
6803         (TARGET_ADDRESS_COST): Define as hook_int_rtx_0.
6804         (ADDRESS_COST): Remove.
6805
6806         * config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
6807         config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
6808         config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
6809         config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
6810         config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h,
6811         config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h,
6812         config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h,
6813         config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h,
6814         config/mips/mips.c, config/mips/mips.h,
6815         config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
6816         config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h,
6817         config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h,
6818         config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h,
6819         config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h,
6820         config/vax/vax.c, config/vax/vax.h
6821         (foo_address_cost): Make static.
6822         (TARGET_ADDRESS_COST): New.
6823         (ADDRESS_COST): Remove.
6824
6825         * config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h,
6826         config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c,
6827         config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
6828         config/stormy16/stormy16.h
6829         (ADDRESS_COST): Move code ...
6830         (foo_address_cost): ... here.
6831         (TARGET_ADDRESS_COST): New.
6832
6833         * config/m32r/m32r.c (m32r_address_cost): Remove.
6834         * config/m32r/m32r-protos.h: Update.
6835
6836         * config/mmix/mmix.c (mmix_address_cost): Remove.
6837         * config/mmix/mmix-protos.h: Update.
6838
6839         * config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from
6840         mn10300_address_cost; move unsig allocation ...
6841         (mn10300_address_cost): ... here.
6842         (TARGET_ADDRESS_COST): New.
6843         * config/mn10300/mn10300-protos.h: Update.
6844         * config/mn10300/mn10300.h (ADDRESS_COST): Remove.
6845
6846         * doc/tm.texi: Update.
6847
6848 2003-01-28  Vladimir Makarov  <vmakarov@redhat.com>
6849
6850         * haifa-sched.c (schedule_insn): Return necessary cycle advance
6851         after issuing the insn.
6852         (rank_for_schedule): Make a insn with /S the highest priority
6853         insn.
6854         (move_insn): Ignore schedule groups.  Clear SCHED_GROUP_P.
6855         (choose_ready): Check SCHED_GROUP_P.
6856         (schedule_block): Advance cycle after issuing insn if it is
6857         necessary.  Don't reorder insns if there is an insn with /S.
6858         (set_priorities): Ignore schedule groups.
6859
6860         * sched-deps.c (remove_dependence, group_leader): Remove the
6861         functions.
6862         (add_dependence): Ignore schedule groups.
6863         (set_sched_group_p): Don't make copy of dependencies from previous
6864         insn of the schedule group.  Add anti-dependency to the previous
6865         insn of the schedule group.
6866         (compute_forward_dependences): Ignore schedule groups.
6867
6868         * sched-ebb.c (init_ready_list): Ignore schedule groups.
6869
6870         * sched-rgn.c (init_ready_list): Ditto.
6871         (can_schedule_ready_p): Ditto.
6872
6873 2003-01-28  Vladimir Makarov  <vmakarov@redhat.com>
6874
6875         * config/i386/i386.md (*movsi_1): Use movdqa to move one xmm
6876         register to another one.
6877
6878 2003-01-28  Richard Henderson  <rth@redhat.com>
6879
6880         * calls.c (default_must_pass_in_stack): Fix typo in !type case.
6881
6882 2003-01-28  Roger Sayle  <roger@eyesopen.com>
6883
6884         * cse.c (cse_insn): Avoid redundant REG_EQUAL notes.
6885
6886 2003-01-28  Richard Sandiford  <rsandifo@redhat.com>
6887
6888         * config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given
6889         class contains a floating-point register, return the size of the
6890         mode in half words.
6891
6892 2003-01-28  Jan Hubicka  <jh@suse.cz>
6893
6894         * i386.c (ix86_carry_flag_operator):  New predicate.
6895         (fcmov_operator): Fix whitespace.
6896         (ix86_expand_carry_flag_compare):  Deal with floating point.
6897         (ix86_expand_int_movcc): Deal with fp; update insn expansion
6898         (ix86_expand_int_addcc): Likewise.
6899         (ix86_expand_strlensi_unroll_1): likewsie.
6900         * i386.h (PREDICATE_CODES): Add ix86_carry_flag_operator.
6901         * i386.md (add?i_carry_rex64): Use new predicate.
6902         (sub?i3_carry_rex64): Likewise.
6903         (x86_mov?icc_0_m1*): Likewise.
6904
6905 2003-01-28  Andreas Schwab  <schwab@suse.de>
6906
6907         * cfgloopmanip.c (create_preheader): Initialize src to avoid
6908         warning.
6909
6910         * expmed.c (emit_store_flag): Fix cast to avoid sign
6911         comparison warning.
6912
6913         * combine.c (force_to_mode): Add cast to fix warning when
6914         STORE_FLAG_VALUE is negative.
6915
6916 2003-01-27  Richard Henderson  <rth@redhat.com>
6917
6918         * Makefile.in (cse.o): Depend on TARGET_H.
6919         * cse.c (rtx_cost): Use targetm.rtx_costs.
6920         * system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
6921         * doc/tm.texi: Update.
6922
6923         * target.h (targetm.rtx_costs): New.
6924         * target-def.h (TARGET_RTX_COSTS): New.
6925         * hooks.c (hook_bool_rtx_int_int_intp_false): New.
6926         * hooks.h: Update.
6927
6928         * config/alpha/alpha.c (alpha_rtx_cost_data): New.
6929         (alpha_rtx_costs, TARGET_RTX_COSTS): New.
6930         * config/alpha/alpha.h (PROCESSOR_MAX): New.
6931         (CONST_COSTS, RTX_COSTS): Remove.
6932
6933         * config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
6934         config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
6935         config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
6936         config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
6937         config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
6938         config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
6939         config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
6940         config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
6941         config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
6942         config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
6943         config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
6944         config/mn10200/mn10200.h, config/mn10300/mn10300.c,
6945         config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
6946         config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
6947         config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
6948         config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
6949         config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
6950         config/stormy16/stormy16.c, config/stormy16/stormy16.h,
6951         config/v850/v850.c, config/v850/v850.h,
6952         config/xtensa/xtensa.c, config/xtensa/xtensa.h
6953         (CONST_COSTS, RTX_COSTS): Move code ...
6954         (foo_rtx_costs, TARGET_RTX_COSTS): ... here.
6955
6956         * config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
6957         (arm_rtx_costs, TARGET_RTX_COSTS): New.
6958         * config/arm/arm-protos.h: Update.
6959         * config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.
6960
6961         * config/avr/avr.h (CONST_COSTS): Move code ...
6962         * config/avr/avr.c (avr_rtx_costs): ... here.
6963         (default_rtx_costs): Make static.
6964         * config/avr/avr-protos.h: Update.
6965
6966         * config/h8300/h8300.c (const_costs): Make static.
6967         (h8300_and_costs, h8300_shift_costs): Likewise.
6968         * config/h8300/h8300-protos.h: Update.
6969
6970         * config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
6971         (CONST_COSTS): Move code ...
6972         * config/ip2k/ip2k.c (ip2k_rtx_costs): ... here.  Rename from
6973         default_rtx_costs; update for signature change.
6974         * config/ip2k/ip2k-protos.h: Update.
6975
6976         * config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
6977         (CONST_COSTS): Move code ...
6978         * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
6979         (TARGET_RTX_COSTS): New.
6980         (m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
6981         * config/m68hc11/m68hc11-protos.h: Update.
6982
6983         * config/m68k/m68k.c (const_int_cost): Make static.
6984         * config/m68k/m68k-protos.h: Update.
6985
6986         * config/mcore/mcore.c (mcore_const_costs): Make static.
6987         (mcore_and_cost, mcore_ior_cost): Likewise.
6988         * config/mcore/mcore-protos.h: Update.
6989
6990         * config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
6991         (mmix_rtx_cost_recalculated): Remove.
6992         * config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
6993         * config/mmix/mmix-protos.h: Update.
6994
6995         * config/sh/sh.c (shiftcosts): Make static.
6996         (addsubcosts, andcosts, multcosts): Likewise.
6997         * config/sh/sh-protos.h: Update.
6998
6999         * config/sparc/sparc.c (TARGET_RTX_COSTS): New.
7000         (sparc_rtx_costs): Make static; update for change in signature.
7001         * config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
7002         * config/sparc/sparc-protos.h: Update.
7003
7004         * config/v850/v850.c (const_costs): Make static.
7005         * config/v850/v850-protos.h: Update.
7006
7007         * config/vax/vax.h (RTX_COSTS): Remove.
7008         (CONST_COSTS): Move code ...
7009         * config/vax/vax.c (vax_rtx_costs_1): ... here; rename
7010         from vax_rtx_cost.
7011         (vax_rtx_costs, TARGET_RTX_COSTS): New.
7012
7013 2003-01-27  Richard Henderson  <rth@redhat.com>
7014
7015         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.  Really.
7016         * config/vax/vax-protos.h: Update.  Really.
7017
7018 2003-01-28  Alexandre Oliva  <aoliva@redhat.com>
7019
7020         * config/mips/mips.h (UNITS_PER_HWFPVALUE): Renamed from...
7021         (UNITS_PER_FPVALUE): Defined as the width of a long double, or
7022         zero if no hardware floating point.
7023         (LONG_DUBLE_TYPE_SIZE): Set to 128 on N32 and N64.
7024         (MAX_FIXED_MODE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE.
7025         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
7026         (BIGGEST_ALIGNMENT): Same as LONG_DOUBLE_TYPE_SIZE.
7027         (FUNCTION_VALUE_REGNO_P): Set for FP_RETURN+2 on N32 and N64.
7028         * config/mips/mips.c (mips_arg_info): Pass TFmode values in
7029         even FP registers on N32 and N64.
7030         (mips_setup_incoming_varargs): Use UNITS_PER_HWFPVALUE.
7031         (mips_va_start): Adjust alignment of ARG_POINTER_REGNUM.
7032         (mips_va_arg): Use UNITS_PER_HWFPVALUE.  Impose additional
7033         even-register-like alignment to 128-bit arguments.
7034         (save_restore_insns): Use UNITS_PER_HWFPVALUE.
7035         (mips_function_value): Likewise.  Return TFmode in $f0 and $f2
7036         on N32 or N64.
7037         * config/mips/_tilib.c (__negti2, __ashlti3, __lshrti3): New.
7038         * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Add _tilib.c.
7039         (TPBIT): Set to tp-bit.c.
7040         (tp-bit.c): Create out of fp-bit.c.
7041
7042 2003-01-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7043
7044         * c-parse.in: Remove '%expect 32' directive in objc mode.
7045
7046 2003-01-27  Nathan Sidwell  <nathan@codesourcery.com>
7047
7048         * Makefile.in (LIB2FUNCS_ST): Remove _gcov.
7049         (LIBGCOV): New variable.
7050         (libgcc.mk): Add LIBGCOV.
7051         (LIBGCC_DEPS): Add libgcov.c.
7052         (libgcov.a): New target.
7053         (clean): Remove libgcov.a.
7054         (install-libgcc): Do libgcov too.
7055         (stage1-start, stage2-start, stage3-start, stage4-start): Deal
7056         with libgcov.a.
7057         * libgcc2.c (L_gcov): Move into ...
7058         * libgcov.c: ... here. New file.
7059         * mklibgcc.in: Add libgcov rules.
7060         * gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling.
7061
7062         * doc/invoke.texi (profile-arcs, test-coverage): Update and
7063         clarify.
7064
7065         * profile.c (index_counts_file): Remove duplicate check for open file.
7066
7067 2003-01-27  Jerry Quinn  <jlquinn@optonline.net>
7068
7069         * gcc/doc/invoke.texi (Optimization Options): Group together
7070         optional and experimental flags.  Move trapv and bounds-check
7071         out of this section.  Group floating point flags together.
7072         (Code Gen Options): Move trapv and bounds-check to here.
7073
7074 2003-01-27  Josef Zlomek  <zlomekj@suse.cz>
7075
7076         * gcse.c (constprop_register): Check NEXT_INSN (insn) != NULL.
7077
7078 2003-01-27  Richard Earnshaw  <rearnsha@arm.com>
7079
7080         PR optimization/9090
7081         * function.c (purge_addressof_1): After pushing an addressed register
7082         onto the stack, simplify the result.
7083
7084 2003-01-27  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
7085
7086         * doc/extend.texi: Fix typo.
7087
7088 2003-01-27  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
7089
7090         * doc/cppopts.texi: Fix typo.
7091         * doc/objc.texi: Likewise.
7092         * doc/passes.texi: Likewise.
7093
7094 2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
7095
7096         * real.c (ibm_extended_format): Add 53 to minimum exponent.
7097         (encode_ibm_extended): Adjust.
7098
7099 2003-01-26  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
7100
7101         * timevar.def (TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION): New
7102         timevar_id enumerations.
7103
7104 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
7105
7106         * combine.c: Fix formatting.
7107
7108 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
7109
7110         * doc/gccint.texi: Update the copyright.
7111
7112 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
7113
7114         * doc/cpp.texi: Fix typos.
7115         * doc/extend.texi: Likewise.
7116         * doc/gty.texi: Likewise.
7117         * doc/install.texi: Likewise.
7118         * doc/passes.texi: Likewise.
7119         * doc/rtl.texi: Likewise.
7120         * doc/tm.texi: Likewise.
7121
7122 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
7123
7124         * config/ia64/fde-glibc.c: Fix comment typos.
7125         * config/ia64/hpux.h: Likewise.
7126         * config/ia64/ia64.c: Likewise.
7127         * config/ia64/ia64.h: Likewise.
7128         * config/ia64/unwind-ia64.c: Likewise.
7129
7130 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
7131
7132         * config/i386/i386-modes.def: Fix comment typos.
7133         * config/i386/i386.c: Likewise.
7134         * config/i386/i386.md: Likewise.
7135
7136 2003-01-26  Steven Bosscher  <s.bosscher@student.tudelft.nl>
7137
7138         * config/avr/avr.h, config/cris/aout.h, config/elfos.h,
7139         config/i386/freebsd-aout.h, config/mips/iris6.h: Undefine
7140         ASM_FINISH_DECLARE_OBJECT before defining it.
7141         * toplev.c (rest_of_decl_compilation):  Don't define
7142         ASM_FINISH_DECLARE_OBJECT.  Only use it if it is defined.
7143         (rest_of_type_compilation): Don't ATTRIBUTE_UNUSED function
7144         parameters for DWARF2 targets because they _are_ used.
7145
7146 2003-01-26  Alexandre Oliva  <aoliva@redhat.com>
7147
7148         * fp-bit.h: Define macros for TFmode floating-point constants
7149         in IBM-extended TFmode types.
7150         (TMODES): Define if __LDBL_MANT_DIG__ has the newly-supported
7151         widths.
7152         * config/fp-bit.c (pack_d, unpack_d): Support IBM-extended
7153         TFmode type.
7154
7155         * config/fp-bit.h: Define macros for TFmode floating-point
7156         constants in IEEE quad TFmode type.  Declare functions according
7157         to L_ macros.
7158         (TMODES): Define if __LDBL_MANT_DIG__ is 113.
7159         (TFtype, TItype, UTItype): Define if TMODES is defined.
7160         (MAX_UDI_INT, MAX_DI_INT, BITS_PER_DI): Likewise.
7161         (F_T_BITOFF, D_T_BITOFF): Define.
7162         (IMPLICIT_1, IMPLICIT_2): Cast constants to types that are
7163         guaranteed to be wide enough.
7164         * config/fp-bit.c: Check for L_ macros for tf functions.
7165         (__thenan_tf): New.
7166         (nan): Adjust.
7167         (pack_d, unpack_d): Support IEEE 854 quad type.
7168         (_fpmul_parts): Support TFmode.  Compute exponent adjustment
7169         from FRAC_NBITS, FRAC_BITS and NGARDS.
7170         (usi_to_float): Cast constants to be shifted to fractype
7171         instead of assuming long long is wide enough.
7172         (sf_to_tf, df_to_tf, __make_tp, tf_to_df, tf_to_sf): New.
7173
7174 2003-01-26  Andreas Jaeger  <aj@suse.de>
7175
7176         * df.c: Remove prototype of unused function df_regno_rtl_debug.
7177
7178 2003-01-26  Alexandre Oliva  <aoliva@redhat.com>
7179
7180         * Makefile.in (FPBIT_FUNCS): Added _sf_to_tf.
7181         (DBBIT_FUNCS): Added _df_to_tf.
7182         (TPBIT_FUNCS): New.
7183         (libgcc.mk): Pass TPBIT and TPBIT_FUNCS down.
7184         (LIBGCC_DEPS): Added TPBIT.
7185         * mklibgcc.in: Support TPBIT and TPBIT_FUNCS.
7186
7187         * optabs.c (expand_binop) <add, sub>: Return xtarget if we haven't
7188         been able to move the result to target.
7189
7190         * expr.c (emit_group_store): Initialize dst with CONST0_RTX
7191         for the appropriate mode.
7192
7193         * calls.c (emit_library_call_value_1): Handle return values
7194         in a PARALLEL.
7195
7196         * rtl.c (get_mode_alignment): Moved to...
7197         * stor-layout.c: ... here.
7198
7199         * print-rtl.c (print_rtx): Don't print MEM details in
7200         GENERATOR_FILEs.
7201
7202 2003-01-26  Michael Hayes  <mph@paradise.net.nz>
7203
7204         * df.h: Update comments, tidy formatting.
7205         (DF_FORWARD, DF_REVERSE, DF_UNION, DF_INTERSECTION): Rename from FORWARD,
7206         REVERSE, UNION, INTERSECTION.  All uses updated.
7207         (OLD_DF_INTERFACE): Remove.
7208         (struct insn_info): Remove commented out insn field.
7209         * df.c: Update comments, tidy formatting.
7210         (df_def_table_realloc): Remove.
7211
7212
7213 2003-01-26  Alan Modra  <amodra@bigpond.net.au>
7214
7215         * calls.c (save_fixed_argument_area): Tidy.
7216         (restore_fixed_argument_area): Tidy.  Set alignment of stack_area.
7217         (expand_call): Comment typo fixes.  Don't init low_to_save.  Start
7218         call chain loop at 1 if !try_tail_call.  Formatting.
7219         (emit_library_call_value_1): Don't init low_to_save or high_to_save.
7220         Use save_fixed_argument_area and restore_fixed_argument_area.
7221
7222 2003-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7223
7224         * df.c (df_uses_record): Handle CC0.
7225
7226 2003-01-25  Ulrich Weigand  <uweigand@de.ibm.com>
7227
7228         * reload.c (maybe_memory_address_p): New function.
7229         (find_reloads_address): Use it instead of memory_address_p.
7230
7231 2003-01-25  Kaz Kojima  <kkojima@gcc.gnu.org>
7232
7233         * final.c (shorten_branches): Align the address of code label
7234         when computing initial lengths and addresses.
7235
7236 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
7237
7238         * config/m68hc11/m68hc11.md: Fix a comment typo.
7239
7240 2003-01-25  Andreas Jaeger  <aj@suse.de>
7241
7242         * config/i386/i386.c (x86_output_mi_thunk): Correct test for
7243         TARGET_MACHO.
7244
7245 2003-01-25  Roger Sayle  <roger@eyesopen.com>
7246
7247         * gcse.c (bypass_last_basic_block): New global variable.
7248         (bypass_block):  Use redirect_edge_and_branch_force to redirect
7249         fall-through edges.  Use bypass_last_basic_block to determine
7250         which blocks have valid PRE information.
7251         (bypass_conditional_jumps): Initialize bypass_last_basic_block.
7252
7253 2003-01-25  Jan Hubicka  <jh@suse.cz>
7254
7255         * gcse.c (local_cprop_pass): Update reg_sets table when needed.
7256
7257 2003-01-25  Jan Hubicka  <jh@suse.cz>
7258                               Eric Botcazou <ebotcazou@libertysurf.fr>
7259         PR opt/8492
7260         * gcse.c (one_cprop_pass): Delete unreachable blocks.
7261
7262 2003-01-25  Richard Henderson  <rth@redhat.com>
7263
7264         * config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename
7265         from ia64_aix_select_rtx_section.
7266         (ia64_rwreloc_select_section): Simlarly; use default*_1 function
7267         instead of saving and restoring flag_pic.
7268         (ia64_rwreloc_unique_section): Similarly.
7269         * config/ia64/aix.h (TARGET_ASM_SELECT_SECTION,
7270         TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update.
7271         * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
7272         TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New.
7273
7274 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
7275
7276         * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a
7277         comment.
7278
7279 2003-01-25  Richard Henderson  <rth@redhat.com>
7280
7281         * config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing.
7282
7283 2003-01-25  Kelley Cook <kelleycook@comcast.net>
7284
7285         * ggc-simple.c (debug_ggc_tree): Add PTR cast.
7286
7287 2003-01-25  Segher Boessenkool  <segher@koffie.nl>
7288
7289         * bitmap.h (BITMAP_WORD): New typedef: fundamental storage
7290         type for bitmaps.  Use unsigned long.
7291         (nBITMAP_WORD_BITS): New macro.
7292         (BITMAP_WORD_BITS): New macro.
7293         (rest of file): Use it.
7294         * bitmap.c: Use it.
7295
7296 2003-01-25  Richard Henderson  <rth@redhat.com>
7297
7298         2002-02-19  Robert Lipe  <robertlipe@usa.net>
7299         * config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
7300
7301 2003-01-25  Roger Sayle  <roger@eyesopen.com>
7302
7303         * builtins.c (purge_builtin_constant_p): Scan insn stream
7304         sequentially rather than by basic block.
7305         * function.c (purge_addressof): Simplify test with INSN_P.
7306
7307 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
7308
7309         * combine.c (simplify_comparison, case AND): Remove a redundant test.
7310
7311 2003-01-25  Roger Sayle  <roger@eyesopen.com>
7312
7313         * function.h (struct function): New field calls_constant_p.
7314         (current_function_calls_constant_p): New macro for above.
7315         * function.c (prepare_function_start): Initialize calls_eh_return
7316         and calls_constant_p.
7317         * builtins.c (expand_builtin_constant_p): Set calls_constant_p.
7318         * toplev.c (rest_of_compilation): Only call purge_builtin_constant_p
7319         when the current_function_calls_constant_p.
7320         * integrate.c (expand_inline_function): Set calls_constant_p if
7321         the function being inlined has calls_constant_p set.
7322
7323 2003-01-25  Roger Sayle  <roger@eyesopen.com>
7324
7325         * cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not
7326         optimizing, even if flag_gcse is true.
7327         * toplev.c (rest_of_compilation): purge_builtin_constant_p
7328         only needs to be called when "optimize > 0 && flag_gcse".
7329
7330 2003-01-25  Roger Sayle  <roger@eyesopen.com>
7331
7332         * stmt.c (emit_case_bit_tests): New routine to implement suitable
7333         switch statements using the equivalent of "if ((1<<x) & cst) ... ".
7334         (case_bit_test_cmp): New comparison function for "qsort" to order
7335         case_bit_tests by decreasing number of destination nodes.
7336         (lshift_cheap_p): New function to determine if "1 << x" is cheap.
7337         (expand_end_case_type): Use emit_case_bit_tests to implement
7338         suitable switch statments.
7339         (CASE_USE_BIT_TESTS): New target macro to disable the above.
7340         * Makefile.in (stmt.o): Add dependency on optab.h.
7341         * doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
7342
7343 2003-01-23  Andreas Schwab  <schwab@suse.de>
7344
7345         * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
7346         __do_global_ctors_aux hidden global and don't put it in
7347         .init_array.
7348         * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
7349         instead so that it comes first.
7350
7351 2003-01-25  Jan Hubicka  <jh@suse.cz>
7352
7353         * df.c (read_modify_subreg_p):  When osize == UNITS_PER_WORD,
7354         subreg is read/modify.
7355
7356 2003-01-25  Jan Hubicka  <jh@suse.cz>
7357
7358         * i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
7359         do libcall for large blocks.
7360         * i386.md (comi patterns): Set type to ssecomi.
7361         (sse2_unpck?pd): Fix mode of vec_select.
7362
7363         * cse.c: Include except.h
7364         (cse_set_around_loop):  Do not create new basic blocks.
7365         * Makefile.in (cse.o): Add dependnecy on except.h
7366
7367 2003-01-25  Jan Hubicka  <jh@suse.cz>
7368
7369         * builtins.c (fold_trunc_transparent_mathfn): New function.
7370         (fold_builtin): Use it.
7371         * convert.c (convert_to_real): Re-enable code to convert
7372         math functions; add support for floor familly functions.
7373
7374 2003-01-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7375
7376         * Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
7377         dependencies on coretypes.h and $(TM_H).
7378
7379 2003-01-25  Jan Hubicka  <jh@suse.cz>
7380
7381         * builtins.c (fold_trunc_transparent_mathfn):  Undo accidental commit.
7382
7383 2003-01-24  Stuart Hastings  <stuart@apple.com>
7384
7385         * config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
7386
7387 2003-01-25  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
7388
7389         * config/c4x/c4x.md (UNSPEC_BU): New constants.
7390         (UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
7391         (UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
7392         (UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
7393         (UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST):  Likewise.
7394         (UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP):  Likewise.
7395         (UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST):  Likewise.
7396         (UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE):  Likewise.
7397
7398 2003-01-24  Jan Hubicka  <jh@suse.cz>
7399
7400         * emit-rtl.c (reg_attrs_htab): New static variable.
7401         (reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
7402         functions.
7403         (reg_rtx): Do not maintain regno_decl.
7404         (gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
7405         set_mem_attrs_from_reg): New global function.
7406         (init_emit): Do not initialize regno_decl.
7407         (init_emit_once): initialize reg_attrs_htab.
7408         * final.c (alter_subreg): Do not replace REG by SUBREG.
7409         (gen_mem_expr_from_op): Improve output.
7410         (output_asm_operands): Likewise.
7411         * function.c (assign_params): Do not set REGNO_DECL.
7412         * function.h (struct function): Kill regno_decl.
7413         (REGNO_DECL): Kill.
7414         * gengtype.c (adjust_field_rtx_def): Handle new field of reg.
7415         * print_rtl.c (print_rtx): Output REG information.
7416         * regclass.c (reg_scan_mark_refs): Update attrs.
7417         * reload1.c (alter_reg): Likewise.
7418         * simplify_rtx.c (simplify_subreg): Likewise.
7419         * stmt.c (expand_decl): Likewise.
7420         * rtl.def (REG): Add new field.
7421         * rtl.h (struct reg_attrs): New.
7422         (rtunion_def): At rtreg.
7423         (X0MEMATTR): Add checking.
7424         (X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
7425         (set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
7426         Declare.
7427         * tree.h (SET_DECL_RTL): Call set_decl_rtl.
7428
7429 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
7430
7431         * config/xtensa/xtensa.c: Remove unused include of machmode.h.
7432         (xtensa_emit_call, print_operand): Fix printf format strings
7433         to avoid compile warnings.
7434         (xtensa_function_prologue, xtensa_function_epilogue): Change type
7435         of "size" argument to HOST_WIDE_INT to fix compile warnings.
7436         * config/xtensa/xtensa-protos.h
7437         (xtensa_function_prologue, xtensa_function_epilogue): Ditto.
7438
7439 2003-01-24  Jan Hubicka  <jh@suse.cz>
7440
7441         * builtins.c (DEF_BUILTIN): Accept 10 arguments.
7442         (implicit_built_in_decls): New global array.
7443         (mathfn_built_in): New global function.
7444         (fold_trunc_transparent_mathfn): New static function
7445         (expand_builtin_strstr, expand_bultin_strchr,
7446         expand_builtin_strpbrk, expand_builtin_strcpy,
7447         expand_builtin_strncpy, expand_bultin_strcmp,
7448         expand_bultin_strncat, expand_builtin_fputs): Use
7449         implicint_built_in_decls.
7450         (fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
7451         * builtins.def: Fix comments.
7452         (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
7453         DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
7454         DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
7455         DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
7456         (DEF_C99_C90RES_BULTIN): New.
7457         (*f, *l builtins): Update.
7458         * c-common.c (DEF_BUILTIN): Initialize implicit array.
7459         (c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
7460         * convert.c (strip_float_extensions): New global function.
7461         * tree.h (DEF_BUILTIN): Accept 10 arguments.
7462         (implicit_built_in_decls, mathfn_built_in, strip_float_extension):
7463         Declare.
7464         * java/builtins.c (define_builtin): Handle implicit.
7465         (DEF_BUILTIN): Update.
7466         * tm.texi (TARGET_C99_FUNCTIONS): Document.
7467         * defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
7468         * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
7469         when using glibc2.
7470
7471 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
7472
7473         * config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
7474         extra_parts, and fixincludes.  Add xtensa/t-elf tmake_file.
7475         (xtensa-*-linux*): Add xtensa/t-linux tmake_file.
7476         * config/xtensa/crti.asm: New file.
7477         * config/xtensa/crtn.asm: New file.
7478         * config/xtensa/t-elf: New file.
7479         * config/xtensa/t-linux: New file.
7480         * config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
7481         Move various CFLAGS settings to new t-elf file.
7482
7483 2003-01-24  Richard Henderson  <rth@redhat.com>
7484
7485         PR optimization/4382
7486         * tree-inline.c (find_builtin_longjmp_call_1): New.
7487         (find_builtin_longjmp_call): New.
7488         (inlinable_function_p): Use it.
7489
7490 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7491
7492         * config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
7493         * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
7494         * config/i386/i386.c (function_arg_pass_by_reference): New.
7495         (ix86_va_arg): Support arguments passed by reference.
7496
7497 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7498
7499         * cfgloopanal.c: New file.
7500         * cfgloopmanip.c: New file.
7501         * Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
7502         (toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
7503         cfglayout.o): Add dependency on cfgloop.h.
7504         (cfgloop.o): Add flags.h dependency.
7505         * basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
7506         (VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
7507         (struct loop, struct loops, flow_loops_find, flow_loops_update,
7508         flow_loops_free, flow_loops_dump, flow_loop_dump,
7509         flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
7510         LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
7511         LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
7512         flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
7513         loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
7514         find_common_loop, verify_loop_structure): Declarations moved to ...
7515         * cfgloop.h: New file.
7516         * bb-reorder.c (reorder_basic_blocks): Modified.
7517         * cfglayout.c: Include cfgloop.h.
7518         (cleanup_unconditional_jumps, cfg_layout_redirect_edge,
7519         cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
7520         (break_superblocks): New static function.
7521         (cfg_layout_finalize): Use it.
7522         (cfg_layout_split_block): New function.
7523         * cfglayout.h (struct reorder_block_def): Add copy and duplicated
7524         fields.
7525         (cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
7526         changed.
7527         (cfg_layout_split_block): Declare.
7528         * cfgloop.c: Include cfgloop.h and flags.h.
7529         (flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
7530         get_loop_body): Avoid signed versus unsigned comparison warnings.
7531         (make_forwarder_block, flow_loops_find, loop_preheader_edge,
7532         loop_latch_edge): Modified.
7533         (verify_loop_structure): Modified to use flags stored in loop structure;
7534         check irreducible loops.
7535         (cancel_loop, cancel_loop_tree): New functions.
7536         (estimate_probability): Use loop analysis code for predictions.
7537         (estimate_loops_at_level):  Avoid signed versus unsigned comparison
7538         warnings.
7539         * doloop.c: Include cfgloop.h.
7540         * loop.c: Include cfgloop.h.
7541         * predict.c: Include cfgloop.h.
7542         * toplev.c: Include cfgloop.h.
7543         * unroll.c: Include cfgloop.h.
7544         * tracer.c (tracer): Modified.
7545
7546 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
7547
7548         * config/h8300/h8300.c (get_shift_alg): Fix a typo.
7549
7550 2003-01-24  Ulrich Weigand  <uweigand@de.ibm.com>
7551
7552         * configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
7553         * configure: Regenerate.
7554
7555         * config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
7556         (tls_symbolic_reference_mentioned_p): Add prototype.
7557         (s390_tls_get_offset): Add prototype.
7558         (emit_pic_move): Remove prototype, replace by ...
7559         (emit_symbolic_move): .. this new prototype.
7560
7561         * config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
7562         (tls_model_chars): New global variable.
7563         (s390_encode_section_info): Encode TLS model.
7564         Use targetm.binds_local_p to check for local symbols.
7565         (s390_strip_name_encoding): New function.
7566         (TARGET_STRIP_NAME_ENCODING): Define.
7567
7568         (get_thread_pointer): New function.
7569         (legitimize_tls_address): New function.
7570         (legitimize_address): Call it.
7571         (emit_pic_move): Remove, replace by ...
7572         (emit_symbolic_move): ... this new function.
7573
7574         (larl_operand): Handle TLS operands.
7575         (legitimate_constant_p): Likewise.
7576         (s390_decompose_address): Likewise.
7577         (s390_cannot_force_const_mem): New function.
7578         (TARGET_CANNOT_FORCE_CONST_MEM): Define.
7579
7580         (s390_output_symbolic_const): Handle TLS unspecs.
7581         (print_operand): New code 'J'.
7582         (machine_function): Add struct member 'some_ld_name'.
7583         (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
7584
7585         (enum s390_builtin): New type.
7586         (code_for_builtin_64, code_for_builtin_31): New global variables.
7587         (s390_init_builtins, s390_expand_builtin): New functions.
7588         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
7589
7590         * config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
7591         (ASM_OUTPUT_LABELREF): Define.
7592         (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
7593
7594         * config/s390/s390.md: Define TLS UNSPEC constants.
7595         ("movdi", "movsi"): Handle TLS operands.
7596         ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
7597         ("*tls_load_64", "*tls_load_31"): New insns.
7598         ("call_value_tls", "call_value_tls_exp"): New expanders.
7599         ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
7600         "bas_tls_64", "bas_tls_31"): New insns.
7601
7602 2003-01-24  Nathan Sidwell  <nathan@codesourcery.com>
7603
7604         * config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
7605         spe ABI is configured, if requested.
7606
7607 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
7608
7609         * doc/passes.texi: Fix typo.
7610
7611 2003-01-24  Andreas Schwab  <schwab@suse.de>
7612
7613         * stor-layout.c (excess_unit_span): Only define if used.
7614
7615 2003-01-24  Jerry Quinn  <jlquinn@optonline.net>
7616
7617         * gcc/doc/invoke.texi (Optimization Options): List -O levels
7618         for each optimization flag.
7619
7620 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
7621
7622         * config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
7623
7624 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
7625
7626         * doc/bugreport.texi: Use @command instead of @code for commands.
7627         * doc/collect2.texi: Likewise.
7628         * doc/headerdirs.texi: Likewise.
7629         * doc/invoke.texi: Likewise.
7630         * doc/standards.texi: Likewise.
7631         * doc/tm.texi: Likewise.
7632         * doc/trouble.texi: Likewise.
7633
7634 2003-01-24  Nick Clifton  <nickc@redhat.com>
7635
7636         * config/arm/arm.c (use_return_insn): Do not use a single return
7637         instruction for interrupt handelrs which have to create a stack
7638         frame.
7639         (arm_expand_prologue): Do not pre-bias the return address of
7640         interrupt handlers which create a stack frame.
7641
7642 2003-01-24  Nick Clifton  <nickc@redhat.com>
7643
7644         * Add sh2e support:
7645
7646         2002-08-12  Alexandre Oliva  <aoliva@redhat.com>
7647
7648                 * config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
7649                 med_cbranches.  Fix logic in short_cbranches.
7650
7651         2002-04-03  Alexandre Oliva  <aoliva@redhat.com>
7652
7653                 * config/sh/sh.md (delay for cbranch): Don't annul delay
7654                 slots on SH2e.
7655                 * config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
7656                 cbranch with unfilled delay slot on SH2e.
7657                 (output_branch): Fill with a nop the delay slot of a
7658                 branch that required a delay slot but didn't get one.
7659
7660         2002-04-02  Alexandre Oliva  <aoliva@redhat.com>
7661
7662                 * doc/invoke.texi (SH options): Document -m2e.
7663                 * config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
7664                 * config/sh/lib1funcs.asm: Likewise.
7665                 * config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
7666                 * config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
7667                 not __sh1__.
7668                 (CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
7669                 SH2E up.
7670                 (SH3E_BIT): Renamed to...
7671                 (SH_E_BIT): ... this.  Replace all uses.
7672                 (TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
7673                 Replace all uses of TARGET_SH3E with TARGET_SH2E.
7674                 (TARGET_SWITCHES): Added 2e.
7675                 (OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
7676                 (processor_type): Added PROCESSOR_SH2E.
7677                 * config/sh/sh.md: Replace all uses of TARGET_SH3E with
7678                 TARGET_SH2E, except in sqrtsf2_i.
7679                 (attribute cpu): Added sh2e.
7680                 * config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
7681                 (MULTILIB_MATCHES): Use m2e multilib for m3e.
7682                 * config.gcc: Add sh2e target support.
7683
7684 2003-01-24  Phil Edwards  <pme@gcc.gnu.org>
7685
7686         Rename -W to -Wextra.
7687         * c-decl.c:  Update comments.
7688         * c-typeck.c:  Likewise.
7689         * flags.h:  Likewise.
7690         * function.c:  Likewise.
7691         * stmt.c:  Likewise.
7692         * toplev.c:  Update comments.
7693         (W_options):  Add 'extra'.
7694         (display_help):  Remove '-W'.
7695         (decode_W_option):  Special warn_uninitialized treatment in the case
7696         of -Wextra.
7697         * doc/invoke.texi:  Update with new entries.
7698
7699 2003-01-23  Richard Henderson  <rth@redhat.com>
7700
7701         * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
7702         in no-else-block case.  Add commentary.
7703
7704 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7705
7706         * configure.in: Revert last change.
7707
7708 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7709
7710         * configure.in: Don't include ansidecl.h in tconfig.h.
7711         * gcov-io.h (PARAMS, ATTRIBUTE_UNUSED: Define if IN_LIBGCC2.
7712         * unwind-dw2-fde.h (last_fde): Use __attribute__, not
7713         ATTRIBUTE_UNUSED.
7714
7715         * configure: Regenerate.
7716
7717 2003-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7718
7719         PR java/6748
7720         * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
7721         regs->nip. Fix rt_sigreturn frame layout. Add support for newer
7722         kernels.
7723
7724 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7725
7726         * cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
7727
7728 2003-01-23  Ulrich Weigand  <uweigand@de.ibm.com>
7729
7730         * genattrtab.c (write_attr_get): Mark 'insn' paramter
7731         as ATTRIBUTE_UNUSED.
7732
7733 2003-01-23  Richard Earnshaw  <rearnsha@arm.com>
7734
7735         * arm.c (thumb_base_register_rtx_p): New function.
7736         (thumb_index_register_rtx_p): New function.
7737         (thumb_legitimate_address_p): New function.
7738         (thumb_legitimate_offset_p): New function.
7739         * arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
7740         (ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
7741         definitions.
7742         (THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
7743         (THUMB_LEGITIMATE_OFFSET): Delte.
7744         (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
7745         * arm-protos.h (thumb_legitimate_address_p): Add prototype.
7746         (thumb_legitimate_offset_p): Likewise.
7747
7748 2003-01-23  Andreas Schwab  <schwab@suse.de>
7749
7750         * unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
7751
7752 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7753
7754         * fixinc/Makefile.in (FL_LIST): Revert last change.
7755
7756 2003-01-23  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
7757
7758         PR other/7341
7759         * invoke.texi (ftest-coverage): Fix broken cross-reference.
7760         Change @code to @command for gcov command.
7761
7762         * gcc.texi: Adjust title of gcov section.
7763         Adjust copyright.
7764         * gcov.texi: Likewise.
7765
7766 2003-01-22  Roger Sayle  <roger@eyesopen.com>
7767
7768         PR optimization/8423
7769         * cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
7770         its argument is constant, or 0 if !flag_gcse.
7771         * simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
7772         if it's argument is constant.
7773         * gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
7774         (hash_scan_set): Don't record CONSTANT_P_RTX expressions.
7775         (do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
7776         * builtins.c (purge_builtin_constant_p): New function to force
7777         instantiation of any remaining CONSTANT_P_RTX nodes.
7778         * rtl.h (purge_builtin_constant_p): Prototype here.
7779         * toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
7780         pass after GCSE and before loop.
7781         (flag_gcse): No longer static.
7782         * flags.h (flag_gcse): Prototype here.
7783
7784 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
7785
7786         * config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
7787         introduced by last change.
7788
7789 2003-01-22  Andreas Schwab  <schwab@suse.de>
7790
7791         * ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
7792
7793 2003-01-22  Kazu Hirata  <kazu@cs.umass.edu>
7794
7795         * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
7796         request a scratch reg on H8S when the shift count is 8.
7797
7798 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
7799
7800         * config/s390/s390-protos.h (preferred_la_operand_p):
7801         Remove second parameter.
7802         * config/s390/s390.c (preferred_la_operand_p): Likewise.
7803         * config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
7804         (HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
7805         * config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
7806         Add peepholes to transform ADD to LOAD ADDRESS.
7807
7808 2003-01-22  Richard Earnshaw  <rearnsha@arm.com>
7809
7810         * arm.c (arm_address_register_rtx_p): New function.
7811         (arm_legitimate_address_p): New function.
7812         (arm_legitimate_index_p): New function.
7813         (legitimize_pic_address): Use arm_legitimate_index_p.
7814         * arm-protos.h (arm_legtimate_address_p): Add prototype.
7815         * arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
7816         (ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
7817
7818 2003-01-22  Hartmut Penner  <hpenner@de.ibm.com>
7819
7820         * config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
7821         * config/s390/2064.md (define_bypass): Correct 'Load' and
7822         'Load-address' bypass values.
7823
7824 2003-01-22  Andreas Schwab  <schwab@suse.de>
7825
7826         * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
7827
7828 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
7829
7830         * genautomata.c (output_internal_insn_latency_func,
7831         output_print_reservation_func): Short circuit when there is no
7832         automaton to generate code for.
7833
7834 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7835
7836         * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
7837         (df.o): Delete duplicate dependency on coretypes.h $(TM_H).
7838
7839 2003-01-21  Geoffrey Keating  <geoffk@apple.com>
7840
7841         * config/rs6000/rs6000.md: Remove warning.
7842         (builtin_setjmp_receiver): Likewise.
7843         * config/darwin.c (update_stubs): Slightly improve terrible hack
7844         with identifiers.  Add comment pointing out problems with it.
7845         (update_non_lazy_ptrs): Likewise.
7846
7847 2003-01-21  Richard Henderson  <rth@redhat.com>
7848
7849         * dwarf2out.c (lookup_filename): Fix printf format warning.
7850         * system.h (fread_unlocked, fwrite_unlocked): Undef.
7851
7852         * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
7853         (fixincl.o-warn, gnu-regex.o-warn): New.
7854         * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
7855         * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
7856         * fixinc/fixincl.c (process): Fix printf format warning.
7857
7858 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
7859
7860         * dwarf2out (output_file_names): Don't crash if called
7861         with empty file_table.
7862
7863 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
7864
7865         * genautomata.c (output_internal_insn_latency_func): Add
7866         missing break statement to generated code.
7867
7868 2003-01-21  Roger Sayle  <roger@eyesopen.com>
7869
7870         * stmt.c (same_case_target_p): New function to determine whether
7871         two case labels branch to the same target.  Split out from...
7872         (group_case_nodes): ... here.  Use same_case_target_p instead.
7873         (strip_default_case_nodes): Remove explicit case nodes
7874         that branch to the default destination.
7875         (expand_end_case_type): Call strip_default_case_nodes after
7876         group_case_nodes, to simplify the case-list before we count it.
7877         Only generate table_label RTX when actually needed.  Try to share
7878         thiscase->exit_label and thiscase->data.case_stmt.default_label
7879         when a switch has no explicit default case.  Simplify test for
7880         constant index.
7881
7882 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
7883
7884         * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
7885         \t.
7886         (*negsf2_h8300hs): Likewise.
7887         (*addsi3_lshiftrt_16_zexthi): Likewise.
7888         (*iorhi3_lshiftrt_8): Likewise.
7889
7890 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
7891
7892         * dwarf2out.c (fde_table_in_use): Mark GTY.
7893         (dwarf2out_cfi_label_num): New variable, marked GTY.
7894         (dwarf2out_cfi_label): Use it instead of static label_num.
7895         * emit-rtl.c (label_num): Mark GTY.
7896
7897 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
7898
7899         * config/h8300/h8300.c (output_plussi): Support H8/300.
7900         (compute_plussi_length): Likewise.
7901         (compute_plussi_cc): Likewise.
7902         * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
7903         output assembly instructions.
7904
7905 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7906
7907         * calls.c (fix_unsafe_tree): Prototype.
7908
7909         * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
7910         (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
7911         insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
7912         c-parse.o-warn): Add -Wno-error.
7913         (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
7914
7915         * configure.in (--enable-werror): Add new flag.
7916         * doc/install.texi (--enable-werror): Document.
7917         * configure: Regenerate.
7918
7919         * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
7920
7921 2003-01-21  Andreas Schwab  <schwab@suse.de>
7922
7923         * genautomata.c (output_internal_insn_latency_func): Fix missing
7924         close paren in output.
7925
7926 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
7927
7928         * genautomata.c: Space savings in generated code:
7929         (output_dfa_insn_code_func): Split out the table-enlargement
7930         path to an out-of-line static function, dfa_insn_code_enlarge.
7931         (output_internal_insn_latency_func): Use a lookup table for the
7932         default latencies.
7933         (output_print_reservation_func): Use a lookup table for the
7934         strings.
7935
7936 2003-01-21  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
7937
7938         PR opt/7507
7939         * calls.c (fix_unsafe_tree): Split out from ...
7940         (expand_call): ... here.  Use it on the function address too.
7941
7942 2003-01-20  Richard Henderson  <rth@redhat.com>
7943
7944         * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
7945
7946 2003-01-20  Richard Henderson  <rth@redhat.com>
7947
7948         PR opt/7154
7949         * stmt.c (expand_asm_operands): Validize memory operands.
7950
7951 2003-01-20  Richard Henderson  <rth@redhat.com>
7952
7953         PR opt/8848
7954         * ifcvt.c (noce_process_if_block): Correct arguments to
7955         modified_between_p for no-else-block case.
7956
7957 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
7958
7959         * config/h8300/h8300.c (const_costs): Remove a warning.
7960         (output_plussi): Likewise.
7961         (compute_plussi_length): Likewise.
7962         (compute_plussi_cc): Likewise.
7963
7964 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
7965
7966         * config/h8300/h8300.md (addsi_h8300): Remove the last
7967         alternative.
7968
7969 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
7970
7971         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
7972
7973 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7974
7975         * system.h (__NO_STRING_INLINES): Define.
7976
7977 2003-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
7978
7979         * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
7980         is not a scalar int mode.
7981
7982 2003-01-20  Roger Sayle  <roger@eyesopen.com>
7983
7984         * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
7985         insn's notes following a substitution inside a libcall.
7986
7987 2003-01-20  Zack Weinberg  <zack@codesourcery.com>
7988
7989         * configure.in: Check for system-provided 'uchar' type.
7990         * configure, config.in: Regenerate.
7991         * cpphash.h: Only typedef 'uchar' if the system doesn't.
7992
7993 2003-01-20  Richard Henderson  <rth@redhat.com>
7994
7995         * expr.h (MUST_PASS_IN_STACK): Move implementation...
7996         * calls.c (default_must_pass_in_stack): ... here.
7997
7998 2003-01-20  Vladimir Makarov  <vmakarov@redhat.com>
7999
8000         * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
8001
8002         * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
8003
8004         * genattr.c (main): Output default definition of AUTOMATON_ALTS.
8005         Wrap up definition of `insn_alts'.
8006
8007         * genattrtab.c (main): Wrap up `insn_alts'.
8008
8009 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8010
8011         * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
8012         prototyping.
8013         * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
8014
8015         * config.in, configure: Regenerate.
8016
8017 2003-01-20  Nick Clifton  <nickc@redhat.com>
8018
8019         * config/arm/arm.md (sibcall_epilogue): Add an
8020         UNSPEC_PROLOGUE_USE to prevent the link register from being
8021         considered dead.
8022
8023 2003-01-20  Jan Hubicka  <jh@suse.cz>
8024
8025         * i386.md (SSE cmov splitter):  Handle memory operand in operand 5.
8026
8027 2003-01-20  Andreas Schwab  <schwab@suse.de>
8028
8029         * system.h: Don't declare strsignal if the decl test hasn't been
8030         run yet.
8031
8032 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
8033
8034         * config/h8300/h8300.c (notice_update_cc): Don't assume that
8035         recog_data.operands[0] is always associated with cc0.
8036
8037 2003-01-19  David Edelsohn  <edelsohn@gnu.org>
8038
8039         * collect2.c (ldgetname): Expand declaration to prototype.
8040         * read-rtl.c (atoll): Add prototype.
8041         * system.h (strsignal): Also declare if no declaration found.
8042
8043 2003-01-19  Alexandre Oliva  <aoliva@redhat.com>
8044
8045         * config.gcc (mips64*-*-linux*): Added.
8046         * config/mips/linux64.h, config/mips/t-linux64: New file.
8047         * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
8048         * config/mips/mips.c (override_options): Use it.
8049         * config/mips/mips.h (TARGET_SWITCHES): Added...
8050         (SUBTARGET_TARGET_SWITCHES): New, empty by default.
8051         * Makefile.in (SPECS): New.
8052         (STAGESTUFF, specs, mostlyclean, install-common): Use it.
8053         * gcc.c (process_command): Move self-spec processing past spec
8054         file loading.
8055         * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
8056         * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
8057         CRTSTUFF_T_CFLAGS.
8058         (SPECS): Document.
8059         * doc/invoke.texi (-mabi-fake-default): Document.
8060
8061 2003-01-19  Stephane Carrez  <stcarrez@nerim.fr>
8062
8063         * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
8064         z_reg, z_reg_qi): Declare static and GTY().
8065         (da_reg): Remove.
8066         (create_regs_rtx): Don't create da_reg.
8067         ("gt-m68hc11.h"): Include for GTY roots.
8068         * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
8069         and GTY() here.
8070         (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
8071         (m68hc11_soft_tmp_reg): Likewise.
8072         * config/m68hc11/m68hc11-protos.h: Remove above declarations.
8073
8074 2003-01-18  Kazu Hirata  <kazu@cs.umass.edu>
8075
8076         * basic-block.h: Fix comment formatting.
8077         * calls.c: Likewise.
8078         * combine.c: Likewise.
8079         * convert.c: Likewise.
8080         * gcov.c: Likewise.
8081         * haifa-sched.c: Likewise.
8082         * libgcc2.c: Likewise.
8083         * loop.c: Likewise.
8084         * profile.c: Likewise.
8085         * system.h: Likewise.
8086
8087 2003-01-18  Roger Sayle  <roger@eyesopen.com>
8088
8089         * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
8090
8091 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8092
8093         * ra-build.c (undef_to_size_word): Avoid `switch' warning.
8094
8095 2003-01-17  Dale Johannesen  <dalej@apple.com>
8096
8097         * config/rs6000/rs6000.md (*floatsidf2_internal):  Add earlyclobbers.
8098           (*floatunssidf2_internal):  Ditto.
8099
8100 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
8101
8102         * alias.c: Fix comment typos.
8103         * basic-block.h: Likewise.
8104         * c-common.c: Likewise.
8105         * c-common.h: Likewise.
8106         * c-decl.c: Likewise.
8107         * c-opts.c: Likewise.
8108         * c-pragma.c: Likewise.
8109         * c-pretty-print.h: Likewise.
8110         * cfg.c: Likewise.
8111         * cfganal.c: Likewise.
8112         * cfgbuild.c: Likewise.
8113         * cfgcleanup.c: Likewise.
8114         * cfglayout.c: Likewise.
8115         * cfgrtl.c: Likewise.
8116         * convert.c: Likewise.
8117         * cpphash.h: Likewise.
8118         * cpplex.c: Likewise.
8119         * cpplib.h: Likewise.
8120         * df.h: Likewise.
8121         * diagnostic.c: Likewise.
8122         * diagnostic.h: Likewise.
8123         * dwarf2.h: Likewise.
8124
8125 2003-01-17  Stan Shebs  <shebs@apple.com>
8126
8127         * config/darwin-protos.h: Forward-declare struct cpp_reader.
8128
8129 2003-01-17  Douglas B Rupp  <rupp@gnat.com>
8130
8131         * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
8132         mistake in last checkin.
8133
8134 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
8135
8136         * et-forest.c: Fix comment typos.
8137         * et-forest.h: Likewise.
8138         * except.c: Likewise.
8139         * expr.c: Likewise.
8140         * flags.h: Likewise.
8141         * flow.c: Likewise.
8142         * gcc.c: Likewise.
8143         * gcse.c: Likewise.
8144         * genattrtab.c: Likewise.
8145         * genautomata.c: Likewise.
8146         * gengtype.c: Likewise.
8147         * genrecog.c: Likewise.
8148         * global.c: Likewise.
8149         * gthr-rtems.h: Likewise.
8150
8151 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8152
8153         * i386.c (x86_function_profiler): Fix format specifier.
8154
8155 2003-01-17  Richard Henderson  <rth@redhat.com>
8156
8157         * gengtype.c (walk_type): Allow paramN_is.
8158
8159 2003-01-17  Nick Clifton  <nickc@redhat.com>
8160
8161         * config/i960/t-960bare (i960-c.o): Add missing newline escape.
8162
8163 2003-01-16  Richard Henderson  <rth@redhat.com>
8164
8165         * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
8166
8167 2003-01-16  Richard Henderson  <rth@redhat.com>
8168
8169         * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
8170         (alpha_next_sequence_number): Likewise.
8171         (alpha_this_literal_sequence_number): Likewise.
8172         (alpha_this_gpdisp_sequence_number): Likewise.
8173         (struct alpha_funcs, alpha_funcs_num): Likewise.
8174         (struct alpha_links): Fix branch merge error.
8175         (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
8176
8177 2003-01-17  Alexandre Oliva  <aoliva@redhat.com>
8178
8179         * config/mips/mips.h: Don't use #elif.  Reported by Kaveh
8180         R. Ghazi.
8181
8182 2003-01-16  Kazu Hirata  <kazu@cs.umass.edu>
8183
8184         * ifcvt.c: Fix comment typos.
8185         * lcm.c: Likewise.
8186         * libgcc2.c: Likewise.
8187         * local-alloc.c: Likewise.
8188         * loop.c: Likewise.
8189         * predict.c: Likewise.
8190         * ra-build.c: Likewise.
8191         * ra.c: Likewise.
8192         * ra-colorize.c: Likewise.
8193         * ra.h: Likewise.
8194         * ra-rewrite.c: Likewise.
8195         * regmove.c: Likewise.
8196         * reload.h: Likewise.
8197         * rtlanal.c: Likewise.
8198         * toplev.c: Likewise.
8199         * tree.h: Likewise.
8200         * unwind-dw2-fde-glibc.c: Likewise.
8201         * vmsdbgout.c: Likewise.
8202
8203 2003-01-16  Richard Henderson  <rth@redhat.com>
8204
8205         * dwarf2out.c (struct file_table): Remove.
8206         (FILE_TABLE_INCREMENT): Remove.
8207         (file_table): Make a varray; mark for GC.  Update all users.
8208         (file_table_last_lookup_index): Extract from struct file_table.
8209         (output_file_names): Fix unsigned compare warnings.
8210         (add_name_attribute): Remove inline marker.
8211         (add_comp_dir_attribute): Split out from gen_compile_unit_die.
8212         (lookup_filename): Don't manage size of file_table.
8213         (init_file_table): Allocate file_table with GC.
8214         (dwarf2out_init): Don't record main_input_filename here.
8215         (dwarf2out_finish): Do it here instead.
8216
8217 2003-01-16  Bruce Korb  <bkorb@gnu.org>
8218
8219         * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
8220
8221 2003-01-16  Kaz Kojima  <kkojima@gcc.gnu.org>
8222
8223         * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
8224         instead of rotldi3_mextr.
8225
8226 2003-01-16  Vladimir Makarov  <vmakarov@redhat.com>
8227
8228         * haifa-sched.c (move_insn): Restore moving all schedule group.
8229         (set_priorities): Restore taking SCHED_GROUP_P into account.
8230
8231         * sched-deps.c (add_dependence): Restore processing the last group
8232         insn.
8233         (remove_dependence, group_leader): Restore the functions.
8234         (set_sched_group_p): Restore adding dependencies from previous insn
8235         in the group.
8236         (compute_forward_dependences): Restore usage of group_leader.
8237
8238         * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
8239         account.
8240
8241         * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
8242         account.
8243         (can_schedule_ready_p): Ditto.
8244         (add_branch_dependences): Restore skipping over the group insns.
8245
8246 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
8247
8248         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
8249         68HC12 pre/post inc/dec side effects.
8250
8251 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
8252
8253         * config/m68hc11/m68hc11.h (MASK_M6812): Define.
8254
8255 2003-01-16  J"orn Rennecke <amylaar@onetel.net.uk>
8256
8257         * sh.md (mshflo_w_x): Fix description of operation.
8258
8259 2003-01-16  Zack Weinberg  <zack@codesourcery.com>
8260
8261         * config/rs6000/rs6000.h: Mention Altivec registers in
8262         commentary.  Fix typo.
8263
8264 2003-01-16  David Edelsohn  <edelsohn@gnu.org>
8265
8266         * config/rs6000/rs6000.md (movti_string): Remove clobber.
8267         * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
8268         generate PARALLEL with clobber for TARGET_POWER.
8269
8270 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8271
8272         * ra-colorize.c (colorize_one_web): Initialize variable.
8273         * regmove.c (fixup_match_1): Likewise.
8274         * reload1.c (reload_as_needed): Likewise.
8275         * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
8276
8277 2003-01-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8278
8279         * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
8280
8281 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8282
8283         * dbxout.c (lastfile, cwd): Fix `unused' warning.
8284         * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
8285         dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
8286         is_main_source, file_table, decl_die_table_in_use,
8287         abbrev_die_table_in_use, line_info_table_in_use,
8288         separate_line_info_table_in_use, pubname_table_in_use,
8289         arange_table_in_use, ranges_table_in_use,
8290         current_function_has_inlines): Likewise.
8291         * flow.c (life_analysis): Likewise.
8292         * genemit.c (gen_insn): Likewise.
8293         * protoize.c (cplus_suffix): Likewise.
8294
8295         * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
8296         * arm.h (ROUND_UP_WORD): Likewise.
8297
8298         * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
8299         warning.
8300         * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
8301         init_emit_once): Likewise.
8302         * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
8303         Likewise.
8304         * function.c (assign_stack_temp_for_type): Likewise.
8305         * loop.c (loop_invariant_p): Likewise.
8306         * recog.c (push_operand): Likewise.
8307         * regclass.c (init_reg_sets_1): Likewise.
8308         * reload.c (update_auto_inc_notes): Likewise.
8309         * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
8310         * stmt.c (expand_asm_operands): Likewise.
8311         * stor-layout.c (start_record_layout): Likewise.
8312
8313 2003-01-16  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
8314
8315         * config/c4x/c4x.md (epilogue): Correct last patch.
8316
8317 2003-01-15  Richard Henderson  <rth@redhat.com>
8318
8319         * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
8320         also check that GP is being used.
8321         (alpha_find_lo_sum_using_gp): New.
8322         (alpha_does_function_need_gp): Use get_attr_usegp.
8323         * config/alpha/alpha-protos.h: Update.
8324         * config/alpha/alpha.md (attr usegp): New.  Annotate patterns
8325         as needed.
8326
8327 2003-01-15  Roger Sayle  <roger@eyesopen.com>
8328
8329         * gcse.c (one_cprop_pass): Change function arguments to take both
8330         cprop_jumps and bypass_jumps flags instead of just alter_jumps.
8331         (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
8332         (bypass_jumps): New function to perform separate jump bypassing pass.
8333         * rtl.h (bypass_jumps): Add function prototype.
8334         * timevar.def (TV_BYPASS): New timing variable.
8335         * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
8336         (dump_file): New entry for the bypass RTL dump file.
8337         (rest_of_compilation): Insert new jump bypassing optimization
8338         pass after loop.
8339         * doc/passes.texi: Document new pass.
8340
8341 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8342
8343         * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
8344         ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
8345         * pa.h (TARGET_SOM_SDEF): Define.
8346         * pa-hpux11.h (TARGET_SOM_SDEF): Define.
8347
8348 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
8349
8350         * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
8351         allocate 4-bytes of locals on 68HC11.
8352         (expand_epilogue): Likewise.
8353         (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
8354
8355 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
8356
8357         * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
8358         and -mshort-double to the assembler to specify the ABI.
8359         (LINK_SPEC): Likewise.
8360         (CPP_SPEC): Pass HCS12 specific define.
8361         (MASK_M68S12): New define.
8362         (TARGET_M68S12): Likewise.
8363         (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
8364         (TARGET_VERSION): Update.
8365         * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
8366         (LINK_SPEC): Update.
8367         (ASM_SPEC): Update.
8368         * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
8369         * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
8370
8371 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
8372
8373         * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
8374         the return code.
8375
8376 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
8377
8378         * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
8379         flag before setting it.
8380
8381 2003-01-15  Roger Sayle  <roger@eyesopen.com>
8382
8383         * c-semantics.c (genrtl_while_stmt):  Improve initial RTL generation
8384         when loop condition is known true, i.e.  "while (1) { ... }".
8385         (genrtl_for_stmt): Similarly for "for" statements.
8386
8387 2003-01-15  Roger Sayle  <roger@eyesopen.com>
8388
8389         * real.c (real_sqrt): Return a bool result indicating whether
8390         a floating point exception or trap should be raised.
8391         * real.h (real_sqrt): Update function prototype.
8392         * builtins.c (fold_builtin): Only fold non-trapping square
8393         roots unless we're ignoring errno and trapping math.
8394
8395 2003-01-15  John David Anglin  <dave.anglin@nrc.gc.ca>
8396
8397         * expr.h (emit_conditional_add): Add PARAMS to declaration.
8398         * gengtype-lex.l (malloc, realloc): Move defines after include of
8399         system.h.  Remove duplicate include of system.h.
8400
8401 2003-01-15  Roger Sayle  <roger@eyesopen.com>
8402
8403         PR middle-end/9009
8404         * optabs.c (expand_unop):  When manipulating the FP sign bit
8405         using integer operations, account for targets with different
8406         integer and FP word orders.
8407         (expand_abs): Likewise.
8408
8409 2003-01-15  David Edelsohn  <edelsohn@gnu.org>
8410
8411         * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
8412         file extension in section name.
8413
8414 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
8415
8416         * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
8417         constant offset.
8418
8419 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
8420
8421         * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
8422         (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
8423         (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
8424         (ARM_PRINT_OPERAND_ADDRESS): Likewise.
8425
8426 2003-01-15  Jan Hubicka  <jh@suse.cz>
8427
8428         PR f/9258
8429         * global.c (struct allocno): Add no_stack_reg.
8430         (global_conflicts): Set no_stack_reg.
8431         (find_reg): Use it.
8432
8433         * convert.c (convert_to_real): Fold - and abs only when profitable.
8434         * fold-const.c (fold): Fold truncates in - and abs.
8435
8436 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
8437
8438         Segher Boessenkool  <segher@koffie.nl>
8439
8440         * predict.c (real_inv_br_prob_base): New variable.
8441         (propagate_freq): Use multiply by reciprocal instead of
8442         division.  Don't divide by 1.0 at all.
8443         (estimate_bb_frequencies): Similar.
8444
8445 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
8446
8447         * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
8448         * configure: Rebuilt.
8449
8450 2003-01-15  Hartmut Penner  <hpenner@de.ibm.com>
8451
8452         * config/s390/s390.c (s390_safe_attr_type): New function.
8453         (s390_use_dfa_pipeline_interface): New function, return true for z900.
8454         (s390_issue_rate): New function.
8455         (s390_agen_dep_p): New function.
8456         (addr_generation_dependency_p): Use 's390_safe_attr_type'.
8457         (s390_adjust_cost): Return 'cost' if new DFA is used.
8458         (s390_adjust_priority): Delete function.
8459         * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
8460         * config/s390/s390.md (atype attribute): Attribute 'atype' default
8461         determined by 'op_type'.
8462         (type attribute): Added more type attributes.
8463         * config/s390/2064.md: New DFA description for z900 pipeline.
8464
8465 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
8466
8467         * config/i386/i386.c (ix86_expand_vector_move): Validize constant
8468         forced to memory.  Fixes PR bootstrap/9036.
8469
8470         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
8471         to set $gp before the call.
8472
8473 2003-01-14  Richard Henderson  <rth@redhat.com>
8474
8475         * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
8476         for force_const_mem.
8477
8478 2003-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8479
8480         * genattr.c (main): Rearrange output to avoid prototype warning.
8481         * genautomata.c (transform_3): Fix ambiguous-else warning.
8482         * local-alloc.c (requires_inout): Add parentheses around
8483         assignment used as truth-value.
8484         * timevar.c: Move system includes above local includes.  Include
8485         toplev.h
8486         * Makefile.in (timevar.o): Depend on toplev.h.
8487
8488 2003-01-14  Denis Chertykov  <denisc@overta.ru>
8489
8490         * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
8491         (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
8492
8493         * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
8494         attributes.
8495         (TARGET_ATTRIBUTE_TABLE): New macro.
8496         (valid_machine_type_attribute): Remove.
8497         (valid_machine_decl_attribute): Remove.
8498         (ip2k_handle_progmem_attribute): New function.
8499         (ip2k_handle_fndecl_attribute): New function.
8500
8501 2003-01-10  Andrew Haley  <aph@redhat.com>
8502
8503         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
8504         registers to be in correct order.  Add rip.
8505
8506 2003-01-14  Kazu Hirata  <kazu@cs.umass.edu>
8507
8508         * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
8509         (*iorsi3_and_lshiftrt_9_sb): Likewise.
8510
8511 2003-01-14  Jan Hubicka  <jh@suse.cz>
8512
8513         * convert.c (strip_float_extensions):  Look for narrowest type handling
8514         FP constants.
8515
8516         * fold-const.c (fold):  Fold (double)float1 CMP (double)float2 into
8517         float1 CMP float2.
8518         * convert.c (strip_float_extensions): Make global.
8519         * tree.h (strip_float_extensions): Declare.
8520
8521 2003-01-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8522
8523         * timevar.def: define TV_NAME_LOOKUP.
8524         * timevar.c (timevar_pop): Be verbose when aborting.
8525
8526 2003-01-13  Andreas Schwab  <schwab@suse.de>
8527
8528         * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
8529         $(parsedir), just move the temporary file at the end.
8530         ($(parsedir)/gengtype-yacc.c): Likewise.
8531
8532 2003-01-13  Alexandre Oliva  <aoliva@redhat.com>
8533
8534         * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
8535         ${ac_tool_prefix} to ADAC or CC.  Protect them from word
8536         splitting.
8537         * configure: Rebuilt.
8538
8539 2003-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8540
8541         * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
8542         internal_mcount): Don't use PARAMS.
8543         (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
8544         ISO C style.
8545         (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
8546
8547 2003-01-13  Andreas Schwab  <schwab@suse.de>
8548
8549         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
8550         directive.
8551
8552 2003-01-13  Kazu Hirata  <kazu@cs.umass.edu>
8553
8554         * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
8555         (*iorsi3_and_lshiftrt_n_sb): Likewise.
8556
8557 2003-01-12  Mark Mitchell  <mark@codesourcery.com>
8558
8559         PR c++/9264
8560         * c-lex.c (c_lex): Set the token value to error_mark_node for
8561         invalid numeric constants.
8562
8563 2003-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8564
8565         * c-pch.c (asm_file_startpos): Change to `long'.
8566         (pch_init): Use ftell, not ftello.
8567         (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
8568         Use `long' instead of `off_t'.
8569         (c_common_read_pch): Likewise.
8570         * ggc-common.c (gt_pch_save): Use long/ftell instead of
8571         off_t/ftello.
8572
8573 2003-01-12  Alan Modra  <amodra@bigpond.net.au>
8574
8575         * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
8576
8577 2003-01-11  Richard Earnshaw  (rearnsha@arm.com)
8578
8579         * arm-protos.h (struct cpp_reader): Add declaration.
8580
8581 2003-01-11  Jan Hubicka  <jh@suse.cz>
8582
8583         PR target/9068
8584         * i386.c (output_fp_compare): Fix typo.
8585
8586 2003-01-10  David Edelsohn  <edelsohn@gnu.org>
8587
8588         * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
8589
8590 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
8591
8592         * Makefile.in (parsedir): New variable.
8593         (docobjdir): New variable.
8594         (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
8595         gengtype-lex.c, gengtype-yacc.c): Use parsedir.
8596         (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
8597         cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
8598         gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
8599         Use docobjdir.
8600         * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
8601         objc.maintainer-clean): Use parsedir.
8602
8603         * varasm.c (struct constant_descriptor_rtx): Remove unused
8604         `label' field.
8605
8606         * toplev.c (documented_lang_options): Document -Winvalid-pch.
8607
8608 2003-01-10  Richard Henderson  <rth@redhat.com>
8609
8610         * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
8611         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
8612
8613 2003-01-10  Richard Henderson  <rth@redhat.com>
8614
8615         * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
8616         not INTEGRAL_MODE_P when widening extensions.
8617
8618 2003-01-10  Richard Henderson  <rth@redhat.com>
8619
8620         * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
8621
8622 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
8623
8624         * ggc-page.c (ggc_collect): Avoid overflow computing
8625         min_expand.
8626
8627         * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
8628         (RANLIB_TEST_FOR_TARGET): Delete.  Don't pass down to sub-makes.
8629         Remove calls.
8630         * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
8631
8632 2003-01-10  Jan Hubicka  <jh@suse.cz>
8633
8634         * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
8635         with weird operands.
8636
8637 2003-01-10  Dale Johannesen <dalej@apple.com>
8638
8639         * calls.c (load_register_parameters):  Add is_sibcall, sibcall_failure
8640         parameters.  Call check_sibcall_argument_overlap if indicated.
8641         (check_sibcall_argument_overlap):  Add mark_stored_args_map
8642         parameter.  Don't mark parameter area as clobbered if not set.
8643         (expand_call):  Adjust calls to above.
8644
8645 2003-01-10 Kelley Cook <kelleycook@comcast.net>
8646
8647         * configure.in (linker read-only and read-write section mixing):
8648         Squelch some assembler warnings.
8649         * configure: Likewise.
8650
8651 2003-01-10  Hartmut Penner  <hpenner@de.ibm.com>
8652
8653         * doc/invoke.texi: Document -mtune, delete -mcpu
8654         option for S/390 and zSeries.
8655         * config/s390/s390.c (s390_tune_string) New variable.
8656         (s390_cpu_string) Delete variable.
8657         (override_options): Use s390_tune_string instead of
8658         s390_cpu_string.
8659         * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
8660
8661 2003-01-10  Kazu Hirata  <kazu@cs.umass.edu>
8662
8663         * config/h8300/h8300.md (*iorsi3_ashift_31): New.
8664
8665 2003-01-10  Josef Zlomek  <zlomekj@suse.cz>
8666
8667         * jump.c (next_nonnote_insn_in_loop): New function.
8668         (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
8669         next_nonnote_insn.
8670         (duplicate_loop_exit_test). Likewise.
8671
8672 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
8673
8674         Merge from pch-branch:
8675
8676         2003-01-06  Geoffrey Keating  <geoffk@apple.com>
8677
8678         * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
8679         load.
8680
8681         2002-12-24  Geoffrey Keating  <geoffk@apple.com>
8682
8683         * cpplib.c (count_registered_pragmas): New function.
8684         (save_registered_pragmas): New function.
8685         (_cpp_save_pragma_names): New function.
8686         (restore_registered_pragmas): New function.
8687         (_cpp_restore_pragma_names): New function.
8688         * cpphash.h (_cpp_save_pragma_names): Prototype.
8689         (_cpp_restore_pragma_names): Likewise.
8690         * cpppch.c (struct save_macro_item): Split from save_macro_data.
8691         (struct save_macro_data): New field 'saved_pragmas'.
8692         (save_macros): Update for changes to struct save_macro_data.
8693         (cpp_prepare_state): Call _cpp_save_pragma_names, update
8694         for changes to struct save_macro_data.
8695         (cpp_read_state): Call _cpp_restore_pragma_names, update
8696         for changes to struct save_macro_data.
8697
8698         * cpppch.c (cpp_read_state): Restore the hashtable references
8699         in the cpp_reader.
8700
8701         * tree.h (built_in_decls): Mark for PCH.
8702
8703         * dbxout.c (lastfile): Don't mark for PCH.
8704
8705         * ggc.h: Document PCH calls into memory managers.
8706
8707         2002-12-18  Geoffrey Keating  <geoffk@apple.com>
8708
8709         * doc/invoke.texi (Precompiled Headers): Document the
8710         directory form of PCH.
8711         * cppfiles.c (validate_pch): New function.
8712         (open_file_pch): Search suitably-named directories for PCH files.
8713
8714         2002-12-14  Geoffrey Keating  <geoffk@apple.com>
8715
8716         * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
8717         reorder options.
8718         (Type Information): Mention that the information is also
8719         used to implement PCH.
8720         * doc/passes.texi (Passes): Improve documentation of
8721         language-specific files.
8722
8723         2002-12-11  Geoffrey Keating  <geoffk@apple.com>
8724
8725         * gengtype.c (struct write_types_data): Add reorder_note_routine field.
8726         (struct walk_type_data): Add reorder_fn field.
8727         (walk_type): Process 'reorder' option.
8728         (write_types_process_field): Reorder parameters to gt_pch_note_object,
8729         call reorder_note_routine.
8730         (write_func_for_structure): Reorder parameters to gt_pch_note_object.
8731         (ggc_wtd): Update for change to struct write_types_data.
8732         (pch_wtd): Likewise.
8733         * ggc.h (gt_pch_note_object): Reorder parameters.
8734         (gt_handle_reorder): New definition.
8735         (gt_pch_note_reorder): New prototype.
8736         * ggc-common.c (struct ptr_data): Add reorder_fn.
8737         (gt_pch_note_object): Reorder parameters.
8738         (gt_pch_note_reorder): New.
8739         (gt_pch_save): Call reorder_fn.
8740         * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
8741
8742         * dbxout.c (cwd): Don't mark for PCH.
8743
8744         2002-12-09  Geoffrey Keating  <geoffk@apple.com>
8745
8746         * gengtype.c (finish_root_table): Fix some warnings.
8747         (write_root): Handle TYPE_STRING.
8748         * ggc.h (gt_ggc_m_S): Add prototype.
8749         * stringpool.c (gt_ggc_m_S): New function.
8750
8751         2002-11-30  Geoffrey Keating  <geoffk@apple.com>
8752
8753         * dwarf2out.c (dw2_string_counter): New.
8754         (AT_string_form): Use it.
8755         (same_dw_val_p): Update for removal of hashtable.h hash tables.
8756
8757         2002-11-22  Geoffrey Keating  <geoffk@apple.com>
8758
8759         * dbxout.c: Include gt-dbxout.h.
8760         (lastfile): Mark for PCH/GGC.
8761         (cwd): Likewise.
8762         (struct typeinfo): Likewise.
8763         (typevec): Likewise.
8764         (typevec_len): Likewise.
8765         (next_type_number): Likewise.
8766         (struct dbx_file): Likewise.
8767         (current_file): Likewise.
8768         (next_file_number): Likewise.
8769         (dbxout_init): Allocate typevec, struct dbx_file with GGC.
8770         (dbxout_start_source_file): Allocate struct dbx_file with GGC.
8771         (dbxout_end_source_file): Don't free struct dbx_file.
8772         (dbxout_type): Use GGC to allocate typevec.
8773         * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
8774         (GTFILES): Add dbxout.c.
8775         (gt-dbxout.h): New rule.
8776
8777         * Makefile.in (c-pch.o): Add debug.h as dependency.
8778         * c-pch.c: Include debug.h.
8779         (pch_init): Call start_source_file to keep nesting right.
8780         (c_common_read_pch): Add orig_name parameter.  Call
8781         start_source_file debug hook.  Call end_source_file debug hook.
8782         * c-common.h (c_common_read_pch): Update prototype.
8783         * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
8784         callback.
8785         * cppfiles.c (struct include_file): Add new field `header_name'.
8786         (find_or_create_entry): Default it to `name'.
8787         (open_file_pch): Set it to the original header file searched for.
8788         (stack_include_file): Don't stack an empty buffer, just handle
8789         PCH files immediately.  Pass header_name field to read_pch callback.
8790
8791         2002-11-19  Geoffrey Keating  <geoffk@apple.com>
8792
8793         * function.c (funcdef_no): Mark to be saved in a PCH.
8794
8795         2002-11-15  Geoffrey Keating  <geoffk@apple.com>
8796
8797         * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
8798
8799         * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
8800
8801         2002-11-14  Geoffrey Keating  <geoffk@apple.com>
8802
8803         * optabs.h (code_to_optab): Add GTY marker.
8804
8805         2002-11-13  Geoffrey Keating  <geoffk@apple.com>
8806
8807         * Makefile.in (GTFILES): Add cpplib.h.
8808         * c-common.h (struct c_common_identifier): Don't skip 'node' field.
8809         * c-decl.c (build_compound_literal): Don't use var_labelno.
8810         * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
8811         * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
8812         * varasm.c (const_labelno): Use gengtype to mark.
8813         (var_labelno): Likewise.
8814         (in_section): Likewise.
8815         (in_named_name): Likewise.
8816         (struct in_named_entry): Likewise.
8817         (in_named_htab): Likewise.
8818         (set_named_section_flags): Use GGC to allocate struct in_named_entry.
8819         (init_varasm_once): Use GGC to allocate in_named_htab.
8820         * config/darwin.c (current_pic_label_num): Mark for PCH.
8821
8822         2002-11-11  Geoffrey Keating  <geoffk@apple.com>
8823
8824         * ggc-simple.c (init_ggc_pch): New stub procedure.
8825         (ggc_pch_count_object): Likewise.
8826         (ggc_pch_total_size): Likewise.
8827         (ggc_pch_this_base): Likewise.
8828         (ggc_pch_alloc_object): Likewise.
8829         (ggc_pch_prepare_write): Likewise.
8830         (ggc_pch_write_object): Likewise
8831         (ggc_pch_finish): Likewise.
8832         (ggc_pch_read): Likewise.
8833
8834         2002-11-08  Geoffrey Keating  <geoffk@apple.com>
8835
8836         * c-pch.c (c_common_write_pch): Write the macro definitions after
8837         the GCed data.
8838         (c_common_read_pch): Call cpp_prepare_state.  Restore the macro
8839         definitions after the GCed data.
8840         * cpplib.c (save_macros): New.
8841         (reset_ht): New.
8842         (cpp_write_pch_deps): Split out of cpp_write_pch.
8843         (cpp_write_pch_state): Split out of cpp_write_pch.
8844         (cpp_write_pch): Delete.
8845         (struct save_macro_data): Delete.
8846         (cpp_prepare_state): New.
8847         (cpp_read_state): Erase and restore initial macro definitions.
8848         * cpplib.h (struct save_macro_data): Forward-declare.
8849         (cpp_write_pch_deps): Prototype.
8850         (cpp_write_pch_state): Prototype.
8851         (cpp_write_pch): Delete prototype.
8852         (cpp_prepare_state): Prototype.
8853         (cpp_read_state): Add fourth argument.
8854
8855         2002-11-04  Geoffrey Keating  <geoffk@apple.com>
8856
8857         * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
8858         (write_array): Remove warning.
8859
8860         * gengtype.c (contains_scalar_p): New.
8861         (finish_root_table): Add the table to all languages, even if it's
8862         empty.
8863         (write_roots): Output gt_pch_scalar_rtab.
8864         * ggc-common.c (gt_pch_save): Write out scalars.
8865         (gt_pch_restore): Read scalars back.
8866
8867         * ggc-page.c (OBJECTS_IN_PAGE): New macro.
8868         (struct page_entry): Delete pch_page field.
8869         (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
8870         (clear_marks): Likewise.
8871         (sweep_pages): Likewise.
8872         (poison_pages): Likewise.
8873         (ggc_print_statistics): Likewise.
8874         (ggc_pch_read): Don't free objects read from a PCH.
8875         Properly set up in_use_p and page_tails.
8876
8877         2002-10-25  Geoffrey Keating  <geoffk@apple.com>
8878
8879         * gengtype.c (struct write_types_data): New.
8880         (struct walk_type_data): Make `cookie' const; add extra
8881         prev_val item; add `orig_s' field.
8882         (walk_type): Update prev_val[3].
8883         (write_types_process_field): New.
8884         (write_func_for_structure): Take write_types_data structure.
8885         (write_types): New.
8886         (ggc_wtd): New.
8887         (pch_wtd): New.
8888         (write_types_local_process_field): New.
8889         (gc_mark_process_field): Delete.
8890         (write_local_func_for_structure): New.
8891         (gc_mark_func_name): Delete.
8892         (write_gc_types): Delete.
8893         (write_local): New.
8894         (finish_root_table): Don't include 'ggc_' in PFX.
8895         (write_root): Rename from write_root.  Fill pchw field of structures.
8896         (write_array): New.
8897         (write_roots): Rename from write_gc_roots.  Split out to write_array.
8898         Update to changes to other routines.  Write gt_pch_cache_rtab table.
8899         (main): Write PCH walking routines.
8900         * ggc-common.c: Include toplev.h, sys/mman.h.
8901         (ggc_mark_roots): For cache hashtables, also mark the hash table
8902         and the array of entries.
8903         (saving_htab): New.
8904         (struct ptr_data): New.
8905         (POINTER_HASH): New.
8906         (gt_pch_note_object): New.
8907         (saving_htab_hash): New.
8908         (saving_htab_eq): New.
8909         (struct traversal_state): New.
8910         (call_count): New.
8911         (call_alloc): New.
8912         (compare_ptr_data): New.
8913         (relocate_ptrs): New.
8914         (write_pch_globals): New.
8915         (struct mmap_info): New.
8916         (gt_pch_save): New.
8917         (gt_pch_restore): New.
8918         * ggc-page.c (ROUND_UP_VALUE): New.
8919         (ROUND_UP): New.
8920         (struct page_entry): Add field `pch_page'.
8921         (init_ggc): Use ROUND_UP.
8922         (struct ggc_pch_data): Declare.
8923         (init_ggc_pch): New.
8924         (ggc_pch_count_object): New.
8925         (ggc_pch_total_size): New.
8926         (ggc_pch_this_base): New.
8927         (ggc_pch_alloc_object): New.
8928         (ggc_pch_prepare_write): New.
8929         (ggc_pch_write_object): New.
8930         (ggc_pch_finish): New.
8931         (ggc_pch_read): New.
8932         * ggc.h (gt_pointer_operator): New.
8933         (gt_note_pointers): New.
8934         (gt_pch_note_object): New prototype.
8935         (gt_pointer_walker): New.
8936         (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
8937         (LAST_GGC_ROOT_TAB): Update.
8938         (gt_pch_cache_rtab): Declare.
8939         (gt_pch_scalar_rtab): Declare.
8940         (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
8941         (LAST_GGC_CACHE_TAB): Update.
8942         (gt_pch_save_stringpool): Declare.
8943         (gt_pch_restore_stringpool): Declare.
8944         (gt_pch_p_S): Declare.
8945         (gt_pch_n_S): Declare.
8946         (struct ggc_pch_data): Forward-declare.
8947         (init_ggc_pch): Declare.
8948         (ggc_pch_count_object): Declare.
8949         (ggc_pch_total_size): Declare.
8950         (ggc_pch_this_base): Declare.
8951         (ggc_pch_alloc_object): Declare.
8952         (ggc_pch_prepare_write): Declare.
8953         (ggc_pch_write_object): Declare.
8954         (ggc_pch_finish): Declare.
8955         (ggc_pch_read): Declare.
8956         (gt_pch_save): Declare.
8957         (gt_pch_restore): Declare.
8958         * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
8959         * emit-rtl.c (init_emit_once): Allocate const_int_htab,
8960         const_double_htab, mem_attrs_htab using GGC.
8961         * c-pch.c: Include ggc.h.
8962         (pch_init): Allow reading PCH file back.
8963         (c_common_write_pch): Call gt_pch_save.
8964         (c_common_read_pch): Call gt_pch_restore.
8965         * c-parse.in (init_reswords): Delete now-untrue comment.
8966         Allocate ridpointers using GGC.
8967         * c-objc-common.c (c_objc_common_finish_file): Write PCH before
8968         calling expand_deferred_fns.
8969         * c-common.h (ridpointers): Mark for GTY machinery.
8970         * Makefile.in (stringpool.o): Update dependencies.
8971         (c-pch.o): Update dependencies.
8972         (ggc-common.o): Update dependencies.
8973         * stringpool.c: Include gt-stringpool.h.
8974         (gt_pch_p_S): New.
8975         (gt_pch_n_S): New.
8976         (struct string_pool_data): New.
8977         (spd): New.
8978         (gt_pch_save_stringpool): New.
8979         (gt_pch_restore_stringpool): New.
8980         * tree.c (init_ttree): Make type_hash_table allocated using GC.
8981
8982         2002-10-04  Geoffrey Keating  <geoffk@apple.com>
8983
8984         * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
8985         (output_mangled_typename): Don't pass size_t to printf.
8986
8987         * tree.h (union tree_type_symtab): Add tag to `address' field.
8988         (union tree_decl_u2): Add tag to 'i' field.
8989         * varasm.c (union rtx_const_un): Add tags to all fields.
8990         * gengtype.c (struct walk_type_data): New.
8991         (output_escaped_param): Take struct walk_type_data parameter.
8992         (write_gc_structure_fields): Delete.
8993         (walk_type): New.
8994         (write_gc_marker_routine_for_structure): Delete.
8995         (write_func_for_structure): New.
8996         (gc_mark_process_field): New.
8997         (gc_mark_func_name): New.
8998         (gc_counter): Delete.
8999         (write_gc_types): Use write_func_for_structure.
9000         (write_gc_roots): Use walk_type.
9001
9002         2002-10-02  Geoffrey Keating  <geoffk@apple.com>
9003
9004         * ggc-common.c (ggc_mark_roots): Delete 'x'.
9005         (ggc_splay_dont_free): Fix warning about unused 'x'.
9006         (ggc_print_common_statistics): Remove warnings.
9007
9008         2002-10-01  Mike Stump  <mrs@apple.com>
9009
9010         * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
9011         * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
9012
9013         2002-09-01  Geoffrey Keating  <geoffk@redhat.com>
9014             Catherine Moore  <clm@redhat.com>
9015
9016         * Makefile (c-pch.o): Update dependencies.
9017         (LIBCPP_OBJS): Add cpppch.o.
9018         (cpppch.o): New.
9019         * c-common.c (c_common_init): Don't call pch_init here.
9020         * c-common.h (c_common_read_pch): Update prototype.
9021         * c-lex.c (c_common_parse_file): Call pch_init here.
9022         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
9023         (c_common_decode_option): Handle them.
9024         * c-pch.c: Include c-pragma.h.
9025         (save_asm_offset): Delete.
9026         (pch_init): Move contents of save_asm_offset into here, call
9027         cpp_save_state.
9028         (c_common_write_pch): Call cpp_write_pch.
9029         (c_common_valid_pch): Warn only when -Winvalid-pch.  Call
9030         cpp_valid_state.
9031         (c_common_read_pch): Add NAME parameter.  Call cpp_read_state.
9032         * cppfiles.c (stack_include_file): Update for change to
9033         parameters of cb.read_pch.
9034         * cpphash.h (struct cpp_reader): Add `savedstate' field.
9035         * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
9036         `restore_pch_deps' fields.
9037         (struct cpp_callbacks): Add NAME parameter to `read_pch'.
9038         (cpp_save_state): Prototype.
9039         (cpp_write_pch): Prototype.
9040         (cpp_valid_state): Prototype.
9041         (cpp_read_state): Prototype.
9042         * cpppch.c: New file.
9043         * flags.h (version_flag): Remove prototype.
9044         * mkdeps.c (deps_save): New.
9045         (deps_restore): New.
9046         * mkdeps.h (deps_save): Prototype.
9047         (deps_restore): Prototype.
9048         * toplev.c (late_init_hook): Delete.
9049         (version_flag): Make static again.
9050         (compile_file): Don't call late_init_hook.
9051         * toplev.h (late_init_hook): Delete.
9052         * doc/cppopts.texi: Document -fpch-deps.
9053         * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
9054
9055         2002-08-27  Geoffrey Keating  <geoffk@redhat.com>
9056
9057         * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
9058         callers.
9059         (c_common_valid_pch): Rename from c_valid_pch, change callers.
9060         (c_common_read_pch): Rename from c_read_pch, change callers.
9061
9062         * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
9063         a space between it and its argument.
9064
9065         2002-08-24  Geoffrey Keating  <geoffk@redhat.com>
9066
9067         * c-pch.c: New file.
9068         * toplev.h (late_init_hook): Declare.
9069         * toplev.c (late_init_hook): Define.
9070         (version_flag): Make globally visible.
9071         (compile_file): Call late_init_hook.
9072         (init_asm_output): Make output file seekable.
9073         * gcc.c (default_compilers): Update c-header rule.
9074         * flags.h (version_flag): Declare.
9075         * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
9076         fields.
9077         * cppfiles.c (struct include_file): Add 'pch' field.
9078         (INCLUDE_PCH_P): New.
9079         (open_file_pch): New.
9080         (stack_include_file): Handle PCH files specially.
9081         (find_include_file): Call open_file_pch instead of open_file.
9082         (_cpp_read_file): Explain why open_file is used instead of
9083         open_file_pch.
9084         * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
9085         * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
9086         * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
9087         in cpplib callbacks.
9088         * c-common.c (pch_file): Correct comment.
9089         (allow_pch): Define.
9090         (c_common_init): Call pch_init.
9091         * c-common.h (allow_pch): Declare.
9092         (pch_init): Declare.
9093         (c_valid_pch): Declare.
9094         (c_read_pch): Declare.
9095         (c_write_pch): Declare.
9096         * Makefile.in (c-pch.o): New.
9097         (C_AND_OBJC_OBJS): Add c-pch.o.
9098         * doc/invoke.texi (Precompiled Headers): Add index entries,
9099         complete truncated paragraph.
9100
9101         2002-08-17  Geoffrey Keating  <geoffk@redhat.com>
9102
9103         * c-common.c: (pch_file): Define.
9104         * c-common.h (pch_file): Declare.
9105         * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
9106         (missing_arg): Require --output-pch= to have an argument.
9107         (c_common_decode_option): Handle --output-pch=.
9108         * gcc.c: Document new %V.
9109         (default_compilers): Handle compiling C header files.
9110         (do_spec_1): Implement %V.
9111         (main): Handle "gcc foo.h" without trying to run linker.
9112         * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
9113         (Overall Options): Document what the driver does with header files,
9114         document new -x option possibilities.
9115         (Invoking G++): More documentation for PCH.
9116         (Precompiled Headers): New.
9117
9118         2002-08-09  Geoffrey Keating  <geoffk@redhat.com>
9119
9120         * ggc.h: Don't include varray.h.  Rearrange functions to be more
9121         organized.
9122         (ggc_add_root): Delete.
9123         (ggc_mark_rtx): Delete.
9124         (ggc_mark_tree): Delete.
9125         (struct ggc_statistics): Remove contents.
9126         * ggc-common.c: Remove unneeded includes.
9127         (struct ggc_root): Delete.
9128         (roots): Delete.
9129         (ggc_add_root): Delete.
9130         (ggc_mark_roots): Don't mark `roots'.  Call ggc_mark_stringpool.
9131         (ggc_print_common_statistics): Remove most of the contents.
9132         * Makefile.in (GGC_H): No longer uses varray.h.
9133         (ggc-common.o): Update dependencies.
9134         (c-parse.o): Add varray.h to dependencies.
9135         (c-common.o): Add varray.h.
9136         * stringpool.c (mark_ident): Use mangled name for tree marker routine.
9137         (mark_ident_hash): Rename to ggc_mark_stringpool.
9138         (init_stringpool): Don't use ggc_add_root.
9139         * c-parse.in: Include varray.h.
9140         * c-common.c: Include varray.h.
9141         * objc/Make-lang.in (objc-act.o): Add varray.h.
9142         * objc/objc-act.c: Include varray.h.
9143
9144         2002-07-25  Geoffrey Keating  <geoffk@redhat.com>
9145
9146         * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
9147         (dw_cfi_oprnd1_desc): Likewise.
9148
9149         2002-07-17  Geoffrey Keating  <geoffk@redhat.com>
9150
9151         * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
9152         move out of ifdef.
9153         (alpha_links): Use gengtype to mark; move out of ifdef.
9154         (mark_alpha_links_node): Delete.
9155         (mark_alpha_links): Delete.
9156         (alpha_need_linkage): Use GGC to allocate splay tree, struct
9157         alpha_links, strings.  Don't use ggc_add_root.
9158         * ggc-common.c (ggc_splay_alloc): New.
9159         (ggc_splay_dont_free): New.
9160         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
9161         (ggc_mark_tree): Likewise.
9162         (splay_tree_new_ggc): New.
9163         (ggc_splay_alloc): Declare.
9164         (ggc_splay_dont_free): Declare.
9165         * dwarf2asm.c: Include gt-dwarf2asm.h.
9166         (mark_indirect_pool_entry): Delete.
9167         (mark_indirect_pool): Delete.
9168         (indirect_pool): Use gengtype to mark.
9169         (dw2_force_const_mem): Don't use ggc_add_root.
9170         * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
9171         (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
9172         (gt-dwarf2asm.h): Depend on s-gtype.
9173
9174         2002-07-08  Geoffrey Keating  <geoffk@redhat.com>
9175
9176         * tree.h (union tree_type_symtab): Mark `die' field.
9177         * Makefile.in (dwarf2out.o): Update dependencies.
9178         * dwarf2out.c: Use GGC to allocate all structures.  Convert to htab_t
9179         hash tables.
9180         (dw_cfi_oprnd1_desc): New function.
9181         (dw_cfi_oprnd2_desc): New function.
9182         (indirect_string_alloc): Delete.
9183         (debug_str_do_hash): New function.
9184         (debug_str_eq): New function.
9185         (mark_limbo_die_list): Delete.
9186         (dwarf2out_init): Don't call ggc_add_root.
9187
9188 2003-01-09  Vladimir Makarov  <vmakarov@redhat.com>
9189
9190         The following changes are merged from itanium-sched-branch:
9191
9192         2003-01-08  David Edelsohn  <edelsohn@gnu.org>
9193
9194         * doc/md.texi: Clarify assignment of units to automata description.
9195
9196         2003-01-08  Vladimir Makarov  <vmakarov@redhat.com>
9197
9198         * genautomata.c (unit_decl): Remove members
9199         `the_same_automaton_unit' and
9200         `the_same_automaton_message_reported_p'.
9201         (process_unit_to_form_the_same_automaton_unit_lists,
9202         form_the_same_automaton_unit_lists_from_regexp,
9203         form_the_same_automaton_unit_lists, the_same_automaton_lists):
9204         Remove them.
9205         (annotation_message_reported_p): New global variable.
9206         (check_unit_distribution_in_reserv,
9207         check_regexp_units_distribution): New functions.
9208         (check_unit_distributions_to_automata): Rewrite it.
9209
9210         2003-01-04  Vladimir Makarov  <vmakarov@redhat.com>
9211
9212         * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
9213         Use continue instead of break if cycle is too big.
9214
9215         2002-12-20  Vladimir Makarov  <vmakarov@redhat.com>
9216
9217         * genautomata.c (check_unit_distributions_to_automata): Output at
9218         most one message for a unit.
9219         (process_unit_to_form_the_same_automaton_unit_lists): Check
9220         automaton of units instead of units themself.
9221
9222         * doc/md.texi: Describe the constraint about assigning unit to
9223         automata.
9224
9225         2002-12-20  Jan Hubicka  <jH@suse.cz>
9226                     Vladimir Makarov  <vmakarov@redhat.com>
9227
9228         * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
9229         and `in_set_p'.
9230         (gen_cpu_unit): Initialize the new members.
9231         (process_regexp_cycles): Calculate minimal finish cycle too.  Set
9232         up `min_occ_cycle_num'.
9233         (evaluate_max_reserv_cycles): Change the function call.
9234         (CLEAR_BIT): New macro.
9235         (states_union, state_shift): Use the mask.
9236         (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
9237         (form_reservs_matter): New function.
9238         (make_automaton): Call the function and use the mask.
9239         (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
9240         account.
9241
9242         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
9243
9244         * config/ia64/itanium2.md (lfetch): Change the insn reservation.
9245
9246         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
9247
9248         * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
9249         for Itanium.
9250
9251         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
9252
9253         * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
9254         default cpu.
9255
9256         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
9257                 2002-10-31  Dale Johannesen <dalej@apple.com>
9258
9259         * haifa-sched.c (find_set_reg_weight): New function.
9260         (find_insn_reg_weight): Use the new function.
9261         (schedule_block): Do sorting ready queue always
9262         after insn issue.
9263
9264         2002-11-27  Vladimir Makarov  <vmakarov@redhat.com>
9265
9266         * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
9267
9268         2002-11-19  Vladimir Makarov  <vmakarov@redhat.com>
9269
9270         * haifa-sched.c (choice_entry): New structure.
9271         (choice_stack, cycle_issued_insns): New variables.
9272         (max_issue): Rewrite it.
9273         (choose_ready): Set up ready_try for unknown insns too.
9274         (schedule_block): Allocate and free choice_stack.  Set up
9275         and modify cycle_issued_insns.
9276
9277         * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
9278         with and without filling the bundle.
9279         (bundling): Combine calls of issue_nops_and_insn.
9280
9281         2002-10-17  Vladimir Makarov  <vmakarov@redhat.com>
9282
9283         * config/ia64/itanium1.md: New file.
9284
9285         * config/ia64/itanium2.md: New file.
9286
9287         * config/ia64/ia64.md: Move DFA descriptions into the new files.
9288         Remove the old pipeline description.
9289
9290         * config/ia64/ia64.c (ia64_override_options): Add aliases of
9291         itanium processor names.
9292
9293         2002-10-16  Vladimir Makarov  <vmakarov@redhat.com>
9294
9295         * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
9296         (ia64_reorg):  Set up queried unit codes for Itanium2 too.
9297
9298         * config/ia64/ia64.md: Add descriptions for Itanium2.
9299
9300         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
9301
9302         * config/ia64/ia64.h (processor_type): New enumeration.
9303         (ia64_tune, ia64_tune_string): New external declarations.
9304         (TARGET_OPTIONS): Add option `tune='.
9305
9306         * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
9307         variables.
9308         (ia64_override_options): Set up `ia64_tune'.
9309         (ia64_sched_reorder2): Set up `clocks' only for Itanium.
9310         (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
9311         (bundling): Add nops for MM-insns only for Itanium.
9312         (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
9313         Itanium.
9314
9315         * config/ia64/ia64.md (cpu): New attribute.
9316         (DFA description): Enable it only for Itanium.
9317
9318         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
9319                     Richard Henderson  <rth@redhat.com>
9320
9321         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
9322         MASK_EARLY_STOP_BITS.
9323         (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
9324         (TARGET_SWITCHES): Rename option `tune-stop-bits' to
9325         `early-stop-bits'.
9326
9327         * config/ia64/ia64.c (ia64_dfa_new_cycle,
9328         final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
9329         instead of TARGET_TUNE_STOP_BITS.
9330
9331         * doc/invoke.texi: Rename option `-mtune-stop-bits' to
9332         `-mearly-stop-bits'.
9333
9334         * config/ia64/ia64.c (automata_option "v"): Comment it.
9335
9336         2002-10-07  Vladimir Makarov  <vmakarov@redhat.com>
9337
9338         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
9339         New macros.
9340         (TARGET_SWITCHES): Add entries for the new option.
9341
9342         * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
9343         dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
9344         (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
9345         global variables.
9346         (ia64_sched_reorder2): Set up `clocks'.
9347         (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
9348         (ia64_dfa_new_cycle): Set up add_cycle.  Permit sorting ready
9349         queue when TARGET_TUNE_STOP_BITS.
9350         (bundling): Insert additional nops for MM-insns.
9351         (final_emit_insn_group_barriers): Add insertion of stop bits
9352         according `stops_p'.
9353         (ia64_reorg): Initiate the new varibales.
9354
9355         * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
9356
9357         2002-10-02  Vladimir Makarov  <vmakarov@redhat.com>
9358
9359         * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
9360         insns at the end of block insn scheduling.
9361
9362         2002-09-30  Vladimir Makarov  <vmakarov@redhat.com>
9363
9364         * sched-deps.c (remove_dependence, group_leader): Remove it.
9365         (add_dependence): Add dependence to group leader to.
9366         (set_sched_group_p): Add dependence to the first insn of the
9367         schedule group too.
9368         (sched_analyze_insn): Make dependence to jump as anti-dependence.
9369         Change true dependence by anti-dependence when
9370         `reg_pending_barrier'.
9371
9372         * sched-rgn.c (init_ready_list, can_schedule_ready_p,
9373         add_branch_dependences): Ignore schedule groups.
9374
9375         * sched-ebb.c (init_ready_list): Ditto.
9376
9377         * (move_insn, set_priorities): Ditto.
9378
9379         * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
9380         flag is clear after reload.
9381         (adjust_cost): Change cost only for output dependencies.
9382
9383         * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
9384
9385         2002-09-26  Vladimir Makarov  <vmakarov@redhat.com>
9386
9387         * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
9388
9389         * target.h (gcc_target): Add member
9390         `dependencies_evaluation_hook'.
9391
9392         * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
9393         macro.
9394         (TARGET_SCHED): Add initiatialization of the new member.
9395
9396         * sched-ebb.c: Include `target.h'.
9397         (schedule_ebb): Call `dependencies_evaluation_hook'.
9398
9399         * sched-rgn.c (schedule_region): Call
9400         `dependencies_evaluation_hook'.
9401
9402         * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
9403         New macro.
9404         (ia64_dependencies_evaluation_hook): New function.
9405
9406         * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
9407         Describe the new hook.
9408
9409         2002-09-25  Vladimir Makarov  <vmakarov@redhat.com>
9410
9411         * target.h (gcc_target): Add members
9412         `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
9413
9414         * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
9415         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
9416         macros.
9417         (TARGET_SCHED): Add initiatialization of the new members.
9418
9419         * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
9420         insn scheduling too.
9421         (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
9422         initialize `ready_try'.
9423         (schedule_block): Use `dfa_new_cycle'.  Sort `ready' only unless
9424         `dfa_new_cycle' says not to do it.
9425
9426         * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
9427         bundling.
9428
9429         * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
9430
9431         * config/ia64/ia64.c: Include `hashtab.h'.
9432         (ia64_first_cycle_multipass_dfa_lookahead_guard,
9433         ia64_dfa_new_cycle, final_emit_insn_group_barriers,
9434         ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
9435         initiate_bundle_states, finish_bundle_states, bundle_state_hash,
9436         bundle_state_eq_p, insert_bundle_state,
9437         initiate_bundle_state_table, finish_bundle_state_table,
9438         try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
9439         get_template, get_next_important_insn, bundling): New functions.
9440         (ia64_internal_sched_reorder): Remove it.
9441         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
9442         TARGET_SCHED_DFA_NEW_CYCLE): New macros.
9443         (ia64_safe_itanium_requires_unit0): Remove it.
9444         (group_barrier_needed_p): Place group barrier right before a real
9445         insn.
9446         (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
9447         Remove them.
9448         (bundle_name): New variable.
9449         (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
9450         _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
9451         _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
9452         pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
9453         temp_dfa_state, prev_cycle_state): New global variables.
9454         (insn_matches_slot, maybe_rotate, finish_last_head,
9455         rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
9456         cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
9457         find_best_packet, itanium_reorder, dump_current_packet,
9458         schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
9459         (sched_data, sched_ready, sched_types): Remove them.
9460         (ia64_sched_init): Initiate only `last_scheduled_insn' and call
9461         `init_insn_group_barriers'.
9462         (ia64_sched_reorder, ia64_sched_reorder2): Call
9463         ia64_dfa_sched_reorder.
9464         (ia64_variable_issue): Rewrite it.
9465         (bundle_state): New structure.
9466         (index_to_bundle_states, bundle_states_num,
9467         allocated_bundle_states_chain, free_bundle_state_chain): New
9468         global variables.
9469         (ia64_sched_finish): Add stop bits and call `bundling' after the
9470         2nd insn scheduling.
9471         (ia64_use_dfa_pipeline_interface): Return zero always.
9472         (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
9473         insn scheduling.
9474         (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
9475         `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
9476         (ia64_reorg): Add bundling insns.
9477
9478         * doc/tm.texi
9479         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
9480         TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
9481
9482         2002-09-23  Vladimir Makarov  <vmakarov@redhat.com>
9483
9484         * config/ia64/ia64.md: Add Itanium1 DFA description.
9485         (itanium_class): Add `nop' and `pre_cycle'.  Add
9486         define_function_unit for `nop'.
9487         (nop): Change attribute `itanium_class'.
9488         (pre_cycle): New define_insn.
9489
9490         * config/ia64/ia64-protos.h (bundling_p): New external variable.
9491         (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
9492         ia64_produce_address_p): New function prototypes.
9493
9494         * config/ia64/ia64.c (bundling_p): New global variable.
9495         (ia64_use_dfa_pipeline_interface,
9496         ia64_first_cycle_multipass_dfa_lookahead,
9497         ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
9498         functions.
9499         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
9500         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
9501         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
9502         TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
9503         (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
9504         ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
9505         (dfa_pre_cycle_insn): New variable.
9506
9507         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
9508
9509         * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
9510         constructions.
9511
9512         * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
9513         New function prototypes.
9514
9515         * genattrtab.c (main): Process the new constructions.
9516
9517         * genautomata.c (gen_presence_absence_set,
9518         process_presence_absence_names, process_presence_absence_patterns,
9519         add_presence_absence, check_absence_pattern_sets): Add parameter
9520         `final_p'.
9521         (unit_decl): Add new members `final_presence_list' and
9522         `final_absence_list'.
9523         (unit_pattern_rel_decl): Add new member `final_p'.
9524         (gen_final_presence_set, gen_final_absence_set): New functions.
9525         (process_decls): Use member `final_p'.
9526         (temp_reserv): New global variable.
9527         (reserv_sets_are_intersected): Add processing `final_presence_set'
9528         and `final_absence_set'.
9529         (initiate_states): Allocate `temp_reserv'.
9530         (unit_final_presence_set_table, unit_final_absence_set_table): New
9531         gloabal variables.
9532         (initiate_presence_absence_pattern_sets): Initiate them.
9533         (NDFA_to_DFA): Fix typo.
9534         (output_description): Output `final_presence_set' and
9535         `final_absence_set'.
9536
9537         * doc/md.texi (final_presence_set, final_absence_set): Describe
9538         them.
9539
9540         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
9541
9542         * genautomata.c (transform_3): Process a missing case (nothing on
9543         unit place).
9544
9545         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
9546
9547         * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
9548         comments about queried units and the minimization.
9549
9550         * doc/md.texi: Ditto.
9551
9552         * genautomata.c (create_composed_state): Return nonzero if the new
9553         state has been created.
9554         (first_cycle_unit_presence): New function.
9555         (state_is_differed): Add new parameter.  Use the new function.
9556         Take queried units into account.
9557         (partition_equiv_class): Pass additional parameter to
9558         `state_is_differed'.
9559         (merge_states): Process composed states too.
9560         (build_automaton, create_automata, output_min_issue_delay_table,
9561         output_tables, output_statistics): Output more information.
9562         (output_reserved_units_table): Use function
9563         `first_cycle_unit_presence'.
9564         (output_tables): Output table of queried units even if the
9565         minimization is switched on.
9566         (write_automata): Output code for querying units even if the
9567         minimization is switched on.
9568
9569         2002-09-19  Vladimir Makarov  <vmakarov@redhat.com>
9570
9571         * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
9572         syntax of the constructions.
9573
9574         * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
9575         extended syntax of the constructions.
9576
9577         * genautomata.c (unit_rel_decl): Rename it to
9578         `unit_pattern_rel_decl'.
9579         (pattern_set_el, pattern_reserv): New structures.
9580         (pattern_set_el_t, pattern_reserv_t): New types.
9581         (gen_presence_absence_set): New function.
9582         (process_presence_absence): Remove it.
9583         (process_presence_absence_names,
9584         process_presence_absence_patterns): New functions.
9585         (get_presence_absence_set): Remove it.
9586         (initiate_presence_absence_sets): Rename it on
9587         `initiate_presence_absence_pattern_sets'.  Use new function
9588         `form_reserv_sets_list'.
9589         (form_reserv_sets_list, check_presence_pattern_sets,
9590         check_absence_pattern_sets, output_pattern_set_el_list): New
9591         functions.
9592         (unit_decl): Change types of members `presence_list' and
9593         `absence_list'.
9594         (unit_rel_decl): Rename member `names_num' to `all_names_num'.
9595         (decl): Change types of members `excl', `presence', and `absence'.
9596         (get_str_vect): Rename `par_flag' to `paren_p'.  Add null element
9597         at the end of the vector.
9598         (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
9599         gen_automaton, gen_regexp_repeat, gen_regexp_allof,
9600         gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
9601         (gen_presence_set, gen_absence_set): Use new function
9602         `gen_presence_absence_set'.
9603         (add_presence_absence): Process `pattern_list' instead of
9604         `source_list'.
9605         (process_decls): USe new functions
9606         `process_presence_absence_names' and
9607         `process_presence_absence_patterns'.
9608         (reserv_sets_are_intersected): Use new function
9609         `check_presence_pattern_sets'.
9610         (presence_set, absence_set): Remove them.
9611         (unit_presence_set_table, unit_absence_set_table): New global
9612         variables.
9613         (output_description): Use new function
9614         `output_pattern_set_el_list'.
9615         (generate): Use `initiate_presence_absence_pattern_sets'.
9616
9617         2002-09-18  Vladimir Makarov  <vmakarov@redhat.com>
9618
9619         * genattr.c (main): Add output of prototype of new interface
9620         function `dfa_clean_insn_cache'.
9621
9622         * genautomata.c (output_dfa_clean_insn_cache_func): New function.
9623         (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
9624         (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
9625         the generated code.
9626         (write_automata): Call the new function.
9627
9628 2003-01-09  Jan Hubicka  <jh@suse.cz>
9629
9630         * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
9631         correctly.
9632
9633 2003-01-09  Paolo Carlini  <pcarlini@unitus.it>
9634
9635         * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
9636
9637 2003-01-09  J"orn Rennecke <joern.rennecke@superh.com>
9638
9639         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
9640         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
9641         (CONSTRAINT_LEN): Provide default definition.
9642         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
9643         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
9644         (EXTRA_CONSTRAINT_STR): Likewise.
9645         (REG_CLASS_FROM_CONSTRAINT): Define.
9646         * genoutput.c (check_constraint_len, constraint_len): New functions.
9647         (validate_insn_alternatives): Check CONSTRAINT_LEN for each
9648         constraint / modifier.
9649         (gen_insn): Call check_constraint_len.
9650         * local-alloc.c (block_alloc): Update to use new macros / pass
9651         second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
9652         * ra-build.c (handle_asm_insn): Likewise.
9653         * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
9654         (constrain_operands, peep2_find_free_register): Likewise.
9655         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
9656         * regmove.c (find_matches): Likewise.
9657         * reload.c (push_secondary_reload, find_reloads): Likewise.
9658         (alternative_allows_memconst): Likewise.
9659         * reload1.c (maybe_fix_stack_asms): Likewise.
9660         (reload_cse_simplify_operands): Likewise.
9661         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
9662         * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
9663         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
9664         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
9665         (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
9666         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
9667
9668         * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
9669
9670 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
9671
9672         * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
9673         length.
9674         (*extzv_1_r_h8300hs): Likewise.
9675         (*extzv_1_r_inv_h8300): Likewise.
9676         (*extzv_1_r_inv_h8300hs): Likewise.
9677
9678 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
9679
9680         * config/h8300/h8300.h (PREDICATE_CODES): New.
9681
9682 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
9683
9684         * config/h8300/h8300.md (*addsi3_upper): New.
9685         (*iorsi3_shift): Likewise.
9686         (two splitters): Likewise.
9687         (*addsi3_shift): Likewise.
9688         (two splitters): Likewise.
9689
9690 2003-01-09  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
9691
9692         * Makefile.in (optabs.o): Add dependency on basic-block.h.
9693         * basic-block.h (control_flow_insn_p): Fuction was exported.
9694         * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
9695         * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
9696         notes only when the region is contained in a single basic block.
9697
9698 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
9699
9700         PR inline-asm/8832
9701         * tree.h (expand_asm): New prototype.
9702         * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
9703         to do so.
9704         * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
9705         down to expand_asm.
9706         * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
9707         * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
9708         (volatile_refs_p) [ASM_INPUT]: Likewise.
9709         (side_effects_p) [ASM_INPUT]: Likewise.
9710
9711 2003-01-09  Jan Hubicka  <jh@suse.cz>
9712
9713         * i386.md (*mul*): FIx constraints; remove confused comment; fix
9714         athlon_decode attributes
9715         (imul/k8 optimization peep2s): New.
9716
9717         * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
9718         * i386.md (type attribute): Add ssecomi.
9719         (unit, memory, prefix attributes): Handle ssecomi.
9720         (cvt?2? patterns): Fix athlon_decode attribute
9721         (comi patterns): Set attribute to ssecomi.
9722
9723         PR target/8343
9724         * m68k.md (umulsidi, mulsidi expanders): Use register operand.
9725
9726 2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
9727
9728         * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
9729         that match register_operands.
9730         * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
9731         register_operand the default case.
9732
9733 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
9734
9735         PR c/8032
9736         * c-typeck.c (process_init_element) [RECORD_TYPE]: For
9737         an empty element, do not advance the pointer to unfilled
9738         fields if there are pending initializers.
9739
9740 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
9741
9742         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
9743         (install-gcc-tooldir, install-cpp, installdirs,
9744         install-common, install-driver, install-info, install-man,
9745         install-headers, install-include-dir, install-headers-tar,
9746         install-headers-cpio, install-headers-cp, install-mkheaders,
9747         install-collect2, uninstall): Prepend $(DESTDIR) to
9748         destination paths in all (un)installation commands.
9749         (install-driver): Rewrite $(LN) commands to support DESTDIR
9750         with "ln" as well as with "ln -s".
9751         (installdirs): Simply use mkinstalldirs.
9752         (install-libgcc, install-multilib): Also pass DESTDIR.
9753         * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
9754         installation destination variable ldir.
9755         * config/alpha/t-osf4, config/arm/t-netbsd,
9756         config/ia64/t-hpux, config/mips/t-iris5-6,
9757         config/pa/t-hpux-shlib, config/rs6000/t-aix43,
9758         config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
9759         config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
9760         in the definition of SHLIB_INSTALL.
9761         * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
9762         $(libsubdir) in the installation commands.
9763
9764 2003-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
9765
9766         * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
9767         non-optimizing compile.
9768         (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
9769         compile.
9770
9771 2003-01-08  Douglas B Rupp  <rupp@gnat.com>
9772
9773         * config/i386/i386.c (ix86_attribute_table): Add new attributes
9774         ms_struct and gcc_struct.
9775         (ix86_handle_struct_attribute): New function.
9776         (ix86_ms_bitfield_layout_p): Update to take new attributes
9777         into account.
9778         * doc/extend.texi: Document new attributes.
9779         * testsuite/gcc.dg/bf-ms-attrib.c: New test.
9780
9781 2003-01-08  Danny Smith  <dannysmith@users.sourceforge.net>
9782
9783         PR optimization/8750
9784         * config/i386/i386.c (ix86_expand_prologue): Don't allow
9785         scheduling pass to move insns across __alloca call.
9786
9787 2003-01-08  Dale Johannesen  <dalej@apple.com>
9788
9789         * config/rs6000/rs6000.md:  Replace *store_multiple_string
9790         with *stmsi[3-8].
9791
9792 2003-01-08  Jeff Sturm  <jsturm@one-point.com>
9793
9794         PR target/9210
9795         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
9796         Set SYMBOL_REF_FLAG on local data sym_ref.
9797
9798 2003-01-08  Dale Johannesen  <dalej@apple.com>
9799
9800         * function.c (assign_parms):  Don't set pretend_args_size if
9801           REG_PARM_STACK_SPACE.
9802           config/rs6000/rs6000.c (setup_incoming_varargs):  Don't set
9803           pretend_args_size.
9804
9805 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
9806
9807         * gcc.hlp: Delete.
9808
9809 2003-01-09  Jan Hubicka  <jh@suse.cz>
9810
9811         * i386.c  (ix86_expand_int_addcc): Fix thinko.
9812
9813 2003-01-08  David Edelsohn  <edelsohn@gnu.org>
9814
9815         * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
9816         * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
9817         as hook_bool_tree_hwi_hwi_tree_true.
9818         (rs6000_emit_allocate_stack): Use TARGET_32BIT.
9819         (rs6000_emit_epilogue): Same.
9820         (rs6000_output_mi_thunk): Re-implement as RTL.
9821         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
9822         xcoffout_declare_function if any debugging enabled.
9823
9824 2003-01-08  Chris Demetriou  <cgd@broadcom.com>
9825
9826         * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
9827         targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
9828         * config/mips/mips.h (enum processor_type): Rename
9829         PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
9830         PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
9831         Add PROCESSOR_M4K.
9832         (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
9833         (ISA_MIPS32R2): New define.
9834         (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
9835         (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
9836         (ISA_HAS_PREFETCH): Add support for MIPS32R2.
9837         (MIPS_ISA_DEFAULT): Likewise.  Also, fix indentation.
9838         (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2.  Add new
9839         predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
9840         (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
9841         compiling MIPS16 code.
9842         (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
9843         comment.
9844         (ISA_HAS_SEB_SEH): New define.
9845         (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
9846         * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
9847         processor_type value renaming.  Add support for MIPS32R2.
9848         Clean up comments, and move "sb1" entry with other MIPS64 CPU
9849         entries.
9850         (override_options): Reimplement -mipsN option handling so that
9851         it will work correctly for -mips32r2.  Avoid branch-likely
9852         instructions on MIPS32R2.
9853         * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
9854         (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
9855         (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
9856         (extendhisi2_hw, extendqisi2_hw): New.
9857         * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
9858         for MIPS32R2.  Add new predefine __mips_isa_rev for MIPS32,
9859         MIPS32R2, and MIPS64.
9860         (LINK_SPEC): Pass -mips32r2 to linker.
9861         * config/mips/t-isa3264: Built -mips32r2 multilibs.
9862         * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
9863         for mips32r2 in the -march description.  Alphabetically sort
9864         CPU names in the -march description.  Add long-missed -mips32
9865         and -mips64 to MIPS option summary.
9866
9867         * config.gcc: Update copyright years to include 2003.
9868         * config/mips/mips.c: Likewise.
9869         * config/mips/mips.h: Likewise.
9870         * config/mips/mips.md: Likewise.
9871         * config/mips/netbsd.h: Likewise.
9872         * doc/invoke.texi: Likewise.
9873
9874 2003-01-08  Andreas Schwab  <schwab@suse.de>
9875
9876         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
9877         variable.
9878         * configure: Regenerated.
9879
9880 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
9881
9882         * config/h8300/h8300.c (output_logical_op): Replace byte/word
9883         extraction of det with b0, b1, w0, w2, etc.
9884         (compute_logical_op_length): Likewise.
9885         (compute_logical_op_cc): Likewise.
9886
9887 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
9888
9889         * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
9890         HIGH on all variants.
9891
9892 2003-01-08  Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
9893
9894         * Makefile.in (PARTITION_H): New.
9895         (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
9896         * basic-block.h: Include hard-reg-set.h.
9897
9898 2003-01-08  Richard Earnshaw  <rearnsha@arm.com>
9899
9900         * arm.h (ENABLE_XF_PATTERNS): Delete.
9901         * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
9902         (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
9903         (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
9904         (cmpxf_trap): Delete.
9905         (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
9906
9907 2003-01-08  Jan Hubicka  <jh@suse.cz>
9908
9909         * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
9910         (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
9911         (add??cc): New expanders.
9912         * i386.c (expand_int_addcc): New function.
9913         * i386-protos.h (expand_int_addcc): Declare.
9914
9915         * alias.c (memory_modified_1): New static function.
9916         (memory_modified): New static varaible.
9917         (memory_modified_in_insn_p): New global function.
9918         * rtl.h (memory_modified_in_insn_p): Declare.
9919         * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
9920         references.
9921
9922         * expr.h (emit_conditional_add): Declare.
9923
9924 2003-01-07  Janis Johnson  <janis187@us.ibm.com>
9925
9926         PR other/8947
9927         * doc/invoke.texi (-malign-double): Explain that the option breaks
9928         binary compatibility.
9929
9930 2003-01-08  Andreas Schwab  <schwab@suse.de>
9931
9932         * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
9933         should come from the generic *-*-linux* entry.
9934
9935 2003-01-07  Jan Hubicka  <jh@suse.cz>
9936
9937         * cselib.c (cselib_current_insn_in_libcall): New static variable.
9938         (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
9939         we are inside libcall.
9940         * cselib.h (elt_loc_list): Add in_libcall.
9941         * gcse.c (do_local_cprop): Do not copy propagate using insns
9942         in libcalls.
9943
9944 2003-01-07  David Edelsohn  <edelsohn@gnu.org>
9945
9946         * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
9947         not normally affect to issue rate.
9948
9949 2003-01-07  Jan Hubicka  <jh@suse.cz>
9950
9951         * genopinit.c (optabs): Add addc_optab.
9952         * ifcvt.c (noce_try_store_flag): Rename to ...
9953         (noce_try_addcc): ... this one; handle generic conditional increment.
9954         (noce_process_if_block): Update noce_try_addcc call.
9955         * optabs.c (emit_conditional_add): New.
9956         (init_obtabs): Initialize addc_optab.
9957         * optabs.h (optab_index): Add OTI_addcc.
9958         (addcc_optab): New macro.
9959         * md.texi: Document addMcc
9960
9961         PR target/8322
9962         * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
9963         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
9964         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
9965
9966         * reload1.c (delete_output_reload): Avoid repeated attempts
9967         to delete insn.
9968
9969 2003-01-07  Andreas Schwab  <schwab@suse.de>
9970
9971         * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
9972         Move --enable-initfini-array check ...
9973         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here.  Define
9974         HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
9975         Don't AC_SUBST gcc_cv_initfinit_array.  Use AC_TRY_RUN.
9976         * configure: Rebuild.
9977
9978 2003-01-07  Richard Henderson  <rth@redhat.com>
9979
9980         * alias.c (find_base_value): Only use new_reg_base_value shortcut
9981         if the register is set once.
9982
9983 2003-01-07  Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
9984
9985         * config/i386/i386.c (ix86_init_mmx_sse_builtins):
9986         __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
9987         * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
9988
9989 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
9990             Sunil Davasam  <sunil.k.davasam@intel.com>
9991
9992         PR libstdc++/9076
9993         * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
9994         DW_CFA_same_value, read next and ignore.
9995
9996 2003-01-07  Richard Henderson  <rth@redhat.com>
9997
9998         * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
9999
10000 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
10001
10002         * cfg.c: Include alloc-pool.h
10003         (edge_pool): New pool.
10004         (bb_pool): New pool.
10005         (first_deleted_edge): Remove.
10006         (first_deleted_block): Remove.
10007         (init_flow): Alloc/free the pools.
10008         (free_edge): Use pools.
10009         (alloc_block): Ditto.
10010         (expunge_block): Ditto.
10011         (cached_make_edge): Ditto.
10012
10013         * Makefile.in (cfg.o): Add alloc-pool.h dependency.
10014
10015 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
10016
10017         * et-forest.c: Include alloc-pool.h.
10018         (struct et_forest): Add node_pool and occur_pool.
10019         (et_forest_create): Create the new pools.
10020         (et_forest_delete): Delete them.
10021         (et_forest_add_node): Allocate and free using pools.
10022         (et_forest_add_edge): Ditto.
10023         (et_forest_remove_node): Ditto.
10024         (et_forest_remove_edge): Ditto.
10025
10026         * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
10027
10028 2003-01-07  Kazu Hirata  <kazu@cs.umass.edu>
10029
10030         * config/h8300/h8300.c (output_logical_op): Simplify and
10031         optimize the handling of SImode.
10032         * config/h8300/h8300.c (compute_logical_op_length): Update
10033         accordingly.
10034         * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
10035
10036 2003-01-07  Richard Sandiford  <rsandifo@redhat.com>
10037
10038         * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
10039         big-endian correction to indirect arguments too.
10040
10041 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
10042
10043         Segher Boessenkool  <segher@koffie.nl>
10044
10045         * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
10046         (alt_reg_names): Ditto, fix formatting.
10047         * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
10048
10049 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
10050
10051         * config/h8300/h8300.c (final_prescan_insn): Constify uid.
10052         (output_logical_op): Constify intval and det.
10053         (compute_logical_length): Likewise.
10054         (compute_logical_cc): Likewise.
10055         (output_a_shift): Constify mask.
10056         (h8300_encode_label): Constify len.
10057
10058 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
10059
10060         * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
10061         (h8300_expand_epilogue): Likewise.
10062
10063 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
10064
10065         Segher Boessenkool  <segher@koffie.nl>
10066
10067         * config/rs6000/altivec.md: Remove spaces from assembler
10068         instruction argument lists.
10069
10070 2003-01-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
10071
10072         * config/c4x/c4x.c (c4x_naked_function_p): Rename from
10073         c4x_assembler_function_p.
10074         (c4x_null_epilogue_p): Complement return value, all uses updated.
10075         (c4x_insert_attributes): Add naked.
10076         * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
10077         * doc/extend.texi: Update C4x function attributes.
10078
10079 2003-01-06  Richard Henderson  <rth@redhat.com>
10080
10081         * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
10082         properly when changing "local-ness".
10083         * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
10084
10085 2003-01-06  Dale Johannesen  <dalej@apple.com>
10086
10087         * config/darwin-protos.h:  Add prototypes for new section functions.
10088
10089 2003-01-06  Chris Demetriou  <cgd@broadcom.com>
10090
10091         * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
10092         to EABI.
10093
10094 2003-01-06  Zack Weinberg  <zack@codesourcery.com>
10095
10096         * hwint.h: If the current compiler has no 64-bit type at all,
10097         make HOST_WIDEST_INT 32 bits.
10098
10099 2003-01-06  Eric Christopher  <echristo@redhat.com>
10100
10101         * config/mips/mips.md (movdf_internal2): Fix constraints.
10102
10103 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
10104
10105         * config/h8300/h8300.md (*twoshifts_l16_r1): New.
10106
10107 2003-01-06  Richard Sandiford  <rsandifo@redhat.com>
10108
10109         * config/mips/mips.md (leadi): Use dla rather than la.
10110
10111 2003-01-06  Svein E. Seldal  <Svein.Seldal@solidas.com>
10112
10113         * config/c4x/c4x.h: Updated specs for new gas format.  Fixed bug
10114         in C33_FLAG.  Added proper C33 support in ASM_FILE_START macro.
10115
10116 2003-01-06 Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
10117
10118         * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
10119         redefinition.
10120
10121 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
10122
10123         * config/h8300/h8300.md (*extzv_8_23): New.
10124
10125 2003-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10126
10127         * pa64-hpux.h (JCR_SECTION_NAME): Define.
10128         (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
10129         USE_EH_FRAME_REGISTRY when defining.
10130
10131 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
10132
10133         * config/h8300/h8300.c (output_a_shift): Do not output a
10134         variable shift.
10135         * config/h8300/h8300.md (two splitters): New.
10136
10137 2003-01-05  Richard Sandiford  <rsandifo@redhat.com>
10138
10139         * config/mips/mips.md: Disable the movstrsi define_split.
10140
10141 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10142
10143         * alloc-pool.c: Don't include "libiberty.h".
10144         * config/sparc/gmon-sol2.c: Include <fcntl.h>.
10145         * convert.c (convert_to_real): Hide unused variable.
10146
10147 2003-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10148
10149         * Makefile.in (gtyp-gen.h): Const-ify.
10150         * gcov-dump.c (tag_table): Likewise.
10151
10152 2003-01-04  Bruce Korb  <bkorb@gnu.org>
10153
10154         * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
10155         of *both* the file name and the fix name.
10156
10157 2003-01-04  John David Anglin  <dave.anglin@nrc.ca>
10158
10159         * config.gcc (hppa*64*-*-hpux11*): Define extra_parts.  Don't use
10160         collect2.
10161         * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
10162         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
10163         * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
10164         GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
10165         GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
10166         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
10167         elfos.h.
10168         (EH_FRAME_IN_DATA_SECTION): Delete define.
10169         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
10170         (STARTFILE_SPEC): Use crtbegin.o.
10171         (ENDFILE_SPEC): Use crtend.o.
10172         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
10173         SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
10174         PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
10175         DTOR_LIST_BEGIN): Define.
10176         * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
10177         (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
10178         * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
10179
10180 2002-12-31  Larin Hennessy  <larin@science.oregonstate.edu>
10181
10182         * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
10183         * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
10184         m88k-*-sysv3*, Sony NewsOS.   Remove references to i860.
10185         Cleanup handling of replacement text.
10186         * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
10187
10188 2003-01-04  Bruce Korb  <bkorb@gnu.org>
10189
10190         * fixinc/tests/base/math.h: removed obsolete results
10191         * fixinc/tests/base/stdlib.h: ditto
10192         * fixinc/tests/base/sys/param.h: ditto
10193         * fixinc/tests/base/sys/stat.h: ditto
10194         * fixinc/tests/base/time.h: ditto
10195         * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
10196         * fixinc/tests/base/sys/byteorder.h: ditto
10197         * fixinc/inclhack.def: Remove superfluous backslashes
10198
10199 2003-01-04  Kazu Hirata  <kazu@cs.umass.edu>
10200
10201         * config/h8300/h8300-protos.h: Add prototypes for
10202         the new functions defined below.
10203         * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
10204         define.
10205         (dosize): Emit RTL instead of assembly code.
10206         (push): Likewise.
10207         (pop): Likewise.
10208         (h8300_output_function_prologue): Remove.
10209         (h8300_expand_prologue): New.
10210         (h8300_expand_epilogue): New.
10211         (h8300_output_function_epilogue): Do only the reset of
10212         pragma_saveall.
10213         * config/h8300/h8300.md (push_h8300): New.
10214         (push_h8300hs): Likewise.
10215         (pop_h8300): Likewise.
10216         (pop_h8300hs): Likewise.
10217         (*stm_h8300s_2): Change the name to stm_h8300s_2.
10218         (*stm_h8300s_3): Change the name to stm_h8300s_3.
10219         (*stm_h8300s_4): Change the name to stm_h8300s_4.
10220         (*ldm_h8300s_2): New.
10221         (*ldm_h8300s_3): Likewise.
10222         (*ldm_h8300s_4): Likewise.
10223         (return): Likewise.
10224         (*return_1): Likewise.
10225         (prologue): Likewise.
10226         (epilogue): Likewise.
10227         (monitor_prologue): Likewise.
10228
10229 2003-01-03  Dale Johannesen  <dalej@apple.com>
10230
10231         * config/darwin.h:  (EXTRA_SECTIONS):  Add machopic_symbol_stub1,
10232           machopic_picsymbol_stub1.
10233           (EXTRA_SECTION_FUNCTIONS):  Ditto.
10234         * rs6000/rs6000.c:  Update copyright.
10235           (machopic_output_stub):  Use them.  Remove an insn from stub code.
10236
10237 2003-01-02  Jason Merrill  <jason@redhat.com>
10238
10239         * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
10240
10241         * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
10242         static/external decls.
10243
10244         * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
10245         outermost scope.
10246         * c-decl.c (c_make_fname_decl): Push the decls there, too.
10247
10248 2003-01-03  Kazu Hirata  <kazu@cs.umass.edu>
10249
10250         * config/h8300/h8300-protos.h: Add a prototype for
10251         h8300_current_function_interrupt_function_p.
10252         * config/h8300/h8300.c (interrupt_handler): Remove.
10253         (os_task): Likewise.
10254         (monitor): Likewise.
10255         (pragma_interrupt): New.
10256         (WORD_REG_USED): Use
10257         h8300_current_function_interrupt_function_p.
10258         (dosize): Likewise.
10259         (h8300_output_function_prologue): Likewise.
10260         Do not set interrupt_handler, os_task, monitor.
10261         (h8300_output_function_prologue): Use
10262         h8300_current_function_interrupt_function_p.
10263         Do not set interrupt_handler, os_task, monitor.
10264         (h8300_current_function_interrupt_function_p): New.
10265         (h8300_pr_interrupt): Set pragma_interrupt.
10266         (h8300_insert_attributes): Reset pragma_interrupt.
10267
10268 2003-01-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10269
10270         * doc/install.texi (Configuration): Fix markup for reference to
10271         gcc/config.gcc.
10272
10273 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
10274
10275         * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
10276         (*iorhi3_two_qi): Likewise.
10277         (*iorsi3_zexthi): Likewise.
10278         (*xorhi3_zextqi): Likewise.
10279         (*xorsi3_zexthi): Likewise.
10280         (*xorsi3_zextqi): Likewise.
10281
10282 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
10283
10284         * config/h8300/h8300.c (stack_pointer_operand): New.
10285         (const_int_gt_2_operand): Likewise.
10286         (const_int_ge_8_operand): Likewise.
10287         * config/h8300/h8300.md (a splitter): Likewise.
10288         (a peephole2): Likewise.
10289         * config/h8300/h8300-protos.h: Add prototypes for the new
10290         functions above.
10291
10292 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
10293
10294         * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
10295         objc/objc-act.h: Fix copyright years.
10296
10297 2003-01-02  Steven Bosscher  <s.bosscher@student.tudelft.nl>
10298
10299         * doc/passes.texi: Fix documentation for -fssa-ccp
10300
10301 2003-01-02  Neil Booth  <neil@daikokuya.co.uk>
10302
10303         * gccbug.in: Update for new categories.
10304
10305 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
10306
10307         * config/h8300/h8300.md: Reorder some patterns.
10308
10309 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
10310
10311         * config/h8300/h8300.c (output_logical_op): Fix a warning.
10312
10313 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
10314
10315         * config/darwin-protos.h, config/c4x/c4x-protos.h,
10316         config/cris/cris-protos.h, config/i370/i370-protos.h,
10317         config/i960/i960-protos.h, config/ia64/ia64-protos.h,
10318         config/v850/v850-protos.h: Use struct, and don't conditionally
10319         compile on GCC_C_PRAGMA_H.
10320
10321 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
10322
10323         * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
10324         * config/h8300/h8300-protos.h: Likewise.
10325         * config/sh/sh-protos.h: Likewise.
10326
10327 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
10328
10329         * config/arm/arm-protos.h: Use struct cpp_reader instead of
10330         cpp_reader.
10331         * config/h8300/h8300-protos.h: Likewise.
10332         * config/sh/sh-protos.h: Likewise.
10333
10334 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
10335
10336         * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
10337         arm_pr_long_calls_off): Use struct.
10338         * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
10339         : Similarly.
10340         Don't include cpplib.h.
10341         * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
10342         sh_pr_nosave_low_regs): Similarly.
10343
10344 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
10345
10346         * config/h8300/h8300.c: Include cpplib.h.
10347
10348 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
10349
10350         * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
10351           objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
10352           objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
10353           "GCC" in the copyright header.
10354
10355 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
10356
10357         * c-pragma.c (c_register_pragma): New.
10358         (init_pragma): Use it.
10359         * c-pragma.h (cpp_register_pragma): Don't declare.
10360         (c_register_pragma): New.
10361         * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
10362         * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
10363         * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
10364         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
10365         * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
10366         * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
10367         * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
10368         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
10369         * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
10370         * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
10371         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
10372         * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
10373
10374 See ChangeLog.8 for earlier changes.