1 Thu Apr 3 22:27:40 CEST 2003 Jan Hubicka <jh@suse.cz>
3 * cfgrtl.c (update_bb_for_insn): Do not set block for barriers.
5 2003-04-03 Eric Botcazou <ebotcazou@libertysurf.fr>
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.
19 2003-04-03 Jason Merrill <jason@redhat.com>
21 * Makefile.in (unstrap): Also remove stage_last.
23 * dwarf2out.c (lookup_filename): Don't check for "<internal>".
24 (dwarf2out_source_line): Don't do anything if line==0.
26 * stor-layout.c (do_type_align): New fn, split out from...
27 (layout_decl): ...here. Do all alignment calculations for
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.
36 Thu Apr 3 18:57:19 CEST 2003 Jan Hubicka <jh@suse.cz>
38 * i386.c (print_operand): Do not bypass output_addr_const at flag_pic.
40 Thu Apr 3 17:08:09 2003 J"orn Rennecke <joern.rennecke@superh.com>
42 * sh.c (sh_function_ok_for_sibcall): Return 0 if the current
43 function is an interrupt handler.
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.
49 2003-04-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
51 * gengtype-lex.l (IWORD): Add CHAR_BITFIELD.
52 * system.h (CHAR_BITFIELD): New.
54 2003-04-03 Kazu Hirata <kazu@cs.umass.edu>
56 * config/h8300/h8300.md (a peephole2): Generalize to accept GT
58 (another peephole2): Likewise.
60 2003-04-03 Nick Clifton <nickc@redhat.com>
62 * config/sparc/sol2-bi.h (ASM_CPU64_DEFAULT_SPEC): Add -TSO.
63 (DEF_ARCH64_SPEC): Likewise.
65 Thu Apr 3 09:53:40 CEST 2003 Jan Hubicka <jh@suse.cz>
67 * i386.c (constant_address_p): Use legitimate_constant_p.
68 (legitimate_address_p): Do not use CONSTANT_ADDRESS_P.
70 2003-04-02 Kazu Hirata <kazu@cs.umass.edu>
72 * config/h8300/h8300-protos.h: Add a prototype for
74 * config/h8300/h8300.c (gtle_operator): New.
75 * config/h8300/h8300.h (PREDICATE_CODES): Add an entry for
77 * config/h8300/h8300.md (a peephole2): Generalize to accept GT
80 2003-04-02 Richard Henderson <rth@redhat.com>
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.
88 Thu Apr 3 00:31:21 CEST 2003 Jan Hubicka <jh@suse.cz>
91 * i386.c (ix86_hard_regno_mode_ok): Return 0 for MMX/SSE registers
92 when MMX/SSE is not available.
94 2003-04-02 Mike Stump <mrs@apple.com>
96 * doc/install.texi (Specific): Update pointers to apple.com.
98 Thu Apr 3 00:18:49 CEST 2003 Jan Hubicka <jh@suse.cz>
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
104 2003-04-02 Kazu Hirata <kazu@cs.umass.edu>
106 * config/h8300/h8300.md (a peephole2): Tighten the condition.
108 2003-04-02 Richard Henderson <rth@redhat.com>
110 * longlong.h (umul_ppmm) [alpha]: Use __builtin_alpha_umulh.
112 2003-04-02 Kazu Hirata <kazu@cs.umass.edu>
114 * config/h8300/h8300.md (a peephole2): New.
116 2003-04-02 Richard Henderson <rth@redhat.com>
118 * except.c (sjlj_find_directly_reachable_regions): Recognize when
119 must-not-throw region has been deleted.
121 2003-04-02 Richard Henderson <rth@redhat.com>
123 * dwarf2out.c (output_call_frame_info): Ignore fde->nothrow as an
124 optimization when flag_exceptions not enabled.
126 2003-04-02 Vladimir Makarov <vmakarov@redhat.com>
128 * config/rs6000/rs6000.c
129 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Redefine the
131 (rs6000_issue_rate): Add case for 8540.
132 (rs6000_use_sched_lookahead): New function.
134 * config/rs6000/8540.md: Rename SIU units into SU ones and MIU
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.
144 2003-04-02 Andreas Schwab <schwab@suse.de>
146 * real.c (decode_ieee_single): Fix decoding of SNaN bit.
148 2003-04-01 Richard Henderson <rth@redhat.com>
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.
163 2003-04-01 David Mosberger <davidm@hpl.hp.com>
165 * config/ia64/crti.asm: Clean up trailing whitespace.
166 Remove trailing hashes (#) from identifiers.
168 * config/ia64/crtn.asm: Ditto.
170 * config/ia64/crtend.asm: Remove trailing hashes (#) from
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.
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
182 (__do_jv_register_classes): Ditto.
183 (.fini_array): Remove "progbits" (newer
184 assemblers don't like wrong section-types).
185 (.init_array): Ditto.
187 2003-04-01 Roger Sayle <roger@eyesopen.com>
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.
195 2003-04-01 Alexandre Oliva <aoliva@redhat.com>
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
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.
226 2003-04-01 Geoffrey Keating <geoffk@apple.com>
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.
232 2003-04-01 Eric Botcazou <ebotcazou@libertysurf.fr>
234 * config/sparc/sparc.c (input_operand): Accept bare
235 CONSTANT_P_RTX operands.
237 2003-04-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
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
245 (store_killed_before, store_killed_after): Take position of register
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
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
258 (compute_store_table, find_moveable_store): ... here.
259 (delete_store): Remove senseless comment.
260 (store_motion): Reorganize.
262 2003-04-01 Kevin Buettner <kevinb@redhat.com>
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.
268 2003-04-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
270 * combine.c (merge_outer_ops): Fix typo.
272 * varasm.c (make_decl_one_only): Revert 2003-03-09 patch.
274 2003-04-01 David Edelsohn <edelsohn@gnu.org>
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.
291 2003-04-01 Ulrich Weigand <uweigand@de.ibm.com>
293 * config/s390/s390.c (s390_fixup_clobbered_return_reg):
294 Do nothing if __builtin_return_address was not used.
296 Tue Apr 1 18:18:23 CEST 2003 Jan Hubicka <jh@suse.cz>
298 * i386.md (test patterns): Allow memory operand in operand1.
300 2003-02-31 Aldy Hernandez <aldyh@redhat.com>
302 * testsuite/gcc.c-torture/execute/simd-3.c: New.
304 * expr.c (expand_expr): Handle VECTOR_CST.
305 (const_vector_from_tree): New.
307 * varasm.c (output_constant): Handle VECTOR_CST.
309 * c-typeck.c (digest_init): Build a vector constant from a
312 * config/rs6000/rs6000.c: Remove prototype for
313 easy_vector_constant.
314 (easy_vector_constant): Add mode parameter. Rewrite to handle
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.
326 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
327 easy_vector_constant, easy_vector_constant_add_self.
328 (EXTRA_CONSTRAINT): Add 'W'.
330 * config/rs6000/rs6000-protos.h: Add prototype for
331 easy_vector_constant, emit_easy_vector_insn.
333 * config/rs6000/altivec.md (xorv8hi3): 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.
343 * config/rs6000/spe.md ("xorv4hi3"): New.
344 ("spe_evxor"): Rename to xorv2si3.
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.
353 2003-03-31 Mark Mitchell <mark@codesourcery.com>
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.
361 2003-03-31 Eric Christopher <echristo@redhat.com>
363 * combine.c (can_combine_p): Allow ZERO_EXTRACT and STRICT_LOW_PART.
364 (combinable_i3pat): Remove call to expand_field_assignment and
367 2003-03-31 Mark Mitchell <mark@codesourcery.com>
370 * c-common.c (finish_label_address_expr): Handle the
373 2003-03-31 Richard Henderson <rth@redhat.com>
375 * real.c (real_identical): Reorg so as to not compare
376 signalling for normals.
378 2003-03-31 Stephane Carrez <stcarrez@nerim.fr>
380 * config/m68hc11/m68hc11.c (hard_reg_operand): Check the mode.
382 2003-03-31 Stephane Carrez <stcarrez@nerim.fr>
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.
388 2003-03-31 Stephane Carrez <stcarrez@nerim.fr>
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.
396 2003-03-31 Jason Merrill <jason@redhat.com>
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
404 2003-03-31 Matt Austern <austern@apple.com>
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.
418 2003-03-31 Kazu Hirata <kazu@cs.umass.edu>
420 * config/h8300/h8300.md (a peephole2): New.
422 2003-03-31 Michael Matz <matz@suse.de>
424 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Change 1 into 0.
426 2003-03-31 Segher Boessenkool <segher@koffie.nl>
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.
433 2003-03-31 Michael Matz <matz@suse.de>
435 * cppexp.c (cpp_classify_number): Accept '.' after "0x".
436 * testsuite/gcc.dg/cpp/c99-hexfloat-3.c: New file.
438 2003-03-31 Nathan Sidwell <nathan@codesourcery.com>
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
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.
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
461 (add_branch_counts): Adjust. Don't count unconditional branches.
462 (add_line_counts): Deal with all-blocks mode, accumulate block
464 (accumulate_line_counts): Adjust, generate local spanning tree for
466 (output_lines): Adjust.
467 * profile.c (branch_prob): Alter GCOV_FUNCTION_TAG record.
468 * doc/gcov.texi: Document.
470 2003-03-31 Kazu Hirata <kazu@cs.umass.edu>
472 * config/h8300/h8300.md: Organize peephole2's that transform
473 (compare (reg:HI) (const_int)).
475 2003-03-31 Roger Sayle <roger@eyesopen.com>
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).
487 2003-03-31 Kazu Hirata <kazu@cs.umass.edu>
489 * config/h8300/h8300.md (a new peephole2): New.
491 2003-03-31 Richard Sandiford <rsandifo@redhat.com>
493 * gcse.c (simple_mem): Return false for floating-point accesses
494 if flag_float_store is true.
496 2003-03-30 Roger Sayle <roger@eyesopen.com>
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.
508 2003-03-30 Matt Kraai <kraai@alumni.cmu.edu>
510 * except.h: Remove definition of varray_type.
512 2003-03-30 Richard Henderson <rth@redhat.com>
514 PR opt/10011, opt/10252:
515 * toplev.c (rest_of_compilation): Run purge_builtin_constant_p
516 before post-gcse cse pass.
518 2003-03-30 Roger Sayle <roger@eyesopen.com>
520 * dojump.c (do_jump): Copy SUBREGs into a pseudo for comparison.
522 2003-03-30 DJ Delorie <dj@redhat.com>
524 * profile.c (instrument_edges): Make sure any newly created
525 jump insns have correct jump label info.
527 2003-03-30 Richard Henderson <rth@redhat.com>
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.
540 2003-03-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
542 * Makefile.in (STRICT_WARN): Don't warn for ISO C constructs.
543 (STRICT2_WARN): Likewise.
545 2003-03-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
548 * collect2.c (collect_wait): Use WCOREDUMP and fix output message.
549 * system.h (WCOREDUMP, WCOREFLG): Define if necessary.
551 2003-03-30 Richard Henderson <rth@redhat.com>
554 * config/alpha/alpha.md (umuldi3_highpart): Change to expander;
555 don't zero_extend const inputs.
557 2003-03-30 Kazu Hirata <kazu@cs.umass.edu>
559 * reload1.c (reload_cse_move2add): Fix a comment typo.
561 2003-03-30 Kazu Hirata <kazu@cs.umass.edu>
563 * config/h8300/h8300.md (a peephole2): Remove useless code.
565 2003-03-29 Kazu Hirata <kazu@cs.umass.edu>
567 * config/h8300/h8300.md (*iorsi3_and_ashift): New.
568 (*iorsi3_and_lshiftrt): Likewise.
569 (*iorsi3_zero_extract): Likewise.
571 2003-03-29 Kazu Hirata <kazu@cs.umass.edu>
573 * config/h8300/h8300.md (*insv_si_8_8): New.
574 (*insv_si_8_8_lshiftrt_8): Likewise.
575 (a peephole2): Likewise.
577 2003-03-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
579 * doc/contrib.texi: Add Eric Botcazou and Roger Sayle.
580 Uniformly use bugfix instead of bug fix.
582 2003-03-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
585 * ONEWS: Remove those items that already appear in the EGCS
586 release notes on our web pages.
588 2003-03-29 Alan Modra <amodra@bigpond.net.au>
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.
594 2003-03-28 Albert Chin-A-Young <china@thewrittenword.com>
596 * gcc/fixinc/inclhack.def: Update solaris_mutex_init_1 to
597 work on Solaris 2.5.1.
599 2003-03-28 Kazu Hirata <kazu@cs.umass.edu>
601 * config/h8300/h8300.md (*addsi3_and_r_1): Put under plus:SI
603 (*addsi3_and_nor_r_1): Likewise.
605 2003-03-29 Ulrich Weigand <uweigand@de.ibm.com>
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.
610 2003-03-29 Alan Modra <amodra@bigpond.net.au>
612 * reload1.c (reload_as_needed): Allow a USE in asm reloads.
614 * loop.c: (find_mem_in_note_1, find_mem_in_note): Comment.
616 2003-03-28 Nathanael Nerode <neroden@gcc.gnu.org>
618 * configure.in: Clarify comments.
619 * configure: Regenerate.
621 2003-03-28 Ulrich Weigand <uweigand@de.ibm.com>
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.
627 2003-03-28 Kazu Hirata <kazu@cs.umass.edu>,
628 Dhananjay Deshpande <dhananjayd@kpit.com>
631 * config/h8300/h8300.c (h8300_initial_elimination_offset):
632 Correct the offset computation when TARGET_NORMAL.
634 2003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
637 * config/sparc/sparc.md (jump pattern): Correct order
638 when issuing the annuling marker.
640 2003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
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.
646 2003-03-28 Alan Modra <amodra@bigpond.net.au>
648 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
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.
658 2003-03-28 Alan Modra <amodra@bigpond.net.au>
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.
665 2003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
666 Richard Henderson <rth@redhat.com>
668 PR target/10114 and PR target/10084
669 * dwarf2out.c (mem_loc_descriptor): Handle LO_SUM.
671 2003-03-27 Richard Henderson <rth@redhat.com>
673 * config/alpha/alpha.md (adddi_er_high_l): Valid only after reload.
675 2003-03-27 Roger Sayle <roger@eyesopen.com>
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.
681 2003-03-27 Janis Johnson <janis187@us.ibm.com>
683 * libgcov.c: Provide only dummy functions if libc is not available.
685 2003-03-27 Richard Henderson <rth@redhat.com>
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.
699 2003-03-27 Olivier Hainque <hainque@act-europe.fr>
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
707 2003-03-27 Glen Nakamura <glen@imodulo.com>
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.
715 2003-03-27 David Mosberger <davidm@hpl.hp.com>
717 * unwind-libunwind.c (uw_frame_state_for): Adjust for libunwind
718 v0.9 API change: replace read of UNW_REG_HANDLER with
720 (_Unwind_GetLanguageSpecificData): Replace read of UNW_REG_LSDA
721 with unw_get_proc_info().
722 (_Unwind_GetRegionStart): Replace UNW_REG_PROC_START with
725 2003-03-27 Vladimir Makarov <vmakarov@redhat.com>
727 * config/rs6000/8540.md: Use presence_set instead of absence_set.
729 2003-03-26 Richard Henderson <rth@redhat.com>
731 * c-decl.c (finish_function): Always defer if DECL_DECLARED_INLINE_P.
733 2003-03-26 Roger Sayle <roger@eyesopen.com>
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.
740 2003-03-26 Ulrich Weigand <uweigand@de.ibm.com>
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.
747 2003-03-26 Vladimir Makarov <vmakarov@redhat.com>
749 * config/rs6000/8540.md: New file.
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.
755 * config/rs6000/rs6000.md: Include 8540.md. Change
756 delayed_compare onto mult_compare for insns generating
758 (mult_compare, fpsimple, brinc, vecdiv, veccmpsimple, vecfdiv):
759 New type attribute values.
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
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
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
774 (cmpsfeq_gpr, cmpsfgt_gpr, cmpsflt_gpr): Use type veccmp instead
776 (tstsfeq_gpr, tstsfgt_gpr, tstsflt_gpr): Use type veccmpsimple
777 instead of fpcompare.
779 2003-03-26 David Edelsohn <edelsohn@gnu.org>
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.
785 2003-03-26 Jakub Jelinek <jakub@redhat.com>
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
793 2003-03-26 Eric Botcazou <ebotcazou@libertysurf.fr>
796 * reload.c (find_reloads_address): Handle
797 (PLUS (PLUS (REG) (REG)) (CONST_INT)) form for
800 2003-03-25 Marcelo Abreu <mmabreu@inf.ufrgs.br>
803 * version.c: Reference the GCC web site in the URL.
805 2003-03-26 Alan Modra <amodra@bigpond.net.au>
807 * c-incpath.c (add_standard_paths): Add both "translated" and
808 non-translated header paths.
810 2003-03-25 Loren James Rittle <ljrittle@acm.org>
812 * doc/install.texi (*-*-freebsd*): Update with known status.
814 2003-03-21 Jason Merrill <jason@redhat.com>
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.
820 2003-03-25 Stephane Carrez <stcarrez@nerim.fr>
822 * doc/contrib.texi (Contributors): Mention self as 68HC11/68HC12
825 Tue Mar 25 20:35:51 CET 2003 Jan Hubicka <jh@suse.cz>
827 * i386.c (ix86_rtx_costs): For -fpic and x86-64 local symbolic
828 constants are not expensive.
830 Mon Mar 24 20:03:03 CET 2003 Jan Hubicka <jh@suse.cz>
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.
837 2003-03-25 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
839 * doc/passes.texi (Passes): Properly document that we do not
840 perform jump2 any longer; remove command-line option -dJ.
842 2003-03-25 Eric Botcazou <ebotcazou@libertysurf.fr>
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
850 2003-03-24 Kazu Hirata <kazu@cs.umass.edu>
852 * config/h8300/h8300.md (a peephole2): Extend to support loads
853 in QImode and HImode.
855 2003-03-24 Stephane Carrez <stcarrez@nerim.fr>
857 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Add _call_far and
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
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.
884 2003-03-24 Neil Booth <neil@daikokuya.co.uk>
886 * toplev.c (independent_decode_option): Don't skip a 'Y' prefix.
888 2003-03-24 Janis Johnson <janis187@us.ibm.com>
890 * doc/install.texi (Testing): Mention test result links from build
893 2003-03-24 Mark Mitchell <mark@codesourcery.com>
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.
904 2003-03-24 Kazu Hirata <kazu@cs.umass.edu>
906 * config/h8300/h8300.md (a peephole2): New.
908 2003-03-24 Jakub Jelinek <jakub@redhat.com>
910 * dojump.c (do_jump): Handle UNSAVE_EXPR specially.
912 2003-03-24 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
914 * doc/contrib.texi (Contributors): Update Janis Johnson.
916 2003-03-23 Eric Botcazou <ebotcazou@libertysurf.fr>
919 * combine.c (simplify_if_then_else): Check that the mode
920 has MODE_INT class before applying the (OP Z (mult COND C2))
923 2003-03-23 Eric Botcazou <ebotcazou@libertysurf.fr>
926 * config/sparc/sparc.md (widening peepholes): Use
927 widen_memory_access instead of change_address.
929 2003-03-23 Mark Mitchell <mark@codesourcery.com>
932 * c-typeck.c (c_mark_addressable): Adjust calls to
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.
945 2003-03-23 Arpad Beszedes <beszedes@cc.u-szeged.hu>
948 * builtins.c (expand_builtin_fputs): When optimizing for size,
949 don't transform fputs into fwrite.
951 2003-03-23 Glen Nakamura <glen@imodulo.com>
954 * fold-const.c (extract_muldiv_1): Don't pass through type conversions
955 when signedness changes for division or modulus.
957 2003-03-24 Alan Modra <amodra@bigpond.net.au>
959 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
962 2003-03-23 Roger Sayle <roger@eyesopen.com>
965 * stmt.c (expand_end_case_type): Check for overflow in range when
966 determining whether to use a bit-test implementation.
968 2003-03-23 Richard Henderson <rth@redhat.com>
970 * cfgcleanup.c (try_optimize_cfg): Allow merging of tablejumps
972 * cfgrtl.c (try_redirect_by_replacing_jump): Similarly.
974 2003-03-23 Richard Henderson <rth@redhat.com>
977 * ifcvt.c (find_if_block): Disallow tablejump insns outgoing
978 from then_bb or else_bb after flow2.
980 2003-03-23 Zack Weinberg <zack@codesourcery.com>
982 * configure.in: Check whether it is necessary to link against
984 * configure: Regenerate.
985 * Makefile.in: Add LDEXP_LIB substitution variable.
987 2003-03-23 Kazu Hirata <kazu@cs.umass.edu>
989 * config/h8300/h8300.md: Fix comment typos.
991 2003-03-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
993 * pa.c (output_cbranch): Fix typo in comment.
995 2003-03-22 Richard Henderson <rth@redhat.com>
997 * cfgcleanup.c (insns_match_p): Do not do EQUIV substitution
1000 2003-03-22 DJ Delorie <dj at redhat dot com>,
1001 Bruce Korb <bkorb at gnu dot org>
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
1012 2003-03-22 Andreas Jaeger <aj@suse.de>
1014 * config/i386/i386.c (ix86_init_machine_status): Return value.
1016 2003-03-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
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.
1024 2003-03-22 Ulrich Weigand <uweigand@de.ibm.com>
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.
1031 2003-03-22 Kazu Hirata <kazu@cs.umass.edu>
1033 * config/h8300/h8300.c (notice_update_cc): Correctly handle
1034 the case where the set destination is STRICT_LOW_PART.
1036 2003-03-22 Svein E. Seldal <Svein.Seldal@solidas.com>
1038 * config/c4x/t-c4x (INSTALL_LIBGCC): Make gcc recognize a c33 as a
1039 c30 instead of a c40 processor.
1041 2003-03-22 Alan Modra <amodra@bigpond.net.au>
1043 * combine.c (simplify_comparison <AND>): Use gen_int_mode. Tidy.
1045 2003-03-21 Zack Weinberg <zack@codesourcery.com>
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;
1052 * Makefile.in (c-common.o): Add intl.h.
1054 2003-03-21 Nathanael Nerode <neroden@gcc.gnu.org>
1056 * config.gcc: Remove 'float_format'.
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.
1065 2003-03-22 Stephane Carrez <stcarrez@nerim.fr>
1067 * config/m68hc11/m68hc11.md ("call_value"): Fix trap check.
1069 2003-03-22 Stephane Carrez <stcarrez@nerim.fr>
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
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
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.
1091 2003-03-21 Jan Hubicka <jh@suse.cz>
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.
1098 2003-03-21 Jan Hubicka <jh@suse.cz>
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
1106 2003-03-21 Kazu Hirata <kazu@cs.umass.edu>
1108 * combine.c (make_field_assignment): Fix a warning.
1110 2003-03-21 Kazu Hirata <kazu@cs.umass.edu>
1112 * config/h8300/h8300.md (*insv_si_1_n_lshiftrt_16): New.
1114 2003-03-21 Dale Johannesen <dalej@apple.com>
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.
1120 2003-03-21 Kazu Hirata <kazu@cs.umass.edu>
1122 * combine.c (make_field_assignment): Remove unnecessary AND
1123 when storing into zero_extract.
1125 2003-03-21 Zack Weinberg <zack@codesourcery.com>
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
1132 2003-03-21 DJ Delorie <dj@redhat.com>
1134 * optabs.c (init_integral_libfuncs): Make sure we init at least up
1135 to "long long" size words.
1137 2003-03-21 Ulrich Weigand <uweigand@de.ibm.com>
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.
1143 2003-03-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1146 * doc/extend.texi: Move misplaced paragraph about underscores in
1147 variables in macros.
1149 2003-03-21 Eric Botcazou <ebotcazou@libertysurf.fr>
1150 Richard Henderson <rth@redhat.com>
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.
1159 2003-03-21 DJ Delorie <dj@redhat.com>
1161 * config/stormy16/stormy16.c (xstormy16_expand_arith): Make
1162 sure we always emit at least one insn.
1164 2003-03-21 Christopher Faylor <cgf@redhat.com>
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
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.
1195 2003-03-20 Richard Henderson <rth@redhat.com>
1197 * fold-const.c (extract_muldiv_1): Revert changing order of
1198 operands in case MULT_EXPR of 2003-02-16 patch.
1200 2003-03-20 Daniel Berlin <dberlin@dberlin.org>
1201 Merge changes from new-regalloc-branch
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.
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).
1213 2003-03-20 Richard Henderson <rth@redhat.com>
1216 * explow.c (allocate_dynamic_stack_space): Handle STACK_SIZE_MODE
1217 different from word_mode.
1219 2003-03-20 Kazu Hirata <kazu@cs.umass.edu>
1221 * config/h8300/h8300.md (*insv_si_1_n_lshiftrt): Restrict the
1222 source operand to those that can be extracted with bld.
1224 2003-03-20 Richard Earnshaw <rearnsha@arm.com>
1227 * arm.md (UNSPEC_PIC_BASE): New constant.
1228 (pic_add_dot_plus_four): Wrap with unspec.
1229 (pic_add_dot_plus_eight): Likewise.
1231 2003-03-20 Kazu Hirata <kazu@cs.umass.edu>
1233 * config/h8300/h8300.md (*insv_si_1_n): New.
1234 (*insv_si_1_n_lshiftrt): Likewise.
1236 2003-03-20 Roger Sayle <roger@eyesopen.com>
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.
1243 2003-03-20 Richard Earnshaw <rearnsha@arm.com>
1245 * ifcvt.c (find_if_case_1): If we add a new bb, update the dominance
1248 2003-03-20 Per Bothner <pbothner@apple.com>
1250 Various cleanups to help compile server.
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
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.
1263 * cppfiles.c (cpp_rename_file): Generalized and renamed
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.
1269 * line-map.c (add_line_map): Allow leaving the outermost file.
1270 Allowing entering an outermost-file after the initial time.
1272 * toplev.c (pop_srcloc): Allow popping from initial file.
1274 2003-03-20 Kazu Hirata <kazu at cs dot umass dot edu>
1276 * fold-const.c (fold): Fold A - (A & B) into ~B & A.
1278 2003-03-20 Kazu Hirata <kazu@cs.umass.edu>
1280 * config/h8300/h8300.md (a peephole2): New.
1282 2003-03-20 Kazu Hirata <kazu@cs.umass.edu>
1284 * config/h8300/h8300.md (*addsi3_and_r_1): New.
1285 (*addsi3_and_not_r_1): Likewise.
1287 2003-03-19 Loren James Rittle <ljrittle@acm.org>
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).
1298 2003-03-19 Nathanael Nerode <neroden@gcc.gnu.org>
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.
1306 2003-03-19 Kevin Buettner <kevinb@redhat.com>
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
1314 * config/mips/iris6.h (DWARF_INITIAL_LENGTH_SIZE): Define.
1316 2003-03-19 Ulrich Weigand <uweigand@de.ibm.com>
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,
1322 * config/s390/s390.md ("*tsthiCCT_only"): Remove '?' from
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.
1330 2003-03-19 Jan Hubicka <jh@suse.cz>
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.
1339 2003-03-19 Nick Clifton <nickc@redhat.com>
1341 * config/mcore/mcore.h (CPP_SPEC): Remove trailing semi-colon.
1343 2003-03-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
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
1358 * pa.md (jump): Use output_lbranch.
1359 (allocate_stack): New expander for dynamic stack allocation.
1361 2003-03-19 Alan Modra <amodra@bigpond.net.au>
1363 * config/rs6000/rs6000.c (rs6000_stack_info): Only require a frame
1364 when debugging on XCOFF targets. Delete "abi" temp.
1367 * combine.c (force_to_mode <NOT>): Use gen_int_mode.
1369 2003-03-18 Jakub Jelinek <jakub@redhat.com>
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.
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.
1379 2003-03-18 Geoffrey Keating <geoffk@apple.com>
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.
1386 * Makefile.in (emit-rtl.o): Add gt-emit-rtl.h to dependencies.
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
1393 (adjust_field_rtx_def): Describe strings in NOTE_LINE_NUMBER notes.
1394 * Makefile.in (gengtype.o): Update dependencies.
1396 2003-03-18 Andreas Schwab <schwab@suse.de>
1398 * config/m68k/m68k.md (iordi3): Fix setting low half to -1. From
1401 2003-03-18 Geoffrey Keating <geoffk@apple.com>
1403 * function.c (next_block_index): Mark with GTY.
1405 * config/rs6000/rs6000.md (macho_correct_pic): Correct pattern.
1407 2003-03-18 Richard Henderson <rth@redhat.com>
1409 * config/ia64/ia64.md (UNSPECV_SETJMP_RECEIVER): New.
1410 (builtin_setjmp_receiver): Delay call to ia64_reload_gp
1413 2003-03-18 Richard Henderson <rth@redhat.com>
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.
1419 2003-03-18 Ulrich Weigand <uweigand@de.ibm.com>
1421 * config/s390/s390.md ("movti", "movhi", "movqi"): Add "type" attribute.
1423 2003-03-18 Jan Hubicka <jh@suse.cz>
1425 * i386.md: Fix previous commit that mistakely applied the patch
1428 * alias.c (rtx_equal_for_memref_p): Assume that X and Y has been
1430 (memrefs_conflict_p): Likewise.
1431 (addr_side_effect_eval): Canonicalize the constructed address.
1433 2003-03-18 Jan Hubicka <jh@suse.cz>
1435 * i386.md (cvtts?2si peep2): New.
1437 2003-03-18 Kazu Hirata <kazu@cs.umass.edu>
1439 * config/h8300/h8300.md (*iorsi3_two_qi_zext): New.
1441 2003-03-18 Andreas Schwab <schwab@suse.de>
1443 * dwarf2out.c (output_file_names): Cast size_t to unsigned long
1446 2003-03-17 Jason Merrill <jason@redhat.com>
1449 * expr.c (expand_expr) [ADDR_EXPR]: Disallow taking the address of
1450 an unaligned member of TREE_ADDRESSABLE type.
1452 2003-03-18 Alan Modra <amodra@bigpond.net.au>
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.
1466 2003-03-17 Kazu Hirata <kazu@cs.umass.edu>
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.
1476 2003-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
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.
1486 2003-03-17 Zack Weinberg <zack@codesourcery.com>
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.
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.
1500 2003-03-17 Steve Ellcey <sje@cup.hp.com>
1502 * stmt.c (tail_recursion_args): Call promote_mode to set
1503 unsignedp flag correctly before calling convert_move.
1505 2003-03-17 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1507 * loop-unroll.c (decide_peel_completely,
1508 decide_unroll_constant_iterations, decide_unroll_stupid,
1509 decide_unroll_runtime_iterations, decide_peel_simple): Set
1512 2003-03-17 Jan Hubicka <jh@suse.cz>
1514 * ggc-common.c (ggc_mark_roots): Use htab_traverse_noresize.
1516 2003-03-17 Olivier Hainque <hainque@act-europe.fr>
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.
1522 2003-03-17 Dave Love <fx@gnu.org>
1523 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1525 * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Define __digital__,
1526 __arch64__ to match Compaq cc.
1528 2003-03-17 Neil Booth <neil@daikokuya.co.uk>
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.
1536 2003-03-17 Neil Booth <neil@daikokuya.co.uk>
1538 * fix-header.c (read_scan_file): Need to malloc arguments to add_path.
1540 2003-03-17 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1542 * function.c (thread_prologue_and_epilogue_insns): Set delete_unused
1543 argument to 0 for redirect_jump.
1545 2003-03-16 Mark Mitchell <mark@codesourcery.com>
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.
1552 2003-03-17 Andreas Jaeger <aj@suse.de>
1554 * Makefile.in (TAGS): Remove obsolete handling of =*.[chy].
1556 2003-03-17 Alan Modra <amodra@bigpond.net.au>
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.
1563 2003-03-16 Richard Henderson <rth@redhat.com>
1565 * simplify-rtx (simplify_binary_operation): Don't abort for
1566 SS_PLUS, US_PLUS, SS_MINUS, US_MINUS.
1568 2003-03-16 Richard Henderson <rth@redhat.com>
1570 * config/i386/i386.md (movstrictqi, movstrictqi_1): Check
1571 optimize_size as well.
1573 2003-03-16 Stephane Carrez <stcarrez@nerim.fr>
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.
1583 2003-03-14 Mark Mitchell <mark@codesourcery.com>
1585 PR optimization/9016
1586 * config/i386/i386.c (ix86_expand_move): Force more CONST_DOUBLEs
1587 into the constant pool.
1589 2003-03-16 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
1592 * tree.c (get_narrower): For extensions with unchanged bit number,
1593 return the unsignedness of the outer mode.
1595 2003-03-16 Roger Sayle <roger@eyesopen.com>
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.
1601 2003-03-16 Andreas Jaeger <aj@suse.de>
1603 * configure.in: Improve check for memcheck.h.
1604 * configure: Regenerated.
1606 2003-03-16 Neil Booth <neil@daikokuya.co.uk>
1608 * doc/cppopts.texi: Remove documentation of -A-.
1610 2003-03-15 Zack Weinberg <zack@codesourcery.com>
1612 * doc/libgcc.texi: Remove @tie.
1614 2003-03-15 Josef Zlomek <zlomekj@suse.cz>
1616 * rtl.h (subrtx_p): Renamed to rtx_referenced_p.
1617 (rtx_pair): Added new element update_label_nuses, renamed to
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.
1628 2003-03-15 Aldy Hernandez <aldyh@redhat.com>
1629 Zack Weinberg <zack@codesourcery.com>
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.
1636 2003-03-15 Jason Merrill <jason@redhat.com>
1639 * dwarf2out.c (gen_decl_die): Ignore frontend tree codes.
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.
1646 2003-03-15 Ulrich Weigand <uweigand@de.ibm.com>
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.
1654 2003-03-15 Neil Booth <neil@daikokuya.co.uk>
1656 * fix-header.c (read_scan_file): Read main file before handling -D.
1658 2003-03-15 Roger Sayle <roger@eyesopen.com>
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.
1678 2003-03-15 Neil Booth <neil@daikokuya.co.uk>
1680 * fix-header.c (read_scan_file): Fix thinko.
1682 2003-03-15 Glen Nakamura <glen@imodulo.com>
1684 * reload1.c (choose_reload_regs): Use && instead of ||
1685 with REG_CANNOT_CHANGE_MODE_P condition.
1687 2003-03-15 Neil Booth <neil@daikokuya.co.uk>
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.
1713 2003-03-15 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
1715 PR optimization/9387
1716 * function.c (thread_prologue_and_epilogue_insns): Use redirect_jump
1717 for conditional returns.
1719 2003-03-14 Jason Merrill <jason@redhat.com>
1721 PR optimization/6871
1722 * varasm.c (assemble_variable): Leave constant zeroes in .rodata.
1724 2003-03-14 Neil Booth <neil@daikokuya.co.uk>
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.
1734 (COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -imacros.
1736 2003-03-14 Jakub Jelinek <jakub@redhat.com>
1738 * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Don't call
1739 rs6000_maybe_dead if !fromprolog.
1741 2003-03-14 Neil Booth <neil@daikokuya.co.uk>
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.
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
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.
1774 2003-03-13 Jan Hubicka <jh@suse.cz>
1776 * cselib.c (clear_table): Do not take argument; always clear just
1778 (cselib_process_insn): Update call of clear_table
1779 (cselib_init): Do not call clear_table.
1780 (cselib_finish): Clear table.
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
1785 (find_reg_equal_equiv_note): Do not use find_reg_note.
1787 2003-03-14 Richard Henderson <rth@redhat.com>
1790 * config/alpha/alpha.c (alpha_va_start): Account for
1791 current_function_pretend_args_size in the AP offset.
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.
1799 2003-03-14 Jakub Jelinek <jakub@redhat.com>
1801 * stmt.c (expand_start_case): Call emit_queue ().
1803 2003-03-14 Chris Demetriou <cgd@broadcom.com>
1804 Alexandre Oliva <aoliva@redhat.com>
1806 * config/mips/mips.h (FUNCTION_PROFILER): _mcount() doesn't pop 2
1809 2003-03-14 Eric Botcazou <ebotcazou@libertysurf.fr>
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.
1815 2003-03-14 Steven Bosscher <steven@gcc.gnu.org>
1817 * doc/extend.texi (Function Names): Make the example compilable.
1819 2003-03-13 David Edelsohn <edelsohn@gnu.org>
1821 * config/rs6000/rs6000.c (processor_target_table): Really allow
1822 GP optional instructions on Power4.
1824 2003-03-13 Roger Sayle <roger@eyesopen.com>
1826 * calls.c (flags_from_decl_or_type): Factor and remove redundant
1829 2003-03-13 Mike Stump <mrs@apple.com>
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.
1842 (push_by_depth): 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.
1853 2003-03-13 Nathanael Nerode <neroden@gcc.gnu.org>
1855 * ChangeLog: Rotated last year's entries to...
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.
1867 2003-03-13 Aldy Hernandez <aldyh@redhat.com>
1869 * config/rs6000/rs6000.c (rs6000_dwarf_register_span):
1870 Differentiate endianness.
1871 (s6000_override_options): Use cpu type instead of TARGET_SPE.
1873 2003-03-13 Nick Clifton <nickc@redhat.com>
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.
1879 * config/arm/pe.h (FIXED_REGISTERS): Remove definition.
1880 (CALL_USED_REGISTERS): Remove definition.
1881 (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Define.
1883 2003-03-13 Alan Modra <amodra@bigpond.net.au>
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
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.
1903 2003-03-13 Richard Henderson <rth@redhat.com>
1905 * emit-rtl.c (try_split): Handle 1-1 splits of call insns properly.
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;
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
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.
1930 2003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
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".
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:
1941 * genattrtab.h, hosthooks-def.h, hosthooks.h, langhooks-def.h,
1942 langhooks.h, tree-inline.h: Replace "GNU CC" with "GCC".
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".
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:
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
1960 2003-03-12 Benjamin Kosnik <bkoz@redhat.com>
1962 * cpppch.c (cpp_valid_state): Use DL_WARNING_SYSHDR, not DL_WARNING.
1964 2003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
1966 * fixinc/fixinc.interix: Remove dead code (most of it).
1967 * fixinc/fixinc.dgux: Remove.
1969 * ginclude/float.h, ginclude/iso646.h, ginclude/stdarg.h,
1970 ginclude/stdbool.h, ginclude/stddef.h: GCC, not GNU CC.
1972 2003-03-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1974 * pa.c (pa_init_builtins): Fix warning.
1976 2003-03-12 Steve Ellcey <sje@cup.hp.com>
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.
1986 2003-03-12 Andrew Lewycky <andrew@mxc.ca>
1989 * expr.c (store_expr): Don't attempt to store void-typed trees,
1990 just evaluate them for side effects.
1992 2003-03-12 Neil Booth <neil@daikokuya.co.uk>
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.
2001 2003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
2003 * aclocal.m4: Introduce gcc_GAS_VERSION_GTE_IFELSE,
2004 _gcc_COMPUTE_GAS_VERSION.
2005 * configure.in: Use them.
2006 * configure: Regenerate.
2008 2003-03-12 Bob Wilson <bob.wilson@acm.org>
2010 * config/xtensa/xtensa.md (adddi3): Don't clobber source operand used
2012 (subdi3): Reorder emitted instructions.
2014 2003-03-12 Andreas Jaeger <aj@suse.de>
2016 * config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Remove call to
2017 NETBSD_OS_CPP_BUILTINS_LP64.
2019 2003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
2021 * Makefile.in: Eliminate all.indirect. Update and clean up comments.
2022 Rearrange. Reorganize.
2023 * configure.in: Rearrange.
2024 * configure: Regenerate.
2026 2003-03-12 Andreas Jaeger <aj@suse.de>
2028 * c-cppbuiltin.c (cb_register_builtins): Define LP64 builtins for
2031 * doc/cpp.texi (Common Predefined Macros): Document __LP64__ and
2034 * config/ia64/ia64.h (TARGET_CPU_CPP_BUILTINS): Do not define
2036 * config/pa/pa.h (TARGET_CPU_CPP_BUILTINS): Likewise.
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.
2043 * config/netbsd.h (NETBSD_OS_CPP_BUILTINS_LP64): Remove.
2045 2003-03-12 Jan Hubicka <jh@suse.cz>
2047 * i386.c (ix86_setup_incoming_varargs): Set stack_alignment_needed to 128.
2049 2003-03-12 Daniel Jacobowitz <drow@mvista.com>
2051 Fix PR target/9797 and PR c/9853.
2052 * stmt.c (expand_decl_init): Call push_temp_slots () and
2055 2003-03-12 J"orn Rennecke <joern.rennecke@superh.com>
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.
2061 2003-03-12 Nick Clifton <nickc@redhat.com>
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.
2068 2003-03-12 Hans-Peter Nilsson <hp@bitrange.com>
2070 * configure.in (rlim_t): Define to long if no valid definition
2071 found in sys/resource.h.
2072 * config.in, configure: Regenerate.
2074 2003-03-12 Neil Booth <neil@daikokuya.co.uk>
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.
2082 2003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
2085 * c-decl.c (duplicate_decls): Discard the initializer of the new decl
2086 only if it is a VAR_DECL.
2088 2003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
2090 PR optimization/9888
2091 * config/i386/i386.md (jcc_1): Fix range.
2094 (doloop_end_internal): Likewise.
2096 2003-03-12 Danny Smith <dannysmith@users.sourceforge.net>
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
2111 (gen_fastcall_suffix): Break down xmalloc() argument to
2113 (gen_stdcall_suffix): Likewise.
2114 Update copyright year.
2116 2003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
2118 PR optimization/9888
2119 * config/i386/i386.md (movsi_1): Remove special alternatives
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.
2127 2003-03-12 Neil Booth <neil@daikokuya.co.uk>
2129 * c-cppbuiltin.c (builtin_define_std): Make non-static.
2131 2003-03-11 Loren James Rittle <ljrittle@acm.org>
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.
2142 2003-03-11 Geoffrey Keating <geoffk@apple.com>
2144 * c-cppbuiltin.c (builtin_define_std): Add ATTRIBUTE_UNUSED.
2146 2003-03-11 Aldy Hernandez <aldyh@redhat.com>
2148 * config/rs6000/rs6000.c (rs6000_stack_info): Remove
2149 insn_chain_scanned. Use insn_chain_scanned_p in machine_function.
2151 * config/rs6000/rs6000.h (machine_function): Add insn_chain_scanned_p.
2153 2003-03-11 Alexandre Oliva <aoliva@redhat.com>
2155 * toplev.c (independent_decode_option): Return success for --help,
2156 --target-help and --version.
2158 2003-03-11 Alexandre Oliva <aoliva@redhat.com>
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
2163 (SUBTARGET_ASM_SPEC): Remove -mips*-adding code obviated by
2165 (LINK_SPEC): Let endian options affect the linker emulation name.
2167 2003-03-11 J"orn Rennecke <joern.rennecke@superh.com>
2169 * sh.md (reload_inqi): Fix mode for source in second set.
2171 2003-03-11 Jan Hubicka <jh@suse.cz>
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.
2181 2003-03-11 Aldy Hernandez <aldyh@redhat.com>
2183 * config/rs6000/rs6000.c (rs6000_override_options): Disable string
2184 instructions for e500.
2186 2003-03-11 Neil Booth <neil@daikokuya.co.uk>
2188 * Makefile.in: Update.
2189 * c-cppbuiltin.c: Include tm_p.h.
2191 2003-03-11 Aldy Hernandez <aldyh@redhat.com>
2193 * doc/tm.texi (Frame Registers): Document DWARF_REG_TO_UNWIND_COLUMN.
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.
2206 * config/rs6000/rs6000.c (spe_synthesize_frame_save): Use 1200 as
2207 the synthetic register offset.
2209 * config/rs6000/rs6000.h (DWARF_REG_TO_UNWIND_COLUMN): New.
2211 2003-03-11 Hans-Peter Nilsson <hp@axis.com>
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
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):
2231 2003-03-11 Hartmut Penner <hpenner@de.ibm.com>
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.
2238 2003-03-11 Neil Booth <neil@daikokuya.co.uk>
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.
2259 2003-03-10 Aldy Hernandez <aldyh@redhat.com>
2261 * dwarf2out.c (multiple_reg_loc_descriptor): Fix thinko.
2263 2003-03-10 Andrew Pinski <apinski@apple.com>
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
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
2288 (SUBTARGET_OVERRIDE_OPTIONS): Move check for -fpic from
2289 rs6000_override_options to here. Dynamic-no-pic overrides
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
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
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
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.
2313 2003-03-10 Devang Patel <dpatel@apple.com>
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.
2323 2003-03-10 Steven Bosscher <s.bosscher@student.tudelft.nl>
2325 PR optimization/7189
2326 * toplev.c (rest_of_compilation): Move
2327 check_function_return_warnings up to just after
2328 delete_unreachable_blocks.
2330 2003-03-10 Stephane Carrez <stcarrez@nerim.fr>
2332 * config/m68hc11/m68hc11.h (HARD_REGNO_RENAME_OK): Define.
2333 * config/m68hc11/m68hc11-protos.h (m68hc11_hard_regno_rename_ok):
2335 * config/m68hc11/m68hc11.c (m68hc11_hard_regno_rename_ok): New function
2336 for reg rename optimization to avoid using Z and Y registers.
2338 2003-03-10 Stephane Carrez <stcarrez@nerim.fr>
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.
2348 2003-03-10 Stephane Carrez <stcarrez@nerim.fr>
2350 * config/m68hc11/m68hc11.c (m68hc11_gen_rotate): Set carry before
2351 each 16-bit rotation.
2353 2003-03-10 Zack Weinberg <zack@codesourcery.com>
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.
2359 2003-03-10 Segher Boessenkool <segher@koffie.nl>
2361 * testsuite/gcc.dg/altivec-9.c: New file.
2363 * config/rs6000/rs6000.c (altivec_frame_fixup): Remove.
2364 (rs6000_emit_prologue): Use rs6000_frame_related instead.
2366 2003-03-10 Aldy Hernandez <aldyh@redhat.com>
2368 * config/rs6000/spe.h: Define __ev64_*64__ to use single element
2370 (__ev_convert_u64): Remove macro. Define as inline.
2371 (__ev_convert_s64): Same.
2373 2003-03-10 Aldy Hernandez <aldyh@redhat.com>
2375 * config/rs6000/rs6000.h (DWARF_FRAME_REGISTERS): Define.
2376 (rs6000_stack_t): Add spe_64bit_regs_used.
2378 * config/rs6000/rs6000.c (rs6000_stack_info): Calculate
2379 spe_64bit_regs_used, and use it to determine the size of the
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.
2388 2003-03-10 Richard Earnshaw <rearnsha@arm.com>
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.
2400 2003-03-10 Josef Zlomek <zlomekj@suse.cz>
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.
2417 2003-03-10 Jan Hubicka <jh@suse.cz>
2419 * cfgcleanup.c (try_optimize_cfg): Fix thinko in previous patch.
2421 * cfgcleanup.c (merge_blocks): Return where to iterate next.
2422 (try_optimize_cfg): Use return value of merge_blocks
2424 2003-03-10 Michael Matz <matz@suse.de>
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.
2431 2003-03-10 Richard Earnshaw <rearnsha@arm.com>
2433 * fpa.md: New file. Move all patterns relating to FPA co-processor
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.
2443 2003-03-09 David Edelsohn <edelsohn@gnu.org>
2446 * config/rs6000/rs6000.md (movsi_update1): Add TARGET_UPDATE final
2449 2003-03-09 Neil Booth <neil@daikokuya.co.uk>
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.
2463 2003-03-09 Roger Sayle <roger@eyesopen.com>
2464 Joern Rennecke <joern.rennecke@superh.com>
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.
2470 2003-03-09 Roger Sayle <roger@eyesopen.com>
2471 Joern Rennecke <joern.rennecke@superh.com>
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.
2477 2003-03-09 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2479 * varasm.c (make_decl_one_only): Use declare_weak().
2481 2003-03-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
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.
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.
2495 2003-03-09 DJ Delorie <dj@redhat.com>
2497 * config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH): Revert.
2499 2003-03-09 Richard Earnshaw <rearnsha@arm.com>
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.
2506 2003-03-09 Roger Sayle <roger@eyesopen.com>
2508 * builtins.def: Fix typo and improve grammar.
2509 * loop-unroll.c (decide_peel_completely): Tidy log message.
2511 2003-03-09 Kazu Hirata <kazu@cs.umass.edu>
2513 * config/h8300/h8300.md (*tstsi_upper_bit): New.
2514 (*iorsi3_e2f): Likewise.
2516 2003-03-08 Kazu Hirata <kazu@cs.umass.edu>
2518 * config/h8300/h8300.c (h8300_and_costs): Return the number of
2519 assembly instructions needed.
2520 (h8300_shift_costs): Likewise.
2522 2003-03-09 Hans-Peter Nilsson <hp@bitrange.com>
2524 * config/cris/aout.h (ENDFILE_SPEC): Undef.
2526 * optabs.c (gen_move_insn): Move logic for synthesizing MODE_CC
2528 * expr.c (emit_move_insn_1): ... to here.
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.
2542 * flags.h (flag_leading_underscore): Declare.
2544 * c-opts.c (c_common_post_options): On fopen failure, return
2547 2003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
2549 * config/cris/cris_abi_symbol.c: #include tconfig.h and tm.h, not
2551 * config/cris/cris.h (HAVE_GAS_HIDDEN): Don't define here.
2552 * config/cris/aout.h (HAVE_GAS_HIDDEN): Undef.
2554 2003-03-08 Neil Booth <neil@daikokuya.co.uk>
2556 * config/sh/rtemself.h (TARGET_OS_CPP_BUILTINS): Use instead of
2558 * config/sh/rtems.h (TARGET_OS_CPP_BUILTINS): Use instead of
2561 2003-03-08 Neil Booth <neil@daikokuya.co.uk>
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
2578 * objc/objc-act.c (objc_init): Update prototype.
2579 * objc/objc-act.h (objc_init): Update prototype.
2581 2003-03-08 Roger Sayle <roger@eyesopen.com>
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.
2586 2003-03-08 Jan Hubicka <jh@suse.cz>
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.
2593 2003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
2595 * config/mmix/mmix.md ("*movcc_expanded"): Add missing alternatives.
2597 2003-03-08 Richard Earnshaw <rearnsha@arm.com>
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.
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.
2610 2003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
2612 * config/cris/cris.h: Remove EGCS references.
2613 (CPP_SPEC): Remove "-$".
2614 (INIT_CUMULATIVE_ARGS): Adjust parameter name to FNDECL.
2616 2003-03-08 Neil Booth <neil@daikokuya.co.uk>
2618 * config/stormy16/stormy16.h (TARGET_CPU_CPP_BUILTINS): Use in
2619 preference to CPP_PREDEFINES.
2621 2003-03-08 Neil Booth <neil@daikokuya.co.uk>
2623 * cppinit.c (cpp_finish_options): Set first_unused_line to -1.
2625 2003-03-08 Kazu Hirata <kazu@cs.umass.edu>
2627 * config/h8300/h8300.md (*extzv_16_8): New.
2629 2003-03-08 Jan Hubicka <jh@suse.cz>
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
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.
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.
2652 2003-03-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2654 * gcse.c (bypass_block, bypass_conditional_jumps): Do not create
2657 * loop-unroll.c (unroll_loop_runtime_iterations): Update irreducible
2658 loops info correctly.
2660 2003-03-08 Eric Botcazou <ebotcazou@libertysurf.fr>
2663 * unroll.c (calculate_giv_inc): Handle constants being
2664 loaded with LSHIFTRT.
2666 2003-03-07 David Edelsohn <edelsohn@gnu.org>
2668 * config/rs6000/rs6000.c (processor_target_table): Do not disable
2669 GP optional instructions on Power3, Power4, 620, and 630.
2671 2003-03-07 Kazu Hirata <kazu@cs.umass.edu>
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.
2682 * ra-build.c: Likewise.
2683 * sbitmap.c: Likewise.
2684 * toplev.c: Likewise.
2686 2003-03-07 James E Wilson <wilson@tuliptree.org>
2688 * config/sh/sh.h (HARD_REGNO_NREGS): Round up the XD register count.
2690 2003-03-07 Geoffrey Keating <geoffk@apple.com>
2692 * objc/lang-specs.h (objective-c-header): Use .gch not .pch;
2693 support -no-integrated-cpp.
2695 * c-pch.c (get_ident): Use c_language_kind and flag_objc rather
2696 than langhooks.name.
2698 2003-03-07 Michael Matz <matz@suse.de>
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.
2716 2003-03-07 Richard Earnshaw <rearnsha@arm.com>
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.
2724 2003-03-06 Kazu Hirata <kazu@cs.umass.edu>
2726 * config/h8300/h8300.md (a peephole2): Don't use
2727 reg_overlap_mentioned_p.
2729 2003-03-06 Geoffrey Keating <geoffk@apple.com>
2731 * c-pch.c: Include langhooks.h.
2732 (IDENT_LENGTH): New.
2734 (pch_ident): Delete.
2735 (pch_init): Use get_ident, IDENT_LENGTH.
2736 (c_common_valid_pch): Likewise. Also, use actual language
2738 * Makefile.in (c-pch.o): Add langhooks.h to dependencies.
2740 * objc/config-lang.in (gtfiles): Add objc-act.c. Remove duplicate
2742 * objc/Make-lang.in (objc/objc-act.o): Add dependency on
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.
2753 2003-03-06 Dale Johannesen <dalej@apple.com>
2755 * config/rs6000/rs6000.c (rs6000_binds_local_p): Consider
2756 global functions for inlining on Darwin.
2758 2003-03-06 Vladimir Makarov <vmakarov@redhat.com>
2760 * haifa-sched.c (schedule_block): Don't call reorder when sorting
2763 2003-03-06 Neil Booth <neil@daikokuya.co.uk>
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.
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
2777 * cpphash.h (_cpp_init_mbchar): New.
2778 * cppinit.c (init_library): Call _cpp_init_mbchar.
2779 * cpplex.c (_cpp_init_mbchar): New.
2781 2003-03-06 Roger Sayle <roger@eyesopen.com>
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.
2787 2003-03-05 Tom Tromey <tromey@redhat.com>
2789 * config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH):
2792 2003-03-05 Nick Clifton <nickc@cambridge.redhat.com>
2794 * config/stormy16/stormy16.md ("*eqbranchsi"): Remove '+' on
2796 ("*ineqbranchsi"): Likewise.
2798 2003-03-05 Andrew Haley <aph@cambridge.redhat.com>
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.
2804 2003-03-05 Chris Moller <cmoller@redhat.com>
2806 * config/stormy16/stormy16.c (REG_NEEDS_SAVE): added a term
2807 to inhibit saving CARRY_REGS.
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.
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.
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
2829 2003-03-06 Jason Merrill <jason@redhat.com>
2831 * tree-inline.c (inlinable_function_p): Revert earlier change
2832 pending investigation.
2834 2003-03-06 Kazu Hirata <kazu@cs.umass.edu>
2836 * config/h8300/h8300.md (a new peephole2): New.
2838 2003-03-06 Jan Hubicka <jh@suse.cz>
2840 * cgraph.c (cgraph_node): Do not confuse nested functions and methods.
2842 2003-03-06 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2844 * dwarf2out.c (size_of_die): Compute size of external reference to
2847 2003-03-06 Hans-Peter Nilsson <hp@bitrange.com>
2849 * config/mmix/mmix.md ("*movcc_expanded"): New pattern.
2850 ("movcc", "movcc_uns", "movcc_fp", "movcc_fpeq", "movcc_fun"): New
2853 2003-03-05 Roger Sayle <roger@eyesopen.com>
2855 * expr.h (lang_expand_expr): Delete obsolete prototype.
2857 2003-03-05 Kazu Hirata <kazu@cs.umass.edu>
2859 * emit-rtl.c (gen_highpart_mode): Fix a comment typo.
2861 2003-03-05 Kazu Hirata <kazu@cs.umass.edu>
2863 * config/h8300/h8300.md (a peephole2): Generalize to
2864 accept a memory operand.
2866 2003-03-05 Olivier Hainque <hainque@act-europe.fr>
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.
2873 2003-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2875 * stmt.c (fixup_gotos): Change meaning of DONT_JUMP_IN.
2876 (expand_end_bindings): Likewise.
2878 2003-03-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
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
2884 2003-03-05 Aldy Hernandez <aldyh@redhat.com>
2886 * doc/tm.texi: Document TARGET_DWARF_REGISTER_SPAN.
2888 * config/rs6000/rs6000.c (rs6000_dwarf_register_span): New.
2890 * hooks.c (hook_rtx_rtx_null): New.
2892 * hooks.h (hook_rtx_rtx_null): Protoize.
2894 * target-def.h (TARGET_DWARF_REGISTER_SPAN): New macro.
2895 (TARGET_INITIALIZER): Add TARGET_DWARF_REGISTER_SPAN.
2897 * target.h (struct gcc_target): Add dwarf_register_span.
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
2904 2003-03-05 Jan Hubicka <jh@suse.cz>
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
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.
2920 2003-03-05 Kazu Hirata <kazu@cs.umass.edu>
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
2926 (extzv_1_r_inv_h8300hs): Likewise.
2928 2003-03-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
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
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.
2945 (copy_bbs, duplicate_loop_to_header_edge): Use EDGE_IRREDUCIBLE_LOOP
2947 * cfgrtl.c (verify_flow_info): Handle EDGE_IRREDUCIBLE_LOOP flag.
2948 * loop-unroll.c (peel_loops_completely): Do not duplicate loop if
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.
2954 2003-03-05 J"orn Rennecke <joern.rennecke@superh.com>
2956 * sh.h (OVERRIDE_OPTIONS): For TARGET_SHMEDIA, the minimum value
2957 for align_jumps is 4.
2959 (SECONDARY_INPUT_RELOAD_CLASS): If reloading a PLUS into FPUL,
2962 2003-03-05 Stephane Carrez <stcarrez@nerim.fr>
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.
2970 2003-03-05 David Edelsohn <edelsohn@gnu.org>
2972 * config/rs6000/rs6000.c (rs6000_variable_issue): Remove unnecessary
2975 2003-03-05 Michael Matz <matz@suse.de>
2977 * i386/i386.c (ix86_save_reg): Also test
2978 current_function_uses_const_pool.
2980 2003-03-05 Michael Matz <matz@suse.de>
2982 * unwind.h: Add the GPL exception.
2983 * Makefile.in (USER_H): Add unwind.h.
2985 2003-03-05 Eric Botcazou <ebotcazou@libertysurf.fr>
2988 * c-typeck.c (push_init_level): Add sanity check.
2990 2003-03-05 Jan Hubicka <jh@suse.cz>
2992 * toplev.c (rest_of_compilation): Deffer RTL compilation only when
2993 RTL inlining is done.
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
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
3005 (cgraph_local_info, cgraph_global_info, cgraph_global_info_ready):
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.
3013 2003-03-04 Steve Ellcey <sje@cup.hp.com>
3015 * expr.c (convert_modes): Check for legal hard register.
3017 2003-03-04 Tom Tromey <tromey@redhat.com>
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.
3026 2003-03-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
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
3036 (actual_da_file, actual_da_file_position, actual_da_file_length,
3037 actual_da_file_buffer, actual_da_file_buffer_size): New static
3039 * libgcov.c (gcov_exit): Modified to read/write the whole .da file at
3043 2003-03-04 Andreas Schwab <schwab@suse.de>
3045 * config/m68k/m68k.c (m68k_output_function_prologue): Fix CFA
3046 offset without frame pointer.
3048 2003-03-04 Steve Ellcey <sje@cup.hp.com>
3050 * expr.c (expand_expr): Call promote_mode to set unsignedp.
3052 2003-03-04 Daniel Jacobowitz <drow@mvista.com>
3054 * configure.in: Don't always define TARGET_SYSTEM_ROOT.
3055 * configure: Regenerated.
3056 * gcc.c: Check whether TARGET_SYSTEM_ROOT is defined.
3058 2003-03-04 Andreas Jaeger <aj@suse.de>
3060 * configure.in: Check for <memcheck.h>.
3061 * configure: Regenerated.
3063 * config.in: Define HAVE_MEMCHECK_H.
3065 * ggc-common.c: Use <memcheck.h> if available instead of
3067 * ggc-page.c: Likewise.
3068 * cppfiles.c: Likewise.
3070 2003-03-04 Kazu Hirata <kazu@cs.umass.edu>
3072 * config/h8300/h8300.md (*extzv_8_8): Fix cc and lengths.
3074 2003-03-04 Eric Botcazou <ebotcazou@libertysurf.fr>
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.
3080 2003-03-04 Jan Hubicka <jh@suse.cz>
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
3086 2003-03-04 Nathanael Nerode <neroden@gcc.gnu.org>
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.
3093 2003-03-04 Neil Booth <neil@daikokuya.co.uk>
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
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
3114 * cppmain.c: Remove.
3115 * doc/passes.texi: Update.
3117 2003-03-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
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.
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
3131 * pa.h (STARTING_FRAME_OFFSET): Define to 8 on both 32 and 64-bit ports.
3132 (STACK_ALIGNMENT_NEEDED): Define.
3134 2003-03-04 Kevin Buettner <kevinb@redhat.com>
3136 * dwarf2out.c (rtl_for_decl_location): Don't return NULL_RTX for
3137 global register variables.
3139 2003-03-04 Alexandre Oliva <aoliva@redhat.com>
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):
3148 2003-03-03 James E Wilson <wilson@tuliptree.org>
3150 * optabs.c (add_equal_note): Delete SUBREG_REG use.
3153 2003-03-03 Kazu Hirata <kazu@cs.umass.edu>
3155 * config/h8300/h8300.md (*ixorsi3_ashift_16): New.
3156 (*ixorsi3_lshiftrt_16): New.
3157 (*iorsi3_ashift_16): Remove.
3159 2003-03-03 Kazu Hirata <kazu@cs.umass.edu>
3161 * config/h8300/h8300.md (*extzv_8_8): Use '?' to simplify the
3164 2003-03-03 Geoffrey Keating <geoffk@apple.com>
3166 * doc/install.texi (Specific): Update entry for powerpc-darwin.
3168 2003-03-03 Richard Henderson <rth@redhat.com>
3170 * config/ia64/ia64.h (HAVE_AS_LTOFFX_LDXMOV_RELOCS): Default to 0.
3172 2003-03-03 David Edelsohn <edelsohn@gnu.org>
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
3180 2003-03-03 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3182 * dwarf2out.c (dwarf2out_finish): Swap order of break_out_includes and
3183 prune_unused_types calls.
3185 2003-03-03 Jason Merrill <jason@redhat.com>
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.
3192 * calls.c (compute_argument_addresses): Give the new MEMs a
3193 minimum alignment of PARM_BOUNDARY.
3195 2003-03-03 J"orn Rennecke <joern.rennecke@superh.com>
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.
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.
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
3221 (gen_block_redirect): Set INSN_SCOPE for indirect_jump_scratch.
3223 2003-03-03 Jan Hubicka <jh@suse.cz>
3225 * calls.c (rtx_for_function_call): Take the address as an argument
3226 (expand_call): Do not modify the expression.
3228 * toplev.c (rest_of_compilation): Avoid cfg_cleanup calls when not
3231 2003-03-03 Kazu Hirata <kazu@cs.umass.edu>
3233 * config/h8300/h8300.md (*ixorsi3_zext_hi): Restrict to
3234 TARGET_H8300H and TARGET_H8300S.
3236 2003-03-03 Kazu Hirata <kazu@cs.umass.edu>
3238 * config/h8300/h8300.md (a peephole2): New.
3240 2003-03-03 Kazu Hirata <kazu@cs.umass.edu>
3242 * config/h8300/h8300.md (*extzv_8_8): Use shorter code when
3243 operands[0] and operands[1] are different.
3245 2003-03-03 Kazu Hirata <kazu@cs.umass.edu>
3247 * reload1.c (reload_cse_move2add): Remove variable success.
3249 2003-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3251 * ggc-common.c (ggc_rlimit_bound): Cast RLIM_INFINITY to avoid
3254 2003-03-02 Richard Henderson <rth@redhat.com>
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.
3264 2003-03-02 Neil Booth <neil@daikokuya.co.uk>
3266 * c-incpath.c (add_path): Fix sysp assignment.
3268 2003-03-02 Kurt Garloff <garloff@suse.de>
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.
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
3295 * doc/invoke.texi: Document new parameter.
3297 2003-03-02 Geoffrey Keating <geoffk@apple.com>
3299 * fix-header.c (read_scan_file): Don't reference simplify_path.
3301 2003-03-02 Stephane Carrez <stcarrez@nerim.fr>
3303 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't enable
3304 min/max instructions by default as may result in reload errors.
3306 2003-03-02 Stephane Carrez <stcarrez@nerim.fr>
3308 * config/m68hc11/m68hc11.md ("mulqi3"): Allow address register to
3309 avoid reload problems; define split for it.
3311 2003-03-02 Stephane Carrez <stcarrez@nerim.fr>
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.
3326 2003-03-02 Neil Booth <neil@daikokuya.co.uk>
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.
3336 2003-03-02 Kazu Hirata <kazu@cs.umass.edu>
3338 * config/h8300/h8300-protos.h: Add a prototype for
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.
3353 2003-03-02 Neil Booth <neil@daikokuya.co.uk>
3355 * c-incpath.c (remove_component_p, simplify_path): Move back to
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.
3364 2003-03-02 Ashif Harji <asharji@uwaterloo.ca>
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.
3372 2003-03-02 Kazu Hirata <kazu@cs.umass.edu>
3374 * config/h8300/h8300.md (zero_extendqisi2): Change to an
3376 (*zero_extendqisi2_h8300): New.
3377 (*zero_extendqisi2_h8300hs): New.
3378 (two splitters): New.
3380 2003-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3382 * fp-bit.h (float_to_usi): Fix condition wrapping prototype.
3384 2003-03-01 Kazu Hirata <kazu@cs.umass.edu>
3386 * config/h8300/h8300.md (a peephole2): Remove dead code.
3388 2003-03-01 Roger Sayle <roger@eyesopen.com>
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.
3409 * doc/extend.texi: Document these new built-in functions.
3411 2003-03-01 Kazu Hirata <kazu@cs.umass.edu>
3413 * config/h8300/h8300.md (a peephole2): New.
3415 2003-03-01 Richard Earnshaw <rearnsha@arm.com>
3417 * predict.c (estimate_bb_frequencies): Correctly set
3418 real_values_initialized after initialization.
3420 2003-03-01 Neil Booth <neil@daikokuya.co.uk>
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.
3464 2003-03-01 Kazu Hirata <kazu@cs.umass.edu>
3466 * config/h8300/h8300.c (bit_operand): Accept MEM only if it
3467 satisfies EXTRA_CONSTRAINT 'U'.
3469 2003-03-01 Kazu Hirata <kazu@cs.umass.edu>
3471 * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Take a scratch
3473 (*tst_extzv_memqi_1_n): Change to a splitter.
3474 (a peephole2): Update.
3476 2003-03-01 Richard Earnshaw <rearnsha@arm.com>
3478 * predict.c (estimate_bb_frequencies): Initialize the sreal
3479 constants once per compilation.
3481 2003-02-28 Richard Henderson <rth@redhat.com>
3483 * toplev.c (flag_eliminate_unused_debug_types): Enable by default.
3485 2003-02-28 scott snyder <snyder@fnal.gov>
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
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.
3511 2003-02-28 Geoffrey Keating <geoffk@apple.com>
3513 * doc/invoke.texi: Change .pch to .gch.
3514 * cppfiles.c (open_file_pch): Likewise.
3515 * gcc.c (default_compilers): Likewise.
3517 2003-02-28 Aldy Hernandez <aldyh@redhat.com>
3519 * floatlib.c: Remove.
3521 2003-02-28 Jason Merrill <jason@redhat.com>
3523 * stor-layout.c (variable_size): Leave a "minus 1" outside the
3526 2003-02-28 David Edelsohn <edelsohn@gnu.org>
3528 * config/rs6000/power4.md: Add compare bypass.
3530 2003-02-28 Jason Thorpe <thorpej@wasabisystems.com>
3532 * config/netbsd.h: Update copyright years.
3533 (NETBSD_CPP_SPEC): Define _REENTRANT and _PTHREADS if
3534 -pthread is specified on the command line.
3536 2003-02-28 Dale Johannesen <dalej@apple.com>
3538 * loop.c (struct movable): Add insert_temp, shrink savemode.
3539 (scan_loop): Accept invariants that require copying; mark as
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.
3545 2003-02-28 Joel Sherrill <joel@OARcorp.com>
3548 * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Ensure the
3549 this constant defaults to 1.
3551 2003-02-28 Bob Wilson <bob.wilson@acm.org>
3553 * config.gcc (xtensa-*-linux*): Add t-slibgcc-elf-ver to tmake_file.
3555 2003-02-28 Richard Earnshaw <rearnsha@arm.com>
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.
3561 2003-02-28 Nick Clifton <nickc@redhat.com>
3563 * config/arm/arm.c (note_invalid_constants): Change parameter type
3566 2003-02-28 Kazu Hirata <kazu@cs.umass.edu>
3568 * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Accept the
3570 (*tst_extzv_memqi_1_n): Likewise.
3573 2003-02-28 Richard Sandiford <rsandifo@redhat.com>
3575 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Wrap in
3578 2003-02-28 Jan Hubicka <jh@suse.cz>
3580 * combine.c (gen_lowpart_for_combine): Update handling of
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.
3588 2003-02-28 Josef Zlomek <zlomekj@suse.cz>
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.
3595 2003-02-27 Roger Sayle <roger@eyesopen.com>
3596 Zack Weinberg <zack@codesourcery.com>
3598 * gcc.c (do_spec_1): Treat %U like %u for unique associations.
3600 2003-02-27 Kazu Hirata <kazu@cs.umass.edu>
3602 * reload1.c (sext_for_mode): Remove.
3603 (reload_cse_move2add): Use trunc_int_for_mode instead of
3605 (move2add_note_store): Likewise.
3606 Reset register information if we see a set in non-integer
3609 2003-02-27 David Edelsohn <edelsohn@gnu.org>
3611 * config/rs6000/aix43.h (ASM_SPEC): Only emit -mppc64 if no -mcpu
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.
3618 2003-02-27 Geert Bosch <bosch@gnat.com>
3620 * toplev.c (print_version): Add indentation for GGC heuristics and
3621 output after printing version information.
3623 2003-02-27 James E Wilson <wilson@tuliptree.org>
3625 * combine.c (simplify_comparison): Require integral mode when
3626 permuting SUBREG with AND.
3628 2003-02-27 Steve Ellcey <sje@cup.hp.com>
3630 * config/ia64/hpux.h (STARTFILE_PREFIX_SPEC): Remove.
3632 2003-02-27 Nick Clifton <nickc@redhat.com>
3634 * config/arm/arm.md (extendsfdf2): Add pattern accidentally
3635 deleted when cirrus instructions were added.
3637 2003-02-27 Jason Thorpe <thorpej@wasabisystems.com>
3639 * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Enable
3640 POSIX thread support by default.
3642 2003-02-27 Roger Sayle <roger@eyesopen.com>
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.
3649 2003-02-27 Alan Modra <amodra@bigpond.net.au>
3651 * config/rs6000/rs6000.md: Add TI constant splitter.
3653 2003-02-26 Alexandre Oliva <aoliva@redhat.com>
3655 * builtins.c (purge_builtin_constant_p): Handle subreg of
3658 * function.c (assign_stack_local_1): Truncate constant added to
3659 frame_pointer_rtx or virtual_stack_vars_rtx for Pmode.
3661 2003-02-26 David Edelsohn <edelsohn@gnu.org>
3663 * config.gcc: Add power4 to PowerPC with_cpu list.
3665 2003-02-26 Jan Hubicka <jh@suse.cz>
3667 * objc-act.c: (mark_referenced_methods): Fix compilation problem.
3669 2003-02-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
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
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
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
3697 2003-02-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
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.
3703 2003-02-26 Michael Matz <matz@suse.de>
3705 * ra-colorize.c (merge_moves): Fix list handling.
3707 2003-02-26 Nick Clifton <nickc@redhat.com>
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
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
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
3732 2003-02-25 Jan Hubicka <jh@suse.cz>
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.
3739 * c-decl.c (finish_function): Honor can_defer_p even in unit-at-a-time
3742 * optabs.c (expand_fix): Do not widen the input operand.
3744 * expr.c (emit_group_store): Fix crash when converting single
3745 register into complex register.
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
3756 2003-02-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3758 * cse.c (count_reg_usage): Fix handling of REG_EQUAL notes.
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
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.
3785 2003-02-26 David Billinghurst <David.Billinghurst@riotinto.com>
3787 * fixinc/fixincl.x: Regenerate
3789 2003-02-26 Josef Zlomek <zlomekj@suse.cz>
3791 * function.c (assign_parms): Set reg_attrs for parameters passed in
3794 2003-02-26 Alan Modra <amodra@bigpond.net.au>
3797 * tlink.c (scan_linker_output): Drop leading '.' from symbol names.
3799 2003-02-25 David Edelsohn <edelsohn@gnu.org>
3801 * config/rs6000/xcoff.h (ASM_FILE_START): Do not emit machine
3804 2003-02-25 Roger Sayle <roger@eyesopen.com>
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.
3813 2003-02-25 Roger Sayle <roger@eyesopen.com>
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.
3820 * doc/extend.texi (fmod,fmodf,fmodl): Document new built-ins.
3822 2003-02-25 Richard Henderson <rth@redhat.com>
3824 * config/i386/i386.c (function_arg): Pass variable sized
3825 structures correctly on the stack.
3827 2003-02-25 Kazu Hirata <kazu@cs.umass.edu>
3829 * reload1.c (reload_cse_move2add): Use STRICT_LOW_PART if PLUS
3830 does not reduce the cost of SET.
3832 2003-02-25 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
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.
3842 2003-02-25 Richard Henderson <rth@redhat.com>
3844 * real.c (real_to_integer2): Force overflow result only for
3847 2003-02-25 Kazu Hirata <kazu@cs.umass.edu>
3849 * gcse.c (cprop_jump): Revert the 2003-02-23 change.
3851 2003-02-25 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
3852 Richard Henderson <rth@redhat.com>
3854 * sched-ebb.c (add_deps_for_risky_insns): Add the dependence when
3855 there is no similar load.
3857 2003-02-25 Vladimir Makarov <vmakarov@redhat.com>
3858 Richard Henderson <rth@redhat.com>
3860 * sched-int.h (INSN_TRAP_CLASS, WORST_CLASS): Move them from
3862 (add_forward_dependence): New function prototype.
3864 * sched-rgn.c (INSN_TRAP_CLASS, WORST_CLASS): Move them to
3866 (CONST_BASED_ADDRESS_P, may_trap_exp, haifa_classify_insn): Move
3867 them to haifa-sched.c.
3869 * haifa-sched.c (CONST_BASED_ADDRESS_P, may_trap_exp,
3870 haifa_classify_insn): Move them from sched-rgn.c.
3872 * sched-deps.c (add_dependence): Return flag of creating a new
3874 (add_forward_dependence): New function.
3875 (compute_forward_dependences): Use the function.
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.
3881 2003-02-20 Aldy Hernandez <aldyh@redhat.com>
3883 * doc/tm.texi: Document Rename TARGET_VECTOR_TYPES_COMPATIBLE to
3884 TARGET_VECTOR_OPAQUE_P. Document accordingly.
3886 * testsuite/gcc.dg/20030218-1.c: Check that initialization of
3889 * c-typeck.c (comptypes): Change call to vector_types_compatible
3891 (convert_for_assignment): Call vector_opaque_p instead of
3892 vector_types_compatible.
3893 (really_start_incremental_init): Disallow initialization of opaque
3896 * target-def.h: Remove TARGET_VECTOR_TYPES_COMPATIBLE.
3897 Define TARGET_VECTOR_OPAQUE_P.
3898 (TARGET_INITIALIZER): Same.
3900 * target.h (struct gcc_target): Remove vector_types_compatible.
3901 Add vector_opaque_p.
3903 * config/rs6000/rs6000.c (rs6000_spe_vector_types_compatible):
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.
3910 * cp/parser.c (cp_parser_init_declarator): Call vector_opaque_p
3913 (cp_parser_init_declarator): Fix typo in function comments.
3915 2003-02-25 Jan Hubicka <jh@suse.cz>
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
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
3927 2003-02-25 Nick Clifton <nickc@redhat.com>
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.
3933 2003-02-24 Jan Hubicka <jh@suse.cz>
3935 * combine.c (simplify_shift_const): Fix previous patch.
3937 2003-02-24 Jeff Law <law@redhat.com>
3939 * i386.md (testdi_1_rex64): Discourage reload from using the %eax
3941 (testsi_1, testhi_1, testqi_1): Likewise.
3943 2003-02-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
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.
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
3954 Fixes PR c/5059, c/6126, other/9671.
3956 2003-02-24 Roger Sayle <roger@eyesopen.com>
3958 * gcc.c (do_spec_1) ['{']: Handle pending argument upon return
3959 from handle_braces in "%{...}".
3961 2003-02-24 Kaz Kojima <kkojima@gcc.gnu.org>
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.
3983 * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
3984 * configure: Regenerate.
3986 2003-02-24 Alan Modra <amodra@bigpond.net.au>
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.
4000 2003-02-23 Kazu Hirata <kazu@cs.umass.edu>
4002 * gcse.c (cprop_jump): Use the REG_EQUAL note if available.
4004 2003-02-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
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.
4013 2003-02-22 Richard Henderson <rth@redhat.com>
4015 * i386.c, i386.h (TUNEMASK): Rename from CPUMASK.
4017 2003-02-22 Kelley Cook <kelley@dwhoops.info>
4019 * i386.h, i386.c, i386.md (ix86_tune): Rename from ix86_cpu.
4020 (ix86_tune_string): Rename from ix86_cpu_string.
4022 2003-02-22 Kelley Cook <kelleycook@comcast.net>
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".
4030 2003-02-23 Andreas Schwab <schwab@suse.de>
4032 * config.gcc: Delete references to m68k/t-linux and
4034 * config/m68k/t-linux, config/m68k/t-linux-aout: Removed.
4036 2003-02-22 Jan Hubicka <jh@suse.cz>
4038 * toplev.c (rest_of_compilation): Apply fotgotten hunk
4039 of track scheduling patch.
4041 2003-02-22 Jan Hubicka <jh@suse.cz>
4043 * config/linux.h (TARGET_HAS_F_SETLKW): Define.
4044 * config/alpha/linux.h (TARGET_HAS_F_SETLKW): Likewise
4046 2003-02-22 Jan Hubicka <jh@suse.cz>
4048 * c-decl.c (c_expand_body_1): Fix.
4050 2003-02-22 Jan Hubicka <jh@suse.cz>
4052 * expmed.c (expand_divmod): Undo sign extensions for unsigned operands
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
4058 * toplev.c (rest_of_compilation): Duplicate loop headers only when
4059 optimizing; Delete trivially dead insns early; fix optimize check.
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
4076 2003-02-22 Josef Zlomek <zlomekj@suse.cz>
4078 * config/i386/i386.md: Use gen_lowpart instead of gen_rtx_REG
4079 for copying a register.
4081 2003-02-22 Steven Bosscher <s.bosscher@student.tudelft.nl>
4084 * toplev.c (process_options): If flag_detailed_statistics is set,
4085 then set time_report as well.
4088 * jump.c (never_reached_warning): Don't fall through BARRRIER
4089 insns. Update comments to reflect what the function really does.
4091 2003-02-21 Roger Sayle <roger@eyesopen.com>
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