1 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
3 * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
4 genmultilib, toplev.c: Fix spelling errors of "separate" as
5 "seperate", and corresponding spelling errors of related words.
7 2001-10-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9 * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
10 * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
12 * c-dump.c (dump_option_value_info): Likewise.
13 * c-format.c (format_length_info, format_char_info,
14 format_flag_spec, format_flag_pair, format_kind_info): Likewise.
15 * collect2.c (names): Likewise.
16 * cppdefault.h (default_include): Likewise.
17 * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
18 * flow.c (life_analysis): Likewise.
19 * gcc.c (dir_separator_str, modify_target, option_map,
20 target_option_translations, spec_list_1, extra_specs_1,
22 * gcov.c (gcov_version_string): Likewise.
23 * genattr.c (write_units): Likewise.
24 * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
25 * gengenrtl.c (rtx_definition, defs): Likewise.
26 * genrecog.c (pred_table): Likewise.
27 * global.c (global_alloc): Likewise.
28 * lcm.c (optimize_mode_switching): Likewise.
29 * local-alloc.c (find_free_reg): Likewise.
30 * params.h (param_info): Likewise.
31 * predict.c (predictor_info): Likewise.
32 * protoize.c (unexpansion_struct): Likewise.
33 * real.c (bmask): Likewise.
34 * recog.h (insn_operand_data, insn_data): Likewise.
35 * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
36 * stmt.c (expand_nl_goto_receiver): Likewise.
37 * toplev.c (da, debug_args, lang_opt, documented_lang_options,
38 target_switches, target_options): Likewise.
39 * tradcif.y (token, tokentab2, yylex): Likewise.
40 * tree.h (attribute_spec): Likewise.
42 * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
44 * arc.c (arc_output_function_epilogue): Likewise.
45 * arm.c (processors, all_cores, all_architectures,
46 arm_override_options, isr_attribute_arg, isr_attribute_args,
47 arm_isr_value): Likewise.
48 * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
50 * c4x.c (c4x_int_reglist): Likewise.
51 * d30v.c (override_options): Likewise.
52 * h8300.c (shift_insn): Likewise.
53 * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
54 pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
55 ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
56 builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
57 ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
58 * i386.h (processor_costs, ix86_cost): Likewise.
59 * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
60 * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
61 * m68k.c (codes_68881, codes_FPA): Likewise.
62 * m88k.c (mode_from_align, max_from_align, all_from_align,
63 best_from_align, m_options): Likewise.
64 * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
65 * mcore.c (mode_from_align): Likewise.
66 * mips/elf64.h (UNIQUE_SECTION): Likewise.
67 * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
68 * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
69 * mips.h (mips_regno_to_class): Likewise.
70 * ns32k.c (scales): Likewise.
71 * pa.c (import_string, magic_milli): Likewise.
72 * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
73 * sparc.c (leaf_reg_remap, sparc_override_options,
74 reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
76 * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
78 2001-10-07 Dale Johannesen <dalej@apple.com>
80 * reload1.c (reload_reg_free_p): Teach register interference
81 checking that multiple output reloads are emitted in
83 reload1.c (reload_reg_reaches_end_p): Ditto.
84 reload1.c (reloads_conflict): Ditto.
86 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
88 * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
89 NULL_TREE inside @code.
91 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
93 * doc/gcc.texi: Document consistent style of "32-bit",
94 "Objective-C", and "@code{NULL}".
96 2001-10-06 Zack Weinberg <zack@codesourcery.com>
98 * cpplex.c (enum spell_type): Add SPELL_NUMBER.
99 (cpp_token_len, cpp_spell_token, cpp_output_token,
100 _cpp_equiv_tokens): Handle it.
101 * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
102 CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
103 * cppexp.c (_cpp_parse_expr): Use the correct operator code in
106 Sat Oct 6 07:42:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
108 * gcc.c (default_compilers): Remove .ada.
110 2001-10-06 Neil Booth <neil@daikokuya.demon.co.uk>
112 * doc/cppinternals.texi: Update.
114 2001-10-06 Zack Weinberg <zack@codesourcery.com>
116 * gcc.c (main): Set this_file_error if the appropriate
117 compiler for a language has not been installed.
119 2001-10-06 Ulrich Weigand <uweigand@de.ibm.com>
121 * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
123 2001-10-05 Joseph S. Myers <jsm28@cam.ac.uk>
125 * gccbug.in (CATEGORIES): Add ada.
127 2001-10-05 Catherine Moore <clm@redhat.com>
129 * config/stormy16/stormy-abi: Document abi changes.
130 * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
131 (ICALL_REGS): New register class.
132 (NUM_ARGUMENT_REGISTERS): Now 6.
133 (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
135 (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
136 * config/stormy16.md (call_internal, call_value_internal,
137 indirect_jump): Use new 'z' constraint.
139 2001-10-05 Neil Booth <neil@daikokuya.demon.co.uk>
141 * doc/cppinternals.texi: Update.
143 2001-10-05 Richard Henderson <rth@redhat.com>
145 * dwarf2out.c (FRAME_BEGIN_LABEL): New.
146 (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
147 the gas section-name-as-label feature.
149 2001-10-05 Neil Booth <neil@daikokuya.demon.co.uk>
151 * doc/cppinternals.texi: Update.
153 Fri Oct 5 08:17:46 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
155 * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
156 to ensure valid SImode constants.
158 2001-10-05 Alexandre Oliva <aoliva@redhat.com>
160 * Makefile.in (c-decl.o): Depend on tree-inline.h.
161 (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
162 * c-decl.c: Include tree-inline.h.
163 (c_expand_body): Call optimize_inline_calls. Determine whether
164 a function is inlinable upfront, and only clear
165 DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
166 * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
167 (c_disregard_inline_limits): New function.
168 (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
169 (c_post_options): Enable tree inlining if inlining is enabled.
170 Don't inline trees when instrumenting functions.
171 (c_init): Initialize lang_disregard_inline_limits and
172 lang_cannot_inline_tree_fn.
173 * tree-inline.c (initialize_inlined_parameters): Handle calls
174 with fewer arguments than declared parameters, and fewer
175 parameters than passed arguments. Don't assume value is a
177 (declare_return_variable): Convert return value back to the
178 original type, if it was promoted.
179 (tree_inlinable_function_p): New function.
180 (inlinable_function_p): Don't look at DECL_INLINE if we're
181 inlining all functions. Make it work with a NULL id.
182 Re-check DECL_UNINLINABLE after language-specific checks.
183 * tree-inline.h (tree_inlinable_function_p): Declare it.
184 * integrate.c (save_for_inline): Don't bother to prepare argvec
186 * cse.c (check_for_label_ref): Don't check deleted labels.
188 * Makefile.in (tree-inline.o): Depend on newly-included headers.
189 * tree-inline.c: Include headers needed for the functions moved in.
190 (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
191 (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
192 (copy_body, initialize_inlined_parameters): Likewise.
193 (declare_return_variable, inlinable_function_p): Likewise.
194 (expand_call_inline, expand_calls_inline): Likewise.
195 (optimize_inline_calls, clone_body): Likewise.
196 (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
197 (copy_tree_r, remap_save_expr): Likewise.
199 2001-10-04 Alexandre Oliva <aoliva@redhat.com>
201 * Makefile.in (OBJS): Added tree-inline.o.
202 (c-common.o): Depend on tree-inline.h.
203 (tree-inline.o): New target.
204 * c-common.c: Include tree-inline.h.
205 (c_mark_lang_decl): Don't mark saved_tree.
206 (c_common_lang_init): Set lang_anon_aggr_type_p.
207 * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
208 (struct c_lang_decl): Moved saved_tree to tree_decl.
209 * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
210 * integrate.h (function_attribute_inlinable_p): Declare it.
211 * integrate.c (function_attribute_inlinable_p): Export it.
212 * tree-inline.c: New file. Define variables declared in...
213 * tree-inline.h: New file. Declare functions to be moved to
214 tree-inline.c. Define macros and declare types and hooks for
215 language-specific tree inlining.
216 (flag_inline_trees): Moved definition from cp/decl2.c.
217 * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
218 (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
219 (struct tree_decl): Moved saved_tree from c_lang_decl and
220 inlined_fns from C++'s lang_decl.
222 2001-10-04 Loren J. Rittle <ljrittle@acm.org>
224 * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
225 propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
227 2001-10-04 Neil Booth <neil@daikokuya.demon.co.uk>
229 * doc/cppinternals.texi: Update.
231 2001-10-04 Eric Christopher <echristo@redhat.com>
233 * config/mips/mips.c (init_cumulative_args): Remember to set
235 * config.gcc: Redo linux configuration. Add target_cpu_default
236 of soft-float to all mipsisa32 combinations and tx39.
237 * config/mips/linux.h: Remove include of mips.h.
239 2001-10-03 Loren J. Rittle <ljrittle@acm.org>
241 * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
242 HOST_LDFLAGS and HOST_CPPFLAGS.
244 2001-10-03 Ziemowit Laski <zlaski@apple.com>
246 * c-parse.in (objc_inherit_code, objc_pq_context,
247 objc_public_flag): Make static.
248 (objc_interface_context, objc_implementation_context,
249 objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
250 global tree array in objc/objc-act.[ch].
251 (methoddef): Remove unnecessary code.
253 * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
254 Hoist struct definitions to objc-act.h.
255 (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
256 cat_count): Place declaration in objc-act.h.
257 (objc_tree_index): Move enumeration to objc-act.h.
258 (objc_global_trees): Place declaration and macro accessors in
260 (implementation_context): Remove duplicate; use
261 objc_implementation_context instead:
262 (method_context): Remove duplicate; use objc_method_context
264 (objc_ellipsis_node, objc_method_prototype_template,
265 implemented_classes, function_type): Move global vars to
267 (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
268 (build_message_expr): Move actual construction of ObjC message
269 send nodes to finish_message_expr.
270 (finish_message_expr): New routine, contains code formerly in
272 * objc/objc-act.h (finish_message_expr): New prototype.
273 (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
274 declarations; these vars are now part of objc_global_trees.
275 (objc_tree_index, objc_global_trees): Move definitions from
277 * objc/objc-tree.def: Update copyright info.
279 Wed Oct 3 12:22:11 EDT 2001 John Wehle (john@feith.com)
281 * dwarf2asm.c (unaligned_integer_asm_op): Abort if
283 * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
284 only if TARGET_ARCH64.
286 2001-10-02 Bernd Schmidt <bernds@redhat.com>
288 * doc/extend.texi: Fix some problems with previous checkin.
289 * doc/invoke.texi: Likewise.
291 2001-10-02 Neil Booth <neil@daikokuya.demon.co.uk>
293 * cpphash.h: Update comments.
294 (cpp_context): Update.
295 (spec_nodes): Remove n__Pragma.
296 * cppinit.c (cpp_create_reader): Update.
297 (builtin_array): Add _Pragma.
298 * cpplib.h: Update comments.
299 (NODE_DISABLED, BT_PRAGMA): New.
300 (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
301 * cppmacro.c (struct cpp_macro): Remove disabled.
302 (builtin_macro): Return int, handle _Pragma, push the new token
303 on the context stack.
304 (funlike_invocation_p): Unconstify, update.
305 (enter_macro_context): Handle builtins here.
306 (replace_args, push_token_context, push_ptoken_context):
307 Update for prototype changes.
308 (_cpp_pop_context): Update.
309 (cpp_get_token): Don't handle buitins, nor _Pragma here.
310 (cpp_sys_macro_p): Update.
311 (_cpp_free_definition): Clear disabled flag.
312 (_cpp_create_definition): Upate.
313 * cppmain.c: Update comments.
315 Tue Oct 2 12:46:01 CEST 2001 Bo Thorsen <bo@suse.co.uk>,
316 Andreas Jaeger <aj@suse.de>,
317 Jan Hubicka <jh@suse.cz>
319 * doc/invoke.texi (i386 Options): Document x86-64 options.
320 (i386 and x86-64 Options): Rename i386 options section.
322 * config/i386/i386.h (TARGET_UNWIND_INFO): New.
323 (TARGET_SWITCHES): Add -munwind-info.
324 (MASK_NO_UNWIND_INFO): New.
325 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
327 (ASM_OUTPUT_DOUBLE_INT): New.
329 * config/i386/linux64.h: New spec file for Linux x86-64 support.
330 * config.gcc: Fix tm_file settings for x86-64.
331 * config/i386/x86-64.h: New file with OS independent x86-64
333 * config/i386/biarch64.h: New file used to configure compiler
334 to biarch/64bit compilation.
336 * config/i386/i386.c: (override_options): Set flags default
337 for 64bit compilation.
339 Tue Oct 2 12:46:01 CEST 2001 Jan Hubicka <jh@suse.cz>
341 * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
342 (ix86_expand_int_movcc): Optimize DImode conditional moves with
344 (ix86_attr_length_immediate_default): Support MODE_DI.
345 * i386.md (fixdi splitter): Add missing "&& 1" in splitter
347 (indirect_jump, tablejump): Turn into expander.
349 2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
351 * c-common.c (c_format_attribute_table): Make format and
352 format_arg attributes apply to function types rather than to
354 (is_valid_printf_arglist): Construct an attribute list and pass
355 that to check_function_format rather than a name.
356 * c-common.h (check_function_format): Adjust prototype.
357 * c-decl.c (duplicate_decls): Preserve attributes from type of
358 built-in decl when allowing for harmless conflict in types.
359 * c-format.c (record_function_format,
360 record_international_format, function_format_list,
361 international_format_info, international_format_list): Remove.
362 (function_format_info): Remove next, name and assembler_name.
363 Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
364 (decode_format_attr): New.
365 (handle_format_attribute): Handle receiving a type rather than a
366 decl. Call decode_format_attr. Store format information in a
367 function_format_info.
368 (handle_format_arg_attribute): Correct comment. Handle receiving
369 a type rather than a decl. Use unsigned HOST_WIDE_INT for
371 (check_format_info_recurse, check_format_info_main): Take argument
372 numbers as unsigned HOST_WIDE_INT.
373 (check_function_format): Take a list of attributes from the
374 function type rather than a name or assembler name. Check for
375 format attributes in that list and the attributes on the type of
376 the current function rather than looking through
377 function_format_list.
378 (check_format_info): Use unsigned HOST_WIDE_INT for argument
380 (check_format_info_recurse): Take format_arg attributes from the
381 type of the function calls rather than using
382 international_format_list. Allow for multiple format_arg
384 * c-typeck.c (build_function_call): Pass type attributes to
385 check_function_format rather than name or assembler name. Don't
386 require there to be a name or assembler name to check formats.
388 2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
390 * attribs.c (decl_attributes): Possibly call
391 insert_default_attributes to insert default attributes on
392 functions in a lazy manner.
393 * builtin-attrs.def: New file; define the default format and
394 format_arg attributes.
395 * c-common.c (c_format_attribute_table): Move to earlier in the
397 (c_common_nodes_and_builtins): Initialize format_attribute_table.
398 (enum built_in_attribute, built_in_attributes,
399 c_attrs_initialized, c_init_attributes,
400 c_common_insert_default_attributes): New.
401 (c_common_lang_init): Don't initialize format_attribute_table. Do
402 call c_init_attributes.
403 * Makefile.in (c-common.o): Depend on builtin-attrs.def.
404 * c-common.h (init_function_format_info): Don't declare.
405 (c_common_insert_default_attributes): Declare.
406 * c-decl.c (implicitly_declare, builtin_function): Call
408 (init_decl_processing): Don't call init_function_format_info.
409 (insert_default_attributes): New.
410 * c-format.c (handle_format_attribute,
411 handle_format_arg_attribute): Be quiet about inappropriate
412 declaration when applying default attributes.
413 (init_function_format_info): Remove.
414 * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
415 (insert_default_attributes): Declare.
417 2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
419 * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
421 2001-10-01 Jim Wilson <wilson@redhat.com>
423 * sched-deps.c (add_dependence): When elide conditional dependence,
424 check that insn doesn't modify cond2.
426 2001-10-01 Dale Johannesen <dalej@apple.com>
428 * config/rs6000/rs6000.h (enum processor_type): Add support
429 for 7400 (G4) and 7450.
431 * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
432 (rs6000_issue_rate): Ditto.
433 (rs6000_adjust_cost): Fix cycle counts for compares.
434 (debug_stack_info): Fix an obvious typo.
435 * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
436 * doc/invoke.texi: Document.
437 * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
439 (PROCESSOR_DEFAULT): Ditto.
441 2001-10-01 Loren J. Rittle <ljrittle@acm.org>
443 * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
444 (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
445 later recursive make invocation.
447 2001-10-01 Hans Boehm <boehm@acm.org>
449 * optabs.c (emit_libcall_block): When using non-call exceptions,
450 don't add REG_LIBCALL reg notes to trapping calls.
452 2001-10-01 David Billinghurst <David.Billinghurst@riotinto.com>
454 * flow.c (propagate_block_delete_libcall): Remove unused first arg
455 (propagate_one_insn): Update for above change
457 2001-10-01 David Billinghurst <David.Billinghurst@riotinto.com>
459 * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
460 _Unwind_GetTextRelBase): Argument is unused.
462 Mon Oct 1 19:20:57 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
464 * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
465 Loop through NOPs, placeholders, and components.
466 Don't go through NOPs if change mode.
467 (record_alias_subset): Do nothing if SUBSET and SET are the same.
468 * emit-rtl.c (set_mem_alias_set): Enable check.
469 * expr.c (find_placeholder): New function.
470 (expand_expr, case PLACEHOLDER_EXPR): Use it.
471 (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
472 to modify it and avoid unneeded copies.
473 * expr.h (expand_expr): Always define.
474 (find_placeholder): New declaration.
476 2001-10-01 Stephane Carrez <Stephane.Carrez@worldnet.fr>
478 * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
479 operand 2 is the stack pointer.
480 ("addr-peephole"): Fix address computation peephole when operand 2
481 is the stack pointer.
483 Mon Oct 1 09:26:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
485 * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
486 (ix86_setup_incoming_varargs): Likewise.
488 2001-10-01 Jason Merrill <jason_merrill@redhat.com>
490 * stor-layout.c (layout_type): Don't complain about too-large
493 Mon Oct 1 06:43:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
495 * function.c (keep_stack_depressed): Don't use delete_insn.
497 * expr.h (set_mem_alias_set): Move decl to here.
498 * rtl.h (mem_attrs): New typedef and struct.
499 (union rtunion_def): Add field for mem_attrs.
500 (X0MEMATTR, MEM_ATTRS): New macros.
501 (MEM_ALIAS_SET): Use MEM_ATTRS.
502 (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
503 (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
504 (set_mem_alias_set): Delete decl from here.
506 * alias.c (set_mem_alias_set): Delete from here.
507 * emit-rtl.c (mem_attrs_htab): New variable.
508 (rtx_htab_mark, rtx_htab_mark_1): Deleted.
509 (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
510 (mem_attrs_mark, get_mem_attrs): Likewise.
511 (gen_rtx_MEM): Clear MEM_ATTRS.
512 (set_mem_attributes): Move to here.
513 (set_mem_alias_set): Likewise, and call get_mem_attrs.
514 (init_emit_once): const_int_htab now deletable htab.
515 Initialize mem_attrs_htab.
516 * explow.c (set_mem_attributes): Delete from here.
517 * function.c (put_var_into_stack): Clear MEM_ATTRS.
518 (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
519 * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
520 * reload1.c (reload): Rework changing REG to MEM.
522 2001-09-30 H.J. Lu <hjl@gnu.org>
524 * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
525 * config.in: Rebuild.
527 2001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
529 * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
530 ("tsthi_1"): Avoid allocation in register y.
531 ("*movqi_68hc12"): Reorganize and fix constraints.
532 ("zero_extendqisi2"): Prefer d over x and y for operand 1.
533 ("addqi3"): Likewise.
534 ("addhi3"): Fix constraints.
535 ("*logicalhi3_zexthi"): Disparage soft registers.
537 2001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
539 * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
542 2001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
544 * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
545 that we use setjmp/longjmp exceptions.
547 2001-09-30 Neil Booth <neil@daikokuya.demon.co.uk>
549 * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
550 POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
551 struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
552 _cpp_pool_alloc, _cpp_next_chunk): Remove.
553 (_cpp_extend_buff, BUFF_ROOM): Update.
554 (_cpp_append_extend_buff): New.
555 (struct cpp_reader): Remove macro_pool, add a_buff.
556 * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
558 (cpp_destroy): Free a_buff instead of macro_pool.
559 * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
560 new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
561 _cpp_pool_alloc, ): Remove.
562 (parse_number, parse_string): Update use of _cpp_extend_buff.
563 (_cpp_extend_buff): Update.
564 (_cpp_append_extend_buff, cpp_aligned_alloc): New.
565 * cpplib.c (glue_header_name, parse_answer):
566 Update use of _cpp_extend_buff.
567 (cpp_register_pragma, cpp_register_pragma_space): Use
569 (do_assert, do_unassert): Check for EOL, update.
570 * cppmacro.c (stringify_arg, collect_args): Update to use
571 _cpp_extend_buff and _cpp_append_extend_buff.
572 (save_parameter, parse_params, alloc_expansion_token,
573 _cpp_create_definition): Rework memory management.
575 2001-09-29 Andris Pavenis <pavenis@lanet.lv>
577 * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
578 update md_exec_prefix.
579 (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
582 2001-09-30 Ulrich Weigand <uweigand@de.ibm.com>
584 * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
585 (SELECT_CC_MODE): Use s390_select_ccmode.
586 * config/s390/s390-protos.h (s390_select_ccmode): Add.
587 * config/s390/s390.c (s390_select_ccmode): New.
588 (s390_match_ccmode): Add CCLmode.
589 (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
590 (output_branch_condition, output_inverse_branch_condition): Removed.
591 (print_operand): Use s390_branch_condition_mnemonic.
592 * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
593 subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
594 (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
596 * config/s390/s390.c (check_and_change_labels): Preserve CC mode
597 when converting conditional branches to far branches.
598 * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
599 cmpint_di): Use CCSmode instead of CCUmode.
601 * config/s390/s390.c (legitimate_la_operand_p): New.
602 * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
603 * config/s390/s390.md (movsi): Convert load address patterns to
604 arithmetic operations when necessary.
605 (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
606 (do_la): Renamed to *do_la and use legitimate_la_operand_p.
607 (*do_la_reg_0): Don't use before reload.
609 * config/s390/s390.c (legitimize_address): Make more efficient
610 use of two-register addressing mode.
612 * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
613 with -mno-backchain in some corner cases.
615 * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
617 2001-09-29 Alexandre Oliva <aoliva@redhat.com>
619 * reload.c (find_reloads): Mark new USE insns with QImode.
620 (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
621 find_reloads_subreg_address): Likewise.
622 * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
624 * reload1.c (reload_combine_note_use): Likewise, inside USEs and
626 (reload): Make sure there are no USEs with mode other than
627 VOIDmode. At the end, remove those marked with QImode.
629 2001-09-29 Per Bothner <per@bothner.com>
631 * cppdefault.c (cpp_include_defaults): Also search PREFIX_INCLUDE_DIR.
632 * Makefile.in (includedir): Rename to local_includedir.
633 (includedir): Define as $(prefix)/include.
634 * config.in (PREFIX_INCLUDE_DIR): New variable.
635 * configure.in (PREFIX_INCLUDE_DIR): Test for new variable.
637 2001-09-29 Bernd Schmidt <bernds@redhat.com>
639 * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
641 * doc/extend.texi (Vector Extensions): New node.
642 * doc/invoke.texi (Machine Dependent Options): Add documentation for
643 i386 -mmmx, -msse, -m3dnow.
645 Sat Sep 29 15:08:16 CEST 2001 Jan Hubicka <jh@suse.cz>
647 * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
649 2001-09-29 Hans-Peter Nilsson <hp@axis.com>
651 * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
653 * doc/invoke.texi (Optimize Options): Delete spurious @table.
655 2001-09-28 Richard Henderson <rth@redhat.com>
657 * varasm.c (assemble_integer): Bound alignment check by
660 * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
662 2001-09-28 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
664 * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
666 2001-09-25 Bernd Schmidt <bernds@redhat.com>
668 Mostly from Graham Stott <grahams@redhat.com>
669 * c-common.c (type_for_mode): Add support for V2SFmode.
670 * tree.c (build_common_tree_nodes_2): Likewise.
671 * tree.h (enum tree_index, global_trees): Likewise.
672 * config/i386/i386.c (x86_3dnow_a): New variable.
673 (override_options): Support 3Dnow extensions.
674 (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
675 Athlon's version of 3Dnow.
676 (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
677 (ix86_expand_builtin): Handle them.
678 (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
679 * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
680 TARGET_3DNOW_A): New macros.
681 (TARGET_SWITCHES): Add 3Dnow switches.
682 (VALID_MMX_REG_MODE_3DNOW): New macro.
683 (VECTOR_MODE_SUPPORTED_P): Use it.
684 (enum ix86_builtins): Add entries for 3Dnow builtins.
685 * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
686 pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
687 pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
688 pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
689 pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
690 pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
691 (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
692 mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
693 mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
694 sfence_insn, prefetch): Make these available if TARGET_SSE or
697 Fri Sep 28 19:18:40 CEST 2001 Jan Hubicka <jh@suse.cz>
699 * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
700 ix86_va_start, ix86_build_va_list): Declare.
701 * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
702 ix86_va_start, ix86_build_va_list): New global functions.
703 * i386.md (sse_prologue_save_insn): New insn.
704 (sse_prologue_save): New expander.
705 * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
706 BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
708 2001-09-28 Neil Booth <neil@daikokuya.demon.co.uk>
710 * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
711 Use size_t everywhere, make definitions consistent with
714 Fri Sep 28 14:59:34 CEST 2001 Jan Hubicka <jh@suse.cz>
716 * gcse.c (replace_store_insn): Use delete_insn.
717 * loop.c (move_movables): Likewise; avoid delete_insn
718 from clobbering notes moved elsewhere.
719 (check_dbra_loop): Use delete_insn.
720 * ssa.c (convert_from_ssa): Likewise.
721 * cse.c (cse_insn): Use delete_insn.
723 2001-09-28 Neil Booth <neil@daikokuya.demon.co.uk>
725 * cpphash.h (struct cpp_buff): Make unsigned.
726 (_cpp_get_buff): Take length of size_t.
727 (_cpp_unaligned_alloc): New.
728 (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
729 (struct cpp_reader): Remove ident_pool. Add u_buff.
730 * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
731 (cpp_destroy): Destroy u_buff, not ident_pool.
732 * cpplex.c (parse_number, parse_string, save_comment,
733 cpp_token_as_text): Update to use the unaligned buffer.
734 (new_buff): Make unsigned.
735 (_cpp_unaligned_alloc): New.
736 * cpplib.c (glue_header_name): Update to use the unaligned buffer.
737 * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
739 (collect_args): Make unsigned.
741 2001-09-27 Zack Weinberg <zack@codesourcery.com>
743 * cpplex.c (cpp_output_token): Use a putc loop for
744 SPELL_OPERATOR, and fwrite for SPELL_IDENT.
746 * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
747 * configure, config.in: Regenerate.
748 * system.h: Replace fwrite and fprintf with their unlocked
749 variants if available.
751 2001-09-27 Richard Henderson <rth@redhat.com>
753 * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
754 in favour of .eh_frame.
756 2001-09-27 Aldy Hernandez <aldyh@redhat.com>
758 * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
760 (LIBCALL_VALUE): Likewise.
762 2001-09-27 Neil Booth <neil@daikokuya.demon.co.uk>
764 * cpphash.h: Update comment.
765 * cpplex.c: Update comments.
766 (_cpp_can_paste): Remove.
767 * cpplib.h (_cpp_can_paste): Remove.
768 * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
769 lexer rather than _cpp_can_paste.
771 2001-09-27 Neil Booth <neil@daikokuya.demon.co.uk>
773 * doc/cppinternals.texi: Update.
775 2001-09-26 Neil Booth <neil@daikokuya.demon.co.uk>
777 * cpphash.h (struct cpp_pool): Remove locks and locked.
778 (struct cpp_context): Add member buff.
779 (struct cpp_reader): Remove member argument_pool.
780 (_cpp_lock_pool, _cpp_unlock_pool): Remove.
781 * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
782 * cpplex.c (chunk_suitable): Remove pool argument.
783 (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
784 (new_buff, _cpp_extend_buff): Update.
785 (_cpp_get_buff): Fix silly pointer bug. Be more selective about
786 which buffer is returned.
787 (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
788 (_cpp_lock_pool, _cpp_unlock_pool): Remove.
789 * cppmacro.c (lock_pools, unlock_pools): Remove.
790 (push_ptoken_context): Take a _cpp_buff.
791 (enter_macro_context): Pool locking removed.
792 (replace_args): Use a _cpp_buff for the replacement list with
794 (push_token_context): Clear buff.
795 (expand_arg): Use _cpp_pop_context.
796 (_cpp_pop_context): Free a context's buffer, if any.
798 2001-09-26 DJ Delorie <dj@redhat.com>
800 * c-typeck.c (digest_init): Check for sizeless arrays.
802 2001-09-26 Richard Henderson <rth@redhat.com>
804 * optabs.c (init_one_libfunc): Create a dummy function type
805 instead of using error_mark_node.
807 2001-09-26 Neil Booth <neil@daikokuya.demon.co.uk>
809 * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
810 _cpp_extend_buff, _cpp_free_buff): New.
811 (struct cpp_reader): New member free_buffs.
812 * cppinit.c (cpp_destroy): Free buffers.
813 * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
814 _cpp_extend_buff, _cpp_free_buff): New.
815 * cpplib.h (struct cpp_options): Remove unused member.
816 * cppmacro.c (collect_args): New. Combines the old parse_arg
817 and parse_args. Use _cpp_buff for memory allocation.
818 (funlike_invocation_p, replace_args): Update.
820 Wed Sep 26 13:20:51 CEST 2001 Jan Hubicka <jh@suse.cz>
822 * final.c (final_scan_insn): Use delete_insn instead of delete_note.
824 2001-09-25 Andrew Haley <aph@cambridge.redhat.com>
826 * except.c (sjlj_mark_call_sites): Change address inside sequence.
828 2001-09-24 Andrew Haley <aph@cambridge.redhat.com>
830 * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
833 2001-09-25 Janis Johnson <janis187@us.ibm.com>
834 Jim Wilson <wilson@redhat.com>
836 * doc/install.texi (Specific, ia64-*-linux): Document.
838 Tue Sep 25 17:13:56 CEST 2001 Jan Hubicka <jh@suse.cz>
840 * Makefile.in (cfgrtl.o): Add.
841 * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
842 free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
843 free_aux_for_edge): Declare.
845 (HAVE_return): Undefine.
846 * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
847 free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
848 free_aux_for_edge): New global functions.
849 (first_delete_block): New static variable.
850 (init_flow): Clear first_delete_block.
851 (basic_block_for_insn, label_value_list, tail_recursion_label_list,
852 can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
853 try_redirect_by_replacing_jump, last_loop_beg_note,
854 back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
855 delete_insn, delete_insn_chain, create_basic_block_structure,
856 create_basic_block, flow_delete_block, compute_bb_for_insn,
857 free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
858 set_block_for_new_insns, split_block, merge_blocks_nomove,
859 block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
860 redirect_edge_and_branch, force_nonfallthru_and_redirect,
861 force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
862 tidy_fallthru_edges, split_edge, insert_insn_on_edge,
863 commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
864 debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
865 purge_all_dead_edges): Move to ....
866 * cfgrtl.c: New file; .... Here.
868 * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
869 (reroder_basic_block): Use alloc_aux_for_blocks.
870 * predict.c (estimate_bb_frequencies): Likewise; use
872 * profile.c (compute_branch_probabilities): Likewise.
873 (branch_prob): Likewise.
874 * reg-stack.c (reg_to_stack): Likewise.
876 * emit-rtl.c (emit_insns_after): Never return NULL.
878 * basic-block.h (set_block_for_new_insns): Delete.
879 * cfgrtl.c (set_block_for_new_insns): Delete.
881 * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
882 calls when crossjumping.
884 * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
885 * unroll.c (copy_loop_body): Use delete_insn.
887 * final.c (final, final_scan_insn): Use delete_insn/delete_note.
888 * function.c (fixup_var_refs_insn, fixup_var_refs_1,
889 keep_stack_depressed): Likewise.
890 * gcse.c (cprop_cc0_jump): Likewise.
891 * local-alloc.c (update_equiv_regs): Likewise.
892 * loop.c (scan_loop, loop_delete_insns): Likewise.
893 * regmove.c (try_auto_increment, fixup_match_1): Likewise.
894 * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
895 delete_output_reload, delete_address_reloads_1,
896 reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
898 * sibcall.c (replace_call_placeholder): Likewise.
899 * cse.c (cse_insn): Likewise.
901 2001-09-25 Bernd Schmidt <bernds@redhat.com>
903 From Graham Stott <grahams@redhat.com>
904 (def_builtin): Only define builtins appropriate for target_flags. All
906 (builtin_decsription): Add new field mask which is used to determine
907 when to define the builtin via the macro def_builtin.
909 (bdesc_comi): Initialise new mask fields.
910 (bdesc_2srg): Likewise.
911 (bdesc_1arg): Likewise.
913 * config/i386/i386.c (ix86_init_builtins): Correct return type
914 building v4hi_ftype_v4hi_int_int tree node.
915 (ix86_expand_sse_comi): Fix typo swapping operands.
916 Don't swap comparision condition, it is already swapped.
917 (ix86_expand_sse_compare): Before swapping operands
918 move operand 1 into new rtx and not the target rtx.
919 Don't swap comparison condition, it is already swapped.
920 Always check whether we need to create a new TARGET.
922 * config/i386/i386.md: (sse_comi) Fix typos.
923 (sse_ucomi): Likewise.
924 (cvtss2si): Fix operand 0 contraint.
925 (cvttss2si): Likewise.
926 (sse_unpckhps): Fix mode for operand 2.
927 (sse_unpcklps): Likewise.
929 2001-09-25 Graham Stott <grahams@redhat.com>
931 * sibcall.c (skip_copy_to_return_value): Tighten return value
934 2001-09-24 David Edelsohn <edelsohn@gnu.org>
936 * rs6000.c (lwa_operand): Address must be word aligned.
938 Mon Sep 24 18:57:59 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
940 * tree.c (type_hash_marked_p): Consider as marked if debug symbol
942 (type_hash_mark): Mark type itself.
944 2001-09-24 Neil Booth <neil@daikokuya.demon.co.uk>
946 * c-lex.c (cb_def_pragma): Update.
947 (c_lex): Update, and skip padding.
948 * cppexp.c (lex, parse_defined): Update, remove unused variable.
949 * cpphash.h (struct toklist): Delete.
951 (struct cpp_context): Update.
952 (struct cpp_reader): New members eof, avoid_paste.
953 (_cpp_temp_token): New.
954 * cppinit.c (cpp_create_reader): Update.
955 * cpplex.c (_cpp_temp_token): New.
956 (_cpp_lex_direct): Add PREV_WHITE when parsing args.
957 (cpp_output_token): Don't print leading whitespace.
958 (cpp_output_line): Update.
959 * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
960 do_include_common, do_line, do_ident, do_pragma,
961 do_pragma_dependency, _cpp_do__Pragma, parse_answer,
962 parse_assertion): Update.
963 (get_token_no_padding): New.
964 * cpplib.h (CPP_PADDING): New.
965 (AVOID_LPASTE): Delete.
966 (struct cpp_token): New union member source.
967 (cpp_get_token): Update.
968 * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
969 (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
970 replace_args, quote_string, stringify_arg, parse_arg, next_context,
971 enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
972 _cpp_backup_tokens, _cpp_create_definition): Update.
973 (push_arg_context): Delete.
974 (padding_token, push_token_context, push_ptoken_context): New.
975 (make_string_token, make_number_token): Update, rename.
976 (cpp_get_token): Update to handle tokens as pointers to const,
977 and insert padding appropriately.
978 * cppmain.c (struct printer): New member prev.
979 (check_multiline_token): Constify.
980 (do_preprocessing, cb_line_change): Update.
981 (scan_translation_unit): Update to handle spacing.
982 * scan-decls.c (get_a_token): New.
983 (skip_to_closing_brace, scan_decls): Update.
984 * fix-header.c (read_scan_file): Update.
986 * doc/cpp.texi: Update.
988 2001-09-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
990 * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC. Avoid
991 leak by passing malloc'ed pointer to reconcat, not concat.
993 2001-09-24 DJ Delorie <dj@redhat.com>
995 * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
997 2001-09-24 Ulrich Weigand <uweigand@de.ibm.com>:
999 * flow.c (delete_dead_jumptables): Delete jumptable if the only
1000 reference is from the literal pool.
1002 2001-09-24 Janis Johnson <janis187@us.ibm.com>
1004 * doc/install.texi (Final install): Request additional information
1005 in mail about successful builds.
1007 2001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
1009 * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero. Use
1010 initial value of return pointer register instead of value in frame-20.
1013 2001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
1015 * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
1016 (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
1017 the libcall if there isn't a referenced identifier for the symbol.
1019 2001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
1021 * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
1022 non 64-bit machines. Use these as a plabel for the trampoline.
1023 (TRAMPOLINE_SIZE): Adjust size for new words.
1024 (INITIALIZE_TRAMPOLINE): Initialize new words.
1025 (TRAMPOLINE_ADJUST_ADDRESS): New. Adjust address to make it a
1026 pointer to the plabel in the trampoline.
1028 2001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
1030 * pa.c (function_arg): Pass floating arguments in both general and
1031 floating registers in indirect (dynamic) calls when generating code
1032 for the 32 bit ABI and the HP assembler.
1034 2001-09-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1036 * doc/install.texi: Markup fixes.
1037 Use Solaris 2, SunOS 4 as appropriate.
1038 (Specific, *-*-solaris2*): Explain this.
1039 Unconditionally warn against /usr/ucb tools.
1040 Remove Sun as warning, obsolete.
1041 Move X11 header bug workaround here, update patches.
1042 (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
1043 (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
1045 2001-09-23 Zack Weinberg <zack@codesourcery.com>
1047 * errors.h (warning, error, fatal, internal_error): Don't mark
1048 with ATTRIBUTE_PRINTF_n.
1049 * toplev.h (internal_error, fatal_io_error, warning, error,
1050 pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
1051 error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
1054 Sun Sep 23 18:19:48 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1056 * function.c (pop_function_context_from): var_refs_queue
1057 and temp slots now in GC memory.
1058 (mark_function_status, free_after_compilation): Likewise;
1059 also struct function now in GC memory.
1060 (assign_stack_temp_for_type): struct temp_slot now in GC memory.
1061 (combine_temp_slots): Likewise.
1062 (schedule_fixup_var_refs): var_refs_queue now in GC memory.
1063 (prepare_function_start): Use GC memory for struct function.
1064 (mark_temp_slot): Deleted.
1065 (gcc_mark_struct_function): struct function now in GC memory.
1067 * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
1068 code for division, not modulus.
1070 * rtl.def (MEM): Remove obsolete part of comment.
1072 2001-09-22 Joseph S. Myers <jsm28@cam.ac.uk>
1074 * c-format.c (init_function_format_info): Check __builtin_printf
1075 and __builtin_fprintf even if -ffreestanding. Check C99 functions
1078 Sat Sep 22 09:09:32 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1080 * c-common.c (format_attribute_table): Remove decl.
1081 * tree.h (format_attribute_table, lang_attribute_table): New decls.
1082 (lang_attribute_common): Likewise.
1084 * function.c (fix_lexical_address): Use set_mem_alias_set.
1085 (expand_function_start): Likewise.
1086 * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
1088 * varasm.c (output_constant): Fix unused variable warning.
1090 * attribs.c: New file, from c-common.c.
1091 (attribute_tables): Now four elements.
1092 (format_attribute_table, lang_attribute_common): New variables.
1093 (init_attributes): Reflect above changes.
1094 (handle_mode_attribute): Delete check for wider than uintmax.
1095 * c-common.c: Delete parts moved to attribs.c.
1096 (enum attrs): Deleted; unused.
1097 (c_format_attribute_table): New variable.
1098 (c_common_lang_init): Initialize format_attribute_table with it.
1099 * c-common.h (decl_attributes): Remove decl.
1100 * tree.h (decl_attribute): Move it to here.
1101 * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
1102 (attribs.o): New rule.
1104 2001-09-22 Andreas Jaeger <aj@suse.de>
1106 * builtins.c (c_getstr): Remove unused variable.
1108 2001-09-21 Richard Henderson <rth@redhat.com>
1110 * reload1.c (reload): Use delete_insn instead of splatting
1113 2001-09-21 Richard Henderson <rth@redhat.com>
1115 * reload.c (push_secondary_reload): Don't check for "=" in output
1116 constraint after ""->ALL_REGS check.
1118 2001-09-21 Richard Henderson <rth@redhat.com>
1120 * predict.c (expected_value_to_br_prob): Use pc_set.
1122 * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
1123 ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
1125 2001-09-21 Richard Henderson <rth@redhat.com>
1127 * rtl.h (LCT_RETURNS_TWICE): New.
1128 * calls.c (emit_call_1): Set current_function_calls_setjmp for
1130 (emit_library_call_value_1): Map LCT_RETURNS_TWICE
1131 to ECF_RETURNS_TWICE.
1132 * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
1135 * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
1137 * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
1138 (JMP_BUF_SIZE): New.
1140 2001-09-21 Richard Henderson <rth@redhat.com>
1142 * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
1145 2001-09-21 Richard Henderson <rth@redhat.com>
1147 * tree.def (FDESC_EXPR): New.
1148 * expr.c (expand_expr): Handle it.
1149 * varasm.c (initializer_constant_valid_p): Likewise.
1150 (output_constant): Likewise.
1151 * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
1152 * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
1153 (ASM_OUTPUT_FDESC): New.
1154 * doc/tm.texi: Document the new macros.
1156 21-09-2001 Richard Earnshaw (reanrsha@arm.com)
1158 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
1159 ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
1160 once merging is complete.
1162 Fri Sep 21 11:20:12 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1164 * integrate.c (allocate_initial_values): Eliminate unused arg warning.
1166 21-09-2001 Richard Earnshaw (reanrsha@arm.com)
1168 * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
1169 that would be invalid after a merge.
1171 Fri Sep 21 14:24:29 CEST 2001 Jan Hubicka <jh@suse.cz>
1173 * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
1174 * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
1176 (flow_delete_insn): This one.
1177 (delete_insn_chain): Rename from ...; do not care labels.
1178 (flow_delete_insn_chain): ... this one.
1179 (flow_delete_block): Remove the insns one BB has been expunged.
1180 (merge_blocks_nomove): Likewise.
1181 (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
1182 updating BB boundaries.
1183 (tidy_fallthru_edge): Likewise.
1184 (commit_one_edge_insertion): Likewise.
1185 * cfgbuild.c (find_basic_block): Likewise.
1186 (find_basic_blocks_1): Likewise.
1187 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
1188 (try_crossjump_to_edge): Likewise.
1189 (try_optimize_cfg): Likewise.
1190 * cse.c (delete_trivially_dead_insns): Likewise.
1191 * df.c (df_insn_delete): Likewise.
1192 * doloop.c (doloop_modify): Use delete_related_insns.
1193 * emit-rtl.c (try_split): Likewise.
1194 (remove_insn): Update BB boundaries.
1195 * expect.c (connect_post_landing_pads): Use delete_related_insns.
1196 * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
1197 updating BB boundaries.
1198 (propagate_block_delete_insn): Likewise.
1199 (propagate_block_delete_libcall): Likewise.
1200 * function.c (delete_handlers): Use delete_related_insns.
1201 (thread_prologue_and_epilogue_insns): Likewise.
1202 * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
1203 * genpeep.c (gen_peephole): Use delete_related_insns.
1204 * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
1206 (find_cond_trap): Likewise.
1207 * integrate.c (save_for_inline): Use delete_related_insns.
1208 (copy_insn_list): Likewise.
1209 * jump.c (pruge_linie_number_notes): Likewise.
1210 (duplicate_loop_exit_test): Likewise.
1211 (delete_computation): Likewise.
1212 (delete_related_insn): Rename from ...; use delete_insn
1213 (delete_insn): ... this one.
1214 (redirect_jump): Use delete_related_insns.
1215 * loop.c (scan_loop): Likewise.
1216 (move_movables): Likewise.
1217 (find_and_verify_loops): Likewise.
1218 (check_dbra_loop): Likewise.
1219 * recog.c (peephole2_optimize): Likewise.
1220 * reg-stack.c (delete_insn_for_stacker): Remove.
1221 (move_for_stack_reg): Use delete_insn.
1222 * regmove.c (combine_stack_adjustments_for_block): Likewise.
1223 * reload1.c (delete_address_reloads): Use delete_related_insns.
1224 (fixup_abnormal_edges): Use delete_insn.
1225 * recog.c (emit_delay_sequence): Use delete_related_insns.
1226 (delete_from-delay_slot): Likewise.
1227 (delete_scheduled_jump): likewise.
1228 (optimize_skip): Likewise.
1229 (try_merge_delay_insns): Likewise.
1230 (full_simple_delay_slots): Likewise.
1231 (fill_slots_from_thread): Likewise.
1232 (relax_delay_slots): Likewise.
1233 (make_return_insns): Likewise.
1234 (dbr_schedule): Likewise.
1235 * rtl.h (delete_insn): Rename to delete_related_insns.
1236 (delete_insn, delete_insn_chain): New prototypes.
1237 * ssa-ccp (sse_fast_dce): Remove deleting of DEF, as it is done
1238 by df_insn_delete already.
1239 * ssa-dce.c (delete_insn_bb): Use delete_insn.
1240 * ssa.c (convert_from_ssa): Use delete_related_insns.
1241 * unroll.c (unroll_loop): Likewise.
1242 (calculate_giv_inc): Likewise.
1243 (copy_loop_body): Likewise.
1245 * i386-protos.h (ix86_libcall_value, ix86_function_value,
1246 ix86_function_arg_regno_p, ix86_function_arg_boundary,
1247 ix86_return_in_memory, ix86_function_value): Declare.
1248 * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
1249 new static valurables.
1250 (x86_64_reg_class): New enum
1251 (x86_64_reg_class_name): New array.
1252 (classify_argument, examine_argument, construct_container,
1253 merge_classes): New static functions.
1254 (optimization_options): Enable flag_omit_frame_pointer and disable
1255 flag_pcc_struct_return on 64bit.
1256 (ix86_libcall_value, ix86_function_value,
1257 ix86_function_arg_regno_p, ix86_function_arg_boundary,
1258 ix86_return_in_memory, ix86_function_value): New global functions.
1259 (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
1260 (function_arg_advance): Handle x86_64 passing conventions.
1261 (function_arg): Likewise.
1262 * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
1263 (RETURN_IN_MEMORY): Move offline.
1264 (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
1265 (FUNCTION_VALUE_REGNO_P): New macro.
1266 (FUNCTION_ARG_REGNO_P): Move offline.
1267 (struct ix86_args): Add maybe_vaarg.
1268 * next.h (FUNCTION_VALUE_REGNO_P): Delete.
1269 * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
1271 2001-09-21 Hartmut Penner <hpenner@de.ibm.com>
1273 * s390.md: Changed attributes for scheduling.
1274 * s390.c: (s390_adjust_cost, s390_adjust_priority)
1277 2001-09-21 Joseph S. Myers <jsm28@cam.ac.uk>
1279 Table-driven attributes.
1280 * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
1281 config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
1282 config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
1283 config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
1284 config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
1285 config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
1286 doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
1287 tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
1288 * tree.h (struct tree_decl): Change machine_attributes to
1290 * doc/c-tree.texi: Document that all attributes are now attached
1292 * c-common.c (add_attribute, attrtab, attrtab_idx,
1293 default_valid_lang_attribute, valid_lang_attribute): Remove.
1294 (attribute_tables, attributes_initialized,
1295 c_common_attribute_table, default_lang_attribute_table): New
1297 (handle_packed_attribute, handle_nocommon_attribute,
1298 handle_common_attribute, handle_noreturn_attribute,
1299 handle_unused_attribute, handle_const_attribute,
1300 handle_transparent_union_attribute, handle_constructor_attribute,
1301 handle_destructor_attribute, handle_mode_attribute,
1302 handle_section_attribute, handle_aligned_attribute,
1303 handle_weak_attribute, handle_alias_attribute,
1304 handle_no_instrument_function_attribute,
1305 handle_no_check_memory_usage_attribute, handle_malloc_attribute,
1306 handle_no_limit_stack_attribute, handle_pure_attribute): New
1308 (init_attributes, decl_attributes): Rewrite to implement
1309 table-driven attributes.
1310 * c-common.h (enum attribute_flags): Move to tree.h.
1311 * c-format.c (decl_handle_format_attribute,
1312 decl_handle_format_arg_attribute): Rename to
1313 handle_format_attribute and handle_format_arg_attribute. Update
1314 for table-driven attributes.
1315 * c-common.h (decl_handle_format_attribute,
1316 decl_handle_format_arg_attribute): Remove prototypes.
1317 (handle_format_attribute, handle_format_arg_attribute): Add
1319 * c-decl.c (grokdeclarator): Handle attributes nested inside
1321 * c-parse.in (setattrs, maybe_setattrs): Remove.
1322 (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
1323 Update to handle nested attributes properly.
1324 (maybe_resetattrs, after_type_declarator,
1325 parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
1326 absdcl1_ea, direct_absdcl1): Update to handle nested attributes
1328 (make_pointer_declarator): Update to handle nested attributes
1330 * doc/extend.texi: Update documentation of limits of attributes
1331 syntax. Warn about problems with attribute semantics in C++.
1332 * target.h (struct target): Remove valid_decl_attribute and
1333 valid_type_attribute. Add attribute_table and
1334 function_attribute_inlinable_p.
1335 * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
1336 TARGET_VALID_TYPE_ATTRIBUTE): Remove.
1337 (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
1339 (TARGET_INITIALIZER): Update.
1340 * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
1342 (function_attribute_inlinable_p): New function. Check for the
1343 presence of any machine attributes before using
1344 targetm.function_attribute_inlinable_p.
1345 (function_cannot_inline_p): Update.
1346 * Makefile.in (integrate.o): Update dependencies.
1347 * doc/tm.texi: Update documentation of target attributes and
1348 example definition of TARGET_VALID_TYPE_ATTRIBUTE.
1349 * tree.c (default_valid_attribute_p, valid_machine_attribute):
1351 (default_target_attribute_table,
1352 default_function_attribute_inlinable_p): New.
1353 (lookup_attribute): Update comment to clarify handling of multiple
1354 attributes with the same name.
1355 (merge_attributes, attribute_list_contained): Allow multiple
1356 attributes with the same name but different arguments to appear in
1357 the same attribute list.
1358 * tree.h (default_valid_attribute_p): Remove prototype.
1359 (struct attribute_spec): New.
1360 (default_target_attribute_table): Declare.
1361 (enum attribute_flags): Move from c-common.h. Add
1362 ATTR_FLAG_TYPE_IN_PLACE.
1363 (default_function_attribute_inlinable_p): Declare.
1364 * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
1365 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
1366 (TARGET_ATTRIBUTE_TABLE): Define.
1367 (vms_attribute_table): New.
1368 * config/arc/arc.c (arc_valid_decl_attribute): Remove.
1369 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
1370 (TARGET_ATTRIBUTE_TABLE): Define.
1371 (arc_attribute_table, arc_handle_interrupt_attribute): New.
1372 * config/arm/arm.c (arm_valid_type_attribute_p,
1373 arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
1375 (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
1377 (TARGET_ATTRIBUTE_TABLE): Define.
1378 (arm_attribute_table, arm_handle_fndecl_attribute,
1379 arm_handle_isr_attribute): New.
1380 * config/avr/avr.c (avr_valid_type_attribute,
1381 avr_valid_decl_attribute): Remove.
1382 (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
1384 (TARGET_ATTRIBUTE_TABLE): Define.
1385 (avr_attribute_table, avr_handle_progmem_attribute,
1386 avr_handle_fndecl_attribute): New.
1387 * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
1388 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
1389 (TARGET_ATTRIBUTE_TABLE): Define.
1390 (c4x_attribute_table, c4x_handle_fntype_attribute): New.
1391 * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
1392 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
1393 (TARGET_ATTRIBUTE_TABLE): Define.
1394 (h8300_attribute_table, h8300_handle_fndecl_attribute,
1395 h8300_handle_eightbit_data_attribute,
1396 h8300_handle_tiny_data_attribute): New.
1397 * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
1398 i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
1400 (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
1402 * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
1403 (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
1405 (TARGET_ATTRIBUTE_TABLE): Define.
1406 (ix86_attribute_table, ix86_handle_cdecl_attribute,
1407 ix86_handle_regparm_attribute): New.
1408 * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
1409 i386_pe_valid_type_attribute_p): Remove.
1410 (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
1411 * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
1412 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
1413 (TARGET_ATTRIBUTE_TABLE): Define.
1414 (ia64_attribute_table): New.
1415 * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
1416 interrupt_ident2, model_ident1, model_ident2): Remove.
1417 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
1418 (TARGET_ATTRIBUTE_TABLE): Define.
1419 (init_idents): Update.
1420 (m32r_attribute_table, m32r_handle_model_attribute): New.
1421 * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
1423 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
1424 (TARGET_ATTRIBUTE_TABLE): Define.
1425 (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
1426 * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
1427 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
1428 (TARGET_ATTRIBUTE_TABLE): Define.
1429 (mcore_attribute_table, mcore_handle_naked_attribute): New.
1430 * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
1431 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
1432 (TARGET_ATTRIBUTE_TABLE): Define.
1433 (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
1434 * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
1435 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
1436 (TARGET_ATTRIBUTE_TABLE): Define.
1437 (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
1438 * config/sh/sh.c (sh_valid_decl_attribute): Remove.
1439 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
1440 (TARGET_ATTRIBUTE_TABLE): Define.
1441 (sh_attribute_table, sh_handle_interrupt_handler_attribute,
1442 sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
1444 * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
1446 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
1447 (TARGET_ATTRIBUTE_TABLE): Define.
1448 (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
1450 * config/v850/v850.c (v850_valid_decl_attribute): Remove.
1451 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
1452 (TARGET_ATTRIBUTE_TABLE): Define.
1453 (v850_attribute_table, v850_handle_interrupt_attribute,
1454 v850_handle_data_area_attribute): New.
1455 * config/v850/v850-c.c (mark_current_function_as_interrupt):
1456 Return void. Call decl_attributes instead of
1457 valid_machine_attribute.
1459 Fri Sep 21 01:49:41 2001 J"orn Rennecke <amylaar@redhat.com>
1461 * sh-protos.h (sh_pr_n_sets): Declare.
1462 * sh.c (calc_live_regs): If the initial value for PR has been copied,
1463 look at the copy to determine if PR needs to be saved.
1464 sh_pr_n_sets: New function.
1465 * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
1466 (ALLOCATE_INITIAL_VALUE): Define.
1468 * sh.c (initial_elimination_offset):
1469 Fix RETURN_ADDRESS_POINTER_REGNUM case.
1471 Fri Sep 21 01:13:56 2001 J"orn Rennecke <amylaar@redhat.com>
1473 * integrate.c (allocate_initial_values): New function.
1474 * integrate.h (allocate_initial_values): Declare.
1475 * local-alloc.c (local_alloc): Move call to allocate_reg_info from
1477 * reload1.c (reload): And initialization of reg_equiv_memory_loc
1479 * toplev.c (rest_of_compilation): To here.
1480 Call allocate_initial_values.
1481 * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
1483 Thu Sep 20 09:00:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1485 * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
1487 2001-09-20 DJ Delorie <dj@redhat.com>
1489 * c-typeck.c (really_start_incremental_init): Discriminate
1490 between zero-length arrays and flexible arrays.
1491 (push_init_level): Detect zero-length arrays and handle them
1492 like fixed-sized arrays.
1493 * expr.c (store_constructor): Handle zero-length arrays and
1494 flexible arrays correctly.
1495 * doc/extend.texi: Update zero-length array notes.
1497 2001-09-20 Jim Wilson <wilson@redhat.com>
1499 * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
1500 (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
1501 for issue port conflicts.
1502 (cycle_end_fill_slots): TYPE_L instructions take two slots.
1504 2001-09-20 Andrew MacLeod <amacleod@redhat.com>
1506 * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
1509 Thu Sep 20 09:00:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1511 * fold-const.c (hashtab.h): Include.
1512 (int_const_binop): Remove FORSIZE arg and compute from type; all
1514 Call size_int_type_wide for all single-word constants.
1515 (size_htab_hash, size_htab_eq): New functions.
1516 (size_int_type_wide): Rework to use hash table.
1517 * ggc-common.c (hashtab.h): Include.
1518 (struct d_htab_root): New struct.
1519 (d_htab_roots): New variable.
1520 (ggc_add_deletable_htab, ggc_htab_delete): New functions
1521 (ggc_mark_roots): Handle deletable htabs.
1522 * ggc-page.c (ggc_marked_p): New function.
1523 * ggc-simple.c (ggc_marked_p): Likewise.
1524 * ggc.h: Reformatting throughout.
1525 (ggc_marked_p, ggc_add_deletable_htab): New declarations.
1526 * tree.c (init_obstacks): Make type_hash_table a deletable root.
1527 (type_hash_add): Allocate struct type_hash from GC memory.
1528 (mark_hash_entry, mark_type_hash): Deleted.
1529 (type_hash_marked_p, type_hash_mark): New functions.
1530 * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
1532 Thu Sep 20 12:49:34 2001 J"orn Rennecke <amylaar@redhat.com>
1534 * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
1537 Thu Sep 20 09:00:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1539 * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
1540 array-too-large test for signed sizetype.
1542 Thu Sep 20 12:19:36 CEST 2001 Jan Hubicka <jh@suse.cz>
1544 * i386.md (indirect_jump): Allow Pmode operand.
1545 (tablejump): LIkewise; perform expansion to 64bit mode.
1546 * i386.c (symbolic_operand): Allow 64bit PIC references.
1547 (pic_symbolic_operand): Likewise.
1548 (ix86_find_base_term): Strip the 64bit PIC references.
1549 (legitimate_pic_address_disp_p): Handle 64bit PIC.
1550 (legitimize_pic_address): Likewise.
1551 (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
1552 * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
1554 2001-09-19 Alexandre Petit-Bianco <apbianco@redhat.com>
1556 * stringpool.c (get_identifier_with_length): New function.
1557 * tree.h (get_identifier_with_length): New prototype.
1559 2001-09-19 Alan Modra <amodra@bigpond.net.au>
1560 David Edelsohn <edelsohn@gnu.org>
1563 * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
1564 already sign-extended.
1566 * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
1567 * config/rs6000/rs6000.c (logical_operand): Always compare op as
1569 (rs6000_emit_set_long_const): Avoid unnecessary shift.
1570 (output_profile_hook): Declare label_name const.
1571 * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
1572 to match constraints.
1574 2001-09-19 Stan Shebs <shebs@apple.com>
1576 * alias.c: Fix typos in comments.
1577 * sched-rgn.c (init_ready_list): Ditto.
1578 * unwind-dw2.c (uw_frame_state_for): Ditto.
1579 * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
1580 * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
1581 * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
1583 2001-09-19 Richard Henderson <rth@redhat.com>
1585 * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
1587 * Makefile.in (cfg.o): Depend on TM_P_H.
1589 2001-09-19 Richard Henderson <rth@redhat.com>
1591 * config/alpha/alpha.c (local_symbol_p): Split out from ...
1592 (local_symbolic_operand): ... here.
1593 (small_symbolic_operand): Check mode.
1594 (global_symbolic_operand): New.
1595 (input_operand): Reject symbolics if explicit relocs.
1596 (call_operand): Tidy.
1597 (alpha_legitimize_address): Use movdi_er_high_g.
1598 (alpha_expand_mov): Likewise.
1599 * config/alpha/alpha-protos.h: Update.
1600 * config/alpha/alpha.h (PREDICATE_CODES): Update.
1601 * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
1602 (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
1603 (UNSPECV_LDGP2): Remove.
1604 (all call patterns): Use 's' not 'i' for symbolic constraint.
1605 (call_osf call_value_osf): Use call_operand.
1606 (all osf call patterns): Use $gp. New peepholes for explicit relocs.
1607 (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
1608 (prologue_ldgp_1_er): Remove.
1609 (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
1610 (builtin_setjmp_receiver_er patterns): Use them.
1611 (exception_receiver_er): Likewise.
1613 2001-09-19 Richard Henderson <rth@redhat.com>
1615 * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
1617 * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
1618 and NON_LOCAL_GOTO notes.
1619 * recog.c (peephole2_optimize): Likewise. Handle EH_REGION;
1620 copy over CALL_INSN_FUNCTION_USAGE.
1622 2001-09-18 Catherine Moore <clm@redhat.com>
1624 * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
1627 2001-09-18 Ulrich Weigand <uweigand@de.ibm.com>:
1629 * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
1630 new-style tm_file specification. Specify correct tm_p_file,
1631 md_file, and out_file for s390x.
1633 * config/s390/linux.h, linux64.h: Don't include other target
1634 macro header files. Now handled via tm_file.
1636 * config/s390/linux.h, s390.h: (IEEE_FLOAT, TARGET_IEEE_FLOAT,
1637 TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
1638 are defined before use.
1640 Tue Sep 18 09:51:11 2001 Eric Christopher <ecechristo@redhat.com>
1642 * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
1643 code generation only for Gnu assembler.
1645 2001-09-18 Catherine Moore <clm@redhat.com>
1647 * config/stormy16 (LIB_SPEC): Remove -lnosys.
1649 2001-09-18 Richard Sandiford <rsandifo@redhat.com>
1651 * config/mips/mips.c (mips_frame_set): New.
1652 (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
1653 a parallel frame-related expression with a set for each register.
1655 2001-09-18 Philip Blundell <philb@gnu.org>
1657 * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
1660 2001-09-17 Dale Johannesen <dalej@apple.com>
1662 * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
1663 * config/rs6000/aix.h (FIXED_R2): Define.
1664 * config/rs6000/darwin.h (FIXED_R2): Define.
1665 * config/rs6000/sysv4.h (FIXED_R2): Define.
1667 2001-09-17 Jeff Sturm <jsturm@one-point.com>
1669 * except.c (dw2_build_landing_pads): New local
1670 clobbers_hard_regs. Emit an ASM_INPUT as a scheduling
1671 barrier after clobbers. Fixes c++/4012.
1673 2001-09-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1675 * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
1677 2001-09-17 Joseph S. Myers <jsm28@cam.ac.uk>
1679 * dostage2, dostage3, listing, make-l2.com, makefile.vms,
1680 patch-apollo-includes, vmsconfig.com: Remove obsolete files.
1682 2001-09-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1684 * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
1687 2001-09-17 Neil Booth <neil@daikokuya.demon.co.uk>
1689 * cpphash.h (_cpp_lex_direct): New.
1690 * cpplex.c (_cpp_lex_token): Update.
1691 (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
1692 and increment that pointer.
1693 * cppmacro.c (alloc_expansion_token): New.
1694 (lex_expansion_token): Lex macro expansion directly into
1697 2001-09-16 Brad Lucier <lucier@math.purdue.edu>
1699 * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
1701 Sun Sep 16 21:59:46 CEST 2001 Jan hubicka <jh@suse.cz>
1703 * basic-block.h (free_bb_for_insn): Declare.
1704 * bb-reorder.c (label_for_bb): Use block_label.
1705 (emit_jump_to_block_after): Remove.
1706 (insert_intra_1): Do not update block_for_insn.
1707 (insert_inter_bb_scope_notes): Likewise; update bb->end
1708 * cfg.c (free_bb_for_insn): New.
1709 (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
1710 (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
1711 (commit_one_edge_insertion): Likewise.
1712 (commit_one_edge_insertion): Do not update BB boundary.
1713 (commit_edge_insertions): Do not call compute_bb_for_insn.
1714 * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
1715 * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
1716 (merge_blocks_move_successor_nojumps): Likewise.
1717 (try_crossjump_to_edge): Do not update block_for_insn.
1718 * combine.c (combine_instructions): Remove compute_bb_for_insn call.
1719 * df.c (df_pattern_emit_later): Do not update BB boundary.
1720 (df_jump_pattern_emit_after): Likewise.
1721 (df_insn_move_before): Use emit_insn_before.
1722 * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
1724 (add_insn_after, add_insn_before, emit_insns_after): Update BB
1725 boundaries and basic_block_for_insn.
1726 (reorder_insns_nobb): Rename from reorder_insns.
1727 (reorder_insns): New.
1728 (emit_block_insn_before, emit_block_insn_after): Kill.
1729 * flow.c (check_function_return_warnings): Do not call
1730 compute_bb_for_insn; Do not free basic_block_for_insn.
1731 (attempt_auto_inc): Do not update basic_block_for_insn.
1732 * function.c (emit_return_into_block): Likewise;
1733 do not update BB boundaries.
1734 * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
1735 (insert_insn_end_bb): Use emit_insn_before; Likewise.
1736 (pre_insert_copy_insn): Likewise.
1737 (update_ld_motion_notes): Likewise.
1738 (insert_insn_start_bb): Likewise.
1739 (replace_store_insn): Likewise.
1740 * ifcvt.c (noce_process_if_block): Likewise.
1741 (if_convert): Do not call compute_bb_for_insn.
1742 * lcm.c (optimize_mode_switching): Do not update BB boundaries.
1743 Use emit_insn_before and emit_insn_after.
1744 * recog.c (split_all_insns): Do not update BB boundaries;
1745 Do not call compute_bb_for_insn.
1746 (peephole2_optimize): Do not update BB boundaries.
1747 * reg-stack.c (emit_pop_insn): Use emit_insn_after and
1749 (emit_swap_insn): Likewise.
1750 (convert_regs_1): Likewise.
1751 * reload1.c (reload): Call compute_bb_for_insn.
1752 * rtl.h (reorder_insns_nobb): Declare.
1753 * ssa.c (rename_equivalent_regs): Use emit_insn_before.
1754 * toplev.c (rest_of_compilation): Call free_bb_for_insn
1755 at places CFG is invalidated; do not call compute_bb_for_insn.
1757 * cfg.c (expunge_block): Invalidate BB structure.
1759 * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
1762 * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
1764 2001-09-16 Neil Booth <neil@daikokuya.demon.co.uk>
1766 * cpphash.h (_cpp_lex_token): Update prototype.
1767 * cpplex.c (_cpp_lex_token): New prototype.
1768 * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
1769 lex_macro_node, read_flag, do_pragma_poison): Update.
1770 * cppmacro.c (cpp_get_token, parse_params,
1771 lex_expansion_token): Update.
1773 2001-09-16 Neil Booth <neil@daikokuya.demon.co.uk>
1775 * cppmain.c (scan_translation_unit): Don't worry about
1776 putting a space after hashes.
1777 * cpplib.c (directive_diagnostics): New.
1778 (_cpp_handle_directive): Update to use directive_diagnostics.
1779 (run_directive): Don't toggle prevent_expansion.
1780 (do_line): Backup in case of the line extension.
1781 * cpplib.h (cpp_lexer_pos): Remove.
1782 * cppmacro.c (_cpp_create_definition): Precede a leading #
1785 2001-09-15 Richard Henderson <rth@redhat.com>
1787 * c-typeck.c (comptypes): Handle zero-length arrays properly.
1789 2001-09-15 Roman Lechtchinsky <rl@cs.tu-berlin.de>
1791 * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
1793 2001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
1795 PR preprocessor/3571
1796 * tradcpp.c (handle_directive): Skip non-vertical space.
1798 2001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
1800 * cppmain.c (setup_callbacks): Set line callback only
1801 if outputting preprocessed source.
1803 2001-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1805 * collect2.c (main): Const-ification.
1806 * gcc.c (translate_options, process_command): Use xstrdup in
1807 lieu of xmalloc/strcpy.
1808 (main): Use concat in lieu of xmalloc/strcpy/strcat.
1810 2001-09-14 Roman Lechtchinsky <rl@cs.tu-berlin.de>
1812 * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
1815 2001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
1817 * scan-decls.c (scan_decls): Fix typo.
1819 2001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
1821 * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
1822 Split mlstring_pos into mls_line and mls_col.
1823 * cppinit.c (cpp_create_reader): Initialize line to 1.
1824 (cpp_destroy): Free tokenruns.
1825 (push_include): Don't update lexer_pos.
1826 * cpplex.c (unterminated, parse_string): Update.
1827 (lex_token): Don't update lexer_pos, update.
1828 * cpplib.c (if_stack): Save line instead of line + col.
1829 (start_directive, _cpp_do__Pragma, do_else, do_elif,
1830 push_conditional, _cpp_pop_buffer): Update.
1831 * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
1832 (_cpp_create_definition): Update.
1834 2001-09-15 Eric Christopher <echristo@redhat.com>
1836 * config/mips/abi64.h: Add support for MEABI.
1838 2001-09-15 Eric Christopher <echristo@redhat.com>
1840 * config/mips/mips.md: Add unspec #2.
1842 (reload_outdi): Ditto.
1843 (reload_outsi): Ditto.
1846 2001-09-15 Eric Christopher <echristo@redhat.com>
1847 Jason Eckhardt <jle@redhat.com>
1849 * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
1850 * config/mips/isa32-linux.h: New file.
1851 * config/mips/isa3264.h: Ditto.
1852 * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
1853 * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
1854 (output_block_mode): Support MEABI.
1855 (function_arg): Ditto. Fix floating point arg passing.
1856 (mips_va_start): Ditto.
1857 (override_options): Add isas 32 and 64, meabi, mips32 and mips64
1859 (mips_asm_file_start): Add new section to pass abi to gdb.
1860 (function_arg_pass_by_reference): Support MEABI.
1861 (mips_parse_cpu): Support mips32 and mips64 processors.
1862 * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
1863 TARGET_MIPS5KC. Support isa32 and isa64.
1864 (processor_type): Add r4kc, r5kc, r20kc.
1865 (GENERATE_MULT3_SI): New.
1866 (GENERATE_MULT3_DI): Ditto.
1867 (GENERATE_MULT3): Remove.
1868 (ISA_HAS_64BIT_REGS): Add isa == 64.
1869 (ISA_HAS_8CC): Add mips_isa = 32 and 64.
1870 (ISA_HAS_MADD_MSUB): New.
1871 (ISA_HAS_CLZ_CLO): Ditto.
1872 (ISA_HAS_DCLZ_DCLO): Ditto.
1873 (ABI_GAS_ASM_SPEC): New.
1874 (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
1877 (SUBTARGET_CC1_SPEC): Ditto.
1878 (SUBTARGET_CPP_SIZE_SPEC): Ditto.
1879 (PAD_VARARGS_DOWN): Support MEABI.
1880 (HARD_REGNO_NREGS): Move to mips.c.
1881 (ASM_OUTPUT_IDENT): Add #undef.
1882 * config/mips/mips.md: Add r4kc, r5kc, r20kc.
1883 (mulsi3): Use GENERATE_MULT3_SI.
1884 (mulsi3_mult3): Ditto. Support mips32, mips64.
1885 (mul_acc_si): Use ISA_HAS_MADD_MSUB.
1886 (mul_sub_si): New pattern.
1887 (unnamed splitters): New.
1888 (muldi3): Use GENERATE_MULT3_DI.
1889 (muldi3_internal2): Ditto.
1890 (movdicc): Support mips32.
1891 * config/mips/t-isa3264: New file.
1893 2001-09-15 Hans-Peter Nilsson <hp@axis.com>
1895 * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
1896 || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
1897 || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
1899 * reorg.c (fill_slots_from_thread): After call to
1900 steal_delay_list_from_target, update own_thread as new_thread may
1903 2001-09-14 Neil Booth <neil@daikokuya.demon.co.uk>
1905 * cpperror.c (print_location): Take line and column, for
1906 default positioning use the previously lexed token.
1907 (_cpp_begin_message): Take line and column.
1908 (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
1909 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
1910 * cpphash.h (_cpp_begin_message): Update prototype.
1911 * cppinit.c (push_include): Don't set output line.
1912 * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
1913 * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
1914 (do_pragma): Kludge for front ends. Don't expand macros at all.
1915 * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
1916 (struct cpp_token): Remove output_line.
1917 (struct cpp_callbacks): New member line_change.
1918 * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
1919 cpp_get_token): Preserve BOL flag.
1920 (cpp_get_line): Remove.
1921 (_cpp_backup_tokens): Remove useless abort().
1922 * cppmain.c (cb_line_change): New.
1923 (scan_translation_unit): Don't worry about starting new lines here.
1924 * scan-decls.c (scan_decls): Update.
1925 * c-lex.c (c_lex, init_c_lex): Update.
1926 (cb_line_change, src_lineno): New.
1928 Fri Sep 14 13:54:50 EDT 2001 John Wehle (john@feith.com)
1930 * tree.c (append_random_chars): Generate the random
1931 characters in a reproducable fashion.
1933 2001-09-14 Richard Henderson <rth@redhat.com>
1935 * config/i386/i386.c (internal_label_prefix): New.
1936 (internal_label_prefix_len): New.
1937 (override_options): Set them.
1938 (local_symbolic_operand): New.
1939 (legitimate_pic_address_disp_p): Use it.
1940 (legitimize_pic_address): Likewise.
1942 2001-09-14 Marc Espie <espie@openbsd.org>
1944 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Generate reference to GOT
1947 2001-09-14 Roman Lechtchinsky <rl@cs.tu-berlin.de>
1949 * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
1950 * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
1952 2001-09-14 Nick Clifton <nickc@cambridge.redhat.com>
1954 * rtlanal.c (subreg_regno_offset): Add semicolon to end of
1955 invocation of SUBREG_REGNO_OFFSET.
1957 * haifa-sched.c: Fix typo in FSF copyright statement.
1958 * sched-deps.c: Fix typo in FSF copyright statement.
1959 * sched-ebb.c: Fix typo in FSF copyright statement.
1960 * sched-rgn.c: Fix typo in FSF copyright statement.
1961 * sched-vis.c: Fix typo in FSF copyright statement.
1963 * config.gcc: Move inclusion of arm elf specific header files
1964 from the files themselves into the tm_file variable. Make
1965 sure that elfos.h is included before target specific elf
1967 * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
1969 (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
1970 * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
1971 ASM_OUTPUT_CASE_LABEL): Protect definition.
1972 (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
1973 not already defined.
1974 * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
1975 LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
1976 Remove duplicate definition.
1977 (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
1978 (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
1979 (RDATA_SECTION_FUNCTION): Remove redundant definition.
1980 (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
1981 Remove inclusion of arm/elf.h.
1982 * config/arm/unknown-elf.h: as for conix-elf.h.
1983 (STARTFILE_SPEC): Include crti.o and crtn.o.
1984 * config/arm/linux-elf.h: as for conix-elf.h.
1985 * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
1986 * config/arm/strongarm-elf.h: Remove inclusion of
1988 * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
1989 * config/arm/unknown-elf-oabi.h: Remove inclusion of
1990 unknown-elf.h and elf.h.
1991 * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
1992 * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
1993 ASM_WEAKEN_LABEL): Remove redundant definition.
1994 * config/arm/elf.h: Test for inclusion of elfos.h
1995 (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
1996 ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
1997 SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
1998 EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
1999 redundant definition.
2000 (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
2001 ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
2002 ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
2003 * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
2004 Add rules to build crti.o and crtn.o
2005 * crti.asm: New file.
2006 * crtn.asm: New file.
2008 2001-09-13 Neil Booth <neil@daikokuya.demon.co.uk>
2010 * c-parse.in (_yylex): Use _cpp_backup_tokens.
2011 * cpphash.h (struct tokenrun): Add prev.
2012 (struct lexer_state): Remove bol.
2013 (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
2014 (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
2016 * cppinit.c (cpp_create_reader): Don't set bol.
2017 (cpp_destroy): Don't free lookaheads.
2018 * cpplex.c (lex_directive): Remove.
2019 (next_tokenrun): Update.
2020 (_cpp_lex_token): Clean up logic.
2021 (lex_token): Update to return a pointer to lexed token, since it
2022 can move to the start of the buffer. Simpify newline handling.
2023 * cpplib.c (SEEN_EOL): Update.
2024 (skip_rest_of_line): Remove lookahead stuff.
2025 (end_directive): Line numbers are already incremented. Revert
2026 to start of lexed token buffer if we can.
2027 (_cpp_handle_directive, do_pragma, do_pragma_dependency,
2028 parse_answer): Use _cpp_backup_tokens.
2029 (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
2030 instead. Don't check for EOL.
2031 (do_include_common, do_line, do_pragma_system_header): Use
2033 * cpplib.h (BOL, _cpp_backup_tokens): New.
2034 * cppmacro.c (save_lookahead_token, take_lookahead_token,
2035 alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
2036 cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
2037 (builtin_macro): Don't use cpp_get_line.
2038 (cpp_get_line): Short term kludge.
2039 (parse_arg): Handle directives in arguments here. Back up when
2040 appropriate. Store EOF at end of argument list.
2041 (funlike_invocation_p): Use _cpp_backup_tokens.
2042 (push_arg_context): Account for EOF at end of list.
2043 (cpp_get_token): Remove lookahead stuff. Update.
2045 2001-09-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2047 * c-parse.in (yyerror): Const-ification and/or static-ization.
2048 * c-typeck.c (push_member_name): Likewise.
2049 * collect2.c (main): Likewise.
2050 * dbxout.c (dbxout_parms): Likewise.
2051 * diagnostic.c (format_with_decl): Likewise.
2052 * dwarf2out.c (output_ranges): Likewise.
2053 * dwarfout.c (fundamental_type_code): Likewise.
2054 * except.c (dw2_output_call_site_table): Likewise.
2055 * gcc.c (do_spec_1): Likewise.
2056 * genopinit.c (optabs): Likewise.
2057 * objc/objc-act.c (synth_id_with_class_suffix, start_class,
2058 gen_declaration_1, handle_impent): Likewise.
2059 * protoize.c (default_include, in_system_include_dir, abspath):
2061 * sched-vis.c (visualize_stall_cycles): Likewise.
2062 * sdbout.c (plain_type_1, sdbout_end_function,
2063 sdbout_end_epilogue): Likewise.
2064 * varasm.c (decode_reg_name): Likewise.
2066 * 1750a.c (mod_regno_adjust): Likewise.
2067 * alpha.c (alpha_write_one_linkage,
2068 unicosmk_output_default_externs): Likewise.
2069 * arm.c (arm_condition_codes): Likewise.
2070 * arm.h (arm_condition_codes): Likewise.
2071 * avr.c (output_movsisf, encode_section_info): Likewise.
2072 * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
2074 * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
2075 * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
2076 * m88k.c (output_function_profiler): Likewise.
2077 * mips.c (mips_output_conditional_branch): Likewise.
2078 * ns32k.c (ns32k_out_reg_names): Likewise.
2079 * ns32k.h (ns32k_out_reg_names): Likewise.
2080 * pj.c (pj_output_rval): Likewise.
2081 * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
2082 * sparc.c (sparc_flat_function_prologue,
2083 sparc_flat_function_epilogue): Likewise.
2085 2001-09-13 Markus Werle <numerical.simulation@web.de>
2086 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2088 * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
2089 Aachen University of Technology".
2091 2001-09-13 Andreas Schwab <schwab@suse.de>
2093 * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
2096 2001-09-13 Richard Henderson <rth@redhat.com>
2098 * config/alpha/alpha.c (small_symbolic_operand): New.
2099 (override_options): Set MASK_SMALL_DATA based on pic/PIC.
2100 (some_operand, input_operand): Don't handle HIGH.
2101 (alpha_legitimize_address): Use it. Emit HIGH with PLUS gp.
2102 (alpha_expand_mov): Likewise.
2103 (print_operand) [H]: Just print HIGH symbol.
2104 (print_operand_address): Handle small data.
2105 * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
2106 (TARGET_SWITCHES): Add -msmall-data/large-data.
2107 (PIC_OFFSET_TABLE_REGNUM): New.
2108 (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
2109 (PREDICATE_COES): Update.
2110 * config/alpha/alpha.md (adddi_er_high): New.
2111 (adddi_er_low): Handle small data.
2112 * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
2113 prefer .sdata to .rodata.
2114 (SELECT_RTX_SECTION): Likewise.
2116 2001-09-12 Josh Martin <josh.martin@abq.sc.philips.com>
2118 * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
2119 defining __size_t and leaving size_t undefined.
2121 2001-09-12 Diego Novillo <dnovillo@redhat.com>
2123 * basic-block.h (expunge_block): Declare.
2124 * cfg.c (expunge_block): Remove static declaration.
2126 2001-09-12 Richard Henderson <rth@redhat.com>
2128 * integrate.c (copy_insn_list): Copy label name from
2129 NOTE_INSN_DELETED_LABEL.
2131 2001-09-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2133 * c-common.c (c_tree_code_name): Const-ification.
2134 * c-decl.c (c_decode_option): Likewise.
2135 * c-typeck.c (warn_for_assignment): Likewise.
2136 * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
2138 * cppinit.c (output_deps): Likewise.
2139 * dependence.c (dependence_string, direction_string): Likewise.
2140 * dwarf2out.c (output_ranges): Likewise.
2141 * fixinc/fixfixes.c (emit_gnu_type): Likewise.
2142 * fixinc/gnu-regex.c (re_error_msgid): Likewise.
2143 * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
2144 standard_startfile_prefix, standard_startfile_prefix_1,
2145 standard_startfile_prefix_2, tooldir_base_prefix,
2146 standard_bindir_prefix, find_a_file): Likewise.
2147 * genattrtab.c (make_length_attrs): Likewise.
2148 * gencheck.c (tree_codes): Likewise.
2149 * genemit.c (gen_split): Likewise.
2150 * genrecog.c (special_mode_pred_table): Likewise.
2151 * graph.c (graph_ext): Likewise.
2152 * protoize (default_include): Likewise.
2153 * reload.c (reload_when_needed_name): Likewise.
2154 * sched-vis.c (visualize_stall_cycles): Likewise.
2155 * tlink.c (recompile_files): Likewise.
2156 * toplev.c (decode_g_option): Likewise.
2157 * tradcpp.c (output_deps): Likewise.
2158 * varasm.c (decode_reg_name): Likewise.
2160 * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
2163 * avr.c (avr_regnames, encode_section_info): Likewise.
2164 * c4x.c (float_reg_names): Likewise.
2165 * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
2166 * elfos.h (const_section): Likewise.
2167 * i386.c (ix86_comp_type_attributes): Likewise.
2168 * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
2169 * ia64/aix.h (UNIQUE_SECTION): Likewise.
2170 * ia64.c (type_names): Likewise.
2171 * m68hc11.c (reg_class_names): Likewise.
2172 * m88k.c (m_options): Likewise.
2173 * mips.c (mips_output_conditional_branch, mips_unique_section):
2175 * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
2176 * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
2177 ultra_code_names): Likewise.
2178 * sparc.h (OVERRIDE_OPTIONS): Likewise.
2180 2001-09-12 Jakub Jelinek <jakub@redhat.com>
2182 * configure.in (gcc_cv_as_shf_merge): Fix a typo.
2183 Use --fatal-warnings option for gas.
2184 * configure: Rebuilt.
2186 2001-09-12 Roman Lechtchinsky <rl@cs.tu-berlin.de>
2188 * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
2190 2001-09-11 Jim Wilson <wilson@redhat.com>
2192 * alias.c (clear_reg_alias_info): Only handle pseudo registers.
2194 2001-10-11 Matt Kraai <kraai@alumni.carnegiemellon.edu>
2196 * builtins.c (c_strlen): Treat an offset too large for a
2197 HOST_WIDE_INT as out of range.
2199 Tue Sep 11 18:57:47 CEST 2001 Jan Hubicka <jh@suse.cz>
2201 * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
2202 (EDGE_CRITICAL_P): New predicate.
2203 * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
2205 (insert_insn_on_edge): Use EDGE_CRITICAL_P.
2206 (dump_edge_info): Remove "crit".
2207 * cfganal.c (mark_critical_edges): Kill.
2208 * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
2209 * cfgcleanup.c (cleanup_cfg): Likewise.
2210 * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
2211 (find_spanning_tree): Likewise.
2212 * reg-stack.c (convert_regs_1): Likewise.
2213 * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
2215 * basic-block.h (create_basic_block_structure): New.
2216 (create_basic_block): Update prototype.
2217 (force_nonfallthru): New.
2218 * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
2219 * cfg.c (create_basic_block_structure): Rename from create_basic_block;
2220 handle updating of block_for_insn, creating of empty BBs and BBs at
2221 the end of INSN chain.
2222 (create_basic_block): New function.
2223 (split_block): Use create_basic_block.
2224 (force_nonfallthru_and_redirect): Break out from ...; cleanup
2225 (redirect_edge_and_branch_force): ... here.
2226 (force_nonfallthru): New.
2227 (split_edge): Rewrite to use force_nonfallthru and create_block.
2228 * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
2229 (find_basic_blocks): Free basic_block_for_insn.
2230 * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
2232 * cfg.c: Fix formating.
2233 * cfgcleanup.c: Fix formating.
2234 (merge_blocks, tail_recursion_label_p): Return bool.
2235 (merge_blocks_move_predecessor_nojumps,
2236 merge_blocks_move_successor_nojumps): Return void.
2238 2001-09-11 Jakub Jelinek <jakub@redhat.com>
2240 * configure.in: Check whether assembler supports section merging.
2241 * config.in: Rebuilt.
2242 * configure: Rebuilt.
2243 * varasm.c (variable_section, output_constant_pool): Pass alignment
2244 to SELECT_SECTION and SELECT_RTX_SECTION.
2245 (mergeable_string_section): New.
2246 (mergeable_constant_section): New.
2247 (default_elf_asm_named_section): Output SECTION_MERGE and
2248 SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
2249 * output.h (mergeable_string_section): New.
2250 (mergeable_constant_section): New.
2251 (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
2252 * toplev.c (flag_merge_constants): New.
2253 (f_options): Add -fmerge-constants and -fmerge-all-constants
2255 (toplev_main): Default to -fno-merge-constants if not optimizing.
2256 * flags.h (flag_merge_constants): Add extern.
2257 * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
2258 * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
2260 * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
2261 Define if assembler has working .subsection -1 support.
2262 (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
2263 Put constant into special SHF_MERGE sections if the linker should
2264 attempt to merge duplicates.
2265 * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
2267 Put constant into special SHF_MERGE sections if the linker should
2268 attempt to merge duplicates.
2269 * config/alpha/elf.h: Likewise.
2270 (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
2271 has working .subsection -1 support.
2272 * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
2274 * config/svr3.h: Likewise.
2275 * config/darwin.h: Likewise.
2276 * config/arm/aof.h: Likewise.
2277 * config/arm/linux-elf.h: Likewise.
2278 * config/avr/avr.h: Likewise.
2279 * config/c4x/c4x.h: Likewise.
2280 * config/d30v/d30v.h: Likewise.
2281 * config/i386/dgux.h: Likewise.
2282 * config/i386/osfrose.h: Likewise.
2283 * config/i386/sco5.h: Likewise.
2284 * config/i386/svr3gas.h: Likewise.
2285 * config/ia64/aix.h: Likewise.
2286 * config/m32r/m32r.h: Likewise.
2287 * config/m68k/m68k.h: Likewise.
2288 * config/m88k/dgux.h: Likewise.
2289 * config/m88k/m88k.h: Likewise.
2290 * config/mcore/mcore-pe.h: Likewise.
2291 * config/mips/mips.h: Likewise.
2292 * config/pa/pa.h: Likewise.
2293 * config/pa/pa-linux.h: Likewise.
2294 * config/romp/romp.h: Likewise.
2295 * config/rs6000/sysv4.h: Likewise.
2296 * config/rs6000/xcoff.h: Likewise.
2297 * config/s390/linux.h: Likewise.
2298 * config/sparc/sparc.h: Likewise.
2299 * config/sparc/sysv4.h: Likewise.
2300 * config/stormy16/stormy16.h: Likewise.
2301 * config/v850/v850.h: Likewise.
2302 * config/vax/vms.h: Likewise.
2303 * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
2304 and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
2305 * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
2306 default_elf_asm_named_section for SHF_MERGE sections.
2308 Tue Sep 11 17:55:54 CEST 2001 Jan Hubicka <jh@suse.cz>
2310 * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
2313 2001-09-11 Joseph S. Myers <jsm28@cam.ac.uk>
2315 * c-common.c (split_specs_attrs): Allow for empty attributes with
2316 empty TREE_PURPOSE. Fixes PR c/4294.
2318 Tue Sep 11 11:37:52 CEST 2001 Jan Hubicka <jh@suse.cz>
2320 * basic-block.h (cached_make_edge, make_single_succ): New.
2321 (make_edge): Remove first parameter.
2322 * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
2323 * cfg.c (cached_make_edge): Rename from make_edge; return newly
2324 created edge; use obstack allocation.
2325 (make_edge, make_single_succ_edge): New.
2326 (first_removed_edge): New static variable.
2327 (init_flow): Initialize first_removed_edge and n_edges.
2328 (clear_edges): Use remove_edge.
2329 (flow_delete_block): Likewise.
2330 (remove_edge): Add removed edges to the removed edges list.
2331 (split_block, redirect_edge_and_branch_force, split_edge):
2333 * cfganal.c (flow_call_edges_add): Updaet make_edge call.
2334 (add_noreturn_fake_exit_edges): Likewise.
2335 (connect_infinite_loops_to_exit): Liekwise.
2336 * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
2337 Use cached_make_edge.
2338 * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
2339 * profile.c (branch_prob): Update make_edge call.
2340 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
2342 2001-09-11 Richard Henderson <rth@redhat.com>
2344 * config/alpha/alpha.c: Tidy formatting.
2345 (local_symbolic_operand): Verify mode.
2346 (alpha_sa_mask): Ignore unicos for eh_return.
2347 (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
2348 * config/alpha/alpha.md (umk divsi patterns): Remove.
2349 (extendsfdf2): Remove unicos check.
2350 (tablejump): Merge vms and unicos code; always use direct set
2353 2001-09-11 Roman Lechtchinsky <rl@cs.tu-berlin.de>
2355 * config.gcc (alpha*-*-unicosmk*): New target.
2357 * config/alpha/alpha-protos.h (symbolic_operand,
2358 unicosmk_add_call_info_word, unicosmk_add_extern,
2359 unicosmk_defer_case_vector, unicosmk_unique_section,
2360 unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
2361 unicosmk_asm_file_start, unicosmk_asm_file_end,
2362 unicosmk_output_common): Declare.
2364 * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
2365 direct_return, function_arg, alpha_va_start, alpha_va_arg,
2366 alpha_does_function_need_gp, alpha_end_function): Support Cray
2368 (alpha_init_machine_status, alpha_mark_machine_status,
2369 alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
2370 unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
2371 unicosmk_asm_named_section, unicosmk_insert_attributes,
2372 unicosmk_section_type_flags, symbolic_operand,
2373 unicosmk_output_module_name, unicosmk_output_default_externs,
2374 unicosmk_output_dex, unicosmk_output_externs,
2375 unicosmk_output_addr_vec, unicosmk_ssib_name,
2376 unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
2377 unicosmk_asm_file_end, unicosmk_output_common,
2378 unicosmk_section_type_flags, unicosmk_unique_section,
2379 unicosmk_add_call_info_word, unicosmk_text_section,
2380 unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
2381 unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
2382 unicosmk_dex_count, unicosmk_special_name): New.
2383 (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
2384 TARGET_ABI_UNICOSMK.
2385 (get_aligned_mem, alpha_expand_unaligned_load,
2386 alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
2387 alpha_expand_unaligned_store_words): Support big-endian mode.
2388 (print_operand): Likewise. New format specifier 't'. Use
2389 TARGET_AS_SLASH_BEFORE_SUFFIX.
2390 (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
2391 (alpha_pv_save_size): Update with above change.
2392 (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
2393 alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
2396 * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
2397 (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
2398 (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
2399 (EXTRA_CONSTRAINT): New constraint 'U'.
2400 (PREDICATE_CODES): Add symbolic_operand.
2402 * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
2403 UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
2404 (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
2405 (integer division and modulus patterns): Split in default and
2407 (*divmodsi_internal, *divmoddi_internal): Disable for
2408 TARGET_ABI_UNICOSMK.
2409 (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
2410 little-endian and big-endian versions.
2411 (ext, ins, msk): Likewise.
2412 (extv, extzv, insv): Support big-endian mode.
2413 (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
2414 (call_umk, call_value_umk, *call_umk, tablejump_umk,
2415 *tablejump_umk_internal, *call_value_umk): New.
2416 (*movdi_nofix): Add pattern for loading an address into a register on
2417 TARGET_ABI_UNICOSMK.
2418 (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
2419 (umk_mismatch_args, arg_home_umk): New.
2420 (various insns): Don't use mov, fmov, nop, fnop and unop.
2421 (realign): Support TARGET_ABI_UNICOSMK.
2423 * config/alpha/unicosmk.h: New file.
2424 * config/alpha/t-unicosmk: New file.
2426 * fixinc/inclhack.def (unicosmk_restrict): New.
2427 * fixinc/fixincl.x: Regenerate.
2429 * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
2430 (wchar_t): Check for and define __WCHAR_T__.
2432 2001-09-11 Richard Sandiford <rsandifo@redhat.com>
2434 * combine.c (simplify_shift_const): Treat shifts by the mode
2437 2001-09-11 Neil Booth <neil@daikokuya.demon.co.uk>
2439 * cpphash.h (struct tokenrun): New.
2440 (struct cpp_context): New member bol.
2441 (struct cpp_reader): New members.
2442 (_cpp_init_tokenrun): New.
2443 * cppinit.c (cpp_create_reader): Set up the token runs.
2444 * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
2445 (lex_token): New internalised version of _cpp_lex_token. Don't
2446 handle directives or the multiple include opimisation here any
2447 more. Simply lex a token.
2448 * cpplib.c (run_directive): Clear bol.
2449 (_cpp_pop_buffer): Set bol.
2450 * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
2453 2001-09-11 Michael Meissner <meissner@redhat.com>
2455 * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
2456 give an error if the user uses -mfp32.
2457 (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
2459 (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
2460 floating point register size.
2461 (EXTRA_SPECS): Add CPP_FPR_SPEC.
2463 * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
2464 HOST_WIDE_INT_PRINT_DEC to properly print the result of
2466 * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
2467 * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
2469 2001-09-11 Hans-Peter Nilsson <hp@axis.com>
2471 * dbxout.c (dbxout_parms): Fix typo in comment.
2472 * unroll.c (loop_find_equiv_value): Ditto.
2473 * toplev.c (rest_of_compilation): Ditto.
2474 * loop.c (scan_loop): Ditto.
2475 * dwarf2out.c (struct dw_fde_struct): Ditto.
2477 2001-09-10 Zack Weinberg <zackw@panix.com>
2479 * cpplex.c (parse_identifier): Fast-path optimize. Avoid
2480 copying identifier when we're just going to throw it away.
2481 (parse_identifier_slow): New routine to handle abnormal cases.
2482 (_cpp_lex_token): Update call site.
2484 * hashtable.c (ht_lookup): Don't assume that the string we've
2485 been given is NUL-terminated.
2486 * system.h: #define __builtin_expect(a, b) to (a) if not
2489 2001-09-10 Michael Meissner <meissner@redhat.com>
2491 * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
2494 2001-09-10 David Edelsohn <edelsohn@gnu.org>
2496 * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
2498 Mon Sep 10 16:26:44 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2500 * builtins.c (c_getstr): Correct thinko in last change and further
2503 2001-09-10 Tim Freeman <tim@fungibole.com>
2505 * dwarf2out.c (incomplete_types, decl_scope_table): Make them
2506 into varray's and register them as roots with the garbage
2507 collector so they are not collected too soon.
2509 Mon Sep 10 14:21:26 CEST 2001 Jan Hubicka <jh@suse.cz>
2511 * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
2513 * basic-block.h (flow_obstack, label_value_list,
2514 tail_recursion_label_list): Declare
2515 (tidy_fallthru_edges): Declare.
2516 (expunge_block, last_loop_beg_note): Delete.
2517 (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
2519 (basic_block_for_insn, label_value_list): Move from flow.c; make global.
2520 (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
2521 init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
2522 flow_delete_insn, flow_delete_insn_chain, create_basic_block,
2523 expunge_block, flow_delete_block, compute_bb_for_insn,
2524 update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
2525 make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
2526 redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
2527 try_redirect_by_replacing_jump, last_loop_beg_note,
2528 redirect_edge_and_branch, redirect_edge_and_branch_force,
2529 tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
2530 split_edge, insert_insn_on_edge, commit_one_edge_insertion,
2531 commit_edge_insertions, dump_flow_info, debug_flow_info,
2532 dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
2533 verify_flow_info, purge_dead_edges, purge_all_dead_edges):
2534 Move here from flow.c
2535 * cfganal.c: New file.
2536 (forwarder_block_p, can_fallthru, mark_critical_edges,
2537 mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
2538 find_unreachable_blocks, create_edge_list, free_edge_list,
2539 print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
2540 flow_edge_list_print, remove_fake_successors, remove_fake_edges,
2541 add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
2542 flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
2543 flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
2544 flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
2545 Move here from flow.c
2546 * cfgbuild.c: New file
2547 (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
2548 make_edges, find_basic_blocks_1, find_basic_blocks,
2549 find_sub_basic_blocks): Move here from flow.c
2550 * cfgcleanup.c: New file.
2551 (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
2552 merge_blocks_move_predecessor_nojumps,
2553 merge_blocks_move_successor_nojumps, merge_blocks,
2554 flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
2555 try_crossjump_bb, try_optimize_cfg): Move here from flow.c
2556 (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
2558 * cfgloop.c: New file
2559 (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
2560 flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
2561 flow_loop_exit_edges_find, flow_loop_nodes_find,
2562 flow_loop_pre_header_scan, flow_loop_pre_header_find,
2563 flow_loop_tree_node_add, flow_loops_tree_build,
2564 flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
2565 flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
2566 Move here from flow.c
2567 * flow.c: Remove everything moved elsewhere
2568 * output.h (cleanup_cfg): Return bool.
2570 * bb-reorder.c (reorder_block_def): Remove 'index'.
2571 (insert_intra_1): Add argument BB, set block for new note.
2572 (make_reorder_chain): Do not depdent on BB indexes.
2573 (make_reorder_chain_1): Do not use BB indexes.
2574 (label_for_bb): Likewise; set BB for new insn.
2575 (emit_jump_to_block_after): Likewise.
2576 (fixup_reoder_chain): Sanity check that all basic blocks
2577 are chained; verify newly created insn chain; remove
2578 undocnitional jump simplifying; Do not use BB indexes;
2579 properly initialize count and frequency information;
2580 dump reordered sequence.
2581 (insert_intra_bb_scope_notes): update call of insert_intra_1.
2582 (insert_inter_bb_scope_notes): Set block for new insn.
2583 (reorder_basic_blocks): Dump flow info before reoredering.
2585 Mon Sep 10 06:47:35 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2587 * alias.c (clear_reg_alias_info): Use K&R format definition.
2588 Avoid unsigned warning.
2589 * builtins.c: Use "unsigned int", not "unsigned".
2590 (target_char_cast): Use host_integerp and tree_low_cst.
2591 (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
2592 (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
2593 (c_getstr): Likewise.
2594 (std_expand_builtin_va_arg): Use int_size_in_bytes.
2595 (builtin_memcpy_read_str): Avoid unsigned warning.
2596 (expand_builtin_memcpy): Alignments are unsigned.
2597 (expand_builtin_strncpy, expand_builtin_memset): Likewise.
2598 (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
2599 * predict.c (expensive_function_p): LIMIT now unsigned.
2600 * resource.c (mark_target_live_regs): Make some vars unsigned.
2601 * sdbout.c: Use "unsigned int", not "unsigned".
2602 (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
2603 (sdbout_source_line): Likewise.
2604 (sdbout_record_type_name): Remove "const" for NAME declaration.
2605 * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
2607 2001-09-10 Richard Sandiford <rsandifo@redhat.com>
2609 * calls.c (store_one_arg): Expand comment.
2611 2001-09-10 Roman Lechtchinsky <rl@cs.tu-berlin.de>
2613 * calls.c (store_one_arg): Make sure that the entire argument is
2614 pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
2616 2001-09-09 Richard Henderson <rth@redhat.com>
2618 * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
2620 Sun Sep 9 10:43:17 CEST 2001 Jan Hubicka <jh@suse.cz>
2622 * loop.c (combine_givs): Fix computing of benefit once giv is combined.
2624 2001-09-09 Richard Henderson <rth@redhat.com>
2626 * config/alpha/alpha.c (alpha_next_sequence_number): New.
2627 (alpha_this_literal_sequence_number): New.
2628 (alpha_this_gpdisp_sequence_number): New.
2629 (some_operand, input_operand): Add HIGH.
2630 (local_symbolic_operand): New.
2631 (alpha_encode_section_info): New.
2632 (alpha_legitimate_address_p): Allow LO_SUM.
2633 (alpha_legitimize_address): Generate HIGH+LO_SUM.
2634 (alpha_expand_mov): Likewise.
2635 (secondary_reload_class): Check memory_operand not general_operand
2637 (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
2638 (alpha_expand_unaligned_store): Likewise.
2639 (alpha_expand_unaligned_load_words): Likewise.
2640 (alpha_expand_unaligned_store_words): Likewise.
2641 (alpha_expand_block_clear): Likewise.
2642 (print_operand): Handle %#, %*, %H.
2643 (print_operand_address): Handle LO_SUM.
2645 (alpha_does_function_need_gp): Use it.
2646 (alpha_expand_block_move): Fix signed compare warnings.
2647 (alpha_sa_mask, alpha_align_insns): Likewise.
2648 * config/alpha/alpha-protos.h: Update.
2649 * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
2650 (MASK_EXPLICIT_RELOCS): New.
2651 (TARGET_SWITCHES): Add -mexplicit-relocs.
2652 (EXTRA_CONSTRAINT): Add 'T'.
2653 (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
2654 (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
2655 (ENCODE_SECTION_INFO): Out line.
2656 (REDO_SECTION_INFO_P): New.
2657 (STRIP_NAME_ENCODING): New.
2658 (ASM_OUTPUT_LABELREF): New.
2659 (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
2660 (PREDICATE_CODES): Update.
2661 * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
2662 call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
2663 movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
2664 builtin_setjmp_receiver_er, exception_receiver_1_er,
2665 call_value_osf_1_er): New patterns.
2666 (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
2667 (movqi, movhi, movsi): Add explicit $31 base register to lda.
2668 * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
2669 (FINAL_PRESCAN_INSN): New.
2671 Sat Sep 8 22:00:55 CEST 2001 Jan Hubicka <jh@suse.cz>
2673 * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
2675 2001-09-08 Andreas Jaeger <aj@suse.de>
2677 * i386.h (TARGET_SWITCHES): Fix description.
2679 2001-09-07 David Edelsohn <edelsohn@gnu.org>
2681 * rs6000.c (num_insns_constant): Compute number of instructions
2684 * doc/install.texi: Explain AIX exception handling work-around.
2685 Update URL for AIX fixes.
2687 2001-09-07 Jim Wilson <wilson@redhat.com>
2689 * alias.c (clear_reg_alias_info): New.
2690 * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
2691 * rtl.h (clear_reg_alias_info): Declare.
2693 2001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
2695 * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
2697 (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
2698 (m16m,edivm,emulm): Change declaration to match definition.
2700 2001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
2702 * reload.c (push_reload): Check for subreg_lowpart_p instead of
2703 SUBREG_BYTE being 0 when determining if the inner part of a subreg
2706 2001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
2708 * c-common.c (signed_or_unsigned_type): Handle machine mode types
2709 which have no corresponding C type.
2710 * fold_const.c (target_isinf,target_isnan,target_negative): Update
2711 the representation of 64-bit doubles to work with 64-bit ints.
2713 2001-09-07 Aldy Hernandez <aldyh@redhat.com>
2715 * config/mips/mips.c (override_options): Do not override ISA when ABI
2716 specified if MIPS_CPU_STRING_DEFAULT was specified.
2718 2001-09-07 Richard Henderson <rth@redhat.com>
2720 * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
2721 (express_from_1): Wrap lines.
2722 * rtlanal.c (commutative_operand_precedence): Rename from
2723 operand_preference; export.
2724 * rtl.h: Declare it.
2725 * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
2726 (simplify_binary_operation): Invoke simplify_plus_minus on
2727 (CONST (PLUS ...)) as well.
2728 (struct simplify_plus_minus_op_data): New.
2729 (simplify_plus_minus_op_data_cmp): New.
2730 (simplify_plus_minus): Use them. Avoid infinite recursion with
2731 simplify_binary_operation wrt CONST.
2733 Fri Sep 7 11:52:30 2001 Kazu Hirata <kazu@hxi.com>
2735 * h8300-protos.h (general_operand_dst_push): Remove.
2736 * h8300.c (general_operand_dst_push): Likewise.
2737 * h8300.h (OK_FOR_T): Likewise.
2738 (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
2739 * h8300.md (pushqi_h8300): New.
2740 (pushqi_h8300hs): Likewise.
2742 (pushhi_h8300): Likewise.
2743 (pushhi_h8300hs): Likewise.
2746 Fri Sep 7 12:56:26 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2748 * genattrtab.c (attr_printf): First arg is unsigned.
2749 Clean up formatting of callers.
2751 2001-09-06 Aldy Hernandez <aldyh@redhat.com>
2753 * config/mips/mips.c (override_options): Allow abi32 with 64 bit
2756 2001-09-07 Andreas Jaeger <aj@suse.de>
2758 * i386.h (TARGET_SWITCHES): Fix descriptions.
2760 2001-09-07 Matt Kraai <kraai@alumni.carnegiemellon.edu>
2762 * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
2764 2001-09-06 Ira Ruben <ira@apple.com>
2766 Remove OP_IDENTIFIER.
2767 * tree.def (OP_IDENTIFIER): Remove.
2768 * tree.c (tree_node_kind enum): Remove op_id_kind.
2769 (tree_node_kind_names): Remove "op_identifiers".
2770 (make_node): Remove OP_IDENTIFIER test.
2771 (build_op_identifier): Removed because it isn't being used.
2772 * print-tree.c (print_node): Remove OP_IDENTIFIER case.
2773 * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
2775 2001-09-06 Richard Henderson <rth@redhat.com>
2777 * simplify-rtx.c (simplify_binary_operation): Revert last change.
2779 2001-09-06 Richard Henderson <rth@redhat.com>
2781 * simplify-rtx.c (simplify_binary_operation): Simplify contents
2784 2001-09-06 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2786 * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
2787 number used for CR register.
2789 Thu Sep 6 11:16:35 2001 Jeffrey A Law (law@cygnus.com)
2790 Joern Rennecke (amylaar@cygnus.com)
2792 * h8300-protos.h (h8300_return_addr_rtx): New prototype.
2793 * h8300.c (initial_offset): Handle offset between RP and FP.
2794 (h8300_return_addr_rtx): New function.
2795 * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
2797 (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
2798 (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
2799 (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
2800 (CAN_ELIMINATE, REGISTER_NAMES):
2801 (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
2803 2001-09-06 Nathan Sidwell <nathan@codesourcery.com>
2805 Remove TYPE_NONCOPIED_PARTS.
2806 * tree.h (TYPE_NONCOPIED_PARTS): Remove.
2807 (struct tree_type): Remove noncopied_parts.
2808 * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
2809 * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
2810 (fixed_type_p): Remove.
2811 (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
2812 (expand_expr, MODIFY_EXPR): Likewise.
2813 * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
2814 * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
2816 2001-09-06 Alan Modra <amodra@bigpond.net.au>
2818 * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
2820 (mask64_operand): Likewise.
2821 (includes_rldic_lshift_p): Likewise.
2822 (includes_rldicr_lshift_p): Likewise.
2824 2001-09-05 Ziemowit Laski <zlaski@apple.com>
2826 * objc/objc-act.c (build_message_expr): If a class method cannot
2827 be found, do not issue a warning if a corresponding instance
2828 method exists in the root class.
2830 2001-09-05 Richard Henderson <rth@redhat.com>
2832 * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
2834 2001-09-05 Zack Weinberg <zack@codesourcery.com>
2836 * function.c (ggc_mark_struct_function): Mark f->outer.
2837 * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
2838 * integrate.c (output_inline_function): ... not here.
2840 Wed Sep 5 17:28:49 CEST 2001 Jan Hubicka <jh@suse.cz>
2842 * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
2844 * i386.c (size_cost): New static variable.
2845 (override_function): Use size_cost when -Os is specified.
2847 * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
2848 properly; Use current_function_calls_eh_return.
2849 (ix86_expand_epilogue): Avoid dummy optimize_size tests;
2850 use leave to avoid depdendancy chain.
2852 * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
2853 get BB loop_depth instead of computing it from LOOP notes.
2855 * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
2857 2001-09-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
2859 * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2860 * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
2861 UNALIGNED_DOUBLE_INT_ASM_OP): Define
2863 2001-09-05 Jeffrey A Law (law@cygnus.com)
2864 Jason Merrill (jason@redhat.com)
2866 * stor-layout.c (layout_type): Complain if an array's size can
2867 not be represented in a size_t.
2869 * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
2871 2001-09-05 David Billinghurst <David.Billinghurst@riotinto.com>
2873 * gcc.c: (process_command) Add parentheses around assignment
2874 used as truth value.
2876 2001-09-05 Richard Sandiford <rsandifo@redhat.com>
2878 * config/mips/mips.c (save_restore_insns): Don't mark any register
2879 save slots as unchanging if current_function_calls_eh_return.
2881 2001-09-05 Richard Henderson <rth@redhat.com>
2883 * config/alpha/alpha.c (alpha_legitimate_address_p): New.
2884 * config/alpha/alpha-protos.h: Declare it.
2885 * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
2886 (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
2887 (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
2888 (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
2889 (REG_OK_FOR_BASE_P): Select one of the above.
2891 2001-09-05 Richard Sandiford <rsandifo@redhat.com>
2893 * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
2894 (crti.o): Prefix name of object file with $(T).
2897 2001-09-05 David S. Miller <davem@redhat.com>
2899 * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
2900 * config/sparc/linux64.h: Likewise.
2902 2001-09-05 Andreas Jaeger <aj@suse.de>
2904 * doc/invoke.texi (i386 Options): -mwide-multiply is not
2905 available anymore, remove the documentation.
2906 (i386 Options): Fix typo, cleanup index entries.
2908 * prefix.c (concat): Remove, we can use the version from liberty.
2910 2001-09-05 Richard Henderson <rth@redhat.com>
2912 * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
2913 New functions split out of md file expanders.
2914 * config/alpha/alpha-protos.h: Declare them.
2915 * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
2917 2001-09-05 Neil Booth <neil@daikokuya.demon.co.uk>
2919 * cppmacro.c (funlike_invocation_p): No need to restore context.
2921 2001-09-04 Richard Henderson <rth@redhat.com>
2923 * reload.c (push_reload): Export.
2924 * reload.h (push_reload): Declare it.
2926 * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
2927 (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
2928 * config/alpha/alpha.c (alpha_legitimize_address): New.
2929 (alpha_legitimize_reload_address): Likewise.
2930 * config/alpha/alpha-protos.h: Declare them.
2932 2001-09-04 Stan Shebs <shebs@apple.com>
2934 * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
2935 * config/darwin.c (machopic_stub_name): Account for internally
2936 generated lib calls such as memcpy.
2938 2001-09-04 Richard Henderson <rth@redhat.com>
2940 * unwind.h (_UA_END_OF_STACK): New flag.
2941 * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
2943 Tue Sep 4 11:16:35 2001 Jeffrey A Law (law@cygnus.com)
2945 * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
2947 2001-09-04 Richard Sandiford <rsandifo@redhat.com>
2949 * config/mips/mips.c (save_restore_insns): Change base_offset to
2950 fp_offset in second call to mips_emit_frame_related_store.
2952 2001-09-04 Hans-Peter Nilsson <hp@axis.com>
2954 * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
2955 sometimes be represented as a NOTE of type
2956 NOTE_INSN_DELETED_LABEL.
2957 (Insns): Document NOTE_INSN_DELETED_LABEL.
2959 2001-09-04 Nathan Sidwell <nathan@codesourcery.com>
2961 * c-common.h (tree_dump_index): Add more comments.
2962 * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
2963 (dump_option_value_info): New struct.
2964 (dump_options): New array.
2965 (dump_switch_p): Parse switch options symbolically.
2966 * doc/invoke.texi (-fdump-ast): Rename to ...
2967 (-fdump-tree): ... here. Document that options are symbolic, and
2968 not all are applicable.
2970 2001-09-04 David S. Miller <davem@redhat.com>
2972 * config/sparc/sparc.md (define_splits): Kill constraints.
2974 Cleanup redundant and unused insn attributes.
2975 * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
2976 binary, and move. Mark ialu as default.
2977 (commented out define_function_unit "alu"): Kill.
2978 (define_attr "use_clobbered"): Kill.
2979 (whole file): Kill address insn type references. Replace
2980 all unary/binary/move references with ialu.
2981 * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
2982 references. Replace TYPE_{UNARY,BINARY,MOVE} references with
2985 Simplify length insn attribute and make more judicious use
2986 of insn attribute defaulting.
2987 * config/sparc/sparc.md (all insns with length > one): Mark as
2988 insn type multi if real instructions, else use default if
2989 it is a forced splitter.
2990 (all insns with length == one): Use default insn length.
2991 (all insns of type ialu): Use default insn type.
2993 Fix erroneous insn attribute settings.
2994 (addx): Set insn type to misc.
2995 (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
2996 const_umulsidi3_sp64): Set insn type to imul.
2998 Track SFmode vs DFmode insns according to UltraSPARC
3000 * config/sparc/sparc.md ("fptype"): New attribute, default
3002 (all DFmode single insns): Mark as fptype "double".
3004 2001-09-03 Jakub Jelinek <jakub@redhat.com>
3006 * loop.c (express_from_1): Fix CONSTANT_P(a) case.
3008 2001-09-03 Richard Henderson <rth@redhat.com>
3010 * function.h (struct function): Add arg_pointer_save_area_init.
3011 * function.c (expand_function_end): Init arg_pointer_save_area.
3012 (get_arg_pointer_save_area): Do not init arg_pointer_save_area
3013 when called from a nested function.
3015 2001-09-02 Angela Marie Thomas <angela@cygnus.com>
3017 * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
3020 Sun Sep 2 18:37:54 CEST 2001 Jan Hubicka <jh@suse.cz>
3022 * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
3024 2001-09-01 Geoffrey Keating <geoffk@redhat.com>
3026 * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
3027 (emit_push_insn): Use specified padding direction when
3028 STACK_PUSH_CODE is POST_INC.
3030 * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
3032 2001-09-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3034 * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
3036 2001-09-01 Neil Booth <neil@daikokuya.demon.co.uk>
3038 * cppinit.c (cpp_start_read): Free the imacros list as we
3039 traverse it. Don't free the chains before returning.
3040 (_cpp_push_next_buffer): Only try pushing buffers if we've
3041 completed -imacros handling.
3043 2001-08-31 Eric Christopher <echristo@redhat.com>
3045 * gcc.c (handle_braces): Add explaination for abort.
3047 2001-08-30 Roman Zippel <zippel@linux-m68k.org>
3049 * expmed.c (store_bit_field): Update to patch from 2001-08-27:
3050 move adjustment of bitpos instead.
3052 2001-08-31 Zack Weinberg <zack@codesourcery.com>
3054 * function.c: Remove all_functions. Make outer_function_chain
3056 (init_function_start): Don't add new function structure to
3058 (find_function_data, push_function_context_to,
3059 pop_function_context_from, put_var_into_stack,
3060 trampoline_address): Update for changed structure element names.
3061 (push_function_context_to): Disentangle.
3062 (free_after_compilation): Also free F.
3063 (expand_dummy_function_end): Don't free cfun here.
3064 (put_var_into_stack): Comment why we can't use find_function_data here.
3065 (fix_lexical_addr, trampoline_address, ): Use find_function_data.
3066 (mark_function_chain): Split into maybe_mark_struct_function and
3067 ggc_mark_struct_function. Export the latter.
3068 (init_function_once): Mark from cfun and outer_function_chain;
3071 * function.h (struct function): Kill next_global. Rename next
3072 to outer. All users updated to match.
3073 (all_functions, outer_function_chain): Don't declare.
3075 * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
3076 * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
3077 don't touch f->inlinable, after calling rest_of_compilation.
3079 * tree.h: Forward-declare struct function. Prototype
3080 ggc_mark_struct_function.
3082 2001-08-31 Kazu Hirata <kazu@hxi.com>
3084 * config/h8300/h8300.md (*andorhi3): Fix typos.
3086 2001-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3088 * calls.c (emit_library_call_value): Don't use a fixed
3089 argument after VA_CLOSE, i.e. out of scope in traditional C.
3091 * emit-rtl.c (gen_rtvec): Likewise.
3093 2001-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3095 * Makefile.in (c-pragma.o): Depend on output.h.
3096 (reorg.o): Depend on except.h.
3098 * c-pragma.c: Include output.h.
3100 * reorg.c: Include except.h.
3102 * unwind-dw2.c: Call __builtin_alloca, not alloca.
3104 2001-08-31 Richard Henderson <rth@redhat.com>
3106 * sched-deps.c (add_dependence): Don't elide dependancy if the
3107 conditional used by insn is modified in elem.
3109 2001-08-31 Nick Clifton <nickc@cambridge.redhat.com>
3111 * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
3113 2001-08-31 Diego Novillo <dnovillo@redhat.com>
3115 * c-decl.c (c_decode_option): Skip '-f' prefix before calling
3118 2001-08-31 Geoffrey Keating <geoffk@redhat.com>
3120 * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
3122 (stormy16_asm_out_constructor): New function.
3123 (TARGET_ASM_CONSTRUCTOR): Define.
3124 (TARGET_ASM_DESTRUCTOR): Define.
3126 2001-08-31 Andreas Jaeger <aj@suse.de>
3128 * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
3129 * loop.c (add_label_notes): Likewise.
3130 * reload.c (find_reloads): Likewise.
3131 * config/sh/sh.c (machine_dependent_reorg): Likewise.
3133 2001-08-31 Jason Merrill <jason_merrill@redhat.com>
3135 * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
3136 code here. Take _Unwind_{W,Sw}ord*.
3137 (read_encoded_value_with_base): Use them.
3138 * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
3140 (extract_cie_info): Simplify read_?leb128 handling.
3141 (execute_stack_op, execute_cfa_program): Likewise.
3142 * unwind-dw2-fde.c (get_cie_encoding): Likewise.
3144 2001-08-31 Geoffrey Keating <geoffk@redhat.com>
3146 * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
3147 the frame pointer to pop the stack if convenient.
3149 * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
3150 Don't use post-increment before combine.
3151 * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
3152 a call-saved register.
3154 2001-08-31 Andreas Jaeger <aj@suse.de>
3156 * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
3159 2001-08-30 Geoffrey Keating <geoffk@redhat.com>
3161 * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
3162 not DIV/MOD, of course.
3164 2001-08-30 Vladimir Makarov <vmakarov@redhat.com>
3166 * rtl.def: Undo my patch commited 2001-08-27.
3168 * genattrtab.c: Ditto.
3172 * sched-int.h: Ditto.
3174 * target-def.h: Ditto.
3178 * haifa-sched.c: Ditto.
3180 * sched-rgn.c: Ditto.
3182 * sched-vis.c: Ditto.
3184 * Makefile.in: Ditto.
3186 * doc/md.texi: Ditto.
3188 * doc/tm.texi: Ditto.
3190 * doc/contrib.texi: Ditto.
3192 * doc/gcc.texi: Ditto.
3194 * genattrtab.h: Remove it.
3196 * genautomata.c: Remove it.
3198 * genattr.c: Undo my patch and Richard Henderson's patch commited
3201 Thu Aug 30 19:22:15 2001 J"orn Rennecke <amylaar@redhat.com>
3203 * config.gcc (h8300-*-elf*): New case.
3204 * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
3205 (SUBTARGET_CPP_SPEC): Define.
3206 (EXTRA_SPECS): Define.
3207 (SUBTARGET_EXTRA_SPECS): Define.
3208 * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
3209 * config/h8300/elf.h, config/h8300/t-elf: Likewise.
3211 Thu Aug 30 18:50:37 2001 J"orn Rennecke <amylaar@redhat.com>
3213 * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
3214 (LIB2FUNCS_EXTRA): Define.
3215 config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
3216 config/h8300/fixunssfsi.c: New file.
3218 2001-08-30 Kazu Hirata <kazu@hxi.com>
3220 * config/h8300/h8300.md (zero_extendqihi2): Changes to
3221 define_expand to accomodate target-specific attributes.
3222 (anonymous zero_extendqihi2 patterns): New.
3224 Thu Aug 30 18:10:56 2001 J"orn Rennecke <amylaar@redhat.com>
3226 * h8300.md (*andorhi3): New pattern.
3228 Thu Aug 30 16:00:31 2001 J"orn Rennecke <amylaar@redhat.com>
3230 * h8300.c (dosize): Fix test for "sub".
3232 Thu Aug 30 10:21:43 2001 J"orn Rennecke <amylaar@redhat.com>
3234 * c-typeck.c (pointer_diff): Try to eliminate common term before
3237 2001-08-30 Nick Clifton <nickc@cambridge.redhat.com>
3239 * config/arm/arm.c (arm_compute_initial_elimination_offset):
3240 Account for the saves of the FP registers.
3242 * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
3243 (TEXT_SECTION_ASM_OP): Define.
3244 (INIT_SECTION_ASM_OP): Define.
3245 (FINI_SECTION_ASM_OP): Define.
3246 (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
3247 (RDATA_SECTION_FUNCITON): Provide prototype.
3249 2001-08-29 Geoffrey Keating <geoffk@redhat.com>
3251 * reload1.c (move2add_note_store): Correct typo checking for
3254 2001-08-29 Andrew MacLeod <amacleod@redhat.com>
3256 * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
3257 note should not be considered outside the libcall block.
3259 2001-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3261 * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
3263 2001-08-29 Kazu Hirata <kazu@hxi.com>
3265 * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
3267 2001-08-29 Kazu Hirata <kazu@hxi.com>
3269 * config/h8300/h8300-protos.h: Add a prototype for
3271 * config/h8300/h8300.c (emit_logical_op): New.
3272 * config/h8300/h8300.md (andhi3): Use emit_logical_op.
3279 2001-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
3281 * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
3282 comparison with rtx INTVAL.
3283 (pa_output_function_prologue): Don't mix signed and unsigned in `?'
3285 * pa.h (FUNCTION_ARG_SIZE): Likewise.
3287 2001-08-29 Kazu Hirata <kazu@hxi.com>
3289 * config/h8300/lib1funcs.asm: Update the copyright. Fix
3292 2001-08-29 Kazu Hirata <kazu@hxi.com>
3294 * config/h8300/h8300.md (anonymous movhi pattern): Don't move
3295 (reg n) to (mem (pre_dec (reg n))
3296 (anonymous movsi pattern): Likewise.
3298 2001-08-29 Kazu Hirata <kazu@hxi.com>
3300 * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
3302 2001-08-29 Kazu Hirata <kazu@hxi.com>
3304 * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
3305 several special constants.
3307 2001-08-29 Kazu Hirata <kazu@hxi.com>
3309 * config/h8300/lib1funcs.asm: Fix comment typos.
3311 2001-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3313 * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
3314 Fix format specifier warnings.
3316 * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
3317 inet_makeaddr, semctl): Prototype.
3319 * mips.c (compute_frame_size): Fix signed/unsigned warnings.
3320 (save_restore_insns): Use base_offset, not gp_offset.
3322 * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
3323 (ASM_OUTPUT_BYTE): Fix format specifier warning.
3325 2001-08-29 Richard Henderson <rth@redhat.com>
3327 * bb-reorder.c (function_tail_eff_head): New.
3328 (record_effective_endpoints): Set it.
3329 (fixup_reorder_chain): Use it.
3331 2001-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3333 * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
3335 2001-08-28 Dale Johannesen <dalej@apple.com>
3337 * config/darwin.c (machopic_function_base_name): Add const
3338 qualifier to a string.
3339 (darwin_encode_section_info): Ditto.
3341 2001-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3343 * tree.c (default_valid_attribute_p): Don't use PARAMS on a
3344 function definition.
3346 2001-08-28 Daniel Berlin <dan@cgsoftware.com>
3348 * df.h (struct df): Add rts_order variable.
3350 * df.c (df_visit_next_rts): New function.
3351 (df_visit_next): Renamed to df_visit_next_rc
3352 (df_analyse_1): Allocate/compute/free rts_order as well.
3353 (df_rd_global_compute): Use df_visit_next_rc instead of
3355 (df_ru_global_compute): Use df_visit_next_rts instead of
3358 * flow.c (flow_reverse_top_sort_order_compute): New function.
3360 * basic-block.h: Add prototype.
3362 2001-08-28 Daniel Berlin <dan@cgsoftware.com>
3364 * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
3365 blocks, the BB_REACHABLE is now set, rather than aux being
3366 non-NULL. Update the test to reflect this.
3368 2001-08-28 Eric Christopher <echristo@redhat.com>
3370 * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
3371 config/mips/crti.asm: Ditto.
3373 2001-08-28 Eric Christopher <echristo@redhat.com>
3374 Richard Henderson <rth@redhat.com>
3376 * c-pragma.h (add_weak): Move prototype from here...
3377 * output.h (add_weak): ... to here.
3378 * varasm.c (add_weak): Fix typo.
3379 * config/mips/crti.asm: New file.
3380 * config/mips/crtn.asm: Ditto.
3381 * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
3382 (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
3383 (INVOKE__main): Ditto.
3384 (INIT_SECTION_ASM_OP): New.
3385 (FINI_SECTION_ASM_OP): Ditto.
3386 (STARTFILE_SPEC): Add crti.
3387 (ENDFILE_SPEC): Add crtn.
3388 * config/mips/elf64.h: Same.
3389 * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
3391 * config/mips/vxworks.h: Ditto.
3392 * config/mips/t-elf: Support crti and crtn.
3394 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
3396 * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
3399 2001-08-28 Richard Henderson <rth@redhat.com>
3401 * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
3402 (one_cmplbi2 splitter): Remove redundant test.
3404 2001-08-28 Dale Johannesen <dalej@apple.com>
3406 * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
3408 2001-08-28 Danny Smith <dannysmith@users.sourceforge.net>
3410 * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
3412 2001-08-28 Stan Shebs <shebs@apple.com>
3414 * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
3415 (UNALIGNED_SHORT_ASM_OP): Define.
3416 (UNALIGNED_INT_ASM_OP): Define.
3418 2001-08-28 Will Cohen <wcohen@redhat.com>
3420 * config/rs6000/rs6000.md (store_multiple): Correct RTL
3421 generation for first set.
3423 2001-08-27 Roman Zippel <zippel@linux-m68k.org>
3425 * flow.c (redirect_edge_succ_nodup): Return new edge.
3426 (try_simplify_condjump): Use new edge.
3427 * basic-block.h (redirect_edge_succ_nodup): Update prototype.
3429 * cse.c (cse_basic_block): Skip note instructions.
3431 2001-08-27 Richard Henderson <rth@redhat.com>
3433 * combine.c (combine_simplify_rtx): Don't reverse condition
3434 if there is no reverse for the condition.
3435 (simplify_comparison): Don't simplify subregs from INT to FP.
3437 * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
3438 suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
3439 sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
3440 bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
3441 bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
3442 bunle_rev, bunlt_rev, bltgt_rev): New patterns.
3444 2001-08-27 Roman Zippel <zippel@linux-m68k.org>
3446 * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
3447 bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
3449 (adddi_dilshr32, adddi_dishl32): Only data register can be
3450 source for mem destination.
3452 * expmed.c (store_bit_field): Ignore adjustment to bitpos
3453 and use bitnum to decide about register move.
3455 2001-08-27 Richard Henderson <rth@redhat.com>
3457 * genattr.c (main): Emit state_t even when not doing scheduling.
3459 2001-08-27 Roman Zippel <zippel@linux-m68k.org>
3460 Richard Henderson <rth@redhat.com>
3462 * gcse.c (reg_first_set, reg_last_set): Replace with ...
3463 (reg_avail_info, current_bb): ... these.
3464 (oprs_unchanged_p, record_last_reg_set_info): Use them.
3465 (compute_hash_table): Likewise.
3467 2001-08-27 Roman Zippel <zippel@linux-m68k.org>
3469 * flow.c (verify_flow_info): Use checksums to verify edges.
3471 2001-08-27 Richard Henderson <rth@redhat.com>
3473 * genautomata.c (expand_automata): Always create a description.
3475 2001-08-27 Geoffrey Keating <geoffk@redhat.com>
3477 * optabs.c (expand_binop): Correctly handle the carry in multiword
3478 add/subtract operations.
3480 2001-08-27 Fred Fish <fnf@be.com>
3482 * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
3485 2001-08-27 Geoffrey Keating <geoffk@redhat.com>
3487 * reload.c (find_reloads_toplev): Back out this change:
3489 Wed Jul 26 19:44:05 2000 Hans-Peter Nilsson <hp@axis.com>
3491 * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
3492 mem if the address is a mode_dependent_address_p.
3494 2001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
3496 * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
3497 PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
3498 AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
3501 * genattr.c (main): New variable num_insn_reservations. Increase
3502 it if there is DEFINE_INSN_RESERVATION. Output automaton based
3503 pipeline hazard recognizer interface.
3505 * genattrtab.h: New file.
3507 * genattrtab.c: Include genattrtab.h.
3508 (attr_printf, check_attr_test, make_internal_attr,
3509 make_numeric_value): Move protypes into genattrtab.h. Define them
3511 (num_dfa_decls): New global variable.
3512 (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
3513 DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
3514 DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
3515 DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
3517 * genautomata.c: New file.
3519 * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
3521 * sched-int.h: (curr_state): Add the external definition for
3522 automaton pipeline interface.
3523 (haifa_insn_data): Add comments for members blockage and units.
3525 * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
3526 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
3527 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
3528 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
3529 TARGET_SCHED_DFA_POST_CYCLE_INSN,
3530 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
3531 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
3533 (TARGET_SCHED): Use the new macros.
3535 * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
3536 dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
3537 first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
3538 dfa_bubble): New members in gcc_target.sched.
3540 * haifa-sched.c (insert_schedule_bubbles_p): New variable.
3541 (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
3542 (insn_queue): Redefine it as pointer to array.
3543 (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
3545 (max_insn_queue_index_macro_value): New variable.
3546 (curr_state, dfa_state_size, ready_try): New varaibles for
3547 automaton interface.
3548 (ready_element, ready_remove, max_issue): New function prototypes
3549 for automaton interface.
3550 (choose_ready): New function prototype.
3551 (insn_unit, blockage_range): Add comments.
3552 (unit_last_insn, unit_tick, unit_n_insns): Define them for case
3553 FUNCTION_UNITS_SIZE == 0.
3554 (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
3555 actual_hazard, potential_hazard): Add comments.
3556 (insn_cost): Use cost -1 as undefined value. Remove
3557 LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
3559 (ready_element, ready_remove): New functions for automaton
3561 (schedule_insn): Add new code for automaton pipeline interface.
3562 (queue_to_ready): Add new code for automaton pipeline interface.
3563 Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
3564 (debug_ready_list): Print newline when the queue is empty.
3565 (max_issue): New function for automaton pipeline interface.
3566 (choose_ready): New function.
3567 (schedule_block): Add new code for automaton pipeline interface.
3568 Print ready list before scheduling each insn.
3569 (sched_init): Add new code for automaton pipeline interface.
3570 Initiate insn cost by -1.
3571 (sched_finish): Free the current automaton state and finalize
3572 automaton pipeline interface.
3574 * sched-rgn.c: Include target.h.
3575 (init_ready_list, new_ready, debug_dependencies): Add new code for
3576 automaton pipeline interface.
3578 * sched-vis.c: Include target.h.
3579 (get_visual_tbl_length): Add code for automaton interface.
3580 (target_units, print_block_visualization): Add comments.
3582 * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
3583 USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
3584 (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
3585 (getruntime.o, genautomata.o): New entries.
3586 (genattrtab.o): Add new dependency file genattrtab.h.
3587 (genattrtab): Add new dependencies. Link it with `libm.a'.
3588 (getruntime.o, hashtab.o): New entries for canadian cross.
3590 * doc/md.texi: Description of automaton based model.
3592 * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
3594 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
3595 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
3596 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
3597 TARGET_SCHED_DFA_POST_CYCLE_INSN,
3598 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
3599 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
3600 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
3602 (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
3603 MAX_DFA_ISSUE_RATE): New macro descriptions.
3605 * doc/contrib.texi: Add dfa based scheduler contribution.
3607 * doc/gcc.texi: Add more information about genattrtab.
3609 2001-08-27 Diego Novillo <dnovillo@redhat.com>
3611 * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
3614 2001-08-27 Richard Henderson <rth@redhat.com>
3616 * function.c (expand_function_end): Don't init arg_pointer_save_area.
3617 (get_arg_pointer_save_area): New. Create an init it here.
3618 (fix_lexical_addr): Use it.
3619 * function.h: Declare it.
3620 * builtins.c (expand_builtin_setjmp_receiver): Use it.
3621 * stmt.c (expand_nl_goto_receiver): Use it.
3623 2001-08-27 Richard Henderson <rth@redhat.com>
3625 * final.c (final_scan_insn): Don't enter APP_ON mode for
3628 * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
3629 alignment for assemble_integer for DW_EH_PE_aligned.
3630 * except.c (output_function_exception_table): Likewise.
3632 2001-08-26 Andreas Jaeger <aj@suse.de>
3634 * c-tree.h: Add prototyp for c_sizeof_nowarn.
3636 2001-08-25 Dan Nicolaescu <dann@ics.uci.edu>
3638 * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
3640 2001-08-27 Alan Modra <amodra@bigpond.net.au>
3642 * config/rs6000/rs6000.c (mask_operand): Rewrite without
3644 (mask64_operand): Likewise.
3645 (rldic_operand): Delete.
3646 (includes_lshift64_p): Delete.
3647 (includes_rldic_lshift_p): New function.
3648 (includes_rldicr_lshift_p): New function.
3649 (print_operand): Don't call rldic_operand in case 'W'.
3650 * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
3651 (includes_lshift64_p): Remove.
3652 (includes_rldic_lshift_p): Declare.
3653 (includes_rldicr_lshift_p): Declare.
3654 * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
3655 * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
3656 Replace match_operand rldic_operand predicate with
3657 const_int_operand. Replace includes_lshift64_p condition with
3658 includes_rldic_lshift_p.
3659 <ashldi3_internal 64 bit rldicr patterns>: New.
3661 2001-08-27 Andreas Jaeger <aj@suse.de>
3663 * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
3664 * errors.c: Likewise.
3665 * final.c: Likewise.
3666 * dwarf2asm.c: Likewise.
3667 * doprint.c (checkit): Likewise.
3668 * diagnostic.c: Likewise.
3669 * collect2.c: Likewise.
3670 * calls.c: Likewise.
3671 * c-semantics.c (build_stmt): Likewise.
3672 * c-format.c (status_warning): Likewise.
3673 * c-errors.c (pedwarn_c99): Likewise.
3674 * builtins.c (validate_arglist): Likewise.
3675 * config/pj/pj.c (pj_printf): Likewise.
3676 * fix-header.c: Likewise.
3678 * gcov.c (fnotice): Likewise.
3679 * gensupport.c (message_with_line): Likewise.
3680 * mips-tfile.c: Likewise.
3681 * protoize.c (notice): Likewise.
3682 * read-rtl.c (fatal_with_file_and_line): Likewise.
3683 * rtl-error.c: Likewise.
3684 * tradcpp.c: Likewise.
3686 * cp/tree.c (build_min_nt): Likewise.
3687 (build_min): Likewise.
3688 * cp/lex.c: Likewise.
3689 * cp/errfn.c: Likewise.
3690 * cp/rtti.c (create_pseudo_type_info): Likewise.
3692 Sun Aug 26 20:25:44 2001 Denis Chertykov <denisc@overta.ru>
3694 * df.c (df_uses_record): Return after recording all uses
3697 2001-08-26 Daniel Berlin <dan@cgsoftware.com>
3699 * df.c (df_insn_modify): Realloc the INSN table here, if
3700 necessary, here, too.
3702 2001-08-26 Aldy Hernandez <aldyh@redhat.com>
3704 * config/mips/mips.c (mips_function_value): Handle complex return
3707 2001-08-25 Hans-Peter Nilsson <hp@bitrange.com>
3709 * reload1.c (reload): Make all entries in reg_equiv_memory_loc
3711 * reload.c (make_memloc): Copy result if it is still
3712 reg_equiv_memory_loc[regno] on return.
3713 (subst_reloads) [ENABLE_CHECKING]: Check that none of
3714 reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
3715 reg_equiv_mem are modified by the substitutions.
3717 Sat Aug 25 23:07:35 CEST 2001 Jan Hubicka <jh@suse.cz>
3719 * predict.c (expensive_function_p): New.
3720 * rtl.h (expensive_function_p): Declare.
3721 * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
3722 (use_fast_prologue_epilogue): New static variable.
3723 (expand_prologue): Set it; emit short prologues if unset.
3724 (expand_epilogue): Likewise.
3726 2001-08-22 Geoffrey Keating <geoffk@redhat.com>
3728 * config.gcc: Add stormy16-*-elf case.
3729 * config/stormy16/stormy-abi: New file.
3730 * config/stormy16/stormy16-lib2.c: New file.
3731 * config/stormy16/stormy16-protos.h: New file.
3732 * config/stormy16/stormy16.c: New file.
3733 * config/stormy16/stormy16.h: New file.
3734 * config/stormy16/stormy16.md: New file.
3735 * config/stormy16/t-stormy16: New file.
3737 Sat Aug 25 15:46:51 CEST 2001 Jan Hubicka <jh@suse.cz>
3739 * i386.h (no-accumulate-outgoing-args): Use proper mask.
3741 2001-08-24 David Edelsohn <edelsohn@gnu.org>
3743 * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
3744 descriptor members are pointer size, not constant 4.
3745 * config/rs6000/rs6000.md (define_splits): Remove more unused
3748 2001-08-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3750 * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
3752 2001-08-24 Andreas Jaeger <aj@suse.de>, rkl@connect.org.uk
3754 * cp/rtti.c (VPARAMS): Fix parameter.
3756 2001-08-24 Zack Weinberg <zackw@panix.com>
3758 * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
3760 (mode_for_extraction): No need for #ifdefs. Add default-case abort
3762 (store_bit_field): Eliminate insv_bitsize variable. Put HAVE_insv
3763 in if controlling use of insv.
3764 (extract_bit_field): Likewise, for extv and extzv.
3766 Fri Aug 24 17:27:46 CEST 2001 Jan Hubicka <jh@suse.cz>
3768 * i386.md (movcc peep2): Fix load of 0.
3770 2001-08-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3772 * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
3773 *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
3775 2001-08-23 Jason Merrill <jason_merrill@redhat.com>
3777 * c-pragma.h: Move weak_syms and weak_decls...
3778 * varasm.c: ...here. Now static.
3779 (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
3780 depend on HANDLE_PRAGMA_WEAK.
3782 * c-common.c (c_alignof, c_alignof_expr): Move here...
3783 * c-typeck.c: ...from here.
3784 * c-tree.h, c-common.h: Adjust.
3786 2001-08-23 Bernd Schmidt <bernds@redhat.com>
3788 * config/ia64/ia64.c (rws_update): If !pred, set write_count
3789 instead of incrementing it.
3791 * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
3792 asm ready, don't try to move them all into the same array element.
3794 Thu Aug 23 17:21:43 CEST 2001 Jan Hubicka <jh@suse.cz>
3796 * function.c (thread_prologue_and_epilogue_insns): Avoid
3797 fallthru flag on edge to exit.
3799 * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
3801 * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
3804 2001-08-23 Lars Brinkhoff <lars@nocrew.org>
3806 * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
3807 * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
3808 * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
3811 2001-08-23 Lars Brinkhoff <lars@nocrew.org>
3813 * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
3814 replace "GNU CC" with "GCC".
3816 2001-08-23 Richard Henderson <rth@redhat.com>
3818 * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
3819 Reorganize. Handle ADDL like GR, add GR_AND_BR. Handle TFmode.
3820 (ia64_secondary_reload_class): Need GR between AR/BR and anything.
3821 Need GR between FR and not GR_AND_FR.
3822 * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
3823 * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
3824 AR regs before GR regs.
3825 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
3826 (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
3827 (REGISTER_MOVE_COST): Update.
3828 (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
3830 2001-08-23 Richard Henderson <rth@redhat.com>
3832 * regclass.c (init_reg_sets_1): Don't assume cost 2 within
3835 2001-08-22 Geoffrey Keating <geoffk@redhat.com>
3837 * reload1.c (emit_reload_insns): Don't look for notes
3838 on a NULL store_insn.
3840 2001-08-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3842 * sparc.c (uns_small_int): Don't reference a constant >32-bit.
3843 (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
3844 (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
3845 format specifier warnings.
3846 (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
3848 2001-08-22 David Billinghurst <David.Billinghurst@riotinto.com>
3850 * config/i386/i386-protos.h: Correct declaration of
3851 i386_pe_asm_named_section.
3853 2001-08-22 John David Anglin <dave@hiauly1.hia.nrc.ca>
3855 * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
3857 * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
3859 2001-08-22 Neil Booth <neil@daikokuya.demon.co.uk>
3861 * cpperror.c (print_location): Don't show _Pragma.
3862 * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
3863 and file change callback generation here.
3864 (stack_include_file): Update use of cpp_push_buffer.
3865 * cpphash.h (_cpp_pop_file_buffer): Update prototype.
3866 (struct cpp_buffer): Remove type, pfile members.
3867 * cppinit.c (cpp_handle_option): Use free_chain.
3868 * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
3869 (skip_escaped_newlines, get_effective_char, lex_percent): Take
3870 a cpp_reader rather than a cpp_buffer.
3871 (skip_escaped_newlines, get_effective_char, skip_block_comment,
3872 skip_line_comment, parse_string, lex_percent, lex_dot,
3873 _cpp_lex_token): Update accordingly.
3874 * cpplib.c (_cpp_pop_buffer): Don't do file change callback
3876 (cpp_push_buffer): Update prototype.
3877 (run_directive): Update use of cpp_push_buffer.
3878 (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
3879 handle_assertion): Update use of run_directive.
3880 * cpplib.h (enum cpp_buffer_type): Remove.
3881 (cpp_push_buffer): Update prototype.
3882 * fix-header.c (read_scan_file): Update.
3884 2001-08-22 Matt Kraai <kraai@alumni.carnegiemellon.edu>
3886 * gcc.c (struct prefix_list): Change prefix to const char *.
3888 2001-08-22 Matt Kraai <kraai@alumni.carnegiemellon.edu>
3890 * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
3892 2001-08-22 Jason Merrill <jason_merrill@redhat.com>
3894 * explow.c (set_mem_attributes): Avoid returning a bogus alias set
3897 * jump.c (squeeze_notes): Take parms by reference. Handle END being
3900 * ifcvt.c (dead_or_predicable): Adjust.
3901 * loop.c (find_and_verify_loops): Adjust.
3902 * stmt.c (expand_end_case): Adjust.
3903 * flow.c (merge_blocks_move_successor_nojumps): Adjust. Modify the
3904 head and end insn pointers in the basic block, not just local copies.
3905 (merge_blocks_move_predecessor_nojumps): Likewise.
3907 2001-08-22 Lars Brinkhoff <lars@nocrew.org>
3909 * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
3910 bitmap.h, builtin-types.def, builtins.c, builtins.def,
3911 c-aux-info.c, c-common.c, c-common.def, c-common.h,
3912 c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
3913 c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
3914 c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
3915 caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
3916 conditions.h, config.gcc, configure.frag, configure.in,
3917 conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
3918 cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
3919 dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
3920 doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
3921 dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
3922 emit-rtl.c, errors.c, errors.h, except.c, except.h,
3923 exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
3924 fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
3925 function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
3926 gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
3927 gencheck.c, gencodes.c, genconfig.c, genemit.c,
3928 genextract.c, genflags.c, gengenrtl.c, genmultilib,
3929 genopinit.c, genoutput.c, genpeep.c, genrecog.c,
3930 gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
3931 ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
3932 graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
3933 gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
3934 gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
3935 hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
3936 integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
3937 libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
3938 machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
3939 mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
3940 mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
3941 params.h, predict.c, predict.def, predict.h, prefix.c,
3942 prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
3943 read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
3944 regclass.c, regmove.c, regrename.c, regs.h, reload.c,
3945 reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
3946 rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
3947 sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
3948 sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
3949 ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
3950 stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
3951 tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
3952 tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
3953 unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
3954 unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
3955 xcoffout.h: replace "GNU CC" with "GCC".
3957 2001-08-21 Richard Henderson <rth@redhat.com>
3959 * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
3960 (final_scan_insn): Consider jump tables data even if we have no
3961 independant text section if !JUMP_TABLES_IN_TEXT_SECTION. Use
3963 * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
3964 (ASM_OUTPUT_CASE_END): Remove.
3965 (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
3966 * config/ia64/ia64.md (tablejump): Decode pc-relative references.
3967 * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
3969 2001-08-21 Richard Henderson <rth@redhat.com>
3971 * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
3972 at barrier insns. Emit stop bits before barriers.
3974 * flow.c (flow_find_cross_jump): Don't consider unconditional
3975 return insns for commoning.
3977 * final.c (compute_alignments): Fix typo.
3979 * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
3980 (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
3981 (store_bit_field): Use mode_for_extraction more places.
3982 (extract_bit_field): Likewise.
3984 2001-08-21 Zack Weinberg <zackw@panix.com>
3986 * caller-save.c: Don't include insn-codes.h.
3987 (reg_save_code, reg_restore_code): Make arrays of int.
3988 All uses updated to match.
3989 (insert_save, insert_restore): No need to initialize "code"
3990 variable upon declaration.
3991 * Makefile.in: update dependencies; fix typo in clean rule.
3993 2001-08-21 Richard Henderson <rth@redhat.com>
3995 * ifcvt.c (find_if_block): Allow join_bb as EXIT.
3996 (merge_if_block): Handle fallout from same.
3998 2001-08-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4000 * builtins.c (type_to_class): Fix typo in last change.
4002 2001-08-21 Richard Henderson <rth@redhat.com>
4004 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
4005 ia64_asm_output_label.
4007 * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
4008 copy of gp while the real gp register contains garbage.
4010 2001-08-21 Zack Weinberg <zackw@panix.com>
4012 * expmed.c (mode_for_extraction): New function.
4013 (store_bit_field, extract_bit_field): Use it.
4014 * expr.h: Prototype it and provide an enum for its first argument.
4016 * combine.c, function.c, recog.c: Don't include insn-codes.h.
4017 Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
4018 and digging through the insn_data tables.
4019 * Makefile.in: Update dependencies.
4021 2001-08-22 Neil Booth <neil@daikokuya.demon.co.uk>
4023 * cppfiles.c (stack_include_file): line-map.c now handles include
4025 (handle_missing_handler): Similarly.
4026 (_cpp_execute_include): Similarly.
4027 (_cpp_pop_file_buffer): Similarly.
4028 * cpphash.h (struct cpp_reader): Remove system_include_depth,
4029 buffer_stack_depth and include_depth.
4030 * cpplib.c (do_include_common): line-map.c now handles include depth.
4031 (cpp_push_buffer): Similarly.
4032 (_cpp_pop_buffer): Similarly.
4033 * cppmacro.c (builtin_macro): Update.
4034 * line-map.c (init_line_maps): Set depth.
4035 (add_line_map): Increment "used" earlier. Update and use the
4037 (trace_include): Use the include depth.
4038 * line-map.h (struct line_maps): New member depth.
4040 2001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
4042 * cppfiles.c (stack_include_file): Don't handle -H here.
4043 * cppinit.c (cpp_start_read): Set include tracing after
4044 cpp_post_options and after stacking the main file.
4045 * line-map.c (trace_include): New.
4046 (init_line_maps, add_line_map): Update.
4047 * line-map.h (struct line_maps): New member trace_includes.
4049 2001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
4051 * cppfiles.c (stack_include_file): Harmonize system headerness tests.
4052 * cppfiles.c (stack_include_file): Only stack a file if there
4053 is something to do. Return a boolean indicating whether a
4054 buffer was stacked or not.
4055 (_cpp_execute_include): Similarly.
4056 (_cpp_read_file): Similarly.
4057 * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
4059 2001-08-21 Sam Steingold <sds@gnu.org>
4061 * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
4062 (RECACHE): keep obufp_before_macroname up to date
4064 2001-08-21 Zack Weinberg <zackw@panix.com>
4066 * stmt.c: Don't include insn-codes.h.
4067 (expand_end_case): Machine specific logic moved to expr.c.
4068 No need to worry about __builtin_classify_type.
4069 (check_for_full_enumeration_handling, emit_case_nodes):
4072 * builtins.o (expand_builtin_classify_type): Split up so code
4073 can be shared with fold_builtin_classify_type.
4074 (type_to_class, fold_builtin_classify_type): New functions.
4075 (fold_builtins): Handle __builtin_classify_type.
4077 * expr.c (do_tablejump): Now static.
4078 (case_values_threshold, try_casesi, try_tablejump): New;
4079 code mostly from stmt.c (expand_end_case).
4080 (expr.h): Update prototypes.
4082 * Makefile.in (stmt.o): Update dependencies.
4084 2001-08-21 Will Cohen <wcohen@redhat.com>
4086 * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
4087 declaration of variable i.
4088 * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
4089 declaration of variable i.
4091 2001-08-21 Richard Henderson <rth@redhat.com>
4093 * crtstuff.c: Fix thinko last change. Move list tails to start
4094 of CRT_END section. Tidy ifdefs.
4095 (__EH_FRAME_BEGIN__): Always static for ELF.
4096 (__do_global_ctors_1): Rename from __frame_dummy.
4097 * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
4098 name change; don't hide __EH_FRAME_BEGIN__.
4100 2001-08-21 Richard Henderson <rth@redhat.com>
4102 * gdbinit.in: Move break on exit after break on fancy_abort.
4104 * config/ia64/ia64.c (ia64_return_in_memory): True for variable
4107 2001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
4109 * cpphash.h (_cpp_push_next_buffer): New.
4110 * cppinit.c (do_includes): Remove.
4111 (push_include, free_chain, _cpp_push_next_buffer): New.
4112 (cpp_start_read): Use them to rework command line option handling.
4113 (cpp_handle_option): Combine handling of -include and -imacros.
4114 * cpplex.c (_cpp_lex_token): Push a new -include buffer if
4115 appropriate. Always insert missing \n at EOF.
4116 * cpplib.c (start_directive): Get the directive position right.
4117 * cppmain.c (cb_file_change): Always print the first line, unless
4120 2001-08-20 Andreas Jaeger <aj@suse.de>
4122 * profile.c (compute_branch_probabilities): Remove extra new-line
4124 * flow.c (verify_flow_info): Likewise.
4126 2001-08-20 Diego Novillo <dnovillo@redhat.com>
4128 * basic-block.h (basic_block): Add new field 'flags'.
4129 (BB_REACHABLE): Define.
4130 (expunge_block): Declare.
4131 * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
4132 (EXIT_BLOCK_PTR): Ditto.
4133 (expunge_block): Remove static declaration.
4134 (cleanup_cfg): Clear bb->aux on every basic block.
4135 (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
4136 computing reachability.
4137 (delete_unreachable_blocks): Delete block b if b->flags has
4140 2001-08-20 Diego Novillo <dnovillo@redhat.com>
4142 * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
4144 2001-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4146 * sparc.c (sparc_variable_issue): Fix typo in last change.
4148 2001-08-20 Richard Henderson <rth@redhat.com>
4150 * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
4152 2001-08-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
4154 * pa.h (RETURN_IN_MEMORY): Improve comment.
4156 2001-08-20 Janis Johnson <janis187@us.ibm.com>
4158 * doc/invoke.texi (Profiling options): Clarify the interactions
4159 between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
4161 2001-08-20 Jeffrey Oldham <oldham@codesourcery.com>
4163 * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
4166 2001-08-20 Matt Kraai <kraai@alumni.carnegiemellon.edu>
4168 * gcc.c (make_relative_prefix): Allocate a sufficiently large
4171 2001-08-20 Richard Henderson <rth@redhat.com>
4173 * final.c (end_final): Fix typo last change.
4175 2001-08-20 Neil Booth <neil@daikokuya.demon.co.uk>
4177 * cppinit.c (init_standard_includes): The returned buffer
4178 is already malloc-ed.
4179 * gcc.c (add_prefix): Similarly.
4180 * prefix.c (translate_name): Update to support clear buffer
4182 (update_path): Similarly. Be sure to free any newly allocated
4183 key. UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
4185 * prefix.h (update_path): Update prototype and document.
4186 * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
4187 up and update to new buffer ownership rules.
4188 * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
4190 Mon Aug 20 01:44:50 CEST 2001 Jan Hubicka <jh@suse.cz>
4192 * final.c (compute_alignments): New function.
4193 (init_insn_lengths): Do not care label_align.
4194 (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
4195 (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
4196 (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
4197 (shorted_branches): Realloc label_align array; do
4198 not call init_insn_lengths; Do not care about loop alignments.
4199 * output.h (compute_alignments): Declare.
4200 * toplev.c (rest_of_compilation): Call compute_alignments.
4201 * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
4203 * predict.c (block_info_def): Add npredecesors, remove nvisited;
4204 change visited to tovisit.
4205 (propagate_freq): Use faster traversing algorithm.
4206 (estimate_loops_at_level, estimate_bb_frequencies): Change visited
4207 to tovisit; reverse meaning.
4209 * predict.c (struct block_info_def): Remove nvisited.
4210 (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
4211 (estimate_bb_frequencies): Call mark_dfs_back_edges.
4213 2001-08-19 Geoffrey Keating <geoffk@redhat.com>
4215 * doc/invoke.texi (MIPS Options): Document -mfused-madd.
4216 * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
4217 (TARGET_FUSED_MADD): New.
4218 (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
4219 * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
4220 the multiply-add instructions.
4222 2001-08-19 Richard Henderson <rth@redhat.com>
4224 * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
4225 is aligned to pointer size.
4227 2001-08-19 Richard Henderson <rth@redhat.com>
4229 * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
4230 display markers during final schedule.
4232 2001-08-19 Richard Henderson <rth@redhat.com>
4234 * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
4236 2001-08-19 Richard Henderson <rth@redhat.com>
4238 * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
4240 (ASM_NAME_TO_STRING): Remove.
4241 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
4242 in the same string. Remove support for expressions.
4244 2001-08-19 Richard Henderson <rth@redhat.com>
4246 * config/i386/i386.md (tablejump): Make an expander; handle
4247 pic relative addressing here.
4248 (tablejump_1): Rename from tablejump_pic.
4251 2001-08-19 Richard Henderson <rth@redhat.com>
4253 * regclass.c (fix_register): Fix typo.
4255 2001-08-18 Richard Henderson <rth@redhat.com>
4257 * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
4258 (struct _Unwind_Context): Expand br_loc to hold it.
4259 (uw_frame_state_for): Handle leaf functions better.
4260 (uw_update_reg_address): Update for br_loc change.
4262 2001-08-18 Richard Henderson <rth@redhat.com>
4264 * crtstuff.c: Move list heads before code that uses them.
4265 (__JCR_LIST__): Remove initial null.
4266 (frame_dummy, __frame_dummy): Do java registration here ...
4267 (__do_global_ctors_aux): ... not here.
4269 * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
4270 (__do_global_dtors_aux): Update to match.
4271 (__JCR_LIST__, __do_jv_register_classes): New.
4273 * config/ia64/crtend.asm (__JCR_END__): New.
4274 (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
4275 instead of an indirect LTOFF22 reloc.
4277 2001-08-18 Richard Henderson <rth@redhat.com>
4279 * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
4280 * regclass.c (init_reg_sets_1): Fix typo.
4281 * config/ia64/ia64.c (ar_pfs_reg_operand): New.
4282 (ia64_expand_call): Pass ar.pfs to sibcall expanders.
4283 (ia64_compute_frame_size): Make ar.unat live when in use.
4284 (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
4285 for ar.pfs; remove ar.unat handling.
4286 * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
4288 (PREDICATE_CODES): Add ar_pfs_reg_operand.
4289 * config/ia64/ia64-protos.h: Update decls.
4290 * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
4291 (sibcall_pic): Likewise.
4293 2001-08-18 Richard Henderson <rth@redhat.com>
4295 * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
4296 pred_rel_mutex when searching for insn_group_barrier.
4297 * config/ia64/ia64.md (cycle_display): Combine the expander
4300 * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
4301 bit before asm as needed.
4303 2001-08-18 Richard Henderson <rth@redhat.com>
4305 * timevar.def (TV_MACH_DEP): New.
4306 * toplev.c (rest_of_compilation): Use it.
4307 * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
4309 2001-08-18 Zack Weinberg <zackw@panix.com>
4311 * unwind-dw2.c (execute_stack_op): Add default aborts to
4312 the inner switches to prevent warnings.
4314 2001-08-18 Richard Henderson <rth@redhat.com>
4316 * timevar.h (struct timevar_time_def): Change element type to float.
4317 (ticks_to_msec, clocks_to_msec): Likewise.
4318 (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
4319 (get_time): Likewise.
4320 (timevar_print): Adjust zero check and printing to match.
4322 2001-08-18 Zack Weinberg <zackw@panix.com>
4324 * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
4325 doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
4326 Eliminate overfull or underfull hboxes.
4328 2001-08-18 Zack Weinberg <zackw@panix.com>
4330 * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
4332 2001-08-18 Zack Weinberg <zackw@panix.com>
4334 * haifa-sched.c: Convert to target hooks. Macros replaced
4335 are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
4336 MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
4337 MD_SCHED_FINISH, and HAVE_cycle_display.
4338 * target-def.h (TARGET_SCHED_ADJUST_COST,
4339 TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
4340 TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
4341 TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
4342 TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
4343 New hook #defines to be overridden.
4344 (TARGET_SCHED): Bring them all together.
4345 (TARGET_INITIALIZER): Update.
4346 * target.h: Don't forward declare struct rtx_def. Use 'rtx'
4347 instead of 'struct rtx_def *' throughout.
4348 (struct sched): New set of hooks for the scheduler.
4349 * Makefile.in (haifa-sched.o): Depend on target.h.
4350 * doc/tm.texi: Document the new scheduler hooks, together in
4351 their own section, instead of scattered around.
4352 Fix a bunch of underfull/overfull hboxes.
4354 * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
4355 ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
4356 sparc.h: Don't define any of the old scheduler macros.
4358 * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
4359 ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
4360 sparc.c: Create hook functions from code extracted from
4361 corresponding target header, or make existing hooks static, as
4362 appropriate. Set the appropriate entries in targetm.
4364 * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
4365 i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
4366 rs6000-protos.h, s390-protos.h, sparc-protos.h:
4367 Remove prototypes for functions which are now static.
4369 * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
4370 related gunk; the Haifa scheduler is now the only choice.
4372 2001-08-18 Zack Weinberg <zackw@panix.com>
4374 * optabs.h (OTI_flodiv, flodiv_optab): Kill.
4375 * genopinit.c: Put floating point divide insns in sdiv_optab.
4376 * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
4377 * config/gofast.h, config/c4x/c4x.h,
4378 config/ia64/hpux_longdouble.h, config/mips/mips.h,
4379 config/pa/long_double.h, config/rs6000/sysv4.h,
4380 config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
4381 * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
4382 (init_optabs): Use init_optabv for overflow-trapping optabs.
4383 Don't init flodiv_optab. Give mov_optab, movstrict_optab, and
4384 cmp_optab RTX codes so have_insn_for can find them.
4386 * optabs.c (expand_simple_binop, expand_simple_unop,
4387 have_insn_for, gen_sub3_insn): New interfaces.
4388 * expr.h: Prototype new functions.
4389 (enum optab_methods): Move here from optabs.h.
4391 * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
4392 loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
4393 Use new functions instead of working directly with optabs.
4394 * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
4395 unroll.c: Don't include optabs.h.
4396 * caller-save.c, combine.c, function.c, stmt.c: Just include
4397 insn-codes.h, not optabs.h.
4398 * Makefile.in: Update dependencies.
4400 * combine.c (make_compound_operation, simplify_comparison):
4401 Fix typos testing for this or that instruction.
4403 2001-08-18 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4405 * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
4406 generating libgcc.a.
4408 2001-08-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4410 * except.c (TYPE_HASH): Delete.
4412 * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
4415 * tree.c (TYPE_HASH): Delete.
4417 * tree.h (TYPE_HASH): Define.
4419 2001-08-18 Graham Stott <grahams@redhat.com>
4421 * config/mips/mips.md (adddi3_internal_2+1): Remove contraints from
4423 (adddi3_internal_2+2): Likewise.
4424 (eh_set_lr_di+1): Likewise.
4426 2001-08-17 Richard Henderson <rth@redhat.com>
4428 * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
4429 UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
4430 * dwarf2asm.c: ... here.
4431 * dwarfout.c: Remove them.
4433 * varasm.c (assemble_integer): Add align parameter.
4434 (assemble_real, output_constant, output_constructor): Likewise.
4435 * output.h: Update decls.
4436 * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
4437 config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
4438 config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
4439 config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
4440 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
4443 * final.c (end_final): Abort profile block generation if we
4444 havn't layed it out properly.
4445 * output.h (assemble_eh_integer): Remove stale decl.
4446 * varasm.c (assemble_zeros): Tidy; use assemble_integer.
4448 (assemble_integer): Handle unaligned data.
4449 (assemble_real): Abort on unaligned data.
4450 (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
4452 (default_dtor_section_asm_out_destructor): Use assemble_align.
4453 (default_named_section_asm_out_constructor): Likewise.
4454 (default_ctor_section_asm_out_constructor): Likewise.
4455 * config/darwin.c (machopic_asm_out_constructor): Likewise.
4456 (machopic_asm_out_destructor): Likewise.
4457 * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
4458 (nextstep_asm_out_destructor): Likewise.
4459 * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
4460 (vms_asm_out_destructor): Likewise.
4462 2001-08-17 Richard Henderson <rth@redhat.com>
4464 * config/mips/iris6.h (TARGET_IRIX6): New.
4465 (current_section_name, current_section_flags): New.
4466 (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
4467 (MAX_OFILE_ALIGNMENT): New.
4468 (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
4469 * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
4470 (copy_file_data): Split out from
4471 (mips_asm_file_end): ... here.
4472 (mips_asm_file_start): Remove extra .section directive. Use
4473 tmpfile instead of mips_make_temp_file.
4474 (mips_unique_section): Use const char * as needed for warnings.
4475 (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
4476 re-add align parameter.
4477 (iris6_asm_named_section): New.
4478 (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
4479 (iris6_asm_output_align, iris6_section_align_1): New.
4480 (iris6_asm_file_start, iris6_asm_file_end): New.
4481 * config/mips/mips-protos.h: Update decls.
4483 2001-08-17 Janis Johnson <janis187@us.ibm.com>
4485 * doc/install.texi (Install GCC): Add links to build status pages.
4487 (Final install): Ditto; request updates for specific info
4489 2001-08-17 Neil Booth <neil@daikokuya.demon.co.uk>
4491 * cpperror.c (print_location): Don't take a file name; use the
4493 (_cpp_begin_message): Similarly.
4494 (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
4495 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
4496 (cpp_pedwarn_with_file_and_line): Remove.
4497 * cppfiles.c (stack_include_file): Update; set filename to stdin
4498 here when appropriate.
4499 * cpphash.h (struct cpp_buffer): Remove nominal_fname.
4500 (_cpp_begin_message): Don't take a file name.
4501 * cppinit.c: Add comment.
4502 * cpplex.c: Fix end-of-directive indicator.
4503 * cpplib.c: Don't include intl.h.
4504 (run_directive, do_diagnostic): Update.
4505 (do_line): Update to not use nominal_fname.
4506 (cpp_push_buffer): Don't take a filename.
4507 * cpplib.h (struct ht): Remove.
4508 (cpp_push_buffer): Don't take a filename.
4509 (cpp_pedwarn_with_file_and_line): Remove.
4510 * cppmacro.c (struct cpp_macro): Remove file.
4511 (builtin_macro): Update.
4512 (_cpp_create_definition): Update.
4513 * cppmain.c: Correct comment.
4514 * fix-header.c (read_scan_file): Update.
4516 2001-08-17 Kazu Hirata <kazu@hxi.com>
4518 * sbitmap.c: Fix comment formatting.
4519 * sched-deps.c: Likewise.
4520 * sibcall.c: Likewise.
4521 * simplify-rtx.c: Likewise.
4523 * ssa-ccp.c: Likewise.
4524 * stor-layout.c: Likewise.
4525 * timevar.c: Likewise.
4526 * toplev.c: Likewise.
4527 * unwind-dw2.c: Likewise.
4528 * unwind-dw2-fde.c: Likewise.
4529 * varasm.c: Likewise.
4531 2001-08-17 John David Anglin <dave@hiauly1.hia.nrc.ca>
4533 * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
4534 or larger than an integer in memory.
4536 2001-08-17 Zack Weinberg <zackw@panix.com>
4538 * system.h: Forward-declare struct rtx_def, struct rtvec_def,
4539 and union tree_node. Typedef rtx, rtvec, and tree. Fix comment.
4540 * rtl.h: Don't forward-declare union tree_node here. Don't
4541 typedef rtx or rtvec here. Change all uses of struct rtx_def *,
4542 struct rtvec_def *, or union tree_node * to use rtx, rtvec,
4543 and tree respectively.
4544 * tree.h: Don't forward-declare struct rtx_def here. Don't
4545 typedef tree here. Change all uses of struct rtx_def *,
4546 struct rtvec_def *, or union tree_node * to use rtx, rtvec,
4547 and tree respectively.
4549 2001-08-17 Richard Henderson <rth@redhat.com>
4551 * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
4552 config/mips/openbsd.h: Fix typos last change.
4554 2001-08-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4556 * doc/invoke.texi (Optimize Options): The default for
4557 -finline-limit is 600.
4559 2001-08-17 Richard Henderson <rth@redhat.com>
4561 * varasm.c (text_section): Allow TEXT_SECTION to override the
4562 printing of TEXT_SECTION_ASM_OP.
4563 * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
4564 (DATA_SECTION, BSS_SECTION): Remove.
4565 * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
4566 RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
4567 Rename from s/_NAME//.
4568 * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
4569 (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
4570 (TEXT_SECTION): ... here. New.
4571 * config/mips/elf.h (TEXT_SECTION): New; no file switching.
4572 * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
4573 * config/mips/openbsd.h: Likewise.
4574 * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
4575 (mips_asm_file_end): Likewise test.
4576 (mips_output_function_epilogue): Likewise. Switch back to data
4577 section after emitting the function.
4579 * doc/tm.texi (Sections): Document TEXT_SECTION.
4581 2001-08-17 Richard Henderson <rth@redhat.com>
4583 * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
4584 (dwarf2out_finish): Do it here. Emit .debug_loc before .debug_info.
4586 2001-08-17 Richard Henderson <rth@redhat.com>
4588 * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
4589 * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
4590 __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
4591 Add aligned attribute.
4593 2001-08-17 Andrew Haley <aph@cambridge.redhat.com>
4595 * config/sh/sh.md: Add modes to unspecs in first insn to match
4596 those in the second.
4598 * Makefile.in: Fix collect2 copy for Cygwin.
4600 Fri Aug 17 15:48:57 CEST 2001 Jan Hubicka <jh@suse.cz>
4602 Install the proper patch.
4603 * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
4604 (assign_params): Avoid setting DECL_RTL to unfinished RTX.
4605 (expand_function_start): Likewise.
4606 * stmt.c (expand_decl): Likewise.
4607 * varasm.c (make_decl_rtx): Likewise.
4609 Fri Aug 17 15:41:35 CEST 2001 Jan Hubicka <jh@suse.cz>
4611 * final.c: Undo my previous accidental checkin.
4612 * output.h: Likewise.
4613 * tm.texi: Likewise.
4615 2001-08-16 Richard Henderson <rth@redhat.com>
4617 * varasm.c (named_section_flags): Remove align parameter.
4618 * varasm.c, dwarf2out.c: Update all callers.
4619 * output.h: Update prototypes.
4621 * target.h (target.asm_out.named_section): Remove align parameter.
4622 * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
4623 config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
4624 config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
4625 config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
4626 config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
4628 * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
4629 (get_named_section_flags, set_named_section_flags): New.
4630 (named_section_flags): Use them.
4631 (named_section): Do decl vs section flags check here...
4632 (default_section_type_flags): ... not here.
4633 (init_varasm_once): Create in_named_htab.
4634 (resolve_unique_section): Mark reloc unused.
4636 2001-08-16 Richard Henderson <rth@redhat.com>
4638 * varasm.c (force_const_mem): Keep pool alignment in bits.
4639 (output_constant_pool): Use assemble_align.
4641 2001-08-16 Zack Weinberg <zackw@panix.com>
4643 * doc/tm.texi: Remove extra @table command.
4645 2001-08-16 Zack Weinberg <zackw@panix.com>
4647 * final.c (shorten_branches): Clear the end of the label_align
4648 array only if we made it larger. Break up messy expressions
4651 * diagnostic.c (internal_error): Check for error recursion
4652 before doing ICE suppression.
4654 * timevar.c: Timing variables now count in milliseconds.
4655 (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
4656 (get_time): Not here.
4657 (timevar_print): Don't print any timer whose user, cpu, and
4658 wall times are all zero as displayed.
4659 * timevar.h: Update comment aboout units. Make timevar
4662 Thu Aug 16 17:39:45 CEST 2001 Jan Hubicka <jh@suse.cz>
4664 * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
4665 (assign_params): Avoid setting DECL_RTL to unfinished RTX.
4666 (expand_function_start): Likewise.
4667 * stmt.c (expand_decl): Likewise.
4668 * varasm.c (make_decl_rtx): Likewise.
4670 2001-08-16 Jason Merrill <jason_merrill@redhat.com>
4672 * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
4673 (finalize_record_size): Don't set TYPE_USER_ALIGN.
4675 2001-08-16 Matt Kraai <kraai@alumni.carnegiemellon.edu>
4677 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
4680 2001-08-16 Andreas Jaeger <aj@suse.de>
4682 * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
4685 Wed Aug 15 15:22:52 EDT 2001 John Wehle (john@feith.com)
4687 * rtl.h (only_sets_cc0_p): New prototype.
4688 * jump.c (sets_cc0_p): Handle INSN.
4689 (only_sets_cc0_p): New function.
4690 * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
4691 (tidy_fallthru_edge): Likewise.
4692 * integrate.c (copy_insn_list): Likewise.
4693 * unroll.c (unroll_loop): Likewise.
4694 (copy_loop_body): Likewise.
4696 2001-08-15 Jason Eckhardt <jle@redhat.com>
4698 * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
4700 Wed Aug 15 14:24:22 CEST 2001 Jan Hubicka <jh@suse.cz>
4702 * predict.c (struct block_info_def): Remove nvisited.
4703 (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
4704 (estimate_bb_frequencies): Call mark_dfs_back_edges.
4706 * i386.c (ix86_agi_depdendant): Lea causes AGI only on the Pentium
4707 (ix86_adjust_cost): Teach scheduler that latency to load operand can
4710 Wed Aug 15 12:41:32 CEST 2001 Jan Hubicka <jh@suse.cz>
4712 * predict.def: Update hitrates.
4714 2001-08-15 Richard Henderson <rth@redhat.com>
4716 * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
4718 Tue Aug 14 17:30:59 2001 Jeffrey A Law (law@cygnus.com)
4720 * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
4721 note from its associated jump.
4723 2001-08-14 Ulrich Weigand <uweigand@de.ibm.com>
4725 * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
4726 also on 64-bit s390x targets.
4728 2001-08-14 Nick Clifton <nickc@cambridge.redhat.com>
4730 * config/arm/arm.c (arm_compute_initial_elimination_offset): New
4732 (arm_expand_prologue): Handled nested functions which take a
4733 variable argument list.
4734 * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
4735 macro with an invocation of
4736 arm_compute_initial_elimination_offset.
4737 * config/arm/arm-protos.h: Prototype
4738 arm_compute_initial_elimination_offset.
4740 2001-08-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4742 * doc/install.texi (Specific, avr): Fix markup.
4743 (Specific, c4x): Ditto.
4745 2001-08-14 Matt Kraai <kraai@alumni.carnegiemellon.edu>
4747 * predict.c (dump_prediction): Change `bool' parameter to `int'.
4749 2001-08-14 Gabriel Dos Reis <gdr@codesourcery.com>
4751 * Makefile.in (OBJS): Add rtl-error.o
4752 (rtl-error.o): New rule.
4753 (diagnostic.o): Adjust dependency.
4754 diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
4755 error_for_asm, _fatal_insn, _fatal_insn_not_found,
4756 warning_for_asm): Move to...
4757 rtl-error.c: ...here. New file.
4759 2001-08-14 Richard Henderson <rth@redhat.com>
4761 * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
4762 if USING_SJLJ_EXCEPTIONS.
4764 2001-08-14 Steve Ellcey <sje@cup.hp.com>
4766 * tlink.c (scan_linker_output): Check string for unsatisfied in
4767 addition to undefined and unresolved.
4769 2001-08-14 Graham Stott <grahams@redhat.com>
4771 * libgcc2.c (*): Replace EH_FRAME_SECTION with
4772 EH_FRAME_SECTION_NAME.
4774 Tue Aug 14 14:57:07 CEST 2001 Jan Hubicka <jh@suse.cz>
4776 * genattrtab.c (simplify_test_exp_in_temp): New function.
4777 (simplify_test_exp): Avoid explicit use of temporary obstack.
4778 (simplify_cond, insert_right_side, evaluate_eq_attr,
4779 simplify_and_tree, simplify_or_tree, eliminate_known_true):
4780 Use simplify_test_exp_in_temp.
4781 (optimize_attrs): Iterate until expression stabilizes.
4783 2001-08-13 Ulrich Weigand <uweigand@de.ibm.com>:
4785 * glimits.h: Remove the __LONG_MAX__ special case for s390x.
4786 * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
4788 2001-08-13 Richard Henderson <rth@redhat.com>
4790 * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
4791 (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
4792 * config/arm/conix-elf.h: Likewise.
4794 2001-08-13 Geoffrey Keating <geoffk@redhat.com>
4796 * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
4798 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
4800 * gcse.c (hash_scan_set): Expressions that are set as part of
4801 jump instructions are not available.
4803 2001-08-13 Ulrich Weigand <uweigand@de.ibm.com>
4805 * config/s390/s390.c (print_operand, s390_function_prologue,
4806 s390_va_start): Fixed HOST_WIDE_INT type mismatch.
4808 2001-08-13 Richard Henderson <rth@redhat.com>
4810 * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
4811 * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
4812 * doc/tm.texi (Exception Region Output): Document it.
4814 2001-08-13 Geoffrey Keating <geoffk@redhat.com>
4816 * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
4817 DWARF2 instead of stabs by default.
4819 2001-08-13 David Edelsohn <edelsohn@gnu.org>
4821 * config/rs6000/rs6000.c: Include optabs.h.
4823 2001-08-13 David Edelsohn <edelsohn@gnu.org>
4825 * config/rs6000/eabi.asm: Define 64-bit versions of FPR
4826 save/restore routines.
4827 * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
4829 2001-08-13 Andreas Jaeger <aj@suse.de>
4831 * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
4832 the english is correct.
4834 2001-08-13 Zack Weinberg <zackw@panix.com>
4836 * expr.h: Split out optab- and libfunc-related code to...
4837 * optabs.h, libfuncs.h: ... these new headers.
4839 * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
4841 (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
4843 * mkconfig.sh: Don't include insn-codes.h from config.h.
4845 * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
4846 enum insn_code is available. Move reload_in_optab and
4847 reload_out_optab array declarations to optabs.h.
4848 * regmove.c (gen_add3_insn): Move to optabs.c, export from
4849 there, prototype in expr.h.
4850 * gencodes.c: Cleanup: zap global variables, don't use
4851 printf where puts will do, don't bother defining MAX_INSN_CODE
4852 which nothing uses, let CODE_FOR_nothing get its value implicitly.
4854 * genemit.c, genopinit.c: Include optabs.h in generated file.
4855 * genoutput.c: Include insn-codes.h in generated file.
4856 * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
4857 expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
4858 reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
4859 config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
4860 config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
4861 config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
4863 * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
4864 optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
4865 config/m88k/m88k.c, config/sparc/sparc.c:
4867 * reload.c: Include expr.h and optabs.h before reload.h.
4868 * config/alpha/alpha.c: Include tree.h before reload.h.
4869 * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
4870 and reload.h in that order.
4871 * config/sparc/sparc.c: Include debug.h.
4872 * recog.c: Include insn-codes.h.
4874 2001-08-13 Andreas Jaeger <aj@suse.de>
4876 * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
4879 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
4881 * dwarf2out.c (output_cfa_loc): Fix typo in comment.
4882 * gcc.c (init_spec): Fix typo in comment.
4883 * varasm.c (data_section): Fix typo in comment.
4885 Mon Aug 13 02:27:39 CEST 2001 Jan Hubicka <jh@suse.cz>
4887 * predict.c (dump_prediction): New argument "USED".
4888 (combine_predictions_for_insn): Determine the used heuristics,
4889 output the case no heuristic applied.
4890 * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
4892 2001-08-13 Andreas Jaeger <aj@suse.de>
4894 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
4897 2001-08-13 Kazu Hirata <kazu@hxi.com>
4899 * jump.c: Fix formatting.
4901 2001-08-13 Kazu Hirata <kazu@hxi.com>
4903 * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
4906 2001-08-12 Geoffrey Keating <geoffk@redhat.com>
4908 * loop.c (check_dbra_loop): Use condjump_label to compute
4911 * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
4912 to better document the files they're in.
4914 2001-08-12 Zack Weinberg <zackw@panix.com>
4916 * recog.h (struct insn_operand_data): Shrink 'mode' field
4919 2001-08-12 Kazu Hirata <kazu@hxi.com>
4921 * gcc.c: Fix comment formatting.
4922 * gccspec.c: Likewise.
4925 * genemit.c: Likewise.
4926 * gengenrtl.c: Likewise.
4927 * genrecog.c: Likewise.
4928 * gensupport.c: Likewise.
4929 * ggc-page.c: Likewise.
4930 * global.c: Likewise.
4931 * graph.c: Likewise.
4932 * ifcvt.c: Likewise.
4933 * integrate.c: Likewise.
4935 * libgcc2.c: Likewise.
4937 * mbchar.c: Likewise.
4938 * optabs.c: Likewise.
4939 * predict.c: Likewise.
4940 * prefix.c: Likewise.
4941 * profile.c: Likewise.
4942 * protoize.c: Likewise.
4944 * recog.c: Likewise.
4945 * regclass.c: Likewise.
4946 * regmove.c: Likewise.
4947 * reg-stack.c: Likewise.
4948 * reload1.c: Likewise.
4949 * resource.c: Likewise.
4950 * rtlanal.c: Likewise.
4953 2001-08-12 Kazu Hirata <kazu@hxi.com>
4955 * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
4956 a tree representing a constant is passed to the macro.
4958 2001-08-12 Richard Henderson <rth@redhat.com>
4960 * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
4961 (rs6000_elf_asm_out_destructor): New.
4962 * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
4963 (DTORS_SECTION_ASM_OP): Remove.
4964 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
4965 (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
4967 2001-08-12 David Edelsohn <edelsohn@gnu.org>
4970 2001-08-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4971 * gcc.c (set_collect_gcc_options): New function, split out from
4973 Ignore elided switches.
4974 (do_spec_1): Invoke before executing command.
4975 (set_input): Export.
4976 Move declaration ...
4977 * gcc.h (set_input): ... here.
4978 * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
4981 2001-08-12 Richard Henderson <rth@redhat.com>
4983 * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
4984 thinko wrt TARGET_RELOCATABLE.
4986 2001-08-12 Neil Booth <neil@daikokuya.demon.co.uk>
4988 * fix-header.c (cb_file_change): Update prototype.
4990 2001-08-11 Zack Weinberg <zackw@panix.com>
4992 * toplev.c (set_float_handler): Make static.
4993 * toplev.h: Don't prototype set_float_handler.
4995 * simplify-rtx.c: Don't include setjmp.h.
4996 (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
4998 (simplify_unary_operation, simplify_binary_operation): Use them,
4999 via do_float_handler.
5001 * fold-const.c: Don't include setjmp.h.
5002 (exact_real_inverse_1): New function.
5003 (exact_real_inverse): Use it, via do_float_handler.
5005 * varasm.c: Don't include setjmp.h.
5006 (assemble_real_1): New function.
5007 (assemble_real): Use it, via do_float_handler.
5008 Call internal_error if we get a trap here.
5010 * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
5011 config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
5013 2001-08-11 Zack Weinberg <zackw@panix.com>
5015 * defaults.h: Define PREFERRED_STACK_BOUNDARY to
5016 STACK_BOUNDARY if not already defined.
5018 * calls.c, function.c, reload1.c, explow.c: Don't default
5019 PREFERRED_STACK_BOUNDARY. Remove all #if/#ifdef on
5020 PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
5022 * explow.c (allocate_dynamic_stack_space): Change unsafe #if
5025 * doc/tm.texi: Document that STACK_BOUNDARY is required;
5026 clarify difference between it and PREFERRED_STACK_BOUNDARY.
5028 2001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
5030 * cppmacro.c (enter_macro_context): Push macro expansions even
5033 2001-08-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
5035 * config/rs6000/rs6000.c: Include integrate.h to silence warning.
5036 (rs6000_elf_section_type_flags): Actually return a value.
5038 2001-08-11 Ulrich Weigand <uweigand@de.ibm.com>
5040 * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
5041 Clean up code: add missing comments and prototypes, fix warnings,
5042 remove obsolete code, fix spacing to conform to coding style.
5044 2001-08-11 Ulrich Weigand <uweigand@de.ibm.com>
5046 * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
5047 and TARGET_ASM_CLOSE_PAREN.
5048 (regclass_map): CC register belongs to class NO_REGS.
5049 (legitimize_pic_address): Don't generate unnecessary moves
5050 (to avoid confusing loop optimization).
5051 (check_and_change_labels): Replace jump_long by indirect_jump.
5052 (s390_final_chunkify): Don't start a new literal pool on section
5053 switch in 64-bit code.
5054 (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
5056 * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
5057 (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
5058 (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
5060 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
5061 (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
5062 (CONST_COSTS): Fixed incorrect costs.
5064 * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
5065 Use emit_jump instead of emit_jump_insn (gen_jump).
5066 (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
5067 (to avoid confusing flow analysis).
5068 (tablejump, tablejump1, tablejump2): Removed. Replaced by casesi.
5069 (casesi, casesi_jump): New.
5070 (jump_long): Removed. Functionality merged into indirect_jump.
5071 (indirect_jump): Accept address_operand, not just register_operand.
5072 (cjump_long, icjump_long): Use same logic as indirect_jump.
5073 (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
5074 Fixed broken setjmp/longjmp handling.
5075 (do_builtin_setjmp_setup): Removed.
5077 * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
5078 broken GNU as versions that don't accept .quad with large
5079 negative values. Use hexadecimal output instead.
5080 (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
5081 (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
5082 FUNCTION_EPILOGUE): Removed. Now in targetm.
5084 * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
5086 * config/s390/fixdfdi.h: Add missing copyright statement.
5087 Fix type conflicts on 64-bit. Add missing SFmode routines.
5089 * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
5092 2001-08-11 Richard Henderson <rth@redhat.com>
5094 * rtl.h (REG_EH_RETHROW): Remove.
5095 * rtl.c (reg_note_name): Update.
5096 * combine.c (distribute_notes): Don't check for it.
5098 2001-08-11 Richard Henderson <rth@redhat.com>
5100 * combine.c (distribute_notes): Place REG_SETJMP.
5102 2001-08-11 Richard Henderson <rth@redhat.com>
5104 * doc/extend.texi (Arrays and pointers implementation): Discourage
5105 relying on sign-extension of pointers.
5107 2001-08-11 H.J. Lu <hjl@gnu.org>
5109 * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
5111 (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
5112 RDATA_SECTION_ASM_OP.
5114 2001-08-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5116 * doc/install.texi (Specific, c4x): Fix cross-reference to the
5117 main manual to work both for info and HTML versions.
5119 2001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
5120 Matt Kraai <kraai@alumni.carnegiemellon.edu>
5122 * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
5123 * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
5124 (struct cpp_pool): New member first.
5125 * cppinit.c (append_include_chain): Plug memory leaks.
5126 * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
5127 Allocate pragma structures from the (aligned) macro pool to
5128 avoid leaking memory.
5129 * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
5130 so we don't leak memory.
5131 * hashtable.c (ht_destroy): New.
5132 * hashtable.h (ht_destroy): New.
5134 2001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
5135 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
5137 * c-lex.c (map): Make const.
5138 (cb_file_change): Update for callback passing a line map.
5139 Don't assume we have a previous map. Remove sanity check
5140 about popping too many files.
5141 * cpperror.c (print_location): Make map const.
5142 * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
5143 (cpp_make_system_header): Similarly.
5144 (search_from): Similarly.
5145 (_cpp_execute_include): Don't remember where we came from.
5146 * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
5147 (struct cpp_reader): Make map const.
5148 (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
5149 * cpplib.c (do_line): Update; line maps now hold sysp.
5150 (cpp_push_buffer): Similarly.
5151 (_cpp_do_file_change): Similarly; callback with map instead.
5152 (cpp_get_line_maps): Constify return value.
5153 (_cpp_pop_buffer): Update.
5154 * cpplib.h (struct cpp_file_change): Remove.
5155 (struct cpp_callbacks): Update.
5156 (cpp_get_line_maps): Constify return value.
5157 * cppmacro.c (_cpp_create_definition): Update.
5158 * cppmain.c (struct printer): Constify map.
5159 (maybe_print_line): Similarly.
5160 (print_line): Similarly. Deduce flags 1 and 2 here.
5161 (cb_file_change): Update.
5162 * line-map.c (free_line_maps): Warn regardless.
5163 (add_line_map): Return pointer to const. When passed NULL to_file
5164 with LC_LEAVE, use the obvious values for the return point so the
5165 caller doesn't have to figure them out.
5166 (lookup_line): Return pointer to const.
5167 (print_containing_files): Take pointer to const.
5168 * line-map.h (struct line_map): New members reason, sysp.
5169 (add_line_map): Return pointer to const.
5170 (lookup_line): Similarly.
5171 (print_containing_files): Take pointer to const.
5173 2001-08-10 Roman Zippel <zippel@linux-m68k.org>
5174 Richard Henderson <rth@redhat.com>
5176 * regmove.c (regmove_optimize): Avoid setting a register twice in
5179 2001-08-10 Richard Henderson <rth@redhat.com>
5181 * doc/extend.texi (Arrays and pointers implementation): Document
5182 behavior of pointer/integer conversion.
5184 2001-08-10 Ulrich Weigand <uweigand@de.ibm.com>
5186 * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
5188 2001-08-10 Richard Henderson <rth@redhat.com>
5190 * doc/extend.texi (C Implementation): New chapter.
5191 * doc/gcc.texi (Top): Link it in.
5193 2001-08-10 Andrew Cagney <ac131313@redhat.com>
5195 * doc/install.texi (Specific): Fix CVS merge botch.
5197 2001-08-10 Richard Henderson <rth@redhat.com>
5199 * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
5200 ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
5202 2001-08-10 Zack Weinberg <zackw@stanford.edu>
5204 * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
5205 if not already defined. Remove all #ifdefs on STACK_BOUNDARY;
5206 this macro is now required.
5208 * cselib.c (cselib_process_insn), flow.c (propagate_block),
5209 loop.c (find_and_verify_loops), reload.c (reload): Check
5210 for rtx code of CALL_INSN, not CALL, when deciding if we
5211 need to check for REG_SETJMP note.
5213 * gcse.c (compute_hash_table, compute_store_table): Update
5214 the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
5217 * config/avr/avr.c: Fix typo.
5218 * config/convex/convex.c (expand_movstr): Use adjust_address.
5219 * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
5221 * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
5222 * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
5224 * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
5225 Do define STACK_BOUNDARY.
5226 * config/i370/i370.c: Include expr.h.
5227 * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
5228 config/pa/som.h, config/v850/v850.h: Take in_ctors and
5229 in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
5230 and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
5231 * config/m88k/m88k.c: Include c-tree.h after expr.h.
5232 * config/pdp11/pdp11.c: Include expr.h and toplev.h.
5233 * config/romp/romp.c: Include expr.h after tree.h.
5235 (output_fpop): Use xmalloc, not oballoc.
5236 * config/we32k/we32k.c: Include expr.h.
5238 2001-08-10 Kazu Hirata <kazu@hxi.com>
5240 * config/h8300/h8300.h: Fix formatting.
5242 2001-08-08 Jason Merrill <jason_merrill@redhat.com>
5244 * c-common.h (RETURN_NULLIFIED_P): Lose.
5245 * c-semantics.c (genrtl_return_stmt): Don't check it.
5247 2001-08-10 Richard Sandiford <rsandifo@redhat.com>
5249 * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
5250 (mips_annotate_frame_insn): New function.
5251 (mips_emit_frame_related_store): New function.
5252 (save_restore_insns): Don't mark instructions that set up the base
5253 registers as frame-related. Add REG_FRAME_RELATED_EXPR notes to
5254 the store instructions instead.
5255 (mips_expand_prologue): If the stack size is moved into a temporary
5256 register, do not mark that move as frame-related. Add a
5257 REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
5259 2001-08-10 Richard Sandiford <rsandifo@redhat.com>
5261 * config/mips/mips.c (save_restore_insns): Don't mark the RA's
5262 stack slot as unchanging if current_function_calls_eh_return.
5264 2001-08-10 Richard Sandiford <rsandifo@redhat.com>
5266 * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
5267 access the second half of the TFmode scratch operand.
5269 2001-08-10 Anthony Green <green@redhat.com>
5271 * java/class.c (emit_register_classes): Conditionalize code on
5274 2001-08-10 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5276 * doc/install.texi (Specific, avr): Fix cross-reference to the
5277 main manual to work both for info and HTML versions.
5279 2001-08-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
5281 * stmt.c (expand_null_return_1): Remove code to generate simple returns
5282 and "use_goto" argument.
5283 (expand_null_return, expand_value_return): Update all callers.
5284 * function.c (expand_function_end): Remove code to generate simple
5286 * config/vax/vax.md (epilogue): New expander for function return.
5287 * doc/md.texi (epilogue): Remove "if defined".
5289 2001-08-09 Zack Weinberg <zackw@stanford.edu>
5291 * Makefile.in: Partially revert my previous change:
5292 put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
5293 of the hashtab.o and safe-ctype.o rules.
5295 2001-08-09 Richard Henderson <rth@redhat.com>
5297 * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
5298 (USE_COLLECT2): Remove duplicate definition.
5299 * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
5300 (use_collect2): Remove dead code.
5301 * configure.in (use_collect2): Remove will_use_collect2 and
5302 maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
5303 * configure: Rebuild.
5305 * target.h (targetm.asm_out.constructor): New.
5306 (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
5307 * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
5308 (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
5309 * varasm.c (in_ctors, in_dtors): New.
5310 (assemble_constructor, assemble_destructor): Remove.
5311 (default_stabs_asm_out_destructor): New.
5312 (default_named_section_asm_out_destructor): New.
5313 (dtors_section, default_dtor_section_asm_out_destructor): New.
5314 (default_stabs_asm_out_constructor): New.
5315 (default_named_section_asm_out_constructor): New.
5316 (ctors_section, default_ctor_section_asm_out_constructor): New.
5317 * output.h: Update declarations.
5318 * c-decl.c (c_expand_body): Use target hooks instead of
5319 assemble_constructor and assemble_destructor.
5320 * profile.c (output_func_start_profiler): Likewise.
5321 * objc/objc-act.c (finish_objc): Likewise.
5322 (build_module_descriptor): Tidy. Set TREE_PUBLIC properly
5323 for the constructor.
5324 * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
5326 * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
5327 (DTORS_SECTION_ASM_OP): Likewise.
5328 (__CTOR_LIST__): Use attribute section when possible.
5329 (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
5331 * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
5332 ASM_OUTPUT_CONSTRUCTOR.
5334 * config/darwin.c (machopic_asm_out_constructor): New.
5335 (machopic_asm_out_destructor): New.
5336 * config/darwin-protos.h: Update declarations.
5337 * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
5338 (ASM_OUTPUT_DESTRUCTOR): Remove.
5339 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
5340 * config/nextstep.c (nextstep_asm_out_constructor): New.
5341 (nextstep_asm_out_destructor): New.
5342 * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
5343 (ASM_OUTPUT_DESTRUCTOR): Remove.
5344 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
5345 * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
5346 ASM_OUTPUT_*STRUCTOR.
5347 * config/i386/aix386ng.h: Likewise.
5349 * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
5350 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
5351 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
5352 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
5353 * config/lynx.h: Likewise.
5354 * config/netware.h: Likewise.
5355 * config/psos.h: Likewise.
5356 * config/alpha/alpha-interix.h: Likewise.
5357 * config/alpha/elf.h: Likewise.
5358 * config/arc/arc.h: Likewise.
5359 * config/arm/aof.h: Likewise.
5360 * config/arm/coff.h: Likewise.
5361 * config/arm/elf.h: Likewise.
5362 * config/c4x/c4x.h: Likewise.
5363 * config/h8300/h8300.h: Likewise.
5364 * config/i386/cygwin.h: Likewise.
5365 * config/i386/djgpp.h: Likewise.
5366 * config/i386/i386-coff.h: Likewise.
5367 * config/i386/i386-interix.h: Likewise.
5368 * config/i386/sco5.h: Likewise.
5369 * config/i386/vsta.h: Likewise.
5370 * config/i386/win32.h: Likewise.
5371 * config/i960/i960-coff.h: Likewise.
5372 * config/ia64/sysv4.h: Likewise.
5373 * config/m68hc11/m68hc11.h: Likewise.
5374 * config/m68k/coff.h: Likewise.
5375 * config/m68k/mot3300.h: Likewise.
5376 * config/m88k/m88k.h: Likewise.
5377 * config/mcore/mcore-pe.h: Likewise.
5378 * config/mcore/mcore.h: Likewise.
5379 * config/mips/elf.h: Likewise.
5380 * config/mips/elf64.h: Likewise.
5381 * config/mips/iris6.h: Likewise.
5382 * config/pa/pa64-hpux.h: Likewise.
5383 * config/rs6000/sysv4.h: Likewise.
5384 * config/sh/sh.h: Likewise.
5385 * config/sparc/litecoff.h: Likewise.
5387 * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
5388 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
5389 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
5390 * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
5391 (ASM_OUTPUT_DESTRUCTOR): Remove.
5392 * config/a29k/a29k.c: Move include of tree.h.
5393 * config/a29k/udi.h: Delete file.
5394 * config/alpha/alpha.c (vms_asm_out_constructor): New.
5395 (vms_asm_out_destructor): New.
5396 * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
5397 (EXTRA_SECTION_FUNCTIONS): Likewise.
5398 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
5399 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
5400 * config/c4x/c4x.c: Move include of tree.h.
5401 * config/clipper/clipper.c (clix_asm_out_constructor): New.
5402 (clix_asm_out_destructor): New.
5403 * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
5404 (ASM_OUTPUT_DESTRUCTOR): Remove.
5405 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
5406 * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
5407 (TARGET_ASM_CONSTRUCTOR): New.
5408 * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
5409 (sco_asm_out_constructor): New.
5410 * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
5411 * config/i386/svr3gas.h: Remove stack grows up code.
5412 Remove code duplicated from i386/sysv3.h.
5413 (TARGET_ASM_CONSTRUCTOR): New.
5414 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
5415 (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
5416 * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
5417 (TARGET_ASM_CONSTRUCTOR): New.
5418 * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
5419 (m68hc11_asm_out_destructor): New.
5420 * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
5421 (TARGET_ASM_DESTRUCTOR): New.
5422 * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
5423 * config/m68k/dpx2.h: Properly undef all the bits inherited from
5424 config/svr3.h pertaining to section manipulation.
5425 * config/m68k/dpx2g.h: Remove #if 0 code.
5426 * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
5427 * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
5428 (ASM_OUTPUT_CONSTRUCTOR): Remove.
5429 (TARGET_ASM_CONSTRUCTOR): New.
5430 * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
5431 (m88k_svr3_asm_out_constructor): New.
5432 (m88k_svr3_asm_out_destructor): New.
5433 * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
5434 (ASM_OUTPUT_DESTRUCTOR): Remove.
5435 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
5436 * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
5437 * config/rs6000/aix.h: Likewise.
5438 * config/mips/rtems64.h: Don't undef removed constructor related bits.
5439 * config/mips/vxworks.h: Likewise.
5440 * config/rs6000/lynx.h: Likewise.
5441 * config/sh/elf.h: Likewise.
5442 * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
5443 (DTORS_SECTION_ASM_OP): New.
5444 * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
5445 (ASM_OUTPUT_DESTRUCTOR): Remove.
5446 * config/sparc/sol2-sld-64.h: Likewise.
5447 * config/vax/vax.c (vms_asm_out_constructor): New.
5448 (vms_asm_out_destructor): New.
5449 * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
5450 (ASM_OUTPUT_DESTRUCTOR): Remove.
5451 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
5453 * doc/tm.texi (@node Initialization): Update.
5455 2001-08-09 Richard Henderson <rth@redhat.com>
5457 * config/alpha/crtbegin.asm (__JCR_LIST__): New.
5458 (__do_global_dtors_aux): Use gp-relative static data to avoid
5459 one dynamic relocation.
5460 (__do_frame_setup): Register Java classes.
5461 * config/alpha/crtend.asm (__JCR_END__): New.
5463 2001-08-09 Zack Weinberg <zackw@stanford.edu>
5465 * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
5466 (CONFIG_H, TCONFIG_H, TM_P_H): Update.
5467 (GEN, STAGESTUFF): Add new files.
5468 (insn-constants.h, s-constants, tm-preds.h, s-preds,
5469 genconstants, genpreds, genconstants.o, genpreds.o): New rules.
5470 (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
5471 * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
5472 as well as insn-codes.h and insn-flags.h in config.h; and no
5473 extra headers in tconfig.h and hconfig.h.
5475 * gencodes.c: Eliminate code to generate predicate declarations
5476 or #defines for md-file constants.
5477 * genconstants.c, genpreds.c: New files.
5479 * i386.md: Re-order guard expressions such that TARGET_64BIT
5480 comes first, when this permits better optimization. Add
5481 TARGET_64BIT to more x86-64 patterns. Add comment explaining
5482 why this is desirable.
5484 2001-08-09 Jakub Jelinek <jakub@redhat.com>
5486 * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
5487 (find_fde_for_dso): Remove.
5488 (_Unwind_IteratePhdrCallback): New.
5489 (_Unwind_FindTableEntry): Use dl_iterate_phdr.
5490 * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
5492 Thu Aug 9 11:30:20 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5494 * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
5495 (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
5497 2001-08-09 Graham Stott <grahams@redhat.com>
5499 * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
5500 (vis_no_unit): Use it.
5501 (visualize_no_unit): Add the insn only if room exists.
5503 2001-08-09 Graham Stott <grahams@redhat.com>
5505 * predict.c (estimate_probability): Replace magic numbers with
5506 appropriate enumeration.
5508 2001-08-09 Graham Stott <grahams@redhat.com>
5510 * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
5512 (EXTRACT_FLAGS): Likewise.
5514 2001-08-09 Aldy Hernandez <aldyh@redhat.com>
5516 * config/mips/mips.c (mips_legitimate_address_p): Check for
5517 CONST_INT in last patch.
5519 2001-08-08 Anthony Green <green@redhat.com>
5521 * java/class.c (emit_register_classes): Use assemble_jcr if
5522 possible. Keep the original mechanism as a fallback.
5523 * defaults.h (JCR_SECTION_NAME): Define if we have named section
5524 and weak symbol support.
5525 * crtstuff.c (__JCR_LIST__): Define.
5526 (__JCR_END__): Define.
5527 (_Jv_RegiserClasses): Define weak symbol if possible.
5528 (__do_global_ctors_aux): Register classes for ELF targets with
5529 weak symbol support.
5531 2001-08-08 Kazu Hirata <kazu@hxi.com>
5533 * dbxout.c: Fix comment formatting.
5534 * dependence.c: Likewise.
5536 * diagnostic.c: Likewise.
5537 * dominance.c: Likewise.
5538 * doprint.c: Likewise.
5539 * dwarf2out.c: Likewise.
5540 * dwarfout.c: Likewise.
5541 * emit-rtl.c: Likewise.
5542 * except.c: Likewise.
5543 * explow.c: Likewise.
5544 * expmed.c: Likewise.
5547 * fold-const.c: Likewise.
5548 * function.c: Likewise.
5550 2001-08-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
5552 * global.c (retry_global_alloc): Avoid shadowing allocno.
5554 2001-08-08 Mark Mitchell <mark@codesourcery.com>
5556 * except.c (remove_fixup_regions): Fix typo.
5558 2001-08-08 Jan van Male <jan.vanmale@fenk.wau.nl>
5560 * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
5561 unsigned HOST_WIDE_INT to avoid warning.
5562 * final.c (final): Cast INSN_UID to unsigned to avoid warning.
5563 * flow.c (set_block_for_new_insns): Likewise.
5565 Wed Aug 8 21:08:14 CEST 2001 Jan Hubicka <jh@suse.cz>
5567 * sibcall.c (return_value_pseudo): New static variable.
5568 (skip_copy_to_return_value): Handle return_value_pseudo.
5569 (call_ends_block_p): Ensure that return_value_pseudo is set.
5570 (optimize_sibling_and_tail_recursive_call): Discover the
5571 load of pseudo return value in alternate exit block.
5573 Wed Aug 8 21:06:43 CEST 2001 Jan Hubicka <jh@suse.cz>
5575 * calls.c (ECF_ALWAYS_RETURN): New constant.
5576 (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
5577 (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
5578 (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
5579 * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
5580 * rtl.c (reg_note_name): New name.
5581 * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
5583 2001-08-07 Aldy Hernandez <aldyh@redhat.com>
5585 * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
5587 2001-08-08 Jason Merrill <jason_merrill@redhat.com>
5589 * alias.c (get_alias_set): Return a previously calculated
5590 alias set for a VAR_DECL.
5591 * function.c (gen_mem_addressof): Calculate the alias set before
5594 Wed Aug 8 18:44:37 CEST 2001 Jan Hubicka <jh@suse.cz>
5596 * predict.def: Set hitrates according our experimental run.
5598 Wed Aug 8 18:01:58 CEST 2001 Jan Hubicka <jh@suse.cz>
5600 * i386.h (HARD_REGNO_RENAME_OK): New macro.
5602 2001-08-08 H.J. Lu <hjl@gnu.org>
5604 * config/mips/mips.c (mips_unique_section): New. Copied from
5607 * config/mips/mips-protos.h (mips_unique_section): New
5610 * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
5612 * config/mips/little.h: New. Generic little endian mips
5613 targets. Only mips*-*-linux* is converted to use it so far.
5615 * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
5616 (WCHAR_TYPE): Defined
5617 (WCHAR_TYPE_SIZE): Likewise.
5618 (INIT_SUBTARGET_OPTABS): Likewise.
5619 (BSS_SECTION_ASM_OP): Likewise.
5620 (SBSS_SECTION_ASM_OP): Likewise.
5621 (ASM_OUTPUT_ALIGNED_BSS): Likewise.
5622 (ASM_DECLARE_OBJECT_NAME): Likewise.
5623 (UNIQUE_SECTION): Likewise.
5624 (EXTRA_SECTIONS): Likewise.
5625 (ASM_OUTPUT_CONSTRUCTOR): Likewise.
5626 (ASM_OUTPUT_DESTRUCTOR): Likewise.
5627 (ASM_OUTPUT_DEF): Likewise.
5628 (HANDLE_SYSV_PRAGMA): Removed.
5629 (NO_IMPLICIT_EXTERN_C): Likewise.
5630 (TARGET_MEM_FUNCTIONS): Likewise.
5631 (STARTFILE_SPEC): Likewise.
5632 (ENDFILE_SPEC): Likewise.
5633 (LIB_SPEC): Likewise.
5634 (INVOKE__main): Likewise.
5635 (CTOR_LIST_BEGIN): Likewise.
5636 (CTOR_LIST_END): Likewise.
5637 (DTOR_LIST_BEGIN): Likewise.
5638 (DTOR_LIST_END): Likewise.
5639 (SET_ASM_OP): Likewise.
5640 (ASM_OUTPUT_SOURCE_LINE): Likewise.
5641 (ASM_OUTPUT_DEF): Likewise.
5642 (ASM_OUTPUT_IDENT): Likewise.
5644 * config/mips/mips.h (ASM_SPEC): Undefine before define.
5645 (CPLUSPLUS_CPP_SPEC): Likewise.
5646 (ASM_APP_ON) Redefine only if not defined.
5647 (ASM_APP_OFF): Likewise.
5648 (ASM_OUTPUT_SOURCE_LINE): Likewise.
5649 (ASM_OUTPUT_IDENT): Likewise.
5651 * config.gcc: Update tm_file for Linux/mips.
5653 2001-08-08 Bernd Schmidt <bernds@redhat.com>
5655 * cselib.c (cselib_record_sets): If insn is predicated, turn
5656 sources into IF_THEN_ELSEs.
5658 * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
5659 Turn into define_insn_and_split.
5661 * sched-deps.c: Include "cselib.h".
5662 (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
5663 Use cselib to turn memory addresses into VALUEs.
5664 (sched_analyze): Call cselib_init/cselib_finish if necessary.
5665 * sched-int.h (struct sched_info): New member USE_CSELIB.
5666 * sched-ebb.c (ebb_sched_info): Initialize it.
5667 * sched-rgn.c (rgn_sched_info): Likewise.
5668 * Makefile.in (sched-deps.o): Update dependencies.
5670 * cselib.h (cselib_subst_to_values): Declare.
5671 * cselib.c (cselib_subst_to_values): No longer static. Allow MEMs
5672 that have no value and autoincs to be handled by generating a new
5675 2001-08-08 Graham Stott <grahams@redhat.com>
5677 * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
5678 within fixed length SEQUENCE.
5680 2001-08-08 Graham Stott <grahams@redhat.com>
5682 * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
5683 (diagnostic_prefixing_rule): Likewise.
5684 (diagnostic_line_cutoff): Likewise.
5685 (diagnostic_kind_count): Likewise.
5687 2001-08-08 Graham Stott <grahams@redhat.com>
5689 * alias.c (find_base_decl): Delete redundent assignment.
5691 2001-08-08 Graham Stott <grahams@redhat.com>
5693 * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
5694 (abs): Uppercase and paranthesize macro parameter.
5695 (MEM_DEPENDENCY): Add whitespace.
5697 2001-08-08 Graham Stott <grahams@redhat.com>
5699 * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
5700 failure check for CONST_INT
5702 2001-08-08 Graham Stott <grahams@redhat.com>
5704 * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
5705 (libcall_dead_p): Likewise.
5707 (mark_used_regs): Constify fmt.
5708 (find_use_as_address): Likewise.
5710 2001-08-08 Graham Stott <grahams@redhat.com>
5712 * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
5715 2001-08-08 Graham Stott <grahams@redhat.com>
5717 * combine.c (combine_simplify_rtx): Update comment and
5718 remove erroneous test.
5720 2001-08-07 Neil Booth <neil@daikokuya.demon.co.uk>
5722 * cppinit.c (cpp_finish): Pop the final buffer without comment.
5723 * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
5724 take care to avoid multiple no-newline at EOF warnings in that
5727 Tue Aug 7 22:18:06 CEST 2001 Jan Hubicka <jh@suse.cz>
5729 * calls.c (expand_call): Do not emit INSN_SETJMP note.
5730 (emit_library_call_value_1): Likewise.
5731 (emit_call_1): Emit REG_SETJMP note.
5732 * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
5734 * cselib.c (cselib_process_insn): Likewise.
5735 * flow.c (propagate_block): Likewise.
5736 * loop.c (find_and_verify_loops): Likewise.
5737 * reload.c (find_equiv_regs): Likewise.
5738 * reload1.c (reload): Likewise.
5739 * resource.c (mark_referenced_resources,
5740 mark_set_resources): Likewise.
5741 * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
5742 * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
5743 * haifa-sched.c (unlink_other_notes): Likewise.
5744 (reemit_notes): Likewise.
5745 * sched-ebb.c (sched_ebb): Likewise.
5746 * sched-rgc.c (sched_region): Likewise.
5747 * rtl.c (note_insn_name): Likewise.
5748 (reg_note_name): Add REG_SETJMP
5749 * rtl.h (reg_note): Add REG_SETJMP.
5750 (insn_note): Remove NOTE_INSN_SETJMP.
5752 * profile.c (branch_prob): Add fake edges for setjmp.
5754 2001-08-07 Daniel Jacobowitz <drow@mvista.com>
5756 * config.gcc: Quote target_cpu_default2 correctly for
5757 powerpc*-*-* targets.
5759 2001-08-07 Neil Booth <neil@daikokuya.demon.co.uk>
5761 * cpplib.h, line-map.h: Update comments.
5762 * cppmain.c (printer_init): Move inline.
5763 (maybe_print_line, print_line): Take a map pointer.
5764 (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
5765 (cb_file_change): Don't use prior value of print.map.
5767 2001-08-07 David Edelsohn <edelsohn@gnu.org>
5769 * doc/install.texi: Document fine-grained multilib configuration.
5771 Tue Aug 7 16:52:54 CEST 2001 Jan Hubicka <jh@suse.cz>
5773 * rtlanal.c (find_first_parameter_load): Call note_stores
5774 only on the instructions.
5776 Tue Aug 7 14:56:16 CEST 2001 Jan Hubicka <jh@suse.cz>
5778 * alias.c (nonlocal_mentioned_p):
5779 Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
5780 * calls.c (emit_call_1): Likewise.
5781 * cse.c (cse_insn, invalidate_skipped_block): Likewise.
5782 * cselib.c (cselib_process_insn): Likewise.
5783 * df.c (df_insns_modify): Likewise.
5784 * flow.c (need_fake_edge_p): Likewise.
5785 (propagate_one_insn): Likewise.
5786 * haifa-sched.c (reemit_notes): Likewise.
5787 * integrate.c (copy_insn_list): Likewise.
5788 * jump.c (delete_prior_computation): Likewise.
5789 * local-alloc.c (validate_equiv_mem): Likewise.
5790 * loop.c (scan_loop): Likewise.
5791 * predict.c (estimate_probability): Likewise.
5792 * reload.c (reload): Likewise.
5793 * sched-deps (sched_analyze): Likewise.
5794 * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
5795 * gcse.c (compute_hash_table): Likewise.
5796 (mark_call): Likewise.
5797 (store_killed_in_insn): Likewise.
5799 2001-08-07 Jason Merrill <jason_merrill@redhat.com>
5801 * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
5803 2001-08-06 Richard Henderson <rth@redhat.com>
5805 * varasm.c (assemble_gc_entry): Remove.
5806 * output.h: Likewise.
5808 2001-08-06 Richard Henderson <rth@redhat.com>
5810 * varasm.c (assemble_constructor): Take a symbol_ref and a
5811 priority instead of a bare string. Move priority handling
5812 here from cp/decl2.c.
5813 * output.h: Update decls.
5815 * c-decl.c (c_expand_body): Update calls to assemble_constructor
5816 and assemble_destructor.
5817 * profile.c (output_func_start_profiler): Likewise.
5818 * objc/objc-act.c (finish_objc): Likewise.
5819 (build_module_descriptor): Return the symbol not the symbol name.
5821 2001-08-06 David Edelsohn <edelsohn@gnu.org>
5823 * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
5824 * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
5825 ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
5826 * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
5827 * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
5828 * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
5830 2001-08-06 Neil Booth <neil@daikokuya.demon.co.uk>
5832 * cpperror.c (print_containing_files): Moved to line-map.c.
5833 (print_location): line-map.c handles re-listing or otherwise.
5834 * cpphash.h (struct lexer_state): Remove next_bol.
5835 (struct cpp_buffer): Remove include_stack_listed.
5836 * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
5837 Remove faked buffer handling.
5838 (_cpp_do_file_change): Tweak.
5839 * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
5840 * cppmain.c (struct printer): Remove filename.
5841 (print_line, cb_file_change): Update accordingly.
5842 * line-map.c: Include intl.h.
5843 (init_line_maps): Initialize last_listed.
5844 (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
5845 (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
5846 (print_containing_files): New.
5847 * line-map.h (struct line_maps): New member last_listed.
5848 (print_containing_files, INCLUDED_FROM): New.
5849 * Makefile.in: Update.
5850 * po/POTFILES.in: Add line-map.c.
5852 2001-08-06 Richard Henderson <rth@redhat.com>
5854 * except.c (convert_from_eh_region_ranges_1): Never mark
5855 USE or CLOBBER insns as throwing.
5857 * expr.c (store_constructor): Don't clobber memory targets.
5859 2001-08-06 Andreas Jaeger <aj@suse.de>
5861 * profile.c (branch_prob): Remove unused variable insn.
5863 * Makefile.in (local-alloc.o): Add dependency on except.h.
5865 * local-alloc.c: Include except.h for can_throw_internal prototype.
5867 2001-08-06 Richard Henderson <rth@redhat.com>
5869 * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
5870 * function.c (expand_main_function): Implement it.
5871 * doc/tm.texi: Document it.
5873 2001-08-06 Stan Shebs <shebs@apple.com>
5875 * doc/install.texi: Document powerpc-*-darwin* details.
5877 2001-08-06 Daniel Berlin <dan@cgsoftware.com>
5879 * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
5880 (ASM_CPU_SPEC): Move back to rs6000.h
5881 #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
5883 * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
5885 * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
5888 * config/rs6000/linux64.h: Ditto.
5890 * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
5891 to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
5894 Remove accidently readded definitions of FUNCTION_PROLOGUE,
5895 FUNCTION_EPILOGUE, ASM_OPEN_PAREN, ASM_CLOSE_PAREN
5897 * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
5900 2001-08-05 Richard Henderson <rth@redhat.com>
5902 * local-alloc.c (update_equiv_regs): Do not move insns that
5905 2001-08-05 Jan Hubicka <jh@suse.cz>
5907 * Makefile.in (reload1.o): Add dedendancy on except.h
5908 * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
5910 * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
5911 indicating wehther edges has been cleaned up.
5912 * reload1.c: Inlucde except.h
5913 (fixup_abnormal_edges): Accept deleted insns.
5914 * toplev.c (rest_of_compilation): Purge dead edges unconditionally
5917 2001-08-06 Neil Booth <neil@daikokuya.demon.co.uk>
5919 * cpplib.c (do_line): Correct line number after pop_buffer.
5921 2001-08-05 Neil Booth <neil@daikokuya.demon.co.uk>
5923 PR preprocessor/3824
5924 * line-map.c: Update comments.
5925 * line-map.h: Update comments.
5926 * tradcif.y: Don't consider large numbers unsigned.
5928 2001-08-05 Neil Booth <neil@daikokuya.demon.co.uk>
5930 PR preprocessor/3081
5931 * c-lex.c (map): New.
5932 (cb_file_change): Update map and use it.
5933 (cb_def_pragma, cb_define, cb_undef): Use map and line.
5934 (c_lex): Update to use map.
5935 * cpperror.c (print_location): Move to using logical line numbers.
5936 * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
5937 (cpp_make_system_header): Similarly.
5938 (_cpp_execute_include): Stop line numbering hacks. Store the
5939 line we will return to.
5940 * cpphash.h (CPP_BUF_LINE): Remove.
5941 (struct cpp_buffer): Remove lineno and pseudo_newlines.
5942 Add map and return_to_line.
5943 (_cpp_do_file_change): Update.
5944 * cppinit.c (cpp_start_read): Update line kludge.
5945 * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
5946 (trigraph_ok): Use logical line numbers for diagnostics.
5947 (skip_block_comment): Likewise.
5948 (skip_whitespace): Likewise.
5949 (skip_line_comment): Use pfile->line instead.
5950 (_cpp_lex_token): Update to use logical line numbering exclusively.
5951 Handle BOL locally. Accept new lines in directives, but keep
5952 pfile->line decremented. Diagnostics use logical lines. Update
5954 * cpplib.c (SEEN_EOL): New.
5955 (skip_rest_of_line, check_eol): Use it.
5956 (end_directive): Increase line number when accepting the newline
5957 at the end of a directive.
5958 (run_directive): Simplify.
5959 (do_line): Bad LC_LEAVEs become LC_RENAMEs. Update.
5960 (_cpp_do_file_change): Update to take buffer line number as an
5961 argument, and store the current map in the cpp_reader. Remove
5962 line number kludges.
5963 (_cpp_do__Pragma): Restore output position after a _Pragma.
5964 (cpp_push_buffer): Don't set output line or lineno.
5965 (_cpp_pop_buffer): Transfer more info from a faked buffer.
5966 Remove line kludge. Set output_line.
5967 * cppmacro.c (builtin_macro): Update handling of __LINE__.
5968 (parse_arg): Use logical lines.
5969 (save_lookahead_token): Save EOFs too now.
5970 * cppmain.c (struct printer): Fix comments.
5971 (printer_init): Simplify, let caller do errors.
5972 (scan_translation_unit, check_multiline_token, dump_macro): Update.
5973 (maybe_print_line): Simplify.
5974 (print_line): Don't print a linemarker if -P.
5975 (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
5976 (cb_file_change): Simplify.
5977 * line-map.h (LAST_SOURCE_LINE): Fix.
5978 (CURRENT_LINE_MAP): New.
5980 2001-08-05 Bernd Schmidt <bernds@redhat.com>
5982 * doloop.c (doloop_modify_runtime): Properly compute number of
5983 iterations if loop was unrolled.
5985 * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
5986 if their CSELIB_VAL_PTRs are.
5988 * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
5989 (setup_spill_pointers): Initialize it.
5990 (spill_restore_mem): Set it.
5991 (do_spill, do_restore): Use it to add REG_INC note.
5992 * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
5994 * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
5995 asms if other insns are available.
5997 * config/ia64/ia64.c (condop_operator): New predicate.
5998 * config/ia64/ia64.h (PREDICATE_CODES): Add it.
5999 * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
6002 * expr.c (expand_expr, case COND_EXPR): Prefer working with a
6003 temporary register than directly using a MEM.
6005 2001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
6007 * config/sh/sh.c (sh_asm_named_section): Fix typo in align
6008 parameter in last change.
6010 2001-08-04 Zack Weinberg <zackw@panix.com>
6012 * sparc.md: Don't use #if inside C test expression.
6014 2001-08-04 Richard Henderson <rth@redhat.com>
6016 * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
6018 2001-08-04 Neil Booth <neil@daikokuya.demon.co.uk>
6020 * cpphash.h (struct cpp_reader): New member directive_line.
6021 * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
6022 * cpplib.c (do_define, do_undef, do_ident, do_include_common,
6023 do_pragma): Pass line to callbacks.
6024 (start_directive): Record line of directive.
6025 * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
6026 cb_include): Similarly.
6027 * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
6030 2001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
6032 * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
6035 Sat Aug 4 13:51:36 CEST 2001 Jan Hubicka <jh@suse.cz>
6037 * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
6039 * reload1.c (fixup_abnormal_edges): New static function.
6042 * flow.c (need_fake_edge_p): New function.
6043 (flow_call_edges_add): Fix handling of noreturn and sibbling calls;
6044 avoid call insn to be very last insn in the insn stream.
6046 * profile.c (branch_prob): Call flow_call_edges_add instead of
6047 doing that by hand; cleanup cfg to re-merge basic blocks once
6050 2001-08-04 Neil Booth <neil@cat.daikokuya.demon.co.uk>
6052 * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
6053 are also on line-map.h.
6054 * cppfiles.c (stack_include_file): Update.
6055 * cpphash.h (struct cpp_buffer): New member return_at_eof.
6056 (_cpp_pop_buffer): New.
6057 * cppinit.c (cpp_destroy, cpp_finish): Update.
6058 (do_includes): Mark each buffer to return at EOF.
6059 * cpplex.c (_cpp_lex_token): Pop buffers at EOF. Continue or
6060 return as requested.
6061 * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
6062 (cpp_pop_buffer): Rename _cpp_pop_buffer. Stop skipping.
6063 * cpplib.h (cpp_pop_buffer): Remove.
6064 (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
6065 * cppmacro.c (cpp_scan_buffer_nooutput): Similarly. No need to pop
6067 * cppmain.c (scan_buffer): Rename scan_translation_unit. No need
6069 (do_preprocessing): Update.
6070 * fix-header.c (read_scan_file): Update. No need to pop buffers.
6071 * c-parse.in (_yylex): Similarly.
6072 * scan-decls.c (scan_decls): Similarly.
6073 * line-map.h: Update comments.
6075 * objc/Make-lang.in (objc-act.o): Update dependencies.
6077 2001-08-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6079 * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
6080 and soft register for operand 0.
6081 ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
6083 2001-08-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6085 * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
6086 register for operand 0.
6087 ("bitcmpqi_z_used"): Allow memory for operand 0.
6088 (split "bitcmpqi"): New split to handle address reg as operand 1.
6090 2001-08-04 Andreas Jaeger <aj@suse.de>
6092 * gcse.c: Revert Daniel's last patch.
6094 2001-08-03 Zack Weinberg <zackw@stanford.edu>
6096 * sparc-protos.h: Add prototypes for fp_zero_operand and
6098 * sh-protos.h: Add prototype for fpul_operand.
6100 2001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
6102 * doc/extend.texi (Other Builtins): Fix typo in last change.
6104 2001-08-03 Richard Henderson <rth@redhat.com>
6106 * target.h (gcc_target): Add asm_out.named_section,
6107 section_type_flags, have_named_sections.
6108 * target-def.h (TARGET_ASM_NAMED_SECTION): New.
6109 (TARGET_HAVE_NAMED_SECTIONS): New.
6110 (TARGET_SECTION_TYPE_FLAGS): New.
6112 * Makefile.in (toplev.o): Depend on TARGET_H.
6113 (varasm.o, dbxout.o): Likewise.
6114 * c-common.c (decl_attributes): Check targetm.have_named_sections
6115 instead of ifdef ASM_OUTPUT_SECTION_NAME.
6116 * dbxout.c (dbxout_function_decl): Likewise.
6117 (dbxout_function_end): Likewise.
6118 * toplev.c (compile_file): Likewise.
6119 * varasm.c (exception_section): Likewise.
6120 * cp/decl2.c (finish_objects): Likewise.
6122 * defaults.h (EH_FRAME_SECTION): Remove.
6123 (EH_FRAME_SECTION_ASM_OP): Remove.
6124 (EH_FRAME_SECTION_NAME): New.
6125 (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
6126 (UNIQUE_SECTION_P): Remove.
6127 * dwarf2out.c (SECTION_FORMAT): Remove.
6128 (ASM_OUTPUT_SECTION): Remove.
6129 (output_call_frame_info): Use named_section_flags.
6130 (output_comp_unit, dwarf2out_start_source_file): Likewise.
6131 (dwarf2out_end_source_file, dwarf2out_define): Likewise.
6132 (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
6133 * varasm.c (in_eh_frame, eh_frame_section): Remove.
6134 (named_section_flags): New.
6135 (named_section): Use it and targetm.section_type_flags.
6136 (resolve_unique_section): New.
6137 (assemble_start_function): Use it.
6138 (asm_emit_uninitialised, assemble_variable): Likewise.
6139 (default_section_type_flags): New.
6140 (default_no_named_section, default_elf_asm_named_section): New.
6141 (default_coff_asm_named_section, default_pe_asm_named_section): New.
6142 * output.h: Update varasm.c decls.
6143 (SECTION_*): New flags.
6145 * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
6146 (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
6148 * config/elfos.h (UNIQUE_SECTION_P): Remove.
6149 * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
6150 * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
6151 * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
6152 * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
6153 * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
6154 * config/mips/elf.h, config/mips/elf64.h: Likewise.
6155 * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
6156 * config/pa/pa64-hpux.h,
6158 * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
6159 (TARGET_ASM_NAMED_SECTION): New.
6160 * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
6161 * config/alpha/vms.h, config/arm/coff.h: Likewise.
6162 * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
6163 * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
6164 * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
6165 * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
6166 * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
6167 * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
6168 * config/i386/sco5.h, config/i386/win32.h: Likewise.
6169 * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
6170 * config/mcore/mcore.h, config/mips/elf.h: Likewise.
6171 * config/mips/elf64.h, config/mips/iris6.h: Likewise.
6172 * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
6173 * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
6174 * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
6175 * config/sparc/sysv4.h: Likewise.
6177 * config/nextstep.h: Error until named sections implemented.
6179 * config/a29k/a29k.c (a29k_asm_named_section): New.
6180 * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
6181 (vms_section_type_flags, vms_asm_named_section): New.
6182 * config/arm/arm.c (arm_elf_asm_named_section): New.
6183 * config/avr/avr.c (asm_output_section_name): Remove.
6184 * config/avr/avr-protos.h: Update.
6185 * config/c4x/c4x.c (c4x_asm_named_section): New.
6186 * config/h8300/h8300.c (h8300_asm_named_section): New.
6187 * config/i386/i386.c (sco_asm_named_section): New.
6188 * config/i386/winnt.c (SECTION_PE_SHARED): New.
6189 (i386_pe_section_type_flags): New.
6190 (i386_pe_asm_named_section): New.
6191 * config/i386/i386-protos.h: Update.
6192 * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
6193 * config/mcore/mcore.c (mcore_asm_named_section): New.
6194 * config/mips/mips.c (iris6_asm_named_section): New.
6195 * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
6196 instead of UNIQUE_SECTION_P.
6197 * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
6198 (xcoff_asm_named_section): New.
6199 * config/sh/sh.c (sh_asm_named_section): New.
6200 * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
6202 * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
6203 * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
6204 (EH_FRAME_SECTION_NAME): New.
6205 (EXCEPTION_SECTION): New.
6206 * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
6207 (DEBUG_*_SECTION): Remove.
6208 * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
6209 * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
6210 (EH_FRAME_SECTION_ASM_OP): Remove.
6212 * doc/tm.texi (UNIQUE_SECTION_P): Remove.
6213 (ASM_OUTPUT_SECTION_NAME): Remove.
6214 (TARGET_ASM_NAMED_SECTION): New.
6215 (TARGET_HAVE_NAMED_SECTIONS): New.
6216 (TARGET_SECTION_TYPE_FLAGS): New.
6217 (EH_FRAME_SECTION_ASM_OP): Remove.
6218 (EH_FRAME_SECTION_NAME): New.
6220 2001-08-03 Zack Weinberg <zackw@stanford.edu>
6222 * builtins.c (fold_builtin_constant_p): Return integer_zero_node
6223 for complex expressions when cfun == 0.
6224 * doc/extend.texi: Document that __builtin_constant_p can be
6225 used in data initializers as well as functions.
6227 2001-08-03 Alexandre Oliva <aoliva@redhat.com>
6229 * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
6230 variable I locally, instead of expecting a declaration in the
6233 2001-08-03 Richard Henderson <rth@redhat.com>
6235 * except.c (collect_one_action_chain): Add an explicit cleanup
6236 action if regions surrounding a catch were encoded entirely
6237 within the call-site entry.
6239 2001-08-03 Richard Henderson <rth@redhat.com>
6241 * dbxout.c (dbxout_symbol_location): Flatten subregs first;
6242 don't take REGNO of a non-register.
6244 2001-08-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
6246 * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
6247 __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
6248 (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
6249 (__gthread_mutex_init_function): New function for mutex initialization.
6251 2001-08-03 Daniel Berlin <dan@cgsoftware.com>
6253 * Makefile.in: Revert screwed up commit.
6255 2001-08-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
6257 * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
6258 * config/m68hc11/larith.asm (_exit): Split in several sub-sections
6259 merged by linker script to get a final _exit().
6260 (__do_global_dtors): New for destructor handling in specific exit
6262 (__do_global_ctors): New for constructors in specific install section.
6263 (__map_data_section): Map data sections before running constructors.
6264 * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
6265 (CTORS_SECTION_ASM_OP): Define to put in readonly section.
6266 (DTORS_SECTION_ASM_OP): Likewise.
6267 (CTORS_SECTION_FUNCTION): Define to force a reference to
6269 (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
6271 2001-08-03 Daniel Berlin <dan@cgsoftware.com>
6273 * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
6275 * Makefile.in: Add df.h to gcse.c dependencies.
6277 2001-08-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
6279 * varasm.c (output_constant_def_contents): Use for the length of a
6280 string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
6281 depending on which is larger.
6283 2001-08-03 Daniel Berlin <dan@cgsoftware.com>
6285 * gcse.c: Include df.h for use as a dataflow analyzer.
6287 Declaration of reg_set_info: gone.
6288 New df_analyzer variable used by store motion.
6289 (reg_set_info): Deleted.
6290 (mark_mem_regs): New function, analyze regs used by a mem.
6291 (store_ops_ok): Use dataflow analyzer results to determine if
6292 necessary regs are changed in the block.
6293 (find_moveable_store): Remove check for symbol ref, we can handle
6294 much more complex expressions now.
6295 (compute_store_table): Remove most of the code, it's unnecessary
6296 now that the dataflow analyzer records the info for us.
6297 (store_killed_after): Add parameter to say whether to do the
6298 store_ops_okay test, used to speed up testing when we already know
6299 the answer, and just want to know if the store itself was killed.
6300 (build_store_vector): Largely rewritten to calculate the various
6301 vectors properly, and somewhat optimized.
6302 (store_motion): Init the df_analyzer, get REG_DEF chains.
6303 Also handle trapping expressions (since mems almost always trap)
6304 (simple_mem): Redefine what a simple mem is.
6306 2001-08-03 DJ Delorie <dj@redhat.com>
6308 * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
6309 set from a constant part of the condition.
6311 2001-08-01 Andrew Cagney <ac131313@redhat.com>
6313 * mkdeps.c (deps_add_default_target): Make local variable
6314 ``start'' a const char pointer.
6315 * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
6317 2001-08-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6319 * doc/install.texi (Configuration): Fix markup.
6320 (Specific, i?86-*-udk): Likewise.
6321 (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
6323 Document --enable-threads and --enable-libgcj status.
6324 (Specific, mips-sgi-irix*): Canonicalize triples.
6325 (Specific, mips-sgi-irix5): Warn about problems with this config.
6326 Mention required GNU as patch.
6327 Native assembler problems are fixed.
6328 (Specific, mips-sgi-irix6): Update O32 ABI support status.
6329 Document --enable-threads and --enable-libgcj status.
6331 2001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
6333 * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
6336 2001-08-03 Richard Henderson <rth@redhat.com>
6338 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
6341 2001-08-03 Richard Henderson <rth@redhat.com>
6343 * rtlanal.c (find_first_parameter_load): Stop if we
6344 reach a CODE_LABEL at BOUNDARY.
6346 2001-08-03 Richard Henderson <rth@redhat.com>
6348 * config/alpha/alpha.md (force_movdi): New insn.
6349 * config/alpha/alpha.c (alpha_expand_prologue): Use it.
6350 Tweek FRP marking of VMS prologue insns.
6351 * config/alpha/vms.h (EPILOGUE_USES): New.
6353 2001-08-02 Richard Henderson <rth@redhat.com>
6355 * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
6357 2001-08-02 Lars Brinkhoff <lars@nocrew.org>
6359 * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
6360 simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
6361 config/convex/convex.h, config/d30v/d30v.c,
6362 config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
6363 config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
6364 config/mips/mips.h, config/mn10200/mn10200.h,
6365 config/mn10300/mn10300.h, config/pdp11/pdp11.md,
6366 config/v850/v850.h, config/vax/openbsd.h,
6367 config/vax/openbsd1.h, config/vax/ultrix.h,
6368 config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
6369 config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
6370 cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
6371 doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
6372 doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
6373 in comments and documentation.
6375 2001-08-03 Neil Booth <neil@cat.daikokuya.demon.co.uk>
6379 * Makefile.in (line-map.o): New.
6380 (LIBCPP_OBJS, LIBCPP_DEPS): Update.
6381 * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
6382 * cpperror.c (print_containing_files): Similarly.
6383 (print_location): Update. Don't output a space before _Pragma.
6384 * cppfiles.c (stack_include_file): Set to line 1 immediately.
6385 (stack_include_filee, cpp_make_system_header): Update.
6386 (_cpp_execute_include): Get logical line number right for calling
6387 as-yet-unterminated #include.
6388 * cpphash.h (struct cpp_reader): Add line_maps.
6389 (_cpp_do_file_change): Update.
6390 * cppinit.c (cpp_create_reader): Initialize line maps.
6391 (cpp_destroy): Destroy line maps.
6392 (cpp_start_read): Get logical line number right.
6393 * cpplex.c (parse_string): Only warn once for multi-line strings.
6394 Use boolean variable for null warning.
6395 * cpplib.c (_cpp_handle_directive): End the directive if it isn't
6397 (do_include_common): End the directive early.
6398 (do_line): Don't warn about out-of-range lines in preprocessed
6399 source. Update. Remove unused variables.
6400 (_cpp_do_file_change): Update for new line mapping.
6401 (pragma_cb): New typedef.
6402 (cpp_register_pragma): Stop looking ahead before calling the
6404 (do_pragma_system_header): End directive early.
6405 (cpp_get_line_maps): New.
6406 (cpp_pop_buffer): Fudge logical line. Update.
6407 * cpplib.h: Include line-map.h
6408 (enum cpp_fc_reason): Remove.
6409 (struct cpp_file_change): Update.
6410 (cpp_get_line_maps): New.
6411 * cppmain.c (struct_printer): New member map.
6412 (cb_file_change): Update for new mappings.
6413 * fix-header.c (cb_file_change): Similarly.
6415 2001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
6417 * Makefile.in (libgcc.mk): Define mkinstalldirs.
6418 * mklibgcc.in: Use mkinstalldirs instead of mkdir.
6420 2001-08-02 Lars Brinkhoff <lars@nocrew.org>
6422 * config/vax/vax.c: include expr.h.
6424 2001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
6426 * Makefile.in ($(srcdir)/configure): Only rebuild in
6428 ($(srcdir)/config.in): Only define in maintainer mode.
6429 ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
6431 2001-08-02 David Edelsohn <edelsohn@gnu.org>
6433 * doc/install.texi (Install GCC: Binaries): Update Bull info.
6435 2001-08-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6437 * gcc.c (set_collect_gcc_options): New function, split out from
6439 Ignore elided switches.
6440 (do_spec_1): Invoke before executing command.
6441 (set_input): Export.
6442 Move declaration ...
6443 * gcc.h (set_input): ... here.
6444 * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
6447 2001-08-02 Nathan Sidwell <nathan@codesourcery.com>
6450 * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
6452 * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
6454 2001-08-02 Richard Sandiford <rsandifo@redhat.com>
6456 * mips.md (movdicc): Make conditional on TARGET_64BIT. Likewise
6457 for the unnamed instructions it expands to.
6459 2001-08-02 Richard Henderson <rth@redhat.com>
6461 * regclass.c (call_really_used_regs): Conditionally define.
6462 (init_reg_sets_1): Don't use it if not defined.
6463 (fix_register): Similarly, don't set it.
6465 2001-08-01 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6467 * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
6468 Correct comment that had been missed in the previous change.
6470 2001-08-01 Stan Shebs <shebs@apple.com>
6472 * config/darwin.c (machopic_stub_name): Try matching by name.
6473 (update_stubs): New function.
6474 (darwin_encode_section_info): Call it and update_non_lazy_ptrs
6477 2001-08-01 Richard Henderson <rth@redhat.com>
6479 * except.c (output_function_exception_table): Use assemble_align.
6480 * varasm.c (assemble_eh_label): Remove.
6481 (assemble_eh_align, assemble_eh_integer): Remove.
6483 2001-08-01 Robert Lipe <robertl@caldera.com>
6485 * dwarfout.c: Remove reference to README.DWARF.
6487 2001-08-01 Andrew MacLeod <amacleod@redhat.com>
6489 * regclass.c (call_really_used_regs): New array for registers which
6490 are actually used by a call.
6491 (init_reg_sets_1): Initialize regs_invalidated_by_call with the
6493 (fix_register): Set call_really_used too.
6494 * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
6495 * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
6497 2001-08-01 Richard Henderson <rth@redhat.com>
6499 * read-rtl.c (read_name): Consider \r whitespace.
6501 2001-07-11 Andrew Cagney <ac131313@redhat.com>
6503 * config.gcc: Recognize powerpc-*-netbsd*.
6505 * doc/install.texi (Host/target specific installation notes for
6506 GCC): Mention powerpc-*-netbsd*.
6508 * config/rs6000/netbsd.h: New file.
6509 (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
6510 (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
6511 (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
6512 (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
6513 (TARGET_VERSION): Redefine.
6515 * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
6516 mcall-netbsd as a match for mcall-sysv.
6517 (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
6518 (ncrti.S, ncrtn.S): New targets.
6519 ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
6521 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
6522 "netbsd' as a V4 ABI.
6523 (ASM_SPEC): Check for -mcall-netbsd.
6524 (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
6525 (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
6526 (LIB_SPEC, ENDFILE_SPEC): Ditto.
6527 (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
6528 (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
6529 (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
6530 (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
6532 * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
6533 (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
6535 2001-08-01 Mark Kettenis <kettenis@gnu.org>
6537 * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
6538 only if NO_BASE_OF_ENCODED_VALUE isn't defined.
6539 * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
6540 including "unwind-pe.h".
6542 Wed Aug 1 20:01:42 CEST 2001 Jan Hubicka <jh@suse.cz>
6544 * rs6000.md (define_splits): Kill unused constraints.
6546 Wed Aug 1 20:02:12 CEST 2001 Graham Stott <grahams@redhat.com>
6547 Jan Hubicka <jh@suse.cz>
6549 * function.c (thread_prologue_and_epilogue_insns): Kill code
6550 dealing with non-existent CFG.
6552 2001-08-01 Kazu Hirata <kazu@hxi.com>
6554 * alias.c: Fix comment formatting.
6555 * bitmap.c: Likewise.
6556 * builtins.c: Likewise.
6557 * calls.c: Likewise.
6558 * c-common.c: Likewise.
6559 * c-decl.c: Likewise.
6560 * c-dump.c: Likewise.
6561 * c-lex.c: Likewise.
6562 * collect2.c: Likewise.
6563 * combine.c: Likewise.
6564 * conflict.c: Likewise.
6565 * cppfiles.c: Likewise.
6566 * cppinit.c: Likewise.
6567 * cpplex.c: Likewise.
6568 * cpplib.c: Likewise.
6569 * cppmacro.c: Likewise.
6570 * cppspec.c: Likewise.
6571 * c-pragma.c: Likewise.
6572 * crtstuff.c: Likewise.
6574 * cselib.c: Likewise.
6575 * c-semantics.c: Likewise.
6576 * c-typeck.c: Likewise.
6578 2001-08-01 H.J. Lu <hjl@gnu.org>
6580 * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
6582 2001-08-01 H.J. Lu <hjl@gnu.org>
6584 * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
6586 2001-08-01 Ziemowit Laski <zlaski@apple.com>
6588 * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
6589 contextualizing Objective-C class name lookup by the lexer.
6590 (typespec_reserved_nonattr): Disable ObjC class name lookup after
6592 (protocoldef): Add support for forward @protocol declarations.
6593 (yylexname): Suppress ObjC class name lookup in certain contexts;
6594 re-enable after lookup is complete.
6595 (_yylex): Re-enable ObjC class name lookup when certain
6596 punctuation marks are seen.
6598 * objc/objc-act.c (check_protocol_recursively): New function used
6599 for finding circular dependencies in protocols.
6600 (objc_declare_protocols): New function for handling forward
6601 @protocol declarations.
6602 (receiver_is_class_object): Detect the case when 'self' is used
6603 inside of a class method.
6604 (build_message_expr): Issue a warning if class method is desired
6605 but instance method is found instead.
6606 (conforms_to_protocol): Streamline.
6607 (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
6608 protocol Foo, even if 'Bar foo' does not.
6609 (check_protocols): Streamline.
6610 (start_protocol): Add checks for circular and duplicate protocol
6612 (encode_aggregate_within): For typedefs of structs, encode the
6614 * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
6615 (objc_declare_protocols): New prototype.
6617 2001-08-01 Neil Booth <neil@cat.daikokuya.demon.co.uk>
6619 * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
6620 * cpplex.c (handle_newline): Update prototype. Maintain logical
6622 (skip_escaped_newlines, skip_block_comment, parse_string):
6624 (_cpp_lex_token): Update, and store token position within the token.
6625 * cpplib.h (struct cpp_token): Add line and column entries.
6626 * cppmacro.c (replace_args): Position stringified tokens correctly.
6628 2001-08-01 Andreas Jaeger <aj@suse.de>
6630 * basic-block.h: Add prototype for last_loop_beg_note.
6632 2001-07-31 Alexandre Petit-Bianco <apbianco@redhat.com>
6634 * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
6635 RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
6637 (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
6638 while handling WITH_CLEANUP_EXPR node. Use second operand calling
6639 expand_decl_cleanup.
6640 * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
6642 (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
6643 operand while calling simple_cst_equal.
6644 * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
6645 operand is the cleanup expression, the third is the RTL_EXPR.
6646 * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
6648 2001-07-31 Jeff Sturm <jsturm@one-point.com>
6650 * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
6652 2001-07-31 matthew green <mrg@eterna.com.au>
6654 * config.gcc (i386-*-netbsdelf): New description.
6655 * config/i386/netbsd-elf.h: New file.
6657 2001-07-30 Geoffrey Keating <geoffk@redhat.com>
6659 * loop.c (check_dbra_loop): Use single_set to compute
6662 2001-07-31 Daniel Berlin <dan@cgsoftware.com>
6664 PowerPC reorg and support for powerpc64-*-linux*.
6666 Also fixes emitting of constants on 32 bit and 64 bit
6669 * config.gcc: powerpc64-*-linux* is a new target.
6670 Things that needed aix.h now also include xcoff.h
6672 * config/rs6000/rs6000.h: Split XCOFF specific stuff into
6674 Move AIX specific stuff into aix.h.
6675 (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
6676 with more than just XCOFF now.
6677 (SET_ASM_OP): Remove, now defined where needed.
6678 (FUNCTION_PROLOGUE): New macro definition.
6679 (FUNCTION_EPILOGUE): New macro definition.
6680 (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
6682 * config/rs6000/xcoff.h: New file.
6684 * config/rs6000/linux64.h: New file.
6686 * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
6688 2001-07-31 Alan Modra <amodra@bigpond.net.au>
6690 * rs6000.c (print_operand_address): Handle ELF syntax.
6691 (output_toc): Simplify. Use DOUBLE_INT_ASM_OP.
6692 * rs6000.md (load_toc_aix_di): Handle ELF syntax.
6693 * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
6695 2001-07-31 David Edelsohn <edelsohn@gnu.org>
6697 * rs6000.c (rs6000_override_options): Only disable
6698 flag_function_sections for XCOFF.
6699 (exact_log2_cint_operand): New predicate.
6700 (reg_or_{add,sub}_cint64_operand): New predicates.
6701 (add_operand): Compare CONST_INT with fewer function calls.
6702 (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
6703 (print_operand, case 'p'): Ensure positive operand.
6704 (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
6705 * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
6706 (PREDICATE_CODES): Add new predicates.
6707 * rs6000.md (addsi3): Split 32-bit constants more correctly.
6708 (divsi3, modsi3): Ensure positive power-of-2.
6709 (adddi3): Use new predicate. Split 32-bit constants more
6710 correctly. Re-arrange splitter to handle any constant.
6711 (subdi3): Use new predicate.
6712 (divdi3, moddi3): Ensure positive power-of-2.
6713 (movdi): Use rs6000_emit_set_const.
6714 (load_toc_v4_pic_di): Delete.
6716 2001-07-31 Graham Stott <grahams@redhat.com>
6718 * function.c (pad_below): Revert 2001-07-26 patch.
6720 Tue Jul 31 15:37:35 CEST 2001 Jan Hubicka <jh@suse.cz>
6722 * reg-stack (convert_regs_1): Fix best edge condition.
6724 Tue Jul 31 15:33:27 CEST 2001 Jan Hubicka <jh@suse.cz>
6726 * jump.c (duplicate_loop_exit_test): Better test for jumps
6727 entering the loop; create loop pre_header.
6729 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
6731 * doc/install.texi: Add s390 and s390x as new targets.
6732 * doc/invoke.texi: Add documantation of S/390 and zSeries
6734 * doc/md.texi: Add documantation of S/390 and zSeries constraints.
6736 2001-07-30 Roman Zippel <zippel@linux-m68k.org>
6738 * config/m68k/m68k.md: Replace all general_operand with
6739 nonimmediate_operand for all destinations.
6740 * config/m68k/m68k.c (not_sp_operand): Likewise.
6742 Mon Jul 30 23:20:34 EDT 2001 John Wehle (john@feith.com)
6744 * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
6746 2001-07-30 Richard Henderson <rth@redhat.com>
6748 * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
6749 * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
6751 2001-07-30 Roman Zippel <zippel@linux-m68k.org>
6753 * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
6754 Add missing doc strings
6755 * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
6756 * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
6758 Mon Jul 30 22:16:08 CEST 2001 Jan Hubicka <jh@suse.cz>
6760 * i386.c (ix86_output_main_function_alignment_hack): New function.
6761 (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
6763 * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
6764 edges by EDGE_DFS_BACK flag.
6765 (dump_edge_info): Add dfs_back flag.
6766 * basic-block.h (EDGE_DFS_BACK): New constant.
6767 (mark_dfs_back_edges): Declare.
6768 * alias.c (loop_p): Remove.
6769 (mark_constant_function): Use mark_dfs_back_edges.
6771 * reg-stack.c (block_info_def): Add predecesors counter and stack_out.
6772 (reg_to_stack): Call mark_dfs_back_edges; count the predecesors.
6773 (compensate_edge): Break out from ...
6774 (convert_regs_1): ... here; do smart choosing of stack_out to copy.
6775 (convert_regs_2): Set block_done once block is really done;
6776 Do updating of the predecesors counts.
6778 * toplev.c (rest_of_compilation): Recompute block_for_insn
6779 before post-reload cfg_cleanup.
6780 * function.c (thread_prologue_epilogue_insns):
6781 Call set_block_for_new_insns when emitting prologue directly.
6783 2001-07-30 Andreas Jaeger <aj@suse.de>
6785 * jump.c: Add prototype for mark_modified_reg.
6787 * cse.c (set_live_p): Add unused attribute.
6789 * gcov.c (calculate_branch_probs): Use gcov_type to avoid
6791 (scan_for_source_files): Use long for count to avoid overflow.
6792 (output_data): Likewise.
6793 (output_data): Don't use string concatatenation to silence gcc
6796 * predict.c: Fix typos and grammar.
6798 * gcse.c (insert_insn_end_bb): Remove unused variables.
6800 Mon Jul 30 21:54:53 CEST 2001 Jan Hubicka <jh@suse.cz>
6802 * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
6803 (attempt_auto_inc): LIkewise.
6804 (mark_used_reg): Likewise.
6805 (try_pre_increment_1): Likewise.
6806 * regclass.c (regclass): Likewise.
6807 * global.c (allocno_compare): Update comment; change scaling factor.
6808 * local-alloc.c (QTY_CMP_PRI): Likewise.
6809 * regs.h (REG_FREQ_FROM_BB): New.
6810 (REG_FREQ_MAX): Likewise.
6812 2001-07-30 H.J. Lu <hjl@gnu.org>
6814 * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
6817 2001-07-30 H.J. Lu (hjl@gnu.org)
6819 * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
6820 (ASM_DECLARE_FUNCTION_SIZE): Likewise.
6821 (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
6823 2001-07-30 Nick Clifton <nickc@cambridge.redhat.com>
6825 * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
6826 as -mthumb-interwork when -mcpu=arm7 is specified.
6828 Mon Jul 30 17:44:43 CEST 2001 Jan Hubicka <jh@suse.cz>
6830 * predict.def (noreturn, loop branch, loop exit): Mark as first
6833 Mon Jul 30 12:52:11 CEST 2001 Jan Hubicka <jh@suse.cz>
6835 * combine.c (try_combine): Avoid barrier after noop jumps.
6837 2001-07-29 Neil Booth <neil@cat.daikokuya.demon.co.uk>
6839 * cpphash.h (struct cpp_reader): Remove import_warning.
6840 * cpplib.c (skip_rest_of_line): Don't bother turning off
6842 (parse_include): Move include handling to...
6843 (do_include_common): ... here. Move import warning from...
6844 (do_import): ... here.
6845 (do_pragma_poison): Don't do a callback for poison identifiers.
6846 * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
6847 * cppmain.c (setup_callbacks): Similarly.
6849 Sun Jul 29 23:26:50 CEST 2001 Jan Hubicka <jh@suse.cz>
6851 * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
6852 handle multiple sets.
6853 * except.c (sjlj_mark_call_sites): .... here.
6854 * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
6856 Sun Jul 29 21:38:45 CEST 2001 Jan Hubicka <jh@suse.cz>
6858 Suggested by Richard Henderson and Richard Kenner:
6859 * combine.c (recog_for_combine): Use the fake recog
6860 only if instruction does not match.
6861 * rtl.h (NOOP_MOVE_INSN_CODE): New.
6862 * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
6864 * combine.c (try_combine): Discover noop jump as direct jump.
6866 2001-07-29 Daniel Berlin <dan@cgsoftware.com>
6868 * df.c (df_rd_global_compute): Add successors to worklist, not
6870 (df_ru_global_compute): Ditto.
6872 2001-07-27 Daniel Berlin <dan@cgsoftware.com>
6874 * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
6875 increment REG_N_SETS.
6877 2001-07-26 Daniel Berlin <dan@cgsoftware.com>
6879 * sbitmap.h: New prototype for sbitmap_a_xor_b.
6881 * sbitmap.c (sbitmap_a_xor_b): New function.
6882 ifdef the basic block stuff on IN_GCC.
6884 2001-07-29 Neil Booth <neil@cat.daikokuya.demon.co.uk>
6886 * cppexp.c (parse_defined): Always record the macro name.
6887 (lex): Don't worry about identifiers, or special-case
6889 (_cpp_parse_expr): Figure out at the end of the routine
6890 whether we saw a valid !defined() expression.
6891 * cppfiles.c (stack_include_file): Update for mi_valid.
6892 (_cpp_pop_file_buffer): Similarly.
6893 * cpplex.c (_cpp_lex_token): Similarly.
6894 * cpphash.h (enum mi_state, enum mi_ind, mi_state,
6895 mi_if_not_defined, mi_lexed): Remove.
6897 * cpplib.c (do_if): Simplify.
6898 (do_endif, push_conditional, _cpp_handle_directive): Update
6899 for renaming of mi_state to mi_valid.
6901 * cpp.texi: Add index entries for digraphs, and add comment
6902 that C++ refers to them as alternative tokens.
6904 Sun Jul 29 18:59:13 CEST 2001 Jan Hubicka <jh@suse.cz>
6906 * basic-block.h (CLEANUP_PRE_LOOP): New.
6907 * except.c (finish_eh_generation): Update call of cleanup_cfg.
6908 * sibcall.c (optimize_sibling_calls): Likewise.
6909 * toplev.c (rest_of_compilation): Likewise.
6910 * flow.c (try_forward_edges): Take argument MODE;
6911 do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
6912 (try_optimize_cfg): Update call of try_forward_edges.
6914 Sun Jul 29 18:59:56 CEST 2001 Roman Zippel <zippel@linux-m68k.org>
6915 Jan Hubicka <jh@suse.cz>
6917 * (validate_replace_rtx_1): Fix simplification of MINUS.
6919 2001-07-29 Neil Booth <neil@daikokuya.demon.co.uk>
6921 PR preprocessor/3669
6922 * cppinit.c (init_dependency_output): Turn off dump requests
6923 if sending dependencies to stdout.
6925 2001-07-28 Richard Henderson <rth@redhat.com>
6927 * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
6930 2001-07-28 Golubev I. N. <gin@mo.msk.ru>
6932 * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
6934 2001-07-28 Kazu Hirata <kazu@hxi.com>
6936 * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
6937 is VAR_DECL first to prevent an ICE.
6939 2001-07-28 Richard Henderson <rth@redhat.com>
6941 * varasm.c (immed_real_const_1): Don't elide special cases for
6943 (clear_const_double_mem): Clear const_tiny_rtx too.
6945 2001-07-28 Richard Henderson <rth@redhat.com>
6947 * dwarf2out.c (dw_val_class_offset): New.
6948 (struct dw_ranges_struct, dw_ranges_ref): New.
6949 (ranges_table, ranges_table_allocated): New.
6950 (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
6951 (add_AT_offset, add_ranges, output_ranges): New.
6952 (print_die, output_die): Handle dw_val_class_offset.
6953 (attr_checksum, size_of_die, value_format): Likewise.
6954 (gen_lexical_block_die): Handle non-contiguous blocks.
6955 (gen_block_die): Likewise.
6956 (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
6957 if needed. Dump the ranges table.
6958 * final.c (final_start_function): Remove unnecessary notes and
6959 rebuild the block tree before numbering the blocks.
6960 * function.c (reorder_blocks_0): Walk the existing block tree
6961 to unmark all blocks.
6962 (reorder_blocks_1): Create block fragments when duplicate block
6964 (reorder_fix_fragments): New.
6965 (reorder_blocks): Call it.
6966 * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
6968 2001-07-28 Richard Henderson <rth@redhat.com>
6970 * emit-rtl.c (adjust_address): Make a copy of the memory address.
6972 2001-07-28 Richard Henderson <rth@redhat.com>
6974 * flow.c (add_to_mem_set_list): New function.
6975 (init_propagate_block_info): Use it.
6976 (mark_set_1): Likewise.
6977 (insn_dead_p): Canonicalize memory address for dead store
6978 comparison. Allow wider mode stores to kill narrower mode stores.
6979 (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
6980 (invalidate_mems_from_set): Don't handle MEMs.
6982 2001-07-28 Kazu Hirata <kazu@hxi.com>
6984 * config/h8300/h8300.h: Fix formatting.
6986 Sat Jul 28 23:35:22 CEST 2001 Jan Hubicka <jh@suse.cz>
6988 * basic-block.h (EDGE_FREQUENCY): New macro.
6989 * bb-reorder (fixup_reorder_chain): Set counts and frequencies
6991 * flow.c (find_sub_basic_blocks): Likewise.
6992 (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
6993 (redirect_edge_and_branch): Use EDGE_FREQUENCY.
6995 * predict.c (DEF_PREDICTOR): New argument FLAGS.
6996 (HITRATE): New macro.
6997 (PRED_FLAG_FIRST_MATCH): New constant.
6998 (predictor_info): New field flgags.
6999 (combine_predictions_for_insn): Use DS theory to combine
7000 probabilities; set the edge probabilities when finished.
7001 (estimate_probability): Avoid duplicated matches
7002 of LOOP_BRANCH heuristics for nested loops; update comment.
7003 * predict.def: Add flags for each prediction, set probabilities
7004 according to B&L paper.
7005 * predict.h (DEF_PREDICTOR): New argument FLAGS.
7007 * profile.c (compute_branch_probabilities): Cleanup way the edge
7008 probabilities are computed and REG_BR_PROB notes are dropped; if
7009 values does not match, emit error.
7010 (init_branch_prob): Do error instead of warning when profile driven
7011 feedback is missing or corrupt.
7013 2001-07-27 DJ Delorie <dj@redhat.com>
7015 * ifcvt.c (noce_get_alt_condition): If the condition is a compare
7016 against a constant, try to adjust the compare to have the desired
7017 constant in it so that min/max optimizations happen more often.
7019 Fri Jul 27 17:53:00 CEST 2001 Jan Hubicka <jh@suse.cz>
7021 * flow.c (last_loop_beg_note): New function.
7022 (redirect_edge_and_branch): Use it.
7023 (split_edge): Likewise.
7025 * alias.c (loop_p): Avoid uninitialized memory access.
7027 * flow.c (try_forward_edges): Avoid accessing freed memory.
7029 * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
7032 2001-07-26 Andrew Haley <aph@redhat.com>
7033 Joern Rennecke <amylaar@redhat.com>
7035 * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
7036 (SUBTARGET_CPP_ENDIAN_SPEC): New.
7037 (SUBTARGET_CPP_SPEC): New.
7039 * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
7040 (SUBTARGET_CPP_PTR_SPEC): New.
7041 (CPP_DEFAULT_CPU_SPEC): New.
7042 (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
7043 SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
7044 (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
7045 SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
7046 (SUBTARGET_CPP_SPEC): Define as an empty string.
7048 2001-07-27 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7050 * doc/install.texi (Configuration): Properly link the host
7051 specific instructions also when generating HTML.
7053 Fri Jul 27 00:33:35 EDT 2001 John Wehle (john@feith.com)
7055 * flow.c (redirect_edge_and_branch_force): Test
7056 target->global_live_at_start.
7058 2001-07-26 Richard Henderson <rth@redhat.com>
7060 * simplify-rtx.c (avoid_constant_pool_reference): Export.
7061 * rtl.h (avoid_constant_pool_reference): Declare it.
7062 * dwarf2out.c (add_location_or_const_value_attribute): Use it.
7063 (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
7065 Thu Jul 26 22:30:22 CEST 2001 Jan Hubicka <jh@suse.cz>
7067 * rtl.h (cleanup_barriers): Declare.
7068 * jump.c (cleanup_barriers): New function.
7069 * toplev.c (rest_of_compilation): Call cleanup_barriers
7070 before loop optimizer and after bb_reorder.
7072 * flow.c (back_edge_of_syntactic_loop_p): New.
7073 (split_edge): Use it.
7075 2001-07-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7077 * glimits.h (_MACH_MACHLIMITS_H_): Delete.
7079 Thu Jul 26 22:22:21 2001 Denis Chertykov <denisc@overta.ru>
7081 * cse.c (cse_process_notes): Replace any registers if the address
7084 Thu Jul 26 14:04:03 EDT 2001 John Wehle (john@feith.com)
7086 * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
7087 (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
7088 (propagate_block): Update prototype.
7089 * flow.c (update_life_info): Simplify the CFG and
7090 recalculate the global regs which are alive when
7091 removing dead code during a global update.
7092 (propagate_block): Return non-zero if an INSN is
7095 2001-07-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7097 * Makefile.in (LIBICONV): Define.
7099 2001-07-26 Catherine Moore <clm@redhat.com>
7101 * config/v850/v850.h (ENCODE_SECTION_INFO): Change order
7102 of conditional to avoid tree checking errors.
7104 2001-07-26 Kazu Hirata <kazu@hxi.com>
7106 * regmove.c (regmove_optimize): Don't replace a reg with
7107 another reg of a different mode.
7109 2001-07-26 Andrew MacLeod <amacleod@redhat.com>
7111 * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
7112 limit length of dependancy flush list.
7113 * params.h (MAX_PENDING_LIST_LENGTH): Define.
7114 * sched-int.h (struct deps): Add pending_flush_length field.
7115 * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
7116 has 1 element in it.
7117 (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
7118 (sched_analyze): After a jump, if the pending memory flush list is too
7119 large, flush the pending lists.
7120 (init_deps): Initialize pending_flush_length to 0.
7121 * doc/invoke.texi (max_pending_list_length): Document parameter.
7123 2001-07-26 Neil Booth <neil@daikokuya.demon.co.uk>
7125 * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
7126 * dbxout.c (dbxout_global_decl): Move outside #ifdef.
7127 * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
7129 2001-07-26 Neil Booth <neil@cat.daikokuya.demon.co.uk>
7131 * cpphash.h (struct_lexer_state): Delete was_skipping.
7132 Move skipping here from struct cpp_reader.
7133 * cpplex.c (parse_identifier): Update.
7134 (_cpp_lex_token): Don't skip tokens in a directive.
7135 * cpplib.c (struct if_stack): Update.
7136 (start_directive, end_directive): Don't change skipping state.
7137 (_cpp_handle_directive): Update.
7138 (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
7139 (do_else, do_endif): Update; only check for excess tokens if not
7140 in a skipped conditional block.
7141 (push_conditional): Update for new struct if_stack.
7143 2001-07-26 Graham Stott <grahams@redhat.com>
7145 * function.c (locate_and_pad_parm): Also pad initial offset
7146 so that the total argument size also includes the padding.
7148 2001-07-26 Graham Stott <grahams@redhat.com>
7150 * gensupport.c (alter_output_for_insn): Correct enable checking failure
7151 change XSTR to XTMPL.
7153 (process_one_cond_exec): Likewise
7155 2001-07-25 Richard Henderson <rth@redhat.com>
7157 * varasm.c (assemble_variable): Create DECL_RTL before setting
7160 Thu Jul 26 00:19:30 CEST 2001 Jan Hubicka <jh@suse.cz>
7162 * predict.c (estimate_probability): Avoid duplicated predictions.
7164 * loop.c (find_and_verify_loops): Grok multiple barriers.
7166 Wed Jul 25 18:00:05 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7168 * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
7170 * dbxout.c: Consistently use putc instead of fputc.
7171 (print_wide_int): New function; call instead of direct fprintf.
7172 (dbxout_type_index): Adjust calls of CHARS to be more accurate.
7173 (dbxout_type_fields, dbxout_type_method_1): Likewise.
7174 (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
7175 (print_int_cst_octal): Likewise.
7176 (print_octal): Show we wrote characters.
7177 (dbxout_type): Set have_used_extensions in more places.
7179 2001-07-25 Catherine Moore <clm@redhat.com>
7181 * config/v850/v850.c (v850_va_arg): Use addr
7182 instead of valist to build incr.
7184 Wed Jul 25 22:48:59 CEST 2001 Jan Hubicka <jh@suse.cz>
7186 * flow.c (delete_dead_jumptables): New function.
7187 (life_analyzis): Call it.
7188 * bb-reorder.c (skip_insns_after_block): Handle contradictory
7191 2001-07-25 Richard Henderson <rth@redhat.com>
7193 * except.c (reachable_handlers): Handle a region being removed
7194 out from under a RESX.
7196 2001-07-25 Richard Henderson <rth@redhat.com>
7198 * config/alpha/alpha.c (alpha_emit_conditional_move): Always
7199 swap GE/GT if it is an fp comparison.
7201 2001-07-25 Andrew Haley <aph@cambridge.redhat.com>
7203 * alias.c (rtx_equal_for_memref_p): Allow strings as types in
7206 Wed Jul 25 08:25:01 2001 Jeffrey A Law (law@cygnus.com)
7208 * ssa.c (rename_insn_1): Do not wrap an assignment to a
7209 paradoxical SUBREG inside a SEQUENCE. Fix minor formatting
7212 * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
7214 (visit_expression): When attempting to simplify an expression,
7215 retrieve any modes for arguments before they are simplified
7218 2001-07-25 Andrew MacLeod <amacleod@redhat.com>
7219 Janis Johnson <janis@us.ibm.com>
7221 * stmt.c (expand_goto): A nonlocal goto can be a call too.
7222 * builtins.c (expand_builtin_longjmp): Reverse label and static chain
7223 pointer parameters to match documented usage of nonlocal_goto.
7224 * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
7225 parameters to their correct order.
7226 * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
7227 parameters to their correct order.
7229 2001-07-25 Andrew MacLeod <amacleod@redhat.com>
7231 * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
7233 2001-07-25 Jan Hubicka <jh@suse.cz>
7234 Richard Henderson <rth@redhat.com>
7236 * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
7238 (make_edges): New argument update_p; populate the edge cache if set.
7239 (find_basic_blocks): Update make_edges invocation.
7241 2001-07-24 Joel Sherrill <joel@OARcorp.com>
7243 * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
7245 2001-07-24 Joel Sherrill <joel@OARcorp.com>
7247 * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
7248 -Acpu and -Amachine.h.
7249 * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
7250 Corrected header to say ELF not a.out.
7251 * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
7252 when given -msoft-float.
7254 2001-07-24 Joel Sherrill <joel@OARcorp.com>
7256 * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
7257 extra multilib parts like arm-elf.
7258 (i960-*-coff*, i960-*-rtems): Should not use collect2.
7259 (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
7260 crtfini.o as extra multilib parts.
7262 2001-07-24 Joel Sherrill <joel@OARcorp.com>
7264 * configure.in: Add rtems as a supported thread model.
7265 * gthr-rtems.h: Add missing entry point __gthread_active_p.
7266 * configure: Rebuilt.
7268 2001-07-24 Lars Brinkhoff <lars@nocrew.org>
7270 * stor-layout.c (get_mode_alignment): make it work when
7271 BITS_PER_UNIT is not a power of two.
7272 * builtins.c (get_pointer_alignment): Likewise.
7274 2001-07-24 Richard Henderson <rth@redhat.com>
7276 * simplify-rtx.c (avoid_constant_pool_reference): Coerce
7277 the retrieved constant into the expected mode.
7279 Wed Jul 25 01:41:27 CEST 2001 Jan Hubicka <jh@suse.cz>
7281 * flow.c (try_simplify_condjump): Avoid duplicated edges.
7282 (verify_flow_info): Check for duplicated edges; clarify
7285 * flow.c (block_label): Update basic_block_for_insn.
7286 (commit_edge_insertions): Call compute_bb_for_insn.
7288 * flow.c (purge_dead_edges): Handle conditional jumps and conditional
7291 * flow.c (redirect_edge_and_branch,
7292 try_optimize_cfg): Use redirect_edge_succ_nodup
7293 (redirect_edge_succ_nodup): New.
7294 * basic_block.h (redirect_edge_succ_nodup): Declare.
7296 * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
7299 Wed Jul 25 00:32:49 CEST 2001 Jan Hubicka <jh@suse.cz>
7301 * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
7302 (try_crossjump_to_edge): Update commetns.
7303 (try_crossjump_bb): Likewise.
7305 2001-07-24 Richard Henderson <rth@redhat.com>
7307 * combine.c (distribute_notes): Move set of need_refresh
7308 for noop_move_p down to catch all cases.
7310 Tue Jul 24 20:32:44 CEST 2001 Jan Hubicka <jh@suse.cz>
7312 * recog.c (split_all_insns_noflow): New.
7313 * rtl.h (split_all_insns_noflow): Declare.
7314 * ia64.c (ia64_reorg): Use split_all_insns_noflow.
7315 * m68hc11.c (m68hc11_reorg): Likewise.
7316 * sh.c (machine_dependent_reorg): Likewise.
7317 * toplev.c (rest_of_compilation): Likewise for last split_all_insns
7320 2001-07-18 Andrew Haley <aph@cambridge.redhat.com>
7322 * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
7323 (ashlsi3_n splitter): Likewise.
7324 (lshrsi3_n splitter): Likewise.
7326 (GOTaddr2picreg): Make const SImode.
7327 (sym_label2reg): Likewise.
7328 (symGOT2reg): Likewise.
7329 (symGOTOFF2reg) Likewise.
7331 (casesi_worker_0): Make unspec SImode.
7333 2001-07-18 Andrew Haley <aph@cambridge.redhat.com>
7335 * config/sh/sh.c (barrier_align): Check that an operand really is
7336 an insn before extracting its INSN_CODE.
7338 2001-07-24 Andrew Haley <aph@cambridge.redhat.com>
7340 * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
7343 * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
7344 for SImode to prevent overflow.
7346 2001-07-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7348 * config/mips/irix6-libc-compat.c: New file.
7349 * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
7350 * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
7353 2001-07-24 lars brinkhoff <lars@nocrew.org>
7355 * rtl.texi (REG_POINTER): Document.
7356 (Machine Modes): Document BImode, OImode, PQImode, PHImode,
7357 QFmode, HFmode, TQFmode, QCmode, and HCmode.
7359 Tue Jul 24 10:49:40 CEST 2001 Jan Hubicka <jh@suse.cz>
7361 * flow.c (delete_noop_moves): Do not confuse libcall regions.
7363 2001-07-23 Richard Henderson <rth@redhat.com>
7365 * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
7367 2001-07-23 Kazu Hirata <kazu@hxi.com>
7369 * config/h8300/h8300-protos.h: Add a prototype for
7370 general_operand_dst_push.
7371 * config/h8300/h8300.c (general_operand_dst_push): New.
7372 * config/h8300/h8300.h (OK_FOR_T): New.
7373 (EXTRA_CONSTRAINT): Use it.
7374 * config/h8300/h8300.md (movqi_push): Remove and integrate into
7375 the existing movqi pattern.
7376 (movhi_push): Likewise.
7378 * reload.c: Fix comment typos.
7380 Mon Jul 23 23:34:07 CEST 2001 Jan Hubicka <jh@suse.cz>
7382 * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
7384 2001-07-23 H.J. Lu (hjl@gnu.org)
7386 * doc/extend.texi: Update __builtin_return_address and
7387 __builtin_frame_address.
7389 2001-07-23 Richard Henderson <rth@redhat.com>
7391 * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
7393 * config/i386/i386.md: New setcc+movzbl peephole2.
7395 2001-07-23 Neil Booth <neil@cat.daikokuya.demon.co.uk>
7397 * objc/Make-lang.in (objc-act.o): Depend on debug.h.
7398 * objc/objc-act.c: Include debug.h.
7399 (synth_module_prologue): Save and restore debug hooks too.
7401 2001-07-23 lars brinkhoff <lars@nocrew.org>
7403 * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
7404 and C4X_FLOAT_FORMAT.
7405 (BOOL_TYPE_SIZE): Document.
7407 Mon Jul 23 11:54:23 2001 Clinton Popetz <cpopetz@cpopetz.com>
7409 * unroll.c (loop_iterations): Fix miscalculation of initial
7412 2001-07-13 Andrew Haley <aph@redhat.com>
7414 * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
7415 * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
7416 * config/sh/sh.c (sh_can_redirect_branch): New function.
7417 * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
7418 * reorg.c (steal_delay_list_from_target): Use
7419 MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
7421 Mon Jul 23 17:20:18 CEST 2001 Jan Hubicka <jh@suse.cz>
7423 * flow.c (try_simplify_condjump): Unlink insn chain on
7424 fallthru edge; use can_fallthru.
7426 Mon Jul 23 16:03:19 CEST 2001 Jan Hubicka <jh@suse.cz>
7428 * basic-block.h (find_sub_basic_block): Declare.
7429 * flow.c (make_edges): New arguments MIN and MAX;
7430 (find_sub_basic_blocks): Revamp to use make_edges
7431 and purge_dead_edges.
7432 (find_basic_blocks): Update call of find_sub_basic_block.
7434 * recog.c (split_all_insns): Always expect CFG to be consistent;
7435 call find_sub_basic_blocks in case something has changed.
7436 * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
7439 * basic-block.h (delete_noop_moves): Declare.
7440 * combine.c (combine_instructions): Call it.
7441 (recog_for_combine): Tolerate noop moves
7442 (distribute_notes): Force refresh when register dies at noop move.
7443 * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
7445 (life_analysis): Update delete_noop_moves call.
7446 (set_noop_p): Move too ...
7447 * rtlanal.c (noop_move_p): ... here.
7448 * rtl.h (noop_move_p): Declare.
7450 * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
7451 * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
7453 * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
7454 (cprop_jump): Likewise; call purge_dead_edges if substitution suceeded.
7456 2001-07-23 Hans-Peter Nilsson <hp@bitrange.com>
7458 * reload.c (push_reload): Fix typo in comment.
7459 (find_reloads_address): Ditto.
7460 (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
7462 2001-07-22 Richard Henderson <rth@redhat.com>
7464 * flow.c: Grammar check and clarify a lot of comments.
7465 (try_simplify_condjump): Rename variables to be clearer.
7466 (try_forward_edges): Skip complex and fallthru edges.
7467 Rearrange tests to avoid duplicate checks.
7468 (flow_find_cross_jump): Likewise.
7469 (outgoing_edges_match): Allow match if neither branch has
7470 probability data. Loosen probability match to 5%.
7471 (try_crossjump_to_edge): Hoist repeated indirection into
7473 (try_crossjump_bb): Don't check complex edges. Eliminate
7474 redundant crossjump tests.
7475 (try_optimize_cfg): Fix use of bool. Reorganize cheaper
7476 checks before more expensive checks.
7478 2001-07-22 Richard Henderson <rth@redhat.com>
7480 * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
7481 INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
7484 2001-07-22 Richard Henderson <rth@redhat.com>
7486 * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
7487 (const_sint32_operand): Likewise.
7488 * m68k.md (anon mulsi pattern): Use const_int_operand not
7489 const_sint32_operand.
7490 (umulsi3_highpart): Zero extend a constant input.
7491 (smulsi3_highpart): Don't bother checking SImode constant.
7492 (const_umulsi3_highpart): Give op3 DImode.
7493 (const_smulsi3_highpart): Likewise.
7495 2001-07-22 Richard Henderson <rth@redhat.com>
7497 * flow.c (split_block): Make sure bb_note is included in the
7498 new block when splitting before a label.
7500 Sun Jul 22 23:28:56 CEST 2001 Jan Hubicka <jh@suse.cz>
7502 * basic-block.h (redirect_edge_and_branch_force,
7503 redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
7504 * flow.c (redirect_edge_and_branch_force,
7505 redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
7506 (redirect_edge_and_branch_force): Fix copying of lifeness information.
7507 (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
7508 * ifcvt.c (dead_or_predictable): Take BB as an new destionation
7509 instead of label; update CFG after transformation.
7510 (find_if_case_1): Update call, use redirect_edge_and_branch_force
7511 for finishing the transformation; handle even case where ELSE
7512 does not follow THEN.
7513 (find_if_case_2): Update call of dead_or_predictable; simplify
7516 * emit-rtl.c (split_branch_probability): New global variable.
7517 (try_split): Take care to set split_branch_probability and
7518 create REG_BR_PROB note for new jump insns.
7519 * md.texi (define_split): Document new feature.
7521 * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
7523 2001-07-22 Neil Booth <neil@daikokuya.demon.co.uk>
7525 * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
7526 (asm_out_file): Remove redundant declaration.
7527 (assemble_asm): Remove old #if 0 block.
7528 (assemble_variable): Remove end of function; debug output is
7529 now handled with global_decl. Remove old #if 0 block. Update.
7530 Remove saved_in_section and associated no-op code.
7531 * Makefile.in (varasm.o): Correct dependencies.
7533 Sun Jul 22 17:55:11 2001 Alexandre Oliva <aoliva@redhat.com>
7535 * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
7536 the definition in defaults.h.
7538 Sun Jul 22 21:31:04 CEST 2001 Jan Hubicka <jh@suse.cz>
7540 * jump.c: Update comments.
7541 (delete_barrier_successors, delete_unreferenced_labels,
7542 delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
7543 delete_labelref_insn, redirect_tablejump, jump_optimize_1,
7544 jump_optimize, jump_optimize_minimal): Kill.
7545 (rebuild_jump_labels): Move code from jump_optimize_1.
7546 (purge_line_number_notes): Likewise.
7547 (copy_loop_headers): Likewise.
7548 * reg-stack.c: Update comment.
7550 * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
7551 JUMP_AFTER_REGSCAN): Kill.
7552 * toplev.c (rest_of_compilation): Use cleanup_cfg, call
7553 purge_line_number_notes and copy_loop_headers.
7555 2001-07-22 Neil Booth <neil@daikokuya.demon.co.uk>
7556 Richard Henderson <rth@redhat.com>
7558 * dbxout.c (dbxout_global_decl): New.
7559 (xcoff_debug_hooks, dbx_debug_hooks): Use it.
7560 * sdbout.c (sdbout_finish): New.
7561 (sdbout_debug_hooks): Use it, add comments.
7562 (sdbout_global_decl): Defer initialised public vars to
7564 * varasm.c (assemble_variable): Don't output debug information
7565 for file-scope variables.
7567 2001-07-22 Richard Henderson <rth@redhat.com>
7569 * config/alpha/alpha.c (get_trap_mode_suffix): New.
7570 (get_round_mode_suffix): New.
7571 (print_operand): Use them for [/]. Remove support for [&'`()+].
7572 * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
7573 * config/alpha/alpha.md (attr round_suffix): New.
7574 (attr trap_suffix): New.
7575 (all insns): Set them appropriately. Use %/ instead of the
7578 2001-07-22 Neil Booth <neil@cat.daikokuya.demon.co.uk>
7580 * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
7582 2001-07-22 Richard Henderson <rth@redhat.com>
7584 * regrename.c (regrename_optimize): Compute nregs for each
7585 potential target register.
7587 2001-07-21 Neil Booth <neil@daikokuya.demon.co.uk>
7588 Richard Henderson <rth@redhat.com>
7590 * dbxout.c (dbxout_global_decl): New.
7591 (xcoff_debug_hooks, dbx_debug_hooks): Use it.
7592 * sdbout.c (sdbout_finish): New.
7593 (sdbout_debug_hooks): Use it, add comments.
7594 (sdbout_global_decl): Defer initialised public vars to
7596 * varasm.c (assemble_variable): Don't output debug information
7597 for file-scope variables.
7599 2001-07-21 H.J. Lu (hjl@gnu.org)
7601 * config/mips/mips.c (mips_cpu): Moved into ...
7602 (override_options): Here.
7604 * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
7606 (mips_cpu): Removed.
7608 2001-07-21 Stephane Carrez <Stephane.Carrez@worldnet.fr>
7610 * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
7611 ("iorqi3"): Likewise.
7612 ("xorqi3"): Likewise.
7613 ("*addhi3"): Fix constraint to avoid reloading in a soft register.
7614 ("*subhi3_sp): Likewise.
7615 ("*subhi3"): Likewise.
7616 ("extendhisi2"): Accept D, X and Y as source operand to avoid
7619 2001-07-21 Nathan Sidwell <nathan@codesourcery.com>
7621 * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
7622 * config/freebsd.h: Likewise.
7623 * config/linux.h: Likewise.
7624 * config/openbsd.h: Likewise.
7625 * config/alpha/linux-elf.h: Likewise.
7626 * config/arm/linux-elf.h: Likewise.
7627 * config/d30v/d30v.h: Likewise.
7628 * config/fr30/fr30.h: Likewise.
7629 * config/ia64/aix.h: Likewise.
7630 * config/ia64/ia64.h: Likewise.
7631 * config/mips/linux.h: Likewise.
7632 * config/pj/pj.h: Likewise.
7633 * config/rs6000/linux.h: Likewise.
7634 * config/sparc/linux.h: Likewise.
7635 * config/sparc/linux64.h: Likewise.
7637 2001-07-20 Bruce Korb <bkorb@gnu.org>
7639 * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
7640 because getc() and char* may disagree on signedness.
7642 2001-07-20 Richard Henderson <rth@redhat.com>
7644 * doc/rtl.texi (REG_DEAD): Update for current semantics.
7646 * flow.c (try_redirect_by_replacing_jump): Correctly compute which
7647 insns to delete in the presence of cc0 in a jump insn.
7649 Fri Jul 20 22:14:49 CEST 2001 Roman Zippel <zippel@linux-m68k.org>
7650 Jan Hubicka <jh@suse.cz>
7652 * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
7653 of doing the change by hand.
7655 Fri Jul 20 21:59:42 CEST 2001 Jan Hubicka <jh@suse.cz>
7657 * rtlanal.c (set_noop_p): Return true for noop jumps.
7659 * expr.c (emit_single_push_insn): Add call to push expander.
7660 * expr.h (optab_index): Add OTI_push
7661 (push_optab): New constant.
7662 * genopinit.c (optabs): Add push_optab.
7663 * optabs.c (init_optab): Init push optab.
7664 * md.texi (push??1): Document
7666 2001-07-20 Stephane Carrez <Stephane.Carrez@worldnet.fr>
7668 * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
7669 expand to emit the pattern; put a REG_INC note for push/pop
7671 ("movdf", "movdf_internal"): Likewise.
7672 ("movsi", "movsi_internal"): Likewise.
7673 ("movsf", "movsf_internal"): Likewise.
7674 ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
7676 2001-07-20 Stephane Carrez <Stephane.Carrez@worldnet.fr>
7678 * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
7681 2001-07-20 Daniel Berlin <dan@cgsoftware.com>
7683 * params.def: Change default max inline insns to 100.
7685 2001-07-20 Diego Novillo <dnovillo@redhat.com>
7687 * combine.c (combine_simplify_rtx): Generate a new shift operation
7688 when simplifying the first operand of a (neg (ashift)) expression.
7690 2001-07-20 Roman Lechtchinsky <rl@cs.tu-berlin.de>
7692 * regclass.c (N_REG_INTS): Use only 32 bits per element.
7694 2001-07-20 Kelley Cook <kelley.cook@home.com>
7696 * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
7697 information. Move rest into ...
7698 (*-*-solaris): ... here. Eliminate redundant information and
7699 reword necessary packages section. Delete 4.x assembler bug info.
7700 (sparc-sun-*): Merge into ...
7701 (sparc-sun-sunos*): here.
7703 2001-07-20 Catherine Moore <clm@redhat.com>
7705 * config/v850/v850.md (casesi): Generate LABEL_REF
7708 Fri Jul 20 14:12:57 CEST 2001 Jan Hubicka <jh@suse.cz>
7710 * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
7711 * i386.c (ix86_zero_extend_to_Pmode): Make global.
7712 * i386.md (strclrsi expander): Use it.
7714 Fri Jul 20 13:24:16 CEST 2001 Jan Hubicka <jh@suse.cz>
7716 * integrate.c (copy_insn_list): handle
7717 NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
7718 (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
7719 identically as to CODE_LABEL.
7721 * fold-const (fold): Convert A/B/C to A/(B*C) and
7724 * except.c (connect_post_landing_pads): Delete the RESX insns.
7726 2001-07-20 Aldy Hernandez <aldyh@redhat.com>
7728 * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
7730 * config/mips/mips.md (nmadd/nmsub): Use macro.
7732 2001-07-20 Nathan Sidwell <nathan@codesourcery.com>
7734 * cppinit.c (remove_dup_dir): Make static.
7735 (remove_dup_dirs): Make static. Only warn about preempting a
7736 system directory with a non-system directory.
7738 2001-07-19 Geoffrey Keating <geoffk@redhat.com>
7740 * ifcvt.c (noce_try_store_flag_constants): Correct order
7741 of parameters to trunc_int_for_mode.
7743 2001-07-19 Mark Mitchell <mark@codesourcery.com>
7745 * reorg.c (fill_simple_delay_slots): If an instruction might throw
7746 an exception that will be caught within this function, do not fill
7747 its delay slot with any subsequent instruction.
7749 2001-07-19 Steve Ellcey <sje@cup.hp.com>
7751 * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
7752 * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
7753 pointer extension instruction.
7754 * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
7755 * simplify-rtx.c (simplify_unary_operation) Likewise.
7756 * explow.c (convert_memory_address) Check value of
7757 POINTERS_EXTEND_UNSIGNED to avoid some conversions when
7759 * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
7760 MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
7761 * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
7762 Add Multilib Support.
7763 (POINTERS_EXTEND_UNSIGNED) Define for ILP32 support.
7764 * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
7765 Add Multilib Support.
7766 (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
7768 * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
7769 * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
7770 a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
7772 2001-07-19 Alexandre Oliva <aoliva@redhat.com>
7774 * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
7775 old and new operands in `<', `3' and `b'.
7777 2001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
7779 * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
7780 (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
7781 (toplev.o): Don't depend on xcoffout.h.
7782 * c-decl.c: Include debug.h
7783 (duplicate_decls): Use debug hook.
7784 * dbxout.c (dbxout_source_file, dbxout_args): Make static.
7785 (dbx_debug_hooks, xcoff_debug_hooks): Update.
7786 (dbxout_types): Remove.
7787 * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
7788 * debug.c (do_nothing_debug_hooks): Update.
7789 (debug_true_tree, debug_nothing_rtx): New.
7790 * debug.h (struct rtx_def): New.
7791 (struct gcc_debug_hooks): New hooks ignore_block,
7792 outlining_inline_function and label.
7793 (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
7794 dwarf2out_frame_finish): New.
7795 * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
7796 Make static, update prototype.
7797 (dwarf2_debug_hooks): Update.
7798 * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
7799 dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
7800 * dwarfout.c (dwarf_debug_hooks): Update.
7801 * emit-rtl.c: Include debug.h.
7802 (remove_unnecessary_notes): Use debug hook.
7803 * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
7804 (final_scan_insn): Use debug hook.
7805 * integrate.c (output_inline_function): Use debug hook.
7806 * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
7807 (sdb_debug_hooks): Update.
7808 * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
7809 * toplev.c: Don't include xcoffout.h.
7810 (note_outlining_of_inline_function, debug_ignore_block): Remove.
7811 * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
7813 * tree.h (dwarf2out_do_frame): Remove.
7815 2001-07-19 Catherine Moore <clm@cygnus.com>
7817 * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
7819 2001-07-19 Geoffrey Keating <geoffk@redhat.com>
7821 * reload1.c (eliminate_regs_in_insn): When updating a set
7822 to the frame pointer to the hardware frame pointer, perform
7823 the update always not just when REPLACE is set.
7825 * reload1.c (choose_reload_regs): Don't inherit a reload
7826 that crosses multiple registers if registers past the first
7827 don't fit in the desired class.
7829 * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
7830 when negating constants.
7832 2001-07-19 Toon Moene <toon@moene.indiv.nluug.nl>
7834 * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
7835 * doc/tree.texi: Ditto.
7837 2001-07-19 Mark Kettenis <kettenis@wins.uva.nl>
7838 Jakub Jelinek <jakub@redhat.com>
7840 * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
7841 (extract_cie_info): Handle "eh" augmentation properly,
7843 (struct frame_state, __frame_state_for): New.
7845 2001-07-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7847 * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
7848 HANDLE_SYSV_PRAGMA): Define.
7849 * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
7851 (copy_object): Caller changed.
7853 2001-07-19 Andreas Schwab <schwab@suse.de>
7855 * configure.in (assembler dwarf2 debug_line support): Define nop
7857 * configure: Regenerated.
7859 2001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
7861 * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
7863 * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
7864 to conditionally compiled block.
7865 (dbx_debug_hooks, xcoff_debug_hooks): Update.
7866 * dbxout.h (dbxout_function): Remove.
7867 * debug.c (do_nothing_debug_hooks): Update.
7868 * debug.h (struct gcc_debug_hooks): New hooks function_decl,
7869 global_decl, deferred_inline_function.
7870 * dwarf2out.c (dwarf2_debug_hooks): Update.
7871 (dwarf2out_global_decl): New.
7872 * dwarfout.c: Don't include dwarfout.h.
7873 (dwarfout_global_decl, dwarfout_function_decl,
7874 dwarfout_deferred_inline_function): New.
7875 (dwarf_debug_hooks): Update.
7876 * dwarfout.h: Remove.
7877 * final.c: Don't include dwarfout.h.
7878 * sdbout.c (sdbout_global_decl): New.
7879 (sdbout_debug_hooks): Update.
7880 * toplev.c: Don't include dwarfout.h.
7881 (check_global_declarations, rest_of_compilation): Use new debug hooks.
7882 (note_deferral_of_defined_inline_function): Remove.
7883 * toplev.h (note_deferral_of_defined_inline_function): Remove.
7884 * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
7885 * ch/lex.c: Don't include dwarfout.h.
7886 * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
7887 (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
7888 * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
7889 * cp/optimize.c: Include debug.h.
7890 (maybe_clone_body): Use debug hook.
7891 * cp/semantics.c: Include debug.h.
7892 (expand_body): Use debug hook.
7893 * po/POTFILES.in: Remove dwarfout.h.
7895 2001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
7897 * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
7898 * c-parse.in (yyerror, _yylex): Similarly.
7899 * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
7900 Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
7902 * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
7903 * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
7905 2001-07-18 Jeff Sturm <jsturm@one-point.com>
7907 * dwarf2out.c (dwarf2out_abstract_function): Don't emit
7908 in-class declaration at -g1. Fixes c++/2814.
7910 2001-07-18 Richard Henderson <rth@redhat.com>
7912 * doc/md.texi (reload_in/out): Document restrictions in predicates
7913 and constraints for these patterns. Document empty string matching
7916 2001-07-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7918 * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
7920 Wed Jul 18 20:47:36 CEST 2001 Jan Hubicka <jh@suse.cz>
7922 * cse.c: Undo my previous patch.
7924 2001-07-18 Tom Tromey <tromey@redhat.com>
7927 * configure: Rebuilt.
7928 * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
7930 * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
7932 Wed Jul 18 18:46:30 CEST 2001 Richard Henderson <rth@cygnus.com>
7933 Jan Hubicka <jh@suse.cz>
7935 * flow.c (redirect_edge_and_branch): Bail out on complex edges.
7936 (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
7937 * jump.c (mark_jump_label): Do not forward branches.
7939 Wed Jul 18 18:35:01 CEST 2001 Jan Hubicka <jh@suse.cz>
7941 * cse.c (delete_trivially_dead_insns): Delete the libcall block
7942 when return value is unused.
7944 Wed Jul 18 18:28:16 CEST 2001 Jan Hubicka <jh@suse.cz>
7946 * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
7948 Wed Jul 18 12:05:29 2001 Nicola Pero <n.pero@mi.flashnet.it>
7950 * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
7951 on error. We can't blindly return the result of
7952 pthread_mutex_trylock because it returns a positive number on
7953 error, while we must return -1 on error.
7954 (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
7956 Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
7958 2001-07-18 Andreas Jaeger <aj@suse.de>
7960 * integrate.c (output_inline_function): Correct type of debug_hooks.
7962 2001-07-18 Toon Moene <toon@moene.indiv.nluug.nl>
7964 * combine.c (combine_simplify_rtx): DIV can be treated
7965 associatively for floats if unsafe math optimisations are enabled.
7967 2001-07-17 Richard Henderson <rth@redhat.com>
7969 * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
7971 2001-07-17 Richard Henderson <rth@redhat.com>
7973 * calls.c (prepare_call_address): New parameter SIBCALLP. If true,
7974 don't force the function address into a register.
7975 (expand_call, emit_library_call_value_1): Update callers.
7976 * builtins.c (expand_builtin_apply): Likewise.
7977 * expr.h (prepare_call_address): Update decl.
7979 2001-07-17 Chandrakala Chavva <cchavva@redhat.com>
7981 * config.gcc: For *-*-chorusos triplet, get chorus.h file from
7983 * config/i386/chorus.h: Move up.
7984 * config/sparc/chorus.h: Likewise.
7985 * config/rs6000/chorus.h: Likewise.
7986 * config/chorus.h: Moved here.
7988 2001-07-17 Andreas Schwab <schwab@suse.de>
7990 * configure.in (assembler eh_frame optimization): Handle big
7992 * configure: Regenerated.
7994 Tue Jul 17 23:43:31 CEST 2001 Jan Hubicka <jh@suse.cz>
7996 * expr.c (epxand_expr): Convert divisions into multiplications by
7997 reciprocals if -ffast-math.
7999 2001-07-17 Neil Booth <neil@daikokuya.demon.co.uk>
8001 * dbxout.c (dbxout_really_begin_function): Rename to
8002 dbxout_begin_function.
8003 (dbx_debug_hooks, xcoff_debug_hooks): Update.
8004 (dbxout_begin_function): Remove.
8005 (dbxout_function): Update.
8006 (dbxout_source_line): Update prototype.
8007 * dbxout.h (dbxout_begin_function): Remove.
8008 * debug.c (do_nothing_debug_hooks): Update.
8009 (debug_nothing_tree): Update.
8010 (debug_nothing_charstar_rtx): Remove.
8011 * debug.h (union tree_node): Declare.
8012 (struct rtx_def): Remove.
8013 (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
8014 begin_function. Change source_line prototype.
8015 (debug_nothing_tree): New.
8016 (debug_nothing_charstar_rtx): Delete.
8017 (dwarf2out_begin_prologue): Moved from ...
8019 * dwarf2out.c (dwarf2_debug_hooks): Update.
8020 (dwarf2out_begin_prologue): Update prototype. If genuine dwarf2
8021 debug info, call dwarf2out_source_line.
8022 (dwarf2out_souce_line): Update prototype.
8023 * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
8024 Change prototype, make static.
8025 (dwarfout_source_line): Update prototype.
8026 (dwarf_debug_hooks): Update.
8027 * dwarfout.h (dwarfout_begin_function): Remove.
8028 * final.c (final_start_function, final_scan_insn): Use appropriate
8029 debug hooks, update to use notice_source_line.
8030 (output_source_line): Rename notice_source_line. Don't call the
8031 source_line debug hook.
8032 * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
8033 make static, update prototype.
8034 (sdbout_mark_begin_function): Rename sdbout_begin_function, update
8036 (sdbout_end_prologue): New.
8037 (sdbout_source_line): Update prototype.
8038 (sdbout_debug_hooks): Update.
8039 (sdbout_symbol): Remove unused var.
8040 * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
8042 * varasm.c: Include debug.h.
8043 (assemble_start_function): Use begin_function debug_hook.
8044 * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
8045 update with prototype.
8046 (xcoffout_source_line): Update prototype.
8047 * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
8049 (xcoffout_source_line): Update prototype.
8051 2001-07-17 Richard Henderson <rth@redhat.com>
8053 * c-typeck.c (build_binary_op): Do not shorten unsigned
8054 right shift after sign extension.
8056 Tue Jul 17 16:56:05 CEST 2001 Jan Hubicka <jh@suse.cz>
8058 * combine.c (combine_simplify_rtx): Attempt to simplify
8059 a*(b/c) as (a*b)/c for floats in unsafe_math mode.
8061 * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
8062 (simplify_binary_operation, simplify_unary_operation,
8063 simplify_relational_operation): Use it.
8065 * combine.c (combine_simplify_rtx): Don't do associative law
8066 on divisions; allow associative law on floats.
8068 2001-07-17 H.J. Lu <hjl@gnu.org>
8069 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8071 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
8072 ASM_OUTPUT_WEAK_ALIAS are defined.
8073 * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
8074 * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
8076 * config/mips/iris5.h: ... here.
8077 (HANDLE_SYSV_PRAGMA): Defined as 1.
8078 * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
8079 * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
8082 2001-07-17 Joseph S. Myers <jsm28@cam.ac.uk>
8084 * c-parse.in (all_prefix_attributes): New variable.
8085 (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
8086 (maybe_resetattrs): New production.
8087 (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
8088 maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
8089 notype_initdcl, nested_function, notype_nested_function,
8090 component_decl, components, components_notype,
8091 component_declarator, component_notype_declarator,
8092 absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
8093 ivars, mydecl, myparm): Update. Avoid prefix attributes just
8094 after a comma being applied to more than one declarator.
8095 * doc/extend.texi (Attribute Syntax): Update. Remove
8096 documentation of bugs that are no longer present.
8098 2001-07-13 Eric Christopher <echristo@redhat.com>
8100 * config/mips/mips.h: Change TUNE_MIPS* options to use
8102 (EXTRA_SPECS): Add cc1_cpu_spec.
8103 * config/mips/mips.md (muldf3): Fix typo.
8105 2001-07-16 Richard Henderson <rth@redhat.com>
8107 * config/m68k/m68k.c: Include expr.h and reload.h.
8108 (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
8109 [general int]: Use HOST_WIDE_INT_PRINT_DEC.
8111 2001-07-16 Daniel Berlin <dan@cgsoftware.com>
8112 Richard Henderson <rth@redhat.com>
8114 * cse.c (set_live_p): Take INSN argument for cc0; update callers.
8115 (insn_live_p): Fix fall off end of function.
8116 (dead_libcall_p): Remove COUNTS argument; update callers.
8117 (delete_trivially_dead_insns): Remove unused variables.
8119 2001-07-17 Andreas Jaeger <aj@suse.de>
8121 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
8124 * lcm.c (optimize_mode_switching): Avoid warning for unused
8125 variable if !NORMAL_MODE.
8127 * flow.c (try_crossjump_to_edge): Remove unused variable.
8129 2001-07-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
8131 * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
8132 atexit declaration in stdlib.h.
8134 2001-07-16 Richard Begg <Richard.Begg@colesmyer.com.au>
8136 * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
8138 Mon Jul 16 22:48:00 CEST 2001 Jan Hubicka <jh@suse.cz>
8140 * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
8141 * except.c (finish_eh_generation): Update call of cleanup_cfg;
8142 do rebuild_jump_labels instead of jump_optimize
8143 * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
8144 * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
8145 * flow.c (try_optimize_cfg): Remove unneeded code_labels.
8147 * flow.c: Include timevar.h
8148 (find_basic_block): Push/pop timevar;
8149 (cleanup_cfg): Likewise.
8150 * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
8151 * Makefile: Add dependencies on timevar.h
8153 * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
8154 (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
8156 * rtl.h (delete_trivially_dead_insns): Add new parameter.
8157 * toplev.c (rest_of_compilation): Update calls.
8158 * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
8159 (delete_trivially_dead_insns): ... here; accept new argument
8160 preserve_basic_blocks; preserve basic blocks if set.
8162 * reg-stack.c (stack_regs_mentioned): Return 0 if
8163 stack_regs_mentioned_data is not initialized.
8164 (reg_to_stack): Make stack_regs_mentioned survive after the
8165 reg-stack is completted; do not call cleanup_cfg.
8166 * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
8167 make cleanup_cfg after bb-reorder to output to debug file.
8169 2001-07-16 Richard Henderson <rth@redhat.com>
8171 * regclass.c (init_reg_sets): Use only 32 bits per initializer
8172 from int_reg_class_contents.
8174 2001-07-16 Richard Henderson <rth@redhat.com>
8176 * hard-reg-set.h (regs_invalidated_by_call): Declare.
8177 * regclass.c (regs_invalidated_by_call): Move from cse.c.
8178 (init_reg_sets_1): Move initialization from cse_main.
8179 * cse.c (regs_invalidated_by_call): Move to regclass.c.
8180 (cse_main): Move its initialization also.
8181 * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
8182 * flow.c (propagate_one_insn): Likewise.
8183 * gcse.c (compute_hash_table): Likewise.
8184 (compute_kill_rd, compute_store_table): Likewise.
8185 * sched-deps.c (sched_analyze_1): Likewise.
8187 Mon Jul 16 18:07:07 2001 J"orn Rennecke <amylaar@redhat.com>
8189 * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
8192 2001-07-16 Steve Ellcey <sje@cup.hp.com>
8194 * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
8195 in if statement so we don't access undefined memory.
8197 2001-07-16 Daniel Berlin <dan@cgsoftware.com>
8199 * gcse.c: Update comment at top.
8200 Update comment on mem handling.
8201 mem_last_set, mem_first_set, mem_set_in_block: gone.
8202 Declaration of reg_set_info: gone.
8203 (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
8204 pointless with load_killed_in_block_p (they are *more*
8205 conservative then it, not less, and less accurate).
8206 (oprs_not_set_p): Ditto.
8207 (alloc_gcse_mem): Don't allocate mem_set_in_block
8208 (free_gcse_mem): Don't free it, either.
8209 (record_last_mem_set_info): Update comment in front, remove
8210 mem_*set_* stuff. Note the reason we don't handle stores directly
8212 (compute_hash_table): Update comments to reflect reality. Remove
8213 mem_*set_* references.
8214 (reset_opr_set_tables): Remove mem_*set_* references.
8216 (mark_set): Ditto. Also remove double sets of bitmaps for REG's.
8217 (mark_clobber): Ditto (on both parts, we double set here too).
8218 (expr_killed_p): Remove mem_set_in_block test.
8219 (compute_transp): Remove mem_set_in_block test.
8221 * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
8222 of edge, and removal of phi alternative to dump file.
8223 (ssa_ccp_substitute_constants): Add note about register now being
8224 constant, and which uses were replaced in what insns to dump file.
8226 2001-07-16 Andreas Jaeger <aj@suse.de>
8228 * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
8229 variables of type HOST_WIDEST_INT.
8231 * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
8232 (__bb_exit_func): Correct type of count_max to avoid overflow.
8233 (num_digits): Handle long long argument.
8235 * combine.c (gen_lowpart_for_combine): Remove unused variable.
8237 2001-07-16 Neil Booth <neil@cat.daikokuya.demon.co.uk>
8239 * output.h (sdb_begin_function_line): Restore as an extern
8241 * sdbout.c (sdb_begin_function_line): Make extern.
8243 2001-07-15 Richard Henderson <rth@redhat.com>
8245 * machmode.def (Pmode): Redefine if GENERATOR_FILE.
8246 * genrecog.c (maybe_both_true_mode): New.
8247 (maybe_both_true_2): Use it.
8248 (write_switch): Don't put Pmode in a switch.
8249 * rtl.c (mode arrays): Don't explicitly size them.
8251 Sun Jul 15 14:07:36 CEST 2001 Jan Hubicka <jh@suse.cz>
8253 * toplev.c (rest_of_compilation): Fix register_life_up_to_date
8254 handling; move unconditional splitting before mode switching.
8256 * i386.md (type): Add fistp type.
8257 (i387, length_attr, scheduling definitions): Handle this type.
8258 (fix_trunc?f?i2): Revamp to use mode switching.
8259 (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
8260 * i386.h (fp_cw_mode): New enum
8261 (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
8262 MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
8264 Sun Jul 15 12:53:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8266 * Makefile.in (integrate.o): Add debug.h.
8267 * integrate.c (debug.h): Add.
8268 (output_inline_function): Save, reset, and restore debug_hooks.
8270 2001-07-15 Richard Henderson <rth@redhat.com>
8272 * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
8273 instead of COMPARE for the EQUIV expression.
8275 2001-07-15 Richard Henderson <rth@redhat.com>
8277 * flow.c (redirect_edge_and_branch_force): Initialize
8278 global_live_at_start and global_live_at_end.
8279 (allocate_bb_life_data): Export.
8280 * basic-block.h (allocate_bb_life_data): Declare.
8281 * toplev.c (rest_of_compilation): Call it.
8283 2001-07-15 Richard Henderson <rth@redhat.com>
8285 * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
8286 (alpha_tablejump_best_label): New.
8287 * config/alpha/alpha-protos.h: Declare them.
8288 * config/alpha/alpha.md: Use braced strings for code blocks.
8289 (tablejump_osf): Break out add with r29.
8290 (tablejump_osf_internal): Remove.
8291 (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
8292 use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
8294 Sun Jul 15 00:53:35 CEST 2001 Jan Hubicka <jh@suse.cz>
8296 * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
8299 * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
8301 * i386-protos.h (ix86_split_fp_branch): Update prototype.
8302 (ix86_fp_jump_nontrivial_p): New.
8303 * i386.md (fp_jcc_?): Update call of split_fp_branch;
8304 use ix86_fp_jump_nontrivial_p.
8305 * i386.c (ix86_fp_jump_nontrivial_p): New.
8306 (ix86_split_fp_branch): Accept code instead of rtx.
8307 (ix86_expand_compare): Expand comparison early in case
8308 doing so is resonably cheap.
8310 2001-07-15 Nick Clifton <nickc@cambridge.redhat.com>
8312 * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
8314 (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
8315 (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
8317 2001-07-15 Neil Booth <neil@daikokuya.demon.co.uk>
8319 * dbxout.c (dbxout_source_line): Make static, update prototype.
8320 (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
8321 (dbxout_init, dbxout_finish, dbxout_source_line,
8322 dbxout_begin_block, dbxout_end_block): Update for new prototypes.
8323 * dbxout.h (dbxout_source_line): Delete.
8324 * debug.c (debug_nothing_file, debug_nothing_file_int,
8325 debug_nothing_file_charstar_rtx): New.
8326 (do_nothing_debug_hooks): Update.
8327 (debug_nothing_void, debug_nothing_charstar_rtx,
8328 dwarf2out_end_epilogue): New.
8329 (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
8330 * debug.h (struct rtx_def): Declare.
8331 (gcc_debug_hooks): New hooks source_line, end_epilogue
8333 (debug_nothing_void, debug_nothing_charstar_rtx,
8334 dwarf2out_end_epilogue): New.
8335 (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
8336 * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
8337 (dwarf2_debug_hooks): Update.
8338 (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
8339 dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
8340 * dwarf2out.h (dwarf2out_source_line): Remove.
8341 * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
8342 Make static, update prototype.
8343 (dwarfout_init, dwarfout_finish, dwarfout_source_line,
8344 dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
8345 (dwarf_debug_hooks): Update.
8346 * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
8347 dwarfout_end_function): Remove.
8348 * final.c (profile_function): Use debug hooks for ending functions
8350 (output_source_line, final_end_function): Update prototype,
8352 (final_start_function, final_scan_insn): Update.
8353 * output.h (sdb_begin_function_line): Remove.
8354 (final_end_function): Update prototype.
8355 * sdbout.c (sdb_begin_function_line): Make static.
8356 (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
8357 (sdbout_source_line): New.
8358 (sdbout_end_epilogue, sdbout_end_function): Make static, update
8360 (sdb_debug_hooks): Update.
8361 (sdbout_init, sdbout_source_line,
8362 sdbout_begin_block, sdbout_end_block): Update for new prototypes.
8363 * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
8364 * toplev.c (compile_file, rest_of_compilation): Update.
8365 * tree.h (dwarf2out_end_epilogue): Move to debug.h.
8366 * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
8367 xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
8368 Update for prototype changes.
8369 * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
8370 xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
8372 2001-07-15 Richard Henderson <rth@redhat.com>
8374 * config/alpha/alpha.h (TARGET_ABI_OSF): New.
8375 (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
8376 * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
8377 * config/alpha/alpha.c: Likewise.
8378 * config/alpha/alpha.md: Likewise.
8379 * config/alpha/alpha32.h: Likewise.
8380 * config/alpha/vms.h: Likewise.
8383 2001-07-14 Richard Henderson <rth@redhat.com>
8385 * config/alpha/alpha.md: Use define_constants for unspec values.
8386 Substitute throughout.
8388 2001-07-14 Tim Josling <tej@melbpc.org.au>
8390 * tree.def (EXPON_EXPR) remove. Never supported anyway.
8392 2001-07-14 John David Anglin <dave@hiauly1.hia.nrc.ca>
8394 * pa.md: Remove unused constraints from define_split's.
8396 2001-04-14 Richard Henderson <rth@redhat.com>
8398 * ifcvt.c (find_cond_trap): Test for exit block.
8400 Sun Jul 15 00:50:20 CEST 2001 Jan Hubicka <jh@suse.cz>
8402 Re-install recently reverted patch.
8403 * emit-rtl.c (try_split): Update mark_jump_label call.
8404 * flow.c (find_sub_basic_blocks): Likewise.
8405 * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
8407 (mark_all_labels): Kill second parameter.
8408 (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
8409 (rebuild_jump_labels, jump_optimize_minimal): Update call
8411 (jump_optimize_1): Kill crossjumping code.
8412 (mark_jump_label): Kill cross_jump parameter.
8413 * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
8414 (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
8415 * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
8417 * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
8419 (dump_file_info): Likewise.
8420 (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
8421 reorganize passes to do reg-stack first, bb-reorder second.
8422 * invoke.texi (-d letters doc): Remove the jump2 pass.
8424 2001-07-14 Richard Henderson <rth@redhat.com>
8426 * ifcvt.c (find_cond_trap): New.
8427 (find_if_header): Call it.
8428 (merge_if_block): Relax existing jump sanity check.
8429 * jump.c (jump_optimize_1): Remove conditional trap handling.
8431 2001-07-14 Alan Modra <amodra@bigpond.net.au>
8433 * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
8435 (insn_refs_are_delayed): Correct comment.
8436 * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
8437 * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
8438 instead of r31. Make associated insn !TARGET_64BIT, and
8439 provide an additional 64-bit insn that clobbers r2.
8441 (udivsi3): Likewise.
8443 (umodsi3): Likewise.
8445 Sat Jul 14 02:58:38 CEST 2001 Jan Hubicka <jh@suse.cz>
8447 * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
8449 * flow.c (redirect_edge_and_branch_force, split_edge,
8450 try_crossjump_to_edge): Use set_block_for_new_insns.
8451 * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
8453 2001-07-13 H.J. Lu (hjl@gnu.org)
8455 * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
8458 2001-07-13 Geoffrey Keating <geoffk@redhat.com>
8460 Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
8462 2001-07-13 Joseph S. Myers <jsm28@cam.ac.uk>
8464 * c-common.c (decl_attributes): Take a pointer to the node to
8465 which attributes are to be attached, and a flags argument.
8466 * c-common.h (enum attribute_flags): New.
8467 (decl_attributes): Update prototype.
8468 * c-decl.c (start_decl, push_parm_decl, finish_struct,
8469 finish_enum, start_function): Update calls to decl_attributes.
8470 * c-parse.in (component_declarator, component_notype_declarator,
8471 label): Update calls to decl_attributes.
8473 Fri Jul 13 23:04:00 2001 Denis Chertykov <denisc@overta.ru>
8475 * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
8476 * config/avr/avr.c (legitimate_address_p): Return value changed
8477 from letter to register classes. For better debugging.
8479 2001-07-13 Kazu Hirata <kazu@hxi.com>
8481 * jump.c (reversed_comparison_code_parts): Fix comment typos.
8483 2001-07-13 H.J. Lu (hjl@gnu.org)
8485 * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
8487 2001-07-13 Marc Espie <espie@cvs.openbsd.org>
8489 * config.gcc (*-*-openbsd*): Add fragment to compile libgcc
8490 correctly for shared configurations.
8491 * config/t-libgcc-pic: New.
8492 * config/{i386,m68k,sparc}/t-openbsd: New.
8493 * config/openbsd.h: Include cpu_spec in cpp_spec where needed.
8494 Support -shared. Support debugging libraries with -g.
8495 * config/i386/openbsd.h: Correct ASM_COMMENT_START. Ensure dwarf2
8496 frame information does not emit pointer diffs.
8497 * config/sparc/openbsd.h: Ensure dwarf2 frame information does not
8500 2001-07-13 Geoffrey Keating <geoffk@redhat.com>
8502 Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
8504 2001-07-13 David Edelsohn <edelsohn@gnu.org>
8506 * combine.c (try_combine): Ensure const_int pow2 is positive.
8508 2001-07-13 Hartmut Penner <hpenner@de.ibm.com>
8510 * config.gcc: Add configuration for s/390.
8511 * config/s390/s390.c: New. Subroutines for code generation.
8512 * config/s390/s390.h: New. Definitions for s/390.
8513 * config/s390/s390-protos.h: New. Prototypes.
8514 * config/s390/linux.h: New. Definitions for linux for s/390.
8515 * config/s390/linux64.h: New. Definitions for linux for zSeries.
8516 * config/s390/t-linux: New. Makefile fragment.
8517 * config/s390/s390.md: New. Machine description for s/390 and zSeries.
8518 * config/s390/fixdfdi.h: New. Fix L_fix*di.
8520 Fri Jul 13 14:46:21 CEST 2001 Jan Hubicka <jh@suse.cz>
8522 * emit-rtl.c (try_split): Update mark_jump_label call.
8523 * flow.c (find_sub_basic_blocks): Likewise.
8524 * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
8526 (mark_all_labels): Kill second parameter.
8527 (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
8528 (rebuild_jump_labels, jump_optimize_minimal): Update call
8530 (jump_optimize_1): Kill crossjumping code.
8531 (mark_jump_label): Kill cross_jump parameter.
8532 * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
8533 (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
8534 * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
8536 * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
8538 (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
8539 reorganize passes to do reg-stack first, bb-reorder second.
8540 * invoke.texi (-d letters doc): Remove the jump2 pass.
8542 2001-07-12 Steve Ellcey <sje@cup.hp.com>
8544 * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
8546 Thu Jul 12 17:57:16 CEST 2001 Jan Hubicka <jh@suse.cz>
8548 * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
8550 (verify_flow_info): Make diagnostics prettier.
8552 Thu Jul 12 16:48:54 CEST 2001 Jan Hubicka <jh@suse.cz>
8554 * flow.c (find_basic_blocks_1): Do not emit NOP after call.
8556 * flow.c (outgoing_edges_match): Return early if condition reversal
8559 2001-07-06 Richard Sandiford <rsandifo@redhat.com>
8561 * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
8562 (mips_move_2words): When splitting a move into two instructions,
8563 prefix the second address operand with '%D'.
8565 2001-07-12 Neil Booth <neil@daikokuya.demon.co.uk>
8567 * Makefile.in (final.o): Depend on debug.h.
8568 * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
8569 (dbx_debug_hooks): Add new hooks.
8570 (xcoff_debug_hooks): New.
8571 * debug.c (debug_nothing_file_int_int): New.
8572 (do_nothing_debug_hooks): Update.
8573 * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
8574 (debug_nothing_file_int_int): New.
8575 * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
8576 static, update prototype.
8577 (dwarf2_debug_hooks): Update.
8578 * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
8579 * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
8580 static, update prototype.
8581 (dwarf_debug_hooks): Update.
8582 * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
8583 * final.c: Include debug.h.
8584 (final_scan_insn): Use debug hooks when beginning and ending blocks.
8585 * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
8586 static, update prototype.
8587 (sdb_debug_hooks): Update.
8588 * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
8589 * toplev.c: Distinguish between xcoff and dbx.
8591 * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
8592 Call all debug hooks, not just dwarf ones.
8594 2001-07-11 Timothy Wall <twall@redhat.com>
8596 * config.gcc: Add configuration for AIX5/IA64.
8597 * config/ia64/aix.h: New. AIX5/IA64-specific configuration.
8598 * config/ia64/crt[in].asm: New. Generic static ctor/dtor
8599 support prefix/suffix code.
8600 * config/ia64/t-aix: New. Makefile fragment.
8601 * config/ia64/unwind-aix.c: New. Unwind table entry lookup.
8603 2001-07-11 Kazu Hirata <kazu@hxi.com>
8605 * recog.c (validate_change): Fix a comment typo.
8607 2001-07-11 Neil Booth <neil@daikokuya.demon.co.uk>
8609 * Makefile.in (c-lex.o): Wrap long lines. Depend on debug.h.
8610 * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
8612 * dbxout.c (dbx_debug_hooks): Add new hooks.
8613 (dbxout_start_new_source_file): Rename dbxout_start_source_file,
8615 (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
8617 * dbxout.h (dbxout_start_new_source_file,
8618 dbxout_resume_previous_source_file): Delete.
8619 * debug.c (do_nothing_debug_hooks): Add new hooks.
8620 (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
8621 (debug_nothing_int_charstar, debug_nothing_int): New.
8622 * debug.h (gcc_debug_hooks): New hooks define, undef,
8623 start_source_file and end_source_file.
8624 (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
8625 (debug_nothing_int_charstar, debug_nothing_int): New.
8626 * dwarf2out.c (dwarf2_debug_hooks): Add new hooks. Move into
8627 the conditionally compiled section.
8628 (dwarf2out_start_source_file, dwarf2out_end_source_file,
8629 dwarf2out_define, dwarf2out_undef): Make static.
8630 * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
8631 dwarf2out_define, dwarf2out_undef): Remove.
8632 * dwarfout.c (dwarf_debug_hooks): Add new hooks.
8633 (dwarfout_start_source_file, dwarfout_end_source_file,
8634 dwarfout_define, dwarfout_undef): Make static.
8635 (dwarfout_start_source_file_check,
8636 dwarfout_end_source_file_check): New.
8637 (dwarfout_define, dwarfout_finish): Update.
8638 * dwarfout.h (dwarfout_start_new_source_file,
8639 dwarfout_resume_previous_source_file, dwarfout_define,
8640 dwarfout_undef): Remove.
8641 * sdbout.c (sdb_debug_hooks): Add new hooks.
8642 (sdbout_start_new_source_file): Rename sdbout_start_source_file,
8644 (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
8645 make static, take an arg.
8646 * sdbout.h (sdbout_start_new_source_file,
8647 sdbout_resume_previous_source_file): Delete.
8648 * toplev.c (debug_start_source_file, debug_end_source_file,
8649 debug_define, debug_undef): Delete.
8650 * toplev.h (debug_start_source_file, debug_end_source_file,
8651 debug_define, debug_undef): Delete.
8653 * java/jcf-parse.c: Include debug.h.
8654 (parse_class_file): Update to use debug hooks directly.
8655 * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
8657 Wed Jul 11 10:07:18 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8659 * alias.c (set_mem_alias_set): New function.
8660 * rtl.h (set_mem_alias_set): Declare it.
8661 * builtins.c (expand_builtin_return_addr): Call it instead of
8662 using MEM_ALIAS_SET accessor.
8663 (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
8664 (get_memory_rtx, expand_builtin_va_arg): Likewise.
8665 (expand_builtin_va_copy):Likewise.
8666 * caller-save.c (setup_save_areas): Likewise.
8667 * calls.c (compute_argument_addresses): Likewise.
8668 * explow.c (set_mem_attributes): Likewise.
8669 * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
8670 (expand_assignment, store_constructor_field, store_field): Likewise.
8671 (expand_expr_unaligned): Likewise.
8672 * function.c (assign_stack_temp_for_type): Likewise.
8673 (put_reg_into_stack, gen_mem_addressof): Likewise.
8674 * ifcvt.c (noce_try_cmove_arith): Likewise.
8675 * reload1.c (reload, alter_reg): Likewise.
8676 * config/alpha/alpha.c (get_aligned_mem): Likewise.
8677 (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
8678 (alpha_expand_unaligned_store): Likewise
8679 (alpha_expand_unaligned_load_words): Likewise.
8680 (alpha_expand_unaligned_store_words): Likewise.
8681 (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
8682 (alpha_expand_epilogue): Likewise.
8683 * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
8684 * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
8685 * config/i386/i386.c (legitimize_pic_address): Likewise.
8686 * config/i960/i960.c (setup_incoming_varargs): Likewise.
8687 * config/ia64/ia64.c (spill_restore_mem): Likewise.
8688 * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
8689 * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
8690 * config/mips/mips.c (mips_va_arg): Likewise.
8691 * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
8692 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
8693 * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
8694 (setup_incoming_varargs, rs6000_va_arg): Likewise.
8695 (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
8696 (rs6000_emit_epilogue): Likewise.
8697 * config/sh/sh.c (sh_builtin_saveregs): Likewise.
8698 * config/sparc/sparc.c (sparc_va_arg): Likewise.
8699 * config/v850/v850.c (v850_va_arg): Likewise.
8701 Wed Jul 11 21:27:25 CEST 2001 Jan Hubicka <jh@suse.cz>
8703 * flow.c (merge_blocks_move_successor_nojumps): Do not crash
8704 when fallthru edge is present.
8705 (mege_blocks): Handle case where creation of jump insn
8708 * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
8709 CLEANUP_POST_REGSTACK): New constants.
8710 * except.c (finish_eh_generation): Update call of cleanup_cfg,
8711 * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
8712 * output.h (cleanup_cfg): Update prototype.
8713 * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
8714 * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
8715 cleanup_cfg call; kill missleading comment.
8716 * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
8717 * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
8718 parameter; control optimizations performed using it.
8719 (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
8720 try_crossjump_bb): New functions.
8722 2001-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
8724 * pa.c (pa_output_function_prologue): Delete prototype. Make function
8726 * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
8727 pa_output_function_prologue.
8728 * pa-protos.h (pa_output_function_prologue): New prototype.
8730 2001-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
8732 * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
8733 and low to get correct sign extension in low+high test.
8735 2001-07-11 Janis Johnson <janis@us.ibm.com>
8737 * gcov.c (arcdata): Use gcov_type to fix branch percentage
8738 for large hit count.
8740 * profile.c (branch_prob): Fix .bbg info for computed gotos
8743 2001-07-11 Mark Mitchell <mark@codesourcery.com>
8745 * stmt.c (parse_output_constraint): New function, split out
8747 (expand_asm_operands): ... here. Use parse_output_constraint.
8748 * tree.h (parse_output_constraint): Declare it.
8750 2001-07-11 Richard Henderson <rth@redhat.com>
8752 * bitmap.c: Comment some functions; fiddle whitespace.
8753 (bitmap_free): Don't export.
8754 (bitmap_element_allocate): Use memset.
8755 * bitmap.h (bitmap_free): Don't declare.
8757 2001-07-11 Daniel Berlin <dan@cgsoftware.com>
8759 * gcse.c, lcm.c, sched-deps.c:
8760 s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
8762 * flow.c (flow_loops_find): Free dom if we found no loops, since
8763 we aren't going to save it.
8765 * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
8768 Wed Jul 11 09:00:48 2001 Jeffrey A Law (law@cygnus.com)
8770 * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
8772 Wed Jul 11 10:07:18 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8774 * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
8775 #ifndef DWARF2_DEBUGGING_INFO.
8777 2001-07-11 Richard Sandiford <rsandifo@redhat.com>
8779 * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
8781 2001-07-11 Richard Sandiford <rsandifo@redhat.com>
8783 * config/mips/mips.c (gen_int_relational): Tell the caller not to
8784 reverse a branch if a NE comparison is implemented with GTU.
8786 2001-07-11 Richard Sandiford <rsandifo@redhat.com>
8787 H.J. Lu <hjl@gnu.org>
8789 * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
8791 (call_internal2): Likewise.
8792 (call_value_internal1): Likewise.
8793 (call_value_internal2): Likewise.
8794 (call_value_multiple_internal1): Likewise.
8795 (call_value_multiple_internal2): Likewise.
8797 2001-07-10 Kazu Hirata <kazu@hxi.com>
8799 * calls.c (emit_library_call_value_1): Fix a comment typo.
8800 * dwarf2out.c (mem_loc_descriptor): Likewise.
8801 * config/i386/i386.c (ix86_expand_aligntest): Likewise.
8803 2001-07-11 David Billinghurst <David.Billinghurst@riotinto.com>
8805 * simplify-rtx.c (simplify_subreg): Fix typo in comment
8807 Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8809 * recog.c (offsettable_address_p): Handle LO_SUM case.
8810 * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
8811 instead of plus_constant.
8813 2001-07-10 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8815 * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
8816 fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
8818 Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8820 * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
8821 adjust_address_nv instead of plus_constant.
8823 2001-07-10 Neil Booth <neil@daikokuya.demon.co.uk>
8825 * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
8826 dwarf2out.o): Depend on debug.h, wrap long lines.
8827 * dbxout.c: Include debug.h.
8828 (dbx_debug_hooks): New.
8829 (dbxout_init): Make static, take just 2 args.
8830 (dbxout_finish): Make static.
8831 * dbxout.h (dbxout_init, dbxout_finish): Delete.
8832 * debug.c: New file.
8833 * debug.h: New file.
8834 * dwarf2out.c: Include debug.h.
8835 (dwarf2_debug_hooks): New.
8836 (dwarf2out_init): Make static.
8837 (dwarf2out_finish): Make static, take 2 args.
8838 * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
8839 * dwarfout.c: Include debug.h.
8840 (dwarf_debug_hooks): New.
8841 (dwarfout_init): Make static.
8842 (dwarfout_finish): Make static, take 2 args.
8843 * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
8844 * sdbout.c: Include debug.h.
8845 (sdb_debug_hooks): New.
8846 (sdbout_init): Make static, take 2 args.
8847 * sdbout.h (sdbout_init): Delete.
8848 * toplev.c: Include debug.h.
8850 (compile_file): Set deubg_hooks based on command line options.
8851 Use the hooks unconditionally rather than conditional compilation.
8853 Tue Jul 10 09:04:45 2001 Jeffrey A Law (law@cygnus.com)
8855 * ssa-ccp.c (first_phi_node): Remove. Replace uses with calls to
8856 first_insn_after_basic_block_note instead.
8858 * df.c (df_bb_refs_unlink): #if 0 out for now.
8860 2001-07-10 David Billinghurst <David.Billinghurst@riotinto.com
8862 * ssa.h: Add prototype for ssa_const_prop
8863 * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
8864 (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
8865 (ssa_fast_dce): Remove unused variable
8867 2001-07-10 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
8869 * diagnostic.c (finish_diagnostic): Rename to
8870 diagnostic_finish. Make it take an 'output_buffer *'. Adjust
8873 2001-07-10 Jason Merrill <jason_merrill@redhat.com>
8875 * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
8878 * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
8879 (dump_file): Only pad the demangled name with spaces if the
8880 mangled name was padded with spaces.
8882 2001-07-10 Bernd Schmidt <bernds@redhat.com>
8884 * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
8887 Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8889 * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
8890 extraction if no direct load if either EXPAND_CONST_ADDRESS or
8893 * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
8894 whether can put offset inside LO_SUM to check mode alignment, not size.
8896 2001-07-10 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
8898 * doc/tm.texi (Misc): Fix thinko.
8900 2001-07-10 Jan van Male <jan.vanmale@fenk.wau.nl>
8902 * regmove.c (replace_in_call_usage): Fix warnings.
8903 * sched-deps.c (add_dependence): Fix warnings.
8904 * simplify-rtx.c (simplify_subreg): Likewise.
8905 Return NULL_RTX instead of NULL.
8907 * reg-stack.c (emit_swap_insn): Eliminate warnings.
8908 (subst_asm_stack_regs): Likewise.
8910 * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
8913 * dwarf2out.c (output_call_frame_info): Declare i as int.
8914 (build_abbrev_table): Declare n_alloc as int.
8915 (dwarf2out_finish): Initialize die.
8916 * except.c: Declare sjlj_funcdef_number as unsigned.
8917 (connect_post_landing_pads): Declare j as unsigned.
8918 (convert_to_eh_region_ranges): Initialize call_site.
8919 (output_function_exception_table): Initialize tt_format_size.
8920 * expr.c (move_by_pieces_1): Initialize to1.
8921 (store_constructor): Initialize minelt and maxelt.
8922 * flow.c (mark_regs_live_at_end): Declare i as unsigned.
8923 * function.c (instantiate_decls): Avoid signed/unsigned warning.
8925 * c-decl.c (combine_parm_decls): Unused, remove.
8926 * c-tree.h: Remove prototype for combine_parm_decls.
8928 * reload.c (push_reload): Fix warning.
8929 (regno_clobbered_p): Likewise.
8930 * reload1.c (replace_pseudos_in_call_usage): Likewise.
8931 (reload_combine): Likewise.
8933 * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
8934 * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
8936 * bitmap.c (bitmap_operation): Change user.
8937 * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
8939 2001-07-10 Eric Christopher <echristo@redhat.com>
8941 * config/mips/mips.c (override_options): Fix typo.
8943 2001-07-09 Stan Shebs <shebs@apple.com>
8945 * target.h (struct gcc_target): New fields init_builtins and
8947 * target-def.h (TARGET_INIT_BUILTINS): New macro.
8948 (TARGET_EXPAND_BUILTIN): New macro.
8949 (TARGET_INITIALIZER): Add them.
8950 * builtins.c: Include target.h.
8951 (expand_builtin): Use targetm.expand_builtin.
8952 (default_init_builtins): New function.
8953 (default_expand_builtin): New function.
8954 * expr.h (default_init_builtins): Declare.
8955 (default_expand_builtin): Declare.
8956 * c-common.c (c_common_nodes_and_builtins): Use
8957 targetm.init_builtins.
8958 * defaults.h (MD_INIT_BUILTINS): Remove.
8959 * Makefile.in (builtins.o): Depend on target.h.
8961 * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
8962 (TARGET_EXPAND_BUILTIN): Define.
8963 * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
8964 (MD_EXPAND_BUILTIN): Remove.
8966 * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
8967 (TARGET_EXPAND_BUILTIN): Define.
8968 (c4x_init_builtins): Make endlink arg a local.
8969 (c4x_print_operand): Fix typos in adjust_address usages.
8970 * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
8971 * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
8972 (MD_EXPAND_BUILTIN): Remove.
8974 * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
8975 (TARGET_EXPAND_BUILTIN): Define.
8976 (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
8977 (ix86_init_builtins): Call new function only if TARGET_MMX.
8978 * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
8979 * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
8980 (MD_EXPAND_BUILTIN): Remove.
8982 * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
8983 (TARGET_EXPAND_BUILTIN): Define.
8984 * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
8985 (MD_EXPAND_BUILTIN): Remove.
8987 * doc/tm.texi: Document these changes.
8989 2001-07-09 Diego Novillo <dnovillo@redhat.com>
8991 * basic-block.h (tree_node): Forward declare if needed.
8992 (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
8993 (BLOCK_HEAD_TREE): Define.
8994 (BLOCK_END_TREE): Define.
8995 (struct loops): Rename field 'tree' to 'tree_root'.
8996 * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
8998 (flow_loops_tree_build): Rename reference to field 'tree' to
9000 (flow_loops_level_compute): Ditto.
9001 * predict.c (estimate_bb_frequencies): Ditto.
9002 * tree.h (struct tree_common): Add field 'aux'.
9004 2001-07-09 Stan Shebs <shebs@apple.com>
9006 * config/darwin.c (darwin_encode_section_info): Don't mark any
9007 DECL_EXTERNAL node as defined.
9009 2001-07-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
9011 * pa.c (pa_init_machine_status, pa_mark_machine_status,
9012 pa_free_machine_status, hppa_init_pic_save): Delete.
9013 (hppa_pic_save_rtx): New. Use get_hard_reg_initial_val.
9014 (hppa_profile_hook): Use hppa_pic_save_rtx.
9015 * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
9016 hppa_init_pic_save): Delete.
9017 (hppa_pic_save_rtx): Declare.
9018 * pa.md (call, call_value, sibcall, sibcall_value,
9019 builtin_setjmp_receiver): Use hppa_pic_save_rtx.
9021 2001-07-09 Kazu Hirata <kazu@hxi.com>
9023 * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
9024 * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
9026 2001-07-09 Andreas Jaeger <aj@suse.de>
9028 * output.h: Add declaration of final_forward_branch_p.
9030 * config/i386/i386.c (output_fix_trunc): Remove unused variable.
9032 * varray.c: Include errors.h for internal_error and trim_filename
9035 * Makefile.in (varray.o): Add errors.h.
9037 2001-07-09 Toon Moene <toon@moene.indiv.nluug.nl>
9039 * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
9040 * optabs.c (have_add2_insn): Check whether the add insn chosen
9041 really accepts the operands. (have_sub2_insn): Ditto for sub insn.
9042 * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
9044 Mon Jul 9 13:26:40 2001 Jeffrey A Law (law@cygnus.com)
9046 * Makefile.in (OBJS): Add ssa-ccp.o
9047 (ssa-ccp.o): Add dependencies.
9048 * toplev.c (DFI_ssa_ccp): New dump file enum.
9049 (dump_file): Add entry for dumping after SSA CCP.
9050 (flag_ssa_ccp): New flag variable.
9051 (f_options): Add -fssa-ccp.
9052 (rest_of_compilation): Run SSA CCP if requested.
9053 * timevar.def (TV_SSA_CCP): New timevar.
9054 * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
9055 * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
9056 Fix minor typo in SSA DCE documentation.
9057 * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
9058 Add documentation for new dump option. Renumber dump files
9061 Mon Jul 9 21:36:00 CEST 2001 Jan Hubicka <jh@suse.cz>
9063 * emit-rtl.c (gen_highpart_mode): New.
9064 * rtl.h (gen_highpart_mode): Declare.
9065 * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
9066 operand can be VOIDmode constant.
9068 Mon Jul 9 17:23:10 CEST 2001 Jan Hubicka <jh@suse.cz>
9070 * flow.c (redirect_edge_and_branch_force): New.
9071 (can_fallthru): Ensure that basic blocks are succeeding.
9072 (try_optimize_cfg): Do not delete basic block if it is the last one.
9074 * flow.c (try_redirect_by_replacing_jump): Do not remove
9075 jumps with side effects, unlink chain on fallthru edge;
9076 set block for new jump instruction; avoid basic block to
9077 over by line number note.
9079 * flow.c (try_simplify_condjump): Verify that the condjump
9080 is not always falling trought.
9083 * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
9085 * flow.c (forwarder_block_p): Fix for fallthru blocks.
9086 (try_redirect_by_replacing_jump): Update properly the count
9087 and frequency information.
9089 Mon Jul 9 06:41:07 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9091 * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
9092 address that is a LO_SUM specially.
9093 * explow.c (plus_constant_wide, case LO_SUM): Deleted.
9095 * c-lang.c (start_cdtor): Remove extra parameter from start_function.
9097 * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
9098 (operand_subword): Use them.
9099 (change_address_1): Renamed from change_address; new arg VALIDATE.
9100 * expr.h: Reflect above changes; change_address now macro.
9101 * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
9103 * cselib.c (add_mem_for_addr): Likewise.
9104 * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
9105 * regmove.c (try_apply_stack_adjustment): Likewise.
9106 * reload.c (push_reload, make_memloc): Likewise.
9107 * reload1.c (eliminate_regs): Likewise.
9108 * simplify-rtx.c (simplify_replace_rtx): Likewise.
9109 * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
9111 * combine.c (make_extraction, simplify_shift_const): Likewise.
9112 (gen_lowpart_for_combine): Likewise.
9113 * cse.c (gen_lowpart_if_possible): Likewise.
9114 * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
9115 * expr.c (expand_expr, case COMPONENT_REF): Likewise.
9116 * optabs.c (gen_move_insn): Likewise.
9117 * reload1.c (alter_reg): Likewise.
9118 * simplify-rtx.c (simplify_subreg): Likewise.
9119 * stmt.c (expand_anon_union_decl): Likewise.
9120 * recog.c (validate_replace_rtx_1): Likewise.
9122 * Makefile.in (recog.o): Add $(EXPR_H).
9123 * explow.c (stabilize): Call replace_equiv_address.
9124 * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
9125 * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
9127 2001-07-03 Andrew Haley <aph@redhat.com>
9129 * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
9130 the mode of the memory location.
9132 2001-07-09 Bo Thorsen <bo@suse.co.uk>
9134 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
9136 2001-07-09 Neil Booth <neil@daikokuya.demon.co.uk>
9138 * final.c (output_addr_const): Use target opening and
9139 closing parentheses.
9140 * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
9141 defaults, add to TARGET_ASM_OUT.
9142 * target.h (struct gcc_target): Add open_paren and close_paren.
9143 * doc/md.texi: Update.
9144 * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
9145 TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
9146 TARGET_ASM_CLOSE_PAREN.
9147 * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
9149 * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
9151 * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
9152 * config/a29k/a29k.h: Similarly.
9153 * config/alpha/alpha.h: Similarly.
9154 * config/arc/arc.h: Similarly.
9155 * config/arm/aof.h: Similarly.
9156 * config/arm/aout.h: Similarly.
9157 * config/avr/avr.h: Similarly.
9158 * config/c4x/c4x.h: Similarly.
9159 * config/clipper/clipper.h: Similarly.
9160 * config/convex/convex.h: Similarly.
9161 * config/d30v/d30v.h: Similarly.
9162 * config/dsp16xx/dsp16xx.h: Similarly.
9163 * config/elxsi/elxsi.h: Similarly.
9164 * config/fr30/fr30.h: Similarly.
9165 * config/h8300/h8300.h: Similarly.
9166 * config/i370/i370.h: Similarly.
9167 * config/i386/i386.h: Similarly.
9168 * config/i860/i860.h: Similarly.
9169 * config/i960/i960.h: Similarly.
9170 * config/ia64/ia64.h: Similarly.
9171 * config/m32r/m32r.h: Similarly.
9172 * config/m68hc11/m68hc11.h: Similarly.
9173 * config/m68k/m68k.h: Similarly.
9174 * config/m88k/m88k.h: Similarly.
9175 * config/mcore/mcore.h: Similarly.
9176 * config/mips/mips.h: Similarly.
9177 * config/mn10200/mn10200.h: Similarly.
9178 * config/mn10300/mn10300.h: Similarly.
9179 * config/ns32k/ns32k.h: Similarly.
9180 * config/pa/pa.h: Similarly.
9181 * config/pdp11/pdp11.h: Similarly.
9182 * config/pj/pj.h: Similarly.
9183 * config/romp/romp.h: Similarly.
9184 * config/rs6000/rs6000.h: Similarly.
9185 * config/sh/sh.h: Similarly.
9186 * config/sparc/sparc.h: Similarly.
9187 * config/v850/v850.h: Similarly.
9188 * config/vax/vax.h: Similarly.
9189 * config/we32k/we32k.h: Similarly.
9191 2001-07-09 Joseph S. Myers <jsm28@cam.ac.uk>
9193 * doc/c-tree.texi: Document representation of attributes.
9195 2001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
9197 * doc/tm.texi: Update some places for the rename of target to
9200 2001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
9202 * target.h (struct gcc_target): Add insert_attributes.
9203 * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
9204 (TARGET_INITIALIZER): Update.
9205 * tree.c, tree.h (default_insert_attributes): New function.
9206 Update comments on other default functions to refer to targetm,
9208 * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
9209 TARGET_INSERT_ATTRIBUTES.
9210 (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
9211 * c-common.c (decl_attributes): Use targetm.insert_attributes.
9212 Don't use PRAGMA_INSERT_ATTRIBUTES.
9213 * Makefile.in (c-common.o): Depend on $(TARGET_H).
9214 * c-decl.c (start_decl, start_function): Don't call
9215 SET_DEFAULT_DECL_ATTRIBUTES.
9216 * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
9217 * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
9219 * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
9220 (c4x_check_attribute): Avoid modifying attribute list itself.
9221 (c4x_set_default_attributes): Rename to c4x_insert_attributes.
9223 * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
9224 * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
9226 * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
9227 (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
9229 * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
9230 * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
9232 * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
9233 (v850_set_default_decl_attr): Rename to v850_insert_attributes.
9234 Adjust parameters. Make static.
9236 2001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
9238 * c-common.c (decl_attributes): Only take a single attributes
9240 * c-common.h (decl_attributes): Update prototype.
9241 * c-decl.c (start_decl, start_function): Only take a single
9242 attributes parameter. Update calls to decl_attributes.
9243 (finish_struct, finish_enum): Update calls to decl_attributes.
9244 (push_parm_decl): Expect unified list of attributes. Update call
9246 * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
9247 notype_nested_function, component_declarator,
9248 component_notype_declarator, label): Update calls to
9250 (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
9251 lists that are passed to push_parm_decl.
9252 * c-tree.h (start_function, start_decl): Update prototypes.
9253 * config/sh/sh-protos.h, config/sh/sh.c
9254 (sh_pragma_insert_attributes): Only take a single attributes
9256 * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
9257 * doc/tm.texi (INSERT_ATTRIBUTES): Update.
9258 * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
9259 build_module_descriptor, generate_static_references,
9260 generate_strings, build_selector_translation_table,
9261 generate_descriptor_table, generate_protocols,
9262 generate_ivars_list, generate_dispatch_table,
9263 generate_protocol_list, generate_category,
9264 generate_shared_structures, really_start_method, add_objc_decls,
9265 generate_classref_translation_entry): Update calls to start_decl
9267 (build_tmp_function_decl, start_method_def): Unify attribute lists
9268 that are passed to push_parm_decl.
9270 2001-07-08 Neil Booth <neil@daikokuya.demon.co.uk>
9272 * final.c (no_asm_to_stream): New.
9273 (final_scan_insn): Use target structures for prologue ends
9274 and epilogue starts.
9275 * output.h (no_asm_to_stream): New.
9276 * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
9277 TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
9278 (TARGET_ASM_OUT): Update.
9279 * target.h (struct gcc_target): New members function_end_prologue
9280 and function_begin_epilogue.
9281 * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
9282 * config/alpha/alpha-protos.h (output_end_prologue): Delete.
9283 * config/alpha/alpha.c (output_end_prologue): Rename to
9284 alpha_output_function_end_prologue. Use in target struct
9286 * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
9287 * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
9288 * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
9289 ia64_output_function_end_prologue. Use in target struct
9291 (ia64_function_prologue, ia64_funciton_epilogue): Rename
9292 mistyped prototypes.
9293 * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
9294 * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
9296 * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
9297 an use in target struct, make static.
9298 * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
9301 2001-07-08 Richard Henderson <rth@redhat.com>
9303 * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
9305 2001-07-08 Richard Henderson <rth@redhat.com>
9307 * config/i386/i386.md: Remove constraints strings from define_split
9308 and define_peephole2 patterns.
9309 (eh_return_si, eh_return_di): Split eh_return_1 for modes.
9310 (eh_return): Use them.
9312 2001-07-08 Richard Henderson <rth@redhat.com>
9314 * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
9315 Document MD_FALLBACK_FRAME_STATE_FOR.
9317 2001-07-07 Stephane Carrez <Stephane.Carrez@worldnet.fr>
9319 * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
9320 Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
9322 * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
9324 2001-07-07 Nick Clifton <nickc@cambridge.redhat.com>
9326 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
9327 of the label inside NAME as opposed to just the end of NAME.
9329 2001-07-07 Neil Booth <neil@daikokuya.demon.co.uk>
9331 * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
9332 * config/alpha/alpha.c (alpha_init_machine_status,
9333 alpha_mark_machine_status, alpha_free_machine_status): Delete.
9334 (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
9335 (vms_valid_decl_attribute_p): Make static, conditionally compile.
9336 * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
9338 2001-07-06 Stan Shebs <shebs@apple.com>
9340 * target.h (targetm): Rename global from "target", so as not to
9341 conflict with local variables.
9343 * c-typeck.c: Ditto.
9347 * cp/decl2.c: Ditto.
9348 * cp/typeck.c: Ditto.
9349 * 1750a/1750a.c: Ditto.
9350 * a29k/a29k.c: Ditto.
9354 * clipper/clipper.c: Ditto.
9355 * convex/convex.c: Ditto.
9356 * d30v/d30v.c: Ditto.
9357 * dsp16xx/dsp16xx.c: Ditto.
9358 * elxsi/elxsi.c: Ditto.
9359 * fr30/fr30.c: Ditto.
9360 * h8300/h8300.c: Ditto.
9361 * i370/i370.c: Ditto.
9362 * i386/i386.c: Ditto.
9363 * i860/i860.c: Ditto.
9364 * i960/i960.c: Ditto.
9365 * ia64/ia64.c: Ditto.
9366 * m32r/m32r.c: Ditto.
9367 * m68hc11/m68hc11.c: Ditto.
9368 * m68k/m68k.c: Ditto.
9369 * m88k/m88k.c: Ditto.
9370 * mips/mips.c: Ditto.
9371 * ns32k/ns32k.c: Ditto.
9373 * pdp11/pdp11.c: Ditto.
9374 * romp/romp.c: Ditto.
9375 * rs6000/rs6000.c: Ditto.
9377 * sparc/sparc.c: Ditto.
9379 * we32k/we32k.c: Ditto.
9380 * doc/tm.texi: Update the manual to match.
9382 2001-07-06 Richard Henderson <rth@redhat.com>
9384 * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
9385 DWARF2_UNWIND_INFO not just whether it is defined.
9387 2001-07-06 Diego Novillo <dnovillo@redhat.com>
9389 * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
9390 call to simplify_binary_operation returns a new pattern.
9392 2001-07-06 Roman Lechtchinsky <rl@cs.tu-berlin.de>
9394 * glimits.h (__SHRT_MAX__): New.
9395 (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
9396 (SHRT_MAX): Define in terms of __SHRT_MAX__.
9398 2001-07-06 Jan van Male <jan.vanmale@fenk.wau.nl>
9400 * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
9403 2001-07-06 Richard Henderson <rth@redhat.com>
9405 * bitmap.c (bitmap_release_memory): Move adjacent to the
9406 allocation functions.
9407 (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
9408 the implementation. Binary search for the set bit.
9409 (bitmap_union_of_diff): Allocate the temporary on the stack
9410 instead of using xmalloc.
9412 2001-07-06 Richard Henderson <rth@redhat.com>
9414 * genrecog.c (validate_pattern): Warn for constraints in
9415 define_{expand,split,peephole2}. Remove strict_low_part
9416 before looking up match_dup.
9418 2001-07-06 DJ Delorie <dj@redhat.com>
9420 * doc/gcc.texi (Makefile): Rename to be a more general purpose
9421 chapter about various build hints and history. Add section
9422 talking about the various types of native and cross builds.
9424 2001-07-06 Neil Booth <neil@daikokuya.demon.co.uk>
9426 * Makefile.in (final.o): Depend on target.h.
9427 * final.c: Include target.h.
9428 (default_function_pro_epilogue): New.
9429 (final_start_function): Use target structure for function prologues.
9430 (final_end_function): Use target structure for function epilogues.
9431 * fold-const.c (real_hex_to_f): Constify s and p.
9432 * output.h (default_function_pro_epilogue): New.
9433 * real.h (real_hex_to_f): Update prototype.
9434 * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
9435 TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
9436 (TARGET_INITIALIZER): Update.
9437 * target.h (gcc_target): Add struct asm_out.
9438 * doc/tm.texi: Update.
9441 Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
9442 TARGET_ASM_FUNCTION_EPILOGUE. Move macro code to functions
9443 in cpu/cpu.c, or rename old functions consistently. Take
9444 a HOST_WIDE INT not an int as the SIZE parameter. Remove now
9445 redundant macros and prototypes. Make new functions static.
9447 * 1750a/1750a.c: Similarly.
9448 * 1750a/1750a.h: Similarly.
9449 * a29k/a29k-protos.h: Similarly.
9450 * a29k/a29k.c: Similarly.
9451 * a29k/a29k.h: Similarly.
9452 * arc/arc-protos.h: Similarly.
9453 * arc/arc.c: Similarly.
9454 * arc/arc.h: Similarly.
9455 * arm/arm-protos.h: Similarly.
9456 * arm/arm.c: Similarly.
9457 * arm/arm.h: Similarly.
9458 * avr/avr-protos.h: Similarly.
9459 * avr/avr.c: Similarly.
9460 * avr/avr.h: Similarly.
9461 * clipper/clipper-protos.h: Similarly.
9462 * clipper/clipper.c: Similarly.
9463 * clipper/clipper.h: Similarly.
9464 * convex/convex.c: Similarly.
9465 * convex/convex.h: Similarly.
9466 * d30v/d30v-protos.h: Similarly.
9467 * d30v/d30v.c: Similarly.
9468 * d30v/d30v.h: Similarly.
9469 * d30v/d30v.md: Similarly.
9470 * dsp16xx/dsp16xx-protos.h: Similarly.
9471 * dsp16xx/dsp16xx.c: Similarly.
9472 * dsp16xx/dsp16xx.h: Similarly.
9473 * elxsi/elxsi.c: Similarly.
9474 * elxsi/elxsi.h: Similarly.
9475 * fr30/fr30.c: Similarly.
9476 * fr30/fr30.md: Similarly.
9477 * h8300/h8300-protos.h: Similarly.
9478 * h8300/h8300.c: Similarly.
9479 * h8300/h8300.h: Similarly.
9480 * i370/i370-protos.h: Similarly.
9481 * i370/i370.c: Similarly.
9482 * i370/i370.h: Similarly.
9483 * i386/i386.c: Similarly.
9484 * i386/osf1elf.h: Similarly.
9485 * i386/osfrose.h: Similarly.
9486 * i860/i860-protos.h: Similarly.
9487 * i860/i860.c: Similarly.
9488 * i860/i860.h: Similarly.
9489 * i960/i960-protos.h: Similarly.
9490 * i960/i960.c: Similarly.
9491 * i960/i960.h: Similarly.
9492 * ia64/ia64-protos.h: Similarly.
9493 * ia64/ia64.c: Similarly.
9494 * ia64/ia64.h: Similarly.
9495 * m32r/m32r-protos.h: Similarly.
9496 * m32r/m32r.c: Similarly.
9497 * m32r/m32r.h: Similarly.
9498 * m68hc11/m68hc11-protos.h: Similarly.
9499 * m68hc11/m68hc11.c: Similarly.
9500 * m68hc11/m68hc11.h: Similarly.
9501 * m68k/crds.h: Similarly.
9502 * m68k/dpx2.h: Similarly.
9503 * m68k/m68k-protos.h: Similarly.
9504 * m68k/m68k.c: Similarly.
9505 * m68k/m68k.h: Similarly.
9506 * m68k/news.h: Similarly.
9507 * m88k/m88k-protos.h: Similarly.
9508 * m88k/m88k.c: Similarly.
9509 * m88k/m88k.h: Similarly.
9510 * mips/mips-protos.h: Similarly.
9511 * mips/mips.c: Similarly.
9512 * mips/mips.h: Similarly.
9513 * ns32k/merlin.h: Similarly.
9514 * ns32k/ns32k.c: Similarly.
9515 * ns32k/ns32k.h: Similarly.
9516 * ns32k/tek6000.h: Similarly.
9517 * pa/pa-protos.h: Similarly.
9518 * pa/pa.c: Similarly.
9519 * pa/pa.h: Similarly.
9520 * pdp11/2bsd.h: Similarly.
9521 * pdp11/pdp11-protos.h: Similarly.
9522 * pdp11/pdp11.c: Similarly.
9523 * pdp11/pdp11.h: Similarly.
9524 * romp/romp-protos.h: Similarly.
9525 * romp/romp.c: Similarly.
9526 * romp/romp.h: Similarly.
9527 * rs6000/rs6000-protos.h: Similarly.
9528 * rs6000/rs6000.c: Similarly.
9529 * rs6000/rs6000.h: Similarly.
9530 * rs6000/sysv4.h: Similarly.
9531 * sh/sh-protos.h: Similarly.
9532 * sh/sh.c: Similarly.
9533 * sh/sh.h: Similarly.
9534 * sparc/sparc-protos.h: Similarly.
9535 * sparc/sparc.c: Similarly.
9536 * sparc/sparc.h: Similarly.
9537 * vax/vax.c: Similarly.
9538 * vax/vax.h: Similarly.
9539 * vax/vms.h: Similarly.
9540 * we32k/we32k.c: Similarly.
9541 * we32k/we32k.h: Similarly.
9543 Fri Jul 6 11:47:59 2001 Jeffrey A Law (law@cygnus.com)
9545 * basic-block.h (first_insn_after_basic_block_note): Declare.
9546 * flow.c (first_insn_after_basic_block_note): Define. Moved
9548 * ssa.c (first_insn_after_basic_block_note): Remove.
9549 * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
9551 (ssa_eliminate_dead_code): Properly update the CFG and PHI
9552 nodes when we find a dead conditional branch. Insert BARRIERs
9553 after any blocks with no successors, but which do not have
9556 2001-07-06 Zack Weinberg <zackw@stanford.edu>
9558 * varray.c (varray_check_failed): Use internal_error.
9560 2001-07-05 Andrew Haley <aph@redhat.com>
9562 * Makefile.in (LIB2_DIVMOD_FUNCS): New.
9563 (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
9564 * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
9566 2001-07-02 Jason Merrill <jason_merrill@redhat.com>
9568 * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
9569 reference if the target constant is also a SYMBOL_REF.
9571 2001-07-05 Eric Christopher <echristo@redhat.com>
9573 * config/mips/mips.h (MASK_MIPS3900): Remove.
9574 (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
9575 MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
9576 (TARGET_MIPS3900): Change to use mips_arch.
9577 (TARGET_MIPS4000): New.
9578 (TARGET_MIPS4100): New.
9579 (TARGET_MIPS4300): New.
9580 (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
9581 (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
9583 (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
9584 (ISA_HAS_BRANCHLIKELY): To here.
9585 (CC1_CPU_SPEC): New.
9586 (CC1_SPEC): Use here. Remove 4650 and 3900 options.
9587 (mips_arch_string): Declare.
9588 (mips_arch): Declare.
9589 (TARGET_OPTIONS): Add -march and -mtune.
9591 * config/mips/mips.c (mips_arch_string): New.
9593 (override_options): Handle -march for codegen and -mtune
9594 for scheduling. Use mips_arch. Move tx39 target default here.
9595 (mips_parse_cpu): Move error message to override_options.
9597 * config/mips/r3900.h (TARGET_DEFAULT): Remove.
9599 * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
9601 * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
9602 (MIPS Options): Ditto. Change mcpu entry to historical text.
9604 2001-07-05 H.J. Lu (hjl@gnu.org)
9606 * config/mips/mips.c (mips_parse_cpu): New function to parse
9609 2001-07-05 Jim Wilson <wilson@redhat.com>
9611 * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
9612 * config/ia64/t-ia64: Likewise.
9613 (LIB1ASMFUNCS): Update comment.
9615 2001-07-05 David Edelsohn <edelsohn@gnu.org>
9617 * doc/install.texi (Install GCC: Binaries): Fix typo.
9619 2001-07-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
9621 * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
9622 reference using the stack pointer, adjust it since we push Y
9624 ("*ashrsi3"): Likewise.
9625 ("*lshrsi3"): Likewise.
9627 2001-07-05 Stephane Carrez <Stephane.Carrez@worldnet.fr>
9629 * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
9630 when -fomit-frame-pointer is used.
9632 2001-07-05 Jeffrey Oldham <oldham@codesourcery.com>
9634 * flow.c: Reverse Jan Hubicka's patch of 02July2001.
9635 (try_redirect_by_replacing_jump): Reverse updating properly the
9636 count and frequency information. Reverse removing cc0 setter.
9637 (forwarder_block_p): Reverse fixing for fallthru blocks.
9639 2001-07-05 DJ Delorie <dj@redhat.com>
9641 * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
9642 (translate_options): If the above is defined, use it to map
9643 given options to new options.
9644 * doc/tm.texi: Document it.
9646 2001-07-05 Brad Lucier <lucier@math.purdue.edu>
9647 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9649 * doc/invoke.texi (Optimize Options): Document that -fgcse may
9650 cause programs using computed gotos to run more slowly.
9652 2001-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9654 * doc/install.texi (Specific): Markup, spelling and typo fixes.
9656 Consistently require binutils 2.11.2, not prereleases.
9657 (Specific, decstation-*): Canonicalize as mips-dec-*.
9658 (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
9660 (Specific, m68k-altos): Removed reference to README.altos, deleted.
9661 (Specific, mips-*): Reword MIPS C compiler requirements.
9662 (Specific, powerpc*-*-*): New, mention --with-cpu once.
9663 (Specific, sunv5): Removed, obsolete.
9665 2001-07-05 Nathan Sidwell <nathan@codesourcery.com>
9667 * dwarf2out.c (output_loc_list): Use an all ones mask for
9668 .text asm output and don't rely on long long
9669 literals. Reformat some long lines.
9671 2001-07-05 Andreas Jaeger <aj@suse.de>
9673 * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
9676 2001-07-04 Daniel Berlin <dan@cgsoftware.com>
9678 * dwarf2out.c (dwarf2out_define): Update comment.
9679 (dwarf2out_undef): Ditto.
9680 (dwarf2out_start_source_file): Ditto.
9681 (dwarf2out_end_source_file): Ditto.
9682 (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
9683 since we never call the start/end debug hook for the primary file.
9685 2001-07-04 Kazu Hirata <kazu@hxi.com>
9687 * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
9690 2001-07-04 Nathan Sidwell <nathan@codesourcery.com>
9692 * cppinit.c (remove_dup_dirs): Inform if a system include
9693 directory is being reordered.
9694 * doc/invoke.texi (Directory Options): GCC warns if you hide a
9696 * doc/cpp.texi (Search Paths): Likewise.
9697 * doc/gcc.texi (Interoperation): Remove information about
9700 2001-07-04 Nathan Sidwell <nathan@codesourcery.com>
9702 * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
9703 (VARRAY_TOP_CHAR_PTR): Likewise.
9705 2001-07-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9707 * gcc.c (process_command): Don't assign elements of a const char*.
9709 Wed Jul 4 13:40:02 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9711 * emit-rtl.c (change_address): Don't abort if invalid address while
9712 reload is in progress.
9714 2001-07-04 Daniel Berlin <dan@cgsoftware.com>
9716 * c-lex.c (cb_file_change): Pass line number to
9717 debug_start_source_file.
9718 (cb_undefine): Pass correct line number to debug_undef.
9720 * toplev.c (debug_start_source_file): Add line number to
9721 parameters. Pass it along to dwarf2out_start_source_file.
9722 (decode_g_option): Stop resetting debug level back to normal when
9723 we change debug formats, unless the current level is
9724 none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
9727 * toplev.h (debug_start_source_file): Add line number to
9730 * dwarf2out.h (dwarf2out_start_source_file): Add line number to
9733 * dwarf2out.c (dwarf2out_start_source_file): Add line number to
9735 Output debug_macinfo data for starting file if requested.
9736 (dwarf2out_end_source_file): Output debug_macinfo data for ending
9738 (dwarf2out_define): Output debug_macinfo data for defining a macro
9740 (dwarf2out_undef): Output debug_macinfo data for undefining a
9742 (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
9743 (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
9744 (macinfo_section_label): New. DWARF2 macro info section label.
9745 (dwarf2out_init): If we want macro info, output the start label
9747 (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
9748 attribute to the compilation unit die pointing to the macro info.
9750 2001-07-04 Daniel Berlin <dan@cgsoftware.com>
9752 * dwarf2out.c (new_loc_list): Move to inside #ifdef
9753 DWARF2_DEBUGGING_INFO.
9754 (add_loc_descr_to_loc_list): Ditto.
9755 (output_loc_list): Ditto.
9756 Also, fix thinko in curr not being initialized.
9757 (gen_internal_sym): Ditto.
9759 Wed Jul 4 13:40:02 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9761 * emit-rtl.c (replace_equiv_address): New function.
9762 * expr.h (replace_equiv_address): New declaration.
9763 * explow.c (validize_mem): Call it instead of change_address and
9764 also call if -fforce-addr and address is constant.
9765 * expr.c: Replace more calls to change_address with adjust_address
9766 and/or replace_equiv_address or to validize_mem.
9767 * function.c, regmove.c, config/alpha/alpha.c: Likewise.
9768 * config/arm/arm.md, config/clipper/clipper.md: Likewise.
9769 * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
9770 * config/i370/i370.md, config/i860/i860.md: Likewise.
9771 * config/i960/i960.md, config/mips/mips.c: Likewise.
9772 * config/mips/mips.md, config/pa/pa.md: Likewise.
9773 * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
9774 * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
9776 2001-07-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9778 * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
9780 * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
9783 2001-07-04 Joseph S. Myers <jsm28@cam.ac.uk>
9785 * doc/include: New directory.
9786 * doc/fdl.texi: Move to doc/include/fdl.texi.
9787 * doc/texinfo.tex: Move to doc/include/texinfo.tex.
9788 * doc/include/funding.texi, doc/include/gpl.texi: New files.
9789 * doc/gcc.texi: Use funding.texi and gpl.texi.
9790 * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
9791 $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
9792 Update dependencies and use -I $(docdir)/include.
9794 2001-07-04 Anthony Green <green@redhat.com>
9796 * config/v850/t-v850 (v850-c.o): Add missing dependencies.
9798 2001-07-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9800 * doc/install.texi (sparc64-*-*): Remove garbage.
9802 Wed Jul 4 09:07:44 2001 Jan van Male <jan.vanmale@fenk.wau.nl>
9804 * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
9805 Fix typo in last change to use adjust_address.
9807 2001-07-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9809 * doc/install.texi (Specific): Update information for *-*-solaris*.
9811 Tue Jul 3 22:33:15 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9813 * explow.c (plus_constant_wide): Reinitialize Y for restart.
9815 2001-07-03 Stan Shebs <shebs@apple.com>
9817 * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
9818 case for flag_no_mach_text_sections.
9819 (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
9820 * config/darwin.c (flag_no_mach_text_sections): Remove.
9821 * config/darwin-protos.h (darwin_init_pragma): Remove decl.
9823 Tue Jul 3 15:35:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9825 * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
9826 and avoid checking for constant as first operand.
9827 * recog.c (find_constant_term_loc): No longer static.
9828 (adj_offettable_operand): Delete.
9829 * rtl.h (adj_offsettable_operand): Delete declaration.
9830 (find_constant_term): Add declaration.
9831 * caller-save.c: Replace calls to adj_offsettable_operand with calls
9833 * config/arm/arm.c, config/c4x/c4x.c: Likewise.
9834 * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
9835 * config/i386/i386.c, config/i386/i386.md: Likewise.
9836 * config/i860/i860.c, config/i960/i960.c: Likewise.
9837 * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
9838 * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
9839 * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
9840 * config/mips/mips.c, config/mips/mips.md: Likewise.
9841 * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
9842 * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
9843 * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
9844 * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
9845 * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
9846 * config/ns32k/ns32k.md: Likewise.
9848 2001-07-03 Zack Weinberg <zackw@stanford.edu>
9850 * rtl.c (copy_rtx): Handle 'T' format letter.
9851 * gensupport.c (collect_insn_data): Likewise.
9852 * print-rtl.c (print_rtx): Print 'T' slots like 's'.
9854 2001-07-03 Nick Clifton <nickc@cambridge.redhat.com>
9856 * doc/invoke.texi (Directory Options): Specifiy range for <N> in
9857 -B option. Use 'dir' not 'foo' as example directory name.
9859 2001-07-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9861 * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
9862 Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
9864 2001-07-03 Joseph S. Myers <jsm28@cam.ac.uk>
9866 * doc/cppinternals.texi: Improve formatting and logical markup.
9868 2001-07-03 Andreas Jaeger <aj@suse.de>
9870 * Makefile.in (insn-recog.o): Add dependency on reload.h.
9872 * genrecog.c (write_header): Include reload.h for prototypes in
9875 2001-07-03 Neil Booth <neil@daikokuya.demon.co.uk>
9878 * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
9879 VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
9880 * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
9881 i386_pe_valid_type_attribute_p): Add.
9882 * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
9883 * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
9885 Mon Jul 2 21:52:19 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9887 * explow.c (plus_constant_wide, case LO_SUM): New case.
9888 (plus_constant_for_output_wide): Delete.
9889 * rtl.h (plus_constant_for_output): Delete.
9890 * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
9891 instead of plus_constant_for_output.
9892 * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
9893 * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
9894 * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
9895 * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
9896 * config/sparc/sparc.md: Likewise.
9897 Convert some change_address calls to adjust_address.
9899 2001-07-03 Joseph S. Myers <jsm28@cam.ac.uk>
9901 * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
9902 doc/rtl.texi, doc/tm.texi: Improve formatting. Improve
9903 documentation of -std and -Wwrite-strings.
9905 2001-07-02 Geoffrey Keating <geoffk@redhat.com>
9907 * cse.c (canon_hash): Don't register registers in very small
9908 register classes, as extending their lifetime might cause
9911 Mon Jul 2 23:14:00 CEST 2001 Jan Hubicka <jh@suse.cz>
9913 * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
9915 * flow.c (forwarder_block_p): Fix for fallthru blocks.
9916 (try_redirect_by_replacing_jump): Update properly the count
9917 and frequency information.
9919 Mon Jul 2 14:20:13 2001 Jeffrey A Law (law@cygnus.com)
9921 * toplev.c (dump_file_index): Move SSA dumps just after first
9923 (dump_file): Corresponding changes.
9924 (rest_of_compilation): Move SSA path to just after the first
9926 * doc/gcc.texi (Passes): Update due to movement of SSA path.
9927 * doc/invoke.texi: Update dump file #s as they were completely
9928 out of date with reality.
9930 2001-07-02 Geoffrey Keating <geoffk@redhat.com>
9932 * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
9934 * expr.c (emit_move_insn_1): Deal with non-default
9937 * expr.c (emit_single_push_insn): Fix warning.
9939 2001-07-02 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
9941 * expr.c (emit_move_insn_1): Avoid modifying
9942 cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
9944 Mon Jul 2 15:33:31 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9946 * emit-rtl.c (adjust_address): New function.
9947 * expr.h (adjust_address): Add declaration.
9948 * builtins.c: Replace some calls to change_address with calls to it
9950 * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
9951 * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
9952 * config/arm/arm.c, config/convex/convex.c: Likewise.
9953 * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
9954 * config/i386/i386.c, config/i386/i386.md: Likewise.
9955 * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
9956 * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
9957 * config/m88k/m88k.c, config/mips/mips.md: Likewise.
9958 * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
9959 * config/sh/sh.c, config/sparc/sparc.md: Likewise.
9961 2001-07-02 Jim Wilson <wilson@redhat.com>
9963 * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
9965 2001-07-02 Steve Ellcey <sje@cup.hp.com>
9967 * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
9968 * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
9970 2001-07-02 Zack Weinberg <zackw@stanford.edu>
9972 * cppinit.c (lang_defaults): New table.
9973 (set_lang): Just read from lang_defaults into the live options
9976 2001-07-02 Zack Weinberg <zackw@stanford.edu>
9978 * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
9979 * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
9980 * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
9982 2001-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9984 * doc/install.texi: Various spelling and markup fixes.
9985 (Installing GCC): Component specific installation instructions are
9988 Warn about removing old install dir in the presence of shared libs.
9989 (Configuration): Invoke with options target to match configure
9991 Consistently refer to gas, gld pathnames.
9992 Invert --enable-multilib documentation.
9993 Remove references to old compiler versions.
9995 Mon Jul 2 12:50:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9997 * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
9999 2001-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10001 * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
10003 (Specific, mips*-sgi-irix5): Note IDO download.
10004 Reworded MIPS C hints.
10005 Use GNU as instead of GAS.
10007 Removed SGI Freeware reference, IRIX 6 only.
10008 (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
10009 Note N64 library requirement/workaround.
10011 Complete list of structure passing bug victims.
10013 2001-07-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10015 * doc/install.texi: Remove CVS Id.
10017 2001-07-02 Andreas Jaeger <aj@suse.de>
10019 * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
10020 (find_inherently_necessary): Remove unused variable.
10022 2001-07-02 Nathan Sidwell <nathan@codesourcery.com>
10024 * c-common.h (TDI_inlined): New ast dump phase.
10025 (dump_flag_name): New function.
10026 * c-dump.c (dump_files): Add inlined phase.
10027 (dump_flag_name): Define.
10028 * doc/invoke.texi (-fdump-ast-inlined): Document.
10030 Mon Jul 2 06:29:36 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10032 * stor-layout.c (layout_decl): Revert change to handling of alignment
10035 Sun Jul 1 11:53:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10037 * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
10040 2001-07-01 Geoffrey Keating <geoffk@redhat.com>
10042 * doc/tm.texi (FUNCTION_ARG): Document that the last call
10045 2001-07-01 Nathan Sidwell <nathan@codesourcery.com>
10047 * tlink.c (recompile_files): Remove COMPILER_PATH and
10048 LIBRARY_PATH from the environment.
10050 2001-07-01 Zack Weinberg <zackw@stanford.edu>
10052 * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
10053 RID_LAST_PQ. Move RID_FIRST_PQ down with the other FIRST/LAST
10055 (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
10057 * c-parse.in (OBJC_STRING): Kill.
10058 (objc_string): Decompose to [objc_string] '@' STRING.
10059 (reswords): Take the leading '@' off all the Objective C keywords.
10060 (objc_rid_sans_at): Kill.
10061 (init_reswords): Don't initialize it.
10062 (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
10063 (_yylex): Kill reconsider label. Look ahead one token after
10064 an '@'; if we get an identifier, check whether it's an
10065 Objective C @-keyword. If so, return the keyword. Otherwise,
10066 put back the token and return the '@' as a terminal.
10068 * cpplib.c (lex_macro_node): Remove unnecessary check for
10069 leading '@' on identifier. Clarify control flow and commentary.
10071 Sun Jul 1 11:53:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10073 * cse.c (new_label_ref): Variable deleted.
10074 (insert): Remove set of new_label_ref.
10075 (check_for_label_ref): New function.
10076 (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
10078 See ChangeLog.5 for earlier changes.