OSDN Git Service

a02b55c72970cacb2779c038f8c031ee8d9ba213
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 Thu Apr  3 22:27:40 CEST 2003  Jan Hubicka  <jh@suse.cz>
2
3         * cfgrtl.c (update_bb_for_insn): Do not set block for barriers.
4
5 2003-04-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
6
7         PR optimization/10157
8         * gcse.c (can_copy_p): Rename it to can_copy.
9         (can_copy_init_p): Remove.
10         (compute_can_copy): Use can_copy instead of can_copy_p.
11         (can_copy_p): New exported function. Call compute_can_copy.
12         (hash_scan_set): Use it.
13         (gcse_main): Don't call compute_can_copy.
14         (bypass_jumps): Don't call compute_can_copy.
15         * rtl.h (can_copy_p): Declare.
16         * loop.c (scan_loop): Don't move the source and add a reg-to-reg
17         copy if the mode doesn't support copy operations.
18
19 2003-04-03  Jason Merrill  <jason@redhat.com>
20
21         * Makefile.in (unstrap): Also remove stage_last.
22
23         * dwarf2out.c (lookup_filename): Don't check for "<internal>".
24         (dwarf2out_source_line): Don't do anything if line==0.
25
26         * stor-layout.c (do_type_align): New fn, split out from...
27         (layout_decl): ...here.  Do all alignment calculations for 
28         FIELD_DECLs here.
29         (update_alignment_for_field): Not here.
30         (start_record_layout, debug_rli): Remove unpadded_align.
31         * tree.h (struct record_layout_info_s): Remove unpadded_align.
32         * c-decl.c (finish_enum): Don't set DECL_SIZE, DECL_ALIGN
33         or DECL_MODE on the CONST_DECLs.
34         (finish_struct): Don't mess with DECL_ALIGN.
35
36 Thu Apr  3 18:57:19 CEST 2003  Jan Hubicka  <jh@suse.cz>
37
38         * i386.c (print_operand): Do not bypass output_addr_const at flag_pic.
39
40 Thu Apr  3 17:08:09 2003  J"orn Rennecke <joern.rennecke@superh.com>
41
42         * sh.c (sh_function_ok_for_sibcall): Return 0 if the current
43         function is an interrupt handler.
44
45         * sh.c (sh_expand_epilogue): Avoid clash of temp register for
46         restoring target registers with EH_RETURN_STACKADJ_RTX; use
47         multiple registers in round-robin fashion.
48
49 2003-04-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
50
51         * gengtype-lex.l (IWORD): Add CHAR_BITFIELD.
52         * system.h (CHAR_BITFIELD): New.
53
54 2003-04-03  Kazu Hirata  <kazu@cs.umass.edu>
55
56         * config/h8300/h8300.md (a peephole2): Generalize to accept GT
57         and LE.
58         (another peephole2): Likewise.
59
60 2003-04-03  Nick Clifton  <nickc@redhat.com>
61
62         * config/sparc/sol2-bi.h (ASM_CPU64_DEFAULT_SPEC): Add -TSO.
63         (DEF_ARCH64_SPEC): Likewise.
64
65 Thu Apr  3 09:53:40 CEST 2003  Jan Hubicka  <jh@suse.cz>
66
67         * i386.c (constant_address_p): Use legitimate_constant_p.
68         (legitimate_address_p): Do not use CONSTANT_ADDRESS_P.
69
70 2003-04-02  Kazu Hirata  <kazu@cs.umass.edu>
71
72         * config/h8300/h8300-protos.h: Add a prototype for
73         gtle_operator.
74         * config/h8300/h8300.c (gtle_operator): New.
75         * config/h8300/h8300.h (PREDICATE_CODES): Add an entry for
76         gtle_operator.
77         * config/h8300/h8300.md (a peephole2): Generalize to accept GT
78         and LE.
79
80 2003-04-02  Richard Henderson  <rth@redhat.com>
81
82         * libgcc-std.ver (_Unwind_GetCFA): New.
83         * unwind-dw2.c (_Unwind_GetCFA): New.
84         * unwind-libunwind.c (_Unwind_GetCFA): New.
85         * unwind-sjlj.c (_Unwind_GetCFA): New.
86         * unwind.h: Declare it.
87
88 Thu Apr  3 00:31:21 CEST 2003  Jan Hubicka  <jh@suse.cz>
89
90         PR inline-asm/8088
91         * i386.c (ix86_hard_regno_mode_ok):  Return 0 for MMX/SSE registers
92         when MMX/SSE is not available.
93
94 2003-04-02  Mike Stump  <mrs@apple.com>
95
96         * doc/install.texi (Specific): Update pointers to apple.com.
97
98 Thu Apr  3 00:18:49 CEST 2003  Jan Hubicka  <jh@suse.cz>
99
100         * i386.c (override_options):  Disable red zone by default on i386.
101         (compute_frame_layout, ix86_force_to_memory, ix86_free_from_memory):  
102         Do not test TARGET_64BIT together with TARGET_RED_ZONE
103
104 2003-04-02  Kazu Hirata  <kazu@cs.umass.edu>
105
106         * config/h8300/h8300.md (a peephole2): Tighten the condition.
107
108 2003-04-02  Richard Henderson  <rth@redhat.com>
109
110         * longlong.h (umul_ppmm) [alpha]: Use __builtin_alpha_umulh.
111
112 2003-04-02  Kazu Hirata  <kazu@cs.umass.edu>
113
114         * config/h8300/h8300.md (a peephole2): New.
115
116 2003-04-02  Richard Henderson  <rth@redhat.com>
117
118         * except.c (sjlj_find_directly_reachable_regions): Recognize when
119         must-not-throw region has been deleted.
120
121 2003-04-02  Richard Henderson  <rth@redhat.com>
122
123         * dwarf2out.c (output_call_frame_info): Ignore fde->nothrow as an
124         optimization when flag_exceptions not enabled.
125
126 2003-04-02  Vladimir Makarov  <vmakarov@redhat.com>
127
128         * config/rs6000/rs6000.c
129         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Redefine the
130         macros.
131         (rs6000_issue_rate): Add case for 8540.
132         (rs6000_use_sched_lookahead): New function.
133
134         * config/rs6000/8540.md: Rename SIU units into SU ones and MIU
135         units into MU ones.
136         (ppc8540_branch, ppc8540_cr_logical): Add one cycle in the
137         reservation before retirement.
138         (ppc8540_multiply, ppc8540_load, ppc8540_store,
139         ppc8540_simple_float, ppc8540_vector_load, ppc8540_vector_store):
140         Remove additional cycle in the reservation before retirement.
141         (ppc8540_mfcr, ppc8540_mtcrf, ppc8540_mtjmpr): Add missed
142         reservation of ppc8540_issue.
143         
144 2003-04-02  Andreas Schwab  <schwab@suse.de>
145
146         * real.c (decode_ieee_single): Fix decoding of SNaN bit.
147
148 2003-04-01  Richard Henderson  <rth@redhat.com>
149
150         * except.c (convert_from_eh_region_ranges_1): Smash REG_EH_REGION
151         notes for nothrow calls if flag_forced_unwind_exceptions.
152         (build_post_landing_pads): Mind flag_forced_unwind_exceptions.
153         (sjlj_find_directly_reachable_regions): Likewise.
154         (reachable_handlers): Likewise.
155         (can_throw_external): Likewise.
156         (collect_one_action_chain): Record cleanups after catch-all and
157         must-not-throw if flag_forced_unwind_exceptions.
158         * flags.h (flag_forced_unwind_exceptions): Declare.
159         * toplev.c (flag_forced_unwind_exceptions): New.
160         (lang_independent_options): Add it.
161         * doc/invoke.text: Add it.
162
163 2003-04-01  David Mosberger <davidm@hpl.hp.com>
164
165         * config/ia64/crti.asm: Clean up trailing whitespace.
166         Remove trailing hashes (#) from identifiers.
167
168         * config/ia64/crtn.asm: Ditto.
169
170         * config/ia64/crtend.asm: Remove trailing hashes (#) from
171         identifiers.
172         (__do_global_ctors_aux): Align to 32-byte boundary.  Add unwind
173         directives.  Drop explicit bundling---it just makes the code
174         harder to read.  Don't save/restore gp needlessly.
175
176         * config/ia64/crtbegin.asm: Remove trailing hashes (#) from
177         identifiers (they're only needed if the identifier would clash
178         with a register name otherwise).
179         (__do_global_dtors_aux): Align to 32-byte boundary. Add unwind
180         directives.  Drop explicit bundling---it just makes the code
181         harder to read.
182         (__do_jv_register_classes): Ditto.
183         (.fini_array): Remove "progbits" (newer
184         assemblers don't like wrong section-types).
185         (.init_array): Ditto.
186
187 2003-04-01  Roger Sayle  <roger@eyesopen.com>
188
189         PR fortran/9974
190         * gcse.c (reg_killed_on_egde): New function to test whether the
191         given reg is overwritten by any instruction queued on an edge.
192         (bypass_block): Ignore substitutions killed on incoming edges.
193         Don't bypass outgoing edges that have queued instructions.
194
195 2003-04-01  Alexandre Oliva  <aoliva@redhat.com>
196
197         * real.h (EXP_BITS): Make room for...
198         (struct real_value): ... added canonical bit.
199         (struct real_format): Added pnan.
200         (mips_single_format, mips_double_format, mips_extended_format,
201         mips_quad_format): New.
202         * real.c: Copy p to pnan in all formats.
203         (get_canonical_qnan, get_canonical_snan): Set canonical bit.
204         (real_nan): Use pnan to compute significand's shift.
205         (real_identical): Disregard significand in canonical
206         NaNs.
207         (real_hash): Likewise.  Take signalling into account.
208         (encode_ieee_single, encode_ieee_double, encode_ieee_quad):
209         Disregard significand bits in canonical NaNs.  Set all bits of
210         canonical NaN if !qnan_msb_set.
211         (encode_ibm_extended, decode_ibm_extended): Likewise.  Use
212         qnan_msb_set to tell the base double format.
213         (ibm_extended_format): Use 53 as pnan.
214         (mips_single_format, mips_double_format, mips_extended_format,
215         mips_quad_format): Copied from the corresponding ieee/ibm
216         formats, with qnan_msb_set false.
217         * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Use mips_extended_format.
218         * config/mips/linux64.h (MIPS_TFMODE_FORMAT): Use mips_quad_format.
219         * config/mips/mips.c (override_options): Use mips_single_format
220         and mips_double_format.  Default TFmode to mips_quad_format.
221         * config/mips/t-linux64 (tp-bit.c): Define QUIET_NAN_NEGATED.
222         * config/mips/t-irix6: Likewise.
223         * config/mips/t-mips (fp-bit.c, dp-bit.c): Likewise.
224         * config/fp-bit.c (pack_d, unpack_d): Obey it.
225
226 2003-04-01  Geoffrey Keating  <geoffk@apple.com>
227
228         * unwind-dw2-fde-darwin.c (DESTRUCTOR_MAY_BE_CALLED_LIVE): New.
229         (live_image_destructor): Reset image to initial state.
230         (examine_objects): Set DESTRUCTOR_MAY_BE_CALLED_LIVE.
231
232 2003-04-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
233
234         * config/sparc/sparc.c (input_operand): Accept bare
235         CONSTANT_P_RTX operands.
236
237 2003-04-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
238
239         * gcse.c (struct ls_expr): Added pattern_regs field.
240         (ldst_entry): Initialize it.
241         (extract_mentioned_regs, extract_mentioned_regs_helper): New.
242         (store_ops_ok): Use regs precomputed by them.
243         (find_loads, store_killed_in_insn, load_kills_store): Change return
244         type to bool.
245         (store_killed_before, store_killed_after): Take position of register
246         set in account.
247         (reg_set_info): Store position of the setter.
248         (gcse_main): Enable store motion.
249         (mems_conflict_for_gcse_p): Enable load motion of non-symbol mems.
250         (pre_insert_copy_insn, update_ld_motion_stores, insert_store): Prevent rtl
251         sharing.
252         (simple_mem): Enable store motion of non-symbol mems.
253         (regvec): Type changed.
254         (LAST_AVAIL_CHECK_FAILURE): New.
255         (compute_store_table_current_insn): New.
256         (build_store_vectors): Computation of availability and anticipatability
257         moved ...
258         (compute_store_table, find_moveable_store): ... here.
259         (delete_store): Remove senseless comment.
260         (store_motion): Reorganize.
261
262 2003-04-01  Kevin Buettner  <kevinb@redhat.com>
263
264         * config/mips/mips.c (override_options): Provide mappings for
265         HI_REGNUM and LO_REGNUM.
266         * config/mips/mips.h (MD_DBX_FIRST): Define.
267
268 2003-04-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
269
270         * combine.c (merge_outer_ops): Fix typo.
271
272         * varasm.c (make_decl_one_only): Revert 2003-03-09 patch.
273
274 2003-04-01  David Edelsohn  <edelsohn@gnu.org>
275
276         * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
277         power4.md,rios1.md,rios2.md,rs64.md}: Change mult_compare to
278         imul_compare.  Add lmul_compare.
279         * config/rs6000/power4.md: Bump some latencies.  Model extra cycle
280         in second pair of dispatch slots.  Model stores more accurately.
281         Tweak multiply model.  Add bypasses for CR instructions dependent
282         on complicated compares.
283         * config/rs6000/rs6000.md (mulsi3): Name imul_compare patterns.
284         (muldi3): Add lmul_compare patterns.
285         * config/rs6000/rs6000.c (rs6000_variable_issue): Move FPLOAD_UX
286         and FPSTORE_UX to split instructions and add COMPARE,
287         DELAYED_COMPARE, IMUL_COMPARE, LMUL_COMPARE, IDIV, LDIV.
288         (rs6000_adjust_cost): Add IMUL_COMPARE and LMUL_COMPARE.
289         (rs6000_rtx_costs): Separate POWER4 multiply case.
290
291 2003-04-01  Ulrich Weigand  <uweigand@de.ibm.com>
292
293         * config/s390/s390.c (s390_fixup_clobbered_return_reg):
294         Do nothing if __builtin_return_address was not used.
295
296 Tue Apr  1 18:18:23 CEST 2003  Jan Hubicka  <jh@suse.cz>
297
298         * i386.md (test patterns):  Allow memory operand in operand1.
299
300 2003-02-31  Aldy Hernandez  <aldyh@redhat.com>
301
302         * testsuite/gcc.c-torture/execute/simd-3.c: New.
303
304         * expr.c (expand_expr): Handle VECTOR_CST.
305         (const_vector_from_tree): New.
306
307         * varasm.c (output_constant): Handle VECTOR_CST.
308
309         * c-typeck.c (digest_init): Build a vector constant from a
310         VECTOR_TYPE.
311
312         * config/rs6000/rs6000.c: Remove prototype for
313         easy_vector_constant.
314         (easy_vector_constant): Add mode parameter.  Rewrite to handle
315         more easy constants.
316         (rs6000_emit_move): Pass mode to easy_vector_constant.
317         Call emit_easy_vector_insn for SPE V2SI vector constant moves.
318         (emit_easy_vector_insn): New.
319         (easy_vector_same): New.
320         (EASY_VECTOR_15): New macro.
321         (EASY_VECTOR_15_ADD_SELF): New macro.
322         (bdesc_2arg): Rename to xorv2si3.
323         (easy_vector_constant_add_self): New.
324         (input_operand): Allow vector constants.
325
326         * config/rs6000/rs6000.h (PREDICATE_CODES): Add
327         easy_vector_constant, easy_vector_constant_add_self.
328         (EXTRA_CONSTRAINT): Add 'W'.
329
330         * config/rs6000/rs6000-protos.h: Add prototype for
331         easy_vector_constant, emit_easy_vector_insn.
332
333         * config/rs6000/altivec.md (xorv8hi3): New.
334         (xorv16qi3): New.
335         Remove all _const0 patterns.
336         (movv4si_internal): Rewrite to use code.  Add vector constant to
337         vector alternative.  Add splitter.
338         (movv8hi_internal): Same.
339         (movv16qi_internal): Same.
340         (movv4sf_internal): Same.
341         Change the unspecs for vspltis* to use constants.
342
343         * config/rs6000/spe.md ("xorv4hi3"): New.
344         ("spe_evxor"): Rename to xorv2si3.
345         ("xorv1di3"): New.
346         Remove all _const0 patterns.
347         (movv2si_internal): Rewrite to use code.  Add vector constant to
348         alternatives.  Add splitter.
349         (movv4hi_internal): Add vector constant to alternatives.
350         (movv1di_internal): Same.
351         (movv2sf_internal): Same.
352
353 2003-03-31  Mark Mitchell  <mark@codesourcery.com>
354
355         PR c/9936
356         * c-decl.c (grokdeclarator): Clear SAVE_EXPR_CONTEXT for
357         variably-sized arrays in parameters.
358         (set_save_expr_context): New function.
359         (c_expand_body): Use it, via walk_tree.
360
361 2003-03-31  Eric Christopher  <echristo@redhat.com>
362
363         * combine.c (can_combine_p): Allow ZERO_EXTRACT and STRICT_LOW_PART.
364         (combinable_i3pat): Remove call to expand_field_assignment and
365         #if 0'd code.
366
367 2003-03-31  Mark Mitchell  <mark@codesourcery.com>
368
369         PR c++/10278
370         * c-common.c (finish_label_address_expr): Handle the
371         error_mark_node.
372
373 2003-03-31  Richard Henderson  <rth@redhat.com>
374
375         * real.c (real_identical): Reorg so as to not compare
376         signalling for normals.
377
378 2003-03-31  Stephane Carrez  <stcarrez@nerim.fr>
379
380         * config/m68hc11/m68hc11.c (hard_reg_operand): Check the mode.
381
382 2003-03-31  Stephane Carrez  <stcarrez@nerim.fr>
383
384         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Don't rely on REG_WAS_0
385         notes as they are boggus.
386         (m68hc11_gen_movqi): Likewise.
387
388 2003-03-31  Stephane Carrez  <stcarrez@nerim.fr>
389
390         * config/m68hc11/m68hc11.c (expand_prologue): For an interrupt handler
391         save the soft registers after the frame pointer so that gdb can unwind
392         the frame more easily.
393         (expand_epilogue): Likewise in opposite order; allow to use X register
394         as scratch if the return value is by reference.
395
396 2003-03-31  Jason Merrill  <jason@redhat.com>
397
398         PR java/10145
399         * stor-layout.c (update_alignment_for_field): Respect
400         DECL_USER_ALIGN for zero-length bitfields, too.
401         * c-decl.c (finish_struct): Don't set DECL_ALIGN for normal
402         fields.
403
404 2003-03-31  Matt Austern  <austern@apple.com>
405
406         * cpppch.c (struct cpp_savedstate): Add defs and n_defs members.
407         (count_defs): Keep track of number of defs as well as total size.
408         (write_defs): Put every definition in cpp_savedstate's defs array.
409         (comp_hashnode): Define.  Comparison function for qsort.
410         (cpp_write_pch_deps): Sort definitions before writing them.
411         (struct ht_node_list): Define. Like cpp_savedstate but simpler.
412         (collect_ht_nodes): Define.
413         (cpp_valid_state): When verifying that undefined identifiers in
414         the pch file are still undefined, read a sorted list of undefined
415         identifiers, collect all defined identifiers into a sorted list,
416         and walk through both lists to make sure there's no match.
417
418 2003-03-31  Kazu Hirata  <kazu@cs.umass.edu>
419
420         * config/h8300/h8300.md (a peephole2): New.
421
422 2003-03-31  Michael Matz  <matz@suse.de>
423
424         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Change 1 into 0.
425
426 2003-03-31  Segher Boessenkool  <segher@koffie.nl>
427
428         PR target/10177
429         * config/rs6000/rs6000.h (HARD_REGNO_RENAME_OK): New.
430         * config/rs6000/rs6000.c (compute_vrsave_mask): Don't mark
431         all call-clobbered registers as used.
432
433 2003-03-31  Michael Matz  <matz@suse.de>
434
435         * cppexp.c (cpp_classify_number): Accept '.' after "0x".
436         * testsuite/gcc.dg/cpp/c99-hexfloat-3.c: New file.
437
438 2003-03-31  Nathan Sidwell  <nathan@codesourcery.com>
439
440         * gcov.c: Add -a & -u options.
441         (struct arc_info): Add local_span, is_call_non_return,
442         is_nonlocal_return, is_unconditional flags, remove is_call flag.
443         (struct block_info): Add flags, is_call_site, is_nonlocal_return
444         members. Make encodings a union with span member.
445         (struct function_info): Add blocks_executed, line, src, line_next
446         members.
447         (struct coverage_info): Make branches a union with blocks member.
448         (struct source_info): Add functions member.
449         (object_summary, program_count): New global variables.
450         (flag_all_blocks, flag_unconditional): New flags.
451         (find_source, output_branch_count): New functions.
452         (print_usage): Adjust.
453         (options): Adjust.
454         (process_args): Adjust.
455         (read_graph_file) <GCOV_TAG_FUNCTION>: Adjust.
456         <GCOV_TAG_BLOCKS>: Read flags.
457         <GCOV_TAG_LINES>: Adjust.
458         (read_count_file): Process SUMMARY tags.
459         (solve_flow_graph): Set is_unconditional and clear is_call_site
460         appropriately.
461         (add_branch_counts): Adjust. Don't count unconditional branches.
462         (add_line_counts): Deal with all-blocks mode, accumulate block
463         coverage.
464         (accumulate_line_counts): Adjust, generate local spanning tree for
465         all-blocks mode.
466         (output_lines): Adjust.
467         * profile.c (branch_prob): Alter GCOV_FUNCTION_TAG record.
468         * doc/gcov.texi: Document.
469
470 2003-03-31  Kazu Hirata  <kazu@cs.umass.edu>
471
472         * config/h8300/h8300.md: Organize peephole2's that transform
473         (compare (reg:HI) (const_int)).
474
475 2003-03-31  Roger Sayle  <roger@eyesopen.com>
476
477         * emit-rtl.c (dconstm2, dconsthalf): New real constants.
478         (init_emit_once): Initialize dconstm2 and dconsthalf here.
479         * real.h (dconstm2, dconsthalf): Add prototypes here.
480         * real.c (real_sqrt): Use dconsthalf rather than local copy.
481         * builtins.c (fold_builtin): When optimizing sqrt(exp(x)) as
482         exp(x/2.0) remember to fold the division if possible.
483         Fold sin(0.0) as 0.0, cos(0.0) as 1.0, pow(x,1.0) as x,
484         pow(x,-1.0) as 1.0/x, pow(x,2.0) as x*x, pow(x,-2.0) as
485         1.0/(x*x) and pow(x,0.5) as sqrt(x).
486
487 2003-03-31  Kazu Hirata  <kazu@cs.umass.edu>
488
489         * config/h8300/h8300.md (a new peephole2): New.
490
491 2003-03-31  Richard Sandiford  <rsandifo@redhat.com>
492
493         * gcse.c (simple_mem): Return false for floating-point accesses
494         if flag_float_store is true.
495
496 2003-03-30  Roger Sayle  <roger@eyesopen.com>
497
498         * gcse.c (gcse_constant_p): New function to identify constants
499         suitable for constant propagation, including COMPARE with two
500         integer constant arguments.
501         (hash_scan_set): Use gcse_constant_p.
502         (find_avail_set): Likewise.
503         (cprop_insn): Likewise.
504         (do_local_cprop): Likewise.
505         (find_implicit_sets): Likewise.
506         (find_bypass_set): Likewise.
507
508 2003-03-30  Matt Kraai  <kraai@alumni.cmu.edu>
509
510         * except.h: Remove definition of varray_type.
511
512 2003-03-30  Richard Henderson  <rth@redhat.com>
513
514         PR opt/10011, opt/10252:
515         * toplev.c (rest_of_compilation): Run purge_builtin_constant_p
516         before post-gcse cse pass.
517
518 2003-03-30  Roger Sayle  <roger@eyesopen.com>
519
520         * dojump.c (do_jump): Copy SUBREGs into a pseudo for comparison.
521
522 2003-03-30  DJ Delorie  <dj@redhat.com>
523
524         * profile.c (instrument_edges): Make sure any newly created
525         jump insns have correct jump label info.
526
527 2003-03-30  Richard Henderson  <rth@redhat.com>
528
529         * cfgbuild.c (make_edges): Use tablejump_p.
530         * cfgcleanup.c (label_is_jump_target_p): Likewise.
531         * cfglayout.c (cfg_layout_can_duplicate_bb_p): Likewise.
532         * cfgrtl.c (flow_delete_block_noexpunge): Likewise.
533         (try_redirect_by_replacing_jump): Likewise.
534         (redirect_edge_and_branch): Likewise.
535         * cse.c (fold_rtx): Likewise.
536         * jump.c (delete_related_insns): Likewise.
537         * rtlanal.c (get_jump_table_offset): Likewise.
538         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): Likewise.
539
540 2003-03-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
541
542         * Makefile.in (STRICT_WARN): Don't warn for ISO C constructs.
543         (STRICT2_WARN): Likewise.
544
545 2003-03-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
546
547         PR other/6955
548         * collect2.c (collect_wait): Use WCOREDUMP and fix output message.
549         * system.h (WCOREDUMP, WCOREFLG): Define if necessary.
550
551 2003-03-30  Richard Henderson  <rth@redhat.com>
552
553         PR c/10083
554         * config/alpha/alpha.md (umuldi3_highpart): Change to expander;
555         don't zero_extend const inputs.
556
557 2003-03-30  Kazu Hirata  <kazu@cs.umass.edu>
558
559         * reload1.c (reload_cse_move2add): Fix a comment typo.
560
561 2003-03-30  Kazu Hirata  <kazu@cs.umass.edu>
562
563         * config/h8300/h8300.md (a peephole2): Remove useless code.
564
565 2003-03-29  Kazu Hirata  <kazu@cs.umass.edu>
566
567         * config/h8300/h8300.md (*iorsi3_and_ashift): New.
568         (*iorsi3_and_lshiftrt): Likewise.
569         (*iorsi3_zero_extract): Likewise.
570
571 2003-03-29  Kazu Hirata  <kazu@cs.umass.edu>
572
573         * config/h8300/h8300.md (*insv_si_8_8): New.
574         (*insv_si_8_8_lshiftrt_8): Likewise.
575         (a peephole2): Likewise.
576
577 2003-03-29  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
578
579         * doc/contrib.texi: Add Eric Botcazou and Roger Sayle.
580         Uniformly use bugfix instead of bug fix.
581
582 2003-03-29  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
583
584         PR doc/895
585         * ONEWS: Remove those items that already appear in the EGCS
586         release notes on our web pages.
587
588 2003-03-29  Alan Modra  <amodra@bigpond.net.au>
589
590         * config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Respect
591         TARGET_HARD_FLOAT.  Reformat.
592         (FUNCTION_ARG_REGNO_P): Likewise, and remove unneeded casts.
593
594 2003-03-28  Albert Chin-A-Young  <china@thewrittenword.com>
595
596         * gcc/fixinc/inclhack.def: Update solaris_mutex_init_1 to
597         work on Solaris 2.5.1.
598
599 2003-03-28  Kazu Hirata  <kazu@cs.umass.edu>
600
601         * config/h8300/h8300.md (*addsi3_and_r_1): Put under plus:SI
602         section of h8300.md
603         (*addsi3_and_nor_r_1): Likewise.
604
605 2003-03-29  Ulrich Weigand  <uweigand@de.ibm.com>
606
607         * config/s390/s390.c (s390_emit_prologoue): Make sure backchain is
608         set up before any trapping memory access if flag_non_call_exceptions.
609
610 2003-03-29  Alan Modra  <amodra@bigpond.net.au>
611
612         * reload1.c (reload_as_needed): Allow a USE in asm reloads.
613
614         * loop.c: (find_mem_in_note_1, find_mem_in_note): Comment.
615
616 2003-03-28  Nathanael Nerode  <neroden@gcc.gnu.org>
617
618         * configure.in: Clarify comments.
619         * configure: Regenerate.
620
621 2003-03-28  Ulrich Weigand  <uweigand@de.ibm.com>
622
623         * config/s390/s390.md ("literal_pool_31"): Output pool anchor
624         label even if pool empty when generating PIC.
625         ("literal_pool_31", "literal_pool_64"): Coding style cleanup.
626
627 2003-03-28  Kazu Hirata  <kazu@cs.umass.edu>,
628             Dhananjay Deshpande  <dhananjayd@kpit.com>
629
630         PR target/10205
631         * config/h8300/h8300.c (h8300_initial_elimination_offset):
632         Correct the offset computation when TARGET_NORMAL.
633
634 2003-03-28  Eric Botcazou  <ebotcazou@libertysurf.fr>
635
636         PR target/10067
637         * config/sparc/sparc.md (jump pattern): Correct order
638         when issuing the annuling marker.
639
640 2003-03-28  Eric Botcazou  <ebotcazou@libertysurf.fr>
641
642         PR c/8281
643         * config/sparc/sparc.md (movdi_insn_sp32_v9): Remove 'f-f' alternative.
644         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
645
646 2003-03-28  Alan Modra  <amodra@bigpond.net.au>
647
648         * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
649         globalize_label.
650         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
651         * config/i960/i960.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
652         * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
653         * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
654         * config/mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
655         * config/sparc/sparc.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
656         * config/v850/v850.c (v850_output_aligned_bss): Likewise.
657
658 2003-03-28  Alan Modra  <amodra@bigpond.net.au>
659
660         * loop.c: (find_mem_in_note_1, find_mem_in_note): New functions.
661         (replace_loop_mems): Add "written" param.  Remove invalid REG_EQUAL
662         notes after hoisting.
663         (load_mems): Adjust replace_loop_mems call.
664
665 2003-03-28  Eric Botcazou  <ebotcazou@libertysurf.fr>
666             Richard Henderson  <rth@redhat.com>
667
668         PR target/10114 and PR target/10084
669         * dwarf2out.c (mem_loc_descriptor): Handle LO_SUM.
670
671 2003-03-27  Richard Henderson  <rth@redhat.com>
672
673         * config/alpha/alpha.md (adddi_er_high_l): Valid only after reload.
674
675 2003-03-27  Roger Sayle  <roger@eyesopen.com>
676
677         * fold-const.c (fold_inf_compare):  New function to simplify FP
678         comparisons against +Infinity or -Infinity.
679         (fold):  Optimize floating point comparisons against Infs and NaNs.
680
681 2003-03-27  Janis Johnson  <janis187@us.ibm.com>
682
683         * libgcov.c: Provide only dummy functions if libc is not available.
684
685 2003-03-27  Richard Henderson  <rth@redhat.com>
686
687         * real.h (struct real_value): Add signalling.
688         (EXP_BITS): Decrement.
689         * real.c (get_canonical_qnan): Don't set MSB-1.
690         (get_canonical_snan): Likewise.  Set signalling.
691         (real_identical): Compare signalling.
692         (round_for_format): Remove force-one-bit on code.
693         (real_nan): Likewise.  Set signalling.
694         (encode_ieee_single): Add force-one-bit code; honor signalling.
695         (encode_ieee_double, encode_ieee_extended, encode_ieee_quad): Likewise.
696         (decode_ieee_single): Set signalling.
697         (decode_ieee_double, decode_ieee_extended, decode_ieee_quad): Likewise.
698
699 2003-03-27  Olivier Hainque  <hainque@act-europe.fr>
700
701         PR ada/9953
702         * ada/Makefile.in (gnatlib configuration for HPUX): Split
703         the general section for HPUX into specific sections for
704         HPUX 10 and HPUX 11. Fix the setting of TGT_LIB in the HPUX
705         11 case.
706
707 2003-03-27  Glen Nakamura  <glen@imodulo.com>
708
709         PR opt/10087
710         * loop.c (loop_givs_reduce): Skip bivs with duplicate locations
711         while incrementing giv.
712         (record_biv): Check for duplicate biv locations and
713         set (struct induction *) v->same if found.
714
715 2003-03-27  David Mosberger  <davidm@hpl.hp.com>
716
717         * unwind-libunwind.c (uw_frame_state_for): Adjust for libunwind
718         v0.9 API change: replace read of UNW_REG_HANDLER with
719         unw_get_proc_info().
720         (_Unwind_GetLanguageSpecificData): Replace read of UNW_REG_LSDA
721         with unw_get_proc_info().
722         (_Unwind_GetRegionStart): Replace UNW_REG_PROC_START with
723         unw_get_proc_info().
724
725 2003-03-27  Vladimir Makarov  <vmakarov@redhat.com>
726
727         * config/rs6000/8540.md: Use presence_set instead of absence_set.
728
729 2003-03-26  Richard Henderson  <rth@redhat.com>
730
731         * c-decl.c (finish_function): Always defer if DECL_DECLARED_INLINE_P.
732
733 2003-03-26  Roger Sayle  <roger@eyesopen.com>
734
735         PR bootstrap/10051, PR bootstrap/10169.
736         * mips-tfile.c (init_file): Don't provide a static initializer.
737         (initialize_init_file): Initialize the contents of init_file.
738         (add_file): Call initialize_init_file if not already initialized.
739
740 2003-03-26  Ulrich Weigand  <uweigand@de.ibm.com>
741
742         * config/s390/s390.c (s390_optimize_prolog): Do not save/restore
743         registers used for global asm variables.
744         (s390_frame_info, s390_arg_frame_offset): Likewise.
745         (s390_emit_prologue, s390_emit_epilogue): Likewise.
746
747 2003-03-26  Vladimir Makarov  <vmakarov@redhat.com>
748
749         * config/rs6000/8540.md: New file.
750
751         * config/rs6000/{40x.md, 603.md, 6xx.md, 7450.md, 7xx.md, mpc.md,
752         power4.md, rios1.md, rios2.md, rs64.md}: Add mult_compare to
753         reservations for imul.
754
755         * config/rs6000/rs6000.md: Include 8540.md.  Change
756         delayed_compare onto mult_compare for insns generating
757         multiplication.
758         (mult_compare, fpsimple, brinc, vecdiv, veccmpsimple, vecfdiv):
759         New type attribute values.
760
761         * config/rs6000/spe.md (*negsf2_gp, *abssf2_gpr): Use type
762         fpsimple instead of fp.
763         (*divsf3_gpr): Use type vecfdiv instead of fp.
764         (spe_evfsabs, spe_evfsnabs, spe_evfsneg): Use type vecsimple
765         instead of vecfloat.
766         (spe_evfsdive): Use type vecfdiv instead of vecfloat.
767         (spe_brinc): Use type brinc instead of veccomplex.
768         (spe_evaddw, spe_evaddiw): Use type vecsimple instead of
769         veccomplex.
770         (spe_evdivws, spe_evdivwu): Use type vecdiv instead of veccomplex.
771         (*movv2si_internal, *movv1di_internal, *movv4hi_internal,
772         *movv2sf_internal): Define type attribute values for all
773         alternatives.
774         (cmpsfeq_gpr, cmpsfgt_gpr, cmpsflt_gpr): Use type veccmp instead
775         of fpcompare.
776         (tstsfeq_gpr, tstsfgt_gpr, tstsflt_gpr): Use type veccmpsimple
777         instead of fpcompare.
778
779 2003-03-26  David Edelsohn  <edelsohn@gnu.org>
780
781         * config/rs6000/power4.md: Allow delay between dispatch and
782         function units for simple instructions.  Correct store units.
783         Allow branch to occupy as many dispatch slots as necessary.
784
785 2003-03-26  Jakub Jelinek  <jakub@redhat.com>
786
787         * config/ia64/ia64.c (ia64_expand_op_and_fetch): Fix comment.
788         (ia64_expand_compare_and_swap): Use always DImode ar.ccv,
789         zero extend old to it.
790         * config/ia64/ia64.md (cmpxchg_acq_si): Remove mode from ccv
791         operand.
792
793 2003-03-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
794
795         PR target/7784
796         * reload.c (find_reloads_address): Handle
797         (PLUS (PLUS (REG) (REG)) (CONST_INT)) form for
798         all base registers.
799
800 2003-03-25  Marcelo Abreu  <mmabreu@inf.ufrgs.br>
801
802         PR other/10203
803         * version.c: Reference the GCC web site in the URL.
804
805 2003-03-26  Alan Modra  <amodra@bigpond.net.au>
806
807         * c-incpath.c (add_standard_paths): Add both "translated" and
808         non-translated header paths.
809
810 2003-03-25  Loren James Rittle  <ljrittle@acm.org>
811
812         * doc/install.texi (*-*-freebsd*): Update with known status.
813
814 2003-03-21  Jason Merrill  <jason@redhat.com>
815
816         PR optimization/10171
817         * unroll.c (unroll_loop): Don't delete the jump at the end unless
818         we also delete a jump at the beginning.
819
820 2003-03-25  Stephane Carrez  <stcarrez@nerim.fr>
821
822         * doc/contrib.texi (Contributors): Mention self as 68HC11/68HC12
823         contributor.
824
825 Tue Mar 25 20:35:51 CET 2003  Jan Hubicka  <jh@suse.cz>
826
827         * i386.c (ix86_rtx_costs): For -fpic and x86-64 local symbolic
828         constants are not expensive.
829
830 Mon Mar 24 20:03:03 CET 2003  Jan Hubicka  <jh@suse.cz>
831
832         PR opt/10056
833         * cfglayout.c (fixup_reorder_chain):  Fix dealing with the conditional
834         jump jumping to the next instruction.
835         * cfgrtl.c (force_nonfallthru_and_redirect):  Likewise.
836
837 2003-03-25  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
838
839         * doc/passes.texi (Passes): Properly document that we do not
840         perform jump2 any longer; remove command-line option -dJ.
841
842 2003-03-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
843
844         PR optimization/8746
845         * config/i386/i386.md (and promoting splitters): Disable HImode to
846         SImode promoting when the sign bit matters and is not preserved, or
847         when TARGET_FAST_PREFIX is true. Disable promoting when optimizing
848         for size.
849
850 2003-03-24  Kazu Hirata  <kazu@cs.umass.edu>
851
852         * config/h8300/h8300.md (a peephole2): Extend to support loads
853         in QImode and HImode.
854
855 2003-03-24  Stephane Carrez  <stcarrez@nerim.fr>
856
857         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Add _call_far and
858         _return_far
859         (MULTILIB_OPTIONS): Don't multilib on -mlong-calls.
860         (MULTILIB_EXCEPTIONS): Likewise.
861         * config/m68hc11/m68hc11.md ("call"): Support far calls for 68HC11
862         by calling some board support routine.
863         ("call_value"): Likewise.
864         ("*return_void"): Likewise for return.
865         ("*return_16bit"): Likewise.
866         ("*return_32bit"): Likewise.
867         * config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Generate .far
868         for 68HC11 too.
869         (DWARF2_ADDR_SIZE): Use 4 so that addresses can
870         * config/m68hc11/m68hc11.c (m68hc11_override_options): Accept
871         -mlong-calls for 68HC11.
872         * config/m68hc11/larith.asm (declare_near): New macro.
873         (__premain, ___negsi2, ___one_cmplsi2, ___ashlsi3): Use it.
874         (___ashrsi3, ___lshrsi3, ___lshrhi3, ___lshlhi3): Likewise.
875         (___rotrhi3, ___rotlhi3, ___ashrhi3, ___ashrqi3): Likewise.
876         (___lshlqi3, __divmodhi4, ___mulqi3, ___mulhi3): Likewise.
877         (__mulhi32): Likewise.
878         (ret): Update macro for 68HC11.
879         (__far_trampoline): Implement for 68HC11.
880         (__call_a16, __call_a32, __return_void, __return_16): New support
881         routines for 68HC11 memory bank switching calling support.
882         (__return_32): Likewise.
883
884 2003-03-24  Neil Booth  <neil@daikokuya.co.uk>
885
886         * toplev.c (independent_decode_option): Don't skip a 'Y' prefix.
887
888 2003-03-24  Janis Johnson  <janis187@us.ibm.com>
889
890         * doc/install.texi (Testing): Mention test result links from build
891         status pages.
892
893 2003-03-24  Mark Mitchell  <mark@codesourcery.com>
894
895         * function.c (put_var_into_stack): Change bool parameter to int.
896         (gen_mem_addressof): Likewise.
897         * rtl.h (gen_mem_addressof): Likewise.
898         * tree.h (put_var_into_stack): Likewise.
899         * config/alpha/alpha.c (alpha_gp_save_rtx): Adjust call to
900         gen_mem_addressof or put_var_into_stack.
901         * config/c4x/c4x.c (c4x_expand_builtin): Likewise.
902         * config/ia64/ia64.c (spill_tfmode_operand): Likewise.
903
904 2003-03-24  Kazu Hirata  <kazu@cs.umass.edu>
905
906         * config/h8300/h8300.md (a peephole2): New.
907
908 2003-03-24  Jakub Jelinek  <jakub@redhat.com>
909
910         * dojump.c (do_jump): Handle UNSAVE_EXPR specially.
911
912 2003-03-24  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
913
914         * doc/contrib.texi (Contributors): Update Janis Johnson.
915
916 2003-03-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
917
918         PR target/10072
919         * combine.c (simplify_if_then_else): Check that the mode
920         has MODE_INT class before applying the (OP Z (mult COND C2))
921         transformation.
922
923 2003-03-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
924
925         PR optimization/9414
926         * config/sparc/sparc.md (widening peepholes): Use
927         widen_memory_access instead of change_address.
928
929 2003-03-23  Mark Mitchell  <mark@codesourcery.com>
930
931         PR c++/7086
932         * c-typeck.c (c_mark_addressable): Adjust calls to
933         put_var_into_stack.
934         * expr.c (expand_expr): Likewise.
935         * function.c (put_var_into_stack): Add rescan parameter.  Do not
936         call fixup_var_refs when rescan is false.
937         (gen_mem_addressof): Likewise.
938         (assign_parms): Adjust calls to put_var_into_stack.
939         (setjmp_protect): Likewise.
940         (setjmp_protect_args): Likewise.
941         * rtl.h (gen_mem_addressof): Change prototype.
942         * stmt.c (expand_decl): Adjust calls to put_var_into_stack.
943         * tree.h (put_var_into_stack): Change prototype.
944
945 2003-03-23  Arpad Beszedes <beszedes@cc.u-szeged.hu>
946
947         PR middle-end/9967
948         * builtins.c (expand_builtin_fputs): When optimizing for size,
949         don't transform fputs into fwrite.
950
951 2003-03-23  Glen Nakamura <glen@imodulo.com>
952
953         PR c/8224
954         * fold-const.c (extract_muldiv_1): Don't pass through type conversions
955         when signedness changes for division or modulus.
956
957 2003-03-24  Alan Modra  <amodra@bigpond.net.au>
958
959         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
960         globalize_label.
961
962 2003-03-23  Roger Sayle  <roger@eyesopen.com>
963
964         PR c/10178
965         * stmt.c (expand_end_case_type): Check for overflow in range when
966         determining whether to use a bit-test implementation.
967
968 2003-03-23  Richard Henderson  <rth@redhat.com>
969
970         * cfgcleanup.c (try_optimize_cfg): Allow merging of tablejumps
971         before flow2.
972         * cfgrtl.c (try_redirect_by_replacing_jump): Similarly.
973
974 2003-03-23  Richard Henderson  <rth@redhat.com>
975
976         PR opt/10116
977         * ifcvt.c (find_if_block): Disallow tablejump insns outgoing
978         from then_bb or else_bb after flow2.
979
980 2003-03-23  Zack Weinberg  <zack@codesourcery.com>
981
982         * configure.in: Check whether it is necessary to link against
983         libm to use ldexp.
984         * configure: Regenerate.
985         * Makefile.in: Add LDEXP_LIB substitution variable.
986
987 2003-03-23  Kazu Hirata  <kazu@cs.umass.edu>
988
989         * config/h8300/h8300.md: Fix comment typos.
990
991 2003-03-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
992
993         * pa.c (output_cbranch): Fix typo in comment.
994
995 2003-03-22  Richard Henderson <rth@redhat.com>
996
997         * cfgcleanup.c (insns_match_p): Do not do EQUIV substitution
998         after reload.
999
1000 2003-03-22  DJ Delorie  <dj at redhat dot com>,
1001         Bruce Korb  <bkorb at gnu dot org>
1002
1003         * fixinc/inclhack.def (solaris_mutex_init_1): New; Fix
1004         buggy Solaris 2.6 mutex/cond initializers.
1005         (solaris_mutex_init): Rename to solaris_mutex_init_2.
1006         * fixinc/fixincl.x: Regenerate.
1007         * fixinc/tests/base/pthread.h: Update.
1008         * fixinc/fixincl.c(initialize): be explicit about the default case
1009         and indicate verbose level when being very, very verbose.
1010         * fixinc/check.tpl(VERBOSE): provide a means for passing the value in
1011
1012 2003-03-22  Andreas Jaeger  <aj@suse.de>
1013
1014         * config/i386/i386.c (ix86_init_machine_status): Return value.
1015
1016 2003-03-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1017
1018         * pa.c (output_cbranch, output_bb, output_bvb): Output nop for
1019         conditional branch to the following instruction.  Use next_real_insn
1020         instead of next_active_insn.
1021         (output_dbra, output_movb, jump_in_call_delay): Use next_real_insn
1022         instead of next_active_insn.
1023
1024 2003-03-22  Ulrich Weigand  <uweigand@de.ibm.com>
1025
1026         * config/s390/s390.md ("movti", "*movdi_31", "*movdf_31"): Use 'o'
1027         instead of 'm' constraint in forced-split alternatives.
1028         ("*adddi3_31", "*subdi3_31"): Likewise.  Also, pass 0 instead of 1 as
1029         VALIDATE_ADDRESS parameter to operand_subword.
1030
1031 2003-03-22  Kazu Hirata  <kazu@cs.umass.edu>
1032
1033         * config/h8300/h8300.c (notice_update_cc): Correctly handle
1034         the case where the set destination is STRICT_LOW_PART.
1035
1036 2003-03-22  Svein E. Seldal  <Svein.Seldal@solidas.com>
1037
1038         * config/c4x/t-c4x (INSTALL_LIBGCC): Make gcc recognize a c33 as a
1039         c30 instead of a c40 processor.
1040
1041 2003-03-22  Alan Modra  <amodra@bigpond.net.au>
1042
1043         * combine.c (simplify_comparison <AND>): Use gen_int_mode.  Tidy.
1044
1045 2003-03-21  Zack Weinberg  <zack@codesourcery.com>
1046
1047         * c-common.c: Include intl.h.
1048         (shadow_warning): Rewrite to allow better diagnostic translations.
1049         * c-common.h: Update prototype of shadow_warning.  Declare sw_kind enum.
1050         * c-decl.c (warn_if_shadowing): Update calls to shadow_warning;
1051         use it throughout.
1052         * Makefile.in (c-common.o): Add intl.h.
1053
1054 2003-03-21  Nathanael Nerode  <neroden@gcc.gnu.org>
1055
1056         * config.gcc: Remove 'float_format'.
1057
1058         * fixproto: Define NULL and size_t in generated stdlib.h and
1059         unistd.h.  Kill unused required_stdlib_h, required_unistd_h.
1060         Rearrange file generation loop for readability.  Generate time.h,
1061         string.h if missing.
1062         * tsystem.h: Include <string.h>, <time.h> unconditionally.
1063         * config.gcc: Blow away POSIX defines.
1064
1065 2003-03-22  Stephane Carrez  <stcarrez@nerim.fr>
1066
1067         * config/m68hc11/m68hc11.md ("call_value"): Fix trap check.
1068
1069 2003-03-22  Stephane Carrez  <stcarrez@nerim.fr>
1070
1071         * config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Fix typo in
1072         writing .interrupt command.
1073         * config/m68hc11/m68hc11.md ("call"): Look at the symbol to see
1074         if it's a far or near function.
1075         ("call_value"): Likewise.
1076         * config/m68hc11/m68hc11.c (m68hc11_attribute_table): Add far and
1077         near attributes.
1078         (m68hc11_handle_fntype_attribute): Accept attributes on methods.
1079         (m68hc11_override_options): Ignore -mlong-calls for 68HC11.
1080         (m68hc11_initial_elimination_offset): Set current_function_far
1081         according to attributes.
1082         (expand_prologue): Likewise.
1083         (trap_handler_symbol): New global to keep track of trap handlers.
1084         (m68hc11_encode_section_info): Mark symbol as far if needed; set
1085         trap symbol.
1086         (m68hc11_is_far_symbol): New function.
1087         (m68hc11_is_trap_symbol): New function.
1088         * config/m68hc11/m68hc11-protos.h (m68hc11_is_far_symbol): Declare.
1089         (m68hc11_is_trap_symbol): Declare.
1090
1091 2003-03-21  Jan Hubicka  <jh@suse.cz>
1092
1093         * i386.c (ix86_compute_frame_layout): Recompute fast prologues
1094         only when amount of saved regs changed.
1095         (ix86_init_machine_status): Initialize use_fast_prologue_epilgoue_nregs.
1096         * i386.h (machine_function): New fields use_fast_prologue_epilgoue_nregs.
1097
1098 2003-03-21  Jan Hubicka  <jh@suse.cz>
1099
1100         PR inline-asm/7916
1101         * function.c (instantiate_virtual_regs_lossage): New function.
1102         (instantiate_virtual_regs_1): Use it.
1103         (instantiate_virtual_regs): Do not continue in substition when insn has
1104         been deleted.
1105
1106 2003-03-21  Kazu Hirata  <kazu@cs.umass.edu>
1107
1108         * combine.c (make_field_assignment): Fix a warning.
1109
1110 2003-03-21  Kazu Hirata  <kazu@cs.umass.edu>
1111
1112         * config/h8300/h8300.md (*insv_si_1_n_lshiftrt_16): New.
1113
1114 2003-03-21  Dale Johannesen  <dalej@apple.com>
1115
1116         * config/rs6000/rs6000.h (REG_ALLOC_ORDER):  Increase
1117         priority for R2 on Darwin.
1118         (HARD_REGNO_MODE_OK):  Don't accept R31 for DFmode.
1119
1120 2003-03-21  Kazu Hirata  <kazu@cs.umass.edu>
1121
1122         * combine.c (make_field_assignment): Remove unnecessary AND
1123         when storing into zero_extract.
1124
1125 2003-03-21  Zack Weinberg  <zack@codesourcery.com>
1126
1127         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT, gcc_AC_C_FLOAT_FORMAT): Delete.
1128         * configure.in: Don't call gcc_AC_C_FLOAT_FORMAT.
1129         * defaults.h: Remove reference to HOST_FLOAT_WORDS_BIG_ENDIAN
1130         in comment.
1131
1132 2003-03-21  DJ Delorie  <dj@redhat.com>
1133
1134         * optabs.c (init_integral_libfuncs): Make sure we init at least up
1135         to "long long" size words.
1136
1137 2003-03-21  Ulrich Weigand  <uweigand@de.ibm.com>
1138
1139         * config/s390/s390.h: Do not include fixdfdi.h on s390x.
1140         (TARGET_64BIT): Define as compile-time constant when IN_LIBGCC2.
1141         (MIN_UNITS_PER_WORD): Do not define when IN_LIBGCC2.
1142
1143 2003-03-21  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1144
1145         PR doc-bug/9813
1146         * doc/extend.texi: Move misplaced paragraph about underscores in
1147         variables in macros.
1148
1149 2003-03-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
1150             Richard Henderson  <rth@redhat.com>
1151
1152         PR optimization/8366
1153         * config/sparc/sparc.h: (SYMBOLIC_CONST): New macro.
1154         (GO_IF_LEGITIMATE_ADDRESS): Use it. Reject the form
1155         PIC+SYMBOLIC_CONST in other modes than Pmode.
1156         (GO_IF_MODE_DEPENDENT_ADDRESS): Use it. Mark
1157         the form PIC+SYMBOLIC_CONST as mode dependent.
1158
1159 2003-03-21  DJ Delorie  <dj@redhat.com>
1160
1161         * config/stormy16/stormy16.c (xstormy16_expand_arith): Make
1162         sure we always emit at least one insn.
1163
1164 2003-03-21  Christopher Faylor  <cgf@redhat.com>
1165
1166         * config.gcc (i[34567]86-*-cygwin*): Use new common makefile
1167         stub t-cygming. Use common target header cygming.h. Add extra
1168         c_target_obj and cxx_target_obj file. Default cygwin to posix
1169         threading. Enforce i386 as float format.
1170         (i[34567]86-*-mingw*): Use new common makefile stub t-cygming.
1171         Remove cygwin.h as target header. Use common target header
1172         cygming.h  Enforce i386 as float format. Correct typo.
1173         * config/i386/cygming.h: New file, containing definitions
1174         common to mingw32 and cygwin.
1175         * config/i386/cygwin.h: Remove definitions common to cygwin and
1176         mingw.  Simplify special spec logic.  Define "wrappers" around
1177         certain include path defines to accommodate -mno-cygwin.
1178         Remove some #if 0'ed code.
1179         (STANDARD_INCLUDE_DIR) Always define when not cross-compiling.
1180         (LINK_SPEC): Don't use cyg search prefix when -mno-cygwin.
1181         (GCC_DRIVER_HOST_INITIALIZATION): Define as call to mingw_scan.
1182         * config/i386/mingw32.h: Remove definitions common to cygwin and
1183         mingw.
1184         (EXTRA_OS_CPP_BUILTINS): Adjust.
1185         (TARGET_VERSION): Define.
1186         * config/i386/crtdll.h (EXTRA_OS_CPP_BUILTINS): Override
1187         mingw32.h definitions.
1188         (LIBGCC_SPEC): Add libmingwex.a as in mingw32.h.
1189         * config/i386/t-cygwin (EXTRA_GCC_OBJS): Define as cygwin1.o.
1190         Add compilation rules for cygwin1.o cygwin2.o.
1191         * config/i386/cygwin1.c: New file.
1192         * config/i386/cygwin2.c: New file.
1193         * config/i386/t-cygming: New makefile stub.
1194
1195 2003-03-20  Richard Henderson  <rth@redhat.com>
1196
1197         * fold-const.c (extract_muldiv_1): Revert changing order of
1198         operands in case MULT_EXPR of 2003-02-16 patch.
1199
1200 2003-03-20  Daniel Berlin  <dberlin@dberlin.org>
1201         Merge changes from new-regalloc-branch
1202
1203         From Michael Matz  <matz@suse.de>
1204         * df.c (df_ref_record_1): Move init of loc to safe point.
1205         Only recurse on interesting things in parallels.
1206         Handle CLASS_CANNOT_CHANGE_MODE smarter.
1207         (df_uses_record): Ditto.
1208
1209         * df.h (DF_REF_MEM_OK): New enum member, used to mark ref's which
1210         it's already okay to use memory operands in (IE doesn't require
1211         adding another insn or anything).
1212
1213 2003-03-20  Richard Henderson  <rth@redhat.com>
1214
1215         PR middle-end/6348
1216         * explow.c (allocate_dynamic_stack_space): Handle STACK_SIZE_MODE
1217         different from word_mode.
1218
1219 2003-03-20  Kazu Hirata  <kazu@cs.umass.edu>
1220
1221         * config/h8300/h8300.md (*insv_si_1_n_lshiftrt): Restrict the
1222         source operand to those that can be extracted with bld.
1223
1224 2003-03-20  Richard Earnshaw  <rearnsha@arm.com>
1225
1226         PR 10066
1227         * arm.md (UNSPEC_PIC_BASE): New constant.
1228         (pic_add_dot_plus_four): Wrap with unspec.
1229         (pic_add_dot_plus_eight): Likewise.
1230
1231 2003-03-20  Kazu Hirata  <kazu@cs.umass.edu>
1232
1233         * config/h8300/h8300.md (*insv_si_1_n): New.
1234         (*insv_si_1_n_lshiftrt): Likewise.
1235
1236 2003-03-20  Roger Sayle  <roger@eyesopen.com>
1237
1238         * fold-const.c (fold_mathfn_compare): New function to simplify
1239         comparisons against built-in math functions.  Fold comparisons
1240         of sqrt against constants.
1241         (fold): Call fold_mathfn_compare when appropriate.
1242
1243 2003-03-20 Richard Earnshaw  <rearnsha@arm.com>
1244
1245         * ifcvt.c (find_if_case_1): If we add a new bb, update the dominance
1246         information.
1247
1248 2003-03-20  Per Bothner  <pbothner@apple.com>
1249
1250         Various cleanups to help compile server.
1251
1252         * cppinit.c (cpp_create_reader):  Take extra hash_table* argument,
1253         and pass that to _cpp_init_hashtable.
1254         (cpp_read_main_file):  Drop hash_table* argument; don't call
1255         _cpp_init_hashtable.
1256         * cpplib.h:  Update declarations to match.
1257         * c-opts.c (c_common_init_options):  Pass ident_hash to
1258         cpp_create_reader.
1259         (c_common_post_options):  Don't pass ident_hash to cpp_read_main_file.
1260         * fix-header.c (read_scan_file):  Likewise pass NULL table to
1261         cpp_create_reader rather than cpp_read_main_file.
1262
1263         * cppfiles.c (cpp_rename_file):  Generalized and renamed
1264         to cpp_change_file.
1265         * cpplib.h:  Update declaration to match.
1266         * c-opts.c (push_command_line_line, finish_options):  Change
1267         cpp_rename_file calls to cpp_change_file.
1268
1269         * line-map.c (add_line_map):  Allow leaving the outermost file.
1270         Allowing entering an outermost-file after the initial time.
1271
1272         * toplev.c (pop_srcloc):  Allow popping from initial file.
1273
1274 2003-03-20  Kazu Hirata  <kazu at cs dot umass dot edu>
1275
1276         * fold-const.c (fold): Fold A - (A & B) into ~B & A.
1277
1278 2003-03-20  Kazu Hirata  <kazu@cs.umass.edu>
1279
1280         * config/h8300/h8300.md (a peephole2): New.
1281
1282 2003-03-20  Kazu Hirata  <kazu@cs.umass.edu>
1283
1284         * config/h8300/h8300.md (*addsi3_and_r_1): New.
1285         (*addsi3_and_not_r_1): Likewise.
1286
1287 2003-03-19  Loren James Rittle  <ljrittle@acm.org>
1288
1289         * Makefile.in (STRICT2_WARN): Add @WERROR@.
1290         (GCC_WARN_CFLAGS): Remove $(WERROR).
1291         (fixinc.sh-warn): New.
1292         * ada/Make-lang.in (ada-warn): Add $(WERROR).
1293         * cp/Make-lang.in (cp-warn): Add $(WERROR).
1294         * f/Make-lang.in (f-warn): Add $(WERROR).
1295         * java/Make-lang.in (java-warn): Add $(WERROR).
1296         * treelang/Make-lang.in (treelang-warn): Add $(WERROR).
1297
1298 2003-03-19  Nathanael Nerode  <neroden@gcc.gnu.org>
1299
1300         * c-common.h (c_dump_tree), c-dump.c (c_dump_tree),
1301         langhooks-def.h (lhd_tree_dump_dump_tree),
1302         langhooks.c (lhd_tree_dump_dump_tree), langhooks.h (*dump_tree):
1303         Change return type from 'int' to 'bool'.  Replace 0 and 1 with
1304         true and false in return statements.
1305
1306 2003-03-19  Kevin Buettner  <kevinb@redhat.com>
1307
1308         * dwarf2out.c (DWARF_INITIAL_LENGTH_SIZE): Define.
1309         (DWARF_COMPILE_UNIT_HEADER_SIZE): Take into account
1310         DWARF_INITIAL_LENGTH_SIZE.
1311         (output_compilation_unit_header, output_pubnames, output_aranges)
1312         (output_line_info): Output 0xffffffff escape value for 64-bit
1313         DWARF extension.
1314         * config/mips/iris6.h (DWARF_INITIAL_LENGTH_SIZE): Define.
1315
1316 2003-03-19  Ulrich Weigand  <uweigand@de.ibm.com>
1317
1318         * config/s390/s390.c (s390_preferred_reload_class): Do not
1319         force constants to the pool unless necessary.
1320         (s390_decompose_address): Prefer to use pointer as base,
1321         not index register.
1322         * config/s390/s390.md ("*tsthiCCT_only"): Remove '?' from
1323         Q alternative.
1324         ("*movdi_64", "*movsi", "movhi", "movqi_64", "movqi",
1325         "*movdf_64", "*movsf"): Add '?' to Q->Q alternatives.
1326         ("*extractqi", "*extracthi", "*zero_extendhisi2_31",
1327         "*zero_extendqisi2_31", "*zero_extendqihi2_31",
1328         "*adddi3_31", "*subdi3_31"): Do not set "type" attribute.
1329
1330 2003-03-19  Jan Hubicka  <jh@suse.cz>
1331
1332         * i386.h (machine_function): New fields use_fast_prologue_epilogue.
1333         * i386.c (use_fast_prologue_epilogue): Remove.
1334         (ix86_frame): New field save_regs-using_mov;
1335         (ix86_compute_frame_layout):  Decide on fast prologues;
1336         allocate saved registers in red zone.
1337         (ix86_expand_epilogue, ix86_expand_prolgoues): Obey new parameters.
1338
1339 2003-03-19  Nick Clifton  <nickc@redhat.com>
1340
1341         * config/mcore/mcore.h (CPP_SPEC): Remove trailing semi-colon.
1342
1343 2003-03-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1344
1345         PR 10062
1346         * config/pa/pa-hpux.h (TARGET_HPUX_UNWIND_LIBRARY): Redefine.
1347         * pa-protos.h (output_lbranch): New prototype.
1348         * pa.c (compute_frame_size): Change size of the frame marker on the
1349         64-bit ports to 48 bytes.
1350         (pa_output_function_prologue): Document why SAVE_SP is set.
1351         (hppa_expand_prologue): Save previous stack pointer into frame marker
1352         on targets which use the hpux unwind library.
1353         (output_cbranch): Use output_lbranch.
1354         (output_lbranch): New function to output long unconditional branches.
1355         * pa.h (TARGET_HPUX_UNWIND_LIBRARY): Define.
1356         (STACK_POINTER_OFFSET): Update offset for 48-byte frame marker on
1357         64-bit ports.
1358         * pa.md (jump): Use output_lbranch.
1359         (allocate_stack): New expander for dynamic stack allocation.
1360
1361 2003-03-19  Alan Modra  <amodra@bigpond.net.au>
1362
1363         * config/rs6000/rs6000.c (rs6000_stack_info): Only require a frame
1364         when debugging on XCOFF targets.  Delete "abi" temp.
1365
1366         PR target/10073
1367         * combine.c (force_to_mode <NOT>): Use gen_int_mode.
1368
1369 2003-03-18  Jakub Jelinek  <jakub@redhat.com>
1370
1371         * config/s390/s390.c (s390_output_dwarf_dtprel): New.
1372         * config/s390/s390-protos.h (s390_output_dwarf_dtprel): New proto.
1373         * config/s390/s390.h (ASM_OUTPUT_DWARF_DTPREL): Define.
1374
1375         * config/ia64/ia64.c (ia64_output_dwarf_dtprel): New.
1376         * config/ia64/ia64-protos.h (ia64_output_dwarf_dtprel): New proto.
1377         * config/ia64/ia64.h (ASM_OUTPUT_DWARF_DTPREL): Define.
1378
1379 2003-03-18  Geoffrey Keating  <geoffk@apple.com>
1380
1381         * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't clone
1382         the result of machopic_function_base_name.
1383         * config/darwin.c (machopic_function_base_name): Use a gc-allocated
1384         string rather than a static array.
1385
1386         * Makefile.in (emit-rtl.o): Add gt-emit-rtl.h to dependencies.
1387
1388         * gengtype.c: Include rtl.h.
1389         (enum rtx_code): Don't define.
1390         (rtx_format): Make declaration match rtl.h.
1391         (rtx_next_new): Rename from rtx_next to avoid conflict.  Change all
1392         users.
1393         (adjust_field_rtx_def): Describe strings in NOTE_LINE_NUMBER notes.
1394         * Makefile.in (gengtype.o): Update dependencies.
1395
1396 2003-03-18  Andreas Schwab  <schwab@suse.de>
1397
1398         * config/m68k/m68k.md (iordi3): Fix setting low half to -1.  From
1399         martin@blom.org.
1400
1401 2003-03-18  Geoffrey Keating  <geoffk@apple.com>
1402
1403         * function.c (next_block_index): Mark with GTY.
1404
1405         * config/rs6000/rs6000.md (macho_correct_pic): Correct pattern.
1406
1407 2003-03-18  Richard Henderson  <rth@redhat.com>
1408
1409         * config/ia64/ia64.md (UNSPECV_SETJMP_RECEIVER): New.
1410         (builtin_setjmp_receiver): Delay call to ia64_reload_gp
1411         until after reload.
1412
1413 2003-03-18  Richard Henderson  <rth@redhat.com>
1414
1415         * builtins.c (expand_builtin_unop): New target_mode operand;
1416         use it to convert the result to the correct mode.
1417         (expand_builtin): Update all callers.
1418
1419 2003-03-18  Ulrich Weigand  <uweigand@de.ibm.com>
1420
1421         * config/s390/s390.md ("movti", "movhi", "movqi"): Add "type" attribute.
1422
1423 2003-03-18  Jan Hubicka  <jh@suse.cz>
1424
1425         * i386.md:  Fix previous commit that mistakely applied the patch
1426         twice.
1427
1428         * alias.c (rtx_equal_for_memref_p): Assume that X and Y has been
1429         canonicalized.
1430         (memrefs_conflict_p): Likewise.
1431         (addr_side_effect_eval): Canonicalize the constructed address.
1432
1433 2003-03-18  Jan Hubicka  <jh@suse.cz>
1434
1435         * i386.md (cvtts?2si peep2): New.
1436
1437 2003-03-18  Kazu Hirata  <kazu@cs.umass.edu>
1438
1439         * config/h8300/h8300.md (*iorsi3_two_qi_zext): New.
1440
1441 2003-03-18  Andreas Schwab  <schwab@suse.de>
1442
1443         * dwarf2out.c (output_file_names): Cast size_t to unsigned long
1444         for format.
1445
1446 2003-03-17  Jason Merrill  <jason@redhat.com>
1447
1448         PR c++/10091
1449         * expr.c (expand_expr) [ADDR_EXPR]: Disallow taking the address of
1450         an unaligned member of TREE_ADDRESSABLE type.
1451
1452 2003-03-18  Alan Modra  <amodra@bigpond.net.au>
1453
1454         * config/rs6000/linux64.h (MASK_PROFILE_KERNEL): Define.
1455         (TARGET_PROFILE_KERNEL): Define.
1456         (SUBTARGET_SWITCHES): Handle -mprofile-kernel.
1457         (PROFILE_BEFORE_PROLOGUE): Don't define.
1458         (PROFILE_KERNEL): Remove hacks.
1459         * config/rs6000/rs6000.c (TARGET_PROFILE_KERNEL): Define default.
1460         (rs6000_stack_info): No need to save lr if just for profiling when
1461         TARGET_PROFILE_KERNEL.
1462         (output_profile_hook): Output nothing when TARGET_PROFILE_KERNEL.
1463         (output_function_profiler): Localize label generation.  Emit code
1464         for kernel profiling.
1465
1466 2003-03-17  Kazu Hirata  <kazu@cs.umass.edu>
1467
1468         * config/h8300/h8300-protos.h: Add a prototype for
1469         byte_accesses_mergeable_p.
1470         * config/h8300/h8300.c (byte_accesses_mergeable_p): New.
1471         * config/h8300/h8300.md (*iorhi3_two_qi_mem): Likewise.
1472         (a splitter): Likewise.
1473         (*iorsi3_ashift_16_ashift_24): Likewise.
1474         (*iorsi3_ashift_16_ashift_24_mem): Likewise.
1475
1476 2003-03-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1477
1478         * dwarf2asm.h: Delete obsolete comment.
1479         (dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
1480         dw2_asm_output_pcrel, dw2_asm_output_addr,
1481         dw2_asm_output_addr_rtx, dw2_asm_output_encoded_addr_rtx,
1482         dw2_asm_output_nstring, dw2_asm_output_data_uleb128,
1483         dw2_asm_output_data_sleb128, dw2_asm_output_delta_uleb128,
1484         dw2_asm_output_delta_sleb128): Add ATTRIBUTE_NULL_PRINTF.
1485
1486 2003-03-17  Zack Weinberg <zack@codesourcery.com>
1487
1488         * c-tree.h (struct lang_identifier): Remove error_locus field.
1489         (IDENTIFIER_ERROR_LOCUS): Kill.
1490         (record_function_scope_shadow): New prototype.
1491         * c-typeck.c (build_external_ref): Don't complain if
1492         decl is error_mark_node.  When not at file scope, bind the
1493         decl's local value to error_mark_node to suppress further
1494         warnings, instead of setting IDENTIFIER_ERROR_LOCUS.
1495
1496         * c-decl.c (get_function_binding_level): New static function.
1497         (record_function_scope_shadow): New exported function.
1498         (c_make_fname_decl): Use get_function_binding_level.
1499
1500 2003-03-17  Steve Ellcey  <sje@cup.hp.com>
1501
1502         * stmt.c (tail_recursion_args): Call promote_mode to set
1503         unsignedp flag correctly before calling convert_move.
1504
1505 2003-03-17  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1506
1507         * loop-unroll.c (decide_peel_completely,
1508         decide_unroll_constant_iterations, decide_unroll_stupid,
1509         decide_unroll_runtime_iterations, decide_peel_simple): Set
1510         loop->has_desc.
1511
1512 2003-03-17  Jan Hubicka  <jh@suse.cz>
1513
1514         * ggc-common.c (ggc_mark_roots): Use htab_traverse_noresize.
1515
1516 2003-03-17  Olivier Hainque  <hainque@act-europe.fr>
1517
1518         * function.c (assign_parms): For a struct value address passed as
1519         first argument, delay the function's result RTL setup code until
1520         after the emission of parameter conversions.
1521
1522 2003-03-17  Dave Love  <fx@gnu.org>
1523             Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1524
1525         * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Define __digital__,
1526         __arch64__ to match Compaq cc.
1527
1528 2003-03-17  Neil Booth  <neil@daikokuya.co.uk>
1529
1530         * c-opts.c: Default TARGET_EBCDIC to 0 if not defined.
1531         (c_common_init): Set EBCDIC in cpp options.
1532         * cpplex.c (maybe_read_ucs, cpp_parse_escape): Use EBCDIC option,
1533         not conditional compilation.
1534         * cpplib.h (struct cpp_options): New entry EBCDIC.
1535
1536 2003-03-17  Neil Booth  <neil@daikokuya.co.uk>
1537
1538         * fix-header.c (read_scan_file): Need to malloc arguments to add_path.
1539
1540 2003-03-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1541
1542         * function.c (thread_prologue_and_epilogue_insns): Set delete_unused
1543         argument to 0 for redirect_jump.
1544
1545 2003-03-16  Mark Mitchell  <mark@codesourcery.com>
1546
1547         PR c++/8805
1548         * except.c (eh_region_u_cleanup): Add prev_try.
1549         (expand_eh_region_end_cleanup): Set it.
1550         (reachable_handlers): Use it to skip over cleanup blocks.
1551
1552 2003-03-17  Andreas Jaeger  <aj@suse.de>
1553
1554         * Makefile.in (TAGS): Remove obsolete handling of =*.[chy].
1555
1556 2003-03-17  Alan Modra  <amodra@bigpond.net.au>
1557
1558         * config/rs6000/linux64.h (TARGET_64BIT): Redefine.
1559         (TARGET_RELOCATABLE, TARGET_EABI, TARGET_PROTOTYPE): Likewise.
1560         (SUBTARGET_SWITCHES, SUBTARGET_OPTIONS): Likewise.
1561         (SUBTARGET_OVERRIDE_OPTIONS, CPP_SYSV_SPEC): Likewise.
1562
1563 2003-03-16  Richard Henderson  <rth@redhat.com>
1564
1565         * simplify-rtx (simplify_binary_operation): Don't abort for
1566         SS_PLUS, US_PLUS, SS_MINUS, US_MINUS.
1567
1568 2003-03-16  Richard Henderson  <rth@redhat.com>
1569
1570         * config/i386/i386.md (movstrictqi, movstrictqi_1): Check
1571         optimize_size as well.
1572
1573 2003-03-16  Stephane Carrez  <stcarrez@nerim.fr>
1574
1575         * config/m68hc11/m68hc11.c (print_operand): Handle 'b' modifier
1576         for D register to specify the low part of it, aka B.
1577         (m68hc11_gen_movhi): Use REG_WAS_0 note and increment or decrement
1578         the register if we are loading 1 or -1 to it; avoid using temp
1579         register when moving X/Y to Y/X.
1580         (m68hc11_gen_movqi): Likewise.
1581         (m68hc11_check_z_replacement): Fix last insn setting for compare case.
1582
1583 2003-03-14  Mark Mitchell  <mark@codesourcery.com>
1584
1585         PR optimization/9016
1586         * config/i386/i386.c (ix86_expand_move): Force more CONST_DOUBLEs
1587         into the constant pool.
1588
1589 2003-03-16  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
1590
1591         PR target/9164
1592         * tree.c (get_narrower): For extensions with unchanged bit number,
1593         return the unsignedness of the outer mode.
1594
1595 2003-03-16  Roger Sayle  <roger@eyesopen.com>
1596
1597         * c-typeck.c (build_component_ref):  Turn "for" into "do .. while"
1598         to avoid "may be used uninitialized" warning on ia64-hpux.
1599         * config/ia64/ia64-c.c: Include "tm_p.h" for function prototypes.
1600
1601 2003-03-16  Andreas Jaeger  <aj@suse.de>
1602
1603         * configure.in: Improve check for memcheck.h.
1604         * configure: Regenerated.
1605
1606 2003-03-16  Neil Booth  <neil@daikokuya.co.uk>
1607
1608         * doc/cppopts.texi: Remove documentation of -A-.
1609
1610 2003-03-15  Zack Weinberg  <zack@codesourcery.com>
1611
1612         * doc/libgcc.texi: Remove @tie.
1613
1614 2003-03-15  Josef Zlomek  <zlomekj@suse.cz>
1615
1616         * rtl.h (subrtx_p): Renamed to rtx_referenced_p.
1617         (rtx_pair): Added new element update_label_nuses, renamed to
1618         replace_label_data.
1619         * cfgcleanup.c (outgoing_edges_match, try_crossjump_to_edge): Use
1620         replace_label_data instead of rtx_pair.
1621         * loop.c (load_mems): Likewise.
1622         * rtlanal.c (replace_label): Replace label in pool constants and in
1623         INSN_LIST (in REG_LABEL note).
1624         (subrtx_p): Renamed to rtx_referenced_p.
1625         (subrtx_p_1): Renamed to rtx_referenced_p_1, compare the interior of
1626         LABEL_REF with CODE_LABEL, traverse constants from pool.
1627
1628 2003-03-15  Aldy Hernandez <aldyh@redhat.com>
1629             Zack Weinberg  <zack@codesourcery.com>
1630
1631         * Makefile.in (TEXI_GCCINT_FILES): Add libgcc.texi.
1632         * doc/libgcc.texi: New file.
1633         * doc/interface.texi: Delete paragraph about libgcc interface.
1634         * doc/gccint.texi: Add libgcc menu entry and @include libgcc.texi.
1635
1636 2003-03-15  Jason Merrill  <jason@redhat.com>
1637
1638         PR debug/9039
1639         * dwarf2out.c (gen_decl_die): Ignore frontend tree codes.
1640
1641         PR debug/6387
1642         * dwarf2out.c (dwarf2out_decl): If we're at -g1, just stick nested
1643         function DIEs at toplevel.
1644         (decls_for_scope): At -g1, don't descend into subblocks.
1645
1646 2003-03-15  Ulrich Weigand  <uweigand@de.ibm.com>
1647
1648         * varasm.c (struct rtx_const): Change type of un.addr member
1649         to struct holding an additional 'symbol' member.
1650         (decode_rtx_const): Re-enable optimization to count SYMBOL_REFs
1651         with equal string addresses as equal.
1652         (simplify_subtraction): Adapt to struct rtx_const change.
1653
1654 2003-03-15  Neil Booth  <neil@daikokuya.co.uk>
1655
1656         * fix-header.c (read_scan_file): Read main file before handling -D.
1657
1658 2003-03-15  Roger Sayle  <roger@eyesopen.com>
1659
1660         * c-cppbuiltin.c (builtin_define_with_value_n): Fix whitespace.
1661         * c-typeck.c (c_tree_expr_nonnegative_p): Likewise.
1662         * cfgbuild.c (find_many_sub_basic_blocks): Likewise.
1663         (find_sub_basic_blocks): Likewise.
1664         * cgraphunit.c (cgraph_expand_functions): Likewise.
1665         * dwarf2out.c (prune_unused_types): Likewise.
1666         * expr.c (store_field): Likewise.
1667         * genextract.c (print_path): Likewise.
1668         * haifa-sched.c (schedule_insn): Likewise.
1669         * lcm.c (compute_antinout_edge): Likewise.
1670         * loop-unroll.c (decide_peel_once_rolling): Likewise.
1671         * ra-colorize.c (ra_colorize_free_all): Likewise.
1672         * ra-debug.c (dump_igraph): Likewise.
1673         (debug_hard_reg_set): Likewise.
1674         * reg-stack.c (reg_to_stack): Likewise.
1675         * rtlanal.c (refers_to_regno_p): Likewise.
1676         * tracer.c (layout_superblocks): Likewise.
1677
1678 2003-03-15  Neil Booth  <neil@daikokuya.co.uk>
1679
1680         * fix-header.c (read_scan_file): Fix thinko.
1681
1682 2003-03-15  Glen Nakamura  <glen@imodulo.com>
1683
1684         * reload1.c (choose_reload_regs): Use && instead of ||
1685         with REG_CANNOT_CHANGE_MODE_P condition.
1686
1687 2003-03-15  Neil Booth  <neil@daikokuya.co.uk>
1688
1689         * Makefile.in: Update.
1690         * c-common.h (cb_register_builtins): Rename c_cpp_builtins.
1691         * c-lex.c (init_c_lex): Register builtins hook is dead.
1692         * c-opts.c (COMMAND_LINE_OPTIONS, missing_arg): Handle -A, -D and -U.
1693         (c_common_decode_option): Don't call cpp_handle_option.
1694         Handle -A, -D and -U.
1695         (handle_deferred_opts): Simplify.
1696         (finish_options): Define builtins and command line macros.
1697         * c-ppoutput.c (init_pp_output): Register builtins hook is dead.
1698         * cppinit.c: Don't include intl.h.
1699         (init_builtins): Rename cpp_init_builtins.  No hook to call.
1700         (init_library): Don't need to sort options.
1701         (cpp_create_reader): Don't set pending.
1702         (cpp_destroy): Don't free pending.
1703         (struct pending_option, cl_directive_handler, struct cpp_pending,
1704         APPEND, free_chain, new_pending_directive, parse_option, opt_comp,
1705         cpp_finish_options, COMMAND_LINE_OPTIONS, DEF_OPT, struct cl_option,
1706         cl_options, cpp_handle_option): Remove.
1707         * cpplib.h (struct cpp_pending, register_builtins, cpp_handle_option,
1708         cpp_finish_options): Remove.
1709         (cpp_init_builtins): New.
1710         * fix-header.c (read_scan_file): Update to handle -D.  Fix
1711         handling of -I.  Replace call to cpp_finish_options.
1712
1713 2003-03-15  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
1714
1715         PR optimization/9387
1716         * function.c (thread_prologue_and_epilogue_insns): Use redirect_jump
1717         for conditional returns.
1718
1719 2003-03-14  Jason Merrill  <jason@redhat.com>
1720
1721         PR optimization/6871
1722         * varasm.c (assemble_variable): Leave constant zeroes in .rodata.
1723
1724 2003-03-14  Neil Booth  <neil@daikokuya.co.uk>
1725
1726         * c-opts.c (finish_options): New.
1727         (COMMAND_LINE_OPTIONS, c_common_decode_option): Add -imacros.
1728         (missing_arg): Handle OPT_include and OPT_imacros.
1729         (c_common_init, c_common_parse_file): Use finish_options.
1730         (handle_deferred_opts): Update.
1731         * cppinit.c (struct cpp_pending): Remove imacros_head and imacros_tail.
1732         (cpp_finish_options): Don't handle -imacros here.
1733         (no_fil): Remove.
1734         (COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -imacros.
1735
1736 2003-03-14  Jakub Jelinek  <jakub@redhat.com>
1737
1738         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Don't call
1739         rs6000_maybe_dead if !fromprolog.
1740
1741 2003-03-14  Neil Booth  <neil@daikokuya.co.uk>
1742
1743         * Makefile.in: Update.
1744         * c-common.h (fe_file_change, pp_file_change): New.
1745         * c-lex.c (init_c_lex): Don't set cb_file_change.
1746         (c_common_parse_file): Move to c-opts.c.
1747         (cb_file_change): Rename fe_file_change.
1748         * c-opts.c: Include debug.h.
1749         (warn_unused_macros, include_cursor): New.
1750         (push_command_line_include, cb_file_change): New.
1751         (COMMAND_LINE_OPTIONS): Handle -include.
1752         (c_common_decode_option): Use local warn_unused_macros.
1753         Handle OPT_include.
1754         (c_common_post_options): Set file change callback.
1755         (handle_deferred_opts): Skip -include.  Don't free the array.
1756         (c_common_init): Call cpp_finish_options here, and push an
1757         initial -include file.
1758         * c-ppoutput.c (cb_file_change): Rename pp_file_change.
1759         (preprocess_file): Don't call cpp_finish_options.
1760         (init_pp_output): Don't set the file change callback.
1761         (pp_file_change): Return if no line commands or no output.
1762         * cpphash.h (next_include_file, first_unused_line): Remove.
1763         * cppinit.c (include_head, include_tail): Remove.
1764         (cpp_destroy): Don't free -include chain.
1765         (cpp_finish_options): Don't handle -include, or worry about
1766         -Wunused-macros.
1767         (_cpp_maybe_push_include_file): Remove.
1768         (COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -include.
1769         * cpplib.c (_cpp_pop_buffer): Don't handle -include.
1770         * cppmacro.c (_cpp_warn_if_unused_macro, _cpp_create_definition):
1771         Used flag is set based upon the state of the warn_unused_macros
1772         flag, and so use of first_unused_line is unnecessary.
1773
1774 2003-03-13  Jan Hubicka  <jh@suse.cz>
1775
1776         * cselib.c (clear_table): Do not take argument; always clear just
1777         used slots.
1778         (cselib_process_insn):  Update call of clear_table
1779         (cselib_init): Do not call clear_table.
1780         (cselib_finish): Clear table.
1781
1782         * cse.c (count_reg_usage): Do not check side_effects_p.
1783         * rtlanal.c (set_noop_p): Check side_effects_p only when set looks
1784         like noop.
1785         (find_reg_equal_equiv_note): Do not use find_reg_note.
1786
1787 2003-03-14  Richard Henderson  <rth@redhat.com>
1788
1789         PR target/9700
1790         * config/alpha/alpha.c (alpha_va_start): Account for
1791         current_function_pretend_args_size in the AP offset.
1792
1793         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Move out of line.
1794         (INITIAL_ELIMINATION_OFFSET): Move out of line.
1795         * config/alpha/alpha.c (alpha_setup_incoming_varargs): New.
1796         (alpha_initial_elimination_offset) New.
1797         * config/alpha/alpha-protos.h: Update.
1798
1799 2003-03-14  Jakub Jelinek  <jakub@redhat.com>
1800
1801         * stmt.c (expand_start_case): Call emit_queue ().
1802
1803 2003-03-14  Chris Demetriou  <cgd@broadcom.com>
1804             Alexandre Oliva  <aoliva@redhat.com>
1805
1806         * config/mips/mips.h (FUNCTION_PROFILER): _mcount() doesn't pop 2
1807         words in new abis.
1808
1809 2003-03-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
1810
1811         PR optimization/8396
1812         * tree-inline.c (initialize_inlined_parameters): Make sure the value
1813         of read-only constant arguments is passed with the right type.
1814
1815 2003-03-14  Steven Bosscher  <steven@gcc.gnu.org>
1816
1817         * doc/extend.texi (Function Names): Make the example compilable.
1818
1819 2003-03-13  David Edelsohn  <edelsohn@gnu.org>
1820
1821         * config/rs6000/rs6000.c (processor_target_table): Really allow
1822         GP optional instructions on Power4.
1823
1824 2003-03-13  Roger Sayle  <roger@eyesopen.com>
1825
1826         * calls.c (flags_from_decl_or_type): Factor and remove redundant
1827         conditional tests.
1828
1829 2003-03-13  Mike Stump  <mrs@apple.com>
1830
1831         * ggc-page.c (struct page_entry): Remove varray.h header.
1832         Add index_by_depth field.
1833         Remove save_in_use_p field.
1834         (struct globals): Add depth_in_use, depth_max, by_depth_in_use,
1835         by_depth_max, by_depth, and save_in_use fields.
1836         (INITIAL_PTE_COUNT): Add.
1837         (save_in_use_p_i): Add.
1838         (save_in_use_p): Add.
1839         (adjust_depth): Add.
1840         (move_ptes_to_front): Add.
1841         (push_depth): Add.
1842         (push_by_depth): Add.
1843         (prefetch): Add.
1844         (free_page): Add support for and use faster data structures.
1845         (ggc_alloc): Likewise.
1846         (init_ggc): Likewise.
1847         (ggc_recalculate_in_use_p): Likewise.
1848         (ggc_pop_context): Likewise.
1849         (clear_marks): Likewise.
1850         (ggc_pch_read): Likewise.
1851         * Makefile.in (ggc-page.o): Remove varray.h.
1852
1853 2003-03-13  Nathanael Nerode  <neroden@gcc.gnu.org>
1854
1855         * ChangeLog: Rotated last year's entries to...
1856         * ChangeLog.8: New.
1857
1858         * config/ia64/fde-glibc.c, config/ia64/freebsd.h,
1859         config/ia64/hpux.h, config/ia64/hpux_longdouble.h,
1860         config/ia64/ia64-c.c, config/ia64/ia64-modes.def,
1861         config/ia64/ia64-protos.h, config/ia64/ia64.c,
1862         config/ia64/ia64.h, config/ia64/ia64.md,
1863         config/ia64/itanium1.md, config/ia64/itanium2.md,
1864         config/ia64/quadlib.c, config/ia64/unwind-ia64.c,
1865         config/ia64/unwind-ia64.h: It's GCC, not GNU CC.
1866
1867 2003-03-13  Aldy Hernandez  <aldyh@redhat.com>
1868
1869         * config/rs6000/rs6000.c (rs6000_dwarf_register_span):
1870         Differentiate endianness.
1871         (s6000_override_options): Use cpu type instead of TARGET_SPE.
1872
1873 2003-03-13  Nick Clifton  <nickc@redhat.com>
1874
1875         * config/arm/arm.c (print_multi_reg): Do not generate a type 2
1876         LDM instructions with writeback enabled.
1877         (output_return_instruction): Likewise.
1878
1879         * config/arm/pe.h (FIXED_REGISTERS): Remove definition.
1880         (CALL_USED_REGISTERS): Remove definition.
1881         (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Define.
1882
1883 2003-03-13  Alan Modra  <amodra@bigpond.net.au>
1884
1885         * config/rs6000/rs6000.c (rs6000_flag_pic): Delete.
1886         (rs6000_xcoff_encode_section_info): #ifdef TARGET_XCOFF.
1887         (rs6000_binds_local_p, TARGET_BINDS_LOCAL_P): #if TARGET_MACHO.
1888         (rs6000_override_options): Don't clear flag_pic for ABI_AIX.
1889         (rs6000_legitimize_address): Formatting.
1890         (rs6000_emit_move): Likewise.
1891         (rs6000_return_addr): Test ABI_AIX as well as flag_pic.
1892         (rs6000_emit_prologue <save_LR_around_toc_setup>): Likewise.
1893         (rs6000_elf_select_section): Comment reason for shlib being
1894         set for ABI_AIX.
1895         (rs6000_elf_unique_section): Likewise.
1896         (rs6000_elf_encode_section_info): Test !TARGET_AIX as well as ABI_AIX.
1897         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Test ABI_AIX
1898         as well as flag_pic.
1899         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
1900         (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
1901         * config/rs6000/linux64.h (TARGET_ENCODE_SECTION_INFO): Don't define.
1902
1903 2003-03-13  Richard Henderson  <rth@redhat.com>
1904
1905         * emit-rtl.c (try_split): Handle 1-1 splits of call insns properly.
1906
1907         * config/ia64/ia64.c (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
1908         (ia64_gp_save_reg): Remove.
1909         (struct ia64_frame_info): Move to the beginning of the file;
1910         add reg_save_gp.
1911         (ia64_expand_call): Rearrange for new call patterns.
1912         (ia64_reload_gp): New.
1913         (ia64_split_call): New.
1914         (ia64_compute_frame_size): Allocate reg_save_gp.
1915         (ia64_expand_prologue): Save reg_save_gp.
1916         (ia64_expand_epilogue): Don't restore gp.
1917         (ia64_hard_regno_rename_ok): Remove R4 hack.
1918         (ia64_function_ok_for_sibcall): New.
1919         (ia64_output_mi_thunk): Set reload_completed, no_new_pseudos;
1920         call try_split on sibcall pattern.
1921         * config/ia64/ia64-protos.h: Update.
1922         * config/ia64/ia64.md (call_nogp, call_value_nogp, sibcall_nogp):
1923         Rename from nopic versions.  Confiscate 2nd argument to call as
1924         a marker.
1925         (call_pic, call_value_pic, sibcall_pic): Remove.
1926         (call_gp, call_value_gp, sibcall_gp): New.
1927         (builtin_setjmp_setup): Remove.
1928         (builtin_setjmp_receiver): Call ia64_reload_gp.
1929
1930 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
1931
1932         * config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
1933         config/dsp16xx/dsp16xx.h, config/dsp16xx/dsp16xx.md: Replace
1934         "GNU CC" with "GCC".
1935
1936         * config/c4x/c4x-c.c, config/c4x/c4x-modes.def,
1937         config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
1938         config/c4x/c4x.md, config/c4x/libgcc.S, config/c4x/rtems.h:
1939         GCC, not GNU CC.
1940
1941         * genattrtab.h, hosthooks-def.h, hosthooks.h, langhooks-def.h,
1942         langhooks.h, tree-inline.h: Replace "GNU CC" with "GCC".
1943
1944         * c-pch.c, dummy-conditions.c, genautomata.c, genconditions.c,
1945         langhooks.c, tree-inline.c, unwind-dw2-fde-darwin.c,
1946         unwind-dw2-fde-glibc.c, unwind-libunwind.c, vmsdbgout.c: Replace
1947         "GNU CC" with "GCC".
1948
1949         * config/v850/lib1funcs.asm, config/v850/rtems.h,
1950         config/v850/v850-c.c, config/v850/v850-protos.h,
1951         config/v850/v850.c, config/v850/v850.h, config/v850/v850.md:
1952         GCC, not GNU CC.
1953
1954         * config/vax/bsd.h, config/vax/elf.h, config/vax/netbsd-elf.h,
1955         config/vax/netbsd.h, config/vax/openbsd.h, config/vax/openbsd1.h,
1956         config/vax/ultrix.h, config/vax/vax-protos.h, config/vax/vax.c,
1957         config/vax/vax.h, config/vax/vax.md, config/vax/vaxv.h: GCC, not
1958         GNU CC.
1959
1960 2003-03-12  Benjamin Kosnik  <bkoz@redhat.com>
1961
1962         * cpppch.c (cpp_valid_state): Use DL_WARNING_SYSHDR, not DL_WARNING.
1963
1964 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
1965
1966         * fixinc/fixinc.interix: Remove dead code (most of it).
1967         * fixinc/fixinc.dgux: Remove.
1968
1969         * ginclude/float.h, ginclude/iso646.h, ginclude/stdarg.h,
1970         ginclude/stdbool.h, ginclude/stddef.h: GCC, not GNU CC.
1971
1972 2003-03-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1973
1974         * pa.c (pa_init_builtins): Fix warning.
1975
1976 2003-03-12  Steve Ellcey  <sje@cup.hp.com>
1977
1978         * config/ia64/ia64.h (ASM_OUTPUT_XDATA_CHAR): Remove.
1979         (ASM_OUTPUT_XDATA_SHORT): Remove.
1980         (ASM_OUTPUT_XDATA_INT): Remove.
1981         (ASM_OUTPUT_XDATA_DOUBLE_INT): Remove.
1982         (ASM_OUTPUT_ADDR_DIFF_ELT): Handled 32 bit address diffs.
1983         (ASM_PREFERRED_EH_DATA_FORMAT): Handle 32 bit EH pointers.
1984         (CASE_VECTOR_MODE): Handle 32 bit pointers in case statement.
1985
1986 2003-03-12  Andrew Lewycky  <andrew@mxc.ca>
1987
1988         PR c++/7050
1989         * expr.c (store_expr): Don't attempt to store void-typed trees,
1990         just evaluate them for side effects.
1991
1992 2003-03-12  Neil Booth  <neil@daikokuya.co.uk>
1993
1994         * cppfiles.c (cpp_rename_file, cpp_push_include): New.
1995         * cppinit.c (push_include): Move with changes to cppfiles.c.
1996         (cpp_read_main_file): Mark named operators here...
1997         (cpp_finish_options): ...not here.  Update.
1998         (_cpp_maybe_push_include_file): Update.
1999         * cpplib.h (cpp_push_include, cpp_rename_file): New.
2000
2001 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
2002
2003         * aclocal.m4: Introduce gcc_GAS_VERSION_GTE_IFELSE,
2004         _gcc_COMPUTE_GAS_VERSION.
2005         * configure.in: Use them.
2006         * configure: Regenerate.
2007
2008 2003-03-12  Bob Wilson  <bob.wilson@acm.org>
2009
2010         * config/xtensa/xtensa.md (adddi3): Don't clobber source operand used
2011         to detect carry.
2012         (subdi3): Reorder emitted instructions.
2013
2014 2003-03-12  Andreas Jaeger  <aj@suse.de>
2015
2016         * config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Remove call to
2017         NETBSD_OS_CPP_BUILTINS_LP64.
2018
2019 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
2020
2021         * Makefile.in: Eliminate all.indirect.  Update and clean up comments.
2022         Rearrange.  Reorganize.
2023         * configure.in: Rearrange.
2024         * configure: Regenerate.
2025
2026 2003-03-12  Andreas Jaeger  <aj@suse.de>
2027
2028         * c-cppbuiltin.c (cb_register_builtins): Define LP64 builtins for
2029         LP64 targets.
2030
2031         * doc/cpp.texi (Common Predefined Macros): Document __LP64__ and
2032         _LP64.
2033
2034         * config/ia64/ia64.h (TARGET_CPU_CPP_BUILTINS): Do not define
2035         _LP64 macros here.
2036         * config/pa/pa.h (TARGET_CPU_CPP_BUILTINS): Likewise.
2037
2038         * config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove call to
2039         NETBSD_OS_CPP_BUILTINS_LP64.
2040         * config/sh/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise.
2041         * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise.
2042
2043         * config/netbsd.h (NETBSD_OS_CPP_BUILTINS_LP64): Remove.
2044
2045 2003-03-12  Jan Hubicka  <jh@suse.cz>
2046
2047         * i386.c (ix86_setup_incoming_varargs): Set stack_alignment_needed to 128.
2048
2049 2003-03-12  Daniel Jacobowitz  <drow@mvista.com>
2050
2051         Fix PR target/9797 and PR c/9853.
2052         * stmt.c (expand_decl_init): Call push_temp_slots () and
2053         pop_temp_slots ().
2054
2055 2003-03-12  J"orn Rennecke <joern.rennecke@superh.com>
2056
2057         * sh.c: Include basic-block.h.
2058         (sh_output_mi_thunk, emit_load_ptr): New functions.
2059         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine.
2060
2061 2003-03-12  Nick Clifton  <nickc@redhat.com>
2062
2063         * config/arm/pe.h (FIXED_REGISTERS): Add Maverick registers.
2064         (CALL_USED_REGISTERS): Likewise.
2065         * config/arm/arm.h (FIRST_PSEUDO_REGISTER): Update comment
2066         describing how this value is calculated.
2067
2068 2003-03-12  Hans-Peter Nilsson  <hp@bitrange.com>
2069
2070         * configure.in (rlim_t): Define to long if no valid definition
2071         found in sys/resource.h.
2072         * config.in, configure: Regenerate.
2073
2074 2003-03-12  Neil Booth  <neil@daikokuya.co.uk>
2075
2076         * config/mcore/mcore-elf.h (CPP_PREDEFINES): Replace with
2077         TARGET_OS_CPP_BUILTINS.
2078         * config/mcore/mcore-pe.h: Similarly.
2079         * config/mcore/mcore.h: Replace CPP_PREDEFINES and part of
2080         CPP_SPEC with TARGET_CPU_CPP_BUILTINS.
2081
2082 2003-03-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
2083
2084         PR c/9928
2085         * c-decl.c (duplicate_decls): Discard the initializer of the new decl
2086         only if it is a VAR_DECL.
2087
2088 2003-03-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
2089
2090         PR optimization/9888
2091         * config/i386/i386.md (jcc_1): Fix range.
2092         (jcc_2): Likewise.
2093         (jump): LIkewise.
2094         (doloop_end_internal): Likewise.
2095
2096 2003-03-12  Danny Smith  <dannysmith@users.sourceforge.net>
2097
2098         * config/i386/winnt.c (DLL_IMPORT_PREFIX): New define.
2099         Use throughout instead of DLL_IMPORT_EXPORT_PREFIX and "e."
2100         (DLL_EXPORT_PREFIX): New define. Use throughout instead of
2101         DLL_IMPORT_EXPORT_PREFIX and "i."
2102         (i386_pe_dllexport_name_p): Here.
2103         (i386_pe_dllimport_name_p): Here.
2104         (i386_pe_mark_dllexport): Here. Remove DLL_IMPORT_PREFIX,
2105         not 9 chars when getting identifier name.
2106         (i386_pe_mark_dllimport): Here.
2107         (i386_pe_encode_section_info): Here. Remove DLL_IMPORT_PREFIX,
2108         not 9 chars when getting identifier name. Correct comment.
2109         (i386_pe_strip_name_encoding): Here. Add comments for different
2110         cases.
2111         (gen_fastcall_suffix): Break down xmalloc() argument to
2112         components.
2113         (gen_stdcall_suffix): Likewise.
2114         Update copyright year.
2115
2116 2003-03-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
2117
2118         PR optimization/9888
2119         * config/i386/i386.md (movsi_1): Remove special alternatives
2120         for %eax register.
2121         (movsi_1_nointernunit): Likewise.
2122         (movhi_1): Likewise.
2123         * config/i386/i386.c (memory_address_length): Do not use
2124         short displacement when there is no base.
2125         (ix86_attr_length_address_default): Handle LEA instructions.
2126
2127 2003-03-12  Neil Booth  <neil@daikokuya.co.uk>
2128
2129         * c-cppbuiltin.c (builtin_define_std): Make non-static.
2130
2131 2003-03-11  Loren James Rittle  <ljrittle@acm.org>
2132
2133         * config/freebsd-spec.h (FBSD_CPP_PREDEFINES): Remove.
2134         (FBSD_TARGET_OS_CPP_BUILTINS): New port-specific macro.
2135         (FBSD_TARGET_CPU_CPP_BUILTINS): New port-specific macro.
2136         * config/freebsd.h (CPP_PREDEFINES): Remove.
2137         (TARGET_OS_CPP_BUILTINS): New.
2138         * config/alpha/freebsd.h: Use overridden FBSD_TARGET_CPU_CPP_BUILTINS
2139         instead of TARGET_OS_CPP_BUILTINS.
2140         * config/sparc/freebsd.h (CPP_PREDEFINES): Remove.
2141
2142 2003-03-11  Geoffrey Keating  <geoffk@apple.com>
2143
2144         * c-cppbuiltin.c (builtin_define_std): Add ATTRIBUTE_UNUSED.
2145
2146 2003-03-11  Aldy Hernandez  <aldyh@redhat.com>
2147
2148         * config/rs6000/rs6000.c (rs6000_stack_info): Remove
2149         insn_chain_scanned.  Use insn_chain_scanned_p in machine_function.
2150
2151         * config/rs6000/rs6000.h (machine_function): Add insn_chain_scanned_p.
2152
2153 2003-03-11  Alexandre Oliva  <aoliva@redhat.com>
2154
2155         * toplev.c (independent_decode_option): Return success for --help,
2156         --target-help and --version.
2157
2158 2003-03-11  Alexandre Oliva  <aoliva@redhat.com>
2159
2160         * config/mips/linux64.h (DRIVER_SELF_SPECS): Add endian_spec.
2161         Default to -mips3 on -mabi=64.  Don't add -mips* flag if -march is
2162         specified.
2163         (SUBTARGET_ASM_SPEC): Remove -mips*-adding code obviated by
2164         DRIVER_SELF_SPECS.
2165         (LINK_SPEC): Let endian options affect the linker emulation name.
2166
2167 2003-03-11  J"orn Rennecke <joern.rennecke@superh.com>
2168
2169         * sh.md (reload_inqi): Fix mode for source in second set.
2170
2171 2003-03-11  Jan Hubicka  <jh@suse.cz>
2172
2173         * cselib.c (cselib_invalidate_mem_1): Move too ...
2174         (cselib_invalidate_mem): ... here; use new list
2175         (dummy_val, first_containing_mem): New static variables.
2176         (clear_table): Initialize first_containing_mem.
2177         (discard_useless_values):  Compact the containing_mem list.
2178         (add_mem_for_addr): Add to the list.
2179         * cselib.h (cselib_val): Add next_containing_mem.
2180
2181 2003-03-11  Aldy Hernandez  <aldyh@redhat.com>
2182
2183         * config/rs6000/rs6000.c (rs6000_override_options): Disable string
2184         instructions for e500.
2185
2186 2003-03-11  Neil Booth  <neil@daikokuya.co.uk>
2187
2188         * Makefile.in: Update.
2189         * c-cppbuiltin.c: Include tm_p.h.
2190
2191 2003-03-11  Aldy Hernandez  <aldyh@redhat.com>
2192
2193         * doc/tm.texi (Frame Registers): Document DWARF_REG_TO_UNWIND_COLUMN.
2194
2195         * unwind-dw2.c (DWARF_REG_TO_UNWIND_COLUMN): Define.
2196         (_Unwind_GetGR): Use DWARF_REG_TO_UNWIND_COLUMN.
2197         (_Unwind_SetGR): Same.
2198         (_Unwind_GetGRPtr): New.
2199         (_Unwind_SetGRPtr): New.
2200         (uw_update_context_1): Use accesor functions instead of accessing
2201         context->reg[] directly.
2202         (uw_install_context_1): Same.
2203         (execute_cfa_program): Same.
2204         (__frame_state_for): Same.
2205
2206         * config/rs6000/rs6000.c (spe_synthesize_frame_save): Use 1200 as
2207         the synthetic register offset.
2208
2209         * config/rs6000/rs6000.h (DWARF_REG_TO_UNWIND_COLUMN): New.
2210
2211 2003-03-11  Hans-Peter Nilsson  <hp@axis.com>
2212
2213         * config/cris/cris.md: Remove lingering EGCS reference.
2214         ("*extopqihi_side_biap"): For HI operation, match
2215         cris_additive_operand_extend_operator, not
2216         cris_operand_extend_operator.  Adjust condition.
2217         ("*extopqihi_side", "*extopqihi"): Ditto.
2218         ("*extopqisi_side_biap"): Correct operand numbers in condition.
2219         ("*extophisi_side_biap", "*extopqisi_swap_side_biap"): Ditto.
2220         ("*extophisi_swap_side_biap", "*extopqisi_swap"): Ditto.
2221         ("*extophisi_swap"): Ditto.
2222         ("*extopqihi_swap_side_biap"): For HI operation, match a simple
2223         PLUS, not cris_operand_extend_operator.  Adjust condition and
2224         output template.
2225         ("*extopqihi_swap_side", "*extopqihi_swap"): Ditto.
2226         * config/cris/cris.h (PREDICATE_CODES): Add
2227         cris_additive_operand_extend_operator.
2228         * config/cris/cris.c (cris_additive_operand_extend_operator):
2229         New predicate.
2230
2231 2003-03-11  Hartmut Penner  <hpenner@de.ibm.com>
2232
2233         * df.c (read_modify_subreg_p): Change from static to global.
2234         * df.h (read_modify_subreg_p): Add prototype.
2235         * sched-deps.c (sched_analyze_1): Generate true dependency for
2236         strict_low_part, certain subregs and zero/sign_extract.
2237
2238 2003-03-11  Neil Booth  <neil@daikokuya.co.uk>
2239
2240         * Makefile.in: Update.
2241         * c-common.c: Don't include real.h or except.h.
2242         (REGISTER_PREFIX): Remove.
2243         (builtin_define_std, builtin_define_with_value,
2244         builtin_define_with_int_value, builtin_define_with_hex_fp_value,
2245         builtin_define_type_max, builtin_define_type_precision,
2246         builtin_define_float_constants): Move to c-cppbuiltin.c.
2247         (c_stddef_cpp_builtins): New.
2248         * c-common.h (builtin_define_with_value, c_stddef_cpp_builtins): New.
2249         * c-cppbuiltin.c: New, extracted from c-common.c.
2250         (define__GNUC__): New.
2251         * cppspec.c (lang_specific_driver): Remove support of -no-gcc.
2252         * gcc.c: Remove support of %v1, %v2 and %v3 specs.
2253         (cpp_unique_options): Don't support no-gcc.
2254         (do_spec_1): Remove support of version specs.
2255         * doc/invoke.texi: Remove documentation of %v1, %v2 and %v3.
2256         * doc/passes.texi: Update.
2257         * doc/tm.texi: Update.
2258
2259 2003-03-10  Aldy Hernandez  <aldyh@redhat.com>
2260
2261         * dwarf2out.c (multiple_reg_loc_descriptor): Fix thinko.
2262
2263 2003-03-10  Andrew Pinski  <apinski@apple.com>
2264
2265         * config/darwin.c (machopic_function_base_name): If dynamic-no-pic
2266         is on should not get here.
2267         (machopic_indirect_data_reference): If dynamic-no-pic is on just
2268         generate high/low parts of the address.
2269         (machopic_legitimize_pic_address): Change MACHOPIC_PURE to
2270         MACHOPIC_INDIRECT. Dynamic-no-pic uses 0 as the pic base. Generate
2271         symbol and labels with a new reg.  Dynamic-no-pic does not have a
2272         pic_offset_table_rtx.
2273         (machopic_select_section): Change references of flag_pic to
2274         MACHOPIC_INDIRECT.
2275         (machopic_asm_out_destructor): Likewise.
2276         * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Change
2277         reference of flag_pic to MACHOPIC_INDIRECT.
2278         (MACHO_DYNAMIC_NO_PIC_P): Define as TARGET_DYNAMIC_NO_PIC.
2279         (MACHOPIC_INDIRECT): Is also true when dynamic-no-pic is on.
2280         (MACHOPIC_JUST_INDIRECT): Is also true when dynamic-no-pic is on.
2281         (MACHOPIC_PURE): Is not pure when dynamic-no-pic is on.
2282         * config/i386/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define as
2283         0 for right now as dynamic-no-pic is not implemented on Darwin/ia32.
2284         * config/rs6000/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define.
2285         (TARGET_DYNAMIC_NO_PIC): Define.
2286         (SUBTARGET_SWITCHES): Define, have sub-target switches for
2287         dynamic-no-pic.
2288         (SUBTARGET_OVERRIDE_OPTIONS): Move check for -fpic from
2289         rs6000_override_options to here. Dynamic-no-pic overrides
2290         pic.
2291         (CC1_SPEC): Change from not static then pic to not static and not
2292         dynamic-no-pic then pic.
2293         * config/rs6000/rs6000.c (rs6000_override_options): Move the
2294         check for -fpic and DARWIN_ABI to config/rs6000/darwin.h
2295         (rs6000_legitimize_reload_address): Add case for loading floating in
2296         dynamic-no-pic.
2297         (rs6000_emit_move): Add case for dynamic-no-pic.  Change reference
2298         of flag_pic to MACHOPIC_INDIRECT.
2299         (secondary_reload_class): Conditional change the reference of
2300         flag_pic to MACHOPIC_INDIRECT.
2301         (rs6000_output_mi_thunk): Change reference of flag_pic to
2302         MACHOPIC_INDIRECT.
2303         (output_profile_hook): Likewise.
2304         (machopic_output_stub): Non-pure (dynamic-no-pic) is now supported.
2305         * config/rs6000/rs6000.md (movdf_low): Add the case for
2306         MACHO_DYNAMIC_NO_PIC_P.
2307         (call): Change references for flag_pic in TARGET_MACHO to
2308         MACHOPIC_INDIRECT.
2309         (SUBTARGET_OVERRIDE_OPTIONS): Add case where -fpic is on and
2310         -mdynamic-no-pic is on.  Also move case for -fpic from rs6000.c.
2311         * doc/invoke.texi (-mdynamic-no-pic): Document.
2312
2313 2003-03-10  Devang Patel  <dpatel@apple.com>
2314
2315         PR c++/9394
2316         * gcc.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
2317         (DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
2318         * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Add.
2319         (DEFAULT_WORD_SWITCH_TAKES_ARG): Add.
2320         * cppspec.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
2321         (DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
2322
2323 2003-03-10  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2324
2325         PR optimization/7189
2326         * toplev.c (rest_of_compilation):  Move
2327         check_function_return_warnings up to just after
2328         delete_unreachable_blocks.
2329
2330 2003-03-10  Stephane Carrez  <stcarrez@nerim.fr>
2331
2332         * config/m68hc11/m68hc11.h (HARD_REGNO_RENAME_OK): Define.
2333         * config/m68hc11/m68hc11-protos.h (m68hc11_hard_regno_rename_ok):
2334         Declare.
2335         * config/m68hc11/m68hc11.c (m68hc11_hard_regno_rename_ok): New function
2336         for reg rename optimization to avoid using Z and Y registers.
2337
2338 2003-03-10  Stephane Carrez  <stcarrez@nerim.fr>
2339
2340         * config/m68hc11/m68hc11.md ("*addhi3_68hc12"): Accept any constant
2341         when adding to X and Y since leax/leay are fast.
2342         ("*addhi3"): Accept 'I' constraint when adding to address register.
2343         ("rotlhi3"): Operand 1 must be a register_operand.
2344         (peephole2): New peephole to optimize some adds.
2345         * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_P): Use 'I' constraint
2346         to represent -2 .. 2 small integer range.
2347
2348 2003-03-10  Stephane Carrez  <stcarrez@nerim.fr>
2349
2350         * config/m68hc11/m68hc11.c (m68hc11_gen_rotate): Set carry before
2351         each 16-bit rotation.
2352
2353 2003-03-10  Zack Weinberg  <zack@codesourcery.com>
2354
2355         * c-opts.c (add_prefixed_path): Don't use concat.  When
2356         prefixing with cpp_GCC_INCLUDE_DIR, copy only the first
2357         cpp_GCC_INCLUDE_DIR_len characters.
2358
2359 2003-03-10  Segher Boessenkool  <segher@koffie.nl>
2360
2361         * testsuite/gcc.dg/altivec-9.c: New file.
2362
2363         * config/rs6000/rs6000.c (altivec_frame_fixup): Remove.
2364         (rs6000_emit_prologue): Use rs6000_frame_related instead.
2365
2366 2003-03-10  Aldy Hernandez  <aldyh@redhat.com>
2367
2368         * config/rs6000/spe.h: Define __ev64_*64__ to use single element
2369         vectors.
2370         (__ev_convert_u64): Remove macro.  Define as inline.
2371         (__ev_convert_s64): Same.
2372
2373 2003-03-10  Aldy Hernandez  <aldyh@redhat.com>
2374
2375         * config/rs6000/rs6000.h (DWARF_FRAME_REGISTERS): Define.
2376         (rs6000_stack_t): Add spe_64bit_regs_used.
2377
2378         * config/rs6000/rs6000.c (rs6000_stack_info): Calculate
2379         spe_64bit_regs_used, and use it to determine the size of the
2380         frame.
2381         (spe_func_has_64bit_regs_p): New.
2382         (spe_synthesize_frame_save): New.
2383         (rs6000_frame_related): Handle SPE synthetic registers.
2384         (rs6000_emit_prologue): Only save in 64-bits if the function used
2385         any registers in 64-bit mode.
2386         (rs6000_emit_epilogue): Same, but for restore.
2387
2388 2003-03-10  Richard Earnshaw  <rearnsha@arm.com>
2389
2390         * arm.h (enum floating_point_type): Delete.  Replace with...
2391         (enum fputype): ... new.
2392         (FPUTYPE_DEFAULT): Renamed from FP_DEFAULT.  Values reworked.
2393         * linux-elf.h (FPUTYPE_DEFAULT): Likewise.
2394         * arm.md (attr fpu): Reworked for new underlying enum values.
2395         * arm.c (arm_fpu_arch): Now enum fputype.
2396         (arm_fpu_tune): Renamed from arm_fpu.  Now enum fputype.
2397         (arm_override_options, arm_output_epilogue, arm_expand_prologue):
2398         Update uses of arm_fpu_arch and arm_fpu_tune.
2399
2400 2003-03-10  Josef Zlomek  <zlomekj@suse.cz>
2401
2402         * cfgcleanup.c (outgoing_edges_match): Compare the jump tables.
2403         (try_crossjump_to_edge): Replace refereces to one jump table by
2404         references to identical jump table.
2405         * loop.c (load_mems): Moved setting the JUMP_LABEL to replace_label.
2406         (replace_label): Moved to rtlanal.c.
2407         (struct rtx_pair): Moved to rtl.h.
2408         * rtl.h (struct rtx_pair): Moved from loop.c.
2409         (replace_label): New extern function.
2410         (subrtx_p): New extern function.
2411         (tablejump_p): New extern function.
2412         * rtlanal.c (replace_label): Moved from loop.c.
2413         (subrtx_p_1): New static function.
2414         (subrtx_p): New function.
2415         (tablejump_p): New function.
2416
2417 2003-03-10  Jan Hubicka  <jh@suse.cz>
2418
2419         * cfgcleanup.c (try_optimize_cfg): Fix thinko in previous patch.
2420
2421         * cfgcleanup.c (merge_blocks): Return where to iterate next.
2422         (try_optimize_cfg): Use return value of merge_blocks
2423
2424 2003-03-10  Michael Matz  <matz@suse.de>
2425
2426         * cfg.c (unchecked_make_edge): New.
2427         (cached_make_edge): Use it.
2428         * basic-block.h (unchecked_make_edge): Declare.
2429         * cfglayout.c (cfg_layout_duplicate_bb): Use it.
2430
2431 2003-03-10  Richard Earnshaw  <rearnsha@arm.com>
2432
2433         * fpa.md: New file.  Move all patterns relating to FPA co-processor
2434         to here...
2435         * arm.md: ... from here.
2436         (cirrus.md, fpa.md): Include at end of description.
2437         (divsf3, divdf3, modsf3, movdf3, sqrtsf2, sqrtdf2): New expands.
2438         (pic_load_addr_based): Remove register constraint from expander.
2439         (seq, sne, sgt, sle, slt, sge, sgeu, sleu, sgtu, sltu, sunordered)
2440         (sordered, sungt, sunle, sunge, sunlt): Likewise.
2441         (eh_epilogue, tablejump): Likewise.
2442
2443 2003-03-09  David Edelsohn  <edelsohn@gnu.org>
2444             Mostafa Hagog
2445
2446         * config/rs6000/rs6000.md (movsi_update1): Add TARGET_UPDATE final
2447         condition.
2448
2449 2003-03-09  Neil Booth  <neil@daikokuya.co.uk>
2450
2451         * config/frv/frv.h: Use TARGET_CPU_CPP_BUILTINS, not CPP_PREDEFINES.
2452         * config/ip2k/ip2k.h: Similarly.
2453         * config/m32r/m32r.h: Similarly.
2454         * config/m68hc11/m68hc11.h: Similarly.
2455         * config/mn10200/mn10200.h: Similarly.
2456         * config/mn10300/mn10300.h: Similarly.
2457         * config/pdp11/pdp11.h: Similarly.
2458         * config/v850/v850.h: Similarly.
2459         * config/rs6000/vxworks.h: Similarly for TARGET_OS_CPP_BUILTINS.
2460         * config/v850/retms.h: Similarly for TARGET_OS_CPP_BUILTINS.
2461         * config/mips/iris3.h: Remove #if 0 block.
2462
2463 2003-03-09  Roger Sayle  <roger@eyesopen.com>
2464             Joern Rennecke <joern.rennecke@superh.com>
2465
2466         * gcc.c (do_spec_1) ['{']: Revert 2003-02-24 patch.  Don't handle
2467         pending argument upon return from handle_braces here.
2468         (do_spec_2): Instead handle it upon return from do_spec_1 here.
2469
2470 2003-03-09  Roger Sayle  <roger@eyesopen.com>
2471             Joern Rennecke <joern.rennecke@superh.com>
2472
2473         * gcc.c (do_spec_1) ['{']: Revert 2003-02-24 patch.  Don't handle
2474         pending argument upon return from handle_braces here.
2475         (do_spec_2): Instead handle it upon return from do_spec_1 here.
2476
2477 2003-03-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2478
2479         * varasm.c (make_decl_one_only): Use declare_weak().
2480
2481 2003-03-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2482
2483         PR middle-end/9986
2484         * c-common.c (c_common_nodes_and_builtins): Initialize target builtins
2485         after the common builtins.
2486         * pa-hpux.h (DONT_HAVE_FPUTC_UNLOCKED): Define.
2487         * pa.c (TARGET_INIT_BUILTINS): Define.
2488         (pa_init_builtins): New function.
2489
2490         * pa.md (call, call_value, sibcall, sibcall_value): When sufficient
2491         space has been allocated for the outgoing arguments, set the arg
2492         pointer for a call emitted after virtuals have been instantiated
2493         using the stack pointer offset, otherwise abort.
2494
2495 2003-03-09  DJ Delorie  <dj@redhat.com>
2496
2497         * config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH): Revert.
2498
2499 2003-03-09  Richard Earnshaw  <rearnsha@arm.com>
2500
2501         * arm.md (fix_truncsfsi2, fix_truncdfsi2, arm_fix_truncsfsi2)
2502         (arm_fix_truncdfsi2): Add missing fix in floating point mode before
2503         conversion to integer.
2504         * cirrus.md (cirrus_truncsfsi2, cirrus_truncdfsi2): Likewise.
2505
2506 2003-03-09  Roger Sayle  <roger@eyesopen.com>
2507
2508         * builtins.def: Fix typo and improve grammar.
2509         * loop-unroll.c (decide_peel_completely): Tidy log message.
2510
2511 2003-03-09  Kazu Hirata  <kazu@cs.umass.edu>
2512
2513         * config/h8300/h8300.md (*tstsi_upper_bit): New.
2514         (*iorsi3_e2f): Likewise.
2515
2516 2003-03-08  Kazu Hirata  <kazu@cs.umass.edu>
2517
2518         * config/h8300/h8300.c (h8300_and_costs): Return the number of
2519         assembly instructions needed.
2520         (h8300_shift_costs): Likewise.
2521
2522 2003-03-09  Hans-Peter Nilsson  <hp@bitrange.com>
2523
2524         * config/cris/aout.h (ENDFILE_SPEC): Undef.
2525
2526         * optabs.c (gen_move_insn): Move logic for synthesizing MODE_CC
2527         moves from here ...
2528         * expr.c (emit_move_insn_1): ... to here.
2529
2530         * config/cris/aout.h (CRIS_CPP_SUBTARGET_SPEC): Move -D__AOUT__ to...
2531         (TARGET_OS_CPP_BUILTINS): New macro.
2532         * config/cris/cris.h (CRIS_CPP_SUBTARGET_SPEC): Move -D__ELF__ to...
2533         (TARGET_OS_CPP_BUILTINS): New macro.
2534         (CPP_PREDEFINES): Don't define.  Move old definitions and...
2535         (CPP_SPEC): ...move -D__CRIS_ABI_version=2 to...
2536         (TARGET_CPU_CPP_BUILTINS): New macro.
2537         * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Move constant
2538         definitions and the optional __PIC__, __pic__ and
2539         __NO_UNDERSCORES__ definitions to...
2540         (TARGET_OS_CPP_BUILTINS): New macro.
2541
2542         * flags.h (flag_leading_underscore): Declare.
2543
2544         * c-opts.c (c_common_post_options): On fopen failure, return
2545         false, not NULL.
2546
2547 2003-03-08  Hans-Peter Nilsson  <hp@bitrange.com>
2548
2549         * config/cris/cris_abi_symbol.c: #include tconfig.h and tm.h, not
2550         config.h.
2551         * config/cris/cris.h (HAVE_GAS_HIDDEN): Don't define here.
2552         * config/cris/aout.h (HAVE_GAS_HIDDEN): Undef.
2553
2554 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
2555
2556         * config/sh/rtemself.h (TARGET_OS_CPP_BUILTINS): Use instead of
2557         CPP_PREDEFINES.
2558         * config/sh/rtems.h (TARGET_OS_CPP_BUILTINS): Use instead of
2559         CPP_PREDEFINES.
2560
2561 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
2562
2563         * c-common.h (c_common_init, c_common_post_options): Update.
2564         * c-objc-common.c (c_objc_common_init): Update for new prototype.
2565         * c-opts.c (saved_lineno): New.
2566         (c_common_post_options, c_common_init): Update prototypes,
2567         move call to cpp_read_main_file from latter to former.
2568         * c-tree.h (c_ojbc_common_init): Update.
2569         * langhooks-def.h (lhd_post_options): New.
2570         (LANG_HOOKS_INIT, LANG_HOOKS_POST_OPTIONS): Update.
2571         * langhooks.c (lhd_post_options): New.
2572         * langhooks.h (struct lang_hooks): Update post_options and init hooks.
2573         * toplev.c (no_backend): New.
2574         (process_options): Call post_options hook and set main_input_filename
2575         and input_filename here.
2576         (lang_dependent_init, do_compile): post_options hook moved to
2577         process_options.
2578         * objc/objc-act.c (objc_init): Update prototype.
2579         * objc/objc-act.h (objc_init): Update prototype.
2580
2581 2003-03-08  Roger Sayle  <roger@eyesopen.com>
2582
2583         * emit-rtl.c (gen_lowpart): Don't attempt to load a part of
2584         a complex or vector type, using a load in the original mode.
2585
2586 2003-03-08  Jan Hubicka  <jh@suse.cz>
2587
2588         * Makefile.in (cgraph.o): Depend on gt-cgraph.h and varray.h.
2589         * gt-cgraph.h: New GC file.
2590         * cgraph.c (known_fns): New static variable.
2591         (cgraph_node): Add the decl into varray.
2592
2593 2003-03-08  Hans-Peter Nilsson  <hp@bitrange.com>
2594
2595         * config/mmix/mmix.md ("*movcc_expanded"): Add missing alternatives.
2596
2597 2003-03-08  Richard Earnshaw  <rearnsha@arm.com>
2598
2599         * arm.c (fpa_rhs_operand, fpa_add_operand, const_double_rtx_ok_for_fpa)
2600         (neg_const_double_ok_for_fpa, output_mov_long_double_fpa_from_arm)
2601         (output_mov_long_double_arm_from_fpa, output_mov_double_fpa_from_arm)
2602         (output_mov_double_arm_from_fpa): Renamed to use fpa instead of fpu.
2603         All callers changed.
2604         * arm.md, arm.h, arm-protos.h: Updated.
2605
2606         * arm.h (enum reg_class FPA_REGS): Renamed from FPU_REGS.
2607         (CLASS_MAX_NREGS, REGISTER_MOVE_COST, REG_CLASS_FROM_LETTER): Updated.
2608         * arm.c (arm_regno_class, f_register_operand): Updated.
2609
2610 2003-03-08  Hans-Peter Nilsson  <hp@bitrange.com>
2611
2612         * config/cris/cris.h: Remove EGCS references.
2613         (CPP_SPEC): Remove "-$".
2614         (INIT_CUMULATIVE_ARGS): Adjust parameter name to FNDECL.
2615
2616 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
2617
2618         * config/stormy16/stormy16.h (TARGET_CPU_CPP_BUILTINS): Use in
2619         preference to CPP_PREDEFINES.
2620
2621 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
2622
2623         * cppinit.c (cpp_finish_options): Set first_unused_line to -1.
2624
2625 2003-03-08  Kazu Hirata  <kazu@cs.umass.edu>
2626
2627         * config/h8300/h8300.md (*extzv_16_8): New.
2628
2629 2003-03-08  Jan Hubicka  <jh@suse.cz>
2630
2631         * c-decl.c: (finish_function): Update call of tree_inlinable_function_p.
2632         * cgraph.h: (cgraph_local_info): Add can_inline_once
2633         (cgraph_global_info): Add inline_once.
2634         (cgraph_node): Add previous.
2635         (cgraph_remove_node): New.
2636         * cgraphunit.c (cgraph_mark_functions_to_inline_once): New static
2637         function.
2638         (cgraph_optimize): Call it.
2639         (cgraph_finalize_function):  Set inlinable flags.
2640         (cgraph_finalize_compilation_unit):  Actually remove the reclaimed nodes.
2641         (cgraph_mark_functions_to_output):  Use new inlining heuristics flags.
2642         (cgraph_expand_function): Likewise.
2643         * cgraph.c
2644         (cgraph_node): Put nodes into doubly linked chain.
2645         (cgraph_remove_node): New function.
2646         * flags.h (flag_inline_functions_called_once): Declare.
2647         * tree-inline.c: Include cgraph.h
2648         (inlinable_functions_p): Add extra argument to bypass limits.
2649         (expand_call_inline):  Obey cgraph flag.
2650         * tree-inline.h (tree_inlinable_function_p): Update prototype.
2651
2652 2003-03-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2653
2654         * gcse.c (bypass_block, bypass_conditional_jumps): Do not create
2655         irreducible loops.
2656
2657         * loop-unroll.c (unroll_loop_runtime_iterations): Update irreducible
2658         loops info correctly.
2659
2660 2003-03-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
2661
2662         PR middle-end/7796
2663         * unroll.c (calculate_giv_inc): Handle constants being
2664         loaded with LSHIFTRT.
2665
2666 2003-03-07  David Edelsohn  <edelsohn@gnu.org>
2667
2668         * config/rs6000/rs6000.c (processor_target_table): Do not disable
2669         GP optional instructions on Power3, Power4, 620, and 630.
2670
2671 2003-03-07  Kazu Hirata  <kazu@cs.umass.edu>
2672
2673         * calls.c: Fix comment formatting.
2674         * cfgloopanal.c: Likewise.
2675         * cfgloopmanip.c: Likewise.
2676         * combine.c: Likewise.
2677         * dwarf2out.c: Likewise.
2678         * ggc-common.c: Likewise.
2679         * langhooks.c: Likewise.
2680         * loop-unroll.c: Likewise.
2681         * loop.c: Likewise.
2682         * ra-build.c: Likewise.
2683         * sbitmap.c: Likewise.
2684         * toplev.c: Likewise.
2685
2686 2003-03-07  James E Wilson  <wilson@tuliptree.org>
2687
2688         * config/sh/sh.h (HARD_REGNO_NREGS): Round up the XD register count.
2689
2690 2003-03-07  Geoffrey Keating  <geoffk@apple.com>
2691
2692         * objc/lang-specs.h (objective-c-header): Use .gch not .pch;
2693         support -no-integrated-cpp.
2694
2695         * c-pch.c (get_ident): Use c_language_kind and flag_objc rather
2696         than langhooks.name.
2697
2698 2003-03-07  Michael Matz  <matz@suse.de>
2699
2700         * df.h (enum df_ref_flags.DF_REF_STRIPPED): New.
2701         (DF_FOR_REGALLOC): New.
2702         * df.c (df_ref_record): Set DF_REF_STRIPPED.
2703         (read_modify_subreg_p): Simplify.
2704         (df_def_record_1, df_uses_record): Set DF_REF_MODE_CHANGE more often.
2705         Use DF_FOR_REGALLOC.
2706         * ra.h (struct web): New member subreg_stripped.
2707         (invalid_mode_change_regs): Declare.
2708         * ra.c (invalid_mode_change_regs): New.
2709         (init_ra): Initialize it.
2710         * ra-build.c (init_one_web_common, remember_web_was_spilled): Use it.
2711         Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
2712         (reinit_one_web, parts_to_web_1): Deal with subreg_stripped.
2713         * ra-colorize.c (colorize_one_web): Use invalid_mode_change_regs.
2714         Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
2715
2716 2003-03-07  Richard Earnshaw  <rearnsha@arm.com>
2717
2718         * arm.md (addsf3, adddf3, subsf3, subdf3, mulsf3, muldf3, negsf2)
2719         (negdf2, abssi2, abssf2, absdf2, floatsisf2, floatsidf2)
2720         (fix_truncsfsi2, fix_truncdfsi2, truncdfsf2): Moved back into main
2721         machine description file from ...
2722         * cirrus.md: ... here.
2723
2724 2003-03-06  Kazu Hirata  <kazu@cs.umass.edu>
2725
2726         * config/h8300/h8300.md (a peephole2): Don't use
2727         reg_overlap_mentioned_p.
2728
2729 2003-03-06  Geoffrey Keating  <geoffk@apple.com>
2730
2731         * c-pch.c: Include langhooks.h.
2732         (IDENT_LENGTH): New.
2733         (get_ident): New.
2734         (pch_ident): Delete.
2735         (pch_init): Use get_ident, IDENT_LENGTH.
2736         (c_common_valid_pch): Likewise.  Also, use actual language
2737         in warning message.
2738         * Makefile.in (c-pch.o): Add langhooks.h to dependencies.
2739
2740         * objc/config-lang.in (gtfiles): Add objc-act.c.  Remove duplicate
2741         c-parse.in.
2742         * objc/Make-lang.in (objc/objc-act.o): Add dependency on
2743         gt-objc-objc-act.h.
2744         (gt-objc-objc-act.h): New rule.
2745         * objc/lang-specs.h: Support PCH.
2746         * objc/objc-act.c: Include gt-objc-objc-act.h.
2747         (objc_add_static_instance): Move num_static_inst out, mark for PCH.
2748         (build_selector_reference_decl): Move idx out, mark for PCH.
2749         (build_class_reference_decl): Likewise.
2750         (build_objc_string_decl): Move *_idx out, mark for PCH.
2751         (build_tmp_function_decl): Move xxx out, mark for PCH.
2752
2753 2003-03-06  Dale Johannesen  <dalej@apple.com>
2754
2755         * config/rs6000/rs6000.c (rs6000_binds_local_p):  Consider
2756         global functions for inlining on Darwin.
2757
2758 2003-03-06  Vladimir Makarov  <vmakarov@redhat.com>
2759
2760         * haifa-sched.c (schedule_block): Don't call reorder when sorting
2761         is prohibited.
2762
2763 2003-03-06  Neil Booth  <neil@daikokuya.co.uk>
2764
2765         * Makefile.in (c-ppoutput.o): Update.
2766         * c-common.h (init_pp_output): New.
2767         (preprocess_file): Update.
2768         * c-lex.c (init_c_lex): Move mbchar initialization to cpplib.
2769         Register builtins.
2770         * c-opts.c (c_common_init): Call init_pp_output if preprocessing.
2771         Make call to cpp_read_main_file common to whether preprocessing
2772         or not.  Don't register builtins.
2773         * c-ppoutput.c: Include c-pragma.h.
2774         (setup_callbacks): Rename init_pp_output.
2775         (preprocess_file): No longer setup callbacks or call
2776         cpp_read_main_file.
2777         * cpphash.h (_cpp_init_mbchar): New.
2778         * cppinit.c (init_library): Call _cpp_init_mbchar.
2779         * cpplex.c (_cpp_init_mbchar): New.
2780
2781 2003-03-06  Roger Sayle  <roger@eyesopen.com>
2782
2783         * emit-rtl.c (gen_lowpart): When requesting the low-part of a
2784         MEM, try loading the MEM into a register and taking the low-part
2785         of that, to help CSE see the use of the MEM in its true mode.
2786
2787 2003-03-05  Tom Tromey  <tromey@redhat.com>
2788
2789         * config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH):
2790         Define.
2791
2792 2003-03-05  Nick Clifton  <nickc@cambridge.redhat.com>
2793
2794         * config/stormy16/stormy16.md ("*eqbranchsi"): Remove '+' on
2795         operand 2.
2796         ("*ineqbranchsi"): Likewise.
2797
2798 2003-03-05  Andrew Haley  <aph@cambridge.redhat.com>
2799
2800         * config/stormy16/stormy16.c (xstormy16_expand_prologue): Delete
2801         mem_fake_push_rtx.  Instead construct a SEQUENCE to show the
2802         register store followed by a stack increment.
2803
2804 2003-03-05  Chris Moller  <cmoller@redhat.com>
2805
2806         * config/stormy16/stormy16.c (REG_NEEDS_SAVE): added a term
2807         to inhibit saving CARRY_REGS.
2808
2809         * config/stormy16/stormy16.c (xs_hi_general_operand):
2810         added predicate to detect and error-out on out-of-range
2811         const_ints for movhi.
2812         * config/stormy16/stormy16.md (movhi): use
2813         xs_hi_general_operand.
2814
2815         * config/stormy16/stormy16.c (xstormy16_expand_prologue):
2816         added a check for local vbl size overflow.
2817         * config/stormy16/stormy16.c (xs_hi_nonmemory_operand):
2818         added predicate to detect and error-out on out-of-range
2819         const_ints for addhi and subhi.
2820         * config/stormy16/stormy16.md (addhi3, addchi4, addchi5,
2821         subhi3, subchi4, subchi5): used xs_hi_nonmemory_operand.
2822
2823         * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
2824         add a term to accept PRE_MODIFY addresses.
2825         * config/stormy16/stormy16.c (xstormy16_expand_move):
2826         add code to expand PRE_MODIFY addresses to an add followed
2827         by a move.
2828
2829 2003-03-06  Jason Merrill  <jason@redhat.com>
2830
2831         * tree-inline.c (inlinable_function_p): Revert earlier change
2832         pending investigation.
2833
2834 2003-03-06  Kazu Hirata  <kazu@cs.umass.edu>
2835
2836         * config/h8300/h8300.md (a new peephole2): New.
2837
2838 2003-03-06  Jan Hubicka  <jh@suse.cz>
2839
2840         * cgraph.c (cgraph_node): Do not confuse nested functions and methods.
2841
2842 2003-03-06  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2843
2844         * dwarf2out.c (size_of_die): Compute size of external reference to
2845         die correctly.
2846
2847 2003-03-06  Hans-Peter Nilsson  <hp@bitrange.com>
2848
2849         * config/mmix/mmix.md ("*movcc_expanded"): New pattern.
2850         ("movcc", "movcc_uns", "movcc_fp", "movcc_fpeq", "movcc_fun"): New
2851         expanders.
2852
2853 2003-03-05  Roger Sayle  <roger@eyesopen.com>
2854
2855         * expr.h (lang_expand_expr): Delete obsolete prototype.
2856
2857 2003-03-05  Kazu Hirata  <kazu@cs.umass.edu>
2858
2859         * emit-rtl.c (gen_highpart_mode): Fix a comment typo.
2860
2861 2003-03-05  Kazu Hirata  <kazu@cs.umass.edu>
2862
2863         * config/h8300/h8300.md (a peephole2): Generalize to
2864         accept a memory operand.
2865
2866 2003-03-05  Olivier Hainque <hainque@act-europe.fr>
2867
2868         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '+'.
2869         * config/alpha/alpha.c (print_operand, case '+'): New.
2870         * config/alpha/alpha.md (call_osf_1_noreturn): Document and use.
2871         (call_value_osf_1_noreturn): Likewise.
2872
2873 2003-03-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2874
2875         * stmt.c (fixup_gotos): Change meaning of DONT_JUMP_IN.
2876         (expand_end_bindings): Likewise.
2877
2878 2003-03-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2879
2880         * pa.md (return_external_pic): Add !TARGET_PA_20 to constraint.
2881         (epilogue): Don't generate return_external_pic when emitting PA 2.0
2882         code.
2883
2884 2003-03-05  Aldy Hernandez  <aldyh@redhat.com>
2885
2886         * doc/tm.texi: Document TARGET_DWARF_REGISTER_SPAN.
2887
2888         * config/rs6000/rs6000.c (rs6000_dwarf_register_span): New.
2889
2890         * hooks.c (hook_rtx_rtx_null): New.
2891
2892         * hooks.h (hook_rtx_rtx_null): Protoize.
2893
2894         * target-def.h (TARGET_DWARF_REGISTER_SPAN): New macro.
2895         (TARGET_INITIALIZER): Add TARGET_DWARF_REGISTER_SPAN.
2896
2897         * target.h (struct gcc_target): Add dwarf_register_span.
2898
2899         * dwarf2out.c (multiple_reg_loc_descriptor): New.
2900         (one_reg_loc_descriptor): New.
2901         (reg_loc_descriptor): Add support for values that span more than
2902         one register.
2903
2904 2003-03-05  Jan Hubicka  <jh@suse.cz>
2905
2906         * Makefile.in (calls.o, toplev.o alias.o): Depend on cgraph.h
2907         * alias.c:  Include cgraph.h
2908         (mark_constant_function): Use cgraph_rtl_info.
2909         * calls.c:  Include cgraph.h
2910         (flags_from_decl_or_type): Use cgraph_rtl_info to find pure and const
2911         calls.
2912         (expand_call): Use cgraph_rtl_info to set preferred stack boundary.
2913         * cgraph.c (cgraph_rtl_info): New function.
2914         * cgraph.h (cgraph_rtl_info): Declare
2915         (cgraph_rtl_info): Likewise.
2916         * function.h (struct function): Add recursive_call_emit.
2917         * toplev.c: Include cgraph.h.
2918         (rest_of_compilation): Set preferred_incoming_stack_boundary.
2919
2920 2003-03-05  Kazu Hirata  <kazu@cs.umass.edu>
2921
2922         * config/h8300/h8300.c (output_simode_bld): Clear the
2923         destination first if possible.
2924         * config/h8300/h8300.md (extzv_1_r_h8300hs): Add an
2925         alternative.
2926         (extzv_1_r_inv_h8300hs): Likewise.
2927
2928 2003-03-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2929
2930         * basic-block.h (EDGE_IRREDUCIBLE_LOOP, EDGE_ALL_FLAGS): New.
2931         * cfg.c (dump_edge_info): Add EDGE_IRREDUCIBLE_LOOP flag dump.
2932         * cfgloop.c (flow_loop_free): Made global.
2933         (establish_preds): New static function.
2934         (flow_loop_tree_node_add): Handle subloops of added loop correctly.
2935         (get_loop_exit_edges): New.
2936         (verify_loop_structure): Verify EDGE_IRREDUCIBLE_LOOP flags.
2937         * cfgloop.h (flow_loop_free, get_loop_exit_edges, unloop): Declare.
2938         * cfgloopanal.c (mark_irreducible_loops): Mark edges in irreducible
2939         loops.
2940         * cfgloopmanip.c (loop_delete_branch_edge): Allow to test for
2941         removability of an edge.
2942         (fix_irreducible_loops): New static function.
2943         (find_path, remove_path): Add ability to remove enclosing loops.
2944         (unloop): New.
2945         (copy_bbs, duplicate_loop_to_header_edge): Use EDGE_IRREDUCIBLE_LOOP
2946         flags.
2947         * cfgrtl.c (verify_flow_info): Handle EDGE_IRREDUCIBLE_LOOP flag.
2948         * loop-unroll.c (peel_loops_completely): Do not duplicate loop if
2949         not neccessary.
2950         (decide_peel_completely, peel_loops_completely): Allow complete peeling
2951         of non-duplicable once rolling loops.
2952         * loop-unswitch.c (unswitch_loop): Update EDGE_IRREDUCIBLE_LOOP flags.
2953
2954 2003-03-05  J"orn Rennecke <joern.rennecke@superh.com>
2955
2956         * sh.h (OVERRIDE_OPTIONS): For TARGET_SHMEDIA, the minimum value
2957         for align_jumps is 4.
2958
2959         (SECONDARY_INPUT_RELOAD_CLASS): If reloading a PLUS into FPUL,
2960         use GENERAL_REGS.
2961
2962 2003-03-05  Stephane Carrez  <stcarrez@nerim.fr>
2963
2964         * config/m68hc11/m68hc11.h (PAD_VARARGS_DOWN): Define and return
2965         according to va_arg type.
2966         (EXPAND_BUILTIN_VA_ARG): Remove.
2967         * config/m68hc11/m68hc11.c (m68hc11_va_arg): Remove.
2968         * config/m68hc11/m68hc11-protos.h (m68hc11_va_arg): Remove.
2969
2970 2003-03-05  David Edelsohn  <edelsohn@gnu.org>
2971
2972         * config/rs6000/rs6000.c (rs6000_variable_issue): Remove unnecessary
2973         else clauses.
2974
2975 2003-03-05  Michael Matz  <matz@suse.de>
2976
2977         * i386/i386.c (ix86_save_reg): Also test
2978         current_function_uses_const_pool.
2979
2980 2003-03-05  Michael Matz  <matz@suse.de>
2981
2982         * unwind.h: Add the GPL exception.
2983         * Makefile.in (USER_H): Add unwind.h.
2984
2985 2003-03-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
2986
2987         PR c/9799
2988         * c-typeck.c (push_init_level): Add sanity check.
2989
2990 2003-03-05  Jan Hubicka  <jh@suse.cz>
2991
2992         * toplev.c (rest_of_compilation):  Deffer RTL compilation only when
2993         RTL inlining is done.
2994
2995         * cgraphunit.c (cgraph_mark_local_functions): New local function.
2996         (cgraph_optimize): Mark local functions.
2997         * i386-protos.h (init_cumulative_args): Update prototype.
2998         * i386.c (init_cumulative_args): Use register passing convention for
2999         local functions.
3000
3001         * cgraph.c (cgraph_global_info_ready): New global variable
3002         (cgraph_local_info, cgraph_global_info): New functions.
3003         * cgraph.h (struct cgraph_local_info, cgraph_global_info): New
3004         structures.
3005         (cgraph_local_info, cgraph_global_info, cgraph_global_info_ready):
3006         Declare.
3007         * cgraphunit.c (cgraph_finalize_function): Set inline_many.
3008         (cgraph_mark_functions_to_output): Use inline_many.
3009         (cgraph_expand_function): Free DECL_SAVED_TREE uncondtionally.
3010         (cgraph_expand_functions): Expand inline functions last.
3011         (cgraph_optimize): Do not emit uneeded functions.
3012
3013 2003-03-04  Steve Ellcey  <sje@cup.hp.com>
3014
3015         * expr.c (convert_modes): Check for legal hard register.
3016
3017 2003-03-04  Tom Tromey  <tromey@redhat.com>
3018
3019         * doc/sourcebuild.texi (Front End Directory): Document tags.
3020         * configure: Rebuilt.
3021         * configure.in (target_list): Added tags.
3022         * Makefile.in (TAGS): Depend on lang.clean.  Include subdirectory
3023         TAGS files by reference.
3024         * objc/Make-lang.in (objc.tags): New target.
3025
3026 2003-03-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3027
3028         * gcov-io.h (gcov_save_position, gcov_reserve_length, gcov_resync,
3029         gcov_skip, gcov_skip_string, gcov_write_unsigned, gcov_write_counter,
3030         gcov_write_string, gcov_read_unsigned, gcov_read_counter,
3031         gcov_read_string, gcov_write_length): Modified to enable reading/
3032         writing of whole .da file just once.
3033         (da_file_open, da_file_close, da_file_eof, da_file_error,
3034         da_file_position, da_file_seek, da_file_write, da_file_read): New
3035         functions.
3036         (actual_da_file, actual_da_file_position, actual_da_file_length,
3037         actual_da_file_buffer, actual_da_file_buffer_size): New static
3038         functions.
3039         * libgcov.c (gcov_exit): Modified to read/write the whole .da file at
3040         just once.
3041
3042
3043 2003-03-04  Andreas Schwab  <schwab@suse.de>
3044
3045         * config/m68k/m68k.c (m68k_output_function_prologue): Fix CFA
3046         offset without frame pointer.
3047
3048 2003-03-04  Steve Ellcey  <sje@cup.hp.com>
3049
3050         * expr.c (expand_expr): Call promote_mode to set unsignedp.
3051
3052 2003-03-04  Daniel Jacobowitz  <drow@mvista.com>
3053
3054         * configure.in: Don't always define TARGET_SYSTEM_ROOT.
3055         * configure: Regenerated.
3056         * gcc.c: Check whether TARGET_SYSTEM_ROOT is defined.
3057
3058 2003-03-04  Andreas Jaeger  <aj@suse.de>
3059
3060         * configure.in: Check for <memcheck.h>.
3061         * configure: Regenerated.
3062
3063         * config.in: Define HAVE_MEMCHECK_H.
3064
3065         * ggc-common.c: Use <memcheck.h> if available instead of
3066         <valgrind.h>.
3067         * ggc-page.c: Likewise.
3068         * cppfiles.c: Likewise.
3069
3070 2003-03-04  Kazu Hirata  <kazu@cs.umass.edu>
3071
3072         * config/h8300/h8300.md (*extzv_8_8): Fix cc and lengths.
3073
3074 2003-03-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
3075
3076         PR c/9262
3077         * c-typeck.c (do_case): Attach the first case label to the SWITCH_BODY.
3078         (c_finish_case): Rechain the next statements to the SWITCH_STMT.
3079
3080 2003-03-04  Jan Hubicka  <jh@suse.cz>
3081
3082         * doc/invoke.texi:  Document that unit-at-a-time is enabled for -O3
3083         * toplev.c (parse_options_and_default_flags): Enable flag_unit_at_a_time
3084         for -O3.
3085
3086 2003-03-04  Nathanael Nerode  <neroden@gcc.gnu.org>
3087
3088         * configure.in: Delete three unused variables.  Move a variable
3089         definition closer to its use.  Simplify use_collect2 logic.  Start to
3090         organize.  Simplify tests for in-tree gas and ld.
3091         * configure: Regenerate.
3092
3093 2003-03-04  Neil Booth  <neil@daikokuya.co.uk>
3094
3095         * Makefile.in: Update.
3096         * c-common.c (flag_no_line_commands, flag_no_output,
3097         flag_dump_macros, flag_dump_includes): New.
3098         * c-common.h (flag_no_line_commands, flag_no_output,
3099         flag_dump_macros, flag_dump_includes, preprocess_file): New.
3100         (init_c_lex): Update prototype.
3101         * c-lex.c (init_c_lex): Update prototype; move some code to
3102         c_common_init.
3103         * c-opts.c (preprocess_file): Subsume into c_common_init.
3104         (c_common_decode_option): Update flags.
3105         (c_common_init): Move code from preprocess_file and init_c_lex.
3106         (sanitize_cpp_opts): Update.
3107         * c-ppoutput.c: New, cppmain.c almost verbatim.
3108         * cpphash.h (struct printer): Remove.
3109         (struct cpp_reader): Remove print.
3110         * cpplib.h (dump_none, dump_only, dump_names, dump_definitions,
3111         cpp_preprocess_file): Remove.
3112         (struct cpp_options): Remove no_output, no_line_commands, dump_macros
3113         and dump_includes.
3114         * cppmain.c: Remove.
3115         * doc/passes.texi: Update.
3116
3117 2003-03-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3118
3119         * function.c (STACK_ALIGNMENT_NEEDED): New macro.  Default to 1.
3120         (assign_stack_local_1): Perform overall stack alignment only when
3121         STACK_ALIGNMENT_NEEDED is non-zero.
3122         * doc/tm.texi (STACK_ALIGNMENT_NEEDED): Document.
3123
3124         * pa.c (compute_frame_size): Rename fsize to size.  Account for
3125         alignment to a word boundary before general register save block.  Only
3126         account for double-word alignment before floating point register save
3127         block if one or more are saved.  Don't allocate space for %r3 when
3128         frame pointer is needed.
3129         (hppa_expand_prologue): Include alignment to word boundary in local
3130         frame size.
3131         * pa.h (STARTING_FRAME_OFFSET): Define to 8 on both 32 and 64-bit ports.
3132         (STACK_ALIGNMENT_NEEDED): Define.
3133
3134 2003-03-04  Kevin Buettner  <kevinb@redhat.com>
3135
3136         * dwarf2out.c (rtl_for_decl_location): Don't return NULL_RTX for
3137         global register variables.
3138
3139 2003-03-04  Alexandre Oliva  <aoliva@redhat.com>
3140
3141         * reload.c (reload_adjust_reg_for_mode): New function.
3142         (subst_reloads): Call it.
3143         (operands_match_p): Adjust registers using HARD_REGNO_NREGS.
3144         * reload.h (reload_adjust_reg_for_mode): Declare.
3145         * reload1.c (emit_input_reload_insns, emit_output_reload_insns):
3146         Call it.
3147
3148 2003-03-03  James E Wilson  <wilson@tuliptree.org>
3149
3150         * optabs.c (add_equal_note): Delete SUBREG_REG use.
3151         Fixes PR c/7872.
3152
3153 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
3154
3155         * config/h8300/h8300.md (*ixorsi3_ashift_16): New.
3156         (*ixorsi3_lshiftrt_16): New.
3157         (*iorsi3_ashift_16): Remove.
3158
3159 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
3160
3161         * config/h8300/h8300.md (*extzv_8_8): Use '?' to simplify the
3162         pattern.
3163
3164 2003-03-03  Geoffrey Keating  <geoffk@apple.com>
3165
3166         * doc/install.texi (Specific): Update entry for powerpc-darwin.
3167
3168 2003-03-03  Richard Henderson  <rth@redhat.com>
3169
3170         * config/ia64/ia64.h (HAVE_AS_LTOFFX_LDXMOV_RELOCS): Default to 0.
3171
3172 2003-03-03  David Edelsohn  <edelsohn@gnu.org>
3173
3174         * config/rs6000/rs6000.c (rs6000_multipass_dfa_lookahead): Delete.
3175         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Delete.
3176         (rs6000_variable_issue): Do not return negative value.
3177         (rs6000_issue_rate): Uniformly set issue rate to 1 for first
3178         scheduling pass.
3179
3180 2003-03-03  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3181
3182         * dwarf2out.c (dwarf2out_finish): Swap order of break_out_includes and
3183         prune_unused_types calls.
3184
3185 2003-03-03  Jason Merrill  <jason@redhat.com>
3186
3187         * tree-inline.c (find_builtin_longjmp_call): Save and restore
3188         lineno and input_filename.
3189         (find_alloca_call): Likewise.
3190         (inlinable_function_p): Run the langhook earlier.
3191
3192         * calls.c (compute_argument_addresses): Give the new MEMs a
3193         minimum alignment of PARM_BOUNDARY.
3194
3195 2003-03-03  J"orn Rennecke <joern.rennecke@superh.com>
3196
3197         * config/sh/sh.h (EXTRA_SPECS): Add subtarget_asm_relax_spec and
3198         subtarget_asm_isa_spec.
3199         (SUBTARGET_ASM_RELAX_SPEC, SUBTARGET_ASM_ISA_SPEC): Define.
3200         (ASM_SPEC): Define as SH_ASM_SPEC.
3201         (SH_ASM_SPEC): New; take the role of ASM_SPEC, but safe from svr4.h.
3202         Use subtarget_asm_relax_spec and subtarget_asm_isa_spec.
3203         * config/sh/elf.h (ASM_SPEC): Use SH_ASM_SPEC.
3204         (SUBTARGET_ASM_ISA_SPEC): Undef / define.
3205
3206         * sh.h (OVERRIDE_OPTIONS): Set default values for align_loops
3207         and align_jumps if not set.
3208         Force align_jumps to be at least 2.
3209         When relaxing, force align_functions to be at least the maximum of
3210         align_loops, align_jumps and 4.
3211         * sh.c (find_barrier, barrier_align): Honour align_jumps_log.
3212         (sh_loop_align): Honour align_loops_log.
3213
3214         * sh.md (length attribute): Use prev_nonnote_insn instead of PREV_INSN
3215         to check for indirect_jump_scratch.
3216         (indirect_jump_scratch): Add second set.
3217         * sh.c (output_far_jump): Use prev_nonnote_insn instead of PREV_INSN
3218         when looking for indirect_jump_scratch.
3219         Extract scratch register taking new structure of indirect_jump_scratch
3220         into account.
3221         (gen_block_redirect): Set INSN_SCOPE for indirect_jump_scratch.
3222
3223 2003-03-03  Jan Hubicka  <jh@suse.cz>
3224
3225         * calls.c (rtx_for_function_call): Take the address as an argument
3226         (expand_call): Do not modify the expression.
3227
3228         * toplev.c (rest_of_compilation):  Avoid cfg_cleanup calls when not
3229         optimizing.
3230
3231 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
3232
3233         * config/h8300/h8300.md (*ixorsi3_zext_hi): Restrict to
3234         TARGET_H8300H and TARGET_H8300S.
3235
3236 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
3237
3238         * config/h8300/h8300.md (a peephole2): New.
3239
3240 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
3241
3242         * config/h8300/h8300.md (*extzv_8_8): Use shorter code when
3243         operands[0] and operands[1] are different.
3244
3245 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
3246
3247         * reload1.c (reload_cse_move2add): Remove variable success.
3248
3249 2003-03-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3250
3251         * ggc-common.c (ggc_rlimit_bound): Cast RLIM_INFINITY to avoid
3252         warnings.
3253
3254 2003-03-02  Richard Henderson  <rth@redhat.com>
3255
3256         * configure.in (HAVE_AS_LTOFFX_LDXMOV_RELOCS): New ia64 test.
3257         * config.in, configure: Rebuild.
3258         * config/ia64/ia64.c (ia64_ld_address_bypass_p): Accept lo_sum.
3259         * config/ia64/ia64.md (load_symptr): Use high/lo_sum for the
3260         paired ldtoffx and ldxmov annotations.
3261         (load_symptr_internal1): Remove.
3262         (load_symptr_high, load_symptr_low): New.
3263
3264 2003-03-02  Neil Booth  <neil@daikokuya.co.uk>
3265
3266         * c-incpath.c (add_path): Fix sysp assignment.
3267
3268 2003-03-02  Kurt Garloff  <garloff@suse.de>
3269
3270         * params.def: Introduce parameter max-inline-insns-rtl for
3271         a separate limit for the RTL inliner.
3272         * params.h: Likewise.
3273         * integrate.c (function_cannot_inline_p): Use it.
3274         * toplev.c (decode_f_option): Set multiple parameters
3275         controlling inlining with -finline-limit.
3276         * params.def: Fix orthographic and typographic errors.
3277         * doc/invoke.texi: Document parameters controlling inlining
3278         and the way -finline-limit sets multiple of them.
3279
3280         * tree.h (struct tree_decl): Introduce inlined_function_flag,
3281         recording whether the function became eligible for inlining
3282         by a compiler flag rather than the declaration.
3283         Provide DID_INLINE_FUNC macro to access it.
3284         * c-decl.c (grokdeclarator): Set DID_INLINE_FUNC.
3285         * cp/decl.c (grokfndecl): Likewise.
3286         * toplev.c (rest_of_compilation): Likewise.
3287         * cp/optimize (maybe_clone_body): Copy DID_INLINE_FUNC.
3288         * print-tree.c (print_node): Report it.
3289         * params.def: Introduce new max-inline-insns-auto limit.
3290         * params.h: Likewise.
3291         * tree-inline.c (inlinable_function_p): Apply it to functions
3292         with DID_INLINE_FUNC set.
3293         * toplev.c (decode_f_option): Initialize it from -finline-limit
3294         value.
3295         * doc/invoke.texi: Document new parameter.
3296
3297 2003-03-02  Geoffrey Keating  <geoffk@apple.com>
3298
3299         * fix-header.c (read_scan_file): Don't reference simplify_path.
3300
3301 2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
3302
3303         * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't enable
3304         min/max instructions by default as may result in reload errors.
3305
3306 2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
3307
3308         * config/m68hc11/m68hc11.md ("mulqi3"): Allow address register to
3309         avoid reload problems; define split for it.
3310
3311 2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
3312
3313         * config/m68hc11/m68hc11.c (m68hc11_shift_operator): New function.
3314         * config/m68hc11/m68hc11-protos.h (m68hc11_shift_operator): Declare.
3315         * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register.
3316         * config/m68hc11/m68hc11.md ("rotrhi3", "rotlhi3"): New patterns for
3317         rotatert and rotate.
3318         ("rotrhi3_const", "rotlhi3_const"): Rename of old 'rotrhi3' insns.
3319         ("*rotrhi3", "*rotlhi3"): New insn pattern for non-const rotatert.
3320         ("*rotrhi3_addr"): New split for shift insns on address register.
3321         ("*lshrhi3", "*ashrhi3", "*ashlhi3_2"): Use new split.
3322         * config/m68hc11/larith.asm (___rotlhi3): New asm function.
3323         (___rotrhi3): Likewise.
3324         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build them.
3325
3326 2003-03-02  Neil Booth  <neil@daikokuya.co.uk>
3327
3328         * toplev.c (aux_base_name): Moved from toplev.h.
3329         (filename): Constify.
3330         (lang_dependent_init): Don't duplicate name.
3331         (process_options): Set aux_base_name here, not...
3332         (do_compile): ...here.  Change protoype.
3333         (toplev_main): Move some code from do_compile.
3334         * toplev.h: Remove aux_base_name.
3335
3336 2003-03-02  Kazu Hirata  <kazu@cs.umass.edu>
3337
3338         * config/h8300/h8300-protos.h: Add a prototype for
3339         iorxor_operator.
3340         * config/h8300/h8300.c (print_operand): Handle 'c'.
3341         (iorxor_operator): New.
3342         * config/h8300/h8300.h (PREDICATE_CODES): Add iorxor_operator.
3343         * config/h8300/h8300.md (*iorhi3_zext): Remove.
3344         (*iorsi3_zexthi): Likewise.
3345         (*iorsi3_zextsi): Likewise.
3346         (*xorhi3_zextqi): Likewise.
3347         (*xorsi3_zexthi): Likewise.
3348         (*xorsi3_zextsi): Likewise.
3349         (*ixorhi3_zext): New.
3350         (*ixorsi3_zext_qi): Likewise.
3351         (*ixorsi3_zext_hi): Likewise.
3352
3353 2003-03-02  Neil Booth  <neil@daikokuya.co.uk>
3354
3355         * c-incpath.c (remove_component_p, simplify_path): Move back to
3356         cppfiles.c.
3357         (remove_duplicates): Use cpp_simplify_path.
3358         * c-incpath.h (simplify_path): Remove.
3359         * c-lex.c: Don't include c-incpath.h.
3360         (init_c_lex): Remove simplify_path.
3361         * cppfiles.c (remove_component_p, cpp_simplify_path): Restore.
3362         (find_or_create_entry, validate_pch): Revert.
3363
3364 2003-03-02  Ashif Harji  <asharji@uwaterloo.ca>
3365
3366         * gcc.c (default_compilers): Add -no-integrated-cpp flag to invoke
3367           an external cpp during compilation.
3368         (option_map): Likewise.
3369         * objc/lang-specs.h (default_compilers): Similarly.
3370         * doc/invoke.texi: Document -no-integrated-cpp flag.
3371
3372 2003-03-02  Kazu Hirata  <kazu@cs.umass.edu>
3373
3374         * config/h8300/h8300.md (zero_extendqisi2): Change to an
3375         expander.
3376         (*zero_extendqisi2_h8300): New.
3377         (*zero_extendqisi2_h8300hs): New.
3378         (two splitters): New.
3379
3380 2003-03-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3381
3382         * fp-bit.h (float_to_usi): Fix condition wrapping prototype.
3383
3384 2003-03-01  Kazu Hirata  <kazu@cs.umass.edu>
3385
3386         * config/h8300/h8300.md (a peephole2): Remove dead code.
3387
3388 2003-03-01  Roger Sayle  <roger@eyesopen.com>
3389
3390         PR c++/9367
3391         * builtin-types.def (DEF_FUNCTION_TYPE_VAR_3): New macro.
3392         (BT_FN_INT_CONST_STRING_VALIST_ARG,
3393         BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
3394         BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
3395         BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
3396         BT_FN_INT_STRING_CONST_STRING_VAR,
3397         BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
3398         BT_FN_INT_STRING_SIZE_CONST_STRING_VAR): New built-in types.
3399         * builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2,
3400         ATTR_NONNULL_3): Also include the nothrow attribute.
3401         (sprintf, scanf, sscanf, vprintf, vsprintf, snprintf,
3402         vsnprintf, vscanf, vsscanf): Don't define attributes here.
3403         * builtins.def (putchar, puts): Make full C89 built-ins.
3404         (snprintf, sprintf, scanf, sscanf, vprintf, vscanf,
3405         vsscanf, vsnprintf, vsprintf): New built-ins.
3406         * c-common.c (c_common_nodes_and_builtins): Handle new macro
3407         DEF_FUNCTION_TYPE_VAR_3.
3408
3409         * doc/extend.texi: Document these new built-in functions.
3410
3411 2003-03-01  Kazu Hirata  <kazu@cs.umass.edu>
3412
3413         * config/h8300/h8300.md (a peephole2): New.
3414
3415 2003-03-01  Richard Earnshaw  <rearnsha@arm.com>
3416
3417         * predict.c (estimate_bb_frequencies): Correctly set
3418         real_values_initialized after initialization.
3419
3420 2003-03-01  Neil Booth  <neil@daikokuya.co.uk>
3421
3422         * Makefile.in (C_AND_OBJC_OBJS, c-incpath.o, c-lex.o, LIBCPP_OBJS,
3423         cppinit.o, cppdefault.o, fix-header): Update.
3424         * c-incpath.c: New file.
3425         * c-incpath.h: New file.
3426         * c-lex.c: Include c-incpath.h.
3427         (init_c_lex): Register path simplifier.
3428         * c-opts.c: Include cppdefault.h and c-incpath.h.
3429         (TARGET_SYSTEM_ROOT, verbose, iprefix, sysroot, std_inc,
3430         std_cxx_inc, quote_chain_split, add_prefixed_path): New.
3431         (COMMAND_LINE_OPTIONS): Add more options from cpplib.
3432         (missing_arg, c_common_decode_option): Handle them.
3433         (c_common_post_options): Register include chains.
3434         (print_help): Update.
3435         * cppdefault.h (struct default include): Update.
3436         Move some macros to ...
3437         * cppdefault.c: ... here.
3438         (cpp_include_defaults): Add extra field add_sysroot.
3439         * cppfiles.c (include_file, search_from, find_or_create_entry,
3440         cpp_included, find_include_file, remap_filename): Update for
3441         renaming of search_path to cpp_path, and of the chain headers.
3442         (remove_component_p, _cpp_simplify_pathname): Move to c-incpath.c.
3443         * cpphash.h (struct search_path): Move to cpplib.h.
3444         (struct cpp_buffer, struct cpp_reader): Update.
3445         (_cpp_simplify_pathname): Remove.
3446         * cppinit.c: Don't include prefix.h and cppdefault.h.
3447         (INO_T_EQ, INO_T_COPY, path_include, append_include_chain,
3448         remove_dup_dir, remove_dup_nonsys_dirs, remove_dup_dirs,
3449         init_standard_includes, BRACKET, SYSTEM, AFTER, no_dir,
3450         no_pth, cpp_handle_options): Remove.
3451         (struct pending_option): Remove chain members.
3452         (cpp_destroy, cpp_read_main_file, COMMAND_LINE_OPTIONS,
3453         cpp_handle_option): Update.
3454         * cpplib.h (struct cpp_path, cpp_set_include_chains): New.
3455         (struct cpp_options): Remove quote_include, bracket_include,
3456         include_prefix, include_prefix_len, verbose, ignore_srcdir,
3457         no_standard_includes, no_standard_cplusplus_includes.
3458         (struct cpp_callbacks): Add simplify_path.
3459         (cpp_handle_options): Remove.
3460         * fix-header.c: Include c-incpath.h.
3461         (read_scan_file): Update to use c-incpath functionality.
3462         * doc/passes.texi: Update.
3463
3464 2003-03-01  Kazu Hirata  <kazu@cs.umass.edu>
3465
3466         * config/h8300/h8300.c (bit_operand): Accept MEM only if it
3467         satisfies EXTRA_CONSTRAINT 'U'.
3468
3469 2003-03-01  Kazu Hirata  <kazu@cs.umass.edu>
3470
3471         * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Take a scratch
3472         register.
3473         (*tst_extzv_memqi_1_n): Change to a splitter.
3474         (a peephole2): Update.
3475
3476 2003-03-01  Richard Earnshaw  <rearnsha@arm.com>
3477
3478         * predict.c (estimate_bb_frequencies): Initialize the sreal
3479         constants once per compilation.
3480
3481 2003-02-28  Richard Henderson  <rth@redhat.com>
3482
3483         * toplev.c (flag_eliminate_unused_debug_types): Enable by default.
3484
3485 2003-02-28  scott snyder  <snyder@fnal.gov>
3486
3487         * flags.h: Add flag_eliminate_unused_debug_types.
3488         * toplev.c: Add flag_eliminate_unused_debug_types.
3489         (f_options): Add -feliminate-unused-debug-types.
3490         * dwarf2out.c (struct file_table): Add emitted member.
3491         (splice_child_die): Fix the parent pointer for the child being
3492         spliced.
3493         (lookup_filename): Maintain file_table.emitted array.  Don't
3494         output .file directive here.
3495         (maybe_emit_file): (new)
3496         (init_file_table): Set up file_table.emitted.
3497         (dwarf2out_source_line): Use maybe_emit_file.
3498         (dwarf2out_start_source_file): Use maybe_emit_file.
3499         (dwarf2out_init): Use maybe_emit_file.
3500         (prune_unused_types_walk_attribs): (new)
3501         (prune_unused_types_mark): (new)
3502         (prune_unused_types_walk): (new)
3503         (prune_unused_types_prune): (new)
3504         (prune_unused_types): (new)
3505         (dwarf2out_finish): Call prune_unused_types if
3506         flag_eliminate_unused_debug_types is set.
3507         * doc/invoke.texi (Option Summary): Add
3508         -feliminate-unused-debug-types.
3509         (Debugging Options): Likewise.
3510
3511 2003-02-28  Geoffrey Keating  <geoffk@apple.com>
3512
3513         * doc/invoke.texi: Change .pch to .gch.
3514         * cppfiles.c (open_file_pch): Likewise.
3515         * gcc.c (default_compilers): Likewise.
3516
3517 2003-02-28  Aldy Hernandez  <aldyh@redhat.com>
3518
3519         * floatlib.c: Remove.
3520
3521 2003-02-28  Jason Merrill  <jason@redhat.com>
3522
3523         * stor-layout.c (variable_size): Leave a "minus 1" outside the
3524         SAVE_EXPR.
3525
3526 2003-02-28  David Edelsohn  <edelsohn@gnu.org>
3527
3528         * config/rs6000/power4.md: Add compare bypass.
3529
3530 2003-02-28  Jason Thorpe  <thorpej@wasabisystems.com>
3531
3532         * config/netbsd.h: Update copyright years.
3533         (NETBSD_CPP_SPEC): Define _REENTRANT and _PTHREADS if
3534         -pthread is specified on the command line.
3535
3536 2003-02-28  Dale Johannesen <dalej@apple.com>
3537
3538         * loop.c (struct movable): Add insert_temp, shrink savemode.
3539         (scan_loop): Accept invariants that require copying; mark as
3540         insert_temp.
3541         (combine_movables): Don't combine insert_temp movables.
3542         (move_movables): Insert copies for insert_temp movables.
3543         Don't record the info based on regno for insert_temp's.
3544
3545 2003-02-28  Joel Sherrill <joel@OARcorp.com>
3546
3547         PR 9638/other
3548         * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Ensure the
3549         this constant defaults to 1.
3550
3551 2003-02-28  Bob Wilson  <bob.wilson@acm.org>
3552
3553         * config.gcc (xtensa-*-linux*): Add t-slibgcc-elf-ver to tmake_file.
3554
3555 2003-02-28  Richard Earnshaw  <rearnsha@arm.com>
3556
3557         * arm.md (mulhisi3, mulhisi3addsi, mulhidi3adddi): Enable for any
3558         ARMv5e processor, not just for XScale.  Instructions are predicable.
3559         (mulhisi3tb, mulhisi3bt, mulhisi3tt): New patterns for ARMv5e.
3560
3561 2003-02-28  Nick Clifton  <nickc@redhat.com>
3562
3563         * config/arm/arm.c (note_invalid_constants): Change parameter type
3564         from bool to int.
3565
3566 2003-02-28  Kazu Hirata  <kazu@cs.umass.edu>
3567
3568         * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Accept the
3569         test of bit 7.
3570         (*tst_extzv_memqi_1_n): Likewise.
3571         (a peephole2): New.
3572
3573 2003-02-28  Richard Sandiford  <rsandifo@redhat.com>
3574
3575         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Wrap in
3576         #ifndef __mips16.
3577
3578 2003-02-28  Jan Hubicka  <jh@suse.cz>
3579
3580         * combine.c (gen_lowpart_for_combine): Update handling of
3581         subregs_of_mode
3582         * flow.c (life_analysis, mark_used_regs): Likewise.
3583         * regclass.c (subregs_of_mode): Turn into single bitmap.
3584         (cannot_change-mode_set_regs, invalid_mode_change_p): Update
3585         dealing with subregs_of_mode
3586         * regs.h (subregs_of_mode): Update prototype.
3587
3588 2003-02-28  Josef Zlomek  <zlomekj@suse.cz>
3589
3590         * emit-rtl.c (set_reg_attrs_for_parm): New function.
3591         * rtl.h (set_reg_attrs_for_parm): New exported function.
3592         * function.c (assign_parms): Use set_reg_attrs_for_parm instead of
3593         set_reg_attrs_from_mem.
3594
3595 2003-02-27  Roger Sayle  <roger@eyesopen.com>
3596             Zack Weinberg <zack@codesourcery.com>
3597
3598         * gcc.c (do_spec_1):  Treat %U like %u for unique associations.
3599
3600 2003-02-27  Kazu Hirata  <kazu@cs.umass.edu>
3601
3602         * reload1.c (sext_for_mode): Remove.
3603         (reload_cse_move2add): Use trunc_int_for_mode instead of
3604         sext_for_mode.
3605         (move2add_note_store): Likewise.
3606         Reset register information if we see a set in non-integer
3607         mode.
3608
3609 2003-02-27  David Edelsohn  <edelsohn@gnu.org>
3610
3611         * config/rs6000/aix43.h (ASM_SPEC): Only emit -mppc64 if no -mcpu
3612         option.
3613         (ASM_CPU_SPEC): Use -m620 for Power3, Power4, 620, 630.
3614         * config/rs6000/aix51.h: Same.
3615         * config/rs6000/aix52.h: Same.
3616         * config/rs6000/power4.md: Additional VMX bypasses.
3617
3618 2003-02-27   Geert Bosch <bosch@gnat.com>
3619
3620         * toplev.c (print_version): Add indentation for GGC heuristics and
3621         output after printing version information.
3622
3623 2003-02-27  James E Wilson  <wilson@tuliptree.org>
3624
3625         * combine.c (simplify_comparison): Require integral mode when
3626         permuting SUBREG with AND.
3627
3628 2003-02-27  Steve Ellcey  <sje@cup.hp.com>
3629
3630         * config/ia64/hpux.h (STARTFILE_PREFIX_SPEC): Remove.
3631
3632 2003-02-27  Nick Clifton  <nickc@redhat.com>
3633
3634         * config/arm/arm.md (extendsfdf2): Add pattern accidentally
3635         deleted when cirrus instructions were added.
3636
3637 2003-02-27  Jason Thorpe  <thorpej@wasabisystems.com>
3638
3639         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Enable
3640         POSIX thread support by default.
3641
3642 2003-02-27  Roger Sayle  <roger@eyesopen.com>
3643
3644         * config/i386/cygwin.h: Don't include any other files directly.
3645         * config/i386/mingw32.h: Don't include cygwin.h directly.
3646         * config.gcc (cygwin, mingw32, uwin): Instead make these files
3647         explicit in the tm_files variable.
3648
3649 2003-02-27  Alan Modra  <amodra@bigpond.net.au>
3650
3651         * config/rs6000/rs6000.md: Add TI constant splitter.
3652
3653 2003-02-26  Alexandre Oliva  <aoliva@redhat.com>
3654
3655         * builtins.c (purge_builtin_constant_p): Handle subreg of
3656         constant_p_rtx too.
3657
3658         * function.c (assign_stack_local_1): Truncate constant added to
3659         frame_pointer_rtx or virtual_stack_vars_rtx for Pmode.
3660
3661 2003-02-26  David Edelsohn  <edelsohn@gnu.org>
3662
3663         * config.gcc: Add power4 to PowerPC with_cpu list.
3664
3665 2003-02-26  Jan Hubicka  <jh@suse.cz>
3666
3667         * objc-act.c: (mark_referenced_methods): Fix compilation problem.
3668
3669 2003-02-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3670
3671         * gcov-dump.c (print_prefix): Fix signedness warning.
3672         * gcov-io.h (struct counter_section, struct counter_section_data): New.
3673         (struct function_info): n_arc_counts field removed, n_counter_sections,
3674         counter_sections fields added.
3675         (struct gcov_info): arc_counts, n_arc_counts fields removed,
3676         n_counter_sections, counter_sections fields added.
3677         * libgcov.c (gcov_exit, __gcov_flush): Add support for multiple
3678         profile sections.
3679         * profile.h (MAX_COUNTER_SECTIONS): New.
3680         (struct section_info): New.
3681         (struct profile_info): count_instrumented_edges,
3682         count_edges_instrumented_now fields removed, n_sections, section_info
3683         fields added.
3684         (find_counters_section): Declare.
3685         * profile.c (struct function_list): count_edges field removed,
3686         n_counter_sections, counter_sections fields added.
3687         (set_purpose, label_for_tag, build_counter_section_fields,
3688         build_counter_section_value, build_counter_section_data_fields,
3689         build_counter_section_data_value, build_function_info_fields,
3690         build_function_info_value, build_gcov_info_fields,
3691         build_gcov_info_value): New static functions.
3692         (find_counters_section): New function.
3693         (instrument_edges, get_exec_counts, compute_branch_probabilities,
3694         branch_prob, create_profiler): Modified to support multiple profile
3695         sections.
3696
3697 2003-02-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3698
3699         * pa.c (compute_frame_size): Don't assume PREFERRED_STACK_BOUNDARY
3700         is 8 * STACK_BOUNDARY.
3701         * pa.h (PREFERRED_STACK_BOUNDARY): Change to 128 on 64-bit port.
3702
3703 2003-02-26  Michael Matz  <matz@suse.de>
3704
3705         * ra-colorize.c (merge_moves): Fix list handling.
3706
3707 2003-02-26  Nick Clifton  <nickc@redhat.com>
3708
3709         * config/arm/arm.c (is_load_address): Rename to...
3710         (arm_memory_load_p) ... this and make it check for SUBREGs and
3711         constant loads that will be converted into loads from the
3712         minipool.
3713         (is_cirrus_insn): Rename to ...
3714         (arm_cirrus_insn_p): ... this, for consistency.  Replace test
3715         of CIRRUS_NO with CIRRUS_NOT.
3716         (cirrus_reorg): Use renamed functions.
3717         (note_invalid_constants): Change from a void function to bool.
3718         Add an extra parameter, saying whether the fixups should be
3719         pushed.  Return true if fixups are needed.
3720         (arm_reorg): Use renamed functions.  Use INSN_P.  Replace test
3721         of CIRRUS_NO with CIRRUS_NOT.
3722         * config/arm/arm.h (FLOAT_WORDS_BIG_ENDIAN): Mention that
3723         other floating point co-processors can also affect this.
3724         * config/arm/arm.md ("type" attribute): Add mav_farith and
3725         mav_dmult.  Replace references to "cirrus_type" attribute with
3726         "type".
3727         * config/arm/cirrus.md ("cirrus_fpu" attribute): Delete.
3728         ("cirrus_type" attribute): Delete - use "type" instead.
3729         ("cirrus" attribute): Replace 'no' with 'not' and 'yes' with
3730         'normal'.
3731
3732 2003-02-25  Jan Hubicka  <jh@suse.cz>
3733
3734         * objc-act.c: Include cgraph.h
3735         (mark_referenced_methods): New function.
3736         (objc_init): Call it.
3737         * objc-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Set.
3738
3739         * c-decl.c (finish_function): Honor can_defer_p even in unit-at-a-time
3740         mode.
3741
3742         * optabs.c (expand_fix): Do not widen the input operand.
3743
3744         * expr.c (emit_group_store):  Fix crash when converting single
3745         register into complex register.
3746
3747         * Makefile.in (jump.o, regclass.o, alias.o): Add dependency on timevar.h
3748         * alias.c: Include timevar.h
3749         (init_alias_analysis):  Set timevar
3750         * jump.c: Include timevar.h
3751         (rebuild_jump_labels):  Set timevar
3752         * regcalss.c: Include timevar.h
3753         (reg_scan):  Set timevar
3754         * timevar.def (TV_ALIAS_ANALYSIS, TV_REG_SCAN, TV_REBUILD_JUMP): New
3755
3756 2003-02-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3757
3758         * cse.c (count_reg_usage): Fix handling of REG_EQUAL notes.
3759
3760         * Makefile.in (loop-unroll.o): New.
3761         * cfgloop.h (UAP_PEEL, UAP_UNROLL, UAP_UNROLL_ALL): New.
3762         (unroll_and_peel_loops): Declare.
3763         * alias.c (init_alias_analysis): Flag_unroll_loops renamed to
3764         flag_old_unroll_loops.
3765         * loop.c (loop_invariant_p): Ditto.
3766         * unroll.c (unroll_loop): Flag_unroll_all_loops renamed to
3767         flag_old_unroll_all_loops.
3768         * flags.h (flag_unroll_loops): Renamed to flag_old_unroll_loops.
3769         (flag_unroll_all_loops): Renamed to flag_old_unroll_all_loops.
3770         * params.def (PARAM_MAX_UNROLLED_INSNS): Default value changed.
3771         (PARAM_MAX_AVERAGE_UNROLLED_INSNS, PARAM_MAX_UNROLL_TIMES,
3772         PARAM_MAX_PEELED_INSNS, PARAM_MAX_PEEL_TIMES,
3773         PARAM_MAX_COMPLETELY_PEELED_INSNS, PARAM_MAX_COMPLETELY_PEEL_TIMES,
3774         PARAM_MAX_ONCE_PEELED_INSNS): New.
3775         * toplev.h (flag_old_unroll_loops, flag_old_unroll_all_loops): New.
3776         (flag_unroll_loops, flag_unroll_all_loops): Used for new unroller
3777         instead of old one.
3778         (flag_peel_loops): New.
3779         (lang_independent_options): The new flags added.
3780         (rest_of_compilation): Call new unroller.
3781         (process_options): Setup flags for coexistence of old and new unroller.
3782         * doc/invoke.texi: Document new options.
3783         * doc/passes.texi: Document new unroller pass.
3784
3785 2003-02-26  David Billinghurst <David.Billinghurst@riotinto.com>
3786
3787         * fixinc/fixincl.x: Regenerate
3788
3789 2003-02-26  Josef Zlomek  <zlomekj@suse.cz>
3790
3791         * function.c (assign_parms): Set reg_attrs for parameters passed in
3792         registers.
3793
3794 2003-02-26  Alan Modra  <amodra@bigpond.net.au>
3795
3796         PR target/9681
3797         * tlink.c (scan_linker_output): Drop leading '.' from symbol names.
3798
3799 2003-02-25  David Edelsohn  <edelsohn@gnu.org>
3800
3801         * config/rs6000/xcoff.h (ASM_FILE_START): Do not emit machine
3802         pseudo-op.
3803
3804 2003-02-25  Roger Sayle  <roger@eyesopen.com>
3805
3806         * combine.c (combine_simplify_rtx, simplfy_comparison):  Use CC0_P.
3807         * cse.c (invalidate_skipped_set):  Likewise.
3808         * integrate.c (subst_constants):  Likewise.
3809         * jump.c (reversed_comparison_code_parts):  Likewise.
3810         * loop.c (canonicalize_condition):  Likewise.
3811         * simplify-rtx.c (simplify_relational_operation):  Likewise.
3812
3813 2003-02-25  Roger Sayle  <roger@eyesopen.com>
3814
3815         * builtins.def (DEF_LIB_ALWAYS_BUILTIN, DEF_UNUSED_BUILTIN): Delete.
3816         (abs, labs, fabs, fabsf, fabsl, abort, exit, _exit, _Exit):  Use
3817         the appropriate macro to define built-in function.
3818         (fmod,fmodf,fmodl): New built-in functions.
3819
3820         * doc/extend.texi (fmod,fmodf,fmodl): Document new built-ins.
3821
3822 2003-02-25  Richard Henderson  <rth@redhat.com>
3823
3824         * config/i386/i386.c (function_arg): Pass variable sized
3825         structures correctly on the stack.
3826
3827 2003-02-25  Kazu Hirata  <kazu@cs.umass.edu>
3828
3829         * reload1.c (reload_cse_move2add): Use STRICT_LOW_PART if PLUS
3830         does not reduce the cost of SET.
3831
3832 2003-02-25  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3833
3834         PR target/9732
3835         * config/rs6000/rs6000.c (first_reg_to_save): Handle
3836         PIC_OFFSET_TABLE_REGNUM for -fPIC too.
3837         (rs6000_emit_prologue): Likewise.
3838         (rs6000_emit_epilogue): Likewise.
3839         * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Make
3840         PIC_OFFSET_TABLE_REGNUM a fixed register for -fPIC.
3841
3842 2003-02-25  Richard Henderson  <rth@redhat.com>
3843
3844         * real.c (real_to_integer2): Force overflow result only for
3845         unsigned overflow.
3846
3847 2003-02-25  Kazu Hirata  <kazu@cs.umass.edu>
3848
3849         * gcse.c (cprop_jump): Revert the 2003-02-23 change.
3850
3851 2003-02-25  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
3852             Richard Henderson  <rth@redhat.com>
3853
3854         * sched-ebb.c (add_deps_for_risky_insns): Add the dependence when
3855         there is no similar load.
3856
3857 2003-02-25  Vladimir Makarov  <vmakarov@redhat.com>
3858             Richard Henderson  <rth@redhat.com>
3859
3860         * sched-int.h (INSN_TRAP_CLASS, WORST_CLASS): Move them from
3861         sched-rgn.c.
3862         (add_forward_dependence): New function prototype.
3863
3864         * sched-rgn.c (INSN_TRAP_CLASS, WORST_CLASS): Move them to
3865         sched-init.h.
3866         (CONST_BASED_ADDRESS_P, may_trap_exp, haifa_classify_insn): Move
3867         them to haifa-sched.c.
3868
3869         * haifa-sched.c (CONST_BASED_ADDRESS_P, may_trap_exp,
3870         haifa_classify_insn): Move them from sched-rgn.c.
3871
3872         * sched-deps.c (add_dependence): Return flag of creating a new
3873         entry.
3874         (add_forward_dependence): New function.
3875         (compute_forward_dependences): Use the function.
3876
3877         * sched-ebb.c (earliest_block_with_similiar_load): New function.
3878         (add_deps_for_risky_insns): New function.
3879         (schedule_ebb): Call the function.
3880
3881 2003-02-20  Aldy Hernandez  <aldyh@redhat.com>
3882
3883         * doc/tm.texi: Document Rename TARGET_VECTOR_TYPES_COMPATIBLE to
3884         TARGET_VECTOR_OPAQUE_P.  Document accordingly.
3885
3886         * testsuite/gcc.dg/20030218-1.c: Check that initialization of
3887         opaque types fail.
3888
3889         * c-typeck.c (comptypes): Change call to vector_types_compatible
3890         to vector_opaque_p.
3891         (convert_for_assignment): Call vector_opaque_p instead of
3892         vector_types_compatible.
3893         (really_start_incremental_init): Disallow initialization of opaque
3894         types.
3895
3896         * target-def.h: Remove TARGET_VECTOR_TYPES_COMPATIBLE.
3897         Define TARGET_VECTOR_OPAQUE_P.
3898         (TARGET_INITIALIZER): Same.
3899
3900         * target.h (struct gcc_target): Remove vector_types_compatible.
3901         Add vector_opaque_p.
3902
3903         * config/rs6000/rs6000.c (rs6000_spe_vector_types_compatible):
3904         Remove.
3905         (is_ev64_opaque_type): Check for TARGET_SPE and make sure type is
3906         a vector type.  Change return type to bool.
3907         (TARGET_VECTOR_TYPES_COMPATIBLE): Remove.
3908         (TARGET_VECTOR_OPAQUE_P): Define.
3909
3910         * cp/parser.c (cp_parser_init_declarator): Call vector_opaque_p
3911         target hook.
3912         Include target.h.
3913         (cp_parser_init_declarator): Fix typo in function comments.
3914
3915 2003-02-25  Jan Hubicka  <jh@suse.cz>
3916
3917         * Makefile.in (lcm.o):  Add dependency on function.h
3918         * lcm.c (function.h): Include.
3919         * i386.c (machine_function, ix86_stack_locals,
3920         * ix86_save_varrargs_registers) : Move to
3921         ...
3922         * i386.h (machine_function, ix86_stack_locals,
3923         ix86_save_varrargs_registers): ... here; add optimize_mode_switching
3924         (ix86_optimize_mode_switching): New.
3925         * i386.md (fix patterns): Set ix86_optimize_mode_switching
3926
3927 2003-02-25  Nick Clifton  <nickc@redhat.com>
3928
3929         * config/d30v/d30v.c (d30v_init_cumulative_args): Fix typo.  Name
3930         of fourth arg is 'fndecl' not 'indirect'.  Update comment
3931         describing the function's parameters.
3932
3933 2003-02-24  Jan Hubicka  <jh@suse.cz>
3934
3935         * combine.c (simplify_shift_const):  Fix previous patch.
3936
3937 2003-02-24  Jeff Law  <law@redhat.com>
3938
3939         * i386.md (testdi_1_rex64): Discourage reload from using the %eax
3940         alternative.
3941         (testsi_1, testhi_1, testqi_1): Likewise.
3942
3943 2003-02-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3944
3945         * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Rename
3946         __EXTERN_PREFIX to __PRAGMA_EXTERN_PREFIX.
3947         * doc/extend.texi (Tru64 Pragmas): Reflect this.
3948
3949         * fixinc/inclhack.def (alpha___extern_prefix): Indicate #pragma
3950         extern_prefix support for Tru64 UNIX V5 <sys/stat.h>.
3951         * fixinc/fixincl.x: Regenerate.
3952         * fixinc/tests/base/sys/stat.h [ALPHA___EXTERN_PREFIX_CHECK]: New
3953         testcase.
3954         Fixes PR c/5059, c/6126, other/9671.
3955
3956 2003-02-24  Roger Sayle  <roger@eyesopen.com>
3957
3958         * gcc.c (do_spec_1) ['{']:  Handle pending argument upon return
3959         from handle_braces in "%{...}".
3960
3961 2003-02-24  Kaz Kojima  <kkojima@gcc.gnu.org>
3962
3963         * config/sh/sh.c (TARGET_HAVE_TLS): Conditionally define.
3964         (prepare_move_operands): Handle TLS operands.
3965         (tls_symbolic_operand): New.
3966         (nonpic_symbol_mentioned_p): Handle TLS UNSPECs.
3967         (legitimize_pic_address): Do nothing for the TLS symbol.
3968         (sh_encode_section_info): Handle TLS case.
3969         (sh_strip_name_encoding): Drop TLS encoding.
3970         * config/sh/sh-protos.h (tls_symbolic_operand): Add prototype.
3971         * config/sh/sh.h (SH_TLS_ENCODING): Define.
3972         (TLS_SYMNAME_P, STRIP_TLS_ENCODING): Likewise.
3973         (ASM_OUTPUT_LABELREF): Drop TLS encoding.
3974         (OUTPUT_ADDR_CONST_EXTRA): Handle TLS UNSPECs.
3975         * config/sh/sh.md: Define TLS UNSPEC constants.
3976         (type): Add tls_load.
3977         ("tls_global_dynamic", "tls_local_dynamic"): New insns.
3978         ("sym2DTPOFF", "symDTPOFF2reg", "sym2GOTTPOFF"): New expanders.
3979         ("tls_initial_exec"): New insn.
3980         ("sym2TPOFF", "symTPOFF2reg"): New expanders.
3981         ("load_gbr"): New insn.
3982
3983         * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
3984         * configure: Regenerate.
3985
3986 2003-02-24  Alan Modra  <amodra@bigpond.net.au>
3987
3988         PR 9297, PR 9722
3989         * calls.c (store_one_arg): Revert 1999-02-16 change.  Revert
3990         2000-12-17 change.  Pass EXPAND_STACK_PARM to expand_expr.
3991         * expr.h (enum expand_modifier): Define EXPAND_STACK_PARM.
3992         (enum block_op_methods): Reorder for better store_expr optimization.
3993         * expr.c (store_expr): Test bit 1 of "want_value" for call param
3994         stores, test bit 0 for original want_value meaning.  Pass
3995         BLOCK_OP_CALL_PARM to emit_block_move when bit 1 set.  Adjust
3996         recursive calls, and calls to expand_param.
3997         (expand_expr): Handle EXPAND_STACK_PARM modifier.  When cse
3998         expected, set target to 0 rather than to subtarget.  Formatting.
3999
4000 2003-02-23  Kazu Hirata  <kazu@cs.umass.edu>
4001
4002         * gcse.c (cprop_jump): Use the REG_EQUAL note if available.
4003
4004 2003-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4005
4006         * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Document
4007         new default behavior.
4008         * ggc-common.c: Include sys/resource.h.
4009         (ggc_rlimit_bound): New function.
4010         (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Update
4011         defaults to account for rlimits.
4012
4013 2003-02-22  Richard Henderson  <rth@redhat.com>
4014
4015         * i386.c, i386.h (TUNEMASK): Rename from CPUMASK.
4016
4017 2003-02-22  Kelley Cook <kelley@dwhoops.info>
4018
4019         * i386.h, i386.c, i386.md (ix86_tune): Rename from ix86_cpu.
4020         (ix86_tune_string): Rename from ix86_cpu_string.
4021
4022 2003-02-22  Kelley Cook <kelleycook@comcast.net>
4023
4024         * config/i386/i386.c: Replace "mcpu" with "mtune".
4025         * config/i386/i386.h (TARGET_OPTIONS): Likewise.
4026         (CC1_CPU_SPEC): Likewise. New warning for "-mcpu".
4027         * doc/invoke.texi (i386 and x86-64 Options): Replace "mcpu"
4028         with "mtune".  Note that "mcpu" is a deprecated synonym for "mtune".
4029
4030 2003-02-23  Andreas Schwab  <schwab@suse.de>
4031
4032         * config.gcc: Delete references to m68k/t-linux and
4033         m68k/t-linux-aout.
4034         * config/m68k/t-linux, config/m68k/t-linux-aout: Removed.
4035
4036 2003-02-22  Jan Hubicka  <jh@suse.cz>
4037
4038         * toplev.c (rest_of_compilation):  Apply fotgotten hunk
4039         of track scheduling patch.
4040
4041 2003-02-22  Jan Hubicka  <jh@suse.cz>
4042
4043         * config/linux.h (TARGET_HAS_F_SETLKW): Define.
4044         * config/alpha/linux.h (TARGET_HAS_F_SETLKW): Likewise
4045
4046 2003-02-22  Jan Hubicka  <jh@suse.cz>
4047
4048         * c-decl.c (c_expand_body_1): Fix.
4049
4050 2003-02-22  Jan Hubicka  <jh@suse.cz>
4051
4052         * expmed.c (expand_divmod): Undo sign extensions for unsigned operands
4053
4054         * cfgcleanup.c (try_forward_edges):  Don't check loop structures
4055         when not optimizing.
4056         (cleanup_cfg): Do not iterate trought delete_trivially_dead_insns
4057         when not expensive.
4058         * toplev.c (rest_of_compilation):  Duplicate loop headers only when
4059         optimizing;  Delete trivially dead insns early; fix optimize check.
4060
4061         * Makefile.in (c-decl.o, c-objc-common.o, cgraph.o, tree-inline.o): Add
4062         dependency on cgraph.h
4063         * c-decl.c: Include cgraph.h
4064         (finish_function): Update call of tree_inlinable_function_p.
4065         * c-objc-common.c: Include cgraph.h
4066         * cgraph.h: New file.
4067         * cgraphunit.c: New file.
4068         * cgraph.c (cgraph_node, cgraph_edge): Move into cgraph.h
4069         (cgraph_nodes, cgraph_n_nodes): Globalize.
4070         (cgraph_finalize_function, cgraph_finalize_compilation_unit
4071         cgraph_create_edges, cgraph_optimize, cgraph_mark_needed_node):
4072         Move into cgraphunit.c
4073         * tree-inline.c: Include cgraph.h
4074         * tree-inline.c: Include cgraph.h
4075
4076 2003-02-22  Josef Zlomek  <zlomekj@suse.cz>
4077
4078         * config/i386/i386.md: Use gen_lowpart instead of gen_rtx_REG
4079         for copying a register.
4080
4081 2003-02-22  Steven Bosscher  <s.bosscher@student.tudelft.nl>
4082
4083         PR other/3782
4084         * toplev.c (process_options): If flag_detailed_statistics is set,
4085         then set time_report as well.
4086
4087         PR c/8828
4088         * jump.c (never_reached_warning): Don't fall through BARRRIER
4089         insns.  Update comments to reflect what the function really does.
4090
4091 2003-02-21  Roger Sayle  <roger@eyesopen.com>
4092
4093         * fold-const.c (omit_one_operand): No longer static.
4094         * tree.h (omit_one_operand): Prototype here.
4095         (div_and_round_double): Keep fold-const.c prototypes together.
4096         * builtins.c (builtin_mathfn_code): Handle binary built-in