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