| 2000-12-31 Alexandre Oliva <aoliva@redhat.com> |
| |
| * resource.c (mark_referenced_resources): Abort() before |
| attempting to mark a pseudo register. |
| (mark_set_resources): Likewise. |
| |
| 2000-12-31 Philip Blundell <philb@gnu.org> |
| |
| * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Add missing asm |
| operands. |
| |
| 2000-12-30 Richard Henderson <rth@redhat.com> |
| |
| * dbxout.c (dbxout_block): Invert logic on eliding LBRAC/RBRAC. |
| Initialize variables properly for DBX_LBRAC_FIRST. |
| |
| 2000-12-30 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * expr.c (expand_expr, case COMPONENT_REF): Fix typo in last change. |
| |
| 2000-12-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * builtins.c (validate_arglist): New function, use it. |
| |
| 2000-12-30 Philip Blundell <philb@gnu.org> |
| |
| * config/arm/arm.c (arm_expand_prologue): Fix typos in error |
| message and comment. Note location of testcase for an unhandled |
| situation. |
| |
| 2000-12-30 Jeffrey Oldham <oldham@codesourcery.com> |
| |
| * defaults.h (BUILD_VA_LIST_TYPE): New definition. |
| * tree.c (build_common_tree_nodes_2): Ensure the va_list_type_node |
| is a copy, not an alias. |
| |
| 2000-12-30 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * calls.c (calls_function_1, case CONSTRUCTOR): New case. |
| |
| * alias.c (alias_sets_conflict_p): New function. |
| (mems_in_disjoint_alias_sets_p): Use it. |
| (readonly_fields_p): Moved from expr.c; check for record type. |
| (objects_must_conflict_p): New function. |
| * calls.c (expand_call): Use assign_temp as much as possible, use |
| readonly variant if assigned once, and don't set memory attributes. |
| (emit_library_call_value_1, store_one_arg): Likewise. |
| * integrate.c (expand_inline_function): Likewise. |
| * stmt.c (expand_asm_operands, expand_return): Likewise. |
| * expr.c (copy_blkmode_from_reg, store_constructor): Likewise. |
| (store_field, save_noncopied_parts, expand_expr): Likewise. |
| (expand_expr_unaligned): Likewise. |
| (readonly_fields_p): Moved to alias.c. |
| (safe_from_p): Rework handling of SAVE_EXPR. |
| MEMs ony conflict if alias sets conflict; likewise for INDIRECT_REF. |
| * function.c (struct temp_slot): Delete field ALIAS_SET; add TYPE. |
| (assign_stack_for_temp): Use objects_must_confict_p. |
| Set all memory attributes from type, if specified. |
| (mark_temp_slot): Mark TYPE field. |
| * tree.h (alias_sets_conflict_p, readonly_fields_p): New decls. |
| (objects_must_conflict_p): Likewise. |
| |
| * stmt.c (expand_decl): Don't use assign_stack_temp in error case. |
| (add_case_node): No need to copy nodes anymore. |
| |
| 2000-12-30 Alexandre Oliva <aoliva@redhat.com> |
| |
| * config/sh/sh.c (split_branches): Don't dereference re-computed |
| `beyond' before checking it's non-NULL. |
| |
| 2000-12-29 Robert Lipe <robertl@sco.com> |
| |
| Remove COFF support from i?86-pc-sco3.2v5. |
| * i386/sco5.h (PREFERRED_DEBUGGING_TYPE): Change to Dwarf II. |
| (TARGET_ELF): Now always true. |
| (SUBTARGET_SWTICHES: )Remove -mcoff. |
| |
| * i386/t-sco5 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, |
| MULTILIB_EXCEPTION): Nuke coff. |
| (CRTSTUFF_T_CFLAGS_S): Deleted. |
| (TARGET_LIBGCC2_CFLAGS): Added. |
| |
| 2000-12-29 Alexandre Oliva <aoliva@redhat.com> |
| |
| * varasm.c (output_constant_def): Don't ENCODE_SECTION_INFO |
| twice. Update desc->rtl and ->label, in case ENCODE_SECTION_INFO |
| modifies them. |
| |
| 2000-12-29 Bernd Schmidt <bernds@redhat.com> |
| |
| * ia64.c (ia64_expand_load_address): Accept additional scratch |
| register argument. All callers & prototype changed. |
| Use scratch register when generating load_symptr insns. |
| * ia64.md (movdi_symbolic): Clobber a scratch register. Use it |
| when calling ia64_expand_load_address. |
| (movdi): Generate movdi_symbolic with additional operand. |
| (load_gprel64): Use pic_offset_table_rtx instead of (reg:DI 1). |
| (load_symptr): Likewise. Use additional operand as a scratch |
| register instead of generating it here. |
| |
| * basic-block.h: Add a comment. |
| * flow.c (PROP_POSTRELOAD): New macro. |
| (update_life_info): Add it to prop_flags. |
| (mark_set_1): If it is set, compute REG_N_SETS for the original |
| register number of a hard reg. |
| |
| * emit-rtl.c (gen_raw_REG): New function. |
| (gen_rtx_REG, gen_reg_rtx, init_emit_once): Use it instead of |
| gen_rtx_raw_REG. |
| * print-rtl.c (print_rtx): Print ORIGINAL_REGNO. |
| * final.c (alter_subreg): Update it. |
| * regrename.c (do_replace): Likewise. Use gen_raw_REG. |
| * rtl.def (REG): Update comment. |
| * rtl.h (X0UINT, ORIGINAL_REGNO): New macros. |
| (gen_raw_REG): Declare. |
| |
| 2000-12-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * tree.c (get_set_constructor_bits): Use host_integerp and |
| tree_low_cst. |
| |
| * local-alloc.c (update_equiv_regs): Don't use copy_rtx on PATTERN. |
| |
| * toplev.c (main): Call xmalloc_set_program_name. |
| * gcc.c (main): Likewise. |
| |
| 2000-12-29 Philip Blundell <philb@gnu.org> |
| |
| * config/arm/arm.c (arm_override_options): Fix typo in warning |
| message. |
| |
| 2000-12-29 Richard Henderson <rth@redhat.com> |
| |
| * config/alpha/alpha.c (alpha_expand_block_move): Initialize |
| src_align and dst_align in bits. Do unaligned quadword loads |
| if possible for BWX too. |
| (alpha_expand_block_clear): Initialize align in bits. Track |
| small leading offsets into a larger alignment. Play games with |
| stq_u for large 4-byte aligned blocks. Use load/mask/store |
| for appropreately aligned heads and tails. |
| |
| 2000-12-29 Alexandre Oliva <aoliva@redhat.com> |
| |
| * function.c (assign_parms): Convert arguments passed by |
| reference to the right mode. |
| |
| 2000-12-28 Geoffrey Keating <geoffk@redhat.com> |
| |
| * c-parse.in (select_or_iter_stmt): Use truthvalue_conversion |
| on the condition of a FOR statement, so that it gets typechecked |
| and optimized. |
| |
| 2000-12-29 Alexandre Oliva <aoliva@redhat.com> |
| |
| * c-decl.c (grokdeclarator): Prevent crash in case of overflow in |
| array size. |
| |
| * calls.c (emit_library_call_value_1): Add to call_fusage the |
| stack slot assigned to argument passed by reference. |
| |
| 2000-12-28 Jeffrey Oldham <oldham@codesourcery.com> |
| |
| * toplev.h (extern really_sorry): Remove extern declaration for |
| nonexistent function. |
| |
| 2000-12-28 Jeffrey Oldham <oldham@codesourcery.com> |
| |
| * varasm.c (initializer_constant_valid_p): Indicate subtraction of |
| pointers to the same string constant is absolute. |
| |
| 2000-12-28 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (enum format_type): Add strfmon_format_type. |
| (decl_attributes): Handle format attributes strfmon and |
| __strfmon__. |
| (FMT_FLAG_USE_DOLLAR, FMT_FLAG_ZERO_WIDTH_BAD, |
| FMT_FLAG_EMPTY_PREC_OK): Define. |
| (format_char_info): Update comment for flag_chars. |
| (format_flag_spec): Add skip_next_char. |
| (format_kind_info): Add left_precision_char. |
| (printf_flag_specs, scanf_flag_specs, strftime_flag_specs, |
| format_types): Update for these new structure members and flags. |
| (time_char_table): Make const. |
| (strfmon_length_specs, strfmon_flag_specs, strfmon_flag_pairs, |
| monetary_char_table): New. |
| (format_types): Add details of strfmon formats. |
| (init_function_format_info): Create default attribute for strfmon. |
| (check_format_info_main): Check the new flags. Handle |
| skip_next_char and left precision. |
| * toplev.c (documented_lang_options): Update description of |
| -Wformat. |
| * extend.texi: Document strfmon format attributes. Document |
| attribute forms such as __printf__. Clarify format_arg attribute |
| documentation. |
| * invoke.texi (-Wformat): Update for strfmon formats. |
| |
| 2000-12-28 Andreas Jaeger <aj@suse.de> |
| |
| * expmed.c (store_bit_field): Fix last patch. |
| |
| 2000-12-28 Alexandre Oliva <aoliva@redhat.com> |
| |
| * config/sh/crt1.asm (start_l): `__SH4_SINGLE_ONLY__' was missing |
| the trailing `__'. |
| |
| 2000-12-28 Alan Lehotsky <lehotsky@tiac.net> |
| |
| * expmed.c (store_bit_field): Correctly compute smallest mode that |
| is sufficient to contain all bits we are storing. |
| |
| 2000-12-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * builtins.c (build_function_call_expr): New function. Use it |
| everywhere in lieu of manually constructing a CALL_EXPR. |
| |
| 2000-12-27 Chandrakala Chavva <cchavva@redhat.com> |
| |
| * calls.c (store_one_arg): If parm is passed both in stack and in |
| register and offset is greater than reg_parm_stack_space, split |
| the offset and call emit_push_insn(). |
| |
| 2000-12-27 Nick Clifton <nickc@redhat.com> |
| |
| * ifcvt.c (noce_emit_store_flag): Handle jump insns that are |
| PARALLEL. |
| |
| 2000-12-27 Alexandre Oliva <aoliva@redhat.com> |
| |
| * rtl.c (copy_most_rtx, shallow_copy_rtx): Copy frame_related |
| flag. |
| |
| 2000-12-27 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/Makefile.in: fix for ancient Bourne shell |
| * fixinc/Makefile.BEOS: obsolete |
| * fixinc/Makefile.DOS: obsolete |
| * fixinc/fixincl.sh(LINKS): use `test -d' rather than `ls' for testing |
| |
| 2000-12-27 Bernd Schmidt <bernds@redhat.com> |
| |
| * sched-deps.c (get_condition, conditions_mutex_p): New functions. |
| (add_dependence): Use them to avoid adding unnecessary dependencies |
| between conditionally executed insns. |
| (sched_analyze_1, sched_analyze_2, sched_analyze_insn): Don't free |
| dependency lists if current insn is a COND_EXEC. |
| |
| 2000-12-27 Geoffrey Keating <geoffk@redhat.com> |
| |
| * config/rs6000/rs6000.md (define_attr "length"): Correct |
| calculation. |
| |
| 2000-12-26 Kazu Hirata <kazu@hxi.com> |
| |
| * config/h8300/h8300.c: Fix a comment typo. |
| (get_shift_alg): Fix a typo in the assembly code for 12-bit |
| ASHIFTRT in HImode. Do not output extra whitespace after one line |
| of assembly code. Output a tab after an opcode instead of a |
| space. |
| (emit_a_shift): Output a tab after an opcode instead of a space. |
| |
| 2000-12-23 Marek Michalkiewicz <marekm@linux.org.pl> |
| |
| * config/avr/avr.c (out_movqi_r_mr, out_movhi_r_mr, out_movsi_r_mr, |
| out_movsi_mr_r, out_movqi_mr_r, out_movhi_mr_r): Use %o instead of |
| %4 in output templates, do not modify operands passed by the caller. |
| |
| 2000-12-23 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * builtins.def (BUILT_IN_LABS, BUILT_IN_LLABS, BUILT_IN_IMAXABS): |
| Don't define. |
| * builtins.c (expand_builtin): Don't handle BUILT_IN_LABS, |
| BUILT_IN_LLABS and BUILT_IN_IMAXABS. |
| * c-common.c (c_common_nodes_and_builtins): Use BUILT_IN_ABS for |
| builtin labs, llabs and imaxabs. |
| (expand_tree_builtin): Don't handle BUILT_IN_LABS, BUILT_IN_LLABS |
| and BUILT_IN_IMAXABS. |
| |
| 2000-12-23 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (builtin_function_2): New function. |
| (c_common_nodes_and_builtins): Use it to define each pair (foo, |
| __builtin_foo) of builtins in one place. |
| |
| 2000-12-22 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * gccbug.in: Add libgcj and preprocessor categories. |
| |
| 2000-12-22 Bernd Schmidt <bernds@redhat.com> |
| |
| * config/ia64/ia64.c (itanium_reorder): Only schedule stops in |
| the final scheduling pass. |
| |
| 2000-12-22 Nick Clifton <nickc@redhat.com> |
| |
| * config/arm/arm.h (struct machine_function): Add new field |
| 'lr_save_eliminated'. |
| * config/arm/arm.c (arm_compute_save_reg_mask): Do not include the |
| link register if its save has been eliminated. |
| (output_arm_prologue): Mention if the save of the link register |
| has been eliminated. |
| (output_arm_epilogue): Rename 'live_regs_mask' to |
| 'saved_regs_mask'. |
| Test 'saved_regs_mask' for the link register, not regs_ever_live. |
| (arm_expand_prologue): If the link register has not been saved set |
| lr_save_eliminated and emit a USE to prevent later passes from |
| scavenging it. |
| |
| * dwarf2out_frame_debug_expr: Allow the (scratch) frame |
| pointer to be initialized from the stack pointer plus a |
| constant. |
| |
| 2000-12-22 Bernd Schmidt <bernds@redhat.com> |
| |
| * regrename.c (struct du_chain): New field "earlyclobber". |
| (enum scan_actions): Remove unused entry "note_reference". |
| (enum scan_actions_name): Likewise. |
| (note_sets, clear_dead_regs, merge_overlapping_regs): New static |
| functions. |
| (regrename_optimize): Use them to compute unavailable regs; get |
| rid of the more simpleminded code we used to have here. |
| Use a tick array to ensure registers are allocated in a more |
| round-robin way. Disable code that only optimizes registers |
| that were seen more than once. |
| (referenced_regs): Remove variable. |
| (scan_rtx_reg): New arg "earlyclobber". All callers changed. |
| Store its value in newly generated du_chain structures. |
| Add new du_chains at the end, not the start, of the list. |
| Don't handle the "note_reference" action. |
| (scan_rtx): New arg "earlyclobber". All callers changed. |
| (build_def_use): Lose code to keep track of referenced regs. |
| |
| 2000-12-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * Makefile.in (sched-deps.o, sched-rgn.o): Fix dependency typo. |
| |
| * fp-bit.h (usi_to_float): Add prototype. |
| |
| * i386.c (ix86_expand_builtin): Delete unused label. |
| |
| * dwarf2out.c (file_info_cmp): Prototype. |
| (dwarf2out_line): Hide variable `old_in_use'. |
| |
| * objc-act.c (objc_fatal): Delete. |
| |
| * sched-vis.c (visualize_stall_cycles): Remove unused variable. |
| |
| * system.h (getopt): Fix error in last change. |
| |
| * varasm.c (assemble_trampoline_template): Constify. |
| |
| 2000-12-22 Jason Merrill <jason@redhat.com> |
| |
| * collect2.c (main): Use auto_demangling. |
| |
| 2000-12-22 Alexandre Oliva <aoliva@redhat.com> |
| |
| * function.c (assign_parms): Update parm's DECL_INCOMING_RTL |
| when optimizing PARALLEL to REG. |
| |
| 2000-12-22 Graham Stott <grahams@redhat.com> |
| |
| * reload.c (update_auto_inc_notes): New, broken out from ... |
| (find_reloads_address_1): ... use here, also correct possible |
| use of uninitialized reloadnum. |
| |
| 2000-12-21 David O'Brien <obrien@FreeBSD.org> |
| |
| * config/freebsd.h (LIB_SPEC): remove -kthread option. |
| |
| 2000-12-22 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * resource.c (mark_set_resources): Use MARK_SRC_DEST for |
| PRE_MODIFY and POST_MODIFY cases. |
| |
| * rtlanal.c (side_effects_p): Handle PRE_MODIFY and POST_MODIFY. |
| |
| 2000-12-22 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * md.texi (Looping Patterns): New node. |
| |
| 2000-12-21 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * gcc.texi, cpp.texi: Update last-updated dates. |
| |
| 2000-12-21 Chandrakala Chavva <cchavva@redhat.com> |
| |
| * varasm.c (output_addressed_constants): Use language specific |
| expander on unknown nodes. |
| |
| 2000-12-21 Graham Stott <grahams@redhat.com> |
| |
| * combine.c (distribute_notes): Handle REG_NON_LOCAL_GOTO notes. |
| |
| 2000-12-21 Bernd Schmidt <bernds@redhat.com> |
| |
| * Makefile.in (out_object_file): Depend on sched-int.h. |
| * rtl.h (single_set_1): New macro. |
| (single_set_2): Renamed from single_set_1 and extra argument added. |
| * rtlanal.c (single_set_2): Likewise. |
| |
| * config/ia64/ia64-protos.h (get_bundle_name, ia64_issue_rate, |
| ia64_adjust_cost, ia64_sched_init, ia64_sched_finish, |
| ia64_sched_reorder, ia64_sched_reorder2, ia64_variable_issue): |
| Declare. |
| * config/ia64/ia64.c: Include "sched-int.h". |
| (hard_regno_rename_ok): Also disallow renaming from the various |
| reg_save_* regs. |
| (ia64_safe_itanium_requiers_unit0, ia64_safe_itanium_class, |
| ia64_safe_type, init_insn_group_barriers, group_barrier_needed_p, |
| safe_group_barrier_needed_p, fixup_errata): New static functions. |
| (rtx_needs_barrier): Handle bundle selector and cycle display |
| insns. |
| (emit_insn_group_barriers): Accept additional FILE * arg. All |
| callers changed. Rework to only generate stop bits between |
| basic blocks that haven't been inserted by scheduling. |
| (struct bundle, struct ia64_packet): New structures. |
| (NR_BUNDLES, NR_PACKETS): New macros. |
| (bundle, packets, type_names): New static arrays. |
| (ia64_final_schedule): New variable. |
| (ia64_single_set, insn_matches_slot, ia64_emit_insn_before, |
| gen_nop_type, finish_last_head, rotate_one_bundle, rotate_two_bundles, |
| cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn, |
| find_best_packet, itanium_reorder, dump_current_packet, schedule_stop): |
| New static functions. |
| (ia64_issue_rate, ia64_sched_init, ia64_sched_reorder, |
| ia64_sched_finish, ia64_sched_reorder2, ia64_variable_issue): New |
| functions. |
| (ia64_reorg): Perform a final scheduling pass. |
| * config/ia64/ia64.h (CONST_COSTS): Slightly increase SYMBOL_REF costs. |
| (MAX_CONDITIONAL_EXECUTE, ADJUST_COST, ISSUE_RATE, MD_SCHED_INIT, |
| MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_FINISH, |
| MD_SCHED_VARIABLE_ISSUE): Define macros. |
| (ia64_final_schedule): Declare variable. |
| * config/ia64/ia64.md (attr itanium_class): Add some more classes. |
| (attr type): Account for them. |
| (itanium_requires_unit0): New attribute. |
| (function units): Rewrite. |
| (some splitters): Don't create scheduling barriers here. |
| (gr_spill_internal, gr_restore_internal): Don't predicate the |
| pseudo-op. |
| (nop_m, nop_i, nop_f, nop_b, nop_x, cycle_display, cycle_display_1, |
| bundle_selector): New patterns. |
| (insn_group_barrier): Now has an operand. |
| |
| 2000-12-21 DJ Delorie <dj@redhat.com> |
| |
| * dwarf2out.c (simple_decl_align_in_bits): new |
| (field_byte_offset): Try both the type align and the |
| decl align, use whichever works, preferring the type align. |
| |
| 2000-12-21 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * gccbug.in: Fix typo. |
| |
| 2000-12-20 Benjamin Kosnik <bkoz@redhat.com> |
| |
| * Makefile.in (gcc_gxx_target_include_dir): Use instead of |
| build_tooldir and libstdcxx_incdir. |
| |
| 2000-12-20 Robert Lipe <robertlipe@usa.net> |
| |
| * haifa-sched.c (schedule_block): Provide empty source statement |
| if not MD_SCHED_REORDER2. |
| |
| 2000-12-20 Richard Henderson <rth@redhat.com> |
| |
| * rtl.h (REG_NON_LOCAL_GOTO): New. |
| * rtl.c (reg_note_name): Update. |
| * stmt.c (expand_goto): Emit a REG_NON_LOCAL_GOTO note. |
| * builtins.c (expand_builtin_longjmp): Likewise. |
| * flow.c (make_edges): Check for REG_NON_LOCAL_GOTO and do |
| not emit an edge. |
| |
| 2000-12-20 Marek Michalkiewicz <marekm@linux.org.pl> |
| |
| * config/avr/avr.c (out_movsi_r_mr, out_movsi_mr_r, out_movhi_mr_r): |
| Do not output undefined opcodes where source or destination register |
| overlaps with modified pointer register. Handle (X + d) addresses. |
| * config/avr/avr.md (*movhi, *movsi, *movsf): Correct insn length |
| in alternatives with memory operand. |
| |
| 2000-12-20 Richard Henderson <rth@redhat.com> |
| |
| * c-typeck.c (build_asm_stmt): New, broken out from ... |
| (c_expand_asm_operands): ... here. Just do rtl expansion. |
| (c_expand_return): Return the new stmt node. |
| (c_start_case, do_case): Likewise. |
| * c-common.c (c_expand_expr_stmt): Likewise. |
| * c-common.h: Update declarations. |
| * c-tree.h: Likewise. |
| * c-semantics.c (build_stmt): Use STMT_LINENO not TREE_COMPLEXITY. |
| * c-parse.in (fndef): Set DECL_SOURCE_LINE to the open brace. |
| (nested_function, notype_nested_function): Likewise. |
| (compstmt): Return the compound statement not the binding level. |
| (lineno_labeled_stmt): Simplify. |
| (lineno_stmt, lineno_label): Set STMT_LINENO. |
| (stmt, label): Return the new stmt node. |
| |
| 2000-12-20 Bernd Schmidt <bernds@redhat.com> |
| |
| * Makefile.in (OBJS): Add sched-ebb.o. |
| (sched-ebb.o): New rule. |
| (sched-vis.o): Depend on hard-reg-set.h and $(BASIC_BLOCK_H). |
| (haifa-sched.o): Depend on insn-flags.h. |
| * haifa-sched.c: Include "insn-flags.h". |
| (priority): Don't access BLOCK_NUM, use the new contributes_to_priority |
| callback. |
| * rtl.h (schedule_ebbs): Declare. |
| * sched-int.h (struct sched_info): Add new members |
| contributes_to_priority and compute_jump_reg_dependencies. |
| * sched-rgn.c (contributes_to_priority, compute_jump_reg_dependencies): |
| New functions. |
| (region_sched_info): Add them. |
| * sched-vis.c: Include "hard-reg-set.h" and "basic-block.h". |
| * sched-ebb.c: New file. |
| * sched-deps.c (sched_analyze_insn): Add code to handle JUMP_INSNs. |
| |
| * flow.c (ior_reg_cond, and_reg_cond, elim_reg_cond): Properly |
| handle all relational operators. |
| |
| 2000-12-20 Alexandre Oliva <aoliva@redhat.com> |
| |
| * final.c (output_addr_const): Use ASM_OUTPUT_SYMBOL_REF. |
| * tm.texi: Document it. |
| |
| 2000-12-19 Benjamin Kosnik <bkoz@redhat.com> |
| |
| * Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Use build_tooldir |
| instead of gcc_tooldir. |
| |
| 2000-12-19 John David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * system.h (getopt): Update prototype to match include/getopt.h. |
| |
| 2000-12-19 John David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| From Jeff Law. |
| * pa.c (basereg_operand): Simplify. |
| |
| 2000-12-19 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * haifa-sched.c (rm_line_notes): Arguments are now head and tail, |
| not block number. All callers and prototype changed. |
| (set_priorities): Likewise. |
| (save_line_notes): Add head and tail arguments; all callers and |
| prototype changed. |
| (restore_line_notes): Likewise. Don't crash on insns generated |
| during scheduling. |
| (schedule_block): Don't use BLOCK_HEAD/BLOCK_END macros. |
| Call MD_SCHED_INIT with additional argument. |
| When starting a new cycle, emit cycle_display insns if available. |
| Don't stop scheduling when encountering a JUMP_INSN, but add another |
| call to schedule_more_p in the inner loop. |
| Call MD_SCHED_REORDER2 after scheduling an insn. |
| Call MD_SCHED_FINISH once all insns are scheduled. |
| (sched_init): Compensate for the fact that get_block_head_tail |
| doesn't include leading notes. |
| * sched-deps.c (free_deps): Free vectors here. |
| * sched-rgn.c (compute_block_backward_dependencies): Not here. |
| (last_was_jump): New static variable. |
| (schedule_more_p): Test it. |
| (init_ready_list): Initialize it. |
| (can_schedule_ready_p): Set it if we have a JUMP_INSN. |
| |
| * config/i386/i386.h (MD_SCHED_INIT): Add new arg. |
| * config/m32r/m32r.h (MD_SCHED_INIT): Add new arg. |
| * config/sparc/sparc.h (MD_SCHED_INIT): Add new arg. |
| |
| * md.texi (cycle_display): Document. |
| * tm.texi (MD_SCHED_INIT): Document new arg. |
| (MD_SCHED_FINISH, MD_SCHED_REORDER2): Document. |
| |
| * flow.c (ior_reg_cond, nand_reg_cond, not_reg_cond): Rewrite |
| to use different representation. All callers changed. |
| (and_reg_cond): Renamed from nand_reg_cond; caller changed. |
| (init_propagate_block_info): Don't test flags to determine |
| whether to compute conditional lifetimes. |
| Adjust code for new representation of conditional lifetimes. |
| (mark_regno_cond_dead): Similar adjustment. |
| (free_reg_cond_life_info): Similar adjustment. |
| (elim_reg_cond): New function. |
| (flush_reg_cond_1): Use it. |
| |
| 2000-12-19 Catherine Moore <clm@redhat.com> |
| |
| * reload1.c (reload_combine): Take multi-hard-regs into account |
| when processing CALL_INSN_FUNCTION_USAGE. |
| |
| 2000-12-19 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * invoke.texi (-print-search-dirs): Make references to cpp refer |
| to cpp0 instead. |
| |
| 2000-12-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * fold-const.c (tree_expr_nonnegative_p): Treat truth values as |
| non-negative. |
| |
| Tue Dec 19 00:37:08 2000 J"orn Rennecke <amylaar@redhat.com> |
| |
| * reload.c (push_reload): When using a dying register for the reload |
| register in an in-out reload, use outmode if wider than inmode. |
| |
| 2000-12-19 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * config/d30v/d30v.h (EXIT_BODY): Update comment. |
| |
| 2000-12-18 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * config.gcc (*-*-linux*): Don't define HAVE_ATEXIT or BSTRING. |
| * tm.texi (EXIT_BODY): Update documentation. |
| * config/freebsd.h, config/netware.h, config/arm/coff.h, |
| config/arm/conix-elf.h, config/arm/unknown-elf.h, |
| config/d30v/d30v.h, config/mcore/mcore.h, config/pj/pj.h, |
| sparc/sp86x-aout.h: Remove definitions of HAVE_ATEXIT (some |
| commented out) and associated comments. |
| |
| 2000-12-18 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (STD_C9L, ADJ_STD): Define. |
| (printf_length_specs, scanf_length_specs): Mark "ll" as standard |
| STD_C9L. |
| (T99_LL): Rename to T9L_LL. |
| (T99_ULL): Rename to T9L_ULL. |
| (print_char_table, scan_char_table): Use T9L_LL and T9L_ULL |
| instead of T99_LL and T99_ULL. |
| (check_format_info_main): Use ADJ_STD on all format standard |
| versions being compared. |
| * c-common.h: Declare warn_long_long. |
| * c-tree.h: Don't declare warn_long_long. |
| |
| 2000-12-18 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * COPYING: Update to current |
| ftp://ftp.gnu.org/pub/gnu/Licenses/COPYING-2.0 (fixes references |
| to 19yy as example year in copyright notice). |
| |
| 2000-12-18 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| * c-lex.c (cb_file_change): Treat in_system_header as strictly |
| boolean (0 or 1). |
| |
| 2000-12-18 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| * cppmain.c: Update print.lineno with -P. |
| |
| 2000-12-18 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| * c-lex.c: s/change_file/file_change. |
| * cpplib.h: Similarly. |
| * cppmain.c: Similarly. |
| * fix-header.c: Similarly. |
| * cppfiles.c (stack_include_file): Pass the buffer location and |
| size to cpp_push_buffer. Generate the file_change callback, |
| so that sysp is already set. |
| * cpphash.h: Add _cpp_do_file_change. |
| * cpplib.c (do_line): Set buffer->sysp directly. Generate the |
| file_change callback after setting sysp. |
| (_cpp_do_file_change): Handle FC_ENTER and the FC_RENAME exception |
| here. |
| (cpp_push_buffer): Don't generate a callback. Clear sysp. |
| (cpp_pop_buffer): Clean up logic. |
| |
| 2000-12-18 Benjamin Kosnik <bkoz@redhat.com> |
| |
| * configure.in (gcc_gxx_include_dir): Simplify. |
| (libstdcxx_incdir): Export. |
| * configure: Regenerate. |
| * Makefile.in (PREPROCESSOR_DEFINES): Add in |
| GPLUSPLUS_TOOL_INCLUDE_DIR bits here.. |
| (libstdcxx_incdir): Add. |
| * cppdefault.c (GPLUSPLUS_TOOL_INCLUDE_DIR): Add search path. |
| |
| 2000-12-18 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| * c-lex.c (lex_lineno): Remove. |
| (init_c_lex, c_lex): Remove lex_lineno. |
| (cb_change_file): Update lineno correctly, both before calling |
| push_srcloc and before leaving the function. |
| (cb_def_pragma): Set lineno before outputting diagnostics. |
| |
| Sun Dec 17 18:45:41 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * print-tree.c (print_node): Print DECL_USER_ALIGN and TYPE_USER_ALIGN. |
| Print TYPE_MIN_VALUE and TYPE_MAX_VALUE for REAL_TYPE. |
| Use print_node_brief to print bounds. |
| |
| 2000-12-17 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| * cpplib.h (struct cpp_reader): Remove references to string_pool |
| and temp_string_pool. |
| * cppinit.c (cpp_create_reader, cpp_cleanup): Similarly; using |
| ident_pool in place. |
| * cpplex.c (parse_number, unescaped_terminator_p, parse_string, |
| save_comment, cpp_token_as_text): Similarly. |
| * cpplib.c (do_define, glue_header_name, parse_assertion): Similarly. |
| * cppmacro.c (make_number_token, builtin_macro, lock_pools, |
| unlock_pools, stringify_arg, paste_tokens): Similarly. |
| |
| Sun Dec 17 12:41:48 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * dwarf2out.c (loc_descriptor_from_tree, case NOP_EXPR): New case. |
| (loc_descriptor_from_tree, case CONVERT_EXPR): Likewise. |
| (loc_descriptor_from_tree, case NON_LVALUE_EXPR): Likewise. |
| |
| 2000-12-17 Richard Earnshaw <rearnsha@arm.com> |
| |
| * Makefile.in (check-po): Use $(MAKE). |
| (risky-stage1, risky-stage2, risky-stage3, risky-stage4): Likewise. |
| |
| 2000-12-17 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| * cppmain.c (check_multiline_token): New function. |
| (scan_buffer): Use it. |
| (cb_change_file): Restructure to avoid warning. |
| * cpperror.c (print_location): Initialize col. |
| |
| 2000-12-14 Philipp Thomas <pthomas@suse.de> |
| |
| * protoize.c (main): Correctly set locale categories. |
| * gcc.c (main): Likewise. |
| * cppmain.c (general_init): Likewise. |
| * toplev.c (main): Likewise. |
| * gcov.c (main): Likewise. |
| * collect2.c (main): Likewise. |
| |
| 2000-12-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * c-common.c (c_common_nodes_and_builtins): Create a |
| cstring_endlink, use it. Rename int_ftype_string_string to |
| int_ftype_cstring_cstring, string_ftype_string_int to |
| string_ftype_cstring_int, and string_ftype_string_string to |
| string_ftype_cstring_cstring. Prefer sizetype_endlink and |
| int_endlink to manually recreating them. Fix the prototype |
| set for __builtin_strspn/__builtin_strcspn. |
| |
| 2000-12-12 Marek Michalkiewicz <marekm@linux.org.pl> |
| |
| * config/avr/avr.c (out_set_stack_ptr): Update comment. |
| (print_operand): Add support for %~ and %o. |
| |
| 2000-12-17 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> |
| |
| * c4x.h: Add ASM_OUTPUT_DEF definition for bounded pointer code. |
| |
| 2000-12-17 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| * c-lex.c: Move main_input_filename handling to FC_ENTER. Clean up. |
| * cpperror.c (print_containing_files): Get right line number. |
| (print_location): Output column of 1 if 0. |
| * cppfiles.c (stack_include_file): cpp_push_buffer handles |
| the callback. |
| * cpphash.h (_cpp_do_file_change): No longer external. |
| * cpplib.c (do_file_change): Now local to cpplib.c. |
| (do_line): Fake a buffer stack for preprocessed files. |
| (cpp_push_buffer): Create a file_change callback. Handle faked |
| buffers. |
| (cpp_pop_buffer): Similarly. |
| * cpplib.h: BUF_FAKE: New buffer type. |
| * cppmain.c: Update to handle correct file renaming where a |
| #line is the first line of the main file, and produce only |
| the renamed file, not the original file, as output. |
| |
| 2000-12-17 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x/c4x.md: Remove redundant @s from output patterns. |
| |
| 2000-12-17 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> |
| |
| * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Call c4x_init_pragma. |
| |
| * config/c4x/c4x-protos.h (c4x_init_pragma): New prototype. |
| |
| * config/c4x/c4x.c (c4x_init_pragma): New function. |
| (c_lex_func): New variable. |
| (c4x_parse_pragma): Use c_lex_func. |
| |
| 2000-12-17 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> |
| |
| * config/c4x/c4x.h (MD_INIT_BUILTINS): Add void_list_node argument |
| to c4x_init_builtins. |
| |
| * config/c4x/c4x-protos.h (c4x_init_builtins): Add tree argument. |
| |
| * config/c4x/c4x.c (c4x_init_builtins): Add tree argument. |
| (c4x_output_ascii): Fix. |
| |
| 2000-12-17 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> |
| |
| * config/c4x/c4x.h (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Define. |
| |
| * config/c4x/c4x-protos.h (c4x_init_builtins): New prototype. |
| (c4x_expand_builtin): Likewise. |
| |
| * config/c4x/c4x.c (c4x_init_builtins): New function. |
| (c4x_expand_builtin): Likewise. |
| |
| * config/c4x/c4x.md (floatunsqihf2): New pattern. |
| (*floatqihf2_set, *fixhfqi_set, fix_trunchfqi2): Likewise. |
| (fixuns_trunchfqi2, toieee, frieee, *ldhf_conditional): Likewise. |
| (*ldhf_conditional_noov, movhfcc, trap, cond_trap_cc): Likewise. |
| (*toieee_movqf_clobber, *frieee_movqf_clobber): Likewise. |
| |
| 2000-12-17 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * libgcc2.h: Use Wtype for SItype and DWtype for DItype in prototypes. |
| * libgcc2.c (__absvsi2): Use Wtype and DWtype. |
| (__absvdi2, __addvsi3, __addvdi3, __subvsi3): Likewise. |
| (__subvdi3, __mulvsi3, __mulvdi3, __negvsi2, __negvdi2): Likewise. |
| |
| 2000-12-16 Alexandre Oliva <aoliva@redhat.com> |
| |
| * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Enclose the block |
| statement in do/while(0). |
| |
| Sat Dec 16 19:56:24 MET 2000 Jan Hubicka <jh@suse.cz> |
| |
| * i386.md (ashrsi3_cmpno, ashrhi3_cmpno, ashrqi3_cmpno, lshrsi3_cmpno, |
| lshrhi3_cmpno): Remove redundant '@' from the template. |
| |
| * i386.md (cmpstrsi_1): Fix type of the compare. |
| |
| * genattrtab.c (attr_rtx_cost): New function. |
| (simplify_test_exp): Avoid overactive inlining; use temporary |
| obstacks for tests. |
| |
| Sat Dec 16 10:41:11 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * diagnostic.c (finish_abort): Deleted. |
| (fatal): Add code from finish_abort. |
| (error_recursion, fancy_abort): Call fatal, not finish_abort. |
| (trim_filename): Remove leading "../". |
| * diagnostic.h (finish_abort): Deleted. |
| * toplev.c (crash_signal): Call fatal, not finish_abort. |
| |
| * stor-layout.c (place_field): Treat overflowing DECL_SIZE_UNIT |
| as if size were variable. |
| |
| * expmed.c (expand_mult): Write REG_EQUAL note with proper mode. |
| |
| 2000-12-16 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| * tradcpp.c: T_WARNING: New. |
| (do_warning): New function. |
| (finclude): Skip past the newline and increase the line number |
| before calling output_line_command. |
| (do_line): Skip the new line after output_line_command. Don't |
| pre-decrement the line number. |
| |
| 2000-12-15 Diego Novillo <dnovillo@redhat.com> |
| |
| * i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix references to |
| _GLOBAL_OFFSET_TABLE_ when using Intel syntax. |
| |
| 2000-12-15 Jakub Jelinek <jakub@redhat.com> |
| |
| * gcc.c (cpp_options): Pass -fno-operator-names. |
| * cpplib.h (struct cpp_options): Add operator_names. |
| * cppinit.c (cpp_create_reader): Initialize it. |
| (initialize_builtins): If -fno-operator-names, don't add |
| C++ alternate operator names. |
| (COMMAND_LINE_OPTIONS): Add -fno-operator-names. |
| (cpp_handle_option): Clear operator_names. |
| |
| 2000-12-15 Jason Merrill <jason@redhat.com> |
| |
| * jump.c (jump_optimize_1): Don't delete the line note after the |
| prologue even if it seems redundant. |
| |
| * config/arm/arm.c (arm_expand_prologue): Set RTX_FRAME_RELATED_P |
| on all insns used to adjust the stack. |
| |
| Fri Dec 15 15:32:16 MET 2000 Jan Hubicka <jh@suse.cz> |
| |
| * combine.c (cant_combine_insn_p): Get around SUBREGs when determining |
| hardreg<->reg moves. |
| |
| Fri Dec 15 14:48:37 MET 2000 Jan Hubicka <jh@suse.cz> |
| |
| * genrecog.c (add_to_sequence): Remove special case for |
| const_int_operand. |
| (maybe_both_true): Return 1 when falling out of sequence when |
| trying to find common position in the pattern. |
| |
| Fri Dec 15 14:44:51 MET 2000 Jan Hubicka <jh@suse.cz> |
| |
| * integrate.c (copy_rtx_and_substitute): Copy mode too. |
| |
| Fri Dec 15 14:11:57 MET 2000 Jan Hubicka <jh@suse.cz> |
| |
| * flow.c (notice_stack_pointer_modification_1): Cleanup. |
| |
| 2000-12-15 Alexandre Oliva <aoliva@redhat.com> |
| |
| * function.c (adjust_trampoline_addr): New function. |
| (trampoline_address): Call it instead of round_trampoline_addr(). |
| * tm.texi (TRAMPOLINE_ADJUST_ADDRESS): Document it. |
| |
| 2000-12-14 Zack Weinberg <zack@wolery.stanford.edu> |
| |
| * cppfiles.c (hack_vms_include_specification): Delete function |
| (not used since 1998). |
| |
| Fri Dec 15 03:37:51 2000 J"orn Rennecke <amylaar@redhat.com> |
| |
| * haifa-sched.c (sched_init): Don't put a note in front of any BARRIER. |
| |
| 2000-12-14 Jim Wilson <wilson@redhat.com> |
| |
| * alias.c (get_alias_set): Call record_component_aliases for |
| COMPLEX_TYPE. |
| (record_component_aliases): Handle COMPLEX_TYPE. |
| |
| 2000-12-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * fixinc/gnu-regex.c: Disable NLS. |
| |
| 2000-12-14 Richard Henderson <rth@redhat.com> |
| |
| * config/alpha/alpha.c (alpha_emit_conditional_move): Do not swap |
| comparison operands when that would create non-canonical rtl. |
| |
| * config/i386/i386.md (umulsi3_highpart): Remove * from name. |
| (smulsi3_highpart): Likewise. |
| |
| 2000-12-14 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| * gcc.c (cpp_options): Add -remap. |
| |
| 2000-12-14 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| * gcc.c (cpp_options): Update to use '&'. |
| (struct switchstr): Change type of validated to save space. |
| New member 'ordering'. |
| (handle_braces, validate_switches): Update to handle '&'. |
| |
| 2000-12-13 Laurynas Biveinis <lauras@softhome.net> |
| |
| * fixinc/inclhack.def: skip stdio_va_list fix if __DJ_va_list |
| found in a header. |
| * fixinc/fixincl.x: regenerated. |
| |
| 2000-12-13 DJ Delorie <dj@redhat.com> |
| |
| * config.gcc (cygwin, win32, mingw32): Use float-i386.h. |
| |
| 2000-12-13 Tom Tromey <tromey@redhat.com> |
| |
| * gcc.c (handle_braces): Handle %{<S*} spec correctly. |
| |
| 2000-12-13 Alexandre Oliva <aoliva@redhat.com> |
| |
| * function.c (assign_parms): Optimize incoming PARALLELs into |
| REGs if possible. |
| |
| 2000-12-13 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/Makefile.in(*): substantial rewrite to accommodate systems |
| that cannot handle bi-directional pipes, viz. BeOS and DOS. |
| * fixinc/fixlib.h(IGNORE_ARG): new macro |
| (STATIC): define for all of fixinc to use |
| * fixinc/fixfixes.c(*): eliminate unused arg warnings |
| * fixinc/fixtests.c(*): ditto |
| * fixinc/fixincl.c(start_fixer): chain_open now uses const arg list |
| * fixinc/gnu-regex.c: reorder some includes to avoid _GNU_SOURCE |
| warning. Also, eliminate the ``#ifdef emacs'' stuff. |
| (re_syntax_options): make global as it is declared so. |
| * fixinc/mkfixinc.sh: process the argument list more consistently |
| (beos/msdosdjgpp): set TARGETS to twoprocess vs. oneprocess |
| * fixinc/procopen.c(globals): include "fixlib.h" for std defs |
| * fixinc/server.c(globals): ditto |
| * fixinc/server.h(defines): ditto |
| |
| 2000-12-13 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| * tradcpp.c (special_symbol): Improve test for definedness, |
| though it is still not perfect. |
| (do_define): Don't define illegal macro names. |
| |
| 2000-12-07 Aldy Hernandez <aldyh@redhat.com> |
| |
| * config/mips/elf.h (ASM_OUTPUT_SECTION_NAME): emit @nobits |
| if changing into .bss section. |
| * config/mips/elf64.h: same. |
| * config/mips/iris6.h: same. |
| * config/mips/netbsd.h: same. |
| * config/mips/openbsd.h: same. |
| |
| 2000-12-13 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| * cppfiles.c (read_name_map): Return null if open () fails. |
| (remap_filename): Simplify logic. Add ICE if it doesn't work |
| as expected. Perform secondary lookup attempt on base filename |
| only. |
| |
| Wed Dec 13 19:48:04 MET 2000 Jan hubicka <jh@suse.cz> |
| |
| * flow.c (notice_stack_pointer_modification_1): Notice midifications |
| using PRE_MODIFY and POST_MODIFY. |
| |
| Wed Dec 13 17:25:32 MET 2000 Jan Hubicka <jh@suse.cz> |
| |
| * genoutput.c (process_template): Add sanity checking for '@' templates. |
| |
| 2000-12-13 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * simplify-rtx.c (cselib_finish): Free reg_values and used_regs |
| varrays. |
| |
| 2000-12-12 Mike Stump <mrs@wrs.com> |
| |
| * Makefile.in (distclean): Remove safe-ctype.c as well. |
| |
| 2000-12-12 Brad Lucier <lucier@math.purdue.edu> |
| |
| * tradcpp.c (do_error): Cast difference of pointers to int |
| for error message. |
| |
| 2000-12-12 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> |
| |
| * config/rs6000/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Move from here... |
| * config/rs6000/sysv4.h (HANDLE_PRAGMA_PACK_PUSH_POP): ...to here. |
| |
| 2000-12-12 Jim Wilson <wilson@redhat.com> |
| |
| * rtlanal.c (may_trap_p): Check operand modes of LE, LT, GE, and GT. |
| |
| 2000-12-12 Alexandre Oliva <aoliva@redhat.com> |
| |
| * configure.in: Simplify language enabling/disabling code. |
| * configure: Rebuilt. |
| * ch/config-lang.in (target_libs): Set. |
| (build_by_default): Set to no. |
| * cp/config-lang.in (target_libs): Set. |
| * f/config-lang.in (target_libs): Set. |
| * java/config-lang.in (target_libs): Set. |
| * objc/config-lang.in (target_libs): Set. |
| |
| 2000-12-12 Neil Booth <neil@daikokuya.demon.co.uk> |
| |
| * tradcpp.c (enum node_type): Add T_ERROR. |
| (do_error): New function. |
| (directive_table): Add #error handler. |
| |
| 2000-12-12 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> |
| |
| * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Enable .file/.loc check |
| for powerpc*-*-*. |
| * configure: Regenerated. |
| * config/rs6000/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define. |
| * config/rs6000/rs6000.c (rs6000_unique_section): Use |
| STRIP_NAME_ENCODING. |
| |
| Mon Dec 11 13:51:09 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * pa.c (cmpib_comparison_operator): Remove GEU and LTU. |
| * pa.h (PREDICATE_CODES, cmpib_comparison_operator): Corresponding |
| changes. |
| |
| 2000-12-11 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/fixincl.tpl: initialize all fields for warnings |
| * fixinc/fixincl.x: regenerate |
| |
| 2000-12-11 Neil Booth <neilb@earthling.net> |
| |
| * tradcpp.h: For tradcpp, NUL is not whitespace. |
| |
| 2000-12-11 Neil Booth <neilb@earthling.net> |
| |
| * fix-header.c (read_scan_file): Macro expansion is not a file buffer. |
| |
| 2000-12-05 Marek Michalkiewicz <marekm@linux.org.pl> |
| |
| * config/avr/avr.c (compare_condition, compare_sign_p): New functions. |
| (compare_diff_p, compare_eq_p): Call compare_condition. |
| (out_tsthi, out_tstsi): Call compare_sign_p. |
| (avr_progmem_p): Check for error_mark_node. |
| |
| 2000-12-11 Neil Booth <neilb@earthling.net> |
| |
| * cpperror.c (print_location): New function. |
| (print_containing_files): Simplify. |
| (_cpp_begin_message): Simplify and use print_location. |
| * cppfiles.c (stack_include_file): Update. |
| (_cpp_pop_file_buffer): Update. |
| * cpphash.h (struct cpp_buffer): New members |
| include_stack_listed and type. |
| * cpplib.c (_cpp_handle_directive): Buffer->inc is not null. |
| (run_directive): Take buffer type. cpp_push_buffer cannot fail. |
| (_cpp_do__Pragma, cpp_define, _cpp_define_builtin, cpp_undef, |
| handle_assertion): Update. |
| (cpp_push_buffer): Take a buffer type and file name. |
| (cpp_pop_buffer): Update. Clear include_stack_listed. |
| * cpplib.h (input_stack_listing_current): Remove. |
| (enum cpp_buffer_type): New. |
| (cpp_push_buffer): New prototype. |
| * cppmacro.c (builtin_macro): Simplify; buffer cannot be null. |
| * fix-header.c (read_scan_file): Update. |
| |
| 2000-12-10 Robert Lipe <robertlipe@usa.net> |
| |
| * install.texi (i*86-*-sco3.2v5*): Remove information duplicated |
| in html version. |
| |
| 2000-12-10 Richard Henderson <rth@redhat.com> |
| |
| * genrecog.c (find_operand): Handle 'V' format code. |
| (find_matching_operand): New. |
| (validate_pattern): Accept '=' for an in-out operand if there |
| is another operand with a matching constraint. |
| |
| * config/i386/i386.md (andqi_ext_0_cc): Use matching constraint |
| for op1 to op0. |
| |
| 2000-12-10 Richard Henderson <rth@redhat.com> |
| |
| * genrecog.c (validate_pattern) [STRICT_LOW_PART]: Fix thinko. |
| |
| 2000-12-09 Richard Henderson <rth@redhat.com> |
| |
| * genrecog.c (validate_pattern): Verify that ZERO_EXTRACT and |
| STRICT_LOW_PART as SET_DEST have in-out constraints. |
| |
| 2000-12-09 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (check_function_format): Don't suggest adding format |
| attributes to functions with no parameter to which to add them. |
| |
| 2000-12-09 Nick Clifton <nickc@redhat.com> |
| |
| * config/arm/arm.c (arm_expand_prologue): Mark the generated |
| insn not the set as being DWARF2_FRAME_RELATED_P. |
| |
| 2000-12-09 Laurynas Biveinis <lauras@softhome.net> |
| |
| * Makefile.in: use $(build_exeext) for all build |
| system executable targets. |
| |
| 2000-12-09 Laurynas Biveinis <lauras@softhome.net> |
| |
| * install.texi: remove i[345]86-*-winnt3.5 section. |
| * configur.bat: removed. |
| * config/msdos: directory removed. |
| |
| 2000-12-09 Neil Booth <neilb@earthling.net> |
| |
| * cppfiles.c (NEVER_REREAD, DO_NOT_REREAD): Move from cpphash.h. |
| * cpphash.h (NEVER_REREAD, DO_NOT_REREAD, ABSOLUTE_PATH): Delete. |
| * cpplex.c (parse_identifier): Improve diagnostic. |
| (_cpp_lex_token): Return unconditionally at the end of a directive. |
| * cpplib.c (read_flag): Verify legality of each flag. |
| (end_directive): Resotre pfile->skipping before skip_rest_of_line. |
| (do_line): Use the new read_flag. |
| * cppmacro.c (struct cpp_macro, parse_arg, replace_args, |
| check_macro_redefinition, parse_params): Rename var_args to |
| variadic. |
| |
| 2000-12-09 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * .cvsignore: Add info files. |
| |
| 2000-12-08 Laurynas Biveinis <lauras@softhome.net> |
| |
| * config/winnt: Remove obsolete directory. |
| * install.texi (Configurations): Remove obsolete documentation for |
| Windows NT. |
| |
| 2000-12-08 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * configure.in: Don't define INSTALL_INFO. |
| * configure: Regenerate. |
| * Makefile.in (INSTALL_INFO): Remove. |
| (info): Depend on info files in source directory. |
| (cpp.info, gcc.info, c-tree.info): Build info files in source |
| directory. |
| (distclean): Don't remove info files. |
| (maintainer-clean): Remove info files from source directory. |
| (install-normal): Depend on install-info. |
| (install-info): Install info files from source directory, if they |
| exist. |
| * texinfo.tex: Update to version 2000-11-09.08 from ftp.gnu.org. |
| |
| 2000-12-08 Alexandre Oliva <aoliva@redhat.com> |
| |
| * lcm.c (optimize_mode_switching): Check whether an insn is a NOTE |
| before taking its NOTE_LINE_NUMBER. |
| |
| 2000-12-08 Nick Clifton <nickc@redhat.com> |
| |
| * config/arm/arm.md (load_indirect_jump): Add pool ranges. |
| |
| * extend.texi: Document ARM "interrupt" function attribute. |
| Mention that the ARM also support the "naked" function |
| attribute. |
| |
| * config/arm/arm-protos.h (arm_current_func_type): Add |
| prototype. |
| |
| * config/arm/arm.h (EXCEPTION_LR_REGNUM): Define. |
| (struct machine_function): Add 'func_type' field. |
| Define bit values for 'func_type' field. |
| (ARM_FUNC_TYPE): New macro. |
| (IS_INTERRUPT): New macro. |
| (IS_VOLATILE): New macro. |
| (IS_NAKED): New macro. |
| (IS_NESTED): New macro. |
| (ARM_INITIAL_ELIMINATION_OFFSET): Use IS_VOLATILE. |
| |
| * config/arm/arm.c (isr_attribute_args): New Structure. A |
| list of "interrupt" function attribute modifiers. |
| (arm_isr_value): New Function: Returns the type of the current |
| interrupt function. |
| (arm_compute_func_type): New Function: Computes the type of |
| the current function. |
| (arm_current_func_type): New Function: Returns the type of the |
| current function. |
| (use_return_insn): Use arm_current_func_type. |
| (arm_valid_type_attribute_p): Accept "interrupt" function |
| attribute. |
| (arm_comp_type_attributes): Check "interrupt" attributes. |
| (arm_valid_machine_decl): Accept "interrupt" function |
| attribute. |
| (arm_function_ok_for_sibcall): Do not allow interrupt |
| functions to use sibcalls. |
| (arm_naked_function_p): Delete. |
| (print_multi_reg): Remove redundant parameter 'hat'. |
| (arm_compute_save_reg_mask): New Function: Compute a bit mask |
| of registers saved during the current function's prologue. |
| (output_arm_return_instruction): Use arm_current_func_type. |
| Generate return instruction when LR is not poppsed off the |
| stack. |
| (arm_volatile_func): Delete. |
| (output_arm_prologue): Use arm_current_func_type and |
| arm_compute_save_reg_mask. |
| Note presernce of interrupt functions. |
| (arm_output_epilogue): Use arm_current_func_type and |
| arm_compute_save_reg_mask. |
| (arm_expand_prologue): Use arm_current_func_type and |
| arm_compute_save_reg_mask. |
| (arm_init_machine_status): Initialize func_type field, if |
| necessary. |
| (thumb_expand_prologue): Use arm_current_func_type. |
| (output_thumb_prologue): Use arm_current_func_type. |
| |
| 2000-12-08 Brad Lucier <lucier@math.purdue.edu> |
| |
| * tradcpp.c (do_include): Make pointer differences 64-bit clean. |
| |
| Fri Dec 8 08:23:29 2000 J"orn Rennecke <amylaar@redhat.com> |
| |
| * fp-bit.c (_fpmul_parts): Use USItype variables as inputs |
| for multiplies. |
| |
| 2000-12-07 Mike Stump <mrs@wrs.com> |
| |
| * Makefile.in (distclean): Remove alloca.c hashtab.c. |
| |
| 2000-12-07 Zack Weinberg <zack@wolery.stanford.edu> |
| |
| * Makefile.in (HOST_RTL): Add safe-ctype.o. |
| (safe-ctype.o): New rule. |
| * system.h: Include safe-ctype.h, not ctype.h. No need to |
| wrap ctype macros. |
| |
| * cpphash.h: Zap IStable and related macros. Define is_* in |
| terms of safe-ctype.h macros. |
| * cppinit.c: Delete the IStable and all related code. |
| |
| * tradcpp.c: Delete is_idchar, is_idstart, is_hor_space, and |
| is_space arrays. Delete initialize_char_syntax. Change all |
| references to the above arrays to use macros instead. |
| * tradcpp.h: Define is_idchar, is_idstart, is_space, and |
| is_nvspace in terms of safe_ctype.h's macros. |
| * tradcif.y: is_idchar, is_idstart are macros not arrays. |
| |
| * config/i370/i370.c, config/winnt/dirent.c, |
| config/winnt/fixinc-nt.c, config/winnt/ld.c: |
| Use uppercase ctype macros. If we included ctype.h, |
| include safe-ctype.h instead. |
| |
| * fixinc/fixfixes.c: Use uppercase ctype macros. Don't test |
| ISLOWER(c) before calling TOUPPER(c). |
| * fixinc/fixincl.c (extract_quoted_files): Simplify out some gunk. |
| * fixinc/gnu-regex.c: Include safe-ctype.h, not ctype.h. No need to |
| wrap ctype macros. Don't test ISUPPER(x) before calling TOLOWER(x). |
| |
| 2000-12-07 DJ Delorie <dj@redhat.com> |
| |
| * c-decl.c (grokdeclarator): preserve previous alignments when |
| rebuilding array types. |
| |
| 2000-12-07 Neil Booth <neilb@earthling.net> |
| |
| * cppfiles.c (struct include_file): Move from cpphash.h. |
| (_cpp_never_reread): New function. |
| (open_file, read_include_file): Use it. |
| (stack_include_file): Set the buffer's sysp according to the |
| path in which the file was found. |
| (find_include_file): Don't set sysp. |
| (cpp_make_system_header, actual_directory): Update. |
| (_cpp_execute_include): Do #include_next lookup handling here, |
| not in cpplib.c. Use _cpp_never_reread. |
| * cpphash.h (struct_include_file): Remove. |
| (struct cpp_buffer): New member sysp. |
| (CPP_IN_SYSTEM_HEADER, _cpp_execute_include): Update. |
| (_cpp_never_reread): New. |
| * cpplib.c (read_line_number): Rename read_flag. Rework slightly. |
| (end_directive): Clear line_extension flag. |
| (_cpp_handle_directive): Set line_extension flag for #number. |
| (do_include_next): Handle path lookup in _cpp_execute_include. |
| (do_line): Cleanup to use read_flag. Don't allow flags in #line. |
| (_cpp_do_file_change): Update. |
| (do_pragma_once): Use cpp_never_reread. Clean up. |
| * cpplib.h (struct lexer_state): New member line_extension. |
| |
| 2000-12-07 Richard Henderson <rth@redhat.com> |
| |
| * flow.c (calculate_global_regs_live): Force the stack pointer live |
| after reload as well. |
| |
| 2000-12-07 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/Makefile.*(exeext): the variables are exeext, the |
| substitution expression is build_exeext. |
| |
| 2000-12-07 Neil Booth <neilb@earthling.net> |
| |
| * c-common.c (parse_in): Make a cpp_reader *. |
| * cppfiles.c (_cpp_fake_include): Remove. |
| * cpphash.h: Similarly. |
| * cpplib.c (do_line): Don't call _cpp_fake_include. A valid |
| #line always creates a callback; FC_RENAME if there are no |
| #line flags. |
| * fix-header.c (read_scan_file): cpp_push_buffer cannot fail. |
| The first EOF must be our get_char buffer. |
| |
| 2000-12-07 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (warn_format_security): New variable. |
| (check_format_info): Warn about non-literal formats with no format |
| arguments if either -Wformat-nonliteral or -Wformat-security is |
| specified. |
| (set_Wformat): Set warn_format_security for settings other than 1. |
| * c-common.h (warn_format_security): Declare. |
| * c-decl.c (c_decode_option): Decode -Wformat-security and |
| -Wno-format-security. |
| * invoke.texi: Document -Wformat-security. |
| * toplev.c (documented_lang_options): Include -Wformat-security |
| and -Wno-format-security. |
| |
| 2000-12-07 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (check_format_info): Warn for non-constant format |
| strings with strftime formats if -Wformat-nonliteral. Where the |
| format can convert arguments, if the format is not a string |
| literal and there are no arguments to the format, give a different |
| warning message from the general non-string-literal case. |
| |
| 2000-12-07 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (format_wanted_type): Add reading_from_flag. |
| (print_char_table): Mark %s and %S formats with flag "R". |
| (check_format_info_main): Set up reading_from_flag appropriately. |
| If aflag, always set writing_in_flag rather than relying on the |
| format used being a scanf format and so having it set. |
| (check_format_types): Check for formats reading through null |
| pointers. |
| |
| 2000-12-07 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * invoke.texi (-Wformat): Document what format features are |
| checked. |
| |
| 2000-12-06 Kazu Hirata <kazu@hxi.com> |
| |
| * config/h8300/h8300.h: Fix formatting. |
| |
| 2000-12-06 Joel Sherrill <joel@OARcorp.com> |
| |
| * config.gcc (a29k*-*-rtems*, arm*-*-rtems*, c4x-*-rtems*, |
| h8300-*-rtems*, hppa1.1-*-rtems, *mips*-*-rtems*): New targets. |
| * config.gcc (*-rtems*): Add support for gthr-rtems.h. |
| * gthr-rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h, |
| config/h8300/rtems.h, config/mips/rtems.h: New files. |
| |
| 2000-12-06 Mark Kettenis <kettenis@gnu.org> |
| |
| * config.gcc: Reorganize handling of *-*-gnu*, to share target |
| specific make details with Linux. Update comments to clarify |
| the distinction between GNU/Linux and GNU/Hurd. |
| |
| Wed Dec 6 19:22:02 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * contrib.texi: Fix my email address. Update Per's |
| list of contributions. |
| |
| 2000-12-06 Rodney Brown <RodneyBrown@mynd.com> |
| |
| * c-lex.c (cb_indent): Decorate `str' argument, unused on HP-UX. |
| * collect2.c (scan_libraries): Remove unused `ch'. |
| (COFF specific stuff): Prototype ldgetname. Declare and prototype |
| ldbtread and ldclose. |
| |
| * config/alpha/osf.h: Standarize copyright statement. |
| * config/arc/arc.h: Likewise. |
| * config/arm/elf.h config/arm/coff.h config/arm/aout.h: Likewise. |
| * config/arm/arm.c config/arm/arm.h: Likewise. |
| * config/elxsi/elxsi.h: Likewise. |
| * config/i386/sco.h: Likewise. |
| * config/m68k/crds.h config/m68k/hp320.h config/m68k/lynx.h: Likewise. |
| * config/m68k/m68kv4.h config/m68k/next21.h: Likewise. |
| * config/m68k/sun3.h: Likewise. |
| * config/m88k/dgux.h config/m88k/dguxbcs.h: Likewise. |
| * config/pdp11/2bsd.h config/pdp11/pdp11.h: Likewise. |
| * config/romp/romp.h: Likewise. |
| * config/rs6000/aix41.h: Likewise. |
| * config/sparc/sysv4.h: Likewise. |
| * config/we32k/we32k.c config/we32k/we32k.h: Likewise. |
| * fixinc/gnu-regex.c fixinc/gnu-regex.h: Likewise. |
| * cpplib.h cppexp.c cselib.h profile.c: Likewise. |
| * longlong.h: Likewise. |
| * libgcc2.c: Likewise. |
| |
| 2000-12-06 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> |
| |
| * machmode.def: Use correct definition for BITSIZE on targets where |
| BITS_PER_UNIT != 8. |
| |
| 2000-12-06 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/Makefile.*: Reduce differences to (ultimately) reduce |
| the number of them. |
| |
| 2000-12-06 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * pa.c: Include expr.h before c-tree.h. |
| (remove_useless_addtr_insns): Use reverse_condition_maybe_unordered |
| instead of reverse_condition. |
| (print_operand): Correct predicates for GT, GE, LT and LE. Add |
| predicates for LTGT, UNLE, UNLT, UNGE, UNGT, UNEQ, UNORDERED and |
| ORDERED. |
| (cmpib_comparison_operator): Add GEU and LTU codes. |
| * pa.h (PREDICATE_CODES): Add codes for cmpib_comparison_operator. |
| * pa.md (bltgt, bunle, bunlt, bunge, bungt, buneq, bunordered, |
| bordered): New float conditional branch patterns. |
| |
| Wed Dec 6 21:03:41 2000 J"orn Rennecke <amylaar@redhat.com> |
| |
| * final.c (final_addr_vec_align): Fix clipping to BIGGEST_ALIGNMENT. |
| |
| 2000-12-06 Sylvain Pion <Sylvain.Pion@sophia.inria.fr> |
| |
| * cpplex.c (skip_escaped_newlines): Don't warn for spaces between |
| backslash and newline, when inside a comment. |
| |
| 2000-12-06 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * invoke.texi: Use @table @samp instead of @itemize @minus for |
| table of language standards. Fix use of @pxref. From Zack |
| Weinberg. Also exclude specs documentation from generated |
| manpage, and create separate ENVIRONMENT section. |
| |
| 2000-12-06 Michael Matz <matzmich@cs.tu-berlin.de> |
| |
| * gcse.c (compute_pre_data): Kill trapping expressions in |
| destination blocks of abnormal edges. |
| |
| 2000-12-05 Richard Sandiford <r.sandiford@redhat.com> |
| |
| * config/mn10300/mn10300.c (mn10300_print_reg_list): Added. |
| (mn10300_get_live_callee_saved_regs): Likewise. |
| (mn10300_gen_multiple_store): Likewise. |
| (store_multiple_operation): Likewise. |
| (expand_prologue): Use mn10300_gen_multiple_store(). |
| * config/mn10300/mn10300-protos.h (mn10300_print_reg_list): Added. |
| (mn10300_get_live_callee_saved_regs): Likewise. |
| (mn10300_gen_multiple_store): Likewise. |
| (store_multiple_operation): Likewise. |
| * config/mn10300/mn10300.md (store_movm): Use a MATCH_PARALLEL |
| tied to store_multiple_operation(). |
| |
| Tue Dec 5 20:09:14 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * builtins.c (expand_builtin_setjmp_setup): Set |
| current_function_has_nonlocal_label. |
| |
| 2000-12-05 Neil Booth <neilb@earthling.net> |
| |
| * cppfiles.c (stack_include_file): Push zero-length buffers |
| in case of failure. Return void, as we don't fail any more. |
| (read_include_file): Check for files we shouldn't re-read. |
| Don't return an error code; errors are implied by marking the |
| file NEVER_REREAD. |
| (_cpp_execute_include): Move the recursion and in-macro checks |
| here. Update for stack_include_file not failing. |
| * cpplib.c (cpp_push_buffer): Always succeed, since |
| _cpp_execute_include performs the recursion check. Tidy up. |
| * cpplib.h (cpp_push_buffer): Update prototype. |
| |
| 2000-12-05 Alexandre Oliva <aoliva@redhat.com> |
| |
| * sched-vis.c (visual_tbl_line_length): New variable. |
| (get_visual_tbl_length): Set it. |
| (visualize_stall_cycles): Don't let stalls overrun |
| visual_tbl_line_length. |
| |
| 2000-12-05 Geoffrey Keating <geoffk@redhat.com> |
| |
| * global.c (global_conflicts): Allow for a REG_UNUSED note |
| with a different mode to the REG set in the insn. |
| |
| 2000-12-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * Makefile.in (fixinc.sh): Pass $WARN_CFLAGS into fixinc dir. |
| |
| * fixinc/Makefile.in (FIXINC_DEFS): Add $(WARN_CFLAGS). |
| |
| 2000-12-05 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/mkfixinc.sh(*-gnu*): activate fixinc for GNU/Hurd and |
| GNU/Linux. |
| |
| 2000-12-05 Richard Earnshaw <rearnsha@arm.com> |
| |
| * fixinc/mkfixinc.sh: Run fixinc on netbsd. |
| * fixinc/inclhack.def (machine/ansi.h): Run this rule on all files, |
| to cope with aliased copies. |
| * fixinc/fixincl.x: Regenerate. |
| |
| 2000-12-05 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * sched-vis.c: Guard with #ifdef INSN_SCHEDULING. |
| * sched-rgn.c: Likewise. |
| (rgn_print_insn): Fix output. |
| |
| 2000-12-05 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/Makefile.*: make these more consistent |
| * fixinc/mkfixincl.sh: enable BeOS fixincludes |
| |
| 2000-12-05 Richard Henderson <rth@redhat.com> |
| |
| * stmt.c (warn_if_unused_value): Move side effects test earlier. |
| |
| 2000-12-05 Alan Modra <alan@linuxcare.com.au> |
| |
| * bb-reorder.c (reorder_basic_blocks): Do check for EH edges even |
| when using sjlj. |
| |
| 2000-12-05 Richard Henderson <rth@redhat.com> |
| |
| * flow.c (calculate_global_regs_live): Only force stack pointer |
| live before reload. Force pic register live before reload. |
| (insn_dead_p): Don't protect pic references from deletion. |
| |
| 2000-12-05 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * invoke.texi: Add support for using texi2pod.pl. Don't use |
| @multitable. |
| |
| 2000-12-04 Nick Clifton <nickc@redhat.com> |
| |
| * config/arm/arm.c (arm_override_options): Test 'insn_flags' not |
| 'tune_flags' for XScale nature. |
| Remove spurious test of HARD_FLOAT and XScale flags. |
| |
| * config/arm/arm.md (umulsidi3adddi): Restore "=&r" register |
| contraint, accidentally changed during XScale contribution. |
| |
| * config/arm/lib1funcs.asm (interwork_call_via_, call_via_): Do |
| not create these functions if the target architecture does not |
| support Thumb instructions. |
| |
| 2000-12-04 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * ONEWS: New file with the current contents of NEWS up to EGCS |
| 1.1. |
| * NEWS: Generate automatically from online release notes from EGCS |
| 1.0 to GCC 2.95.2, using ../contrib/gennews. |
| |
| 2000-12-04 Neil Booth <neilb@earthling.net> |
| |
| * tradcif.y: Move lexptr to top of file. Add rule to handle |
| assertions in conditional expressions. |
| * tradcpp.c (parse_answer): Assertions do not need to go to |
| end of line in conditional directives. |
| (parse_assertion): Get first character of identifiers correct. |
| (test_assertion): New function. |
| * tradcpp.h (test_assertion): New prototype. |
| |
| 2000-12-01 Rodney Brown <RodneyBrown@mynd.com> |
| |
| * config.gcc: Fix typo for UnixWare 7. |
| |
| 2000-12-03 Phil Edwards <pme@sources.redhat.com> |
| |
| * invoke.texi: Replace `pedwarns' with clearer text. |
| |
| 2000-12-04 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/Makefile.*(clean): don't clean autogenerated files. |
| (mainainer-clean): clean autogenerated files |
| |
| 2000-12-04 DJ Delorie <dj@redhat.com> |
| |
| * md.texi: Add overview, clarify match_dup and define_expand. |
| |
| 2000-12-04 DJ Delorie <dj@redhat.com> |
| |
| * print-tree.c (print_node): Target-specific builtins print |
| numbers, not names. |
| |
| 2000-12-04 Jason Merrill <jason@redhat.com> |
| |
| * stor-layout.c (int_mode_for_mode): Handle MODE_VECTOR_INT, |
| MODE_VECTOR_FLOAT. |
| |
| * diagnostic.c (report_problematic_module): s/function/module/. |
| |
| * c-lex.h: Remove decl for check_newline. |
| |
| 2000-12-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> |
| |
| * README.APOLLO: Remove obsolete file. |
| |
| 2000-12-04 Neil Booth <neilb@earthling.net> |
| |
| * cppinternals.texi: New file. |
| |
| 2000-12-04 Neil Booth <neilb@earthling.net> |
| |
| * cppfiles.c (cpp_make_system_header): Take 2 booleans, |
| and operate on current buffer. |
| (cpp_read_file): Rename _cpp_read_file. |
| * cpplib.c (do_line, do_pragma_system_header): Update calls to |
| cpp_make_system_header. |
| * fix-header.c: Similarly. |
| * cpphash.h (_cpp_read_file): Move from... |
| * cpplib.h: ... here. |
| * cppinit.c (do_includes, cpp_start_read): Update appropriately. |
| |
| 2000-12-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * builtins.c (expand_builtin_strspn, expand_builtin_strcspn): |
| Handle another transformation. |
| |
| 2000-12-03 Nick Clifton <nickc@redhat.com> |
| |
| * config.gcc: Add support for StrongARM targets. |
| * config/arm/t-strongarm-elf: New file. |
| * config/arm/t-strongarm-coff: New file. |
| * config/arm/t-strongarm-pe: New file. |
| * config/arm/strongarm-pe.h: New file. |
| |
| 2000-12-03 Nick Clifton <nickc@redhat.com> |
| |
| * NEWS: Mention XScale has been added. |
| * config.gcc: Add support for XScale targets. |
| * config/arm/arm.h: Add support for XScale processor. |
| * config/arm/arm.c: Add support for XScale processor. |
| * config/arm/arm.md: Add support for XScale processor. |
| * config/arm/t-xscale-elf: New file. |
| * config/arm/t-xscale-coff: New file. |
| * config/arm/xscale-elf.h: New file. |
| * config/arm/xscale-coff.h: New file. |
| |
| 2000-12-03 Richard Henderson <rth@redhat.com> |
| |
| * bb-reorder.c (reorder_basic_blocks): Don't check for EH edges |
| unless exception handling is enabled, and if not using sjlj. |
| |
| * builtins.c (expand_builtin_setjmp_setup): New. |
| (expand_builtin_setjmp_receiver): New. |
| (expand_builtin_setjmp): Split out _setup and _receiver functions. |
| Move argument parsing in from ... |
| (expand_builtin): ... here. |
| * except.c (receive_exception_label): Branch around receiver |
| unless new-style exceptions. Call expand_builtin_setjmp_receiver. |
| (start_dynamic_handler): Call expand_builtin_setjmp_setup. |
| * expr.h: Update builtin setjmp decls. |
| |
| 2000-12-03 Bruce Korb <bkorb@gcc.org> |
| |
| * fixinc/mkfixinc.sh(build machine): Sometimes, there is no canonical |
| build machine name. Default to the target. |
| |
| 2000-12-03 Laurynas Biveinis <lauras@softhome.net> |
| |
| * Makefile.in: use $(build_canonical), not $(canonical_build). |
| |
| 2000-12-03 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * Makefile.in (OBJS): Add sched-rgn.o. |
| (sched-rgn.o): New rule. * haifa-sched.c (sched_verbose): No |
| longer static. |
| (INSN_PRIORITY, INSN_COST, INSN_UNIT, INSN_REG_WEIGHT, |
| INSN_BLOCKAGE, UNIT_BITS, BLOCKAGE_MASK, ENCODE_BLOCKAGE, |
| UNIT_BLOCKED, BLOCKAGE_RANGE, MIN_BLOCKAGE_COST, |
| MAX_BLOCKAGE_COST): Move to sched-int.h. |
| (MAX_RGN_BLOCKS, MAX_RGN_INSNS, INSN_REF_COUNT, FED_BY_SPEC_LOAD, |
| IS_LOAD_INSN, struct haifa_edge, edge_table, NEXT_IN, NEXT_OUT, |
| FROM_BLOCK, TO_BLOCK, nr_edges, in_edges, out_edges, IN_EDGES, |
| OUT_EDGES, edgelst, struct region, nr_regions, rgn_table, |
| rgn_bb_table, block_to_bb, containing_rgn, RGN_NR_BLOCKS, |
| RGN_BLOCKS, BLOCK_TO_BB, BB_TO_BLOCK, CONTAINING_RGN, |
| debug_regions, find_single_block_region, find_rgns, too_large, |
| init_regions, current_nr_blocks, current_blocks, bitset, bitlst, |
| bitlst_table_last, bitlst_table_size, bitlst_table, bitset_member, |
| extract_bitlst, bblst, struct candidate, candidate_table, |
| bblst_table, bblst_size, bblst_last, IS_VALID, IS_SPECULATIVE, |
| SRC_PROB, target_bb, split_edges, compute_trg_info, |
| debug_candidate, debug_candidates, bbset, bbset_size, dom, |
| IS_RGN_ENTRY, IS_DOMINATED, prob, GET_SRC_PROB, edgeset, |
| rgn_nr_edges, rgn_edges, edgeset_size, edgeset_bitsize, |
| EDGE_TO_BIT, edge_to_bit, pot_split, ancestor_edges, |
| compute_dom_prob_ps, ABS_VALUE, INSN_PROBABILITY, |
| IS_SPECULATIVE_INSN, INSN_BB, MIN_DIFF_PRIORITY, MIN_PROBABILITY, |
| MIN_PROB_DIFF, check_live_1, update_live_1, check_live, |
| update_live, set_spec_fed, is_pfree, find_conditional_protection, |
| is_conditionally_protected, may_trap_exp, haifa_classify_insn, |
| is_prisky, is_exception_free, add_branch_dependences, |
| propagate_deps, compute_block_backward_dependences, |
| debug_dependencies, is_cfg_nonregular, build_control_flow, |
| new_edge, bb_deps, BITSET_UNION, BITSET_INTER, BITSET_DIFFER, |
| BITSET_INVERT, BITSET_ADD, BITSET_REMOVE, debug_regions, |
| UPDATE_LOOP_RELATIONS, INSN_TRAP_CLASS, WORST_CLASS, IS_REACHABLE, |
| CONST_BASED_ADDRESS_P, free_pending_lists, sched_target_n_insns, |
| target_n_insns, sched_n_insns, init_ready_list, deaths_in_region, |
| can_schedule_ready_p, new_ready, schedule_more_p, rgn_print_insn, |
| rgn_rank, region_sched_info): Move to sched-rgn.c. |
| (debug_reg_vector): Delete useless function. |
| (get_bb_head_tail): Likewise. |
| (insn_issue_delay, insn_cost, ready_add, get_block_head_tail, |
| no_real_insns_p, rm_line_notes, save_line_notes, |
| restore_line_notes, rm_redundant_line_notes, sched_init): No |
| longer static. |
| (rm_line_notes, save_line_notes, restore_line_notes, |
| schedule_block, set_priorities): Change argument to be a real |
| basic block, not one of haifa's "bb"s. All callers changed |
| (rm_other_notes): Initialize note_list here, not in |
| schedule_region. |
| (sched_finish): New function, called from schedule_insn. * * |
| sched-int.h (INSN_PRIORITY, INSN_COST, INSN_UNIT, INSN_REG_WEIGHT, |
| INSN_BLOCKAGE, UNIT_BITS, BLOCKAGE_MASK, ENCODE_BLOCKAGE, |
| UNIT_BLOCKED, BLOCKAGE_RANGE, MIN_BLOCKAGE_COST, |
| MAX_BLOCKAGE_COST): Moved here from haifa-sched.c. |
| (get_block_head_tail, no_real_insns_p, rm_line_notes, |
| save_line_notes, restore_line_notes, rm_redundant_line_notes, |
| rm_other_notes, insn_issue_delay, set_priorities, schedule_block, |
| sched_init, sched_finish, ready_add, insn_cost): Declare. |
| |
| 2000-12-03 Laurynas Biveinis <lauras@softhome.net> |
| Bruce Korb <bkorb@gnu.org> |
| |
| * Makefile.in: pass $(build_canonical) to mkfixinc.sh. |
| * fixinc/mkfixinc.sh: accept build system name as an argument. |
| Use it for choosing the fix build method. Use the target for |
| selecting special fix rules. |
| |
| 2000-12-03 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * Makefile.in (OBJS): Add sched-deps.o. |
| (sched-deps.o): New rule. |
| * haifa-sched.c (struct deps, struct haifa_insn_data): Moved to |
| sched-int.h. |
| (INSN_DEPEND, INSN_LUID, CANT_MOVE, INSN_DEP_COUNT): Macros moved to |
| sched-int.h. |
| (SIZE_FOR_MODE): Delete unused macro. |
| (reg_known_equiv_p, reg_known_value, reg_pending_clobbers, |
| reg_pending_sets, reg_pending_sets_all, true_dependency_cache, |
| anti_dependency_cache, output_dependency_cache, |
| forward_dependency_cache): Variables moved to sched-deps.c. |
| (add_dependence, remove_dependence, find_insn_list, |
| find_insn_mem_list, add_insn_mem_dependence, flush_pending_lists, |
| sched_analyze_insn, sched_analyze_1, sched_analyze_2, |
| sched_analyze, group_leader, compute_forward_dependences, |
| init_deps, free_deps, init_dependency_caches, free_dependency_caches): |
| Functions moved to sched-deps.c. |
| (schedule_region): Call init_deps_global and finish_deps_global |
| instead of directly manipulating dependency data structures. |
| * sched-deps.c: New file. |
| (init_deps_global, finish_deps_global): New functions. |
| * sched-int.h (struct haifa_insn_data, struct deps): Moved here from |
| haifa-sched.c. |
| (h_i_d): Declare. |
| (INSN_DEPEND, INSN_LUID, CANT_MOVE, INSN_DEP_COUNT): Macros moved here |
| from haifa-sched.c. |
| |
| * Makefile.in (OBJS): Add sched-vis.o. |
| (sched-vis.o): New rule. |
| * haifa-sched.c (get_unit_last_insn): New function. |
| (sched_dump, insn_unit, actual_hazard_this_instance): No longer |
| static. |
| (schedule_block): Call visualize_alloc and visualize_free. Delete |
| spurious return statement. |
| (init_target_units, insn_print_units, get_visual_tbl_length, |
| init_block_visualization, print_block_visualization, safe_concat, |
| visualize_scheduled_inns, visualize_no_unit, visualize_stall_cycles, |
| print_exp, print_value, print_pattern, print_insn, target_units, |
| MAX_VISUAL_LINES, INSN_LEN, n_visual_lines, visual_tbl, |
| n_vis_no_unit, vis_no_unit): Move scheduling visualization |
| functions/variables... |
| * sched-vis.c: ...here. New file. |
| (visualize_alloc, visualize_free): New functions. |
| (visualize_scheduled_insns, visualize_stall_cycles, |
| print_block_visualization): Lose basic block argument. All callers |
| changed. |
| (visualize_scheduled_insns): Use new function get_unit_last_insn. |
| * sched-int.h (current_sched_info, sched_dump): Declare. |
| (init_target_units, insn_print_units, init_block_visualization, |
| print_block_visualization, visualize_scheduled_inns, |
| visualize_no_unit, visualize_stall_cycles, visualize_alloc, |
| visualize_free): Declare functions. |
| |
| * sched-int.h: New file. |
| * Makefile.in (haifa-sched.o): Depend on it. |
| * haifa-sched.c: Include it. |
| (no_real_insns_p): New function. |
| (current_sched_info): New static variable. |
| (__inline, HAIFA_INLINE): Moved to sched-int.h. |
| (get_block_head_tail): Minor cleanup. |
| (init_ready_list, can_schedule_ready_p, new_ready, schedule_more_p, |
| rgn_print_insn, rgn_rank): New functions, broken out of |
| rank_for_schedule, schedule_insn and schedule_block, where they |
| are now called through function pointers in current_sched_info. |
| (queue_insn, schedule_insn, queue_to_ready, debug_ready_list, |
| print_insn): To display uid and block number, call the print_insn |
| function pointer in current_schedule_info. |
| (region_sched_info): New static variable. |
| (sched_target_n_insns, sched_n_insns, target_n_insns): New global |
| variables, moved out of schedule_block. |
| (schedule_block): Return void. All callers changed. |
| Move some of the setup code into schedule_region. Get head/tail |
| from current_sched_info, and update it when done. |
| (schedule_region): Slightly rearranged, some code moved here from |
| schedule_block. Call no_real_insns_p to avoid doing work for a |
| block that consists only of notes and labels. |
| (schedule_insns): Initialize current_sched_info. |
| |
| 2000-12-03 Neil Booth <neilb@earthling.net> |
| |
| * cppmacro.c (funlike_invocation_p): Re-disable macros enabled |
| by contexts drops AFTER argument pre-expansion, so that they |
| remain enabled during argument pre-expansion. |
| (_cpp_pop_context): Unconditionally re-enable a macro when |
| dropping a context level. |
| |
| 2000-12-03 Manfred Hollstein <manfredh@redhat.com> |
| |
| * arm/t-linux (MULTILIB_OPTIONS): Comment. |
| (MULTILIB_DIRNAMES): Likewise. |
| (EXTRA_MULTILIB_PARTS): Likewise. |
| (LIBGCC): Likewise. |
| (INSTALL_LIBGCC): Likewise. |
| |
| 2000-12-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * builtins.c (expand_builtin_strcat, expand_builtin_strncat, |
| expand_builtin_strspn, expand_builtin_strcspn): New functions. |
| (expand_builtin): Handle BUILT_IN_STRCAT, BUILT_IN_STRNCAT, |
| BUILT_IN_STRSPN and BUILT_IN_STRCSPN. |
| |
| * builtins.def (BUILT_IN_STRCAT, BUILT_IN_STRNCAT, |
| BUILT_IN_STRSPN, BUILT_IN_STRCSPN): New entries. |
| |
| * c-common.c (c_common_nodes_and_builtins): Declare builtin |
| strcat, strncat, strspn and strcspn. |
| (string_ftype_string_cstring): Renamed from `string_ftype_ptr_ptr'. |
| |
| * extend.texi (strcat, strcspn, strncat, strspn): Document new |
| builtins. |
| |
| 2000-12-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * builtins.c (expand_builtin_strcmp): Use const*_rtx when |
| expanding strcmp at compile-time. Add another transformation. |
| (expand_builtin_strncmp): Add more transformations. Call |
| expand_builtin_memcmp, not expand_builtin_strcmp, under |
| appropriate conditions if HAVE_cmpstrsi. |
| |
| 2000-12-02 David Edelsohn <edelsohn@gnu.org> |
| |
| * rs6000.md (anddi3_internal[23]): Prefer rldic? over andis |
| instruction. |
| (cr logic): Really make operands sequential. |
| |
| 2000-12-02 Geoffrey Keating <geoffk@redhat.com> |
| |
| * c-common.c (combine_strings): When the ISO C standard specifies |
| the maximum length of a string, it doesn't include the trailing |
| zero byte. |
| |
| * cpplib.c (do_ifdef): Add check_eol() call. |
| (do_ifndef): Likewise. |
| |
| 2000-12-02 Daniel Berlin <dberlin@redhat.com> |
| Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/*: global substitute /__MSDOS__/SEPARATE_FIX_PROC/ |
| * fixinc/mkfixinc.sh: prepare to use Makefile.BEOS for *-*-beos* |
| * fixinc/Makefile.DOS: define SEPARATE_FIX_PROC for build |
| * fixinc/fixfix.c(wrap_fix): avoid wrapping files that |
| use the "__need_" hackery. It breaks them. |
| * fixinc/fixincl.c(process - SEPARATE_FIX_PROC): |
| Sometimes on DOS and BeOS the temp output file cannot be opened. |
| Skip the file noisily. Ought to be fixed instead. |
| |
| 2000-12-02 Bruce Korb <bkorb@gnu.org> |
| |
| From: 2000-11-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * fixfixes.c (emit_gnu_type, format_write): Prototype. |
| (format_write, char_macro_use_fix, char_macro_def_fix): Use gcc's |
| custom uppercase ctype macros. |
| * fixincl.c (do_version): Make static and add ATTRIBUTE_NORETURN. |
| Use gcc's custom uppercase ctype macros. |
| (main): Prototype. |
| (machine_matches): Add static prototype and constify variable. |
| (create_file, test_test, egrep_test): Add static prototype. |
| (quoted_file_exists): Likewise, and constify parameters. |
| (extract_quoted_files, internal_fix, start_fixer, fix_applies, |
| write_replacement, test_for_changes): Add static prototype. |
| (write_replacement, test_for_changes): Delete excess argument to |
| `create_file'. |
| * fixtests.c (test): Make static. |
| * server.c (load_data, sig_handler, server_setup, find_shell): Add |
| static prototype. |
| (sig_handler): Mark parameter with ATTRIBUTE_UNUSED. |
| |
| 2000-12-02 Bruce Korb <bkorb@gnu.org> |
| |
| * fixnc/mkfixinc.sh(msdosdjgpp): remove from fixincludes exception list |
| (per Laurynas Biveinis <lauras@softhome.net>) |
| |
| 2000-12-02 Richard Earnshaw <rearnsha@arm.com> |
| |
| * arm.h (ARM_REGNO_OK_FOR_BASE_P, THUMB_REGNO_MODE_OK_FOR_BASE_P): New |
| macros. |
| (REGNO_MODE_OK_FOR_BASE_P): Define in terms of above. |
| (REGNO_OK_FOR_FOR_BASE_P): Delete. |
| (ARM_REG_OK_FOR_BASE_P, THUMB_REG_MODE_OK_FOR_BASE_P): New macros for |
| both strict and non-strict uses. |
| (REG_MODE_OK_FOR_BASE_P): Define in terms of above. |
| (ARM_REG_OK_FOR_INDEX_P, THUMB_REG_OK_FOR_INDEX_P): New macros. |
| (REG_OK_FOR_INDEX_P): Define in terms of above. |
| (REG_OK_FOR_BASE_P): Delete. |
| (REG_OK_FOR_PRE_POST_P): Delete. |
| (ARM_BASE_REGISTER_RTX_P): Renamed from BASE_REGISTER_RTX_P. |
| (ARM_INDEX_REGISTER_RTX_P): Renamed from INDEX_REGISTER_RTX_P. |
| (ARM_GO_IF_LEGITIMATE_INDEX): Renamed from GO_IF_LEGITIMATE_INDEX. |
| (THUMB_LEGITIMATE_OFFSET): Renamed from LEGITIMATE_OFFSET. |
| (ARM_GO_IF_LEGITIMATE_ADDRESS): Adjust for name changes. Use ARM |
| specific variants rather than general ones. Use ARM_REG_OK_FOR_BASE_P |
| in pre/post increment cases. |
| (THUMB_GO_IF_LEGITIMATE_ADDRESS): Similarly for Thumb. |
| (ARM_LEGITIMIZE_ADDRESS): Similarly. |
| (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Similarly. |
| * arm.c (legitimate_pic_address): Similarly. |
| |
| 2000-12-02 Neil Booth <neilb@earthling.net> |
| |
| * tradcpp.c (struct answer, parse_assertion, parse_answer, |
| canonicalize_text, find_answer): New. |
| (do_assert, do_unassert): Provide appropriate function bodies. |
| (union hashval): New member answers. |
| |
| 2000-11-23 Marek Michalkiewicz <marekm@linux.org.pl> |
| |
| * config/avr/avr.md: Document UNSPEC usage. |
| (*tablejump_rjmp, *tablejump_lib, *tablejump_enh, *tablejump): |
| Make operand 0 input only, clobber it. Use UNSPEC, not a bogus |
| MEM for program memory word reference. Do not add the label to |
| the table index in each of the asm output templates, instead ... |
| (casesi): ... do it in RTL. Adjust to match the above change. |
| |
| 2000-12-02 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * c-common.c (PTRDIFF_TYPE): Provide default here, ... |
| * c-decl.c: ... not here. |
| |
| * haifa-sched.c (sched_dump): Renamed from dump. All users changed. |
| (old_max_uid): New variable. |
| (compute_forward_dependences): Renamed from |
| compute_block_forward_dependences; changed to accept block head and |
| tail instead of block number. Caller changed. |
| (free_deps, init_dependency_caches, free_dependency_caches, |
| init_regions, sched_init): New functions, split out from |
| schedule_insns and compute_block_backward_dependences. |
| |
| 2000-12-02 Neil Booth <neilb@earthling.net> |
| |
| * cppexp.c (parse_number): Update diagnostic test. |
| |
| 2000-12-02 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * reload1.c (free_for_value_p): New function, frontend to |
| reload_reg_free_for_value_p. All callers of the latter now call |
| this function with an additional mode argument. |
| |
| 2000-12-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> |
| |
| * install.texi (Configurations): Remove obsolete documentation for |
| hppa*-*-*. |
| |
| 2000-12-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> |
| |
| * install.texi (Installation): Remove obsolete description for |
| libstdc++ which is now an integral part of GCC. |
| |
| 2000-12-01 Jim Blandy <jimb@redhat.com> |
| |
| * dbxout.c (dbxout_parms): Correctly describe parameters passed by |
| invisible reference in registers, but then spilled to the stack. |
| Remove code to emit a second stab for such parameters; it attempts |
| to describe the value's location by introducing a synthetic C++ |
| `reference' type, and then saying the stack slot has that |
| reference type. This loses type information (breaking GDB's |
| `ptype' command, among other things) just to describe a location |
| which stabs can represent correctly in other ways. |
| |
| 2000-12-01 Alexandre Oliva <aoliva@redhat.com> |
| |
| * final.c (output_addr_const) <PLUS>: Don't assume at least one |
| operand is a CONST_INT. |
| |
| * config/sh/sh.c (reg_class_from_letter): Assign `k' to SIBCALL_REGS. |
| (machine_dependent_reorg): Split all insns. |
| * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Compute |
| reg_class_contents[SIBCALL_REGS]. |
| (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add SIBCALL_REGS. |
| * config/sh/sh.md (calli_pcrel, call_pcrel, call_valuei_pcrel, |
| call_value_pcrel, call, call_value, sibcall): Match even when |
| not optimizing. |
| (sibcalli_pcrel, sibcall_pcrel): Likewise. Use constraint `k' |
| for call address. |
| (sibcalli): Likewise. |
| |
| 2000-12-01 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (warn_format, warn_format_y2k, |
| warn_format_extra_args, warn_format_nonliteral): Define. |
| (check_format_info): Check warn_format_nonliteral and |
| warn_format_extra_args. |
| (check_format_info_main): Check warn_format_y2k. |
| (set_Wformat): New function. |
| * c-common.h (warn_format_y2k, warn_format_extra_args, |
| warn_format_nonliteral, set_Wformat): Declare. |
| * c-decl.c (warn_format): Remove definition. |
| (c_decode_option): Handle -Wformat-nonliteral, |
| -Wno-format-extra-args and -Wno-format-y2k, and negated versions. |
| Use set_Wformat. |
| * invoke.texi: Document these new options and -Wformat=2. |
| * toplev.c (documented_lang_options): Add these new options. |
| |
| 2000-12-01 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * builtins.def (BUILT_IN_IMAXABS): Add. |
| * builtins.c (expand_builtin): Also abort on BUILT_IN_IMAXABS. |
| * c-common.c (c_common_nodes_and_builtins): Create builtin |
| functions __builtin_imaxabs, and plain imaxabs unless |
| flag_no_nonansi_builtin outside C99 mode. |
| (expand_tree_builtin): Handle BUILT_IN_IMAXABS. |
| * extend.texi: Document builtin imaxabs. |
| |
| 2000-12-01 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c: Include "defaults.h". |
| (WINT_TYPE, INTMAX_TYPE, UINTMAX_TYPE): Define. |
| (c_common_nodes_and_builtins): Create string_type_node, |
| const_string_type_node, wint_type_node, intmax_type_node, |
| uintmax_type_node, default_function_type, ptrdiff_type_node and |
| unsigned_ptrdiff_type_node. |
| * c-common.h (identifier_global_value): Declare. |
| * c-decl.c (WINT_TYPE, INTMAX_TYPE, UINTMAX_TYPE): Don't define. |
| (init_decl_processing): Don't create string_type_node, |
| const_string_type_node, wint_type_node, intmax_type_node, |
| uintmax_type_node, default_function_type, ptrdiff_type_node and |
| unsigned_ptrdiff_type_node. |
| (identifier_global_value): New function. |
| |
| 2000-12-01 Neil Booth <neilb@earthling.net> |
| |
| * cppinit.c (initialize): Forgotten prototype. |
| * cpplex.c (_cpp_lex_token): Loop until not skipping. |
| Always clear PREV_WHITE upon meeting a new line. |
| * cpplib.c (end_directive): Set pfile->skipping after |
| skip_rest_of_line. |
| * cpplib.h (cpp_reader): Remove macro_pos. |
| * cppmacro.c (cpp_get_line): Don't do anything special inside |
| macros. |
| (parse_arg): Add PREV_WHITE if a token appears after new lines. |
| (funlike_invocation_p): Save and restore the output position |
| over a successful check for a '('. |
| (enter_macro_context): Delete uses of macro_pos. |
| (cpp_get_token): Don't use pfile->skipping. |
| |
| 2000-12-01 Phil Edwards <pme@sources.redhat.com> |
| |
| * diagnostic.c: Fix typos in comments. |
| * diagnostic.h: Likewise. |
| |
| 2000-11-30 Phil Edwards <pme@sources.redhat.com> |
| |
| * rtl.texi (Machine Modes): Document BImode and OImode. |
| |
| 2000-12-01 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * gcc.c (default_compilers): Add suffixes .mi, .cp, .ii, .FOR and |
| .FPP. |
| |
| 2000-12-01 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-decl.c (grokdeclarator): If pedantic, warn about arrays with |
| incomplete element type. |
| (grokparms): Before checking for incomplete parameter type, check |
| the type isn't error_mark_node. |
| |
| 2000-12-01 Jakub Jelinek <jakub@redhat.com> |
| |
| * builtins.c (target_char_cast): New function. |
| (expand_builtin_strchr): Use it. |
| (expand_builtin_strrchr): Use it. |
| (builtin_memset_read_str): New function. |
| (expand_builtin_memset): Use target_char_cast. |
| Try to optimize memset with second argument nonzero using |
| store_by_pieces. |
| |
| 2000-11-30 Marek Michalkiewicz <marekm@linux.org.pl> |
| |
| * install.texi (avr): Replace incomplete list of supported MCU |
| types with a link to the current one ... |
| * invoke.texi (AVR Options): ... here. Update -mmcu= to list |
| all supported MCU types. Document -minit-stack= default. |
| Document new options -mno-tablejump, -mtiny-stack. |
| * md.texi (AVR family): Fix typo in 'w' constraint letter |
| description. Document 'q'. Update 'O'. |
| |
| 2000-12-01 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * combine.c (cant_combine_insn_p): Only disallow insns involving |
| hard regs if they are reg-reg moves. |
| (try_combine, can_combine_p, combinable_i3pat): Delete old |
| SMALL_REGISTER_CLASSES tests. |
| |
| 2000-12-01 Alexandre Oliva <aoliva@redhat.com> |
| |
| * config/sh/sh.c (shiftcosts): Don't get INTVAL before testing |
| whether X is a CONST_INT. |
| (addsubcosts): Likewise. |
| |
| * config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA): Use INTVAL instead of |
| mis-used XINT. |
| (ARG_POINTER_REGNUM): Set to AP_REG. |
| |
| 2000-11-30 Alexandre Oliva <aoliva@redhat.com> |
| |
| * config/sh/sh.md (fpu_switch0, fpu_switch1, movpsi, fpu_switch, |
| splits): Only match on TARGET_SH4. |
| |
| * combine.c (try_combine): Disregard USEs when updating LOG_LINKS |
| of subsequent insns. |
| |
| 2000-11-30 Richard Henderson <rth@redhat.com> |
| |
| * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Disable. |
| * config/alpha/alpha32.h (ASM_OUTPUT_MI_THUNK): Likewise. |
| |
| 2000-11-30 Richard Henderson <rth@redhat.com> |
| |
| * config/alpha/elf.h (ASM_OUTPUT_SECTION_NAME): Copy elfos.h defn. |
| (DO_SELECT_SECTION): New. |
| (SELECT_SECTION): Use it. |
| (UNIQUE_SECTION_P): New. |
| (UNIQUE_SECTION): New. |
| |
| 2000-11-30 Alexandre Oliva <aoliva@redhat.com> |
| |
| * c-common.c (status_warning) [! ANSI_PROTOTYPES]: Load status |
| from va_list before using it. |
| |
| 2000-11-30 Michael Matz <matzmich@cs.tu-berlin.de> |
| |
| * flow.c (make_edge): Early out, if no flags to set. |
| (calculate_global_regs_live): Clear out garbage only when necessary. |
| |
| * simplify-rtx.c (varray_type used_regs): New. |
| (clear_table): Use it to only clear necessary items. |
| (cselib_lookup, cselib_record_set): Remember newly set items. |
| (cselib_update_varray_sizes, cselib_init): Initialize and grow |
| used_regs. |
| |
| * local-alloc.c (update_equiv_regs): New local `cleared_regs'. |
| Move clearing of dead regs out of insn-loop. |
| |
| 2000-11-30 Richard Henderson <rth@redhat.com> |
| |
| * calls.c (expand_call): Emit queued insns before creating |
| the tail recursion sequence. |
| |
| 2000-11-30 J. David Anglin <dave.anglin@nrc.ca> |
| Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/inclhack.def(): prevent dual double definition protection |
| * fixinc/fixincl.x: regenerate |
| |
| 2000-11-29 Loren J. Rittle <ljrittle@acm.org> |
| |
| * fixinc/Makefile.in (fixincl.x): Explicitly state the |
| location of the generated file. |
| |
| 2000-11-30 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> |
| |
| * README.FRESCO: Remove obsolete file. |
| |
| 2000-11-30 Mark Kettenis <kettenis@gnu.org> |
| |
| * config/t-gnu (LIBGCC1, CROSS_LIBGCC1, CRTSTUFF_T_CFLAGS, |
| TARGET_LIBGCC2_CFLAGS): Remove. We now use the settings from |
| config/t-linux for the Hurd. |
| |
| 2000-11-30 Stephane Carrez <Stephane.Carrez@worldnet.fr> |
| |
| * config/mn10200/udivmod.c, config/mn10200/divmod.c, |
| config/mn10200/udivmodsi4.c: Moved from here. |
| * config/udivmod.c, config/divmod.c, config/udivmodsi4.c: To here. |
| * config/mn10200/t-mn10200 (LIB2FUNCS_EXTRA): Use the generic |
| C division functions. |
| * config/m68hc11/t-m68hc11-gas (LIB2FUNCS_EXTRA): Likewise. |
| |
| Thu Nov 30 01:12:52 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * pa.md (conditional moves): Avoid holes in operand list. |
| (mod, umod patterns): Similarly. |
| (variable extract/shift patterns): Similarly. |
| |
| 2000-11-30 Neil Booth <neilb@earthling.net> |
| |
| * objc/objc-act.c (lang_init, finish_file, maybe_objc_comptypes, |
| maybe_objc_check_decl, build_objc_string_object, |
| objc_declare_alias, objc_declare_class, build_message_expr, |
| build_protocol_expr, build_selector_expr, build_encode_expr, |
| get_class_ivars, start_class, start_protocol): Remove |
| redundant code, assuming doing_objc_thang is true. |
| |
| 2000-11-29 John David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * pa.c (restore_unscaled_index_insn_codes): Delete procedure. |
| (record_unscaled_index_insn_codes): Likewise. |
| (unscaled_index_insn_codes): Delete. |
| (max_unscaled_index_insn_codes_uid): Delete. |
| (output_function_prologue, output_function_epilogue, pa_reorg): |
| Don't use the unscaled index insn hack. |
| |
| * pa.md: Remove hack from all index insns to reverse the operand |
| order of frame and stack pointer references incorrectly created |
| in the reload pass. |
| |
| * function.h (emit_status): Delete member regno_pointer_flag and |
| rename regno_pointer_flag_length to regno_pointer_align_length. |
| Delete define for REGNO_POINTER_FLAG. |
| * integrate.h (inline_remap): Delete member regno_pointer_flag. |
| Add member x_regno_reg_rtx. |
| * rtl.h (rtx_def): Use frame_related bit to indicate register is |
| a pointer in REG expressions. Define REG_POINTER macro. |
| * alias.c (find_base_value, find_base_term): Use REG_POINTER |
| instead of REGNO_POINTER_FLAG. |
| * combine.c (nonzero_bits, num_sign_bit_copies): Likewise. |
| * emit-rtl.c (gen_reg_rtx): Use regno_pointer_align_length instead |
| of regno_pointer_flag_length. Remove code which refers to |
| regno_pointer_flag. |
| (mark_reg_pointer): Use REG_POINTER. |
| (free_emit_status): Remove code which refers to regno_pointer_flag. |
| (init_emit, mark_emit_status): Likewise. |
| * flow.c (dump_flow_info): Likewise. |
| * function.c (preserve_temp_slots): Likewise. |
| * integrate.c (expand_inline_function, copy_rtx_and_substitute): |
| Use x_regno_reg_rtx instead of regno_pointer_flag for function |
| pointer determination in map. |
| * loop.c (strength_reduce, maybe_eliminate_biv_1): Use REG_POINTER. |
| * predict.c (estimate_probability): Likewise. |
| * regclass.c (record_address_regs, reg_scan_mark_refs): Likewise. |
| * unroll.c (unroll_loop): Use x_regno_reg_rtx instead of |
| regno_pointer_flag for function pointer determination in map. |
| * convex.h (RTX_COSTS): Don't test regno_pointer_flag and use |
| REG_POINTER. |
| * pa.c (hppa_legitimize_address, emit_move_sequence, basereg_operand): |
| Use REG_POINTER. |
| (restore_unscaled_index_insn_codes): Revise comment. |
| |
| * expr.c (do_compare_and_jump): Add missing TYPE_MODE in statement. |
| |
| 2000-11-30 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * extend.texi: Update documentation for attributes. |
| |
| 2000-11-29 David O'Brien <obrien@FreeBSD.org> |
| |
| * config/alpha/elf.h (IDENT_ASM_OP): Protect the #define. |
| (ASM_DECLARE_OBJECT_NAME): Same. |
| (ASM_FILE_END): Same. |
| (ASM_FINISH_DECLARE_OBJECT): Same. |
| (ASM_IDENTIFY_GCC): Same. |
| (ASM_IDENTIFY_LANGUAGE): Same. |
| (ASM_OUTPUT_CONSTRUCTOR): Same. |
| (ASM_OUTPUT_DEF): Same. |
| (ASM_OUTPUT_DESTRUCTOR): Same. |
| (ASM_OUTPUT_EXTERNAL_LIBCALL): Same. |
| (ASM_OUTPUT_SECTION_NAME): Same. |
| (ASM_WEAKEN_LABEL): Same. |
| (BSS_SECTION_ASM_OP): Same. |
| (COMMON_ASM_OP): Same. |
| (CONST_SECTION_ASM_OP): Same. |
| (CONST_SECTION_FUNCTION): Same. |
| (CTORS_SECTION_ASM_OP): Same. |
| (DTORS_SECTION_ASM_OP): Same. |
| (ESCAPES): Same. |
| (FINI_SECTION_ASM_OP): Same. |
| (IDENT_ASM_OP): Same. |
| (IDENT_ASM_OP): Same. |
| (INIT_SECTION_ASM_OP): Same. |
| (INT_ASM_OP): Same. |
| (MAX_OFILE_ALIGNMENT): Same. |
| (SBSS_SECTION_ASM_OP): Same. |
| (SDATA_SECTION_ASM_OP): Same. |
| (SECTION_FUNCTION_TEMPLATE): Same. |
| (SELECT_SECTION): Same. |
| (SE_CONST_SECTION): Same. |
| (SIZE_ASM_OP): Same. |
| (SKIP_ASM_OP): Same. |
| (STRING_ASM_OP): Same. |
| (STRING_LIMIT): Same. |
| (TYPE_ASM_OP): Same. |
| (TYPE_OPERAND_FMT): Same. |
| |
| 2000-11-29 Neil Booth <neilb@earthling.net> |
| |
| * c-decl.c (c_decode_option): Don't handle -lang-objc. |
| * objc/lang-options.h: Remove -lang-objc. |
| * objc/lang-specs.h: Don't pass -lang-objc to cc1obj. |
| * objc/objc-act.c (lang_init_options): Set c_language. |
| |
| 2000-11-29 Jakub Jelinek <jakub@redhat.com> |
| |
| * expr.c (can_store_by_pieces): Reinitialize max_size for reverse |
| tests. |
| |
| 2000-11-29 Neil Booth <neilb@earthling.net> |
| |
| * c-pragma.c (init_pragma): Update for parse_in type change. |
| |
| 2000-11-29 Laurynas Biveinis <lauras@softhome.net> |
| |
| * configure.in: recognize DOS-style absolute paths. |
| |
| 2000-11-29 Jakub Jelinek <jakub@redhat.com> |
| |
| * expr.h (store_by_pieces): Add prototype. |
| (can_store_by_pieces): Likewise. |
| * expr.c (struct store_by_pieces): Renamed from clear_by_pieces. |
| (can_store_by_pieces): New. |
| (store_by_pieces): New. |
| (clear_by_pieces): New. |
| (clear_by_pieces_1): New. |
| (store_by_pieces_1): Renamed from clear_by_pieces, handle storing |
| arbitrary compiler generated constants into memory block. |
| (store_by_pieces_2): Renamed from clear_by_pieces_1, likewise. |
| * builtins.c (c_readstr): New. |
| (builtin_memcpy_read_str): New. |
| (expand_builtin_memcpy): If src is string constant and |
| emit_block_move would move it by pieces, compute integer constants |
| from the string and store it into memory block instead. |
| (builtin_strncpy_read_str): New. |
| (expand_builtin_strncpy): If N is not constant zero and c_strlen does |
| not return INTEGER_CST, don't optimize. |
| If N is larger than strlen(src) + 1, try to copy the string |
| including padding with store_by_pieces. |
| (expand_builtin_strcmp): If both arguments have side effects, don't |
| optimize. |
| (expand_builtin_fputs): If STR has side effects, don't optimize. |
| |
| 2000-11-29 Richard Earnshaw <rearnsha@arm.com> |
| |
| * arm.md (sibcall, sibcall_value, sibcall_insn, sibcall_value_insn): |
| Add use of link register. |
| |
| 2000-11-29 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * extend.texi: Update documentation for default format attributes. |
| |
| Tue Nov 28 21:56:45 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * pa/pa-64.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not |
| a list, to keep track of the sections. |
| |
| 2000-11-28 Nick Clifton <nickc@redhat.com> |
| |
| * config/arm/arm.md (pic_load_addr): Split into |
| pic_load_addr_arm and pic_load_addr_thumb. |
| |
| * config/arm/arm.c (legitimize_pic_address): Generate either |
| ARM or Thumb versions of pic_load_addr. |
| (arm_finalize_pic): Generate either ARM or Thumb versions of |
| pic_load_addr. |
| |
| 2000-11-28 Richard Henderson <rth@redhat.com> |
| |
| * calls.c (expand_call): Defer const/pure NO_DEFER_POP until |
| after sibcall do_pending_stack_adjust. |
| |
| Wed Nov 29 00:08:23 2000 J"orn Rennecke <amylaar@redhat.com> |
| |
| * jump.c (delete_insn): Check that REG_LABEL note actually contains |
| a CODE_LABEL. |
| |
| 2000-11-28 Neil Booth <neilb@earthling.net> |
| |
| * c-common.h: Remove flag_digraphs. |
| * c-decl.c: Remove flag_digraphs. |
| (c_decode_option): Don't set it. |
| * c-lex.c (init_c_lex): Don't do anything for digraphs. |
| |
| 2000-11-28 Richard Henderson <rth@redhat.com> |
| |
| * c-parse.in (finish_parse): Update for parse_in type change. |
| (_yylex): Likewise. |
| |
| 2000-11-28 Neil Booth <neilb@earthling.net> |
| |
| * cppmacro.c (cpp_scan_buffer_nooutput): Take a boolean |
| indicating whether to scan all buffers on the stack or |
| just one. |
| * cppinit.c (do_includes): Update. |
| * cppmain.c (main): Update. |
| * cpplib.h: Update prototype. |
| |
| 2000-11-28 Richard Henderson <rth@redhat.com> |
| |
| * genoutput.c (validate_insn_operands): New. |
| (gen_insn): Call it. |
| |
| * config/alpha/alpha.md (divmodsi_internal): Renumber operands. |
| (divmoddi_internal): Likewise. |
| * config/arm/arm.md (andsi3_compare0_scratch): Likewise. |
| * config/i960/i960.md (branch patterns): Likewise. |
| * config/ia64/ia64.md (tbit_and_0): Likewise. |
| (tbit_and_1, tbit_or_0, tbit_or_1): Likewise. |
| * config/m68k/m68k.md (zero_extract memory patterns): Likewise. |
| * config/mips/mips.md (divmodsi4_internal): Likewise. |
| (divmoddi4_internal): Likewise. |
| * config/rs6000/rs6000.md (call patterns): Likewise. |
| * config/sh/sh.md (movsi_y): Likewise. |
| * config/sparc/sparc.md: Comment out if 0 v8p shift pattern. |
| |
| 2000-11-28 Richard Henderson <rth@redhat.com> |
| |
| * config.gcc: Kill residual pyramid support. |
| |
| 2000-11-28 Neil Booth <neilb@earthling.net> |
| |
| * c-lex.h (parse_in): Change parse_in to a cpp_reader *. |
| * c-decl.c (c_decode_option): Update to match. |
| * c-lex.c (init_c_lex, yyparse): Update to match. |
| * c-lang.c (lang_init_options): Use cpp_create_reader. |
| * cppinit.c (cpp_init): Rename initialize. |
| (cpp_reader_init): Rename cpp_create_reader. Create the |
| reader. Initialize cpplib if appropriate. |
| * cpplib.h (cpp_create_reader) New prototype. |
| (cpp_init, cpp_reader_init): Delete prototypes. |
| * cppmain.c (general_init, setup_callbacks): New functions. |
| (main): Use them. |
| * fix-header.c (scan_in): Change type to cpp_reader *. |
| (read_scan_file): Update for new cpplib interface and scan_in type. |
| |
| * cp/decl.c (parse_in): Change to cpp_reader *. |
| (lang_decode_option): Update. |
| * cp/lex.c (lang_init_options): Use new cpplib interface. |
| (init_cp_pragma, finish_parse, handle_pragma_implementation): Update. |
| * cp/spew.c (read_token): Update. |
| * objc/objc-act.c (lang_init_options): Update new cpplib interface. |
| |
| 2000-11-28 Jakub Jelinek <jakub@redhat.com> |
| |
| * loop.c (load_mems): Avoid using next_label to find end_label. If |
| jumping outside of the loop (other than loop end), don't hoist MEMs |
| out of loop. |
| |
| 2000-11-28 Jan Hubicka <jh@suse.cz> |
| |
| * calls.c (expand_call): Don't disable tail recursion based |
| on the loop nest. |
| |
| 2000-11-28 Neil Booth <neilb@earthling.net> |
| |
| * tradcpp.c (enum node_type): New hash types T_ASSERT, T_UNASSERT. |
| (struct directive): Drop 4th argument from handlers. |
| (do_define, do_line, do_include, do_undef, do_else, do_elif, |
| do_endif): Similarly. |
| (do_assert, do_unassert, do_ifdef, do_ifndef): New handlers. |
| (do_ifxdef): Update as common handler of do_ifdef and do_ifndef. |
| (make_definition, make_undef): Take a const char*. |
| (make_assertion): New function. |
| (struct directive_table): Update. |
| (main): Handle -A command line argument. |
| (handle_directive): Drop fourth handler argument. |
| |
| 2000-11-28 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * simplify-rtx.c (cselib_record_sets): Ignore sets whose destination |
| is anything but REG or MEM, but look inside STRICT_LOW_PART. |
| |
| Tue Nov 28 09:53:50 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * system.h (IS_DIR_SEPARATOR): Use uppercase macro name. |
| (IS_ABSOLUTE_PATHNAME): New macro. |
| * gcc.c (find_a_file, process_command, do_spec_1, main): Use it. |
| |
| 2000-11-28 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/i386.md (truncxfsf2_2): Fix predicate. |
| |
| 2000-11-27 Jim Wilson <wilson@redhat.com> |
| |
| * reload1.c (reload): Use HOST_WIDE_INT for old_frame_size. |
| |
| 2000-11-27 Matthias Klose <doko@cs.tu-berlin.de> |
| |
| * extend.texi (Nested Functions): Update URL of Usenix paper. |
| |
| 2000-11-27 Mark Mitchell <mark@codesourcery.com> |
| |
| * function.c (free_after_compilation): Clear x_clobber_return_insn. |
| |
| 2000-11-27 Neil Booth <neilb@earthling.net> |
| |
| * cppinit.c (cpp_reader_init): Remove handling of warn_paste |
| command line options. |
| (cpp_handle_option): Similarly. |
| * cpplib.h (struct cpp_options): Remove warn_paste. |
| * cppmacro.c (paste_tokens): Apart from assembler, make |
| unpasteable token warning mandatory. |
| |
| 2000-11-27 Neil Booth <neilb@earthling.net> |
| |
| * tradcpp.c (enum pending_dir_t, struct pending_dir): New. |
| (main): Allocate a pending directive set of these. Use it. |
| Merge handling of -D and -U. Update handling of pending |
| directives. Free the memory after use. |
| |
| 2000-11-27 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * flow.c (entry_exit_blocks): Add entry for cond_local_set. |
| (struct propagate_block_info): Add new member cond_local_set. |
| (propagate_block): Accept new arg cond_local_set. All callers |
| changed. |
| (init_propagate_block_info): Likewise. |
| (calculate_global_regs_live): Allocate & free cond_local_set. Always |
| rescan if there's overlap between cond_local_set and new_live_at_end. |
| (mark_set_1): Set bits either in cond_local_set or local_set, as |
| appropriate. |
| * basic-block.h (struct basic_block_def): New field cond_local_set. |
| (propagate_block, init_propagate_block_info): Update prototypes. |
| |
| Mon Nov 27 17:29:44 2000 kaz Kojima <kkojima@rr.iij4u.or.jp> |
| |
| * gcc/config/sh/sh.md (udivsi3_i4, udivsi3_i4_single): Clobber |
| T register. |
| |
| 2000-11-27 Richard Earnshaw <rearnsha@arm.com> |
| |
| * arm.c (select_dominance_cc_mode): Handle new way that combine |
| canonicalizes conditional compares. |
| (arm_select_cc_mode): Likewise. |
| * arm.md: Garbage collect some dead code. |
| (cmp_and, cmp_ior): New patterns. |
| (splitter for conditional move with inverted false): Use cond_exec |
| and handle unordered comparisons. |
| |
| Mon Nov 27 17:22:56 MET 2000 Jan Hubicka <jh@suse.cz> |
| |
| * i386.c (ix86_force_to_memory, ix86_free_from_memory): New. |
| * i386-protos.h (ix86_force_to_memory, ix86_free_from_memory): Declare |
| * i386.md (float?i?f, int/fp operations): Rewrite spliters to use |
| ix86_force_to_memory and ix86_free_from_memory. |
| |
| 2000-11-27 Richard Earnshaw <rearnsha@arm.com> |
| |
| * arm.md (arm_adddi3, adddi_sesidi_di, adddi_zesidi_di, arm_addsi3, |
| arm_subsi3_insn, anddi_zesidi_di, arm_andsi3_insn, anddi_notdi_di, |
| anddi_notzesidi_di, anddi_notsesidi_di, arm_iorsi3, |
| one_cmpldi2): Merge with splitters to create define_insn_and_split |
| patterns. Remove redundant splits. |
| (peephole2 for add:SI of invalid immediate): New. |
| (peephole2 for minus:SI of invalid immediate): New. |
| (peephole2 for ior:SI of invalid immediate): New. |
| (peephole for merge of move and compare): Convert ot peephole2. |
| (addsf3, adddf3): Mark as commutative. |
| |
| * arm.md (thumb peephole for merging stack adjustments): Convert to |
| peephole2. |
| |
| 2000-11-27 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * haifa-sched.c (print_pattern): Prettier output for COND_EXEC. |
| |
| * reload1.c (reload_cse_simplify_set): Pass down mode to cselib_lookup. |
| (reload_cse_simplify_operands): Do nothing about operands where both |
| the operand and the match_operand fail to give us a mode. |
| * simplify-rtx.c (wrap_constant): New function. |
| (entry_and_rtx_equal_p): Except integer constants to come wrapped in a |
| CONST describing the proper mode. |
| (rtx_equal_for_cselib_p): Pass down modes to recursive calls of |
| cselib_lookup. |
| (cselib_lookup_mem): Call wrap_constant on the rtx that is passed to |
| htab_find_slot_with_hash. |
| (cselib_lookup): Likewise. |
| |
| Based on a patch from Geoff Keating <geoffk@redhat.com>: |
| * loop.c (basic_induction_var): If a REG is set from something |
| that is not a biv, then the REG is not a biv. Even if it is |
| earlier set from something that is a biv. |
| |
| 2000-11-27 Alexandre Oliva <aoliva@redhat.com> |
| |
| * configure.in (extra_objs): Enclose extra_headers in quotes. |
| * configure: Rebuilt. |
| |
| 2000-11-27 Neil Booth <neilb@earthling.net> |
| |
| * c-lex.c (cb_enter_file, cb_leave_file, cb_rename_file): |
| Combine into the new function cb_change_file. |
| (init_c_lex): Update. |
| * cppfiles.c (stack_include_file): Use _cpp_do_file_change. |
| (cpp_syshdr_flags): Delete. |
| * cpphash.h (_cpp_do_file_change): New prototype. |
| Move struct cpp_buffer here from... |
| * cpplib.h (struct cpp_buffer): ... here. |
| (enum cpp_fc_reason, struct cpp_file_loc, |
| struct_cpp_file_change, change_file): New. |
| (enter_file, leave_file, rename_file, cpp_syshdr_flags): Delete. |
| * cpplib.c (do_line): Update for new cb_change_file callback. |
| (_cpp_do_file_change): New function. |
| (_cpp_pop_buffer): Update to use it. |
| * cppmain.c (move_printer): Delete. |
| (main): Set up single callback cb_change_file. |
| (cb_enter_file, cb_leave_file, cb_rename_file): Delete. |
| (cb_change_file): New. |
| * fix-header.c (cur_file, cb_change_file): New. |
| (recognized_function, read_scan_file): Update. |
| * scan-decls.c (scan_decls): Update. |
| * scan.h (recognized_function): Update prototype. |
| |
| 2000-11-26 Mark Mitchell <mark@codesourcery.com> |
| |
| * tree.h (mark_tree_hashtable): New function. |
| * tree.c (mark_tree_hashtable_entry): New function. |
| (mark_tree_hashtable): Likewise. |
| |
| 2000-11-27 Michael Meissner <meissner@redhat.com> |
| |
| * d30v-protos.h (srelational_si_operator): Correctly spell |
| function. |
| (urelational_si_operator): Ditto. |
| (relational_si_operator): Ditto. |
| (d30v_expand_prologue): Add prototype. |
| (d30v_expand_epilogue): Ditto. |
| |
| * d30v.h (OPTIMIZATION_OPTIONS): Undo November 22nd change. |
| |
| * d30v.md (movcccc_*): Delete now unused patterns. |
| (64 bit comparison splitters): Rewrite to use COND_EXEC instead of |
| IF_THEN_ELSE. |
| (define_cond_exec): Use 'b' to select branch flags. |
| |
| 2000-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * builtins.c (expand_builtin_strncmp, expand_builtin_strncpy): New |
| functions. |
| (expand_builtin): Handle BUILT_IN_STRNCPY and BUILT_IN_STRNCMP. |
| |
| * builtins.def (BUILT_IN_STRNCPY, BUILT_IN_STRNCMP): New entries. |
| |
| * c-common.c (c_common_nodes_and_builtins): Declare builtin |
| strncpy and strncmp. |
| |
| * extend.texi (strncmp, strncpy): Document new builtins. |
| |
| 2000-11-26 Mark Mitchell <mark@codesourcery.com> |
| |
| * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not |
| a list, to keep track of the sections. |
| * tm.texi (ASM_OUTPUT_SECTION_NAME): Document the fact that the |
| parameter provided will always be a canonical string. |
| |
| 2000-11-26 Neil Booth <neilb@earthling.net> |
| |
| * cppmacro.c (cpp_scan_buffer_nooutput): Only scan the |
| current buffer. |
| |
| 2000-11-26 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * makefile.vms: Remove EGCS references. |
| |
| 2000-11-26 Ulrich Drepper <drepper@redhat.com> |
| |
| * dwarf2out.c (output_file_names): New function. Compute minimal |
| combination of directory and file name table and emit them. |
| (output_line_info): Remove code to emit directory and file name |
| table and call output_file_names instead. |
| (file_info_cmp): Helper function to sort directory names. |
| |
| 2000-11-26 Neil Booth <neilb@earthling.net> |
| |
| * cpplib.h (struct cpp_reader): Remove lang_asm. |
| (struct cpp_options): Remove c89. New members lang, |
| extended_numbers. |
| * cppexp.c (parse_number): Use them. |
| * cpphash.h (VALID_SIGN): Use them. |
| * cppinit.c (set_lang, cpp_start_read): Update. |
| * cpplex.c (parse_string, _cpp_lex_token): Update. |
| * cpplib.c (_cpp_handle_directive): Update. |
| * cppmacro.c (parse_args): Update. |
| * cppmain.c (scan_buffer): Update. |
| |
| Sun Nov 26 10:02:37 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * fold-const.c (fold, case CONVERT_EXPR): Always return tree of |
| proper type. |
| |
| 2000-11-26 Neil Booth <neilb@earthling.net> |
| |
| * Makefile.in: Remove MAYBE_CPPLIB and maybe_cpplib. |
| * c-decl.c: Remove parse_in declaration. |
| * c-lang.c: Similarly. |
| * c-lex.c: Similarly. |
| * c-parse.in: Similarly. |
| * c-pragma.c: Similarly. |
| * configure.in: Similarly. |
| * cp/Make-lang.in: Similarly. |
| * cp/spew.c: Similarly. |
| * cp/decl2.c: Remove check for lang-c++ option. |
| * cp/lang-specs.h: Remove -lang-c++ from cc1plus command line. |
| * cp/lex.c (lang_init_options): With cpp_reader_init, default to C++. |
| * c-lex.h: Add declaration of parse_in. |
| * cppinit.c: Call set_lang after allocating pfile->pending. |
| * configure: Regenerate. |
| |
| 2000-11-25 Zack Weinberg <zack@wolery.stanford.edu> |
| |
| * combine.c (try_combine): Remove redundant test. |
| |
| 2000-11-25 Richard Henderson <rth@redhat.com> |
| |
| * c-common.h (DECL_C_HARD_REGISTER): New. |
| * c-decl.c (finish_decl): Set it for asm register variables. |
| * c-semantics.c (emit_local_var): Test it when instantiating one. |
| |
| 2000-11-25 Richard Henderson <rth@redhat.com> |
| |
| * c-decl.c (c_expand_body): Use DECL_SOURCE_LINE rather than |
| lineno for the start of the function. |
| |
| 2000-11-25 Richard Henderson <rth@redhat.com> |
| |
| * dwarf2out.c (file_table, file_table_allocated): Remove. |
| (file_table_allocated): Remove. |
| (struct file_table): New. |
| (decl_file_table, line_file_table): New. |
| (print_dwarf_line_table): Use them. |
| (size_of_line_prolog): Likewise. |
| (output_line_info): Likewise. |
| (add_src_coords_attributes): Likewise. |
| (gen_subprogram_die): Likewise. |
| (gen_variable_die): Likewise. |
| (dwarf2out_add_library_unit_info): Likewise. |
| (dwarf2out_line): Likewise. |
| (lookup_filename): Take a struct file_table argument. |
| (init_file_table): New. |
| (dwarf2out_init): Use it. |
| |
| 2000-11-25 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * invoke.texi: Update sequence points references. |
| |
| 2000-11-25 Neil Booth <neilb@earthling.net> |
| |
| * c-common.c: Remove USE_CPPLIB conditional inclusions. |
| * c-common.h: Similarly. |
| * c-decl.c: Similarly. |
| * c-lang.c: Similarly. |
| * c-lex.c: Similarly. |
| * c-parse.in: Similarly. |
| * c-pragma.c: Similarly. |
| * c-pragma.h: Similarly. |
| * gcc.c: Similarly. |
| * toplev.c: Similarly. |
| * cp/cp-tree.h: Similarly. |
| * cp/decl2.c: Similarly. |
| * cp/lang-specs.h: Similarly. |
| * cp/lex.c: Similarly. |
| * cp/lex.h: Similarly. |
| * cp/spew.c: Similarly. |
| * java/lang-options.h: Similarly. |
| * objc/lang-specs.h: Similarly. |
| * objc/objc-act.c: Similarly. |
| |
| * configure.in: Remove configure option. |
| * config.in: Regenerate. |
| * configure: Regenerate. |
| |
| 2000-11-25 Richard Henderson <rth@redhat.com> |
| |
| * haifa-sched.c (sched_analyze_1, sched_analyze_2, sched_analyze): |
| Revert 2000-11-22 change. |
| |
| 2000-11-25 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * config/i386/i386.h (FIXED_REGS): Make the three flags registers |
| fixed. |
| |
| 2000-11-25 Philipp Thomas <pthomas@suse.de> |
| * configure.in (ALL_LINGUAS): Remove en_GB and add sv. |
| * configure: Rebuilt. |
| |
| 2000-11-25 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/sparc.md (muldi3_v8plus): Remove H constraint. |
| Handle CONST_INT as second argument. |
| * config/sparc/sparc.c (set_extends): Remove first argument. |
| Properly handle AND, CONST_INT and CONST_DOUBLE, handle IOR, XOR and |
| MOV. |
| (sparc_check_64): Abort if first argument is not REG. |
| If it is DImode REG, look at the lower register of the register |
| pair. |
| |
| * config/sparc/sparc.c (load_pic_register, restore_regs, |
| output_return, sparc_v8plus_shift, sparc_function_profiler, |
| sparc_function_block_profiler, sparc_block_profiler): Fix output |
| formatting. |
| |
| 2000-11-25 Alexandre Oliva <aoliva@redhat.com> |
| |
| * config/sh/sh.h (TARGET_NONE): New. |
| (TARGET_SWITCHES): For all variant-selecting switch, use |
| TARGET_NONE to reset all other variant-selecting switch. Added |
| empty strings to avoid warnings. |
| (TARGET_DEFAULT): Set to SH1_BIT. |
| |
| * Makefile.in ($(INTL_TARGETS)): Added $(CONFIG_H) for |
| insn-codes.h. |
| |
| * gcc/config/sh/sh.md (sibcalli, sibcalli_pcrel): New insns. |
| (sibcall_pcrel): New insn_and_split. |
| (sibcall, sibcall_value, sibcall_epilogue): New expands. |
| |
| * config/sh/sh.md (GOTaddr2picreg, symGOT2reg, symGOTOFF2reg, |
| symPLT_label2reg, call, call_value): Don't set |
| current_function_uses_pic_offset_table. |
| * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't mark |
| PIC_OFFSET_TABLE_REGNUM as call_used, so that calc_live_regs |
| takes it into account. |
| (FINALIZE_PIC): Delete, useless. |
| (LEGITIMATE_CONSTANT_P): Delete, unused. |
| * config/sh/sh.c (sh_expand_prologue): Don't use |
| current_function_uses_pic_offset_table. Don't special-case |
| PIC_OFFSET_TABLE_REGNUM. Initialize it if it's ever live and |
| PIC is enabled. |
| (sh_expand_epilogue, initial_elimination_offset): Don't |
| special case PIC_OFFSET_TABLE_REGNUM. |
| |
| 2000-11-25 Alexandre Oliva <aoliva@redhat.com>, NIIBE Yutaka <gniibe@m17n.org> |
| |
| * config/sh/sh-protos.h (symbol_ref_operand): Declare. |
| * config/sh/sh.md (UNSPEC_CALLER): New constant. |
| (calli_pcrel, call_valuei_pcrel): Use PIC_REG. |
| (call_pcrel, call_value_pcrel): New insn_and_splits. |
| (call, call_value): Use them. |
| (call_site): New expand. |
| (sym_label2reg, symPLT_label2reg): Adjust to hold call_sites. |
| * config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA) [UNSPEC_CALLER]: |
| Output call_site label. |
| (PREDICATE_CODES): Added symbol_ref_operand. |
| * config/sh/sh.c (symbol_ref_operand): Define. |
| * emit-rtl.c (try_split): Propagate CALL_INSN_FUNCTION_USAGE |
| to CALL_INSNs in the split sequence. |
| |
| 2000-11-24 Nick Clifton <nickc@redhat.com> |
| |
| * config.gcc (v850-*-*): Define c_target_objs and |
| cxx_target_objs. |
| |
| * config/v850/t-v850: Define how to build v850-c.o |
| |
| * config/v850/v850.h (struct data_area_stack_element): Move |
| definition here from v850.c. |
| |
| * config/v850v850.c: Include gcc.h to avoid compile time |
| warning. |
| (push_data_area): Move to v850-c.c. |
| (pop_data_area): Move to v850-c.c. |
| (mark_current_function_as_interrupt): Move to v850-c.c. |
| (GHS_default_section_names): Allow to be exported. |
| (GHS_current_section_names): Allow to be exported. |
| (data_area_stack_elements): Allow to be exported. |
| (ghs_pragma_section): Move to v850-c.c. |
| (ghs_pragma_interrupt): Move to v850-c.c. |
| (ghs_pragma_starttda): Move to v850-c.c. |
| (ghs_pragma_startsda): Move to v850-c.c. |
| (ghs_pragma_startzda): Move to v850-c.c. |
| (ghs_pragma_endtda): Move to v850-c.c. |
| (ghs_pragma_endsda): Move to v850-c.c. |
| (ghs_pragma_endzda): Move to v850-c.c. |
| |
| * config/v850/v850-c.c: New file: Contains v850 specific |
| pragma parsing functions. |
| |
| 2000-11-24 Nick Clifton <nickc@redhat.com> |
| |
| * config.gcc (extra_objs): Remove duplicate description. |
| (c_target_objs): New variable. Contains target specific |
| object files for the gcc C compiler only. |
| (cxx_target_objs): New variable. Contains target specific |
| object files for the gxx C++ compiler only. |
| |
| * configure.in (c_target_objs): Substitute in the makefile. |
| (cxx_target_objs): Substitute in the makefile. |
| * configure: Regenerate. |
| |
| * Makefile.in (C_TARGET_OBJS): Define and initialize from |
| c_target_objs. |
| (CXX_TARGET_OBJS): Define and initialize from |
| cxx_target_objs. |
| (C_AND_OBJC_OBJS): Include C_TARGET_OBJS. |
| |
| * cp/Make-lang.in (CXX_C_OBJS): Include CXX_TARGET_OBJS). |
| |
| * tm.texi (REGISTER_TARGET_PRAGMAS): Add paragraph explaining |
| about how the use of the 'c_lex' function requires the use of |
| the target specific, language specific object files feature of |
| the configuration mechanism. |
| |
| Fri Nov 24 18:50:58 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * gcc.c (process_command): Use F_OK, not R_OK. |
| |
| 2000-11-24 Arno J. Klaassen <arno@heho.snv.jussieu.fr> |
| |
| * flow.c (print_rtl_and_abort): Remove ANSIism. |
| |
| Fri Nov 24 19:54:36 2000 Alexandre Oliva <aoliva@redhat.com> |
| |
| * config/sh/sh.h (GENERAL_REGISTER_P, |
| GENERAL_OR_AP_REGISTER_P, FP_REGISTER_P, XD_REGISTER_P, |
| FP_OR_XD_REGISTER_P, FP_ANY_REGISTER_P): New macros. Use them |
| all over. |
| (SPECIAL_REG): Renamed to SPECIAL_REGISTER_P. |
| * config/sh/sh.c: Use new macros. |
| * config/sh/sh.md: Likewise. |
| |
| Fri Nov 24 19:46:16 2000 Alexandre Oliva <aoliva@redhat.com> |
| |
| * config/sh/sh.md: Clobber MACH_REG and MACL_REG in SImode, |
| instead of just MACH_REG in DImode. Always refer to FPSCR_REG |
| in PSImode. |
| |
| Fri Nov 24 22:37:41 2000 Denis Chertykov <denisc@overta.ru> |
| |
| * config/avr/avr.c (out_tsthi,out_tstsi): Test simplification bug |
| fixed. |
| (machine_dependent_reorg): Wrong optimization based on |
| NOTICE_UPDATE_CC removed. |
| |
| Fri Nov 24 19:48:09 2000 J"orn Rennecke <amylaar@redhat.com> |
| |
| * jump.c (delete_computation): Re-instate deletion of feeding insn. |
| (delete_insn): Look for REG_LABEL notes. |
| (redirect_tablejump): Delete feeding insns. |
| |
| 2000-11-24 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * config/i386/i386.md (call_pop_0, call_pop_1, call_value_pop_0, |
| call_value_pop_1): Make sure operand numbers are contiguous. |
| |
| * fold-const.c (fold_range_test): Avoid crash if LHS or RHS is null. |
| |
| * reload1.c (conflicts_with_override): New function. |
| (emit_input_reload_insns): Use it to tighten test for validity |
| of substituting into output of previous insn. |
| |
| * haifa-sched.c (struct ready_list): New. |
| (ready_lastpos, ready_add, ready_remove_first, ready_sort): New static |
| functions. |
| (schedule_insn): Replace args READY and N_READY with a pointer to a |
| ready_list; return void. Use the new functions to access the ready |
| list. All callers changed. |
| (queue_to_ready, debug_ready_list): Likewise. |
| (schedule_block): Initialize a ready_list structure. Use new |
| functions to access it. |
| (max_priority): Remove unused variable. |
| (schedule_insn): Don't set it. |
| |
| * c-common.c (verify_tree): Don't recurse into CONSTRUCTORs. |
| |
| * combine.c (cant_combine_insn_p): New function. |
| (try_combine): Use it. |
| |
| * Makefile.in (c-common.o): Depend on $(OBSTACK_H). |
| * c-common.c (c-obstack.c): Include "obstack.h". |
| (struct reverse_tree): Delete. |
| (reverse_list, reverse_max_depth): Delete. |
| (build_reverse_tree, common_ancestor, modify_ok): Delete functions. |
| (struct tlist, struct tlist_cache): New. |
| (tlist_obstack, tlist_firstobj, warned_ids, save_expr_cache): New. |
| (add_tlist, merge_tlist, verify_tree, warning_candidate_p, |
| warn_for_collisions, warn_for_collisions_1, new_tlist): New |
| static functions. |
| (verify_sequence_points): Rewritten. |
| * fold-const.c (fold): Don't lose possibly important sequence |
| points when removing one arm of TRUTH_ORIF_EXPRs or TRUTH_ANDIF_EXPRs. |
| |
| 2000-11-24 Richard Sandiford <rsandifo@redhat.com> |
| |
| * gcc/cse.c (cse_insn): Removed conversion of REG_EQUIV to REG_EQUAL |
| when reversing a register-to-register copy. Reversal now disabled |
| when the previous instruction has a REG_EQUIV. |
| |
| 2000-11-24 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * c-parse.in (unary_expr): Move VA_ARG from here ... |
| (primary): ... to here. |
| |
| 2000-11-23 Graham Stott <grahams@redhat.com> |
| |
| * expr.c (store_constructor): If a field is non addressable and |
| the target is a MEM use MEM_ALIAS_SET otherwise use get_alias_set. |
| |
| 2000-11-23 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * flow.c (print_rtl_and_abort): New function. |
| (verify_wide_reg, verify_local_live_at_start): Try to dump more |
| information before aborting. |
| |
| 2000-11-23 Alexandre Oliva <aoliva@redhat.com> |
| |
| * emit-rtl.c (gen_lowpart_common): Use word 0 if register mode |
| is narrower than requested mode. |
| (gen_highpart): Abort if register mode is narrower than |
| requested mode. |
| |
| 2000-11-23 Graham Stott <grahams@redhat.com> |
| |
| * cse.c (cse_insn): Initialize all regcost variables. |
| Fix a typo add missing '='. |
| Only compare costs if there is a replacement insn. |
| |
| Thu Nov 23 04:33:33 2000 Alexandre Oliva <aoliva@redhat.com> |
| |
| * final.c (output_addr_const) [LABEL_REF]: Simplify. |
| [MINUS]: Enclose non-CONST_INTs in parentheses. |
| [default]: Try OUTPUT_ADDR_CONST_EXTRA. |
| * tm.texi (OUTPUT_ADDR_CONST_EXTRA): Document it. |
| * varasm.c (decode_rtx_const) [CONST]: If it's not something |
| PLUS or MINUS a CONST_INT, use the whole CONST with offset 0 |
| instead of abort()ing. |
| * sh.c (output_pic_addr_const): Removed. Fixed all callers. |
| * sh.h (OUTPUT_ADDR_CONST_EXTRA): New. Handle the UNSPECs |
| formerly handled in output_pic_addr_const. |
| * sh.md (sym_label2reg, symPLT_label2reg): Enclose UNSPEC |
| operands of MINUS in CONSTs so that decode_rtx_const() will |
| accept them. |
| |
| Thu Nov 23 04:10:30 2000 Alexandre Oliva <aoliva@redhat.com> |
| |
| * config/sh/sh.md (mova_const): New pattern. |
| (GOTaddr2picreg): Use it. |
| * config/sh/sh.c (broken_move): Match it. |
| (mova_p): Don't match it. |
| (machine_dependent_reorg): Adjust it. |
| |
| Thu Nov 23 02:09:09 2000 Alexandre Oliva <aoliva@redhat.com> |
| |
| * config/sh/sh.h (FIRST_GENERAL_REG, LAST_GENERAL_REG): New. |
| Moved most register-number #defines... |
| * config/sh/sh.md (define_constants): ... here. Use macros to |
| refer to registers and unspecs. |
| * config/sh/sh.c: Likewise. |
| |
| Thu Nov 23 01:01:32 2000 J"orn Rennecke <amylaar@redhat.com> |
| |
| * Makefile.in (HOST_CFLAGS): Add -DGENERATOR_FILE. |
| (rtl.o, print-rtl.o, bitmap.o, obstack.o): Build with -DGENERATOR_FILE. |
| (alloca.o, vfprintf.o, ggc-none.o, errors.o): Likewise. |
| (splay-tree.o, hash.o): Likewise. |
| GCONFIG_H: New. |
| (rtl.o, print-rtl.o): Depend on $(GCONFIG_H) instead of $(CONFIG_H). |
| (bitmap.o, obstack.o, vfprintf.o, ggc-none.o, errors.o): Likewise. |
| (hashtab.o): Likewise. |
| (gcov.o): Depend on $(CONFIG_H). |
| * configure.in: #include insn-codes.h in tm.h. |
| |
| 2000-11-22 Nick Clifton <nickc@redhat.com> |
| |
| * config/arm/arm.c (arm_encode_call_attribute): Make 'newstr' a |
| const char * to avoid a compile time warning. |
| |
| * config/arm/arm.md (define_constants): Define symbolic names for |
| the link register, last integer register and the fake CC register. |
| Update patterns to use these symbolic names. |
| |
| 2000-11-22 Neil Booth <neilb@earthling.net> |
| |
| * cpplex.c (trigraph_ok): Ensure we don't warn twice. |
| * cpplib.h (struct cpp_buffer): New member last_Wtrigraphs. |
| |
| 2000-11-22 Richard Henderson <rth@redhat.com> |
| |
| * haifa-sched.c (sched_analyze_1): Don't special-case calls |
| for clobbering registers. |
| (sched_analyze_2): Likewise. |
| (sched_analyze): Zap reg_last_uses and reg_last_sets after calls. |
| |
| 2000-11-22 Chris Demetriou <cgd@sibyte.com> |
| Neil Booth <neilb@earthling.net> |
| |
| * gcc.c (validate_switches): Validate multiple switches named |
| in '|' (or) expressions in specs. |
| (handle_braces): If more than 1 alternative in a '|' spec |
| matches, call do_spec1 just once. |
| |
| 2000-11-22 Michael Meissner <meissner@redhat.com> |
| |
| * d30v.h (TARGET_SWITCHES): Add documentation strings. |
| (TARGET_OPTIONS): Ditto. |
| (OPTIMIZATION_OPTIONS): Temporarily turn off -frename-registers if |
| -O3. |
| |
| Wed Nov 22 06:40:56 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * pa.c (hppa_encode_label): Account for addition of encoding |
| character when allocating persistent space for the new label |
| name. |
| |
| 2000-11-22 Zack Weinberg <zack@wolery.stanford.edu> |
| |
| * Makefile.in, config.gcc, configure.in: Expunge remaining |
| traces of facility for running MD files through C preprocessor. |
| |
| 2000-11-22 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * gcov.texi: Add magic comments for texi2pod.pl. |
| * Makefile.in: Add rules to generate and install gcov.1. |
| * gcov.1: New (generated) file. |
| |
| 2000-11-21 Richard Henderson <rth@redhat.com> |
| |
| * regrename.c (scan_rtx_reg): Terminate the chain rather than |
| abort on mark_read with NO_REGS. |
| |
| 2000-11-21 Mike Stump <mrs@wrs.com> |
| |
| * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Fix to allow |
| compilation with older compilers, such as /bin/cc on SunOS. |
| * fixinc/fixfixes.c (FIX_PROC_HEAD): Ditto. |
| |
| 2000-11-21 Richard Henderson <rth@redhat.com> |
| |
| * varasm.c (record_constant): Pad the constructed |
| constant_descriptor appropriately. |
| |
| Wed Nov 22 00:52:55 2000 J"orn Rennecke <amylaar@redhat.com> |
| |
| * rtl.h (traverse_md_constants): Declare. |
| (struct md_constant): Define. |
| * Makefile.in (HOST_RTL): Add hashtab.o . |
| (OBJS): Add hashtab.o . |
| (hashtab.o): New rule. |
| (rtl.o): Depends on HASHTAB_H. |
| * rtl.c (hashtab.h): #include. |
| (md_constants): New static variable. |
| (def_hash, def_name_eq_p, read_constants): New static functions. |
| (traverse_md_constants): New function. |
| (read_name): Do constant expansion. |
| (read_rtx): Recognize define_constants. |
| * gencodes.c (print_md_constant): New function. |
| (main): Emit #defines for all constant definitions encountered. |
| * md.texi (Constant Definitions): New node. |
| * gensupport.c (xcalloc): New function. |
| |
| 2000-11-21 Richard Henderson <rth@redhat.com> |
| |
| * config/alpha/alpha.c (alpha_split_tfmode_frobsign): New. |
| * config/alpha/alpha-protos.h: Declare it. |
| * config/alpha/alpha.md (abstf_internal): Use it. |
| (negtf_internal): Likewise. |
| (andnotdi3): Unstar the name. |
| (movtf_internal): Add o/G alternative. |
| |
| 2000-11-21 Zack Weinberg <zack@wolery.stanford.edu> |
| |
| * stringpool.c (stringpool_statistics): Also report number and |
| percentage of entries which are identifiers. |
| |
| 2000-11-21 Diego Novillo <dnovillo@redhat.com> |
| |
| * gcse.c (hoist_expr_reaches_here_p): Do not mark expr_bb as |
| visited before visiting it. |
| |
| 2000-11-21 Nick Clifton <nickc@redhat.com> |
| |
| * config/arm/arm.h: Accept TARGET_CPU_arm9tdmi, |
| TARGET_CPU_strongarm110 and TARGET_SPU_strongarm1100. |
| |
| * config.gcc: Accept --with-cpu=arm9 and --with-cpu=arm9tdmi. |
| |
| 2000-11-21 Richard Henderson <rth@redhat.com> |
| |
| * c-common.c (c_unsafe_for_reeval): New function. |
| (add_c_tree_codes): Register it. |
| * c-common.h: Declare it. |
| * tree.c (lang_unsafe_for_reeval): New hook. |
| (unsafe_for_reeval): Call it. |
| * tree.h: Declare it. |
| |
| 2000-11-21 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify @GOT |
| references as well. |
| |
| 2000-11-21 Neil Booth <neilb@earthling.net> |
| |
| * do_includes: Revert to using cpp_read_file. |
| |
| 2000-11-21 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * loop.c (consec_sets_giv): If the reg we're examining is anything |
| but UNKNOWN_INDUCT, do nothing. |
| Reset the reg's type to UNKNOWN_INDUCT before returning. |
| |
| Mostly from Vladimir Makarov (vmakarov@redhat.com) |
| * ia64.md (attr itanium_class): Define insn types as described in |
| Itanium docs. |
| (all insn patterns): Use itanium_class, not type attributes. |
| Occasionally split alternatives as necessary. |
| (attr type): Compute from new attr itanium_class. |
| |
| 2000-11-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * tradcpp.c (output_line_command): Mark system headers as such in |
| `line' commands. |
| |
| 2000-11-21 Jakub Jelinek <jakub@redhat.com> |
| |
| * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): SPARC has .file/.loc |
| support in as as well. |
| * configure: Regenerate. |
| |
| 2000-11-20 Richard Henderson <rth@redhat.com> |
| |
| * c-lex.c (orig_filename): New variable. |
| (init_c_lex): Set it. Move call to cpp_start_read ... |
| (yyparse): ... here. New function. |
| * c-parse.in (yyparse_1): Rename the parser entry point. |
| * c-tree.h: Declare it. |
| |
| 2000-11-21 Jakub Jelinek <jakub@redhat.com> |
| |
| * expr.c (do_compare_and_jump): If op0 was replaced by promoted |
| integer constant, use type of op1 for comparison. |
| |
| 2000-11-20 Stan Shebs <shebs@apple.com> |
| |
| * config/rs6000/xm-darwin.h: New file, Darwin host definitions. |
| * config/rs6000/x-darwin: New file, Darwin host fragment. |
| * config.gcc (powerpc-*-darwin*): New host. |
| * system.h (HAVE_DESIGNATED_INITIALIZERS): Allow this to be |
| overridden by a config file. |
| |
| 2000-11-20 Neil Booth <neilb@earthling.net> |
| |
| * cppmacro.c (paste_tokens): Rename from paste_payloads. |
| Change token type after pasting spellings. |
| (paste_all_tokens): Use it. |
| * gcc.dg/cpp/paste2.c: Update test. |
| * objc/execute/paste.m: New test. |
| |
| 2000-11-20 Richard Henderson <rth@redhat.com> |
| |
| * dwarf.h (FMT_CODE): Adjust argument order; fix mapping to |
| dwarf_subscr_data_formats bits. |
| * dwarfout.c (simple_type_size_in_bits): Handle a type with |
| no computed size as size zero. |
| (field_byte_offset): Likewise. |
| (subscript_data_attribute): Handle a range with no upper bound. |
| |
| 2000-11-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * gansidecl.h (const): Check __STDC__ before undef'ing `const'. |
| |
| 2000-11-20 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-typeck.c (build_conditional_expr): When merging type |
| qualifiers for conditional expressions between a pointer and a |
| pointer to a void type, merge the qualifiers on the target types |
| rather than the pointer type. Remove obsolete conditioned out |
| code. |
| |
| 2000-11-20 Neil Booth <neilb@earthling.net> |
| |
| * c-lang.c (lang_init_options): Update call to |
| cpp_reader_init. |
| * cppmain.c (main): Similarly. |
| * fix-header.c (read_scan_file): Similarly. |
| * cp/lex.c (lang_init_options): Similarly. |
| * objc/objc-act.c (lang_init_options): Similarly. |
| * cppexp.c (parse_number): Only warn for unextended C89. |
| * cppinit.c (set_lang): New function. |
| (cpp_reader_init): Take a LANG argument and pass it to set_lang. |
| (COMMAND_LINE_OPTIONS): New option std=c++98. |
| (cpp_handle_option): Use set_lang. |
| * cpplex.c (_cpp_lex_token): Warn pedantically if not C99. |
| * cppib.h (enum_c_lang): New enumeration. Update comments. |
| |
| 2000-11-20 Will Cohen <wcohen@redhat.com> |
| |
| * calls.c (expand_call): Clear target only when target is in |
| hard register and current_function_check_memory_usage is set. |
| |
| 2000-11-20 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * toplev.c (rest_of_compilation): Run optimize_mode_switching even |
| if not optimizing. |
| * sh.c (emit_sf_insn, emit_df_insn): Just call emit_insn. |
| |
| 2000-11-19 Richard Henderson <rth@redhat.com> |
| |
| * crtstuff.c (force_to_data): Use array size 1 not 0. |
| |
| * dwarf2out.c (simple_type_size_in_bits): Handle a type with |
| no computed size as size zero. |
| (field_byte_offset): Likewise. |
| |
| 2000-11-20 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * config.gcc: Fix another typo. |
| |
| 2000-11-19 Richard Henderson <rth@redhat.com> |
| |
| * c-decl.c (grokdeclarator): Support flexible array members. |
| Use open-ended ranges for these and zero-length arrays. |
| * c-typeck.c (push_init_level): Validate the context of |
| initialization of a zero-length array. |
| * tree.c (int_fits_type_p): Be prepared for missing bounds. |
| * varasm.c (array_size_for_constructor): New. |
| (output_constructor): Use it for arrays of unspecified length. |
| * extend.texi (Zero Length): Mention C99 flexible array members. |
| Document initialization in a top-level struct as valid. |
| |
| 2000-11-19 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * config.gcc, invoke.texi: Fix errors in spelling of "deprecated". |
| |
| * alias.c (mems_in_disjoint_alias_sets_p): Do use alias sets in |
| stdarg and varargs functions. |
| |
| 2000-11-19 Zack Weinberg <zack@wolery.stanford.edu> |
| |
| * gcc.c (process_command): Define 'j' variable when |
| MODIFY_TARGET_NAME is defined. |
| |
| 2000-11-19 Richard Henderson <rth@redhat.com> |
| |
| * stor-layout.c (variable_size): Only put SAVE_EXPRs on pending_sizes. |
| |
| 2000-11-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> |
| |
| * rs6000/rs6000.c (rs6000_encode_section_info): Fix string length |
| calculation and allocation. |
| |
| 2000-11-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * builtins.c (c_getstr): Constify variable. |
| * gmon-sol2.c (_mcleanup): Comment out #endif labels. |
| * conflict.c (const_conflict_graph_arc): New typedef. |
| (arc_hash, arc_eq): Avoid needlessly casting away const-ness. |
| * cppmacro.c (builtin_macro): Likewise. |
| * dwarf2out.c (output_comp_unit): Constify variable. |
| * fix-header.c (v_fatal): Add ATTRIBUTE_PRINTF. |
| * protoize.c (IS_SAME_PATH_CHAR): Use TOUPPER, not toupper. |
| * ssa.c (ssa_rename_from_hash_function): Avoid needlessly casting |
| away const-ness. |
| * tradcpp.c (rescan, do_line, macroexpand, macarg): Use |
| ISALNUM/ISDIGIT/ISPRINT, not isalnum/isdigit/isprint. |
| * varasm.c (const_str_htab_hash, const_str_htab_eq, |
| compare_constant_1, record_constant_1): Constify. |
| |
| 2000-11-18 Richard Henderson <rth@redhat.com> |
| |
| * c-decl.c (grokdeclarator): Special case the creation of an |
| index for a zero-length array. |
| * tree.c (build_index_type): Revert Oct 20 change. |
| |
| 2000-11-18 Marek Michalkiewicz <marekm@linux.org.pl> |
| |
| * config/avr/avr-protos.h (avr_output_addr_vec_elt): Prototype. |
| * config/avr/avr.c (jump_tables_size): New variable. |
| (function_prologue): Initialize it as 0. |
| (function_epilogue): Add it to function_size. |
| (avr_output_addr_vec_elt): New function. Count words in jump |
| tables in jump_tables_size. Move code ... |
| * config/avr/avr.h (ASM_OUTPUT_ADDR_VEC_ELT): ... from here. |
| Call avr_output_addr_vec_elt instead. |
| * config/avr/avr.md (tablejump): Remove disabled define_expand. |
| |
| 2000-11-18 Mark Mitchell <mark@codesourcery.com> |
| |
| * configure.in: Make --enable-new-gxx-abi the default. |
| * configure: Likewise. |
| |
| 2000-11-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * Makefile.in (tradcpp.o, tradcif.o): Depend on tradcpp.h. |
| |
| * tradcif.y: Include tradcpp.h. Constify. Make functions static. |
| Move extern function declarations to tradcpp.h. |
| |
| * tradcpp.c: Likewise. |
| |
| * tradcpp.h: New file. |
| |
| 2000-11-18 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-decl.c (check_for_loop_decls): New function. |
| * c-parse.in (for_init_stmt): New. |
| (select_or_iter_stmt): Use for_init_stmt. |
| * c-tree.h (check_for_loop_decls): New declaration. |
| |
| 2000-11-18 Neil Booth <neilb@earthling.net> |
| |
| * cppinit.c: Update comments. |
| (cpp_reader_init): Make -imacro and -include use the standard |
| #include "" search path. |
| (do_includes): New function. |
| |
| 2000-11-18 Ben Elliston <bje@redhat.com> |
| |
| * config/sh/crt1.asm (start_l): Move PC-relative move instruction |
| out of a branch delay slot. |
| |
| 2000-11-17 Richard Henderson <rth@redhat.com> |
| |
| * config/alpha/elf.h (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG. |
| (ASM_SPEC): Disable and enable .mdebug based on -gstabs. |
| (ASM_FILE_START): Only write out ecoff .file directive if |
| emitting mdebug debugging. |
| |
| 2000-11-17 Richard Henderson <rth@redhat.com> |
| |
| * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): New. Detect |
| whether as accepts .file/.loc and produces dwarf2 line info. |
| * dwarf2out.c (DWARF2_ASM_LINE_DEBUG_INFO): Default on if |
| the assembler supports it. |
| * config.in, configure: Regenerate. |
| |
| 2000-11-17 Richard Henderson <rth@redhat.com> |
| |
| * fixinc/mkfixinc.sh: Don't disable fixincludes for any linux*. |
| |
| 2000-11-17 Jim Wilson <wilson@redhat.com> |
| |
| * config/ia64/ia64.c (emit_insn_group_barriers, case CALL_INSN): |
| Don't clear need_barrier is next_insn is a CALL_INSN, or has |
| instruction type B or UNKNOWN. |
| |
| 2000-11-17 Neil Booth <neilb@earthling.net> |
| |
| * cpperror.c (print_file_and_line): Don't display line number if 0. |
| |
| 2000-11-17 Zack Weinberg <zack@wolery.stanford.edu> |
| |
| * ggc.h: Delete ggc_add_string_root and ggc_mark_string. Add |
| digit_vector and digit_string. |
| * stringpool.c (digit_vector): New. |
| (ggc_alloc_string): Use digit_string. |
| |
| * stmt.c (digit_strings): Delete. |
| (init_stmt): Do not initialize digit_strings. |
| (expand_asm_operands): Use ggc.h's digit_string macro. |
| * toplev.c (mark_file_stack): Delete. |
| (compile_file): Don't call init_tree_codes. |
| (main): No need to make the file stack a GC root. |
| * tree.c (init_tree_codes): Delete. |
| * tree.h (init_tree_codes): Delete. |
| |
| * c-lex.c: Don't include ggc.h. |
| (mark_splay_tree_node, mark_splay_tree): Delete. |
| (init_c_lex): No need to ggc_strdup string constant. Don't add |
| file_info_tree to GGC roots. |
| (cb_enter_file, cb_rename_file): No need to ggc_strdup |
| ip->nominal_fname. |
| |
| * Makefile.in (c-lex.o): No longer depends on $(GGC_H). |
| |
| * dbxout.c (dbxout_init), |
| dwarf2out.c (dwarf2out_line), |
| ggc-common.c (ggc_mark_rtx_children, ggc_mark_trees), |
| varasm.c (mark_const_hash_entry, mark_pool_constant, init_varasm_once), |
| xcoffout.c (xcoffout_source_file), |
| i386.c (load_pic_register): |
| Delete call(s) to ggc_add_string_root and/or ggc_mark_string. |
| |
| * except.c (create_rethrow_ref), |
| profile.c (init_edge_profiler), |
| toplev.c (compile_file), |
| varasm.c (named_section, assemble_static_space, |
| assemble_trampoline_template, output_constant_def, force_const_mem), |
| i386.c (load_pic_register), |
| ia64.c (ia64_encode_section_info), |
| rs6000.c (rs6000_emit_load_toc_table, create_TOC_reference, |
| rs6000_emit_prologue, rs6000_emit_epilogue), |
| rs6000.md (load_toc_aix_si, load_toc_aix_di): |
| Change ggc_alloc_string (var, -1) to ggc_strdup (var). |
| |
| * profile.c (output_func_start_profiler), |
| tree.c (make_node), |
| i386.c (load_pic_register): No need to ggc_strdup string constant. |
| |
| 2000-11-17 Hans-Peter Nilsson <hp@axis.com> |
| |
| * Makefile.in (config.status): Depend on config.gcc. |
| * configure.in <for machine in $build $host $target>: Move |
| contents of loop into config.gcc, removing autoconf quoting. |
| Fix changequote bug for alpha*-*-vxworks*. |
| * configure: Regenerate. |
| * config.gcc: New. |
| |
| 2000-11-16 Zack Weinberg <zack@wolery.stanford.edu> |
| |
| * c-parse.in (if_prefix): Find the filename and line number at |
| $-2 and $-1 respectively. |
| * diagnostic.c (error_recursion): Add missing newline, use |
| fputs, translate string. |
| |
| 2000-11-16 Zack Weinberg <zack@wolery.stanford.edu> |
| |
| * stringpool.c: New file. |
| * ggc-common.c (ggc_mark_string_ptr, ggc_add_string_root): Delete. |
| (ggc_alloc_string): Now in stringpool.o. |
| * ggc-page.c, ggc-simple.c: Do not define or allocate empty_string. |
| * ggc.h: Delete prototype of ggc_add_string_root. #define |
| ggc_add_string_root and ggc_mark_string to nothing. Prototype |
| init_stringpool and stringpool_statistics. |
| (ggc_alloc_string): Returns a const char *. |
| * tree.c (hash_table, do_identifier_warnings): Delete. |
| (init_obstacks): Don't initialize the identifier hash table. |
| (get_identifier, maybe_get_identifier, start_identifier_warnings, |
| set_identifier_size): Now in stringpool.c. |
| * tree.h (struct tree_string): Constify pointer field. |
| (approx_sqrt): Prototype. |
| |
| * Makefile.in (stringpool.o): Add rule, mention in OBJS. |
| |
| * toplev.c (approx_sqrt): New function. |
| (compile_file): Call stringpool_statistics if mem_report is on. |
| (main): Call init_stringpool. |
| |
| * builtins.c (c_strlen), c-decl.c (finish_decl), c-lex.c |
| (process_directive), c-typeck.c (constructor_asmspec, struct |
| initializer_stack, start_init), except.c (create_rethrow_ref), |
| stmt.c (digit_strings), toplev.c (decode_f_option), tree.c |
| (built_in_filename), varasm,c (in_named_name, |
| assemble_static_space, struct constant_descriptor, struct |
| deferred_string, struct pool_constant, force_const_mem), |
| i386.c (pic_label_name, global_offset_table_name), rs6000.c |
| (rs6000_emit_prologue, rs6000_emit_epilogue) : Constify a char *. |
| |
| * c-common.c (combine_strings): Combine strings in scratch |
| buffer, then pass to build_string. |
| * optabs.c (init_libfuncs), profile.c (init_edge_profiler, |
| output_func_start_profiler), stmt.c (init_stmt), alpha.c |
| (alpha_need_linkage), arm.c (arm_encode_call_attribute), |
| i386.c (load_pic_register), ia64.c (ia64_encode_section_info), |
| rs6000.c (rs6000_encode_section_info): Create string in |
| scratch buffer, then pass to ggc_alloc_string. |
| |
| * stmt.c (expand_asm_operands): If we must adjust the |
| constraint strings, do so by creating a new one, not by |
| modifying the old one in place. Constify some char *s. |
| * config/pa/pa.c (hppa_encode_label): Drop unnecessary second |
| argument. Create string in scratch buffer, then pass to |
| ggc_alloc_string. |
| * config/pa/pa-protos.h: Update prototype. |
| * config/pa/elf.h, config/pa/pa.h, config/pa/som.h: |
| hppa_encode_label takes only one argument. |
| |
| 2000-11-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * mcore.c (mcore_expand_prolog): Call xmalloc/xrealloc, not |
| malloc/realloc. |
| |
| * cpplib.c (glue_header_name): Likewise. |
| |
| * fixincl.c (run_compiles, start_fixer): Likewise. |
| |
| * fixlib.c (load_file_data): Likewise. |
| |
| * mkdeps.c (munge): Likewise. |
| |
| 2000-11-17 Hans-Peter Nilsson <hp@axis.com> |
| |
| * defaults.h [EH_FRAME_SECTION_ASM_OP] (EH_FRAME_SECTION): Remove |
| trailing ';'. Fix formatting. |
| |
| 2000-11-16 Jim Wilson <wilson@redhat.com> |
| |
| * config/ia64/ia64.h (MASK_INLINE_DIV_LAT, MASK_INLINE_DIV_THR): |
| Shift masks left by one to avoid conflict. |
| |
| * config/ia64/ia64.c (ia64_encode_section_info): Disallow decls with |
| DECL_EXTERNAL set. |
| |
| 2000-11-16 Nick Clifton <nickc@redhat.com> |
| |
| * config/arm/arm.c (output_arm_prologue): Note nested functions. |
| (arm_expand_prologue): For nested functions preserve the |
| static chain register during stack frame creation. |
| |
| * config/arm/arm.h (STATIC_CHAIN_REGNUM): Change to 12. |
| (ARM_INITIAL_FRAME_ELIMINATION_OFFSET): For a nested function |
| with a stack frame there is a 4 byte gap between the arg |
| pointer and the hard frame pointer (used to preserve the |
| static chain register during stack frame creation). |
| |
| 2000-11-16 DJ Delorie <dj@redhat.com> |
| |
| * rtl.c (read_rtx): Provide suitable names for unnamed |
| define_insn and define_insn_and_split patterns, based on file |
| and line numbers. |
| |
| 2000-11-15 Neil Booth <neilb@earthling.net> |
| |
| * cpplib.c (start_directive, end_directive): New functions. |
| (_cpp_handle_directive, run_directive): Use them. |
| (_cpp_handle_directive): Don't -Wtraditional on indented |
| null directives. |
| (_cpp_push_buffer): Don't re-clear was_skipping. |
| * cpplib.h (struct cpp_reader): New member la_saved. |
| * cppmacro.c (cpp_get_token): Don't interpret _Pragma in |
| directives. |
| |
| gcc.dg/cpp/_Pragma1.c: Update. |
| gcc.dg/cpp/_Pragma2.c: New test. |
| |
| 2000-11-15 Mark Mitchell <mark@codesourcery.com> |
| |
| * toplev.c (wrapup_global_declarations): Don't write out |
| artificial static variables that aren't needed. |
| |
| 2000-11-15 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * ia64.c (struct group): New structure. |
| (last_group): New static array. |
| (group_idx): New static variable. |
| (emit_group_barrier_after, errata_find_address_regs, errata_emit_nops): |
| New static functions. |
| (emit_insn_group_barriers): Initialize and keep track of group_idx |
| and last_group. |
| Call errata_emit_nops if TARGET_B_STEP or TARGET_A_STEP. |
| Replace all calls to emit_insn_after that emit a group barrier to use |
| emit_group_barrier_after. |
| * ia64.h (MASK_B_STEP): New. |
| (other MASK_XXX macros): Renumbered. |
| (TARGET_B_STEP): New. |
| (TARGET_SWITCHES): Add -mb-step. |
| |
| 2000-11-15 Fred Fish <fnf@be.com> |
| |
| * fixinc/mkfixinc.sh (fixincludes): Add *-*-beos* to list of |
| machines for which fixincludes is not needed. |
| * config/i386/x-beos (STMP_FIXPROTO): Don't run fixproto. |
| |
| 2000-11-15 Jason Merrill <jason@redhat.com> |
| |
| * diagnostic.c (finish_abort): New fn. |
| (fancy_abort, error_recursion): Use it. |
| * toplev.c (crash_signal): Likewise. |
| * diagnostic.h: Declare it. |
| |
| 2000-11-13 Andrew Haley <aph@redhat.com> |
| |
| * tree.c (build_type_no_quals): New function. |
| * tree.h (build_type_no_quals): Declare. |
| * c-common.c (c_get_alias_set): When considering type |
| compatibility for pointer types, ignore cv-qualifiers anywhere in |
| a pointer chain. |
| |
| 2000-11-15 Graham Stott <grahams@redhat.com> |
| |
| * regrename.c (scan_rtx_rtx): Skip to the next chain on |
| encountering a terminated chain. |
| |
| 2000-11-14 Mark Mitchell <mark@codesourcery.com> |
| |
| * configure.in: Move check for V3 above check for C++ header-file |
| directory. |
| * configure: Regenerated. |
| |
| 2000-11-14 DJ Delorie <dj@redhat.com> |
| |
| * config/v850/v850.c: Remove obstacks. |
| |
| Tue Nov 14 21:54:31 2000 Marek Michalkiewicz <marekm@linux.org.pl> & Denis Chertykov <denisc@overta.ru> |
| |
| * config/avr/avr.c (avr_case_values_threshold): New. |
| (avr_override_options): Set it depending on options, make it large |
| when not optimizing to work around "unable to generate reloads". |
| |
| * config/avr/avr.h (TARGET_SWITCHES): Add -mno-tablejump option. |
| (EXTRA_SECTION_FUNCTIONS): Make the .progmem.gcc_sw_table section |
| executable if not AVR_MEGA. Make sure jump tables are word-aligned. |
| (JUMP_TABLES_IN_TEXT_SECTION): Define as 0, not 1. |
| (ASM_OUTPUT_ADDR_VEC_ELT): Optimize, use "rjmp" if not AVR_MEGA. |
| (avr_case_values_threshold): Declare as extern int. |
| (CASE_VALUES_THRESHOLD): Define as avr_case_values_threshold. |
| |
| * config/avr/avr.md (tablejump): Removed. |
| (*tablejump_rjmp): New for jump tables made from "rjmp" instructions. |
| (*tablejump_lib, *tablejump_enh, *tablejump): Change to expect the |
| index in the table, not multiplied by 2. |
| (casesi): Change to match the above insns. Always enable. |
| |
| * config/avr/libgcc.S (__tablejump__): Rename to __tablejump2__. |
| Change to expect the word address of the table, multiply it by 2 |
| here and not in the caller. Change "adiw" to faster "inc". |
| |
| 2000-11-14 Neil Booth <neilb@earthling.net> |
| |
| * cppexp.c (parse_defined): Call cpp_get_token not |
| _cpp_get_token. |
| (lex): Similarly. |
| * cpplex.c (cpp_output_line): Similarly. |
| * cpplib.c (glue_header_name, do_line, do_ident, |
| parse_answer, parse_assertion): Similarly. |
| (_cpp_handle_diretive): Don't save to lookaheads |
| when processing directives. |
| * cppmacro.c (parse_arg, expand_arg): Call cpp_get_token not |
| _cpp_get_token. |
| (funlike_invocation_p): Don't save to lookaheads |
| when pre-expanding arguments. |
| (_cpp_get_token): Delete. |
| (cpp_get_token): Merge contents of _cpp_get_token. |
| |
| 2000-11-14 Jakub Jelinek <jakub@redhat.com> |
| |
| * builtins.c (expand_builtin_setjmp): Set |
| current_function_calls_setjmp. |
| (expand_builtin_longjmp): Set current_function_calls_longjmp. |
| |
| * config/sparc/sparc.md (builtin_setjmp_setup): New expand. |
| (do_builtin_setjmp_setup): New insn. |
| |
| Tue Nov 14 12:34:56 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * tree.c (get_unwidened): Use host_integerp and tree_low_cst. |
| (int_fits_type_p): For variable bounds, call force_fit_type. |
| |
| 2000-11-14 Jakub Jelinek <jakub@redhat.com> |
| |
| * varasm.c (struct deferred_string): New structure. |
| (const_str_htab): New variable. |
| (STRHASH): New macro. |
| (mark_const_str_htab_1, mark_const_str_htab, const_str_htab_hash, |
| constr_str_htab_eq, const_str_htab_del): New functions. |
| (output_constant_def): Add DEFER argument, defer string |
| constants until mark_constant_pool time if requested. |
| (mark_constant_pool): Walk the insn chain even if const_str_htab is |
| not empty. |
| (mark_constants): If a SYMBOL_REF for deferred string is found, |
| output it and remove from hash table. |
| (output_addressed_constants): Set DEFER to 0 in call to |
| output_constant_def. |
| * rtl.h (STRING_POOL_ADDRESS_P): Define. |
| (output_constant_def): Adjust prototype. |
| * expr.c (expand_expr): Set DEFER to 1 in call to output_constant_def. |
| |
| 2000-11-14 Chandrakala Chavva <cchavva@redhat.com> |
| |
| * optabs.c (expand_complex_ab):: Use overflow-trapping optabs for |
| signed types if flag_trapv. |
| |
| 2000-11-14 Zack Weinberg <zack@wolery.stanford.edu> |
| |
| * tradcpp.c, tradcif.y: Update FSF mailing address, delete |
| reference to GPLv1. |
| |
| 2000-11-14 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.h (CTI_C_SIZE_TYPE): Update comment. |
| |
| 2000-11-14 Jakub Jelinek <jakub@redhat.com> |
| |
| * varasm.c (struct varasm_status): Change x_const_rtx_sym_hash_table |
| to array of pool_constnat pointers. |
| (struct pool_constant): Add next_sym and label members. |
| (struct pool_sym): Remove. |
| (init_varasm_status): Change pool_sym into pool_constant. |
| (mark_pool_constant): Mark pc->label string as well. |
| (mark_pool_sym_hash_table): Remove. |
| (mark_varasm_status): Remove it from caller as well. |
| (free_varasm_status): Don't free pool_sym structures. |
| (force_const_mem): Don't allocate pool_sym structure, instead |
| fill pool->label and chain it into rtx_sym hash table. |
| (find_pool_constant, mark_constant_pool): Use pool_constant instead |
| of pool_sym. |
| |
| 2000-11-14 Jakub Jelinek <jakub@redhat.com> |
| |
| * reload1.c (emit_input_reload_insns): Honor forcing of constants |
| into memory by PREFERRED_RELOAD_CLASS NO_REGS. |
| |
| 2000-11-14 Michael Matz <matzmich@cs.tu-berlin.de> |
| |
| * dominance.c: New file. |
| * Makefile.in (OBJS): Add dominance.o. |
| |
| * flow.c (compute_flow_dominators): Remove. |
| (compute_immediate_dominators): Remove. |
| (compute_immediate_postdominators): Remove. |
| * basic-block.h: Remove their prototypes. |
| (calculate_dominance_info): Add prototype. |
| |
| * dce.c (eliminate_dead_code): Change calls to above functions. |
| Don't compute dominators but only immediate dominators. |
| * flow.c (flow_loops_find): Change callers. |
| * gcse.c (compute_code_hoist_data): Likewise. |
| * haifa-sched.c (schedule_insns): Likewise. |
| * ifcvt.c (if_convert): Likewise. |
| * ssa.c (convert_to_ssa): Likewise, and only compute immediate |
| dominators. |
| |
| 2000-11-14 Richard Henderson <rth@redhat.com> |
| |
| * stmt.c (warn_if_unused_value): Don't warn if the expression |
| has side effects. |
| |
| * c-typeck.c (c_sizeof): Fold result to c_size_type_node. |
| (c_sizeof_nowarn, c_alignof, c_alignof_expr): Likewise. |
| |
| 2000-11-13 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> |
| |
| * loop.c (basic_induction_var): Revert accidental checkin. |
| |
| 2000-11-13 Hans-Peter Nilsson <hp@axis.com> |
| |
| * c-lex.c (cb_leave_file): Harmonize conditions and order of |
| statements to those of process_directive for (action == act_pop). |
| |
| * collect2.c (main): Pass on -B options from COLLECT_GCC_OPTIONS. |
| |
| * local-alloc.c (equiv_init_movable_p): References to CC0 are not |
| movable. |
| |
| 2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-parse.in (stmts_and_decls): Deprecate use of label at end of |
| compound statement. |
| |
| 2000-11-13 Neil Booth <neilb@earthling.net> |
| |
| * cpplex.c (_cpp_lex_token): CPP_COMMENT and true CPP_EOF |
| cases return without MI check. |
| * cpplib.c (do_diagnostic): Take boolean of whether to |
| print the directive name. |
| (do_error, do_warning): Update. |
| (do_pragma_dependency): Use it. |
| * cpplib.h (VARARGS_FIRST): Delete. |
| (struct cpp_token): Delete integer. |
| * cppmacro.c (enter_macro_context): Move disabled check |
| to _cpp_get_token. |
| (_cpp_get_token): Simplify into a single loop. |
| |
| 2000-11-13 Richard Earnshaw <rearnsha@arm.com> |
| |
| * configure.in: Use 'test -f' not '[ -e'. |
| * configure: Regenerated. |
| |
| 2000-11-13 DJ Delorie <dj@redhat.com> |
| |
| * config/mn10300/mn10300.md (store_movm): Note which registers are |
| really used or clobbered. |
| |
| 2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-parse.in (ends_in_label): Remove from %union and %type. |
| (decls, stmts, lineno_stmt_or_labels, xstmts, |
| lineno_stmt_or_label, stmt_or_label): Remove. |
| (stmts_and_decls, lineno_stmt_decl_or_labels_ending_stmt, |
| lineno_stmt_decl_or_labels_ending_decl, |
| lineno_stmt_decl_or_labels_ending_label, |
| lineno_stmt_decl_or_labels_ending_error, |
| lineno_stmt_decl_or_labels, compstmt_contents_nonempty, |
| lineno_stmt, lineno_label): New. |
| (compstmt_nostart): Use compstmt_contents_nonempty. |
| |
| 2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (boolean_increment): New function. |
| * c-common.h (enum c_tree_index): Add CTI_C_BOOL_TYPE, |
| CTI_C_BOOL_TRUE and CTI_C_BOOL_FALSE. |
| (c_bool_type_node, c_bool_true_node, c_bool_false_node): Define. |
| (boolean_increment): Declare. |
| * c-convert.c (convert): Allow for BOOLEAN_TYPE. |
| * c-decl.c (init_decl_processing): Create boolean nodes. |
| (finish_struct): Allow for _Bool bitfields. |
| * c-parse.in (reswords): Add _Bool. |
| (rid_to_yy): Allow for RID_BOOL. |
| * c-typeck.c (default_conversion): Make booleans promote to int. |
| (convert_arguments, build_unary_op, build_modify_expr, |
| convert_for_assignment): Allow for booleans. |
| * ginclude/stdbool.h: Make conforming to C99. |
| |
| 2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-parse.in (c99_block_start, c99_block_end, |
| c99_block_lineno_labeled_stmt): New. |
| (simple_if, do_stmt_start): Use c99_block_lineno_labeled_stmt. |
| (stmt): Split off selection and iteration statements into... |
| (select_or_iter_stmt): New. Use c99_block_lineno_labeled_stmt. |
| |
| 2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * invoke.texi (-Wtrigraphs, -fdump-translation-unit, -save-temps, |
| -time): Update. |
| |
| 2000-11-13 Richard Earnshaw <rearnsha@arm.com> |
| |
| * arm.md (mulsidi3adddi, umulsidi3adddi): Revert previous change. |
| Rewrite to avoid use of match_dup. Don't try to tie registers that |
| are not in the same mode. |
| |
| 2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * invoke.texi: Update lists of languages and suffixes supported. |
| |
| 2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * configure.in: Take toplevel configure arguments from the |
| environment to create configargs.h and substitute |
| gcc_config_arguments, taking account of any existing configargs.h |
| if reconfiguring. |
| * configure: Regenerate. |
| * gccbug.in: Include toplevel configure arguments in gccbug. |
| |
| 2000-11-13 Richard Earnshaw <rearnsha@arm.com> |
| |
| * varasm.c (struct constant_descriptor): Put CONTENTS inside a |
| union to make it well-aligned. Update all uses. |
| |
| 2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-parse.in (initelt): Give appropriate pedantic warnings, |
| depending on flag_isoc99, for non-ISO syntax and for C99 syntax |
| outside C99 mode. |
| (designator): If pedantic, pedwarn for a designator specifying a |
| range of elements. |
| * c-typeck.c (set_init_index, set_init_label): Don't pedwarn for |
| these cases. |
| * extend.texi: Document the C99 syntax as the preferred syntax, |
| and the pre-2.5 syntax as obsolete. Mention use of designator |
| lists for nested subobjects. |
| |
| 2000-11-13 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * diagnostic.c (vbuild_message_string, output_do_printf, vnotice): |
| Add ATTRIBUTE_PRINTF. |
| * tradcpp.c (v_message, warning, error, fatal, error_with_line): |
| Add ATTRIBUTE_PRINTF*. |
| |
| 2000-11-12 Mark Mitchell <mark@codesourcery.com> |
| |
| * function.c (assign_parms): When calling put_var_into_stack, make |
| sure that there are no hidden pending sequences. |
| |
| 2000-11-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * builtins.c (expand_builtin): Handle BUILT_IN_INDEX and |
| BUILT_IN_RINDEX. Add missing checks for BUILT_IN_STRCHR and |
| BUILT_IN_STRRCHR. |
| |
| * builtins.def (BUILT_IN_INDEX, BUILT_IN_RINDEX): New entries. |
| |
| * c-common.c (c_common_nodes_and_builtins): Declare index and |
| rindex when nonansi builtins are allowed. |
| |
| * extend.texi (index, rindex): Document new builtins. |
| |
| 2000-11-12 Mark Mitchell <mark@codesourcery.com> |
| |
| * configure.in: Turn on libstdc++ V3 by default. |
| * configure: Regenerated. |
| |
| * fixinc/mkfixinc.sh: Use the ordinary fixincludes on Solaris. |
| |
| 2000-11-12 Jakub Jelinek <jakub@redhat.com> |
| |
| * reload1.c (set_label_offsets): Go inside of PARALLELs. |
| |
| 2000-11-12 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * invoke.texi: Clean up option summary. |
| |
| 2000-11-12 Nick Clifton <nickc@redhat.com> |
| |
| * config/mcore/mcore.c: Fix comment formating, and adjust sequence |
| of #include headers. |
| |
| 2000-11-12 Marc Espie <espie@openbsd.org> |
| |
| * configure.in: Fix filds test. |
| * configure: Regen. |
| |
| 2000-11-12 Mark Mitchell <mark@codesourcery.com> |
| |
| * jump.c (delete_computation): Don't assume that just because an |
| instruction sets a register, that register is dead. |
| |
| 2000-11-12 Neil Booth <neilb@earthling.net> |
| |
| * cppexp.c: Don't worry about pfile->skipping. |
| * cpplib.c (struct if_stack): Make was_skipping unsigned char. |
| (cpp_handle_directive): Save pfile->skipping in struct cpp_buffer |
| for handled directives. |
| (skip_rest_of_line): Use _cpp_lex_token after popping contexts |
| and releasing lookaheads. |
| (do_ifdef, do_ifndef, do_if): Use buffer->was_skipping. |
| (do_else, do_elif, push_conditional): Update logic. |
| (do_endif): Set buffer->was_skipping rather than pfile->skipping. |
| (unwind_if_stack): Inline into cpp_pop_buffer. |
| (cpp_push_buffer): Clear ifs->was_skipping for cpp_handle_directive. |
| * cpplex.c (_cpp_lex_token): Clear skipping on EOF. Handle |
| multiple-include optimisation. |
| * cpplib.h (struct cpp_buffer): New member was_skipping. |
| * cppmacro.c (_cpp_get_token): Loop whilst pfile->skipping. This |
| works because skipping == 0 in directives. |
| (_cpp_release_lookahead): Renamed from release_lookahead. |
| (cpp_get_token): No need to check skipping as _cpp_get_token does |
| this for us. No need to handle MI optimisation. |
| |
| Sat Nov 11 21:14:02 2000 Mark P Mitchell <mark@codesourcery.com> |
| |
| * fixinc/inclhack.def (sunos_matherr_decl): Bypass matherr |
| declarations that use `__MATH_EXCEPTION' in their prototypes, too. |
| * fixinc/fixincl.x: Regenerated. |
| |
| 2000-11-11 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/inclhack.def (avoid_bool_type): avoid commenting out #endif |
| (avoid_wchar_t_type): ditto |
| * fixinc/fixinc.irix: obsoleted |
| |
| 2000-11-11 Zack Weinberg <zack@wolery.stanford.edu> |
| |
| * configure.in: Don't add $outputs to all_lang_makefiles. Add |
| $srcdir/$s/Makefile.in if it exists. |
| * configure: Regenerate. |
| |
| Sat Nov 11 18:41:20 2000 Mark P Mitchell <mark@codesourcery.com> |
| |
| * fixinc/mkfixinc.sh: Use the ordinary fixincludes on IRIX. |
| |
| 2000-11-11 Jason Merrill <jason@redhat.com> |
| |
| * function.c (assign_parms): If TREE_ADDRESSABLE is set, try to |
| give the parm a register and then call put_var_into_stack. |
| * stmt.c (expand_decl): Likewise. |
| |
| 2000-11-11 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * gcc.texi: Adjust wording. |
| |
| 2000-11-11 Mark Mitchell <mark@codesourcery.com> |
| |
| * fixinc/inclhack.def (avoid_wchar_t_type): New fix. |
| * fininc/fixincl.x: Regenerated. |
| |
| 2000-11-11 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * invoke.texi: Correct spelling of -foptimize-register-move. |
| |
| 2000-11-11 Neil Booth <neilb@earthling.net> |
| |
| Remove CPP_PLACEMARKERs. |
| |
| * cppexp.c (lex): Don't handle CPP_PLACEMARKER. |
| * cpplex.c (_cpp_lex_token): Rename skip_newlines to next_bol |
| * cpplib.c (skip_rest_of_line, check_eol, cpp_push_buffer): |
| Similarly. |
| * cpplib.h: Remove CPP_PLACEMARKER. |
| (struct lexer_state): Rename skip_newlines to next_bol. |
| * cppmacro.c (stringify_arg): Don't handle CPP_PLACEMARKER. |
| Simplify prev_white handling as a result. |
| (paste_all_tokens): Don't worry about CPP_PLACEMARKERs. |
| (parse_arg): Empty arguments are now empty, not CPP_PLACEMARKERs. |
| (parse_args): Similarly. Update argument count tests. |
| (enter_macro_context): Return 2 to indicate an empty macro. |
| (replace_args): Don't bother pre-expanding an empty argument. |
| Handle placemarkers and ## extension during pre-expansion. |
| (cpp_get_token): Handle empty macro expansions. Don't worry |
| about CPP_PLACEMARKERs. |
| (_cpp_create_definition): Empty macros are now empty. |
| (cpp_macro_definition): Don't special case empty macros. |
| * scan-decls.c: Don't bother with CPP_PLACEMARKERs. |
| * c-lex.c: Similarly. |
| |
| 2000-11-11 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * gcc.texi, invoke.texi: Add new section discussing language |
| standards; link to it where appropriate; refer to ISO C instead of |
| ANSI C. |
| |
| 2000-11-11 Alexandre Oliva <aoliva@redhat.com> |
| |
| * builtins.c (std_expand_builtin_va_start): Take PARM_BOUNDARY |
| into account. |
| |
| * config/sh/sh.h (MODES_TIEABLE_P): Don't tie SFmode to other FP |
| modes. |
| |
| 2000-11-10 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * gcc.texi, gcov.texi: Update dates and version numbers. |
| |
| 2000-11-10 Zack Weinberg <zack@wolery.stanford.edu> |
| |
| * configure.in: Remove AC_PROG_LEX and AC_PROG_YACC. Look for |
| flex and bison, specifically, first in a unified build and |
| then installed on the system. |
| * Makefile.in: Set BISON to @BISON@, FLEX to @FLEX@. Rename |
| LEXFLAGS to FLEXFLAGS. Adjust ORDINARY_FLAGS_TO_PASS to |
| match. |
| |
| (collect2.o, gcc.o, prefix.o, toplev.o, alloca.o, intl.o, |
| cppdefault.o): Remove pointless sed munging of source file |
| name. |
| |
| 2000-11-10 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * reload.c (find_reloads_address_1, case POST_MODIFY): Use RELOAD_OTHER |
| for address reloads. Push replacements for REG_INC notes. |
| (regno_clobbered_p): New arg SETS. Examine SETs if it's nonzero. All |
| callers changed. |
| * reload1.c (choose_reload_regs): Registers set in the insn can't be |
| used for RELOAD_OTHER reloads. |
| |
| 2000-11-10 Mark Mitchell <mark@codesourcery.com> |
| |
| * c-dump.h: New file. |
| |
| 2000-11-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * alpha.c (check_float_value): Use memcpy, not bcopy. |
| * arm.c (output_move_double): Likewise. |
| * arm.md: Likewise. |
| * m88k.c (legitimize_operand): Likewise. |
| * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise. |
| * m88k.md: Likewise. |
| * mips.c (override_options): Likewise. |
| * mips.md: Likewise. |
| * romp.c (output_fpops): Likewise. |
| * rs6000.c (rs6000_override_options): Likewise. |
| * sh.md: Likewise. |
| * vax.c (check_float_value): Likewise. |
| |
| * emit-rtl.c (copy_rtx_if_shared, init_emit_once): Likewise. |
| * expmed.c (synth_mult): Likewise. |
| * final.c (add_bb_string): Likewise. |
| * genattr.c (main): Likewise. |
| * genattrtab.c (attr_string, simplify_cond, copy_rtx_unchanging): |
| Likewise. |
| * jump.c (thread_jumps): Likewise. |
| * prefix.c (save_string): Likewise. |
| * real.h (REAL_VALUE_FROM_CONST_DOUBLE): Likewise. |
| * regclass.c (init_reg_sets, init_reg_sets_1): Likewise. |
| * reload1.c (reload, eliminate_regs): Likewise. |
| |
| 2000-11-10 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * gcc.texi (Service): Update to reflect current practice and |
| location of the GNU service directory. |
| |
| 2000-11-09 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * regrename.c (build_def_use): Mark contents of REG_INC notes as |
| needing replacement. |
| |
| * config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Emit |
| a no-op move if regs are equal. |
| * toplev.c (rest_of_compilation): Do the noop moves elimination pass |
| when calling jump after post-reload splitting. |
| |
| 2000-11-09 Jan van Male <jan.vanmale@fenk.wau.nl> |
| |
| * c-tree.texi: Fix typos. |
| * extend.texi: Likewise |
| * gcov.texi: Likewise |
| * rtl.texi: Likewise |
| * tm.texi: Likewise |
| |
| 2000-11-09 Hans-Peter Nilsson <hp@axis.com> |
| |
| * c-lex.c [! NO_IMPLICIT_EXTERN_C] (cb_enter_file): Check |
| in_system_header and flags[1] before dereferencing flags[2]. |
| |
| 2000-11-09 Matthew Hiller <hiller@redhat.com> |
| |
| * reload1.c (reload_combine): Fixed calculation of |
| first_index_reg, last_index_reg. |
| |
| 2000-11-09 Mark Mitchell <mark@codesourcery.com> |
| |
| * c-dump.c (dequeue_and_dump): Dump function bodies. |
| |
| * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o. |
| (c-dump.o): New target. |
| * c-common.h (flag_dump_translation_unit): New variable. |
| (C_TYPE_QUALS): New macro. |
| (strip_array_types): New function. |
| (DECL_C_BIT_FIELD): New macro. |
| (SET_DECL_C_BIT_FIELD): Likewise. |
| (CLEAR_DECL_C_BIT_FIELD): Likewise. |
| (dump_info_p): New typedef. |
| (dump_tree_fn): Likewise. |
| (lang_dump_tree): New variable. |
| (dump_node_to_file): New function. |
| * c-common.c (flag_dump_translation_unit): Define it. |
| (strip_array_types): New function. |
| * c-decl.c (c_decode_option): Handle -fdump-translation-unit. |
| * c-lang.c (finish_file): Call dump_node_to_file if |
| flag_dump_translation_unit. |
| * c-semantics.c (mark_rtl_for_local_static): Fix typo in comment. |
| * c-tree.h (DECL_C_BIT_FIELD): Remove declaration. |
| * c-dump.c: New file. |
| |
| 2000-11-09 Christopher Faylor <cgf@cygnus.com> |
| |
| * config/i386/cygwin.h: Add mingw startfile prefix. |
| |
| 2000-11-09 Richard Henderson <rth@redhat.com> |
| |
| * flow.c (invalidate_mems_from_set): Split out from ... |
| (mark_set_1): ... here. |
| (try_pre_increment_1): Use it. Use propagate_block_delete_insn |
| instead of turning insn into a NOTE_INSN_DELETED. |
| |
| 2000-11-10 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * extend.texi, invoke.texi: Move documentation of builtin versions |
| of C library functions to one place and update. |
| |
| 2000-11-09 Richard Henderson <rth@redhat.com> |
| |
| * fold-const.c (fold): Compare TYPE_MAIN_VARIANT rather than |
| the types themselves to discover type equivalence. |
| |
| 2000-11-09 Mike Stump <mrs@wrs.com> |
| |
| * Makefile.in (distclean): Remove a few extra leftovers. |
| |
| 2000-11-09 Richard Henderson <rth@redhat.com> |
| |
| * recog.c (validate_replace_rtx_1): Consider subregs when |
| replacing a register with a constant inside a sign/zero_extend. |
| |
| * config/alpha/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define. |
| |
| 2000-11-09 Geoffrey Keating <geoffk@redhat.com> |
| |
| * c-decl.c (finish_struct): When a structure is completed, |
| check all its variant types for completeness. |
| |
| 2000-11-09 Neil Booth <neilb@earthling.net> |
| |
| * cpphash.c: Move cpp_defined here from cpplib.c. |
| * cpplib.c: Update comments, move cpp_defined to cpphash.c. |
| * cpplex.c (_cpp_lex_token): Don't leave the lexer at EOL. |
| * cppmacro.c (cpp_get_token): Update comments, no need now |
| to catch the CPP_EOF meaning EOL case. |
| |
| 2000-11-08 Geoffrey Keating <geoffk@redhat.com> |
| |
| * config/sparc/sparc.c (sparc_va_arg): When the required alignment |
| is more than that provided, copy to a temporary. |
| |
| 2000-11-09 Alexandre Oliva <aoliva@redhat.com> |
| |
| * mklibgcc.in (EXTRA_MULTILIB_PARTS): Prevent `make' from |
| interpreting $out as a macro assignment. |
| * Makefile.in (T_TARGET): New auxiliary macro and target. |
| (all): Add a target right in the beginning, so that we don't build |
| T_TARGET by default. |
| |
| 2000-11-09 Graham Stott <grahams@redhat.com> |
| |
| * config/i386/i386.md (mmx_pinsrw): Output operands in correct |
| order for -mintel-syntax. Remove comment now that the operand |
| order has been checked. |
| (mmx_pextrw): Likewise. |
| (mmx_pshufw): Likewise. |
| |
| 2000-11-09 Jakub Jelinek <jakub@redhat.com> |
| |
| * builtins.c (c_strlen): Use TREE_STRING_LENGTH - 1 for max. |
| (c_getstr): New function. |
| (expand_builtin_strstr): Do nothing if -fcheck-memory-usage. |
| If both arguments are constant string, optimize out. |
| (expand_builtin_strchr, expand_builtin_strrchr): New functions. |
| (expand_builtin_strpbrk): Use c_getstr, do nothing if |
| -fcheck-memory-usage. |
| (expand_builtin_fputs): Likewise. |
| (expand_builtin_strcmp): Add MODE argument. |
| Use even if !HAVE_cmpstrsi. |
| Optimize the case when both arguments are constant strings. |
| (expand_builtin): Adjust expand_builtin_strcmp caller. |
| Call expand_builtin_strchr and expand_builtin_strrchr. |
| * c-common.c (c_common_nodes_and_builtins): Add strchr and strrchr |
| builtins. |
| * builtins.def (BUILT_IN_STRRCHR): Add. |
| |
| 2000-11-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> |
| |
| * fixinc/gnu-regex.c: Rename EGCS LOCAL markers to GCC LOCAL. |
| |
| 2000-11-09 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * calls.c (expand_call, emit_library_call_value_1), collect2.c |
| (scan_prog_file), config/a29k/a29k.c (print_operand), |
| config/sparc/sparc.c (order_regs_for_local_alloc): Use memcpy () |
| instead of bcopy (). |
| * real.h: Use memcmp () instead of bcmp (). |
| * config/m88k/m88k.c (m88k_layout_frame), config/sh/sh.c |
| (split_branches), config/sparc/sparc.c (ultra_flush_pipeline, |
| ultrasparc_sched_init, ultrasparc_sched_reorder), |
| config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Use memset () |
| instead of bzero (). |
| * config/vax/xm-xms.h (FILE_NAME_NONDIRECTORY): Use strrchr () |
| instead of rindex (). |
| * configure.in: Don't check for bzero, bcmp, index or rindex. |
| * configure, config.in: Regenerate. |
| * system.h: Don't include declarations for bzero, bcmp, index or |
| rindex. |
| * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Don't define |
| bzero, bcmp, index or rindex. |
| |
| Wed Nov 8 21:58:20 2000 Christopher Faylor <cgf@cygnus.com> |
| |
| * config/i386/cygwin.h: Add -no-win32 switch. Separate -mno-cygwin |
| include and library paths from -mcygwin case. Parameterize some |
| declarations to avoid warnings. Use standard locations for include and |
| lib dirs. |
| |
| 2000-11-08 Nick Clifton <nickc@redhat.com> |
| |
| * config/arm/arm.md (mulsidi3adddi): Change output operand |
| constraint from "=&" to "+&". |
| (umulsidi3adddi): Change output operand constraint from "=&" to |
| "+&". |
| |
| 2000-11-08 Richard Henderson <rth@redhat.com> |
| |
| * flow.c (init_propagate_block_info): Protect the rtx stored in |
| mem_set_list from modification by find_auto_inc. |
| (mark_set_1): Likewise. |
| |
| 2000-11-08 Neil Booth <neilb@earthling.net> |
| |
| Move directive handling into the lexer itself. |
| |
| * cpplex.c (_cpp_lex_token): Handle directives directly. |
| In the case of a directive interrupting a function-like |
| macro invocation, use extra_char since read_ahead is |
| used to store the '#'. Return a CPP_EOF in this case. |
| * cppmacro.c (parse_arg): No need to handle CPP_DHASH any more. |
| (cpp_get_token): Don't handle directives here. |
| * cpplib.h: Remove CPP_DHASH token type. |
| |
| Wed Nov 8 21:53:41 MET 2000 Jan Hubicka <jh@suse.cz> |
| |
| * regmove.c (combine_stack_adjustments_for_blocks): Recognize pushes |
| formed using PRE_MODIFY too. |
| |
| 2000-11-08 Mark Mitchell <mark@codesourcery.com> |
| |
| * c-tree.texi (VAR_DECL): Describe representation of GCC's |
| extension for placing variables in particular registers. |
| |
| * c-tree.texi (FUNCTION_TYPE): Clarify TYPE_ARG_TYPES for |
| unprototyped C functions with no parameters. |
| |
| 2000-11-08 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Cast DELTA to int |
| before passing to fprintf. |
| |
| 2000-11-08 Jakub Jelinek <jakub@redhat.com> |
| |
| * function.c (expand_function_start): Cast GET_MODE_SIZE to |
| HOST_WIDE_INT before negating it. |
| |
| 2000-11-08 Jakub Jelinek <jakub@redhat.com> |
| |
| * expr.c (expand_expr) [ADDR_EXPR]: Handle when op0 is RETURN_DECL |
| passed in multiple non-contiguous locations. |
| |
| 2000-11-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> |
| |
| * README.gnat: Remove file. |
| |
| 2000-11-08 Alexandre Oliva <aoliva@redhat.com> |
| |
| * mklibgcc.in (EXTRA_MULTILIB_PARTS): Generate multilib parts |
| in-place. |
| |
| 2000-11-07 Richard Henderson <rth@redhat.com> |
| |
| * dwarfout.c (INSN_LABEL_FMT): Remove. |
| (output_label_die): Use ASM_GENERATE_INTERNAL_LABEL. |
| (dwarfout_label): Remove. |
| * dwarfout.h: Remove it's prototype. |
| * dwarf2out.c (INSN_LABEL_FMT): Remove. |
| (gen_label_die): Use ASM_GENERATE_INTERNAL_LABEL. |
| (dwarf2out_label): Remove. |
| * dwarf2out.h: Remove it's prototype. |
| * final.c (final_scan_insn): Don't call dwarf[2]out_label. |
| |
| 2000-11-07 Richard Henderson <rth@redhat.com> |
| |
| * config/ia64/fde-glibc.c (find_fde_for_dso): Do a binary |
| search on the unwind region section. |
| |
| * config/ia64/ia64.md (movbi): Add r/r alternative. |
| (cmovdi_internal_astep): Describe all combinations of register |
| classes for sources & destinations; remove matching constraints. |
| (cmovdi_internal): Likewise. |
| |
| * gcc.c (default_compilers) [@cpp-output]: Add -fpreprocessed. |
| |
| 2000-11-07 Richard Henderson <rth@redhat.com> |
| |
| * c-lang.c (start_cdtor, finish_cdtor): New functions. |
| (finish_file): Use them in building constructor/destructor functions. |
| |
| * config/alpha/alpha.h (HAS_INIT_SECTION, LD_INIT_SWITCH, |
| LD_FINI_SWITCH): Move ... |
| * config/alpha/osf.h: ... here. |
| * config/alpha/alpha-interix.h: Don't undef them. |
| |
| 2000-11-07 Jeffrey Oldham <oldham@oz.codesourcery.com> |
| |
| * config/mips/t-iris6 (FPBIT): New. Added so that __unorddf2 is |
| included in libgcc.a. |
| (DPBIT): Likewise. |
| (dp-bit.c): Likewise. |
| (fp-bit.c): Likewise. |
| |
| 2000-11-07 Nick Clifton <nickc@redhat.com> |
| |
| * config/m88k/m88k.h (GLOBAL_ASM_OP): Add missing tab. |
| (INTERNAL_ASM_OP): Add missing tab. |
| |
| 2000-11-07 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * alias.c (init_alias_analysis), calls.c (expand_call, |
| emit_library_call_value_1), combine.c (init_reg_last_arrays), |
| cse.c (new_basic_block), dbxout.c (dbxout_type), diagnostic.c |
| (init_output_buffer, set_diagnostic_context), dwarf2out.c |
| (equate_decl_number_to_die, build_abbrev_table), emit-rtl.c |
| (init_emit_once), fold-const.c (mul_double, div_and_round_double), |
| function.c (assign_parms), gcse.c (compute_can_copy, |
| alloc_gcse_mem, alloc_reg_set_mem, record_one_set, |
| compute_hash_table, compute_set_hash_table, |
| compute_expr_hash_table), genattrtab.c (optimize_attrs), global.c |
| (global_alloc, global_conflicts), haifa-sched.c (compute_trg_info, |
| clear_units, schedule_block), integrate.c (initialize_for_inline, |
| expand_inline_function), jump.c (thread_jumps), local-alloc.c |
| (local_alloc), loop.c (combine_movables, count_loop_regs_set, |
| load_mems_and_recount_loop_regs_set), print-tree.c (debug_tree), |
| regclass.c (init_reg_sets, init_reg_sets_1, regclass, |
| record_reg_classes, allocate_reg_info), reload.c |
| (get_secondary_mem, remove_address_replacements, find_reloads), |
| reload1.c (reload, set_initial_label_offsets, finish_spills, |
| reload_as_needed, choose_reload_regs_init, |
| reload_cse_simplify_operands), reorg.c (dbr_schedule), sbitmap.c |
| (sbitmap_zero), simplify-rtx.c (simplify_plus_minus), ssa.c |
| (rename_registers), stmt.c (expand_end_case), unroll.c |
| (unroll_loop), varray.c (varray_grow), objc/objc-act.c: Use memset |
| () instead of bzero (). |
| |
| 2000-11-07 Neil Booth <neilb@earthling.net> |
| |
| * cp/lang-specs.h: Fix -save-temps specs under USE_CPPLIB. |
| |
| 2000-11-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * c-common.c (combine_strings): Only warn about long strings for C. |
| |
| Tue Nov 7 19:44:30 2000 J"orn Rennecke <amylaar@redhat.com> |
| |
| * combine.c (distribute_notes): Fix typo in last change. |
| |
| 2000-11-07 Geoff Keating <geoffk@redhat.com> |
| |
| * config/rs6000/rs6000.md (movdi_internal32+1): Use |
| operand_subreg_force rather than gen_rtx_SUBREG. |
| (movdi_internal32+2): Likewise. |
| |
| 2000-11-07 Philip Blundell <philb@gnu.org> |
| |
| * configure.in (arm*-*-linuxaout*): Obsolete, deleted. |
| * config/arm/linux-aout.h: Likewise. |
| * configure: Regenerate. |
| |
| 2000-11-07 Philipp Thomas <pthomas@suse.de> |
| |
| * ABOUT-GCC-NLS: Remove the patch for gettext as it has been |
| accepted my the gettext maintainer. |
| |
| 2000-11-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * builtins.c (expand_builtin_strpbrk): New function. |
| (expand_builtin): Handle BUILT_IN_STRPBRK. |
| |
| * builtins.def (BUILT_IN_STRPBRK): New entry. |
| |
| * c-common.c (c_common_nodes_and_builtins): Declare builtin |
| strpbrk. |
| |
| 2000-11-07 David O'Brien <obrien@dragon.nuxi.com> |
| |
| * config/alpha/freebsd.h: New file -- FreeBSD/alpha architecture file. |
| * POTFILES.in: Add config/alpha/freebsd.h |
| * configure.in: Add alpha*-freebsd support. |
| * configure: Regenerate. |
| |
| 2000-11-07 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * tree.c (build_common_tree_nodes_2): Make va_list_type_node be a |
| copy of ptr_type_node rather than ptr_type_node itself. |
| |
| Tue Nov 7 06:29:24 2000 J"orn Rennecke <amylaar@redhat.com> |
| |
| * combine.c (recog_for_combine): Allocate uninitialized vector with |
| rtvec_alloc. |
| * recog.c (apply_change_group): Likewise. |
| |
| Tue Nov 7 06:24:02 2000 J"orn Rennecke <amylaar@redhat.com> |
| |
| * flow.c (verify_local_live_at_start): Back out last change. |
| * combine.c (distribute_notes): When parts of a hard reg are |
| neither set nor referenced in PLACE, search backwards for a |
| place to put a REG_UNUSED note; if none found, ask for flow |
| info refresh. |
| |
| Mon Nov 6 20:08:13 2000 J"orn Rennecke <amylaar@redhat.com> |
| |
| * reload1.c (eliminate_regs_in_insn): Allow a set to be a PARALLEL |
| with (clobber (match_scratch...)). |
| |
| 2000-11-06 Neil Booth <neilb@earthling.net> |
| |
| * c-lex.c (init_c_lex): If cpp_start_read fails, exit with |
| error status. |
| |
| 2000-11-06 Neil Booth <neilb@earthling.net> |
| |
| * tradcpp.c (special_symbol): Assign an null string rather |
| than writing to an unallocated buffer. |
| |
| 2000-11-06 Neil Booth <neilb@earthling.net> |
| |
| * cpplex.c (_cpp_equiv_tokens): Check arg_no in the |
| CPP_MACRO_ARG case. |
| |
| 2000-11-06 Neil Booth <neilb@earthling.net> |
| |
| * c-lex.c (c_lex): Replace tok.val.aux with tok.val.c or |
| tok.val.arg_no as appropriate. |
| * cppexp.c (lex): Similarly. |
| * cpplex.c (_cpp_lex_token, cpp_spell_token, cpp_output_token, |
| cpp_equiv_tokens, cpp_can_paste, cpp_avoid_paste): Similarly. |
| * cppmacro.c (stringify_arg, replace_args, lex_expansion_token, |
| cpp_macro_definition): Similarly. |
| * cpplib.h (struct cpp_token): Replace aux with c and arg_no. |
| |
| 2000-11-06 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/sparc.md (adddi3): If operands[2] is 4096 and |
| operands[1] is constant, calculate the sum and generate movdi. |
| (addsi3): Similarly. Use SImode in call to arith_4096_operand. |
| (subsi3): Use SImode in call to arith_4096_operand. |
| |
| 2000-11-06 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): On sparc64 we need to |
| adjust %o1, not %o0 if the return type is large structure. |
| |
| 2000-11-06 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/sparc.md (smulsi3_highpart_v8plus, ashldi3_v8plus+1, |
| update_return, flush, flushdi, ffssi2, ffsdi2): Fix output formatting. |
| |
| Sat Sep 23 19:10:20 2000 Denis Chertykov <denisc@overta.ru> & Marek Michalkiewicz <marekm@linux.org.pl> |
| |
| * expmed.c (expand_divmod): For signed divide by 2, prefer |
| a branch and fewer shifts if branches are very cheap. |
| |
| 2000-11-05 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * Makefile.in: Remove all targets related to building |
| distributions and diffs, or INSTALL. |
| * INSTALL, install1.texi: Remove. |
| * configure.in: Remove mention of distdir. |
| * configure: Regenerate. |
| * objc/Make-lang.in: Remove mention of distdir. |
| |
| 2000-11-04 Neil Booth <neilb@earthling.net> |
| |
| * cpp.texi: Update for _Pragma. |
| |
| 2000-11-04 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * gcc.texi (Contributing): Update URL for projects web page. |
| |
| 2000-11-04 Neil Booth <neilb@earthling.net> |
| |
| * cpplex.c (parse_string): Don't allow multiline strings in |
| #include family directives. |
| |
| 2000-11-04 Neil Booth <neilb@earthling.net> |
| |
| * cpplib.c (do_line): Only warn pedantically if not reading |
| preprocessed input. |
| |
| 2000-11-04 Alexandre Oliva <aoliva@redhat.com> |
| |
| * calls.c (emit_call_1) [sibcall_pop]: Use n_popped instead of |
| RETURN_POPS_ARGS(). |
| |
| 2000-11-03 Zack Weinberg <zack@wolery.stanford.edu> |
| |
| * builtins.c (expand_builtin_strlen): Remove unused mode |
| argument. |
| * gcc.c (process_command): Remove unused variable. |
| * fold-const.c: Include expr.h. |
| * recog.c: Include reload.h. |
| * Makefile.in (recog.o, fold-const.o): Update deps. |
| |
| 2000-11-02 Geoffrey Keating <geoffk@cygnus.com> |
| |
| * fixinc/gnu-regex.c: Change 'CYGNUS LOCAL' to 'EGCS LOCAL'. |
| |
| Fri Nov 3 13:41:04 2000 Mark P Mitchell <mark@codesourcery.com> |
| |
| * config/mips/iris6.h (SUBTARGET_CC1_SPEC): Remove -static |
| handling. |
| (STARTFILE_SPEC): Likewise. |
| (LINK_SPEC): Likewise. |
| |
| 2000-11-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * Makefile.in (fold-const.o): Depend on $(GGC_H), not ggc.h. |
| (toplev.o): Likewise for $(LOOP_H)/loop.h and $(REGS_H)/regs.h. |
| (simplify-rtx.o): Likewise for $(GGC_H)/ggc.h. |
| |
| 2000-11-03 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-decl.c (duplicate_decls, copy_lang_decl), dwarfout.c |
| (dwarfout_line), gcc.c (main, save_string), tree.c (init_obstacks, |
| perm_calloc, get_identifier, maybe_get_identifier, |
| real_value_from_int_cst, simple_cst_equal), varasm.c |
| (assemble_name, assemble_real, immed_real_const_1, |
| compare_constant_1, decode_rtx_const, output_constant_pool): Use |
| strrchr () instead of rindex (). Use memcmp () instead of bcmp |
| (). Use memcpy () instead of bcopy (). Use memset () instead of |
| bzero (). |
| |
| 2000-11-03 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * cppfiles.c (open_file): If already read, then don't reopen. |
| Immediately close an empty file. |
| |
| 2000-11-01 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * expr.h (fold_builtin): Move declaration... |
| * tree.h (fold_builtin): ... here. |
| |
| Fri Nov 3 05:41:07 2000 J"orn Rennecke <amylaar@redhat.com> |
| |
| * flow.c (verify_local_live_at_start): Allow hard regs to die. |
| |
| 2000-11-02 Neil Booth <neilb@earthling.net> |
| |
| config: |
| * a29k/a29k.h, a29k/unix.h, a29k/vx29k.h, |
| alpha/alpha-interix.h, alpha/alpha.h, alpha/linux.h, |
| alpha/openbsd.h, alpha/osf.h, alpha/vms.h, alpha/vxworks.h, |
| alpha/win-nt.h, arc/arc.h, arm/arm.h, arm/conix-elf.h, |
| arm/linux-aout.h, arm/linux-elf.h, arm/netbsd.h, arm/riscix.h, |
| arm/riscix1-1.h, arm/semiaof.h, arm/unknown-elf-oabi.h, arm/vxarm.h, |
| c4x/rtems.h, clipper/clix.h, convex/convex.h, d30v/d30v.h, |
| elxsi/elxsi.h, fr30/fr30.h, h8300/h8300.h, i370/linux.h, i370/mvs.h, |
| i370/oe.h, i386/386bsd.h, i386/aix386ng.h, i386/beos-elf.h, |
| i386/bsd386.h, i386/crtdll.h, i386/cygwin.h, i386/dgux.h, |
| i386/djgpp-rtems.h, i386/djgpp.h, i386/freebsd-aout.h, i386/freebsd.h, |
| i386/gnu.h, i386/i386-interix.h, i386/i386.h, i386/linux-aout.h, |
| i386/linux-oldld.h, i386/linux.h, i386/lynx-ng.h, i386/lynx.h, |
| i386/mach.h, i386/mingw32.h, i386/moss.h, i386/netbsd.h, |
| i386/netware.h, i386/next.h, i386/openbsd.h, i386/osf1elf.h, |
| i386/osfelf.h, i386/osfrose.h, i386/ptx4-i.h, i386/rtems.h, |
| i386/rtemself.h, i386/sco.h, i386/sco4.h, i386/sco4dbx.h, i386/sco5.h, |
| i386/scodbx.h, i386/sequent.h, i386/sol2.h, i386/sun.h, i386/sysv3.h, |
| i386/sysv4.h, i386/uwin.h, i386/vsta.h, i386/vxi386.h, i386/win-nt.h, |
| i386/win32.h, i860/fx2800.h, i860/i860.h, i860/mach.h, i860/sysv3.h, |
| i860/sysv4.h, i960/i960.h, i960/rtems.h, i960/vx960-coff.h, |
| ia64/ia64.h, ia64/linux.h, m32r/m32r.h, m68k/3b1.h, m68k/3b1g.h, |
| m68k/a-ux.h, m68k/altos3068.h, m68k/amix.h, m68k/apollo68.h, |
| m68k/crds.h, m68k/ctix.h, m68k/dpx2.h, m68k/hp2bsd.h, m68k/hp320.h, |
| m68k/hp3bsd.h, m68k/hp3bsd44.h, m68k/isi.h, m68k/linux-aout.h, |
| m68k/linux.h, m68k/lynx-ng.h, m68k/lynx.h, m68k/m68kemb.h, |
| m68k/m68kv4.h, m68k/mot3300.h, m68k/netbsd.h, m68k/news.h, |
| m68k/next.h, m68k/openbsd.h, m68k/pbb.h, m68k/plexus.h, m68k/rtems.h, |
| m68k/rtemself.h, m68k/sun2.h, m68k/sun3.h, m68k/sun3mach.h, |
| m68k/tower-as.h, m68k/tower.h, m68k/vxm68k.h, m88k/dgux.h, |
| m88k/dolph.h, m88k/luna.h, m88k/m88k-aout.h, m88k/m88k-coff.h, |
| m88k/openbsd.h, m88k/sysv3.h, m88k/sysv4.h, mips/bsd-4.h, |
| mips/bsd-5.h, mips/dec-bsd.h, mips/dec-osf1.h, mips/gnu.h, |
| mips/iris3.h, mips/iris5.h, mips/iris6.h, mips/linux.h, mips/mips.h, |
| mips/netbsd.h, mips/news4.h, mips/news5.h, mips/nws3250v4.h, |
| mips/openbsd.h, mips/osfrose.h, mips/rtems64.h, mips/sni-svr4.h, |
| mips/svr3-4.h, mips/svr3-5.h, mips/svr4-4.h, mips/svr4-5.h, |
| mips/ultrix.h, ns32k/encore.h, ns32k/merlin.h, ns32k/netbsd.h, |
| ns32k/ns32k.h, ns32k/pc532-mach.h, ns32k/pc532.h, ns32k/sequent.h, |
| ns32k/tek6000.h, ns32k/tek6100.h, ns32k/tek6200.h, pa/pa-hiux.h, |
| pa/pa-hpux.h, pa/pa-hpux7.h, pa/pa-linux.h, pa/pa-osf.h, |
| pa/pa-pro-end.h, pa/pa.h, pa/rtems.h, pj/linux.h, pj/pj.h, |
| romp/romp.h, rs6000/aix.h, rs6000/aix31.h, rs6000/aix41.h, |
| rs6000/aix43.h, rs6000/beos.h, rs6000/eabi.h, rs6000/eabisim.h, |
| rs6000/linux.h, rs6000/lynx.h, rs6000/mach.h, rs6000/rtems.h, |
| rs6000/sysv4.h, rs6000/vxppc.h, sh/elf.h, sh/linux.h, sh/rtems.h, |
| sh/rtemself.h, sh/sh.h, sparc/aout.h, sparc/elf.h, sparc/linux-aout.h, |
| sparc/linux.h, sparc/linux64.h, sparc/lite.h, sparc/litecoff.h, |
| sparc/liteelf.h, sparc/lynx-ng.h, sparc/lynx.h, sparc/netbsd.h, |
| sparc/openbsd.h, sparc/pbd.h, sparc/rtems.h, sparc/rtemself.h, |
| sparc/sol2-sld-64.h, sparc/sol2.h, sparc/sp64-aout.h, |
| sparc/sp64-elf.h, sparc/sp86x-aout.h, sparc/sp86x-elf.h, |
| sparc/sparc.h, sparc/sysv4.h, sparc/vxsim.h, sparc/vxsparc.h, |
| v850/rtems.h, vax/netbsd.h, vax/openbsd.h, vax/ultrix.h, vax/vax.h, |
| vax/vaxv.h, vax/vms.h, we32k/we32k.h |
| |
| Replace -A() with -A=, the new assertion syntax. |
| |
| Thu Nov 2 21:52:35 2000 J"orn Rennecke <amylaar@redhat.com> |
| |
| * combine.c (distribute_notes): Use rtx_equal_p to check elim_i2 / |
| elim_i1. |
| In REG_DEAD handling: When handling parts of multi-hard-reg hard |
| registers, increment the loop counter by the size of the parts; |
| use recursion to handle individual parts. |
| |
| 2000-11-02 Neil Booth <neilb@earthling.net> |
| |
| * configure.in: Make integrated CPP the default. |
| * configure: Regenerate. |
| |
| Thu Nov 2 19:20:12 2000 J"orn Rennecke <amylaar@redhat.com> |
| |
| * reload.c (find_equiv_reg): Test all hard registers for membership |
| in the requested class. |
| |
| 2000-11-02 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * collect2.c (main, write_c_file_stat), gcc.c (translate_options, |
| process_command, main), gcov.c (open_files, output_data), tlink.c |
| (frob_extension, scan_linker_output), toplev.c |
| (file_name_nondirectory): Use strchr () and strrchr () instead of |
| index () and rindex (). |
| |
| 2000-11-02 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (get_flag_spec, check_format_info_main, |
| check_format_types): Use strchr () instead of index (). Compare |
| against error_mark_node instead of comparing the TREE_CODE against |
| ERROR_MARK. |
| |
| 2000-11-02 Zack Weinberg <zackw@Stanford.EDU> |
| |
| Integrated CPP. |
| |
| * c-lex.c (init_c_lex): Update cpp_start_read call. |
| (cb_ident): Update for new callback prototype. |
| (cb_def_pragma): Update for new cpp_get_token prototype. |
| (c_lex): Similarly. Use cpp_get_line. |
| |
| * c-parse.in (finish_parse): Update for new cpp_finish |
| prototype. |
| |
| * cp/lex.c (finish_parse): Similarly. |
| |
| 2000-11-01 Geoff Keating <geoffk@cygnus.com> |
| |
| * machmode.def: Add V16QImode. |
| |
| 2000-11-01 Richard Henderson <rth@redhat.com> |
| |
| * dwarf2out.c (loc_descriptor_from_tree): Check for null result |
| from rtl_for_decl_location. |
| (add_location_or_const_value_attribute): Likewise. |
| |
| 2000-11-01 Neil Booth <neilb@earthling.net> |
| |
| * cpplib.c (run_directive): Use correct line number for output |
| of _Pragma. Remember any in-progress directive. |
| |
| * gcc.dg/cpp/vararg2.c, gcc.dg/cpp/_Pragm1.c: New tests. |
| |
| 2000-11-01 Richard Henderson <rth@redhat.com> |
| |
| * stmt.c (expand_start_null_loop): Set continue_label. |
| |
| 2000-11-01 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * builtins.c (fold_builtin_constant_p, fold_builtin): New functions. |
| (expand_builtin_constant_p): Move parts of the code into |
| fold_builtin_constant_p. |
| (expand_builtin_strlen): Move parts of the code into fold_builtin. |
| * expr.h (fold_builtin): Declare. |
| * fold-const.c (fold): Handle builtin calls. |
| |
| * c-typeck.c (build_function_call): Call fold on the CALL_EXPR. |
| |
| 2000-11-01 Richard Henderson <rth@redhat.com> |
| |
| * stmt.c (expand_start_null_loop): New. |
| (expand_end_null_loop): New. |
| * c-semantics.c (genrtl_do_stmt): Use them. |
| * tree.h: Declare them. |
| |
| 2000-11-01 Richard Henderson <rth@redhat.com> |
| |
| * cppmain.c (scan_buffer): Don't avoid paste for assembly. |
| |
| 2000-11-01 Neil Booth <neilb@earthling.net> |
| |
| * c-parse.in (_yylex): Remove CPP_BACKSLASH case. |
| * cp/spew.c: Similarly. |
| * cpplex.c (_cpp_lex_token): Backslashes are now CPP_OTHER. |
| * cppmacro.c (stringify_arg): Similarly. |
| * cpplib.h (CPP_BACKSLASH): Delete. |
| |
| 2000-10-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * builtins.c (expand_builtin_strstr): New function. |
| (expand_builtin): Handle BUILT_IN_STRSTR and BUILT_IN_STRCHR. |
| |
| * builtins.def (BUILT_IN_STRSTR, BUILT_IN_STRCHR): New entries. |
| |
| * c-common.c (c_common_nodes_and_builtins): Declare builtin strstr |
| and builtin strchr. |
| |
| 2000-10-31 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.c (fcmov_comparison_operator): Check for |
| CCFPmode or CCFPUmode instead of CCmode. |
| (ix86_expand_fp_movcc): Call ix86_expand_setcc for most |
| unordered operations as well. |
| |
| 2000-10-31 Richard Henderson <rth@redhat.com> |
| |
| * c-semantics.c (genrtl_do_stmt): Use integer_zerop instead |
| of integer_zero_node. |
| |
| 2000-10-31 Richard Henderson <rth@redhat.com> |
| |
| * c-semantics.c (genrtl_do_stmt): Special case do/while(0). |
| |
| 2000-10-31 Nick Clifton <nickc@redhat.com> |
| |
| * config/arm/unknown-elf.h (UNIQUE_SECTION_P): Do not allow |
| -fdata-sections to override the section attribute of a DECL. |
| |
| 2000-10-31 Chris Demetriou <cgd@sibyte.com> |
| |
| * libgcc2.c (__shtab): Remove __shtab variable. |
| * libgcc-std.ver (GCC_3.0): Remove __shtab from symbol list. |
| * Makefile.in (LIB2FUNCS): Remove _shtab from list of library |
| members. |
| |
| 2000-10-31 Jim Wilson <wilson@redhat.com> |
| |
| * defaults.h (ASM_OUTPUT_DEBUG_LABEL): New. |
| * tm.texi (ASM_OUTPUT_DEBUG_LABEL): Document. |
| * dwarf2out.c (dwarf2out_begin_block): Use ASM_OUTPUT_DEBUG_LABEL |
| instead of ASM_OUTPUT_INTERNAL_LABEL. |
| (dwarf2out_end_block, dwarf2out_label): Likewise. |
| * final.c (final_scan_insn, case NOTE_INSN_DELETED_LABEL): Likewise |
| * config/ia64/ia64.h (ASM_OUTPUT_DEBUG_LABEL): Define. |
| |
| 2000-10-31 Richard Henderson <rth@redhat.com> |
| |
| * dwarf2out.c (struct dw_loc_descr_struct): Add dw_loc_addr. |
| (size_of_locs): Set it. |
| (output_loc_operands): Use it to compute branch displacement. |
| (int_loc_descriptor): New. |
| (mem_loc_descriptor): Dereference memory in the proper size. |
| Use DW_OP_plus_uconst when possible. Use int_loc_descriptor. |
| (loc_descriptor_from_tree): New. |
| (rtl_for_decl_location): Break out from ... |
| (add_location_or_const_value_attribute): ... here. |
| (add_bound_info): Use loc_descriptor_from_tree. |
| |
| 2000-10-31 Neil Booth <neilb@earthling.net> |
| |
| * cpp.texi: Update for new command line assertion syntax. |
| * cpplib.c (cpp_define): Simplify a bit. |
| (cpp_assert, cpp_unassert): Use handle_assertion. |
| (handle_assertion): New function; accept new command line |
| syntax with '='. |
| * testsuite/gcc.dg/cpp/assert3.c: New tests. |
| |
| 2000-10-31 Neil Booth <neilb@earthling.net> |
| |
| * cppmacro.c (STDC_0_IN_SYSTEM_HEADERS): Define to 0 if |
| undefined. Remove #ifdef check. |
| * config/i386/sol2.h, config/rs6000/sol2.h, config/sparc/sol2.h: |
| Define STDC_0_IN_SYSTEM_HEADERS to 1. |
| |
| 2000-10-31 Jan Hubicka <jh@suse.cz> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/i386.h: Clarify CCNOmode description in comment. |
| (EXTRA_CC_MODES): Remove CCRCmode. |
| * config/i386/i386.c (ix86_comparison_operator): Remove CCRCmode. |
| (put_condition_code, ix86_match_ccmode): Likewise. |
| (ix86_cc_mode): Likewise. Fix comment. |
| (ix86_expand_strlensi_unroll_1): *rc patterns are gone. |
| * config/i386/i386.md: Add unspec 12 description. |
| (adddi3 split): Use unspec 12 instead of CCRCmode. |
| (addsi3_carry_rc): Remove. |
| (addsi3_cc, addqi3_cc): New patterns. |
| (addsi_3): Swap operands, match CCZmode. |
| (addsi_4): Rewritten. |
| (addsi_5): Renamed from addsi_6. |
| (addsi_6): Removed. |
| (addhi_3): Swap operands, match CCZmode. |
| (addhi_4): Rewritten. |
| (addhi_5): Renamed from addhi_6. |
| (addhi_6): Removed. |
| (addqi_3): Swap operands, match CCZmode. |
| (addqi_4): Rewritten. |
| (addqi_5): Renamed from addqi_6. Use =q constraint for clobber. |
| (subsi3_carry_rc): Removed. |
| (iorqi_3): Use =q constraint for clobber. |
| (xorqi_cc_2): Likewise. |
| (negdi2_1 split): Don't use CCRCmode, use ltu instead of gtu. |
| (x86_movsicc_0_m1_rc): Removed. |
| (cmp?i peepholes): Remove neg. Use CCGCmode instead of CCRCmode. |
| |
| 2000-10-31 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-typeck.c (build_unary_op): If pedantic, pedwarn for increment |
| and decrement of complex types. |
| |
| 2000-10-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * builtins.c (expand_builtin_fputs): When deleting NOP calls to |
| builtin fputs, ensure we still evaluate the stream in case it |
| has side-effects. |
| |
| 2000-10-31 Jakub Jelinek <jakub@redhat.com> |
| |
| * expr.c (do_store_flag): Pass operand_mode instead of GET_MODE (op0) |
| to expand_shift. |
| |
| Tue Oct 31 15:33:27 2000 J"orn Rennecke <amylaar@redhat.com> |
| |
| * sh-protos.h (reg_no_subreg_operand, emit_fpscr_use): Don't declare. |
| (fp_extended_operand, emit_fpscr_use): Likewise. |
| * sh.c (reg_no_subreg_operand, fp_extended_operand): Delete functions. |
| (fpul_operand): New function. |
| * sh.h (PREDICATE_CODES): Remove reg_no_subreg_operand and |
| fp_extended_operand. Add fpul_operand. |
| * sh.md (mulsf3, mulsf3_i4): Use fp_arith_reg_operand for "f" operands. |
| (mulsf3_ie, macsf3, cmpgtsf_t, cmpeqsf_t, ieee_ccmpeqsf_t): Likewise. |
| (cmpgtsf_t_i4, cmpeqsf_t_i4, ieee_ccmpeqsf_t_4, negsf2): Likewise. |
| (negsf2_i, sqrtsf2, sqrtsf2_i, abssf2, abssf2_i, adddf3): Likewise. |
| (adddf3_i, subdf3, subdf3_i, muldf3, muldf3_i, divdf3): Likewise. |
| (divdf3_i): Likewise. |
| (floatsisf2): Likewise. Use fpul_operand for 'y' operand. |
| (floatsisf2_i4, floatsisf2_ie, fix_truncsfsi2): Likewise. |
| (fix_truncsfsi2_i4, fixsfsi, floatsidf2, floatsidf2_i): Likewise. |
| (fix_truncdfsi2, fix_truncdfsi2_i, extendsfdf2): Likewise. |
| (extendsfdf2_i4, truncdfsf2, truncdfsf2_i4): Likewise. |
| |
| 2000-10-31 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * config/i386/i386.c (ix86_init_builtins): Correct return type |
| building v4hi_ftype_v4hi_int_int tree node. |
| (ix86_expand_builtin): Use correct operand numbers 0 and 1. |
| Copy operand 0 into a Pmode register, don't generate a MEM rtx. |
| |
| * config/i386/i386.md (sse_movntdi): Use mmx register constraint |
| for operand 1. |
| (mmx__uavgv8qi3): Correct insn mnemonic. |
| (mmx_psadbw): Correct insn mnemonic. Use V8QI mode for operands 1 and 2. |
| (mmx_punpckhwd): Correct insn mnemonic. |
| (mmx_punpckhdq): Likewise. |
| (mmx_punpcklwd): Likewise. |
| (mmx_punpckldq): Likewise. |
| (prefetch): Use immediare_operand and 'n' constraint for operand 1. |
| Renumber case labels to match the _mm_prefetch constants defined in |
| xmmintrin.h. |
| |
| * recog.c (split_all_insns): Don't try to call cleanup_subreg_operands |
| if the splitter didn't emit new insns. |
| Make sure we call cleanup_subreg_operands even when splitting the last |
| insn in a basic block. |
| |
| * invoke.texi (Debugging Options): Describe -do. |
| * toplev.c (enum_dump_file_index): New entry DFI_postreload. |
| (dump_file): Likewise. |
| (rest_of_compilation): Split .greg dump into .greg and .postreload. |
| |
| 2000-10-30 Neil Booth <neilb@earthling.net> |
| |
| * cppfiles.c (stack_include_file): Check for stacked contexts |
| here. |
| * cpphash.h (_cpp_do__Pragma): New prototype. |
| * cppinit.c (cpp_reader_init): Add _Pragma keyword to hash table. |
| |
| * cpplex.c (skip_escaped_newlines): Only process trigraphs and |
| escaped newlines if !(buffer->from_stage3). |
| (_cpp_lex_token): Warn about missing newlines iff |
| !buffer->from_stage3. |
| |
| * cpplib.c (get__Pragma_string, destringize, |
| _cpp_do__Pragma): New functions. |
| (run_directive): Set output_line for _Pragma to avoid line |
| markers in output. Set from_stage3 and prevent macro expansion |
| for _Pragma and command-line options. Check buffer exhaustion. |
| (cpp_push_buffer): Don't check for stacked macro contexts, as |
| this is perfectly legitimate for _Pragma. Move the check to |
| stack_include_file instead. Set from_stage3 iff buffer is |
| preprocessed input. |
| |
| * cpplib.h (struct cpp_buffer): Make warned_cplusplus_comments |
| unsigned. New boolean from_stage3. |
| (struct spec_nodes): Add n__Pragma. |
| |
| * cppmacro.c (enter_macro_context): Flip sense of return value. |
| (_cpp_get_token): Handle _Pragma operator. |
| |
| 2000-10-30 Phil Edwards <pme@sources.redhat.com> |
| |
| * gcc.texi: The C++ standard isn't "draft" anymore. |
| |
| 2000-10-30 Mark Mitchell <mark@codesourcery.com> |
| |
| * cppmacro.c (builtin_macro): Use NT_VOID, not T_VOID. |
| |
| 2000-10-29 Neil Booth <neilb@earthling.net> |
| |
| * cpplib.c (skip_rest_of_line): Use _cpp_get_token. |
| |
| 2000-10-29 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * toplev.c, flags.h, fold-const.c, real.c, rtl.c, |
| fixinc/inclhack.def: Change comments mentioning C9X to refer to |
| C99 instead. |
| |
| * invoke.texi: Document that -V will only work for very similar |
| versions of driver and compiler. |
| |
| 2000-10-29 Neil Booth <neilb@earthling.net> |
| |
| * cppmacro.c (_cpp_create_definition): Optimize the case of |
| a macro defined to itself. |
| |
| 2000-10-29 Neil Booth <neilb@earthling.net> |
| |
| * cpplex.c (save_comment): Don't store new lines in C++ comments. |
| |
| 2000-10-29 Michael Hayes <mhayes@redhat.com> |
| |
| * integrate.c (copy_insn_list): Copy the unchanging flag for calls. |
| |
| 2000-10-28 Geoffrey Keating <geoffk@cygnus.com> |
| |
| * cpphash.c (cpp_forall_identifiers): Add context variable |
| for callback routine. |
| * cppmain.c (dump_macro): Update to match cpp_forall_identifiers |
| change. |
| (main): Call cpp_forall_identifiers with null context. |
| * cpplib.h (cpp_forall_identifiers): Update prototype. |
| |
| * cppmain.c: Make `parse_in' and `print' static. |
| |
| 2000-10-28 Alan Modra <alan@linuxcare.com.au> |
| |
| * c-decl.c (finish_function): Clear c_function_name_declared_p. |
| |
| 2000-10-28 Richard Henderson <rth@redhat.com> |
| |
| * regrename.c (scan_rtx_address): Frob action, not class, |
| when trying to disable optimization. |
| |
| 2000-10-28 Mark Mitchell <mark@codesourcery.com> |
| |
| * c-semantics.c (make_rtl_for_local_static): Don't clobber |
| DECL_ASSEMBLER_NAME. |
| |
| 2000-10-28 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * configure.in: Determine and substitute gcc_version_full. |
| * configure: Regenerate. |
| * gccbug.in: Use it to give full version. Don't allow |
| confidential PRs. |
| |
| 2000-10-28 Richard Henderson <rth@redhat.com> |
| |
| * recog.c (split_all_insns): Run cleanup_subreg_operands |
| after reload. |
| |
| * regrename.c (regrename_optimize): Verify that all registers of |
| a multiple register mode are available. |
| (scan_rtx_address): Accept the mode of the address; all callers |
| changed. |
| |
| * cpplib.c (run_directive): Fix prototype. |
| |
| 2000-10-28 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * reload.c (find_reloads): Distinguish "wins" so that we know whether |
| a given operand won because of a matching constraint or not; then use |
| that information to compute goal_alternative_matched properly. |
| * reload1.c (choose_reload_regs): Never set reload_override_in for an |
| optional reload. |
| |
| * config/ia64/ia64.h (RTX_COSTS): A few more entries, and a more |
| accurate value for MULT. |
| * config/ia64/ia64.c (ia64_print_operand): Require probability to be |
| 2% or > 98% before using static branch prediction bits. |
| |
| 2000-10-28 Neil Booth <neilb@earthling.net> |
| |
| New macro expander. |
| |
| * cpplib.c (struct answer): New. |
| (struct if_stack): Use cpp_lexer_pos rather than line and col. |
| Rename cmacro mi_cmacro. |
| (struct directive, KANDR, STDC89, EXTENSION, COND, IF_COND, INCL, |
| IN_I): New directive and flags. |
| (skip_rest_of_line, check_eol, run_directive, glue_header_name, |
| parse_answer, parse_assertion, find_answer): New functions. |
| (parse_ifdef, detect_if_not_defined, validate_else): Remove. |
| (lex_macro_node): New function to replace parse_ifdef and |
| get_define_node. |
| |
| (_cpp_handle_directive): New function, combines _cpp_check_directive |
| and _cpp_check_linemarker. |
| |
| (do_define, do_undef, parse_include, do_include, do_import, |
| do_include_next, read_line_number, do_line, do_ident, do_pragma, |
| do_pragma_once, do_pragma_poison, do_pragma_dependency): |
| Update for new token getting interface. |
| |
| (do_ifdef, do_ifndef, do_if, do_else, do_endif, push_conditional) |
| : Update for new multiple-include optimisation technique. |
| (do_elif): Don't forget to invalidate controlling macros. |
| |
| (unwind_if_stack, cpp_defined, cpp_push_buffer, cpp_pop_buffer): Update. |
| (parse_assertion, parse_answer, find_answer, _cpp_test_assertion): |
| Functions to handle assertions with the new token interface. |
| (do_assert, do_unassert): Use them. |
| |
| (cpp_define, _cpp_define_builtin, cpp_undef, cpp_assert, cpp_unassert): |
| Use run_directive. |
| |
| (_cpp_init_stacks): Register directive names. Don't register special |
| nodes. |
| |
| * cpperror.c (print_containing_files, _cpp_begin_message): Update to |
| new position recording regime. |
| (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning, |
| cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line, |
| cpp_pedwarn_with_file_and_line): Update for _cpp_begin_message changes. |
| (cpp_type2name): Move to cpplex.c. |
| |
| * cppexp.c (parse_charconst): spec_nodes is no longer a pointer. |
| (parse_defined): Update to handle new multiple include optimisation |
| method. Remove poisoned identifier warning. |
| (parse_assertion, TYPE_NAME): Delete. |
| (lex): Update for multiple include optimisation, removal of |
| CPP_DEFINED, to use _cpp_test_assertion for assertions and |
| cpp_token_as_text. |
| (_cpp_parse_expr): Update for MI optimisation, and to use op_as_text. |
| (op_as_text): New function, to wrap cpp_token_as_text. |
| |
| * cppfiles.c (stack_include_file, _cpp_pop_file_buffer): |
| Update for MI optimisation. |
| (_cpp_execute_include): Take a token rather than 3 arguments. Fix |
| segfault on diagnostic. |
| (_cpp_compare_file_date): Take a token rather than 3 args. |
| (cpp_read_file): Work correctly for zero-length files. |
| |
| * cpphash.c (_cpp_init_macros, _cpp_cleanup_macros): Rename |
| _cpp_init_hashtable and _cpp_cleanup_hashtable. |
| (cpp_lookup): Place identifiers at front of identifier pool |
| for _cpp_lookup_with_hash. |
| (_cpp_lookup_with_hash): Require identifiers to be at the front of |
| the identifier pool. Commit the memory if not already in the |
| hash table. |
| |
| * cppinit.c (cpp_reader_init): Move cpp_init_completed test to top. |
| Initialize various members of cpp_reader, memory pools, and the |
| special nodes. |
| (cpp_printer_init): Delete. |
| (cpp_cleanup): Update. |
| (struct builtin, builtin_array, initialize_builtins): Update for new |
| hashnode definition and builtin handling. |
| (cpp_start_read, cpp_finish): Don't take or initialize a |
| printer. Update. |
| |
| * cpplib.h (cpp_printer, cpp_toklist, CPP_DEFINED, BOL, |
| PASTED, VAR_ARGS, BEG_OF_FILE, IN_DIRECTIVE, KNOWN_DIRECTIVE, |
| T_VOID, T_SPECLINE, T_DATE, T_FILE, T_BASE_FILE, T_INCLUDE_LEVEL, |
| T_TIME, T_STDC, T_OPERATOR, T_POISON, T_MACRO, T_ASSERTION): Delete. |
| (struct cpp_pool, struct cpp_macro, struct cpp_lexer_pos, |
| struct cpp_lookahead, CPP_DHASH, enum mi_state, enum mi_ind, |
| NO_EXPAND, VARARGS_FIRST, struct cpp_token_with_pos, |
| struct toklist, struct cpp_context, struct specnodes, |
| TOKEN_LOOKAHEAD, TOKEN_BUFFSIZE, NODE_OPERATOR, NODE_POISONED, |
| NODE_BUILTIN, NODE_DIAGNOSTIC, NT_VOID, NT_MACRO, NT_ASSERTION, |
| enum builtin_type, cpp_can_paste): New. |
| (struct cpp_token): Delete line and col members. |
| (struct cpp_buffer): New member output_lineno. |
| (struct lexer_state): Delete indented, in_lex_line, seen_dot. |
| Add va_args_ok, poisoned_ok, prevent_expansion, parsing_args. |
| (struct cpp_reader): New members lexer_pos, macro_pos, directive_pos, |
| ident_pool, temp_string_pool, macro_pool, argument_pool, string_pool, |
| base_context, context, directive, mi_state, mi_if_not_defined, |
| mi_lexed, mi_cmacro, mi_ind_cmacro, la_read, la_write, la_unused, |
| mlstring_pos, macro_buffer, macro_buffer_len. |
| Delete members mls_line, mls_column, token_list, potential_control_macro, |
| temp_tokens, temp_cap, temp_alloced, temp_used, first_directive_token, |
| context_cap, cur_context, no_expand_level, paste_level, contexts, args, |
| save_parameter_spellings, need_newline, . |
| Change type of date, time and spec_nodes members. |
| Change prototypes for include and ident callbacks. |
| (struct cpp_hashnode): Change type of name. Remove union members |
| expansion and code. Add members macro, operator and builtin. |
| |
| (cpp_token_len, cpp_token_as_text, cpp_spell_token, cpp_start_read, |
| cpp_finish, cpp_avoid_paste, cpp_get_token, cpp_get_line, |
| cpp_get_output_line, cpp_macro_definition, cpp_start_lookahead, |
| cpp_stop_lookahead): New prototypes. |
| (cpp_printer_init, cpp_dump_definition): Delete prototypes. |
| |
| (U_CHAR, U, ustrcmp, ustrncmp, ustrlen, uxstrdup, ustrchr, ufputs): |
| Move from cpphash.h. |
| |
| * cpphash.h (U_CHAR, U, ustrcmp, ustrncmp, ustrlen, uxstrdup, ustrchr, |
| ufputs): Move to cpplib.h. |
| (enum spell_type, struct token_spelling, _cpp_token_spellings, TOKEN_SPELL, |
| TOKEN_NAME, struct answer, FREE_ANSWER, KANDR, STDC89, EXTENSION, |
| COND, EXPAND, INCL, COMMENTS, IN_I, struct directive, directive_handler, |
| struct spec_nodes, _cpp_digraph_spellings, _cpp_free_temp_tokens, |
| _cpp_init_input_buffer, _cpp_grow_token_buffer, _cpp_init_toklist, |
| _cpp_clear_toklist, _cpp_expand_token_space, _cpp_expand_name_space, |
| _cpp_equiv_tokens, _cpp_equiv_toklists, _cpp_process_directive, |
| _cpp_run_directive, _cpp_get_line, _cpp_get_raw_token, _cpp_glue_header_name, |
| _cpp_can_paste, _cpp_check_directive, _cpp_check_linemarker, |
| _cpp_parse_assertion, _cpp_find_answer): Delete. |
| (VALID_SIGN, ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE, POOL_SIZE, |
| POOL_USED, POOL_COMMIT, struct cpp_chunk, _cpp_lex_token, _cpp_init_pool, |
| _cpp_free_pool, _cpp_pool_reserve, _cpp_pool_alloc, _cpp_next_chunk, |
| _cpp_lock_pool, _cpp_unlock_pool, _cpp_test_assertion, |
| _cpp_handle_directive, DSC): New. |
| (struct include_file): New member defined. |
| |
| (DO_NOT_REREAD, _cpp_begin_message, _cpp_execute_include, |
| _cpp_compare_file_date): Update. |
| (_cpp_pop_context, _cpp_get_token, _cpp_free_lookaheads, _cpp_push_token): New. |
| (_cpp_init_macros, _cpp_cleanup_macros): Rename to _cpp_init_hashtable, |
| _cpp_cleanup_hashtable. |
| |
| * Makefile.in: Remove cppoutput.c. |
| |
| * cppoutput.c: Delete |
| |
| * fixheader.c (read_scan_file): Update for new cpp_get_token |
| prototype. |
| (recognized_function): New argument LINE. |
| |
| * scan-decls.c (skip_to_closing_brace, scan_decls): Update for |
| new cpp_get_token prototype. |
| |
| * scan.h (recognized_function): Update prototype. |
| |
| * po/POTFILES.in: Remove cppoutput.c. |
| |
| 2000-10-27 Mark Mitchell <mark@codesourcery.com> |
| |
| * c-typeck.c (check_init_type_bitfields): Remove. |
| (constructor_incremental): Likewise. |
| (struct constructor_stack): Remove incremental bit. |
| (struct initializer_stack): Likewise. |
| (start_init): Don't play with constructor_incremental. |
| (finish_init): Likewise. |
| (really_start_incremental_init): Likewise. |
| (push_init_level): Likewise. |
| (pop_init_level): Likewise. |
| (output_init_level): Likewise. |
| (output_pending_init_elements): Likewise. |
| |
| 2000-10-21 Mike Coleman <mcoleman2@kc.rr.com> |
| |
| * c-pragma.c (handle_pragma_pack): Initialize align to -1. |
| Improve error messages. Correct parsing of |
| #pragma pack(pop [,id]). Do not check the user-supplied |
| alignment if we're popping. |
| |
| * gcc.dg/pack-test-1.c: New test case. |
| * gcc.dg/pack-test-2.c: New test case. |
| * gcc.dg/pack-test-1.h: New file. |
| |
| 2000-10-27 Neil Booth <neilb@earthling.net> |
| |
| * cpp.texi: Update. |
| |
| 2000-10-27 Kelley Cook <kelley.cook@home.com> |
| |
| * invoke.texi: Document -mintel-syntax |
| |
| 2000-10-27 Richard Henderson <rth@redhat.com> |
| |
| * invoke.texi: Document -frename-registers. Add it to -O3. |
| * toplev.c (rest_of_compilation): Run regrename before ifcvt2. |
| (enum dump_file_index, dump_file): Update order. |
| (main): Set flag_rename_registers at -O3. |
| |
| 2000-10-27 Richard Henderson <rth@redhat.com> |
| |
| * config/alpha/alpha.h (enum reg_class): Add PV_REG. |
| (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update. |
| (REG_CLASS_FROM_LETTER): Assign it to 'c'. |
| * config/alpha/alpha.md (call_osf_1): Use it. |
| (call_value_osf_1): Likewise. |
| |
| * config/ia64/ia64.c: Revert 10-23 patch. |
| (ia64_hard_regno_rename_ok): New. |
| * config/ia64/ia64-protos.h: Declare it. |
| * config/ia64/ia64.h (HARD_REGNO_RENAME_OK): Use it. |
| |
| 2000-10-27 Bernd Schmidt <bernds@redhat.co.uk> |
| Richard Henderson <rth@redhat.com> |
| |
| * regrename.c: Rewrite to handle multi-register modes and |
| cond_exec instructions. |
| * Makefile.in (regrename.o): Update dependencies. |
| * recog.h (struct operand_alternative): Add is_address. |
| * recog.c (preprocess_constraints) [case 'p']: Set it. |
| |
| 2000-10-27 Zack Weinberg <zack@wolery.stanford.edu> |
| |
| * configure.in: If not NO_MINUS_C_MINUS_O, substitute |
| OUTPUT_OPTION with '-o $@'. Make zlibdir, zlibinc relative to |
| top level. Kill oldstyle_subdirs. Do not include |
| $srcdir/$s/Makefile.in in all_lang_makefiles, but do include |
| $outputs. Do not run configure.lang from config.status. |
| Rearrange warning-flag logic to correspond to what the |
| makefile wants. Put special vax stage1 options in |
| @stage1_flags@ not @stage1_warn_cflags@. Don't do anything |
| with extra_c_objs, extra_cxx_objs, or extra_cpp_objs. |
| (--enable-c-cpplib): AC_SUBST(maybe_cpplib) with "libcpp.a" if |
| switch is given, nothing otherwise. |
| * configure.lang: Delete. |
| |
| * Makefile.in: Expunge all traces of extra_c_objs, |
| extra_cxx_objs, and extra_cpp_objs. Set MAYBE_CPPLIB from |
| @maybe_cpplib@. Add $(MAYBE_CPPLIB) to C_AND_OBJC_OBJS. Set |
| warning options via a three level scheme so that -pedantic and |
| -Wtraditional are not used for non-C front ends: LOOSE_WARN, |
| STRICT1_WARN, STRICT2_WARN -> $(@D)-warn, GCC_WARN_CFLAGS -> |
| WARN_CFLAGS. Distinguish STAGE1_CFLAGS from BOOT_CFLAGS. |
| Add -I$(@D) and -I$(srcdir)/$(@D) to INCLUDES. |
| Set OUTPUT_OPTION, ZLIB, ZLIBINC. Do not set P, |
| LANG_FLAGS_TO_PASS. Add OUTPUT_OPTION to all object-file |
| generation rules. Wrap all rules that change the current |
| directory in parentheses; pmake doesn't spawn a new shell for |
| each command. Expunge all references to $(P). When one |
| command depends on another and they're run all at once, use && |
| to separate them, not ;. Add libgcc_s$(SHLIB_EXT) to files |
| deleted on make clean. Force OUTPUT_OPTION='-o $@' in stage2 |
| and beyond. |
| |
| * objc/Make-lang.in: Wrap all rules that change the current |
| directory in parentheses. Expunge all references to $(P). |
| When one command depends on another and they're run all at |
| once, use && to separate them, not ;. Add OUTPUT_OPTION to |
| all object-file generation rules. Delete obsolete variables. |
| * objc/Makefile.in: Delete. |
| |
| 2000-10-27 Jakub Jelinek <jakub@redhat.com> |
| |
| * calls.c (expand_call): If sibcall_failure is set during pass 1, |
| clear tail_call_insns as well. |
| |
| 2000-10-27 Nick Clifton <nickc@redhat.com> |
| |
| * config/arm/arm-protos.h (arm_function_ok_for_sibcall): Add |
| prototype. |
| |
| 2000-10-26 Richard Henderson <rth@redhat.com> |
| |
| * calls.c (expand_call): Supress sibcall if we have a |
| BLKmode return in registers. |
| |
| 2000-10-26 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * ia64.h (PREFERRED_RELOAD_CLASS): Force floating point constants |
| into memory. |
| |
| 2000-10-26 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * tree.c (make_node, case 't'): Set alignment to that of |
| char_type_node. |
| * expr.c (move_by_pieces_ninsns): Abort if some length remains. |
| |
| 2000-10-25 Mark Mitchell <mark@codesourcery.com> |
| |
| * Makefile.in (site.exp): Define HAVE_LIBSTDCXX_V3. |
| * configure.in (enable-libstdcxx-v3): Arrange to have |
| HAVE_LIBSTDCXX_V3 substituted into the output files. |
| |
| 2000-10-25 Richard Henderson <rth@redhat.com> |
| |
| * recog.c (constrain_operands): Initialize which_alternative |
| before no alternatives early exit. |
| |
| * cse.c (find_comparison_args): Check that we can reverse a |
| comparison if needed before accepting the substitution. |
| |
| * reload.c (find_reloads_address_part): Kill rtx obstack hackery. |
| |
| * simplify-rtx.c (simplify_relational_operation): Sign extend |
| low words before sign extending to high words. |
| |
| 2000-10-25 Nick Clifton <nickc@redhat.com> |
| |
| * config/mcore/mcore.c: Include config.h before system.h. |
| |
| 2000-10-25 Ray Essick <essick@ddna.labs.mot.com> |
| |
| * config/mcore/mcore.md (return): Force function epilogue to |
| always be generated to work around epilogue suppression bug in |
| M*Core backend. |
| |
| 2000-10-25 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-decl.c (grokdeclarator): Move warning for qualified void |
| return types with -pedantic to when the function type is |
| constructed. At -W, warn in general for qualified function return |
| types, except for volatile void. |
| * invoke.texi: Document this new warning at -W. |
| |
| 2000-10-25 Neil Booth <neilb@earthling.net> |
| |
| * cpp.texi: Update with implementation-defined behavior and |
| internal limits. |
| |
| 2000-10-25 Jakub Jelinek <jakub@redhat.com> |
| |
| * stor-layout.c (layout_type): If TYPE_ALIAS_SET was already set on the |
| incomplete type force it into alias set 0. |
| |
| Wed Oct 25 01:02:44 EDT 2000 John Wehle (john@feith.com) |
| |
| * alias.c: Include basic-block.h. |
| (loop_p): New function. |
| (mark_constant_function): Use it. |
| * Makefile.in (alias.o): Update dependencies. |
| |
| 2000-10-24 Aldy Hernandez <aldyh@redhat.com> |
| |
| * config/mn10300/mn10300.c (secondary_reload_class): Treat pseudos |
| like memory. |
| |
| 2000-10-24 Jim Wilson <wilson@cygnus.com> |
| |
| * expmed.c (store_bit_field): Move integer pun code down after |
| code that calls emit_move_insn for entire register move. |
| * stor-layout.c (compute_record_mode): Revert Mar 25, Aug 18, and |
| Oct 20 changes. Only store mode in TYPE_MODE if RECORD_TYPE. |
| |
| 2000-10-24 Richard Henderson <rth@cygnus.com> |
| |
| * rtlanal.c (rtx_unstable_p, rtx_varies_p): Don't consider pic |
| register stable if PIC_OFFSET_TABLE_REG_CALL_CLOBBERED. |
| |
| 2000-10-24 Aldy Hernandez <aldyh@redhat.com> |
| |
| * gcse.c (cprop_insn): do not propagate constants into jump_insn |
| for machines with CC0 more than once. |
| |
| 2000-10-24 Richard Henderson <rth@cygnus.com>, Aldy <aldyh@cygnus.com> |
| |
| * config/mn10300/mn10300.h (PREFERRED_RELOAD_CLASS): Treat |
| pseudos just like memory. |
| |
| 2000-10-24 Alexandre Oliva <aoliva@redhat.com> |
| |
| * combine.c (distribute_notes): Discard REG_LIBCALL and REG_RETVAL |
| when deleting libcall sequence collapsed to a single instruction. |
| |
| 2000-10-24 Andrew Haley <aph@cygnus.co.uk> |
| |
| * expr.c (do_store_flag): Don't crash if either side of a |
| comparison is error_mark_node. |
| |
| 2000-10-24 Jakub Jelinek <jakub@redhat.com> |
| |
| * sibcall.c (purge_mem_unchanging_flag): New function. |
| (optimize_sibling_and_tail_recursive_calls): Call it. |
| |
| 2000-10-24 Philipp Thomas <pthomas@suse.de> |
| |
| * Makefile.in (check-po): New target for doing checks in the po |
| subdir if all languages configured. |
| (CHECK_TARGETS): Add @CHECK_PO@, replaced with check-po via |
| configure if NLS is enabled. |
| * configure.in: If NLS is enabled, substitute CHECK_PO by check-po, |
| otherwise leave empty. |
| * configure: Regenerate. |
| |
| 2000-10-23 Diego Novillo <dnovillo@cygnus.com> |
| |
| * i386.c (print_operand): Handle new 'A' formatting code. |
| 387 opcodes need suffixes even with -mintel-syntax. |
| Check for explicit size override (codes 'b', 'w' and 'k'). |
| (print_operand_address): Check if register prefix is needed when |
| emitting `ds' segment override. |
| * i386.h: Add comment about new 'A' formatting code. |
| * i386.md (jump and call patterns): Emit absolute references using %A. |
| |
| 2000-10-23 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64.c (ia64_expand_prologue): Mark extra |
| output registers as fixed. |
| (ia64_function_epilogue): Undo output fixation. |
| |
| 2000-10-23 Richard Henderson <rth@cygnus.com> |
| |
| * config/alpha/alpha.md: Add names for all unnamed insns; use |
| define_insn_and_split in some obvious places. |
| (lda): Remove. |
| (zero_extendqihi2): Use an expander w/ nonimmediate_operand for BWX. |
| (zero_extendqisi2, zero_extendqidi2): Likewise. |
| (zero_extendhisi2, zero_extendhidi2): Likewise. |
| (abs splitters): Fix match_scratch operand number. |
| (bcc_reverse): Swap pc & label instead of non-canonical compare. |
| |
| 2000-10-23 Jim Wilson <wilson@cygnus.com> |
| |
| * ia64.c (ia64_print_operand, case 'r'): Correct comment. Handle |
| CONST_INT. |
| * ia64.md (cmpsi_adjusted): Use %r3. |
| (cmpdi_adjusted): Likewise. |
| |
| 2000-10-23 Diego Novillo <dnovillo@cygnus.com> |
| |
| * config/i386/att.h (ASM_FILE_START): Define. |
| |
| 2000-10-23 Diego Novillo <dnovillo@cygnus.com> |
| |
| * config/i386/linux.h (ASM_FILE_START): Define. |
| |
| Wed Oct 18 11:16:40 2000 Donald Lindsay <dlindsay@cygnus.com> |
| |
| * gcc/configure.in: m68k-coff tm_file should not have libgloss.h, |
| since this (only) drags in a crt0.o reference that the .ld files |
| also introduce. |
| |
| 2000-10-23 Geoff Keating <geoffk@cygnus.com> |
| |
| * reload1.c (reload_reg_reaches_end_p): A RELOAD_OTHER can |
| overwrite the value in a RELOAD_FOR_INPUT and other kinds of |
| reloads just like an RELOAD_FOR_OUTPUT would. |
| |
| * local-alloc.c (update_equiv_regs): Add an abort(). When |
| deleting or moving insns, update reg_equiv[regno].init_insns. |
| |
| 2000-10-23 Mark Mitchell <mark@codesourcery.com> |
| |
| * c-tree.texi: Improve documentation for IF_STMTs and related |
| conditional statements. |
| |
| 2000-10-22 Mark Mitchell <mark@codesourcery.com> |
| |
| * expr.c (do_preexpand_calls): Remove. |
| (same_from_p): Don't use CALL_EXPR_RTL. |
| (expand_expr): Don't call preexpand_calls, or use CALL_EXPR_RTL. |
| (preexpand_calls): Remove. |
| * tree.c (first_rtl_op): Remove CALL_EXPR case. |
| (unsave_expr_1): Likewise. |
| * tree.def (CALL_EXPR): Give it only two slots. |
| * tree.h (CALL_EXPR_RTL): Remove. |
| |
| 2000-10-21 Chandrakala Chavva <cchavva@redhat.com> |
| |
| * libgcc-std.ver (__addvsi3, __addvdi3, __subvsi3, __subvdi3, |
| __mulvsi3, __negvsi2, __negvdi2, __absvsi2, __absvdi2, __mulvdi3): |
| New functions. |
| |
| 2000-10-22 Alexandre Oliva <aoliva@redhat.com> |
| |
| * calls.c (combine_pending_stack_adjustment_and_call): Don't |
| adjust stack when unadjusted_alignment ends up as zero. |
| |
| 2000-10-22 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * fixinc/genfixes: Remove EGCS reference. |
| * install.texi: Remove EGCS reference. |
| * INSTALL: Regenerate. |
| |
| 2000-10-22 Mark Mitchell <mark@codesourcery.com> |
| |
| * tree.h (TYPE_IS_SIZETYPE): Add more documentation. |
| |
| 2000-10-21 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * diagnostic.c: Remove EGCS reference in comment. |
| |
| Sat Oct 21 08:24:25 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * loop.c (strength_reduce): Fix error in last change. |
| |
| 2000-10-20 David Edelsohn <edelsohn@gnu.org> |
| |
| * Makefile.in (SHLIB_NM_FLAGS): New. |
| (libgcc.mk): Pass it. |
| * mklibgcc.in (libgcc.map): Use it. |
| |
| * rs6000/t-aix43 (SHLIB_EXT, SHLIB_LINK, SHLIB_LIBS, |
| SHLIB_MKMAP, SHLIB_MAPFILES, SHLIB_NM_FLAGS): New. |
| |
| 2000-10-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * mips.h (REG_CLASS_FROM_LETTER): Cast array arg to unsigned char. |
| |
| * sparc.c (load_pic_register): Delete unused varaible. |
| |
| * libgcc2.c (__addvsi3): Delete unused variable. |
| |
| * libgcc2.h (__absvsi2, __absvdi2, __addvsi3, __addvdi3, |
| __subvsi3, __subvdi3, __mulvsi3, __mulvdi3, __negvsi2, |
| __negvdi2): Prototype. |
| |
| * ssa.c (apply_delayed_renames): Avoid undefined operation. |
| |
| * toplev.c (display_target_options): Make static to match |
| prototype. Delete empty declaration. |
| |
| 2000-10-20 Tom Tromey <tromey@cygnus.com> |
| |
| * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Added -MF and -MT. |
| * gcc.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Added -MF and -MT. |
| |
| Fri Oct 20 17:05:49 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * expr.c (expand_expr, case SAVE_EXPR): Set RTX_UNCHANGING_P on |
| returned MEM. |
| (expand_expr_unaligned, case ARRAY_REF): Check that index is |
| a constant before comparing it; use tree_low_cst. |
| * tree.c (save_expr): Set TREE_READONLY. |
| (substitute_expr): Return inside of NON_LVALUE_EXPR. |
| (build, build1): Set TREE_READONLY if all operands are. |
| (build_index_type): If upper bound is a negative number, lower |
| bound is zero and sizetype is unsigned, use upper bound of one and |
| lower of zero. |
| |
| 2000-10-20 David Edelsohn <edelsohn@gnu.org> |
| |
| * gcc.c (process_command, main): Use "because" instead of |
| "since" in error messages. |
| |
| Fri Oct 20 13:33:16 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * stor-layout.c (compute_record_mode): Use tree_low_cst. |
| Don't use mode of field for record unless sizes are the same. |
| (layout_type, case ARRAY_TYPE): Remove special bounds handling |
| previously added for Ada; also change to using host_integerp |
| and tree_low_cst. |
| |
| * loop.c (strength_reduce): Show when new register made for |
| giv is known to be a pointer and its aligment if so and known. |
| (loop_dump_aux): Show VERBOSE parameter unused. |
| |
| * gcse.c (set_hash_table_size): Now unsigned. |
| * sdbout.c (template_name_p): Add "const" to avoid warnings. |
| (sdbout_record_type_name, plain_type_1, sdbout_symbol): Likewise. |
| (sdbout_one_type, sdbout_parms, sdbout_reg_parms): Likewise. |
| (sdbout_end_epilogue): Remove variable NAME. |
| * system.h (getopt): Add default definition. |
| * config/alpha/alpha.c (print_operand): Don't continue processing |
| after issuing error. |
| (summarize_insn): Avoid use of UL in constant. |
| |
| * function.c (locate_and_pad_parm): Use host_integerp and tree_low_cst. |
| |
| * fold-const.c (force_fit_type): Unsigned values can overflow |
| if they are sizetype. |
| (int_const_binop): Don't use cache if overflows. |
| |
| 2000-10-20 Richard Henderson <rth@cygnus.com> |
| |
| * function.c (locate_and_pad_parm): Zero alignment_pad. |
| |
| * regrename.c (rr_replace_reg): Rewrite to use recog_data to |
| perform substitutions, and apply_change_group to see if it worked. |
| |
| Fri Oct 20 13:33:16 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * dwarf2out.c (add_bound_info): Also ignore COND_EXPR. |
| |
| * combine.c (struct undo): Change int to unsigned int. |
| (do_SUBST_INT): Args are unsigned int. |
| (make_extraction, force_to_mode): Use proper type when forming mask. |
| (make_field_assignment): Likewise. |
| |
| 2000-10-20 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (check_format_info_recurse): Extract string constant |
| initializers from non-volatile constant arrays and check them as |
| formats. |
| * c-typeck.c (decl_constant_value): Don't check pedantic or check |
| for DECL_MODE (decl) != BLKmode. |
| (decl_constant_value_for_broken_optimization): New function which |
| includes these checks. |
| (default_conversion, convert_for_assignment, digest_init): Use |
| decl_constant_value_for_broken_optimization instead of |
| decl_constant_value. |
| |
| 2000-10-20 Mark Mitchell <mark@codesourcery.com> |
| |
| * tree.h (DECL_ALIGN_UNIT): New macro. |
| |
| 2000-10-14 Marek Michalkiewicz <marekm@linux.org.pl> |
| |
| * config/avr/avr-protos.h (avr_output_bld): New. |
| (out_shift_with_cnt): Add t_len argument. |
| * config/avr/avr.c (avr_num_arg_regs): Remove -mpack-args. |
| (output_movqi, output_movhi, output_movsisf): Optimize loading |
| any constant with exactly one bit set to NO_LD_REGS. |
| (out_shift_with_cnt): Optimize output code for size or speed, |
| depending on optimize_size. Handle small shift counts as well |
| (if not hand-optimized in ?sh??i3_out). Shifts can be done |
| with or without a scratch register, with help of __tmp_reg__ |
| or __zero_reg__ if necessary. Add T_LEN argument to pass the |
| length of TEMPLATE in words, return total insn length in *LEN. |
| (ashlqi3_out, ashrqi3_out, lshrqi3_out): Change all calls to |
| out_shift_with_cnt to work with the above change. |
| (ashlhi3_out, ashlsi3_out, ashrhi3_out, ashrsi3_out, lshrhi3_out, |
| lshrsi3_out): Likewise. Optimize more known shift count cases. |
| Remove cases already well optimized in out_shift_with_cnt. |
| (avr_output_bld): New function. |
| * config/avr/avr.h (MASK_PACK_ARGS, TARGET_PACK_ARGS): Remove. |
| (TARGET_SWITCHES): Remove -mpack-args backward compatibility. |
| * config/avr/avr.md (*reload_inqi, *reload_inhi, *reload_insi): |
| Add reload_completed to insn condition - only for peepholes. |
| (ashlqi3, ashrqi3, lshrqi3): Correct insn length for shift counts |
| in a register or memory. |
| (ashlhi3, ashlsi3, ashrhi3, ashrsi3, lshrhi3, lshrsi3): Likewise. |
| Do not require a scratch register. |
| (*ashlhi3_const, *ashlsi3_const, *ashrhi3_const, *ashrsi3_const, |
| *lshrhi3_const, *lshrsi3_const): New insns and matching peepholes. |
| Optimize shifts by known count using a scratch register, but only |
| if one is still available after register allocation. |
| |
| 2000-10-20 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * t-vax: New file. Don't build modules from libgcc1.c. |
| |
| Fri Oct 20 00:57:00 EDT 2000 John Wehle (john@feith.com) |
| |
| * alias.c: (mark_constant_function): Don't check pure functions. |
| Initialize and end alias analysis. |
| (nonlocal_mentioned_p): Rename from nonlocal_reference_p. |
| Don't make a special exception for recursion. Handle |
| UNSPEC_VOLATILE. Don't assume ASM_OPERANDS is non-local |
| unless it's volatile. |
| |
| * local-alloc.c (equivalence): New structure. |
| (reg_equiv): Define. |
| (contains_replace_regs): Remove array and use |
| field in reg_equiv. |
| (memref_referenced_p): Likewise. |
| (no_equiv): Likewise. |
| (update_equiv_regs): Likewise. |
| |
| (equiv_init_varies_p, |
| equiv_init_movable_p): New functions. |
| (update_equiv_regs): Use them. Use rtx_varies_p |
| instead of function_invariant_p. Process insns |
| from end to beginning. Allow a REG_EQUIV insn |
| within the same loop as a use to be moved, also |
| allow it to be moved out of a loop. Update |
| REG_DEAD notes when substituting into an insn. |
| |
| 2000-10-19 Jim Wilson <wilson@cygnus.com> |
| |
| * c-decl.c (start_decl): Check for error_mark_node type before using |
| COMPLETE_TYPE_P. |
| (finish_decl): Likewise. Don't give an error if decl type is |
| already error_mark_node. |
| |
| * haifa-sched.c (compute_trg_info): Add explanatory comments. |
| New local update_blocks. Use update_blocks to remove duplicates |
| when computing update blocks. Check for bblst_table overflow. |
| (schedule_block): Add explanatory comment. Reduce bblst_size by |
| factor of 2. |
| * config/ia64/ia64.md (movdi_symbolic): Document loss of REG_LABEL |
| notes. |
| |
| 2000-10-19 Chandrakala Chavva <cchavva@redhat.com> |
| |
| * libgcc2.c (_mulvsi3): Change variables u and v to a and b. |
| |
| 2000-10-19 Chandrakala Chavva <cchavva@redhat.com> |
| |
| * expmed.c: Minor corrections in comments. |
| * invoke.texi: Added desciption for the new option -ftrapv. |
| |
| 2000-10-19 Chandrakala Chavva <cchavva@redhat.com> |
| |
| * libgcc2.c: Added the missing #endif. |
| |
| Thu Oct 19 14:25:11 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * i386.h (CONST_OK_FOR_LETTER): Re-add 'N'; document. |
| |
| 2000-10-18 Chandrakala Chavva <cchavva@redhat.com> |
| |
| * expmed.c (expand_mult): Don't do synth_mult optimization for -ftrapv. |
| Use smulv_optab for -ftrapv. |
| (expand_mult_highpart): Use unsigned multiply. |
| (expand_divmod): Special-case division by -1. |
| For EXACT_DIV_EXPR, do right shift first, then the multiply. |
| For complex divide, use abs with unsigned result. |
| * expr.c (force_operand): Use unsigned multiply. |
| (expand_expr): Use overflow-trapping optabs for signed types if |
| flag_trapv. |
| If flag_trapv, don't generate a recursive call with EXPAND_SUM |
| if the type is signed and the original call wasn't EXPAND_SUM or |
| EXPAND_INITIALIZER. |
| * expr.h (addv_optab, subv_optab, smulv_optab, sdivv_optab): Declare. |
| (negv_optab, absv_optab): Declare. |
| * flags.h (flag_trapv): Declare. |
| * genopinit.c (optabs): Add entries for addv_optab, subv_optab, |
| smulv_optab, sdivv_optab, negv_optab and absv_optab. |
| (gen_insn): Interpret '$P' as requiring an integer mode, |
| including partial integer modes. |
| * loop.c (emit_iv_add_mult): Use unsigned expand_mult_add. |
| (product_cheap_p): Use unsigned expand_mult. |
| * optabs.c (addv_optab, subv_optab, smulv_optab, sdivv_optab): Define. |
| (negv_optab, absv_optab): Define. |
| (expand_binop): Use overflow-trapping optabs for signed types if |
| flag_trapv. |
| Handle negv_optab libe neg_optab. |
| (expand_abs): Take result_unsignedp argument instead of unsignedp one. |
| Use overflow-trapping optabs for signed result if flag_trapv. |
| (expand_complex_abs): Use overflow-trapping optabs for signed types if |
| flag_trapv. |
| Don't open-code complex absolute-value operation for flag_trapv. |
| (init_optabs): Initialize addv_optab, subv_optab, smulv_optab, |
| sdivv_optab, negv_optab and absv_optab. |
| * toplev.c (flag_trapv): Define. |
| (lang_independent_options f_options): Include flag_trapv. |
| * tree.h (TYPE_TRAP_SIGNED): Define. |
| * libgcc2.c (__addvsi3, __addvdi3, __subvsi3,__subvsi3, __subvdi3, |
| __mulvsi3, __negvsi2, __negvdi2, __absvsi2, __absvdi2, __mulvdi3): |
| New functions. |
| * Makefile.in: add _absvsi2 _absvdi2 _addvsi3 _addvdi3 _subvsi3 |
| _subvdi3 _mulvsi3 _mulvdi3 _negvsi2 _negvdi2. |
| |
| 2000-10-18 Geoffrey Keating <geoffk@cygnus.com> |
| David V. Henkel-Wallace <gumby@cygnus.com> |
| |
| * config/i386/t-netware: Bring in from the Red Hat tree. |
| * config/i386/netware.h: Likewise. |
| * config/netware.h: Likewise. |
| * config/rs6000/netware.h: Delete. |
| * configure.in: Add i[34567]86-*-netware. |
| * configure: Hand-edit to match configure.in change. |
| |
| 2000-10-18 Mark Mitchell <mark@codesourcery.com> |
| |
| * c-common.h (flag_no_builtin): Declare. |
| (flag_no_nonansi_builtin): Likewise. |
| (c_common_nodes_and_builtins): Change prototype. |
| * c-common.c (flag_no_builtin): New variable. |
| (flag_no_nonansi_builtin): Likewise. |
| (c_common_nodes_and_builtins): Remove parameters. Adjust |
| accordingly. |
| * c-decl.c (flag_no_builtin): Remove. |
| (flag_no_nonansi_builtin): Likewise. |
| (init_decl_processing): Adjust call to |
| c_common_nodes_and_builtins. |
| |
| 2000-10-18 Marc Espie <espie@openbsd.org> |
| |
| * tm.texi (LIBGCC_SPEC): Synch with reality. |
| |
| 2000-10-18 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (check_format_types): Check for writing through a |
| NULL pointer argument. |
| |
| 2000-10-18 Hans-Peter Nilsson <hp@axis.com> |
| |
| * tm.texi (Exception Region Output): Document |
| DWARF_CIE_DATA_ALIGNMENT. |
| * dwarf2out.c (DWARF_CIE_DATA_ALIGNMENT): Wrap definition in |
| #ifndef. |
| [ENABLE_CHECKING] (reg_save): Abort if offset is not a multiple of |
| DWARF_CIE_DATA_ALIGNMENT. |
| |
| 2000-10-18 Michael Hayes <mhayes@cygnus.com> |
| |
| * basic-block.h (struct loop): Delete fields pre_header_root |
| and pre_header_trace and replace with pre_header_edges |
| and num_pre_header_edges. |
| * flow.c (flow_loop_dump): Dump pre_header_edges. |
| (flow_loops_free): Free pre_header_edges. |
| (flow_loop_pre_header_scan): Calculate pre_header_edges. |
| |
| 2000-10-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> |
| |
| * contrib.texi: Update references to steering committee members |
| and Jeff Law's entry. |
| |
| 2000-10-18 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (CPLUSPLUS_STD_VER, C_STD_VER, C_STD_NAME): Define. |
| (maybe_read_dollar_number, check_format_info_main): Use them for |
| pedantic warning messages. |
| |
| 2000-10-18 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (check_format_info_main): Minor cleanup: move |
| variables into inner scopes; initialize declarations where |
| appropriate; don't hardcode "scanf" name on warning for zero |
| width. |
| |
| 2000-10-17 Mark Mitchell <mark@codesourcery.com> |
| |
| * c-common.c (back_end_hook): New variable. |
| * c-common.h (back_end_hook): Declare it. |
| * c-lang.c (finish_file): Use it. |
| |
| * emit-rtl.c (init_emit_once): Initialize the const_int_htab |
| earlier. |
| |
| 2000-10-18 Jan Hubicka <jh@suse.cz> |
| |
| * i386.c (ix86_comparison_operator, put_condition_code, |
| ix86_match_ccmode, ix86_cc_mode): Handle CCRCmode. |
| (ix86_expand_strlensi_unroll_1): Use CCRCmode. |
| * i386.h (EXTRA_CC_MODES): Add CCRCmode. |
| * i386.md (adddi and negdi splitter): Use CCRCmode. |
| (add?i_3, add?i_4, add?i_5): Use CCRCmode; swap operands |
| (subsi3_carry): add '*' |
| (addsi3_carry_rc, subsi3_carry_rc, x86_movsicc_0_m1_rc): New. |
| (cmp to add peep2): Use CCRCmode; swap operands. |
| |
| 2000-10-18 Kazu Hirata <kazu@hxi.com> |
| |
| * h8300.c: Fix a comment typo. |
| (round_frame_size): New. |
| (compute_saved_regs): Likewise. |
| (push): Likewise. |
| (pop): Likewise. |
| (push_order): Remove. |
| (pop_order): Likewise. |
| (function_prologue): Rearrange code for readability. |
| (function_epilogue): Likewise. |
| |
| * config/h8300/h8300.md: Remove an unnecessary sign_extend |
| expander that is used when not optimizing. Output a tab after |
| each assembly insns. |
| |
| * reorg.c: Fix formatting. |
| |
| 2000-10-17 Joern Rennecke <amylaar@redhat.co.uk> |
| |
| * reload1.c (move2add_note_store): Check for simple |
| auto-inc in destination. |
| |
| 2000-10-17 Michael Chastain <chastain@redhat.com> |
| |
| * config/i386/i386-aout.h: define INT_ASM_OP. |
| |
| Tue Oct 17 20:11:08 2000 Alan Modra <alan@linuxcare.com.au> |
| |
| * pa.c (print_operand): Handle case 'c' for .vtable_inherit |
| |
| Tue Oct 17 20:05:51 2000 Martin Buchholz <martin@xemacs.org> |
| |
| * i370.md: Fix spelling typo. |
| |
| 2000-10-17 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> |
| |
| * function.c (locate_and_pad_parm): Don't align stack unconditionally. |
| Fixes execute/20001017-1.c on powerpc-linux-gnu. |
| |
| * expr.c (store_constructor): Apply MEM_ALIAS_SET to MEMs only. |
| * rs6000/rs6000.c (rs6000_hash_constant): Use X0INT to access a |
| LABEL_REF. |
| |
| * rs6000/rs6000.h (NO_DOLLAR_IN_LABEL, DOLLARS_IN_IDENTIFIERS, |
| ENCODE_SECTION_INFO, ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Move from |
| here... |
| * rs6000/aix.h: ...to here. |
| * rs6000/linux.h (ASM_APP_ON, ASM_APP_OFF): Define to Linux-style. |
| |
| 2000-10-17 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Reload gp if needed. |
| |
| * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Always use call, make |
| sure linker can relax even the delay slot mov %g1,%o7, fix output |
| formating. |
| |
| 2000-10-17 Kazu Hirata <kazu@hxi.com> |
| |
| * config/h8300/h8300.md: Remove an unnecessary zero_extend |
| expander that is used when not optimizing. Output a tab after |
| each assembly insns. |
| |
| 2000-10-17 Chandrakala Chavva <cchavva@redhat.com> |
| |
| * gcc.c: New options --target-help. |
| (process_command): Added code to parse this new option. |
| * toplev.c (display_target_options): New function to support the |
| above new option. |
| * cppinit.c (new_pending_directive) : New option OPT_target__help. |
| (cpp_handle_option): Support this new option. |
| * invoke.texi: Added notes about --target-help option. |
| |
| 2000-10-17 Graham Stott <grahams@redhat.com> |
| |
| * config/i386/i386.md (testqi_1): Add missing operand prefix |
| for operand 0. |
| * config/i386/i386-protos.h: Add missing prototype. |
| |
| 2000-10-17 Diego Novillo <dnovillo@cygnus.com> |
| |
| * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Symbol |
| _GLOBAL_OFFSET_TABLE should not have a $ prefix when |
| using -mintel-syntax. |
| |
| 2000-10-17 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (FMT_FLAG_DOLLAR_MULTIPLE): Define. |
| (format_types): Use it for printf. |
| (maybe_read_dollar_number): Add parameter for the kind of format |
| involved. Warn for multiple use for arguments if this is |
| inappropriate for the kind of format involved. |
| (check_format_info_main): Update calls to maybe_read_dollar_number. |
| |
| 2000-10-17 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * inclhack.def (hpux_maxint): Also apply fix to values.h. |
| * fixincl.x: Rebuilt. |
| |
| 2000-10-17 Alexandre Oliva <aoliva@redhat.com> |
| |
| * genrecog.c (write_switch): Return the first condition that needs a |
| label. |
| |
| 2000-10-17 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * c-tree.h (warn_sequence_point): Move declaration to... |
| * c-common.h (warn_sequence_point): ... here. |
| * c-decl.c (warn_sequence_point): Move definition to... |
| * c-common.c (warn_sequence_point): ... here. |
| (struct reverse_tree): New. |
| (reverse_list, reverse_max_depth): New static variables. |
| (build_reverse_tree, common_ancestor, modify_ok |
| verify_sequence_points): New functions. |
| (c_expand_expr_stmt): Call verify_sequence_points if -Wsequence-point. |
| * c-typeck.c (check_modify_expr): Delete. |
| (build_modify_expr): Don't call it. |
| |
| 2000-10-17 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.h (warn_missing_format_attribute): New variable. |
| * c-decl.c (warn_missing_format_attribute): New variable. |
| (c_decode_option): Decode -Wmissing-format-attribute and |
| -Wno-missing-format-attribute. |
| * c-common.c (check_function_format): If |
| -Wmissing-format-attribute, give a warning where a vprintf or |
| vscanf function is called by a function without its own printf or |
| scanf attribute. |
| * toplev.c (documented_lang_options): Add |
| -Wmissing-format-attribute. |
| * invoke.texi: Document -Wmissing-format-attribute. |
| |
| 2000-10-17 Marc Espie <espie@openbsd.org> |
| |
| * invoke.texi (-shared): Insist on requiring code generation flags |
| to be used along with -shared, and document the subtle failure that |
| may occur otherwise. |
| |
| 2000-10-16 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * pa.md (return_internal): Move `use' after `return'. |
| |
| 2000-10-16 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr> |
| |
| * machmode.def: Correct comment. |
| |
| 2000-10-16 Rodney Brown <RodneyBrown@mynd.com> |
| |
| * print-rtl.c (print_rtx_head): Constify. |
| * rtl.h (print_rtx_head): Similarly. |
| |
| * config/pa/pa/pa-protos.h (output_64bit_and, output_64bit_ior): |
| Constify char * return value. |
| * config/pa/pa/pa.c |
| (output_64bit_and, output_64bit_ior): Constify char * return value. |
| (pa_can_combine_p): Make static. |
| (function_arg): Decorate unused `named' argument. Fix comment typo. |
| (function_arg_partial_nregs): Decorate unused `named' argument. |
| |
| 2000-10-16 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (format_check_results): New structure. |
| (finish_dollar_format_checking): Adjust to take a |
| format_check_results * parameter. |
| (check_format_info, check_format_info_recurse, |
| check_format_info_main): Split check_format_info into three |
| functions, the main checking going in check_format_info_main. |
| Recurse when any reduction of the format string argument towards a |
| string literal is done; go down both branches of a conditional |
| expression. Don't warn for extra format arguments or empty format |
| strings if they only occur in some branches of a conditional |
| expression. |
| |
| 2000-10-16 Kazu Hirata <kazu@hxi.com> |
| |
| * config/h8300/h8300.c: Remove obstack. Include ggc.h. |
| |
| 2000-10-16 Jakub Jelinek <jakub@redhat.com> |
| |
| * rtlanal.c (may_trap_p): Check operand modes of COMPARE. |
| |
| 2000-10-15 Diego Novillo <dnovillo@cygnus.com> |
| |
| * i386.md (*movsi_or): Switch operand order for intel syntax. |
| |
| 2000-10-14 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * PROBLEMS: Remove. |
| |
| * gcc.texi (Contributing): Update. |
| |
| 2000-10-13 Diego Novillo <dnovillo@cygnus.com> |
| |
| * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Output final jump using |
| appropriate assembler dialect. |
| |
| 2000-10-13 Alexandre Oliva <aoliva@redhat.com> |
| |
| * c-common.c (c_expand_builtin): PARAMS-ize prototype. |
| |
| 2000-10-12 Marek Michalkiewicz <marekm@linux.org.pl> |
| |
| * config/avr/avr.c (output_movhi, output_movsisf): Fix loading |
| constants 1 and 2 to NO_LD_REGS. |
| |
| 2000-10-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * Makefile.in (c-parse.c, tradcif.c): Create atomically. |
| |
| * objc/Make-lang.in (objc-parse.c): Likewise. |
| |
| 2000-10-13 Richard Earnshaw <rearnsha@arm.com> |
| |
| * arm.c: Include obstack.h |
| (minipool_obstack, minipool_startobj): Define. |
| (arm_add_gc_roots): Initialize them. |
| (create_fix_barrier): Use our new obstack. |
| (push_minipool_barrier, push_minipool_fix): Likewise. |
| (arm_reorg): Release obstack memory. |
| |
| 2000-10-13 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/sparc.md (nonlocal_goto_receiver): Remove. |
| (prologue, exception_receiver, builtin_setjmp_receiver): New |
| patterns. |
| * config/sparc/sparc.h (FINALIZE_PIC): Remove. |
| * config/sparc/sparc-protos.h (finalize_pic): Remove. |
| (load_pic_register): New prototype. |
| * config/sparc/sparc.c (pic_setup_code): Remove. |
| (finalize_pic): Rename to... |
| (load_pic_register): ...this function. |
| Don't look for nonlocal_goto_receivers and emit pic setup code |
| directly. Don't check current_function_uses_pic_offset_table. |
| |
| 2000-10-13 Richard Earnshaw <rearnsha@arm.com> |
| |
| * tree.h (struct obstack): Declare. |
| |
| 2000-10-12 Mark Mitchell <mark@codesourcery.com> |
| |
| Remove obstacks. |
| * Makefile.in (ggc-callbacks.o): Remove target. |
| (flow.o): Depend on GGC_H. |
| * alias.c (init_alias_analysis): |
| Remove ggc_p conditionals. |
| (end_alias_analysis): Likewise. |
| * basic-block.h (init_flow): New function. |
| (allocate_reg_life_data): Declare. |
| * bb-reorder.c (function_obstack): Replace with ... |
| (flow_obstack): ... new variable. |
| (fixup_reorder_chain): Use it. |
| * c-decl.c (ggc_p): Remove. |
| (caller-save.c): Don't call oballoc/obfree. |
| * combine.c (struct |
| undobuf): Remove storage. |
| (try_combine): Don't call oballoc. |
| (undo_all): Don't call obfree. |
| * cse.c (insert): Use xmalloc, not |
| oballoc. |
| (cse_main): Adjust accordingly. |
| * dwarf2out.c (save_rtx): Remove |
| obstack code. |
| (dwarf2out_init): Remove ggc_p conditionals. |
| * emit-rtl.c (rtl_obstack): Remove. |
| (gen_rtx_CONST_INT): Remove ggc_p conditionals. |
| (make_insn_raw): Likewise. |
| (emit_insn_before): Likewise. |
| (emit_insn_after): Likewise. |
| (emit_insn): Likewise. |
| (gen_sequence): Likewise. |
| (copy_insn_1): Remove handling of `b' RTL components. |
| (init_emit_once): Remove ggc_p conditionals. |
| * except.c (create_rethrow_ref): Don't fool with obstacks. |
| (add_partial_entry): Likewise. |
| (call_get_eh_context): Likewise. |
| (begin_protect_partials): Likewise. |
| (protect_with_terminate): Likewise. |
| * explow.c |
| (plus_constant_wide): Likewise. |
| * expr.c (init_expr_once): |
| Likewise. |
| (emit_block_move): Likewise. |
| (clear_storage): Likewise. |
| (expand_expr): Likewise. |
| * flow.c (function_obstack): Remove. |
| (flow_obstack): New variable. |
| (flow_firstobj): Likewise. |
| (create_base_block): Use the flow_obstack. |
| (split_block): Likewise. |
| (split_edge): Likewise. |
| (calculate_global_regs_live): Likewise. |
| (allocate_bb_life_data): Make it static. Likewiwse. |
| (init_flow): New function. |
| (size_int_type_wide): Remove ggc_p conditionals. |
| * function.c |
| (push_function_context_to): Don't call save_tree_status. |
| (pop_function_context_from): Or restore_tree_status. |
| (assign_stack_local_1): Don't call push_obstacks. |
| (find_fixup_replacement): Use xmalloc. |
| (fixup_var_refs_insns): Free the storage. |
| (insns_for_mem_walk): Don't mess with obstacks. |
| (instantiate_decls): Likewise. |
| (trampoline_address): Likewise. |
| (expand_function_end): Likewise. |
| * function.h (sturct function): |
| Remove obstack-related variables. |
| (save_tree_status): Don't declare. |
| (restore_tree_status): Likewise. |
| * gcse.c (compute_can_copy): |
| Don't call oballoc/obfree. |
| * genattrtab.c (operate_exp): Remove |
| ggc_p conditionals. |
| (simplify_cond): Likewise. |
| (simplify_test_exp): Don't mess with obstacks. |
| (optimize_attrs): Likewise. |
| * gengenrtl.c (gendef): Don't include |
| ggc_p conditionals. |
| * ggc-callbacks.c (ggc_p): Remove. |
| * ggc-none.c (ggc_p): Remove. |
| * ggc.h (ggc_p): Don't declare. |
| * integrate.c (save_for_inline): Don't mess with obstacks. |
| (integrate_decl_tree): Likewise. |
| (output_inline_function): Likewise. |
| * lists.c |
| (init_EXPR_INSN_LIST_cache): Likewise. |
| * loop.c (temp_obstack): |
| Remove. |
| (rtl_obstack): Likewise. |
| (init_loop): Don't mess with obstacks. |
| (reg_address_cost): Free BIVs and GIVs. |
| (check_insns_for_bivs): Use xmalloc, not oballoc. |
| (find_mem_givs): Likewise. |
| (record_biv): Likewise. |
| (general_induction_var): Likewise. |
| (product_cheap_p): Likewse. |
| * optabs.c (init_one_libfunc): Remove |
| ggc_p conditional. |
| * print-tree.c (debug_tree): Don't use |
| oballoc/obfree. |
| (print_node): Likewise. |
| * profile.c (output_func_start_profiler): |
| Remove call to temporary_allocation. |
| * reload1.c |
| (eliminate_regs_in_insn): Don't mess with obstacks. |
| * resource.c |
| (mark_target_live_regs): Use xmalloc. |
| (free_resource_info): Free the memory. |
| * rtl.c (rtl_obstack): |
| Remove. |
| (rtvec_alloc): Don't mess with obstacks. |
| (rtx_alloc): Likewise. |
| (rtx_free): Remove. |
| (copy_rtx): Don't handle `b' cases. |
| (read_rtx): Use a local rtl_obstack. |
| * rtl.h (oballoc): Remove. |
| (obfree): Likewise. |
| (pop_obstacks): Likewise. |
| (push_obstacks): Likewise. |
| (allocate_bb_life_data): Likewise. |
| (allocate_reg_life_data): Likewise. |
| (rtx_free): Likewise. |
| * sdbout.c (sdbout_queue_anonymous_type): |
| Use tree_cons, not saveable_tree_cons. |
| * simplify-rtx.c |
| (cselib_init): Don't mess with obstacks. |
| * stmt.c |
| (mark_block_nesting): Mark the label_chain. |
| (epxand_label): Use ggc_alloc, not oballoc. |
| (clear_last_expr): Don't mess with obstacks. |
| (expand_decl_cleanup): Likewise. |
| (expand_dcc_cleanup): Likewise. |
| (expand_dhc_cleanup): Likewise. |
| (expand_anon_union_decl): Likewise. |
| (add_case_node): Use xmalloc, not oballoc. |
| (free_case_nodes): New function. |
| (expand_end_case): Call it. |
| * stor-layout.c (layout_type): Don't |
| mess with obstacks. |
| (layout_type): Likewise. |
| * toplev.c (wrapup_global_declarations): |
| Likewise. |
| (compile_file): Remove ggc_p conditionals. |
| (rest_of_compilation): Call init_flow. Remove ggc_p conditionals. |
| (decode_f_option): Remove ggc_p conditionals. |
| * tree.c |
| (function_maybepermanent_obstack): Remove. |
| (maybepermanent_obstack): Likewise. |
| (function_obstack): Likewise. |
| (tmeporary_obstack): Likewise. |
| (momentary_obstack): Likewise. |
| (temp_decl_obstack): Likewise. |
| (saveable_obstack): Likewise. |
| (rtl_obstack): Likewise. |
| (current_obstack): Likewise. |
| (expression_obstack): Likewise. |
| (struct obstack_stack): Likewise. |
| (obstack_stack): Likewise. |
| (obstack_stack_obstack): Likewise. |
| (maybepermanent_firstobj): Likewise. |
| (temporary_firstobj): Likewise. |
| (momentary_firstobj): Likewise. |
| (temp_decl_firstobj): Likewise. |
| (momentary_function_firstobj): Likewise. |
| (all_types_permanent): Likewise. |
| (struct momentary_level): Likewise. |
| (momentary_stack): Likewise. |
| (init_obstacks): Remove initialization of removed obstacks. |
| (save_tree_status): Remove. |
| (restore_tree_status): Likewise. |
| (temporary_allocation): Liekwise. |
| (end_temporary_allocation): Liekwise. |
| (resume_temporary_allocation): Likewise. |
| (saveable_allocation): Likewise. |
| (push_obstacks): Likewise. |
| (push_obstacks_nochange): Likewise. |
| (pop_obstacks): Likewise. |
| (allocation_temporary_p): Likewise. |
| (permanent_allocation): Likewise. |
| (preserve_data): Likewise. |
| (preserve_initializer): Likewise. |
| (rtl_in_current_obstack): Likewise. |
| (rtl_in_saveable_obstack): Likewise. |
| (oballoc): Likewise. |
| (obfree): Likewise. |
| (savealloc): Likewise. |
| (expralloc): Likewise. |
| (print_obstack_name): Likewise. |
| (debug_obstack): Likewise. |
| (object_permanent_p): Likewise. |
| (push_momentary): Likewise. |
| (perserve_momentary): Likewise. |
| (clear_momentary): Likewise. |
| (pop_momentary): Likewise. |
| (pop_momentary_nofree): Likewise. |
| (suspend_momentary): Likewise. |
| (resume_momentary): Likewise. |
| (make_node): Don't set TREE_PERMANENT. |
| (copy_node): Remove ggc_p conditionals. Don't set TYPE_OBSTACK. |
| Don't set TREE_PERMANENT. |
| (get_identifier): Remove ggc_p conditionals. |
| (build_string): Likewise. |
| (make_tree_vec): Likewise. |
| (build_decl_list): Remove. |
| (build_expr_list): Likewise. |
| (tree_cons): Remove ggc_p conditionals. |
| (decl_tree_cons): Remove. |
| (expr_tree_cons): Likewise. |
| (perm_tree_cons): Likewise. |
| (temp_tree_cons): Likewise. |
| (saveable_tree_cons): Likewise. |
| (build1): Remove ggc_p conditionals. |
| (build_parse_node): Likewise. |
| (build_type_attribute_variant): Don't mess with obstacks. |
| (build_type_copy): Likewise. |
| (type_hash_canon): Likewise. |
| (build_pointer_type): Likewise. |
| (build_reference_type): Likewise. |
| (build_index_type): Likewise. |
| (build_range_type): Likewise. |
| (dump_tree_statistics): Don't print obstack information. |
| * tree.h |
| (struct tree_common): Remove permanent_flag. |
| (TREE_PERMANENT): Remove. |
| (TREE_SET_PERMANENT): Likewise. |
| (TYPE_OBSTACK): Likewise. |
| (struct tree_type): Remove obstack. |
| (oballoc): Remove. |
| (savealloc): Likewise. |
| (build_decl_list): Likewise. |
| (build_expr_list): Likewise. |
| (perm_tree_cons): Likewise. |
| (temp_tree_cons): Likewise. |
| (saveable_tree_cons): Likewise. |
| (decl_tree_cons): Likewise. |
| (expr_tree_cons): Likewise. |
| (suspend_momentary): Likewise. |
| (allocation_temporary_p): Likewise. |
| (resume_momentary): Likewise. |
| (push_obstacks_nochange): Likewise. |
| (permanent_allocation): Likewise. |
| (push_momentary): Likewise. |
| (clear_momentary): Likewise. |
| (pop_momentary): Likewise. |
| (end_temporary_allocation): Likewise. |
| (pop_obstacks): Likewise. |
| (push_obstacks): Likewise. |
| (pop_momentary_nofree): LIkewise. |
| (preserve_momentary): Likewise. |
| (saveable_allocation): Likewise. |
| (temporary_allocation): Likewise. |
| (resume_temporary_allocation): Likewise. |
| (perserve_initializer): Likewise. |
| (debug_obstack): Likewise. |
| (rtl_in_current_obstack): Likewise. |
| (rtl_in_saveable_obstack): Likewise. |
| (obfree): Likewise. |
| * varasm.c (current_obstack): Remove. |
| (saveable_obstack): Remove. |
| (rtl_obstack): Remove. |
| (immed_double_const): Don't mess with obstacks. |
| (immed_real_cons): Likewise. |
| (output_constant_def): Likewise. |
| (init_varasm_status): Use xcalloc. |
| (mark_pool_constant): Mark the pool constant itself. |
| (free_varasm_status): Free memory. |
| (decode_rtx_const): Call bzero directly, rather than expanding it |
| inline. |
| (record_rtx_const): Don't mess with obstacks. |
| (force_const_mem): Likewise. |
| * config/arm/arm.c (arm_encode_call_attribute): Remove ggc_p |
| conditionals. |
| (aof_pic_entry): Likewise. |
| * config/ia64/ia64.c (ia64_encode_section_info): Likewise. |
| * config/m32r/m32r.c (m32r_encode_section_info): Likewise. |
| * config/pa/pa.c (saveable_obstack): Remove. |
| (rtl_obstack): Likewise. |
| (current_obstack): Likewise. |
| (output_call): Don't mess with obstacks. |
| (hppa_encode_label): Remove ggc_p conditionals. |
| * config/romp/romp.c (get_symref): Don't mess with obstacks. |
| * config/rs6000/rs6000.c (output_toc): Remove ggc_p conditional. |
| (rs6000_encode_section_info): Likewise. |
| * config/sh/sh.c (get_fpscr_rtx): Likewise. |
| |
| Thu Oct 12 16:02:31 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * i386.md (adddi3, subdi3 splitters): Update for new pattern. |
| (addsi3_cc, addqi3_cc, subsi3_cc): Remove |
| (addsi3_carry): Canonicalize. |
| (addqi_5): Remove '*'. |
| (sbb pattern): Canonicalize. |
| |
| * i386.md (cmp to inc/add peep2): New. |
| |
| 2000-10-12 Richard Earnshaw <rearnsha@arm.com> |
| |
| * bb-reorder.c (reorder_basic_blocks): Allocate an aux block for |
| the exit block. |
| |
| 2000-10-12 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * gcc.texi: Merge in contents of README.TRAD and TESTS.FLUNK. |
| * README.TRAD, TESTS.FLUNK: Remove. |
| |
| 2000-10-12 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (decl_attributes): Don't allow strftime formats with |
| first_arg_num nonzero. |
| (check_format_info): Set wanted_type and wanted_type_name to zero |
| before they are possibly assigned and used. |
| |
| 2000-10-12 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (scanf_flag_specs): Add flags ' and I. |
| (strftime_flag_pairs): Disallow any pair of the _, - and 0 flags, |
| or the ^ and # flags together. |
| (scan_char_table): Handle the ' and I flags. |
| (format_types): Add ' and I flags for scanf. |
| |
| 2000-10-12 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (print_char_table): Use the unpromoted type for |
| lengths "h" and "hh" with conversions dioxXu. |
| (check_format_types): Apply the default argument promotions where |
| the wanted type is not a pointer target. |
| |
| 2000-10-11 Michael Meeks <mmeeks@gnu.org> |
| Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-typeck.c (check_modify_expr): New function. |
| (build_modify_expr): Call it if warn_sequence_point. |
| * c-decl.c (warn_sequence_point): New variable. |
| (c_decode_option): Handle -Wsequence-point and |
| -Wno-sequence-point. Enable -Wsequence-point as part of -Wall. |
| * c-tree.h (warn_sequence_point): Declare. |
| * invoke.texi (-Wsequence-point): Document. |
| * toplev.c (documented_lang_options): Add -Wsequence-point and |
| -Wno-sequence-point. |
| Original work by Michael Meeks, 16 Jun 1998. |
| |
| Wed Oct 11 06:15:41 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * tree.c (get_narrower): Don't look at precision of field if |
| not laid out yet. |
| |
| Tue Oct 10 23:14:33 2000 Denis Chertykov <denisc@overta.ru> |
| |
| * config/avr/avr.c (valid_machine_decl_attribute): Allow `extern' |
| declaration for data with "progmem" attribute. |
| |
| 2000-10-09 Marek Michalkiewicz <marekm@linux.org.pl> |
| |
| * config/avr/avr.c (out_shift_with_cnt): Use AS2 macro. |
| Correct insn length if shift count is a memory operand. |
| * config/avr/avr.md: New define_peephole2 to use *reload_inqi. |
| (*iorhi3_clobber): Change lo8 to hi8. |
| (zero_extendhisi2): Change %B0 to %A1. |
| (ashlhi3, ashrhi3): Correct insn length. |
| (andhi3, abssf2, extendqisi2, extendhisi2): Change "cc" |
| from "clobber" to "set_n" in some alternatives. |
| |
| 2000-10-10 Jakub Jelinek <jakub@redhat.com> |
| |
| * reload1.c (calculate_needs_all_insns): If deleting an instruction, |
| remove its insn_chain structure as well. |
| |
| 2000-10-09 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * dbxout.c (dbxout_source_line): Remove extra tab. |
| |
| 2000-10-09 Hans-Peter Nilsson <hp@bitrange.com> |
| |
| * config/elfos.h (UNIQUE_SECTION): Apply STRIP_NAME_ENCODING on name. |
| |
| 2000-10-09 Richard Henderson <rth@cygnus.com> |
| |
| * Makefile.in (LANG_LIB2FUNCS): Remove. |
| (LIB2FUNCS): Remove _pure. |
| (LIB2ADD): Remove LANG_LIB2FUNCS. |
| (stage_a): Don't set LANG_LIB2FUNCS. |
| * libgcc2.c (__terminate): Mark noreturn. |
| (__pure_virtual): Remove. |
| * mklibgcc.in: Remove LIB2ADD .txt processing. |
| |
| 2000-10-09 Richard Earnshaw <rearnsha@arm.com> |
| |
| * arm.md (push_multi): Revert unintended change. |
| |
| 2000-10-09 Richard Earnshaw <rearnsha@arm.com> |
| |
| * arm.c: Miscellaneous white space and comment clean-ups. No |
| functional change. |
| * arm.md: Likewise. |
| |
| 2000-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * c-common.c (c_expand_builtin_printf): Set the TREE_TYPE of a new |
| STRING_CST by calling combine_strings. |
| |
| 2000-10-09 Richard Earnshaw <rearnsha@arm.com> |
| |
| * arm.c (thumb_expand_movstrqi): Rewrite to support SSA form. |
| (thumb_output_move_mem_multiple): Support new insn format. |
| * arm.md (movmem12b): Use SSA compatible format. |
| (movmem8b): Likewise. |
| |
| 2000-10-09 Richard Earnshaw <rearnsha@arm.com> |
| |
| * arm.md (predicable): New attribute, default to "no". |
| (all patterns): Mark as predicable if appropriate. |
| (conditional execution splits): Split using predication format. |
| (define_cond_exec): Define. |
| * arm.c (arm_print_operand): handle insn predicate. |
| |
| 2000-10-09 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> |
| |
| * README.NS32K: Remove file. |
| |
| 2000-10-09 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> |
| |
| * README-bugs: Remove file. |
| |
| 2000-10-08 Philipp Thomas <pthomas@suse.de> |
| * aclocal.m4 (AM_GNU_GETTEXT): Fix non portable use of == operator |
| for test. |
| * configure: Rebuilt. |
| |
| 2000-10-08 Philipp Thomas <pthomas@suse.de> |
| * aclocal.m4 (AM_WITH_NLS): When not using included gettext, |
| disable catalog building if no suitable program was found. |
| Move warning message from here |
| (AM_GNU_GETTEXT): To here. |
| * configure: Rebuilt. |
| |
| 2000-10-08 Philipp Thomas <pthomas@suse.de> |
| * aclocal.m4 (GCC_PATH_PROG): New. Like AC_PATH_PROG but uses |
| different cache variables. |
| (GCC_PATH_PROG_WITH_TEST): New. Like AM_PATH_PROG_WITH_TEST but |
| uses different cache variables. |
| (AM_WITH_NLS): Use GCC_PATH_PROG and GCC_PATH_PROG_WITH_TEST. |
| * configure: Regenerated. |
| |
| 2000-10-08 Richard Henderson <rth@cygnus.com> |
| |
| * Makefile.in (libgcc.mk): Pass SHLIB_EXT, not SHLIB_LIBS. |
| * configure.in (sparc*-*-solaris*): Use t-slibgcc{,-sld}. |
| * mklibgcc.in: Consider SHLIB_LINK the entire shlib build command. |
| Use SHLIB_EXT. |
| |
| * config/t-linux (SHLIB_EXT): New. |
| (SHLIB_LINK): Use the entire build command, with substitutions. |
| (SHLIB_LIBS): Remove. |
| * config/alpha/t-osf4: Likewise. |
| * config/mips/t-iris6: Likewise. |
| * config/sparc/t-sol2: Likewise, but move shlib stuff... |
| * config/sparc/t-slibgcc-sld: ...here. |
| * config/sparc/t-slibgcc: New file. |
| |
| 2000-10-08 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * tm.texi (INTMAX_TYPE, UINTMAX_TYPE): Define. |
| * c-common.h (enum c_tree_index): Add CTI_INTMAX_TYPE and |
| CTI_UINTMAX_TYPE. |
| (intmax_type_node, uintmax_type_node): Define. |
| * c-common.c (decl_attributes): If pedantic, warn if `mode' |
| attributes create a type wider than intmax_t. |
| (T_IM, T_UIM): Define properly. |
| * c-decl.c (INTMAX_TYPE, UINTMAX_TYPE): Define if not already |
| defined. |
| (init_decl_processing): Initialize intmax_type_node and |
| uintmax_type_node. |
| * c-lex.c (lex_number): When pedantic and warning for integer |
| constants that are too large, in C99 mode warn for those that have |
| a type wider than long long. |
| |
| 2000-10-08 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (FMT_FLAG_ARG_CONVERT, FMT_FLAG_SCANF_A_KLUDGE, |
| FMT_FLAG_FANCY_PERCENT_OK): Define. |
| (format_char_info): Add flag "4" to comment. |
| (format_flag_spec, format_flag_pair): New structures. |
| (format_kind_info): Add additional fields to control format |
| checking. |
| (printf_flag_specs, printf_flag_pairs, scanf_flag_specs, |
| scanf_flag_pairs, strftime_flag_specs, strftime_flag_pairs): New |
| arrays. |
| (time_char_table): Use "4" flag to handle %Ey. |
| (format_types): Add entries for new fields. |
| (get_flag_spec): New function. |
| (check_format_info): Increase size of flag_chars[] to 256. |
| Control format checking using the new fields of a format_kind_info |
| and the new tables; remove all conditionals on printf_format_type, |
| scanf_format_type or strftime_format_type. Handle all details of |
| bad combinations of flags (including width, precision and strftime |
| modifiers) through data rather than ad hoc code. Handle all |
| details of standard versions in which flags appeared through |
| data. Use the "4" flag. |
| |
| 2000-10-07 Will Cohen <wcohen@redhat.com>, Kazu Hirata <kazu@hxi.com> |
| |
| * config/h8300/h8300.md: Remove the memory alternative and correct |
| the insn lengths in the templates for sign extension and zero |
| extension. |
| |
| 2000-10-07 Richard Henderson <rth@cygnus.com> |
| |
| * calls.c (expand_call): Disallow sibcalls to noreturn functions. |
| * flow.c (make_edges): Revert last change. |
| |
| * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Don't test |
| TREE_THIS_VOLATILE. |
| * config/pa/pa.h (FUNCTION_OK_FOR_SIBCALL): Likewise. |
| |
| 2000-10-06 David O'Brien <obrien@dragon.nuxi.com> |
| |
| * config/alpha/elf.h: Standardize the formatting. |
| |
| 2000-10-06 David O'Brien <obrien@FreeBSD.org> |
| |
| * config/alpha/elf.h: Protect the ASM_OUTPUT_IDENT definition with an |
| #undef. |
| |
| 2000-10-06 Richard Henderson <rth@cygnus.com> |
| |
| * function.c (diddle_return_value): Examine |
| current_function_return_rtx instead of the DECL_RESULT. |
| (expand_function_end): Handle reloading DECL_RESULT from memory |
| into a hard register. Query promote_mode for sign of mismatched |
| modes. |
| |
| 2000-10-06 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com> |
| |
| * haifa-sched.c (schedule_insns): Fix typo in freeing |
| forward_dependency_cache. |
| |
| 2000-10-06 Alexandre Oliva <aoliva@redhat.com> |
| |
| * config/sh/sh.md (calli_pcrel, call_valuei_pcrel): Add |
| `TARGET_SH2' as a condition. |
| |
| 2000-10-06 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com> |
| |
| * haifa-sched.c (anti_dependency_cache, output_dependency_cache, |
| forward_dependency_cache): New variables. |
| (add_dependence, remove_dependence): Use anti_dependency_cache and |
| output_dependency_cache. |
| (compute_block_forward_dependences): Use forward_dependency_cache. |
| (schedule_insns): Allocate and free memory for anti/output/forward |
| dependencies caches. |
| |
| 2000-10-06 Alexandre Oliva <aoliva@redhat.com> |
| |
| * config/sh/sh.md (call, call_value): Use `TARGET_SH2' instead of |
| `! TARGET_SH1'. Reindent. |
| |
| 2000-10-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * builtins.c (is_valid_printf_arglist, expand_builtin_printf): |
| Move functions from here ... |
| |
| * c-common.c (is_valid_printf_arglist, c_expand_builtin_printf): |
| ... to here. |
| (c_expand_builtin): New function. |
| (init_function_format_info): Don't set `check_function_format_ptr'. |
| (c_common_nodes_and_builtins): Set built_in_class type for |
| printf/__builtin_printf to BUILT_IN_FRONTEND. |
| (c_expand_expr): Handle CALL_EXPRs that are front-end builtins. |
| |
| * c-common.h (build_function_call): Declare. |
| |
| * expr.c (expand_expr): Pass builtins with class BUILT_IN_FRONTEND |
| to `lang_expand_expr' rather than `expand_builtin'. |
| |
| * tree.c (check_function_format_ptr): Delete. |
| |
| * tree.h (check_function_format_ptr): Likewise. |
| |
| 2000-10-06 Hans-Peter Nilsson <hp@bitrange.com> |
| |
| * dwarf2out.c (build_cfa_loc): Correct to use DW_OP_regx or |
| DW_OP_bregx when cfa->reg > 31. |
| |
| * frame-dwarf2.c (decode_stack_op) [case DW_OP_regx]: Add missing |
| break. |
| |
| 2000-10-05 Richard Henderson <rth@cygnus.com> |
| |
| * c-decl.c (warn_missing_noreturn): Remove. |
| (c_expand_body): Don't set or check can_reach_end. |
| * c-tree.h (warn_missing_noreturn): Move ... |
| * flags.h: ... here. |
| (can_reach_end): Remove. |
| * flow.c (check_function_return_warnings): New. |
| (make_edges): No edge to exit for noreturn sibcalls. |
| * function.c (expand_function_end): Save the return value |
| clobber instruction. |
| (mark_function_status): Mark it. |
| * function.h (struct function): Add x_clobber_return_insn. |
| * jump.c (can_reach_end): Remove. |
| (calculate_can_reach_end): Remove. |
| (jump_optimize_1): Don't call it. |
| * output.h (check_function_return_warnings): Declare. |
| * toplev.c (warn_missing_noreturn): Move from c-decl.c |
| (rest_of_compilation): Call check_function_return_warnings. |
| |
| 2000-10-05 Richard Henderson <rth@cygnus.com> |
| |
| * Makefile.in (NM_FOR_TARGET): New. |
| (libgcc.mk): Pass SHLIB_MKMAP, SHLIB_MAPFILES. |
| (libgcc.a, stmp-multilib): Pass NM_FOR_TARGET. |
| * mklibgcc.in: If SHLIB_MKMAP, build libgcc.map. Depend the |
| shared library build on that and EXTRA_MULTILIB_PARTS. |
| * mkmap-flat.awk: New file. |
| * mkmap-symver.awk: New file. |
| * libgcc-std.ver: New file. |
| * config/libgcc-glibc.ver: New file. |
| * config/ia64/libgcc-ia64.ver: New file. |
| * config/t-linux (SHLIB_MKMAP, SHLIB_MAPFILES): New. |
| (SHLIB_LINK): Add --version-script. |
| * config/ia64/t-ia64 (SHLIB_MAPFILES): Add libgcc-ia64.ver. |
| * config/mips/t-iris6 (SHLIB_MKMAP, SHLIB_MAPFILES): New. |
| * config/sparc/t-sol2 (SHLIB_MKMAP, SHLIB_MAPFILES): New. |
| (SHLIB_LINK): Add -M. |
| |
| 2000-10-05 Richard Henderson <rth@cygnus.com> |
| |
| * Makefile.in (LIB2FUNCS): Add _clz. |
| * libgcc2.c (__ffsdi2): Use count_trailing_zeros. |
| (__clz_tab): Put in its own unit, non-static. |
| * libgcc2.h: Always include longlong.h. |
| |
| * longlong.h [alpha] (count_leading_zeros): Use cmpbge with |
| a zero instead of -1. |
| (count_trailing_zeros): Likewise. |
| |
| 2000-10-05 Richard Henderson <rth@cygnus.com> |
| |
| * config/alpha/alpha.c (alpha_emit_setcc): Don't swap GT tests |
| when second op1 is const0_rtx. Validate op0 as a register. |
| * config/alpha/alpha.md (setcc_internal): Don't allow constants |
| in the first argument of the compare. |
| (setcc_swapped_internal): Likewise. |
| (setne_internal): Likewise. |
| |
| 2000-10-05 Geoff Keating <geoffk@cygnus.com> |
| |
| * tree.c (tree_size): New function split out of copy_node. |
| (make_node): Remove obstack handling. Use tree_size. |
| (copy_node): Use tree_size. |
| * tree.h: Prototype tree_size. |
| |
| 2000-10-05 Richard Henderson <rth@cygnus.com> |
| |
| * diagnostic.c (output_format): Add missing break. |
| |
| 2000-10-05 Jim Wilson <wilson@cygnus.com> |
| |
| * function.c (fixup_var_refs_1, case SET): When gen_move_insn returns a |
| SEQUENCE, call emit_insn_before, copy PATTERN and REG_NOTES of last |
| sequence insn to INSN, and delete last sequence insn. |
| |
| 2000-10-05 Phil Edwards <pme@gcc.gnu.org> |
| |
| * gcc.c (main): Include generated configargs.h header |
| and use arguments in '-v' output. |
| |
| Thu Oct 5 16:16:57 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * gcc.c: Move data on prefixes forward in file and reorganize. |
| (md_exec_prefix, md_startfile_prefix, md_startfile_prefix_1): |
| Always define, but make null if no value. |
| (static_specs): Add "md_exec_prefix", "md_startfile_prefix", |
| and "md_startfile_prefix_1". |
| (main): Check whether md_exec_prefix and the others are the |
| null string rather than whether the macro is defined. |
| |
| Thu Oct 5 19:04:18 2000 J"orn Rennecke <amylaar@redhat.co.uk> |
| |
| * (convert_move): Use zero_extendpsisi2 to do an unsigned extension |
| from PSImode to SImode. |
| |
| 2000-10-05 Jakub Jelinek <jakub@redhat.com> |
| |
| * emit-rtl.c (gen_lowpart_common) [REAL_ARITHMETICS]: Fix conversion |
| from float to integral mode with HOST_BITS_PER_WIDE_INT 64. |
| * dwarf2out.c (add_const_value_attribute): Divide by 4, not |
| sizeof(long). |
| |
| Thu Oct 5 09:31:31 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * fold-const.c (fold, case MINUS_EXPR, case EQ_EXPR): Perform |
| negation in proper type.a |
| |
| 2000-10-04 Richard Henderson <rth@cygnus.com> |
| |
| * configure.in (enable-shared): New. |
| * Makefile.in (LIBGCC_DEPS): Depend on EXTRA_PARTS as well. |
| (libgcc.mk): Pass SHLIB_LINK, SHLIB_LIBS, SHLIB_MULTILIB to mklibgcc. |
| * mklibgcc.in: Use them to link shared a libgcc. |
| * config/t-linux (SHLIB_LINK, SHLIB_LIBS): New. |
| * config/alpha/t-ieee (SHLIB_MULTILIB): New. |
| * config/mips/t-iris6 (SHLIB_LINK, SHLIB_LIBS): New. |
| * config/sparc/t-sol2 (SHLIB_LINK, SHLIB_LIBS): New. |
| |
| * configure.in (alpha-osf*): Use t-osf and x-osf. |
| * config/alpha/t-osf: New file. |
| * config/alpha/t-osf4: New file. |
| * config/alpha/x-osf: New file. |
| * config/alpha/x-alpha: Remove file. |
| |
| 2000-10-04 Will Cohen <wcohen@redhat.com> |
| |
| * c-typeck.c (process_init_element): Added warning for zero-length |
| array. |
| |
| * extend.texi (Zero Length): State that static initializers for |
| zero-length arrays are not allowed. |
| |
| Mon Oct 2 14:50:14 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * rtlanal.c (single_set_1): Do not require USE and CLOBBERs |
| to come last. |
| |
| 2000-10-03 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/float-c4x.h: New. |
| * configure.in (c4x-*): Set float_format to c4x. |
| * configure: Regenerate. |
| |
| 2000-10-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * configure.in (sparc-*-solaris2*): Disable 32-to-64 cross |
| compilation for solaris versions 2.7 and greater. |
| |
| 2000-10-02 Marc Espie <espie@openbsd.org> |
| |
| * config/alpha.h (WORD_SWITCH_TAKES_ARG): add -rpath to default, |
| instead of redefining from scratch. |
| |
| 2000-10-02 David O'Brien <obrien@dragon.nuxi.com> |
| |
| * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Define. |
| |
| 2000-10-01 Mark Mitchell <mark@codesourcery.com> |
| |
| * config/ns32k/genix.h: Remove. |
| * config/ns32k/x-genix: Likewise. |
| * config/ns32k/xm-genix.h: Likewise. |
| * config/fx80: Remove all filee in directory. |
| * config/pyr: Likewise. |
| * config/tahoe: Likewise. |
| * config/gmicro: Likewise. |
| * config/spur: Likewise. |
| * configure.in: Remove configury bits for above targets. |
| * configure: Regenerated. |
| |
| * configure.in: Don't configure chill by default. |
| * configure: Regenerated. |
| |
| * c-decl.c (c_expand_body): Don't generate RTL if flag_syntax_only. |
| (lang_mark_false_label_stack): Remove. |
| * c-lex.c (init_c_lex): Add file_info_tree as GC root. Allocate |
| <top level> string in GC area. |
| (mark_splay_tree_node): New function. |
| (mark_splay_tree): Likewise. |
| * except.c (mark_eh_status): Only call lang_mark_false_label_stack |
| if it exists. |
| * ggc-callbacks.c (lang_mark_false_label_stack): Remove. |
| * ggc-common.c (lang_mark_false_label_stack): Change type. |
| * ggc.h (ggc_alloc_string): Add comment. |
| (ggc_strdup): New function. |
| |
| Sat Sep 23 19:10:20 2000 Denis Chertykov <denisc@overta.ru> |
| |
| * config/avr/avr.h (BRANCH_COST): Define as 0. |
| |
| * config/pdp11/pdp11.c: #include "tree.h" added. |
| |
| 2000-09-30 Marek Michalkiewicz <marekm@linux.org.pl> |
| |
| * config/avr/avr.c (ashlhi3_out, ashlsi3_out, ashrhi3_out, |
| ashrsi3_out, lshrhi3_out, lshrsi3_out): Optimize more cases |
| with known shift count. |
| * config/avr/avr.md (ashlsi3, ashrsi3, lshrsi3): |
| New alternative for shift count 2 with no scratch register. |
| (ashlhi3, ashlsi3): Change "cc" attribute from "clobber" to |
| "set_n" for shift counts 1 and 2. |
| |
| 2000-09-30 Geoff Keating <geoffk@cygnus.com> |
| |
| * config/rs6000/rs6000.md (movsi_to_cr): Remove the USE. Calculate |
| the mask value from the individual SET operations. |
| (return_internal_si): Move the USE after the RETURN. |
| (return_internal_di): Likewise. |
| (return_and_restore_fpregs_si): Likewise. |
| (return_and_restore_fpregs_di): Likewise. |
| (return_eh_si): Likewise. |
| (return_eh_di): Likewise. |
| * config/rs6000/rs6000.c (mtcrf_operation): Don't look for, |
| or check, the USE. |
| (rs6000_emit_prologue): Don't emit the USE for movsi_to_cr. |
| Don't generate a PARALLEL around a single operation movsi_to_cr. |
| Generate the RETURN first in any PARALLELs. |
| |
| * rtlanal.c (single_set_1): Use fatal_insn to display the |
| invalid insn. Check for more cases when a USE or CLOBBER occurs |
| before a SET. |
| * Makefile.in: Update dependencies for rtlanal.o. |
| |
| 2000-09-30 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * i386.c: Move include of "config.h" to before that of <setjmp.h>. |
| |
| 2000-09-30 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-tree.texi, contrib.texi, gcc.texi, install.texi, invoke.texi: |
| Consistently use @email for formatting email addresses. |
| |
| 2000-09-29 Richard Henderson <rth@cygnus.com> |
| |
| * cse.c (notreg_cost): New argument outer. |
| (COST): Pass in SET to notreg_cost |
| (COST_IN): New. |
| (fold_rtx): Use COST_IN. Prefer constants when costs |
| are the same. |
| |
| 2000-09-29 David Edelsohn <edelsohn@gnu.org> |
| |
| * fixinc/inclhack.def (broken_cabs): Generalize regex. |
| * fixinc/fixincl.x: Regenerate. |
| |
| 2000-09-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> |
| |
| * loop.c (check_final_value): A GIV is not replaceable if used |
| before set. |
| |
| Fri Sep 29 10:04:12 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * version.c: Bump to gcc-2.97. |
| |
| Frs Sep 29 13:37:59 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * final.c (final_scan_insn): Remove extra extract_insn call; |
| Use caching for constrain_operands. |
| (cleanup_subreg_operands): Use caching for extract_insn. |
| * recog.c (constrain_operands_cached): New. |
| * recog.h (constrain_operands_cached): Declare. |
| * i386.c (ix86_attr_length_immediate_default, |
| ix86_attr_length_address_default, ix86_agi_dependant): Cache |
| extract_insn call. |
| |
| * recog.c (asm_noperands): Tweak. |
| (extract_insn): Do not call asm_noperads for non-asm instructions. |
| |
| Fri Sep 29 13:20:42 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * recog.c (recog_memoized): Rename to recog_memoized_1. |
| * recog.h (recog_memoized): Rename to recog_memoized_1. |
| (recog_memoized): New macro. |
| * rtl.h (single_set): Rename to single_set_1 |
| (single_set): New macro. |
| * rtlanal.c (single_set): Rename to single_set_1; expect clobbers |
| to be last. |
| |
| * i386.md (strmovsi_1, strmovhi_1 strmovqi_1): |
| Do not use match_dup of input operands at outputs. |
| Use register_operand for memory expression. |
| (rep_movsi): Put use last, canonicalize. |
| Use register_operand for memory expression. |
| (rep_movqi): Put use last. |
| Use register_operand for memory expression. |
| (strsetsi_1, strset_hi_1, strsetqi_1): Do not use match_dup |
| of input operands at outputs. Use register_operand for memory |
| expression. |
| (rep_stossi): Put use last; canonicalize; fix match_dup in |
| the address expression |
| (rep_stosqi): Likewise. |
| (memcmp expander): Update calls. |
| (cmpstrsi_nz_1, cmpstrsi_1, strlensi_1): Avoid match_dups in |
| the clobbers. |
| |
| * i386.md (fp_jcc_3, fp_jcc_4, jp_fcc_5): if_then_else operand is |
| VOIDmode. |
| (fp_jcc_4, fp_jcc_3): Refuse unordered comparisons. |
| |
| 2000-09-28 David O'Brien <obrien@FreeBSD.org> |
| |
| * config/i386/freebsd-aout.h: New, FreeBSD a.out config file. |
| Contains the old contents of config/i386/freebsd.h |
| * config/i386/freebsd.h: Now the ELF rather than a.out config file. |
| Contains the old contents of config/i386/freebsd-elf.h |
| * config/i386/freebsd-elf.h: Retire this file -- contents moved to |
| config/i386/freebsd.h. |
| * configure.in: Adjust for above changes. |
| * po/POTFILES.in: Likewise. |
| * po/en_GB.po: Likewise. |
| * po/gcc.pot: Likewise. |
| * configure: Rebuilt. |
| |
| 2000-09-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> |
| |
| * doloop.c (doloop_modify): Prevent delete_insn() from |
| deleting too much. Prefer loop->top over loop->start as |
| target for the new JUMP insn. |
| (doloop_valid_p): Ignore loop with exit_count != 0. |
| |
| 2000-09-28 Philipp Thomas <pthomas@suse.de> |
| |
| * invoke.texi (i386 Options): Add athlon to table of possible |
| choices for -mcpu=. |
| |
| 2000-09-28 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * diagnostic.h (output_clear_message_text): New function. |
| (output_message_text): New macro. |
| |
| * diagnostic.c (clear_text_info): Rename to |
| output_clear_message_text. |
| (output_clear): Adjust. |
| (output_finish): Rename to output_finalize_message. Tweek. |
| (output_to_stream): Adjust. |
| |
| 2000-09-28 Neil Booth <neilb@earthling.net> |
| |
| * cpperror.c (_cpp_begin_message): Do the test for suppression |
| of warnings and pedantic warnings before the "is a warning an |
| error" tests. |
| * cppinit.c (cpp_handle_option): Remove surplus \n. |
| * cpplex.c (ON_REST_ARG): Delete. |
| (skip_block_comment): Initialize prevc. |
| (parse_args): Improve error messages. |
| (maybe_paste_with_next): Use CONTEXT_VARARGS rather |
| than ON_REST_ARG. |
| * cpplib.c (cpp_push_buffer): Fix grammar in message. |
| * cppmain.c (main): Set callbacks for #ident and #pragma |
| only if no_output option is false. |
| (do_pragma_implementation): Only call the #pragma handler |
| if it is set in the cpp_reader structure. |
| |
| Wed Sep 27 14:00:07 2000 Donald Lindsay <dlindsay@cygnus.com> |
| |
| * integrate.c (copy_insn_list): if an ignored return value |
| is being clobbered, skip cloning that into the inline copy. |
| |
| 2000-09-27 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * extend.texi, invoke.texi, gcc.texi, install.texi: Consistently |
| use @uref for formatting URLs. |
| |
| 2000-09-27 Mark Elbrecht <snowball3@bigfoot.com> |
| |
| * config/i386/djgpp.h (UNIQUE_SECTION): Constify the variables |
| name and prefix. |
| |
| Tue 26-Sep-2000 18:25:38 BST Neil Booth <neilb@earthling.net> |
| |
| * gcc.c (cpp_options): Add spec for -ftabstop=. |
| (invoke_as): New spec that handles invoking as. |
| Update specs to handle -save-temps and -traditional. |
| * ch/lang-specs.h, f/lang-specs.h, java/lang-specs.h: |
| Use invoke_as. |
| * cp/lang-specs.h, objc/lang-specs.h: Update to use |
| invoke_as, and handle -save-temps and -traditional (if |
| appropriate). |
| |
| 2000-09-26 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/sparc.c (sparc_emit_set_const64): Don't abort when |
| op0 is a SUBREG. |
| (function_arg_slotno): Accept TImode/CTImode. |
| * config/sparc/sparc.h (MIN_UNITS_PER_WORD): If IN_LIBGCC2 define |
| to UNITS_PER_WORD. |
| |
| 2000-09-26 Michael Hayes <mhayes@cygnus.com> |
| |
| * flow.c (flow_loop_pre_header_scan): Punt if loop enters |
| from entry block. |
| |
| 2000-09-25 Jim Wilson <wilson@cygnus.com> |
| |
| * config/ia64/ia64.h (INDEX_REG_CLASS): Define to GENERAL_REGS. |
| (REGNO_OK_FOR_INDEX_P): Define to REGNO_OK_FOR_BASE_P. |
| (LEGITIMATE_ADDRESS_DISP): Use LEGITIMATE_ADDRESS_REG. |
| (REG_OK_FOR_INDEX): Define to REG_OK_FOR_BASE_P. |
| |
| Tue 26-Sep-2000 00:16:22 BST Neil Booth <neilb@earthling.net> |
| |
| * cpplex.c (parse_args): Don't set VOID_REST flag. |
| (CONTEXT_VARARGS): New flag. |
| (maybe_paste_with_next): Set context earlier in loop. Use |
| it. Do varargs test with CONTEXT_VARARGS flag. |
| (push_arg_context): Set CONTEXT_VARARGS flag if we're |
| pushing an argument context for a varargs argument. |
| * cpplib.h (VOID_REST): Delete. |
| * gcc.dg/cpp/vararg1.c: Add test case. |
| |
| 2000-09-25 Branko Cibej <branko.cibej@hermes.si> |
| |
| * flags.h: Declare warning flag warn_system_headers. |
| * toplev.c: Define it. |
| (W_options): Add option -Wsystem-headers. |
| * diagnostic.c (count_error): Test warn_system_headers. |
| * invoke.texi: Add description for -Wsystem-headers. |
| * cpplib.h (cpp_options): New member warn_system_headers. |
| * cpphash.h (CPP_PEDANTIC, CPP_WTRADITIONAL): Don't test |
| CPP_IN_SYSTEM_HEADER. |
| * cpplib.c (do_import, do_pragma_once): Likewise. |
| * cpperror.c (_cpp_begin_message): Test warn_system_headers |
| and CPP_IN_SYSTEM_HEADER. |
| * cppinit.c (handle_option): Recognize -Wsystem_headers. |
| (print_help): Describe -Wsystem_headers. |
| * cpplex.c (lex_line): Reorganize condition so that warnings |
| about C++ comments in system headers can be enabled. Remove |
| label do_line_comment. |
| |
| Mon 25-Sep-2000 23:38:27 BST Neil Booth <neilb@earthling.net> |
| |
| * cpplex.c (save_comment): Only store the initial '/' |
| now. |
| (lex_token): Combine handling of the two comment types. |
| Pass everything but the initial '/' to save_comment. |
| |
| Mon 25-Sep-2000 23:31:45 BST Neil Booth <neilb@earthling.net> |
| |
| * cpphash.h (_cpp_digraph_spellings, _cpp_process_directive, |
| _cpp_can_paste): New library-internal prototypes. |
| * cpplex.c (dump_param_spelling, output_line_command, |
| output_token, cpp_scan_buffer, cpp_scan_buffer_nooutput, |
| cpp_printf, cpp_output_list): Move to cppoutput.c. |
| (process_directive, can_paste, digraph_spellings): Add _cpp_ prefix. |
| * cppmacro.c (dump_macro_args, cpp_dump_definition) Move to |
| cppoutput.c. |
| * cppoutput.c (dump_macro_args, cpp_dump_definition, output_token, |
| dump_param_spelling, output_line_command, cpp_scan_buffer, |
| cpp_scan_buffer_nooutput, cpp_printf, cpp_output_list): Moved |
| from elsewhere. |
| * Makefile.in: Add cppoutput.c. |
| * po/POTFILES.in: Add cppoutput.c. |
| |
| 2000-09-25 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64.c (ia64_print_operand): Define 'e' as 64-n. |
| * config/ia64/ia64.md (rotrsi3): Allow variable rotates; don't |
| split until after reload. |
| (rotlsi3, rotldi3): New. |
| |
| 2000-09-25 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * diagnostic.c (output_last_position): Define. |
| (set_real_maximum_length): Tweek. |
| * diagnostic.h (output_last_position): Declare. |
| |
| 2000-09-25 Kazu Hirata <kazu@hxi.com> |
| |
| * config/i386/i386.c: Fix formatting. |
| |
| 2000-09-24 Alan Lehotsky <alehotsky@cygnus.com> |
| |
| * emit-rtl-c (gen_lowpart_common): Accept non-paradoxical SUBREG when |
| UNITS_PER_WORD is small. |
| |
| 2000-09-25 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (format_char_info): Add flags2; update comments. |
| (print_char_table, scan_char_table, time_char_table): Split some |
| flags out into flags2. |
| (check_format_info): Use flags2 for those flags, for identifying |
| the initial character of a scanf scanset, and for identifying |
| printf formats where the '0' flag is ignored with precision. |
| |
| 2000-09-25 Hans-Peter Nilsson <hp@axis.com> |
| |
| Changes below marked "here" add TABs on either or both sides, |
| covering start of line, up to any operand for all noted .*ASM.*_OP |
| definitions. All callers changed. |
| * tm.texi: Make documented *_ASM.*_OP:s include spacing |
| (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, SHARED_SECTION_ASM_OP, |
| BSS_SECTION_ASM_OP, SHARED_BSS_SECTION_ASM_OP, INIT_SECTION_ASM_OP, |
| ASM_BYTE_OP, FINI_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP, |
| ASM_STABS_OP, ASM_STABD_OP, ASM_STABN_OP). |
| Fix typos in description for LONG_LONG_TYPE_SIZE and |
| FINI_SECTION_ASM_OP. |
| * crtstuff.c (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Explain |
| why these defaults don't have leading spacing. |
| * dbxout.c (ASM_STABS_OP, ASM_STABN_OP): Here. |
| * dwarf2out.c (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, |
| UNALIGNED_DOUBLE_INT_ASM_OP, SECTION_ASM_OP, ASM_BYTE_OP): Here. |
| * dwarfout.c (FILE_ASM_OP, VERSION_ASM_OP, |
| UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, ASM_BYTE_OP, |
| PUSHSECTION_ASM_OP, POPSECTION_ASM_OP): Here. |
| * defaults.h (ASM_STABD_OP, EH_FRAME_SECTION_ASM_OP): Here. |
| * varasm.c (ASM_STABS_OP): Here. |
| * xcoffout.h (ASM_STABS_OP): Here. |
| * config/elfos.h (IDENT_ASM_OP, ASM_BYTE_OP, SET_ASM_OP, |
| SKIP_ASM_OP, ALIGN_ASM_OP, COMMON_ASM_OP, LOCAL_ASM_OP, |
| INT_ASM_OP, ASCII_DATA_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP, |
| STRING_ASM_OP): Here. |
| * config/freebsd.h (IDENT_ASM_OP): Here. |
| * config/linux-aout.h (SET_ASM_OP): Here. |
| * config/linux.h (SET_ASM_OP): Here. |
| * config/lynx.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, |
| INT_ASM_OP): Here. |
| * config/netbsd.h (TYPE_ASM_OP, SIZE_ASM_OP, SET_ASM_OP): Here. |
| * config/nextstep.h (EH_FRAME_SECTION_ASM_OP, ALIGN_ASM_OP): Here. |
| * config/openbsd.h (TYPE_ASM_OP, SIZE_ASM_OP, SET_ASM_OP): Here. |
| * config/psos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, |
| INT_ASM_OP): Here. |
| * config/ptx4.h (IDENT_ASM_OP, ASM_BYTE_OP, SET_ASM_OP, |
| SKIP_ASM_OP, ALIGN_ASM_OP, COMMON_ASM_OP, LOCAL_ASM_OP, |
| INT_ASM_OP, ASCII_DATA_ASM_OP, CONST_SECTION_ASM_OP, |
| CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP, |
| FINI_SECTION_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP STRING_ASM_OP): Here. |
| * config/svr3.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, |
| CONST_SECTION_ASM_OP, ASM_BYTE_OP): Here. |
| * config/a29k/udi.h (INT_ASM_OP): Here. |
| * config/alpha/alpha-interix.h (CONST_SECTION_ASM_OP, |
| CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INT_ASM_OP, |
| SET_ASM_OP): Here. |
| * config/alpha/alpha.h (TEXT_SECTION_ASM_OP, |
| READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP, |
| UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, |
| UNALIGNED_DOUBLE_INT_ASM_OP, ASM_STABS_OP, ASM_STABN_OP, |
| ASM_STABD_OP): Here. |
| * config/alpha/elf.h (IDENT_ASM_OP, SKIP_ASM_OP, ALIGN_ASM_OP, |
| COMMON_ASM_OP, INT_ASM_OP, ASCII_DATA_ASM_OP, |
| CONST_SECTION_ASM_OP, CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, |
| BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP, |
| INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, TYPE_ASM_OP, |
| SIZE_ASM_OP, STRING_ASM_OP): Here. |
| * config/alpha/vms.h (LINK_SECTION_ASM_OP, |
| READONLY_SECTION_ASM_OP, LITERALS_SECTION_ASM_OP, |
| CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, COMMON_ASM_OP): Here. |
| * config/arc/arc.h (ASM_BYTE_OP, SET_ASM_OP): Here. |
| (PUSHSECTION_ASM_OP): Define this, not PUSHSECTION_FORMAT. |
| * config/arm/aof.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): |
| Here. |
| * config/arm/aout.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, |
| BSS_SECTION_ASM_OP, SET_ASM_OP): Here. |
| * config/arm/coff.h (INT_ASM_OP): Here. |
| * config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Here. |
| * config/arm/elf.h (TYPE_ASM_OP, SIZE_ASM_OP, INT_ASM_OP): Here. |
| * config/arm/linux-elf.h (IDENT_ASM_OP, CONST_SECTION_ASM_OP, |
| INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Here. |
| * config/arm/unknown-elf.h (UNALIGNED_WORD_ASM_OP): Here. |
| * config/avr/avr.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, |
| ASM_BYTE_OP, TYPE_ASM_OP, SIZE_ASM_OP, WEAK_ASM_OP, |
| STRING_ASM_OP): Here. Update documentation copy in comments. |
| * config/c4x/c4x.h (ASM_STABS_OP, BSS_SECTION_ASM_OP): Here. |
| * config/clipper/clipper.h (TEXT_SECTION_ASM_OP, |
| DATA_SECTION_ASM_OP): Here. |
| * config/clipper/clix.h (BSS_SECTION_ASM_OP, INIT_SECTION_ASM_OP): |
| Here. |
| * config/convex/convex.h (TEXT_SECTION_ASM_OP, |
| DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP): Here. |
| * config/d30v/d30v.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, |
| BSS_SECTION_ASM_OP): Here. |
| * config/fr30/fr30.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, |
| BSS_SECTION_ASM_OP): Here. |
| * config/fx80/fx80.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): |
| Here. |
| * config/gmicro/gmicro.h (TEXT_SECTION_ASM_OP, |
| DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP): Here. |
| * config/h8300/h8300.h (ASM_WORD_OP): Here. |
| * config/i370/i370.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, |
| BSS_SECTION_ASM_OP): Here. |
| * config/i386/aix386.h (INIT_SECTION_ASM_OP): Here. |
| * config/i386/bsd.h (ASM_BYTE_OP): Here. |
| * config/i386/cygwin.h (SET_ASM_OP, INT_ASM_OP): Here. |
| * config/i386/dgux.h (CONST_SECTION_ASM_OP): Here. |
| * config/i386/djgpp.h (IDENT_ASM_OP, INT_ASM_OP, SET_ASM_OP): |
| Here. |
| * config/i386/freebsd-elf.h (SET_ASM_OP): Here. |
| * config/i386/freebsd.h (TYPE_ASM_OP, SIZE_ASM_OP, INT_ASM_OP): |
| Here. |
| * config/i386/i386-coff.h (CTORS_SECTION_ASM_OP, |
| DTORS_SECTION_ASM_OP, INT_ASM_OP): Here. |
| * config/i386/i386-interix.h (STRING_ASM_OP, CONST_SECTION_ASM_OP, |
| CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INT_ASM_OP, |
| SET_ASM_OP): Here. |
| * config/i386/i386elf.h (BSS_SECTION_ASM_OP): Here. |
| * config/i386/netbsd.h (INT_ASM_OP): Here. |
| * config/i386/openbsd.h (INT_ASM_OP): Here. |
| * config/i386/osfrose.h (TYPE_ASM_OP, SIZE_ASM_OP, SET_ASM_OP, |
| IDENT_ASM_OP): Here. |
| * config/i386/sco5.h (ALIGN_ASM_OP, ASCII_DATA_ASM_OP, |
| ASM_BYTE_OP, IDENT_ASM_OP, COMMON_ASM_OP, SET_ASM_OP, |
| LOCAL_ASM_OP, INT_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP, STRING_ASM_OP, |
| SKIP_ASM_OP, GLOBAL_ASM_OP): Here. |
| * config/i386/seq-sysv3.h (SHARED_SECTION_ASM_OP, |
| SHARED_BSS_SECTION_ASM_OP): Here. |
| * config/i386/sequent.h (SHARED_SECTION_ASM_OP): Here. |
| * config/i386/sun386.h (ASM_BYTE_OP, TEXT_SECTION_ASM_OP, |
| DATA_SECTION_ASM_OP): Here. |
| * config/i386/svr3gas.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, |
| CONST_SECTION_ASM_OP): Here. |
| * config/i386/sysv3.h (INIT_SECTION_ASM_OP): Here. |
| * config/i386/unix.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, |
| BSS_SECTION_ASM_OP): Here. |
| * config/i860/bsd-gas.h (ASCII_DATA_ASM_OP): Here. |
| * config/i860/bsd.h (ASCII_DATA_ASM_OP): Here. |
| * config/i860/fx2800.h (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP, |
| BSS_ASM_OP): Here, but use trailing spaces. |
| * config/i860/i860.h (ASM_BYTE_OP, TEXT_SECTION_ASM_OP, |
| DATA_SECTION_ASM_OP): Here. |
| * config/i860/paragon.h (ASCII_DATA_ASM_OP, BSS_SECTION_ASM_OP): |
| Here. |
| * config/i860/sysv3.h (ASCII_DATA_ASM_OP, CTORS_SECTION_ASM_OP, |
| DTORS_SECTION_ASM_OP, TDESC_SECTION_ASM_OP): Here. |
| * config/i860/sysv4.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, |
| TDESC_SECTION_ASM_OP): Here. |
| * config/i960/i960-coff.h (CTORS_SECTION_ASM_OP, |
| DTORS_SECTION_ASM_OP, INT_ASM_OP): Here. |
| * config/i960/i960.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): |
| Here. |
| * config/ia64/ia64.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, |
| BSS_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP, |
| UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, |
| UNALIGNED_DOUBLE_INT_ASM_OP): Here. |
| * config/ia64/sysv4.h (ASM_BYTE_OP, STRING_ASM_OP, SKIP_ASM_OP, |
| COMMON_ASM_OP, ASCII_DATA_ASM_OP, INIT_SECTION_ASM_OP, |
| FINI_SECTION_ASM_OP, CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, |
| SDATA_SECTION_ASM_OP, SBSS_SECTION_ASM_OP): Here. |
| * config/m32r/m32r.h (SCOMMON_ASM_OP): Here. |
| * config/m68hc11/m68hc11.h (GLOBAL_ASM_OP): Here. |
| * config/m68k/auxas.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP, |
| SPACE_ASM_OP, ALIGN_ASM_OP, GLOBAL_ASM_OP, SWBEG_ASM_OP, |
| SET_ASM_OP): Here. |
| * config/m68k/coff.h (BSS_SECTION_ASM_OP, CTORS_SECTION_ASM_OP, |
| DTORS_SECTION_ASM_OP, INT_ASM_OP): Here. |
| * config/m68k/crds.h (BSS_SECTION_ASM_OP): Here. |
| * config/m68k/dpx2.h (ASM_BYTE_OP, GLOBAL_ASM_OP): Here. |
| * config/m68k/hp320.h (ASCII_DATA_ASM_OP, GLOBAL_ASM_OP): Here. |
| * config/m68k/linux.h (BSS_SECTION_ASM_OP): Here. |
| * config/m68k/lynx.h (BSS_SECTION_ASM_OP): Here. |
| * config/m68k/m68k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, |
| GLOBAL_ASM_OP): Here. |
| * config/m68k/m68kelf.h (SWBEG_ASM_OP, BSS_ASM_OP, |
| BSS_SECTION_ASM_OP): Here. |
| * config/m68k/m68kv4.h (BSS_ASM_OP): Here. |
| * config/m68k/mot3300.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, |
| ASCII_DATA_ASM_OP, SET_ASM_OP, CTORS_SECTION_ASM_OP, |
| DTORS_SECTION_ASM_OP, GLOBAL_ASM_OP, ASM_BYTE_OP, ALIGN_ASM_OP, |
| SKIP_ASM_OP): Here. |
| * config/m68k/newsgas.h (SET_ASM_OP): Here. |
| * config/m68k/rtemself.h (INIT_SECTION_ASM_OP, |
| FINI_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP): Here. |
| * config/m68k/sgs.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP, |
| SPACE_ASM_OP, ALIGN_ASM_OP, GLOBAL_ASM_OP, SWBEG_ASM_OP, |
| SET_ASM_OP, UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Here, |
| but use trailing spaces. |
| * config/m68k/tower-as.h (TEXT_SECTION_ASM_OP, |
| DATA_SECTION_ASM_OP, GLOBAL_ASM_OP, INIT_SECTION_ASM_OP, |
| FINI_SECTION_ASM_OP, CONST_SECTION_ASM_OP, BSS_SECTION_ASM_OP): |
| Here. |
| * config/m88k/dgux.h (FINI_SECTION_ASM_OP, INIT_SECTION_ASM_OP, |
| CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Here. |
| * config/m88k/m88k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, |
| CONST_SECTION_ASM_OP, TDESC_SECTION_ASM_OP, CTORS_SECTION_ASM_OP, |
| DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, |
| IDENT_ASM_OP, FILE_ASM_OP, SECTION_ASM_OP, SET_ASM_OP, |
| GLOBAL_ASM_OP, ALIGN_ASM_OP, SKIP_ASM_OP, COMMON_ASM_OP, |
| BSS_ASM_OP, FLOAT_ASM_OP, DOUBLE_ASM_OP, INT_ASM_OP, SHORT_ASM_OP, |
| CHAR_ASM_OP, ASCII_DATA_ASM_OP, SBSS_ASM_OP, SCOMM_ASM_OP, |
| SDATA_SECTION_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP, INTERNAL_ASM_OP, |
| VERSION_ASM_OP, UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, |
| PUSHSECTION_ASM_OP, POPSECTION_ASM_OP, REQUIRES_88110_ASM_OP, |
| ASM_BYTE_OP): Here. |
| * config/m88k/openbsd.h (SET_ASM_OP): Here. |
| * config/m88k/sysv4.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, |
| CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Here. |
| * config/mcore/mcore-elf.h (UNALIGNED_INT_ASM_OP, |
| UNALIGNED_SHORT_ASM_OP, CTORS_SECTION_ASM_OP, |
| DTORS_SECTION_ASM_OP): Here. |
| * config/mcore/mcore-pe.h (CTORS_SECTION_ASM_OP, |
| DTORS_SECTION_ASM_OP, INT_ASM_OP): Here. |
| * config/mips/elf.h (TYPE_ASM_OP, SIZE_ASM_OP, |
| BSS_SECTION_ASM_OP): Here. |
| * config/mips/elf64.h (TYPE_ASM_OP, SIZE_ASM_OP): Here. |
| * config/mips/iris5.h (ABICALLS_ASM_OP): Here. |
| * config/mips/iris6.h (TYPE_ASM_OP, SIZE_ASM_OP, |
| POPSECTION_ASM_OP, BSS_SECTION_ASM_OP, CONST_SECTION_ASM_OP_32, |
| CONST_SECTION_ASM_OP_64, CTORS_SECTION_ASM_OP, |
| DTORS_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP): Here. |
| * config/mips/mips.c (ABICALLS_ASM_OP): Here. |
| * config/mips/mips.h (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): |
| Here. |
| * config/mips/netbsd.h (TYPE_ASM_OP, SIZE_ASM_OP, WEAK_ASM_OP): |
| Here. |
| * config/mips/osfrose.h (SET_ASM_OP): Here. |
| * config/mips/sni-svr4.h (ABICALLS_ASM_OP): Here. |
| * config/ns32k/encore.h (SHARED_SECTION_ASM_OP): Here. |
| * config/ns32k/merlin.h (SHARED_SECTION_ASM_OP): Here. |
| * config/ns32k/ns32k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): |
| Here. |
| * config/ns32k/sequent.h (SHARED_SECTION_ASM_OP): Here. |
| * config/ns32k/tek6000.h (SHARED_SECTION_ASM_OP): Here. |
| * config/pa/pa-64.h (INT_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP): Here. |
| * config/pa/pa.h (ASM_STABS_OP, ASM_STABN_OP): Here. |
| * config/pj/pj.h (SET_ASM_OP, BSS_SECTION_ASM_OP): Here. |
| * config/pyr/pyr.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): |
| Here. |
| * config/romp/romp.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): |
| Here. |
| * config/rs6000/rs6000.h (SET_ASM_OP): Here. |
| * config/rs6000/sol2.h (ASM_STABN_OP): Here. |
| * config/rs6000/sysv4.h (SKIP_ASM_OP, LOCAL_ASM_OP, LCOMM_ASM_OP): |
| Here. |
| * config/sh/sh.h (SET_ASM_OP, BSS_SECTION_ASM_OP, |
| UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Here. |
| * config/sparc/linux.h (COMMON_ASM_OP): Here. |
| * config/sparc/linux64.h (COMMON_ASM_OP, |
| UNALIGNED_DOUBLE_INT_ASM_OP): Here. |
| * config/sparc/litecoff.h (BSS_SECTION_ASM_OP, |
| CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INT_ASM_OP): Here. |
| * config/sparc/lynx.h (BSS_SECTION_ASM_OP): Here. |
| * config/sparc/pbd.h (ASM_INT_OP): Here. |
| * config/sparc/sp64-elf.h (UNALIGNED_LONGLONG_ASM_OP): Here. |
| * config/sparc/sparc.h (ASM_BYTE_OP, TEXT_SECTION_ASM_OP, |
| DATA_SECTION_ASM_OP, IDENT_ASM_OP): Here. |
| * config/sparc/sun4gas.h (UNALIGNED_DOUBLE_INT_ASM_OP, |
| UNALIGNED_INT_ASM_OP, UNALIGNED_SHORT_ASM_OP): Here. |
| * config/sparc/sysv4.h (STRING_ASM_OP, COMMON_ASM_OP, SKIP_ASM_OP, |
| UNALIGNED_DOUBLE_INT_ASM_OP, UNALIGNED_INT_ASM_OP, |
| UNALIGNED_SHORT_ASM_OP, PUSHSECTION_ASM_OP, POPSECTION_ASM_OP, |
| TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, |
| CONST_SECTION_ASM_OP, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, |
| CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, |
| EH_FRAME_SECTION_ASM_OP): Here. |
| * config/sparc/vxsim.h (COMMON_ASM_OP): Here. |
| * config/spur/spur.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): |
| Here. |
| * config/tahoe/tahoe.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): |
| Here. |
| * config/v850/v850.h (SCOMMON_ASM_OP, ZCOMMON_ASM_OP, |
| TCOMMON_ASM_OP): Here. |
| * config/vax/vax.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): |
| Here. |
| * config/we32k/we32k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, |
| ASM_BYTE_OP): Here. |
| |
| 2000-09-25 Richard Henderson <rth@cygnus.com> |
| |
| * expmed.c (store_bit_field): Adjust last change to not consider |
| any word-sized field naturally aligned. |
| |
| 2000-09-24 Richard Henderson <rth@cygnus.com> |
| |
| * config/alpha/alpha.c (alpha_emit_conditional_branch): Handle |
| TFmode unordered compares properly. Revalidate integer compare |
| operands. |
| (alpha_emit_setcc): New. |
| (alpha_emit_conditional_move): Revalidate integer compare operands. |
| * config/alpha/alpha-protos.h: Update. |
| * config/alpha/alpha.md (cmpdi): Allow general operands. |
| (sne): Use alpha_emit_setcc. |
| (seq, slt, sle, sgt, sge, sltu, sleu, sgtu, sgeu): Likewise. |
| (sunordered, sordered): New. |
| |
| 2000-09-24 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64-protos.h: Update. |
| * config/ia64/ia64.c (call_multiple_values_operation): Remove. |
| (ia64_expand_call): New. |
| (ia64_expand_prologue): Emit an alloc if we need extra input |
| registers. |
| (ia64_expand_epilogue): New arg sibcall_p; don't emit the return |
| instruction if true. |
| (struct reg_flags): Add is_sibcall. |
| (rtx_needs_barrier): A sibcall does not use CFM et al. Ignore USEs. |
| (emit_insn_group_barriers): Set flags.is_sibcall. Remove hacks |
| for CODE_FOR_gr_spill_internal/CODE_FOR_gr_restore_internal. |
| * config/ia64/ia64.h (PREDICATE_CODES): Update. |
| * config/ia64/ia64.md (call): Use ia64_expand_call. |
| (call_value): Likewise. |
| (sibcall, sibcall_value): New. |
| (call patterns): Remove extra expanders; tidy. |
| (sibcall_epilogue): New. |
| (set_bsp): Remove the extra USE. Put the operand inside the UNSPEC. |
| |
| 2000-09-24 Richard Henderson <rth@cygnus.com> |
| |
| * emit-rtl.c (gen_lowpart_common): Use trunc_int_for_mode. |
| |
| * sibcall.c (skip_pic_restore): New. |
| (identify_call_return_value): Use it. |
| |
| 2000-09-24 Mark Mitchell <mark@codesourcery.com> |
| |
| * c-tree.texi: Moved here from cp/ir.texi. Documented nested |
| functions. Generalize to handle both C and C++. |
| * Makefile.in (c-tree.info): New target. |
| (info): Add c-tree.info. |
| |
| Sun Sep 24 09:15:48 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * expr.c (store_field): If BITSIZE is negative, use size of type. |
| (expand_expr, case COMPONENT_EXPR): Likewise. |
| |
| Sun 24-Sep-2000 11:40:23 BST Neil Booth <NeilB@earthling.net> |
| |
| * cpplex.c: Update TODO comment. |
| * cpplib.c (do_error, do_warning): Merge common code of |
| do_error and do_warning into do_diagnostic. Use it. |
| (do_diagnostic): New function. |
| * cpplib.h: Fix comment typo. |
| |
| 2000-09-24 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (check_format_info): Warn for a wide character string |
| used as a non-wide format argument. |
| |
| 2000-09-24 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * builtins.def (BUILT_IN_LLABS): Add. |
| * builtins.c (expand_builtin): Also abort on BUILT_IN_LLABS. |
| * c-common.c (c_common_nodes_builtins): Create builtin functions |
| __builtin_llabs, and plain llabs unless no_nonansi_builtins |
| outside of C99 mode. |
| (expand_tree_builtin): Handle BUILT_IN_LLABS. |
| |
| Sat 23-Sep-2000 22:39:18 BST Neil Booth <NeilB@earthling.net> |
| |
| * cpphash.h (CPP_RESERVE, CPP_PUTS_Q, CPP_PUTS, CPP_PUTC_Q, |
| CPP_PUTC, DUMMY_TOKEN, NO_DUMMY_TOKEN): Delete. |
| * cpplex.c (_cpp_expand_token_space, _cpp_init_toklist, |
| _cpp_free_toklist): No need to worry about extra dummy token |
| at the start of token lists any more. |
| (trigraph_ok): Only warn outside comments. |
| (skip_block_comment): Set and clear lexing_comment. |
| (skip_line_comment): Take a cpp_reader not cpp_buffer. |
| Set and clear lexing_comment. |
| (parse_number): Handle leading '.' indicated by pfile->seen_dot. |
| (check_long_token): Delete. |
| (lex_percent, lex_dot): New subroutines of lex_token to |
| handle lexing of '.' and '%' without lookback. |
| (lex_token): Use lex_dot and lex_percent. |
| (lex_line): Don't check for LIST_OFFSET. |
| (_cpp_init_input_buffer): Update for new _cpp_init_toklist. |
| * cpplib.c (_cpp_parse_assertion): Similarly. |
| (cpp_push_buffer): Initialize extra_char. |
| * cpplib.h (LIST_OFFSET): Delete. |
| (struct cpp_buffer): New member extra_char. |
| (struct lexer_state): New members lexing_comment and seen_dot. |
| |
| 2000-09-23 Jason Merrill <jason@redhat.com> |
| |
| * config/rs6000/x-aix41 (CLIB): Define here. |
| * config/rs6000/t-aix43: Not here. |
| * config/rs6000/t-aix41: Or here. Remove. |
| * configure.in: Don't use it. |
| |
| 2000-09-22 Jason Merrill <jason@redhat.com> |
| |
| * configure.in: Add test for HAVE_LD_DWARF_LINKONCE. |
| * toplev.c: Use it to initialize flag_eliminate_dwarf2dups. |
| * config.in: Regenerate. |
| |
| * configure.in: Fix checks for assembler features when using a |
| one-tree assembler that has not yet been built. |
| Fix --disable-threads. |
| |
| 2000-09-19 Geoff Keating <geoffk@cygnus.com> |
| |
| * stmt.c (expand_asm_operands): Allow # in constraints. |
| |
| 2000-09-22 Jason Merrill <jason@redhat.com> |
| |
| * c-lex.c (skip_white_space): Just treat CRs as horizontal whitespace. |
| |
| * dbxout.c (dbxout_symbol_name): Just use DECL_NAME for |
| function-local names. |
| |
| 2000-09-22 Brad Lucier <lucier@math.purdue.edu> |
| Mark Mitchell <mark@codesourcery.com> |
| |
| * toplev.c (warn_disabled_optimization): Declare new warning flag. |
| * flags.h (warn_disabled_optimization): Add it here. |
| * gcse.c (gcse_main): Add warning when disabled. |
| * invoke.texi: Document -Wdisabled-optimization. |
| |
| 2000-09-21 Jason Merrill <jason@redhat.com> |
| |
| * dwarf2out.c (add_const_value_attribute): Multiply by length, not 4. |
| |
| * dwarf2out.c (tree_add_const_value_attribute): New fn. |
| (gen_variable_die): Call it for non-definitions. |
| |
| * dwarf2out.c (die_struct): Add die_mark field. |
| (mark_dies, unmark_dies): New fns. |
| (clear_die_sizes): Remove. |
| (print_die): Check die_symbol rather than die_offset. |
| (build_abbrev_table, output_pubnames, output_aranges): Check |
| die_mark rather than die_offset. |
| (output_comp_unit): Move calc_die_sizes after build_abbrev_table. |
| Call mark_dies. |
| |
| Thu 21-Sep-2000 18:19:05 BST Neil Booth <NeilB@earthling.net> |
| |
| * cppfiles.c (lookup_include_file): Rename to open_file. |
| Always create a splay tree value, even on syscall failures. |
| Negative entries indicated by fd == -2. |
| Re-open files closed in the meantime. |
| (_cpp_fake_include): Create a negative splay tree entry. |
| (find_include_file, cpp_read_file): Update for function name |
| change. |
| * gcc.gd/cpp/mi4.c: Testcase. |
| |
| 2000-09-21 Nick Clifton <nickc@redhat.com> |
| |
| * config/arm/t-arm-elf (MULTILIB_DIRNAMES): Enable multilibs for |
| ARM and THUMB modes. |
| |
| * config/mcore/mcore.c: Fix compile time warnings. |
| * config/mcore/mcore-protos.h: Fix compile time warnings. |
| |
| 2000-09-20 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * configure.in: Correct test of gcc_cv_glibc. |
| * configure: Rebuilt. |
| * config.in: Rebuilt. |
| |
| 2000-09-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * builtins.c (expand_builtin_fputs): Also expand when length!=1. |
| (expand_builtin): Handle BUILT_IN_FWRITE. |
| |
| * builtins.def (BUILT_IN_FWRITE): New entry. |
| |
| * c-common.c (c_common_nodes_and_builtins): Declare __builtin_fwrite. |
| |
| Wed Sep 20 15:39:14 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * gcc.c (modify_target): New variable and struct. |
| (process_command): Handle MODIFY_TARGET_NAME. |
| * tm.texi (MODIFY_TARGET_NAME): Add documentation for new macro. |
| * config/pa/pa.h (MODIFY_TARGET_NAME): New macro. |
| |
| * c-decl.c (finish_decl): Add else's to avoid referencing |
| TYPE_DOMAIN of an ERROR_MARK. |
| |
| Wed Sep 20 21:44:31 2000 Denis Chertykov <denisc@overta.ru> |
| |
| * config/avr/avr.c (adjust_insn_length): Adjust lengths of |
| `reload_in*' insns. |
| |
| 2000-09-19 Marek Michalkiewicz <marekm@linux.org.pl> |
| |
| * config/avr/avr.md (neghi2): Add alternative for input and output |
| operands in different registers, as in negsi2. |
| (*negsi2): Remove '*' from the name. Use "movw" if available. |
| |
| 2000-09-19 Jim Wilson <wilson@cygnus.com> |
| |
| * config/ia64/crtbegin.asm (__dso_handle): Delete use of |
| HAVE_GAS_HIDDEN macro. |
| |
| Tue 19-Sep-2000 22:38:57 BST Neil Booth <NeilB@earthling.net> |
| |
| * cpplex.c (lex_line): Drop the EOF token for unknown |
| directives in assembler. |
| |
| 2000-09-19 David Edelsohn <edelsohn@gnu.org> |
| |
| * configure.in: Allow enable_threads_flag value of "aix". Define |
| thread_file as "aix" for AIX 4.3 and above. |
| * configure: Regenerated. |
| |
| * gthr-aix.h: New file. |
| |
| * rs6000/t-aix43: Replace soft-float multilib with pthread. |
| Remove 403 processor multilib match. Fix rios2 processor multilib |
| match. |
| |
| * rs6000/aix.h (ASM_DECLARE_FUNCTION_NAME): Use function_section |
| to return to appropriate csect. |
| |
| 2000-09-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * builtins.c (is_valid_printf_arglist, expand_builtin_printf): New |
| functions. |
| (expand_builtin_fputs): Set `target' parameter for `expand_expr'. |
| (expand_builtin): Handle BUILT_IN_PUTCHAR, BUILT_IN_PUTS and |
| BUILT_IN_PRINTF. |
| |
| * builtins.def (BUILT_IN_PUTCHAR, BUILT_IN_PUTS, BUILT_IN_PRINTF): |
| New entries. |
| |
| * c-common.c (init_function_format_info): Handle __builtin_printf. |
| Set `check_function_format_ptr'. |
| (c_common_nodes_and_builtins): Set `puts_ftype' and |
| `printf_ftype'. Declare __builtin_putchar, __builtin_puts, |
| __builtin_printf and printf. |
| |
| * tree.c, tree.h (check_function_format_ptr): Declare. |
| |
| Tue 19-Sep-2000 18:26:57 BST Neil Booth <NeilB@earthling.net> |
| |
| * cppfiles.c (read_include_file): Take no special action for |
| zero-length files. |
| |
| 2000-09-19 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * final.c (insn_current_reference_address): Use INSN_SHUID of seq |
| rather than that of branch. |
| (shorten_branches): Don't increment insn_current_address twice. |
| |
| Undo most of the Wed Jan 27 23:39:53 1999 patch: |
| * loop.h (struct induction): Delete members derived, ix and last_use. |
| (struct loop_ivs): Delete members first_increment_giv and |
| last_increment_giv. |
| * loop.c (verify_dominator, find_life_end, cmp_recombine_givs_stats, |
| recombine_givs): Delete functions. |
| (find_and_verify_loops): Don't initialize cont_dominator. |
| (strength_reduce): Lose code to try to find bivs that can be |
| expressed as givs of another biv, and to convert biv increments |
| into givs. |
| Lose loop_scan_start variable, always use loop->scan_start. |
| Don't call recombine_givs. Don't handle derived givs. |
| (record_giv): Don't initialize derived and last_use fields. |
| (biv_eliminiation_giv_has_0_offset): Lose code to handle derived |
| givs. |
| * unroll.c (derived_regs): Delete static variable. |
| (unroll_loop): Don't initialize it. |
| (copy_loop_body): Lose code to handle derived givs. |
| (find_splittable_givs): Don't check for givs made from biv |
| increments. |
| Don't set derived_regs. |
| |
| Fix misapplied earlier patch: |
| * config/sh/sh.md (floatsisf_ie): Reenable. Remove explicit reference |
| to fpul. |
| (floatsisf2): Generate floatsisf_ie by default. |
| (floatsisf_i4): Conditional on TARGET_SH4. |
| |
| (floatsisf2, floatsidf2, extendsfdf2): Also use reg_no_subreg_operand |
| predicate for the expanders. |
| |
| 2000-09-19 Richard Henderson <rth@cygnus.com> |
| |
| * config/i386/i386.h (CPP_CPU_SPEC): Define i586 and i686 symbols |
| in addition to pentium and pentiumpro symbols. |
| (CPP_CPU_DEFAULT_SPEC): Likewise. |
| |
| * c-typeck.c (c_expand_asm_operands): Restore the output tree |
| after expanding. |
| |
| * stmt.c (expand_expr_stmt): Only call warn_if_unused_value |
| if the tree has side effects. |
| (warn_if_unused_value): Do not warn about void constructs. |
| |
| * c-decl.c (poplevel): Invoke warn_about_unused_variables. |
| |
| * unroll.c (copy_loop_body): Update LABEL_NUSES before |
| calling invert_jump. |
| |
| 2000-09-18 Geoff Keating <geoffk@cygnus.com> |
| |
| * combine.c (can_combine_p): Don't substitute an ASM_OPERANDS |
| into anything. |
| |
| 2000-09-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * Makefile.in (c-common.o): Depend on diagnostic.h. |
| |
| * c-common.c: Include diagnostic.h. |
| (tfaff): Delete. |
| (status_warning): New function. |
| (check_format_info, maybe_read_dollar_number, check_format_types, |
| finish_dollar_format_checking, check_function_format): Accept a |
| `status' parameter. All callers changed. |
| |
| * c-common.h (check_function_format): Accept a `status' parameter. |
| |
| * c-typeck.c: Update call to `check_function_format'. |
| |
| 2000-09-18 Richard Henderson <rth@cygnus.com> |
| |
| * c-decl.c (c_expand_body): Call mark_varargs before |
| expand_function_start. |
| |
| 2000-09-18 Geoff Keating <geoffk@cygnus.com> |
| |
| * config/rs6000/eabi-cn.asm: Use /**/ to delimit comments, not #. |
| * config/rs6000/eabi-ci.asm: Likewise. |
| |
| 2000-09-18 Richard Henderson <rth@cygnus.com> |
| |
| * emit-rtl.c (init_emit_once): Initialize const_tiny_rtx |
| for BImode. |
| |
| 2000-09-18 Jim Wilson <wilson@cygnus.com> |
| |
| * unroll.c (loop_iterations): Pass increment to extend_for_giv_value |
| before passing it to fold_rtx_mult_add. |
| |
| * unroll.c (final_giv_value): Pass increment through |
| extend_value_for_giv before passing it to emit_iv_add_mult. |
| |
| * function.c (fixup_var_refs_1, case ZERO_EXTRACT): If we have a |
| paradoxical subreg, then directly substitute the replacement and |
| return. |
| |
| Mon 18-Sep-2000 22:12:44 BST Neil Booth <NeilB@earthling.net> |
| |
| * cpp.texi: Update documentation, including some clarifications, |
| the treatment of various newline combinations, and space between |
| backslash and newline. |
| |
| Mon Sep 18 21:00:47 2000 J"orn Rennecke <amylaar@redhat.co.uk> |
| |
| * sdbout.c (PUT_SDB_DEF, PUT_SDB_TAG, PUT_SDB_EPILOGUE_END): |
| Replace ASM_OUTPUT_LABELREF with assemble_name. |
| |
| Mon Sep 18 20:26:50 2000 J"orn Rennecke <amylaar@redhat.co.uk> |
| |
| * sh.c (addsubcosts): CONST is not cheap. |
| (find_barrier): For Sh1, take alignment after jumps into account. |
| |
| 2000-09-15 Andrew Haley <aph@redhat.com> |
| |
| * toplev.c (rest_of_compilation): Call purge_hard_subreg_sets to |
| remove all SETs of SUBREGs of hard registers. |
| * function.c (purge_hard_subreg_sets): New function. |
| (purge_single_hard_subreg_set): New function. |
| * rtl.h: (purge_hard_subreg_sets): New function. |
| |
| 2000-09-18 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64-protos.h: Update. |
| * config/ia64/ia64.c (signed_inequality_operator): New. |
| (ia64_expand_compare): New. |
| (ia64_register_move_cost): Handle PR_REGS moves. |
| (ia64_secondary_reload_class): Require a GR when moving to a PR. |
| (struct reg_write_state): Add written_by_and/or. |
| (struct reg_flags): Add is_and/or. |
| (rws_update): Set them. |
| (rws_access_regno): Test them to allow parallel comparisons. |
| (rtx_needs_barrier): Recognize parallel comparisons. |
| (emit_insn_group_barriers): Set prev_insn after a call stop bit. |
| Call recog_memoized; ignore pred_rel_mutex. |
| (emit_predicate_relation_info): Don't call find_basic_blocks here. |
| (ia64_reorg): Do it here instead. |
| * config/ia64/ia64.h: s/CCmode/BImode/g |
| (MODES_TIEABLE_P): Don't tie BImode. |
| (PREFERRED_RELOAD_CLASS): Do not reload operations into AR regs. |
| (CONST_COSTS): Pick sensible values for CONST_INT based on context. |
| (RTX_COSTS): Make multiply 4 insns. |
| (MEMORY_MOVE_COST): New. |
| (PREDICATE_CODES): Update. |
| * config/ia64/ia64.md: s/CCmode/BImode/g |
| (movcci, movbi): New. |
| (andbi3, andcmbi3, iorbi3, iorcmbi3, one_cmplbi2): New. |
| (cmpsi_and_0, cmpsi_and_1, cmpsi_andnot_0, cmpsi_andnot_1): New. |
| (cmpdi_and_0, cmpdi_and_1, cmpdi_andnot_0, cmpdi_andnot_1): New. |
| (tbit_and_0, tbit_and_1, tbit_and_2, tbit_and_3): New. |
| (cmpsi_or_0, cmpsi_or_1, cmpsi_orcm_0, cmpsi_orcm_1): New. |
| (cmpdi_or_0, cmpdi_or_1, cmpdi_orcm_0, cmpdi_orcm_1): New. |
| (tbit_or_0, tbit_or_1, tbit_or_2, tbit_or_3): New. |
| (mulsi, muldi): Use xmpy not xma. |
| (cmpbi): New. |
| (movcc, movcc_internal): Remove. |
| (branch expanders): Use ia64_expand_compare. |
| (setcc expanders): Likewise. |
| (cmov insns): Use move_operand and ia64_move_ok. |
| (pred_rel_mutex): Use unspec not unspec_volatile. Prevent the |
| scheduler from moving it past a use. |
| * config/ia64/build.hacks: Remove. |
| |
| Mon 18-Sep-2000 19:21:35 BST Neil Booth <NeilB@earthling.net> |
| |
| * cpphash.h (HASHSTEP): Take character rather than pointer |
| to character. |
| (_cpp_check_directive, _cpp_check_linemarker): Update prototypes. |
| |
| * cpphash.c (cpp_loookup): Update for new HASHSTEP. |
| |
| * cpplex.c (auto_expand_name_space, trigraph_replace, |
| backslash_start, handle_newline, parse_name, INIT_TOKEN_STR, |
| IMMED_TOKEN, PREV_TOKEN_TYPE, PUSH_TOKEN, REVISE_TOKEN, |
| BACKUP_TOKEN, BACKUP_TRIGRAPH, MIGHT_BE_DIRECTIVE, |
| KNOWN_DIRECTIVE): Delete. |
| |
| (handle_newline, check_long_token, skip_escaped_newlines, |
| unterminated): New functions. |
| (ACCEPT_CHAR, SAVE_STATE, RESTORE_STATE): New macros. |
| |
| (parse_identifier): Was parse_name, new implementation. |
| (skip_line_comment, skip_block_comment, skip_whitespace, |
| parse_number, parse_string, trigraph_ok, save_comment, |
| adjust_column, _cpp_get_line): New implementations. |
| |
| (lex_token): New function. Lexes a token at a time, looking |
| forwards. Contains most of the guts of the old lex_line. |
| (lex_line): New implementation, using lex_token to obtain |
| individual tokens. |
| (cpp_scan_buffer): Use the token's line, not the list's line. |
| |
| * cpplib.c (_cpp_check_directive, _cpp_check_linemarker): |
| New implementations. |
| (do_assert): Don't bother setting the answer's list's line. |
| (cpp_push_buffer): Initialize new pfile and read_ahead members |
| of struct cpp_buffer. |
| |
| * cpplib.h (cppchar_t): New typedef. |
| (struct cpp_buffer): read_ahead, pfile and col_adjust are |
| new members. |
| (struct lexer_state): New structure that determines the state |
| and behavior of the lexer. |
| (IN_DIRECTIVE, KNOWN_DIRECTIVE): New macros. |
| (struct cpp_reader): New member "state". Rename |
| multiline_string_line and multiline_string_column. Delete |
| col_adjust, in_lex_line members. |
| (CPP_BUF_COLUMN): Update. |
| |
| 2000-09-18 Richard Henderson <rth@cygnus.com> |
| |
| * combine.c (simplify_comparison): Shift a NOT out of a single |
| bit test. |
| |
| * combine.c (if_then_else_cond): Canonicalize BImode true to |
| STORE_FLAG_VALUE. |
| * explow.c (trunc_int_for_mode): Likewise. |
| |
| * combine.c (combine_simplify_rtx): Use gen_unary to distribute |
| the NOT for De Morgan's rule. |
| * simplify-rtx.c (simplify_unary_operation): Simplify a BImode NOT |
| of a comparison to the reverse comparison. |
| |
| * combine.c (try_combine): Allow split to create a single insn. |
| |
| * machmode.def: Add BImode. Add a column for bitsize. |
| * machmode.h (DEF_MACHMODE): Adjust for extra column. |
| (GET_MODE_BITSIZE): Use it. |
| * rtl.c (DEF_MACHMODE): Adjust for extra column. |
| (mode_bitsize): New. |
| (mode_mask_array): Use bitsize. |
| * combine.c (combine_simplify_rtx): Require inner and outer |
| modes to match on nonzero_bits optimizations. |
| |
| 2000-09-18 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * reload1.c (forget_old_reloads_1): If a hard reg is stored, clear |
| its entry in spill_reg_store. |
| * config/sh/lib1funcs.ams (movstr_i4 functions): Always compile in. |
| * sh.c (reg_no_subreg_operand): New function. |
| * sh-protos.h (reg_no_subreg_operand): Declare it. |
| * sh.h (PREDICATE_CODES): Add it. |
| * sh.md (floatsisf2_i4, floatsidf2_i, extendsfdf2_i4): Use it for |
| input operand that needs to be in fpul. |
| (fix_truncsfsi2, fix_truncsfsi2_i4): Use register_operand for output. |
| * sh.c (find_barrier): Take into account that machine_dependent_reorg |
| might add new insns. |
| |
| 2000-09-18 Alexandre Oliva <aoliva@redhat.com> |
| |
| * config/sh/sh.c (sh_expand_prologue): Mark GOTaddr2picreg as |
| MAYBE_DEAD. |
| (sh_expand_epilogue): Take the PIC register into account when |
| computing the frame size. |
| |
| * config/sh/sh.c (nonpic_symbol_mentioned_p): Check LABEL_REFs. |
| * config/sh/sh.md (sym_label2reg, symPLT_label2reg): Protect |
| LABEL_REFs with a PIC-safe unspec. |
| |
| 2000-09-18 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (check_format_info): Properly save the argument |
| number and parameter for $ operand number formats in case width |
| and precision arguments are also used. Allow printf width and |
| precision arguments to have operand numbers even if none was |
| specified for the main format, since this is OK for %*.*m. Only |
| object to missing $ operand number if the format used requires an |
| argument. |
| |
| 2000-09-18 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (format_char_info): Add 'W' flag to comment. |
| (print_char_table, scan_char_table): Use it. |
| (check_format_info): Use the 'W' flag to determine whether a |
| format argument is written into. |
| |
| 2000-09-18 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (check_format_types): Reorganize and clean up, |
| checking earlier for ERROR_MARKs and making cur_type into its |
| TYPE_MAIN_VARIANT where convenient. |
| |
| 2000-09-18 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * gcc.c (cpp_options): Add specs for __STDC_HOSTED__. |
| |
| 2000-09-18 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * optabs.c (emit_libcall_block): Set CONST_CALL_P for the call. |
| |
| * i386-protos.h (ix86_init_builtins, ix86_expand_builtin): Declare. |
| * i386.c (struct builtin_description): New. |
| (bdesc_comi, bdesc_2arg, bdesc_1arg): New arrays. |
| (mmx_reg_operand): Declare MODE arg as unused. |
| (ix86_expand_sse_comi, ix86_expand_sse_compare, safe_vector_operand, |
| ix86_expand_unop1_builtin, ix86_expand_unop_builtin, |
| ix86_expand_binop_builtin, ix86_expand_store_builtin, |
| ix86_init_builtins, ix86_expand_builtin): New functions. |
| * i386.h (ix86_builtins): New enumeration. |
| (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): New macros. |
| * i386.md (attr length_immediate): 0 for mmx/sse types. |
| (attr prefix_0f): 1 for mmx/sse types. |
| (setcc_2): Remove "*" so we get gen_setcc_2. |
| (emms): Account for changed register numbering. Set "memory" attr |
| to unknown. |
| (sfence): Set "memory" attr to unknown. |
| |
| 2000-09-18 Andreas Jaeger <aj@suse.de> |
| |
| * configure.in: Define _GNU_SOURCE only when using the GNU C |
| Library. |
| * configure: Regenerated. |
| * config.in: Regenerated. |
| |
| 2000-09-17 Mark Mitchell <mark@codesourcery.com> |
| |
| * cppinit.c (cpp_init): Don't use ANSI prototypes. |
| * flow.c (flow_dump_loop): Likewise. |
| (flow_loops_dump): Likewise. |
| |
| * c-typeck.c (c_start_case): Fix typo. |
| |
| 2000-09-17 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-decl.c (grokdeclarator): Don't give a warning about defaulting |
| to int for plain complex which defaults to complex double. Do |
| warn about defaulting to complex double if pedantic. Warn about |
| complex integer types if pedantic. Warn about complex types if |
| pedantic and not in C99 mode. |
| * c-typeck.c (build_unary_op): If pedantic, warn about use of ~ |
| for complex conjugation. |
| |
| 2000-09-17 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * contrib.texi: Update my entry. |
| |
| Sun Sep 17 18:48:32 2000 Denis Chertykov <denisc@overta.ru> |
| |
| * config/avr/avr.md (mcu_enhanced): New attribute. |
| (mcu_mega): Likewise. |
| (extendhisi2): Use mcu_enhanced. |
| (zero_extendhisi2): Likewise. |
| (call_insn): Use mcu_enhanced and mcu_mega. |
| (call_value_insn): Likewise. |
| (*sbrx_branch): Use mcu_mega. |
| (*sbrx_and_branchsi): Likewise. |
| (*sbrx_and_branchhi): Likewise. |
| (*tablejump_lib): Likewise. |
| |
| Sun Sep 17 10:46:17 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * alias.c (true_dependence): Allow non-unchanging read to conflict |
| with unchanging write. |
| |
| * expr.c (store_constructor_field): Accept ALIAS_SET arg. |
| (store_constructor): Pass alias_set to it. |
| |
| * c-decl.c (grokdeclarator): Reorder tests to avoid looking at |
| TYPE_MAIN_VARIANT of ERROR_MARK. |
| * c-lex.c (readescape): Avoid using printf syntax we don't recognize. |
| |
| * simplify-rtx.c (simplify_unary_operation): Add cases |
| FLOAT_EXTEND and FLOAT_TRUNCATE to ones that return 0. |
| |
| 2000-09-17 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * expr.h (emit_library_call, emit_library_call_value): Delete |
| declarations. |
| * rtl.h (enum libcall_type): New. |
| (emit_library_call, emit_library_call_value): Change fn_type arg to |
| be of type enum libcall_type. |
| * calls.c: Likewise for the function definitions. Several callers |
| throughout changed to use the new enumeration appropriately. |
| (emit_library_call_value_1): Likewise. Put back code to make libcall |
| blocks of equal form, but only use it for the two new higher |
| enumeration values. |
| |
| 2000-09-16 Mark Mitchell <mark@codesourcery.com> |
| |
| Convert the C front-end to use function-at-a-time mode. |
| * c-common.h: Include splay-tree.h. |
| (C_DECLARED_LABEL_FLAG): New macro. |
| (struct language_function): Add x_scope_stmt_stack and |
| x_function_name_declared_p. |
| (RECHAIN_STMTS): Move definition. |
| (lang_statement_code_p): Likewise. |
| (lang_expand_stmt): Likewise. |
| (lang_expand_decl_stmt): New variable. |
| (lang_expand_function_end): Likewise. |
| (current_scope_stmt_stack): New function. |
| (add_decl_stmt): Likewise. |
| (add_scope_stmt): Likewise. |
| (mark_stmt_tree): Likewise. |
| (struct c_lang_decl): New structure. |
| (DECL_SAVED_TREE): Define. |
| (c_mark_lang_decl): New function. |
| (c_expand_start_cond): Change prototype. |
| (c_finish_then): New function. |
| (c_finish_else): Likewise. |
| (current_function_name_declared): Remove. |
| (set_current_function_name_declared): Likewise. |
| (mark_c_language_function): Declare. |
| (case_compare): Likewise. |
| (c_add_case_label): Likewise. |
| (c_expand_expr): Likewise. |
| (c_safe_from_p): Likewise. |
| * c-common.c (lang_expand_function_end): New variable. |
| (struct if_elt): Add if_stmt. |
| (c_expand_start_cond): Add the if-statement to the statement-tree, |
| rather than generating RTL. |
| (c_finish_then): New function. |
| (c_expand_start_else): Don't generate RTL. |
| (c_finish_else): New function. |
| (c_expand_expr_stmt): Don't generate RTL. |
| (statement_code_p): Add SCOPE_STMT. |
| (case_compare): New function. |
| (c_add_case_label): Likewise. |
| (mark_stmt_tree): Likewise. |
| (c_mark_lang_decl): Likewise. |
| (mark_c_language_function): Likewise. |
| (c_expand_expr): Likewise. |
| (c_safe_from_p): Likewise. |
| * c-decl.c (c_stmt_tree): New variable |
| (c_scope_stmt_stack): Likewise. |
| (c_function_name_declared_p): Likewise. |
| (lang_expand_expr_stmt): Remove. |
| (poplevel): Don't call output_inline_function for nested |
| functions. |
| (pushdecl): Don't set DECL_CONTEXT for a local declaration of an |
| `extern' function. |
| (redeclaration_error_message): Change means of computing whether |
| or not a function is nested. |
| (lookup_label): Don't call label_rtx. |
| (init_decl_processing): Add more GC roots. |
| (start_decl): Add DECL_STMTs to the statement-tree, rather than |
| calling rest_of_decl_compilation. |
| (finish_decl): Don't call expand_decl. |
| (store_parm_decls): Begin the statement-tree, but don't generate |
| RTL. |
| (finish_function): Tie off the statement-tree. Call c_expand_body |
| if appropriate. |
| (c_expand_body): New function. |
| (push_c_function_context): Save more information. |
| (pop_c_function_contxt): Likewise. |
| (copy_lang_decl): Now that we use DECL_LANG_SPECIFIC, copy it. |
| (lang_mark_tree): Mark it. |
| (current_stmt_tree): Adjust. |
| (current_scope_stmt_stack): New function. |
| (do_case): Remove. |
| (set_current_name_declared): Likewise. |
| (c_begin_compound_stmt): Define. |
| (c_expand_decl_stmt): Likewise. |
| * c-lang.c: Include rtl.h and expr.h. |
| (lang_init): Set more language-specific hooks. |
| * c-lex.c: Include expr.h. |
| * c-parse.in: Changes throughout to add statements to the |
| statement-tree, rather than generating RTL after every statement. |
| * c-semantics.c (lang_expand_decl_stmt): Define. |
| (add_decl_stmt): New function. |
| (add_scope_stmt): Likewise. |
| (finish_stmt_tree): Tweak. |
| (genrtl_expr_stmt): Likewise. |
| (genrtl_decl_stmt): Handle local labels, and call |
| lang_expand_decl_stmt if required. |
| (genrtl_for_stmt): Fix line-number handling. |
| (genrtl_case_label): Handle cleanups. |
| (genrtl_asm_stmt): Don't call combine_strings. |
| (genrtl_compound_stmt): Simplify. |
| (expand_stmt): Handle SCOPE_STMTs. |
| * c-tree.h (struct lang_decl): New structure. |
| (C_DECLARED_LABEL_FLAG): Remove. |
| (c_begin_compound_stmt): Declare. |
| (c_expand_decl_stmt): Likewise. |
| (c_expand_start_case): Rename to c_start_case. |
| (c_finish_case): New function. |
| * c-typeck.c (start_init): Tweak setting of |
| constructor_incremental. |
| (c_expand_asm_operands): Tweak error-handling. Add to the |
| statement-tree. |
| (c_expand_return): Add to the statement-tree. |
| (c_expand_start_case): Rename to ... |
| (c_start_case): ... this. |
| (struct c_switch): New type. |
| (switch_stack): New variable. |
| (do_case): Simplify. |
| (c_finish_case): New function. |
| * dependence.c: Include expr.h. |
| (enum dependence_type): Change spelling of enumerals. |
| (check_node_dependence): Adjust. |
| * expr.h (lang_safe_from_p): Declare. |
| (safe_from_p): Likewise. |
| * expr.c (lang_safe_from_p): New variable. |
| (safe_from_p): Give it external linkage. Use lang_safe_from_p. |
| * stmt.c (expand_expr_stmt): Avoid clobberring of last_expr_type. |
| * toplev.c (rest_of_decl_compilation): Robustify. |
| * tree.c (contains_placeholder_p): Likewise. |
| * Makefile.in: Update dependencies. |
| * objc/objc-act.h: Adjust calculation of value for dummy_tree_code. |
| * objc/objc-act.c: Include rtl.h, expr.h, and c-common.h. |
| (objc_expand_function_end): New function. |
| (finish_method_def): Use it. |
| (init_objc): Initialize more language-specific hooks. |
| * objc/Make-lang.in: Update dependencies. |
| |
| 2000-09-16 Geoffrey Keating <geoffk@cygnus.com> |
| |
| * configure.in: Define macros that affect features before |
| testing for features. Don't define _XOPEN_SOURCE. |
| * configure: Regenerated. |
| * config.in: Regenerated. |
| |
| Sat Sep 16 19:42:50 EDT 2000 John Wehle (john@feith.com) |
| |
| * rtlanal.c (rtx_varies_p): Volatile asms vary. |
| (rtx_unstable_p): Restructure code. Volatile asms |
| are unstable. |
| |
| Sat Sep 16 14:35:55 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * function.h (no_debugging_symbols): New field. |
| * integrate.c (save_for_inline): Renamed from save_for_inline_nocopy. |
| Initialize no_debugging_symbols. |
| (output_inline_function): Save and restore write_symbols and set from |
| no_debugging_symbols. |
| * toplev.c (rest_of_compilation): Call save_for_inline. |
| * tree.h: Update comment. |
| |
| * stor-layout.c (place_field): Don't do anything if field or |
| its type are ERROR_MARK. |
| |
| Sat Sep 16 19:14:00 2000 Laurynas Biveinis <lauras@softhome.net> |
| |
| * cppfiles.c (purge_cache): Use munmap only if MMAP_THRESHOLD defined. |
| (read_include_file): Ensure inc->mmaped is initialized. |
| |
| 2000-09-16 Richard Henderson <rth@cygnus.com> |
| |
| * cppiles.c (purge_cache): Use PTR not caddr_t. |
| |
| 2000-09-16 Hans-Peter Nilsson <hp@axis.com> |
| |
| * gcc.c: In description for %{<S}, say the option removed is -S. |
| * invoke.texi (Spec Files): Ditto. |
| |
| 2000-09-16 Andreas Jaeger <aj@suse.de> |
| |
| * configure.in: Always define _GNU_SOURCE to make interfaces |
| visible that were hidden by only defining _GNU_SOURCE. |
| * configure: Regenerated. |
| |
| Sat 16-Sep-2000 08:13:45 BST Neil Booth <NeilB@earthling.net> |
| |
| * cpplex.c (push_macro_context): Set an argument's level after |
| calling parse_args. We could loop infinitely otherwise. |
| |
| 2000-09-15 Tom Tromey <tromey@cygnus.com> |
| |
| * configure, config.in: Rebuilt. |
| * configure.in: Check for iconv.h. Define _XOPEN_SOURCE. |
| |
| 2000-09-15 Greg McGary <greg@mcgary.org> |
| |
| * cppmacro.c (check_trad_stringification): Check token |
| text pointers against limit before dereferencing. |
| |
| 2000-09-15 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (format_wanted_type): New structure. |
| (check_format_types): New function. |
| (check_format_info): Pass all checking of types of format |
| arguments, including width and precision arguments, to this new |
| function. |
| |
| 2000-09-15 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> |
| |
| * BUGS: Remove file. |
| |
| 2000-09-15 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/alpha/alpha.c (override_options): ev6 cache latencies |
| from Richard Henderson. Don't allow -mmemory-latency=L0. |
| |
| * config/alpha/alpha.h (TARGET_CPU_EV5, TARGET_CPU_EV6): Define. |
| (TARGET_OPTIONS): Add tune=. |
| (alpha_tune_string): Declare. |
| * config/alpha/alpha.c (override_options): Add cpu_table. |
| Use alpha_cpu_string first to set both alpha_cpu and target_flags |
| and then alpha_tune_string to set alpha_cpu only. |
| Replace tests for PROCESSOR_EV* with TARGET_CPU_EV* tests. |
| * config/alpha/elf.h (ASM_FILE_START): Likewise. |
| * config/alpha/osf.h (ASM_FILE_START): Likewise. |
| * config/alpha/openbsd.h (ASM_FILE_START): Likewise. |
| |
| Fri Sep 15 19:45:55 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * i386-protos.h (no_comparison_operator, uno_comparison_operator): |
| Remove. |
| (ix86_comparison_operator, ix86_cc_mode): Declare |
| * i386.h (CCGC, CCGCO): New modes. |
| (SELECT_CC_MODE): Move offline to .... |
| * i386.c (ix86_cc_mode): .... here; use new modes. |
| (ix86_comparison_operator): New. |
| (fcmov_comparison_operator): Ensure proper mode. |
| (put_condition_mode): More sanity checking. |
| (ix86_match_ccmode): Handle new modes. |
| (ix86_expand_fp_compare): GEU requires CCmode. |
| (ix86_expand_strlensi_unroll_1): Use emit_cmp_and_jump_insn instead of |
| doing it by hand. |
| * i386.md (cmp?i_ccz_1): Remove |
| (cmp?i_ccno_1): Use ix86_match_ccmode. |
| (cmp?i_minus_1): New. |
| (cmpsi_1): New expander. |
| (cmpqi_ext_1): Use match_ccmode |
| (cmpqi_ext_3): New expander. |
| (cmpqi_ext_3_insn): Rename from cmpqi_ext_3. |
| (cmpqi_ext_4): Use match_ccmode. |
| (add?i_?): Use match_ccmode. |
| (add?i_6): New. |
| (test?i_ccz_1): Remove |
| (test?i_1): New. |
| (testsi_ccno_1, testqi_ccz_1, testqi_ext_ccno_0): New expander. |
| (testqi_ext_0): Use ix86_match_ccmode. |
| (*xorqi_cc_ext_1): Use ix86_match_ccmode. |
| (xorqi_cc_ext_1): New expander. |
| (shift patterns): Use CCGOCmode for all shifts except for sar. |
| (setcc_?, jcc_?, miv?icc_nic): Use ix86_comparison_operator. |
| (setcc_3, jcc_3, miv?icc_c): Remove. |
| |
| 2000-09-15 Will Cohen <wcohen@redhat.com> |
| |
| * dwarf2out.c (add_const_value_attribute): Changed array into a |
| xmalloced object, so it exists after function exit. |
| (free_AT): Added case for dw_val_class_float to free allocated |
| memory. |
| |
| 2000-09-15 Kazu Hirata <kazu@hxi.com> |
| |
| * config/i386/i386.md: Fix a comment typo. |
| * gcc.c: Fix formatting. |
| |
| 2000-09-15 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * optabs.c (emit_libcall_block): If target is a user variable, |
| copy to a temporary first. |
| * expr.c (convert_move): When generating a libcall, make a libcall |
| block. |
| * calls.c (emit_library_call_value_1): Don't create a libcall |
| sequence here; our caller will in most cases do it. |
| |
| * sh.h (SECONDARY_INPUT_RELOAD_CLASS): Handle moving T, MACL or |
| MACH into FPUL. |
| (SECONDARY_OUTPUT_RELOAD_CLASS): Similar case. |
| * sh.md (reload_outsf): Generate recognizable patterns for |
| TARGET_SH3E. |
| (floatsisf2, floatsisf2_ie, floatsisf2_i4, fix_truncsfsi2, |
| fix_truncsfsi2_i4, fixsfsi, floatsidf2, floatsidf2_i, fix_truncdfsi2, |
| fix_truncdfsi2_i, extendsfdf2, extendsfdf2_i4, truncdfsf2, |
| truncdfsf2_i4): Change not to use explicit references to fpul. |
| (floatsisf2_ie): Remove USE of fpscr. |
| (floatsisf2): Change default expansion to match this. |
| (fix_truncsfsi2_i4_2, fix_truncdfsi2_i4 & splitters): Comment out |
| unused patterns. |
| |
| 2000-09-15 Richard Henderson <rth@cygnus.com> |
| |
| * expmed.c (store_bit_field): Consider naturally aligned |
| memory for direct reference. |
| |
| 2000-09-15 Richard Henderson <rth@cygnus.com> |
| |
| * config/alpha/alpha.c (alpha_expand_unaligned_load): Force all |
| AND addresses into alias set 0. |
| (alpha_expand_unaligned_store): Likewise. |
| (alpha_expand_unaligned_load_words): Likewise. |
| (alpha_expand_unaligned_store_words): Likewise. |
| |
| 2000-09-15 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * config/sh/sh.h (CPP_SPEC): For -m4-nofpu, define __SH4_NOFPU__. |
| * config/sh/lib1funcs.asm (movstr_i4): Also compile if __SH4_NOFPU__ |
| is defined. |
| * config/mips/mips.c (mips_va_arg): Args passed by reference have a |
| rsize of UNITS_PER_WORD. |
| |
| Fri 15-Sep-2000 06:49:07 BST Neil Booth <NeilB@earthling.net> |
| |
| * cpplex.c (ON_REST_ARG): Correct the test. |
| (maybe_paste_with_next): Duplicate a token that fail pasting, |
| and clear its PASTE_LEFT flag, so that nested pasting attempts |
| do not occur. |
| |
| 2000-09-14 Richard Henderson <rth@cygnus.com> |
| |
| * calls.c (precompute_register_parameters): Use COSTS_N_INSNS, not 2. |
| * cse.c (rtx_cost): Likewise. |
| * optabls.c (expand_binop): Likewise. |
| (expand_twoval_binop, prepare_cmp_insn): Likewise. |
| * regclass.c (copy_cost): Likewise. |
| * reload1.c (reload_cse_move2add): Likewise. |
| |
| 2000-09-14 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-parse.in (reswords): Add _Complex. |
| |
| 2000-09-14 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * gcc.1: Delete documentation for -undef preprocessor option. |
| |
| 2000-09-14 Alexandre Oliva <aoliva@redhat.com> |
| |
| * config/sh/sh.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, |
| STARTFILE_SPEC, ENDFILE_SPEC): Remove define. |
| * config/sh/elf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): |
| Remove undefine before config/elfos.h. |
| * config/sh/t-sh (EXTRA_MULTILIB_PARTS): Comment out. |
| |
| 2000-09-14 Kazu Hirata <kazu@hxi.com> |
| |
| * invoke.texi (H8/300 Options): Add -ms2600. |
| * config/h8300.c (h8300_init_once): Output an error when -ms2600 |
| is used without -ms. |
| * config/h8300.h (TARGET_MAC): New. |
| (TARGET_SWITCHES): Add -ms2600 and -mno-s2600. |
| (CONDITIONA_REGISTER_USAGE): Disable the mac register on any |
| machine other than H8S/2600. |
| * config/h8300.md: Accept mac instructions on the H8S/2600 instead |
| of the H8S/2000. |
| |
| 2000-09-14 Alexandre Oliva <aoliva@redhat.com>, Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * reload.c (find_reloads_address_1): Generate reloads for auto_inc |
| pseudos that refer to the original pseudos, not only to their |
| equivalent memory locations. |
| |
| Thu Sep 14 12:10:16 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * expr.c (expand_expr, case COMPONENT_EXPR): Copy memory attributes |
| when making new MEM. |
| |
| * Makefile.in (LN): Remove duplicate definition. |
| |
| 2000-09-12 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| From Joern Rennecke: |
| * local-alloc.c (update_equiv_regs): If there is no REG_EQUAL note |
| on an insn and function_invariant_p returns nonzero for the source, |
| add a REG_EQUAL note. |
| |
| Thu Sep 14 00:51:57 EDT 2000 John Wehle (john@feith.com) |
| |
| * alias.c (memrefs_conflict_p): An ADDRESSOF doesn't |
| conflict with frame_pointer_rtx. |
| |
| 2000-09-13 Kazu Hirata <kazu@hxi.com> |
| |
| * loop.c: Fix formatting. |
| * loop.h: Likewise. |
| |
| 2000-09-13 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64.md (divsf3): New. |
| (divsf3_internal_lat, divsf3_internal_thr): New. |
| (divdf3, divdf3_internal_lat, divdf3_internal_thr): New. |
| (divtf3, divtf3_internal_lat, divtf3_internal_thr): New. |
| (adddf3_trunc, subdf3_trunc, muldf3_trunc): New. |
| (madddf4_trunc, msubdf4_trunc, nmuldf3_trunc): New. |
| (nmadddf4_alts, nmadddf4_trunc): New. |
| (addtf3_truncsf, addtf3_truncdf, subtf3_truncsf): New. |
| (subtf3_truncdf, multf3_truncsf, multf3_truncdf): New. |
| (multf3_truncsf_alts, multf3_truncdf_alts): New. |
| (maddtf4_truncsf, maddtf4_truncdf, maddtf4_alts_truncdf): New. |
| (msubtf4_truncsf, msubtf4_truncdf, nmultf3_truncsf): New. |
| (nmultf3_truncdf, nmaddtf4_truncsf, nmaddtf4_truncdf): New. |
| (nmaddtf4_truncdf_alts): New. |
| (recip_approx): Don't predicate. |
| |
| 2000-09-13 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/lib1funcs.asm (__divsf3): Protect fnorm.s with p6. |
| |
| 2000-09-13 Stephane Carrez <Stephane.Carrez@worldnet.fr> |
| |
| * flags.h (flag_dump_rtl_in_asm): Declare. |
| * toplev.c (flag_dump_rtl_in_asm): Define. |
| (decode_d_option): Set flag_dump_rtl_in_asm and flag_print_asm_name |
| if -dP is specified. |
| * rtl.h (print_rtx_head): Declare. |
| * print-rtl.c (print_rtx_head): Define. |
| (print_rtx): Print the string pointed to by print_rtx_head |
| at beginning of each dump line. |
| (print_rtl): Likewise. |
| (print_rtl_single): Likewise. |
| * final.c (final_scan_insn): Dump the insn in the assembly |
| file for debugging. |
| * gcc.1: Document -dP option. |
| * invoke.texi (Debugging Options): Likewise. |
| |
| 2000-09-13 Stephane Carrez <Stephane.Carrez@worldnet.fr> |
| |
| * md.texi (Machine Constraints): Document the 68HC11 constraints. |
| * install.texi (Configurations): Document the 68HC11&68HC12 port. |
| * invoke.texi (Option Summary, M68hc1x Options): Document the options. |
| |
| Tue Sep 12 13:51:13 2000 Denis Chertykov <denisc@overta.ru> |
| |
| * config/avr/avr.h (ASSEMBLER_DIALECT): New macro declared. |
| * config/avr/avr.md (*movstrqi_insn): Cleanup output template. |
| (*clrstrqi): Likewise. |
| (xorhi3,xorsi3,absqi2): Likewise. |
| (one_cmplhi2,one_cmplsi2): Likewise. |
| (addsi3): Two stupid constraint alternatives removed. |
| (extendhisi2): Use `movw' for enhanced avr cores. |
| (zero_extendhisi2): Likewise. |
| |
| Wed Sep 13 02:31:23 EDT 2000 John Wehle (john@feith.com) |
| |
| * alias.c (find_base_term): Use frame_pointer_rtx |
| when handling an ADDRESSOF. |
| |
| * cse.c (canon_hash): Handle USE of BLKmode memory. |
| (cse_insn): Outgoing arguments for a libcall don't |
| affect any recorded expressions. |
| |
| 2000-09-12 Tom Tromey <tromey@cygnus.com> |
| |
| * configure, config.in: Rebuilt. |
| * configure.in: Check for iconv, nl_langinfo, langinfo.h. |
| |
| 2000-09-12 Jakub Jelinek <jakub@redhat.com> |
| |
| * c-lex.c (lex_string): Use charwidth to compute bytemask. |
| * expr.c (expand_expr): Don't optimize constant array references |
| initialized with wide string constants. |
| |
| 2000-09-13 Michael Hayes <mhayes@cygnus.com> |
| |
| * loop.c (note_set_pseudo_multiple_uses): Correct. |
| |
| 2000-09-12 Jim Wilson <wilson@cygnus.com> |
| |
| * ifcvt.c (noce_process_if_block): If A and B are the same, and no |
| else block, and X has side-effects, then fail. |
| |
| 2000-09-12 Greg McGary <greg@mcgary.org> |
| |
| * config/mips/mips-protos.h |
| (trap_cmp_op, mips_gen_conditional_trap): New func decls. |
| * config/mips/mips.h (ISA_HAS_COND_TRAP): New macro. |
| (PREDICATE_CODES): Add "trap_cmp_op". |
| * config/mips/mips.c |
| (trap_cmp_op, mips_gen_conditional_trap): New functions. |
| * config/mips/mips.md (trap, conditional_trap): New patterns. |
| |
| 2000-09-12 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * flow.c (try_pre_increment_1): Don't do anything to sets of the stack |
| pointer. |
| |
| 2000-09-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * builtins.c (built_in_decls): New array. |
| (expand_builtin_fputs): New function. |
| (expand_builtin): Handle BUILT_IN_FPUTC and BUILT_IN_FPUTS. |
| |
| * builtins.def (BUILT_IN_FPUTC, BUILT_IN_FPUTS): New members. |
| |
| * c-common.c (c_common_nodes_and_builtins): Handle fputc/fputs. |
| |
| * tree.h (built_in_decls): New array. |
| |
| Tue Sep 12 08:53:57 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * convex.md: Use "+" instead of "=" for outputs wrapped in a |
| STRICT_LOW_PART. |
| * i370.md, i386.md, ns32k.md, sh.md, vax.md: Likewise. |
| |
| 2000-09-12 Kazu Hirata <kazu@hxi.com> |
| |
| * haifa-sched.c: Fix formatting. |
| |
| * genattrtab.c: Fix formatting. |
| |
| * unroll.c: Fix formatting. |
| |
| 2000-09-12 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/fixfixes.c: make a type for the fix procedure & use it, |
| remove obsolete code |
| * fixinc/fixincl.c: Use PARAMS, not _P_. Add no-op default to switch. |
| * fixinc/fixincl.tpl: make non-exported arrays static scope |
| * fixinc/fixincl.x: regenerate |
| * fixinc/fixlib.h: Use PARAMS, not _P_ |
| * fixinc/fixtests.c: make a type for the test proc & use it |
| * fixinc/server.h: Use PARAMS, not _P_ |
| |
| 2000-09-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * c-typeck.c (process_init_element): Avoid union init warnings on |
| floating point zero. Don't crash on unions containing structs. |
| |
| 2000-09-12 Alexandre Oliva <aoliva@redhat.com> |
| |
| * config/sh/sh.h (PREDICATE_CODES): Add CONST_DOUBLE to |
| general_movsrc_operand, and remove CONST_INT from |
| general_movdst_operand. |
| |
| 2000-09-12 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * cse.c (approx_reg_cost): If SMALL_REGISTER_CLASSES, return INT_MAX |
| if a reference to non-fixed hardreg is seen. Otherwise, count hard |
| regs with a higher cost. |
| (preferrable): Deal with cases where either cost or regcost is |
| MAX_COST. |
| (cse_insn): Use MAX_COST rather than 10000. Always initialize |
| regcost values. |
| (COSTS_N_INSNS): Move definition... |
| * rtl.h: ...here. |
| (MAX_COST): New macro. |
| * loop.c (init_loop): Use COSTS_N_INSNS macro instead of hardcoded |
| constant. |
| |
| 2000-09-11 Mark Mitchell <mark@codesourcery.com> |
| |
| * c-common.h (genrtl_clear_out_block): Remove. |
| * c-semantics.c (genrtl_clear_out_block): Remove. |
| (genrtl_while_stmt): Don't call it. |
| (genrtl_for_stmt): Likewise. |
| |
| 2000-09-11 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppfiles.c: Move all default-#defines to top of file. |
| (open_include_file): Replace by lookup_include_file. |
| (read_with_read, read_file): Merged into read_include_file. |
| (stack_include_file, purge_cache): New functions. |
| (close_cached_fd): Delete. |
| (lookup_include_file, read_include_file, _cpp_pop_file_buffer): |
| Cache the in-memory buffer, not the file descriptor. |
| |
| * cpphash.h (struct include_file): Add buffer, st, refcnt, |
| mapped fields. |
| (xcnew): New utility macro. |
| (DO_NOT_REREAD, NEVER_REREAD): Move up by struct include_file. |
| * cpplib.h (struct cpp_buffer): Remove mapped field. |
| |
| 2000-09-11 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplex.c (parse_string): Accept backslash space newline as a |
| line continuation. |
| (lex_line): Likewise. |
| (_cpp_get_token): Remove hard limit on macro nesting. |
| |
| 2000-09-12 Philipp Thomas <pthomas@suse.de> |
| |
| * aclocal.m4 (AM_WITH_NLS): Don't force use of included gettext. |
| * configure: Rebuilt. |
| |
| 2000-09-13 Michael Hayes <mhayes@cygnus.com> |
| |
| * flow.c (split_block): Fix update of registers live at |
| end of split block. |
| |
| Tue Sep 12 01:51:38 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * i386.md (add?i_3, add?i_5): New. |
| (add?i_4): Rename from add?i_3; Fix compare pattern. |
| (sub?i_3, xor?i_3, ior?i_3): New. |
| |
| * genrecog.c (write_tree): Output code to clear insn_extract cache. |
| * genattrtab.c (write_attr_case): Gen call to extract_insn_cache |
| instead of extract_insn and extract_constrain_insn_cache instead of |
| extract_insn and constrain_operands. |
| * recog.c (extract_insn_cached, extract_constrain_insn_cached): |
| New functions. |
| (extract_insn): Clear which_alternative. |
| (constrain_operands): Set which_alternative to -1 when failed. |
| * recog.h (extract_constrain_insn_cached, extract_insn_cached): |
| Declare. |
| |
| 2000-09-11 Matthew Hiller <hiller@redhat.com> |
| |
| * config/h8300/h8300.md (movstrictqi): Changed constraint modifier |
| on operand 0 to '+'. |
| (movstricthi): Likewise. |
| |
| 2000-09-12 Michael Hayes <mhayes@cygnus.com> |
| |
| * loop.h (LOOP_IVS): New macro. |
| (REG_IV_TYPE, REG_IV_INFO): Add ivs argument. |
| (struct loop_ivs): New. |
| (struct loop_info): Add ivs field. |
| (reg_iv_type, reg_iv_info): Delete prototype. |
| (reg_biv_class, loop_iv_list): Likewise. |
| * loop.c (record_biv, find_life_end): Pass loop argument. |
| (reg_iv_type): Remove global array and use |
| field in loop_regs structure within loop_ivs structure. |
| (reg_iv_info, reg_biv_class, loop_iv_list): Likewise. |
| (first_increment_giv, last_increment_giv): Use entry in |
| loop_ivs structure. |
| (record_initial): Pass ivs pointer. |
| * unroll.c (copy_loop_body, remap_split_bivs): Add loop argument. |
| |
| 2000-09-12 Michael Hayes <mhayes@cygnus.com> |
| |
| * loop.h (LOOP_REGS): New macro. |
| (struct loop_regs): New. |
| (struct loop_info): Add regs field. |
| * loop.c (set_in_loop): Remove global array and store |
| in loop_regs structure as part of loop_info structure. |
| (n_times_set, may_not_optimize): Likewise. |
| (reg_single_usage, moved_once): Likewise. |
| (count_one_set): Add regs argument. |
| (combine_movables, rtx_equal_for_loop_p, combine_givs): Likewise. |
| (set_pseudo_multiple_uses): Pass regs pointer. |
| |
| 2000-09-12 Michael Hayes <mhayes@cygnus.com> |
| |
| * unroll.c (iteration_info): Subsume into loop_iterations. |
| * loop.h (loop_info): New field iv. |
| |
| 2000-09-12 Michael Hayes <mhayes@cygnus.com> |
| |
| * basic-block.h (LOOP_TREE, LOOP_PRE_HEADER, LOOP_EDGES): New. |
| (LOOP_EXITS_DOMS, LOOP_ALL): Likewise. |
| (flow_loops_update): New prototype. |
| (flow_loops_find): Add flags to prototype. |
| (struct loop): Add `pre_header_root' and `pre_header_trace' fields. |
| * flow.c (flow_loop_pre_header_scan): New. |
| (flow_loop_dump): Dump pre-header root and trace and exit dominators. |
| (flow_loop_free): Free pre-header root and trace and exit dominators. |
| (flow_loops_find): New argument flags. |
| (flow_loops_update): New function. |
| * toplev.c (rest_of_compilation): Add flag argument to flow_loops_find. |
| |
| 2000-09-12 Michael Hayes <mhayes@cygnus.com> |
| |
| * basic-block.h (split_block, update_bb_for_insn): New prototypes. |
| * flow.c (split_block, update_bb_for_insn): New functions. |
| |
| 2000-09-11 Richard Henderson <rth@cygnus.com> |
| |
| * cse.c (fold_rtx): Honor NO_FUNCTION_CSE. |
| |
| 2000-09-11 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64-protos.h (fr_nonimmediate_operand): Declare. |
| * config/ia64/ia64.c (fr_nonimmediate_operand): New. |
| (ia64_override_options): Prevent optimizing division for both |
| latency and throughput. |
| (rtx_needs_barrier): Handle frcpa. |
| * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): New. |
| (MASK_INLINE_DIV_THR, TARGET_INLINE_DIV_LAT): New. |
| (TARGET_INLINE_DIV_THR, TARGET_INLINE_DIV): New. |
| (TARGET_SWITCHES): Add -minline-divide-min-latency and |
| -minline-divide-max-throughput. |
| (PREDICATE_CODES): Update. |
| * config/ia64/ia64.md (extendsidi2): Remove * from f case. |
| (zero_extendsidi2): Likewise. Fix typo in f case insn. |
| (extendsfdf2): Add cases for gr<->fr and fr<->mem. |
| (extendsftf2): Likewise. |
| (extenddftf2): Likewise. |
| (fix_trunctfdi2_alts): New. |
| (fixuns_trunctfdi2_alts): New. |
| (madd*4): Rename from madd*3. |
| (divsi3, modsi3, udivsi3, umodsi3): New. |
| (divsi3_internal): New. |
| (divdi3, moddi3, udivdi3, umoddi3): New. |
| (divdi3_internal_lat, divdi3_internal_thr): New. |
| (multf3_alts, maddtf4_alts, nmaddtf4_alts): New. |
| (recip_approx): New. |
| |
| 2000-09-11 Alexandre Oliva <aoliva@redhat.com> |
| |
| * print-rtl.c (debug_call_placeholder_verbose): New variable. |
| (print_rtx) [CALL_PLACEHOLDER]: Dump all call sequences if it is |
| set. |
| * integrate.c (copy_rtx_and_substitute): Don't share |
| LEAF_REG_REMAPpable registers with the inlined function. Don't |
| share the function value with calling sequences. |
| |
| 2000-09-11 Jakub Jelinek <jakub@redhat.com> |
| |
| * c-decl.c (do_case): Fix a typo. |
| |
| * combine.c (simplify_if_then_else): Don't convert a == b ? b : a |
| to a if the comparison is floating mode and not -ffast-math. |
| * simplify-rtx.c (simplify_ternary_operation): Likewise. |
| |
| Mon Sep 11 20:07:48 2000 J"orn Rennecke <amylaar@redhat.co.uk> |
| |
| * sh.h (INITIALIZE_TRAMPOLINE): Remove stray call to |
| gen_ic_invalidate_line. |
| |
| 2000-09-11 Philip Blundell <pb@futuretv.com> |
| |
| * config/arm/elf.h (SUBTARGET_CPP_SPEC): Don't define `arm_elf'. |
| |
| Mon Sep 11 10:48:41 2000 Ulrich Drepper <drepper@redhat.com> |
| |
| * install.texi (LANGUAGES): Update to include new languages. |
| * INSTALL: Rebuilt. |
| |
| 2000-09-11 DJ Delorie <dj@redhat.com> |
| |
| * gcc.c (main): Don't warn about unused -B prefixes |
| (unused_prefix_warnings): remove |
| |
| 2000-09-11 Kazu Hirata <kazu@hxi.com> |
| |
| * final.c: Fix formatting. |
| |
| * integrate.c: Fix formatting. |
| |
| 2000-09-11 Geoff Keating <geoffk@cygnus.com> |
| |
| * alias.c (memrefs_conflict_p): An ADDRESSOF does conflict, sorry. |
| |
| 2000-09-11 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * reload.c (regno_clobbered_p): Fix thinko in previous change. |
| |
| 2000-09-10 Stephane Carrez <Stephane.Carrez@worldnet.fr> |
| |
| * gcc.1: Document 68hc11 specific options. |
| |
| 2000-09-10 Geoff Keating <geoffk@cygnus.com> |
| |
| * config/rs6000/sysv4.h (MASK_LONG_DOUBLE_128): Define. |
| (TARGET_LONG_DOUBLE_128): Define. |
| (SUBTARGET_SWITCHES): Add -mlong-double-64 and -mlong-double-128. |
| (LONG_DOUBLE_TYPE_SIZE): Redefine. |
| (MAX_LONG_DOUBLE_TYPE_SIZE): Define. |
| (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define depending on definition |
| of __LONG_DOUBLE_128__. |
| (CPP_SYSV_SPEC): Define __LONG_DOUBLE_128__ if -mlong-double-128 |
| passed. |
| (CPP_LONGDOUBLE_DEFAULT_SPEC): Define. |
| (CPP_SYSV_DEFAULT_SPEC): Define. |
| (SUBTARGET_EXTRA_SPECS): Add cpp_longdouble_default. |
| (INIT_TARGET_OPTABS): Define. |
| |
| * config/rs6000/aix.h (RS6000_ITRUNC): Moved from rs6000.h. |
| (RS6000_UITRUNC): Likewise. |
| (INIT_TARGET_OPTABS): New macro. |
| * config/rs6000/rs6000.c (rs6000_trunc_used): Delete. |
| (trunc_defined): Delete. |
| (output_prolog): Don't output .extern definitions for fp->int |
| conversion routines, ASM_OUTPUT_EXTERNAL_LIBCALL will do it. |
| * config/rs6000/rs6000.h (rs6000_trunc_used): Delete. |
| (trunc_defined): Delete. |
| (RS6000_ITRUNC): Moved to aix.h. |
| (RS6000_UITRUNC): Likewise. |
| * config/rs6000/rs6000.md (fix_truncdfsi2): Fail if it would |
| only emit a libcall. |
| (fixuns_truncdfsi2): Delete. |
| (trunc_call): Delete. |
| (trunc_call_rtl): Delete. |
| |
| 2000-09-10 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * varasm.c (make_decl_rtl): Restore leading star on |
| DECL_ASSEMBLER_NAME set for decls with an asmspec. |
| |
| 2000-09-10 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * c-pragma.c (handle_pragma_pack): Correct parsing logic so it |
| won't give a spurious error for '#pragma pack()'. Simplify |
| control flow for readability. 'reset' action is not necessary. |
| |
| 2000-09-10 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * defaults.h: Provide default definitions for: CHAR_TYPE_SIZE, |
| SHORT_TYPE_SIZE, INT_TYPE_SIZE, LONG_TYPE_SIZE, |
| LONG_LONG_TYPE_SIZE, WCHAR_TYPE_SIZE, FLOAT_TYPE_SIZE, |
| DOUBLE_TYPE_SIZE, LONG_DOUBLE_TYPE_SIZE, and WCHAR_UNSIGNED. |
| |
| * cppexp.c, dwarfout.c, dwarf2out.c, emit-rtl.c, final.c, optabs.c, |
| profile.c, sdbout.c, tradcif.y, tree.c: |
| Include defaults.h if not already included. |
| Don't define the above macros. |
| |
| * Makefile.in: Update dependencies. |
| |
| 2000-09-10 Mark Mitchell <mark@codesourcery.com> |
| |
| * c-common.h (add_stmt): Change prototype. |
| (RECHAIN_STMTS): New macro. |
| (CASE_LABEL_DECL): Likewise. |
| (genrtl_case_label): Change prototype. |
| (c_expand_start_case): Remove prototype. |
| (build_case_label): Change prototype. |
| (decl_constant_value): Declare. |
| * c-common.c (check_case_value): Handle C++'s extensions to C |
| semantics. |
| * c-commnon.def (CASE_LABEL): Add room for the CASE_LABEL_DECL |
| field. |
| * c-parse.in (stmt): Adjust handling of return statements and case |
| laels. |
| * c-semantics.c (add_stmt): Return the new statement. |
| (genrtl_return_stmt): Take the RETURN_STMT as input, not the |
| returned expression. Directly generate RTL, rather than calling |
| c_expand_return. |
| (genrtl_switch_stmt): Don't call c_expand_start_case. |
| (build_case_label): Take the LABEL_DECL as input, too. |
| (genrtl_case_label): Just call add_case_node. |
| (expand_stmt): Adjust calls to genrtl_return_stmt and |
| genrtl_case_label. |
| * c-tree.h (c_expand_start_case): Declare. |
| * c-typeck.c (decl_constant_value): Give it external linkage. |
| (c_expand_return): Don't call expand_return or expand_null_return; |
| use genrtl_return_stmt instead. |
| * stmt.c (struct nesting): Remove num_ranges field. |
| (add_case_node): Give it external linkage. |
| (expand_start_case): Don't set num_ranges. |
| (expand_start_case_dummy): Don't clear it. |
| (pushcase): Rely on add_case_node to handle `default' labels. |
| (add_case_node): Handle `default' labels. |
| * tree.c (tree_int_cst_compare): New function. |
| * tree.h (tree_int_cst_compare): Declare. |
| (add_case_node): Likewise. |
| |
| 2000-09-10 Richard Henderson <rth@cygnus.com> |
| |
| * c-parse.in: Revert last change. |
| (init_reswords): Do not enter disabled keywords into the ridpointers |
| table, modulo objc weirdness. |
| (_yylex): Return the canonical spelling for a keyword. |
| |
| 2000-09-10 Philip Blundell <philb@gnu.org> |
| |
| * config/arm/arm.h (CPP_ISA_SPEC): Don't define `arm' or `thumb'. |
| * config/arm/linux-elf.h (CPP_PREDEFINES): Don't define `__arm__'. |
| |
| Sun Sep 10 14:30:28 EDT 2000 John Wehle (john@feith.com) |
| |
| * alias.c (find_base_term): Handle ADDRESSOF. |
| (memrefs_conflict_p): An ADDRESSOF doesn't conflict. |
| |
| 2000-09-10 Denis Chertykov <denisc@overta.ru> |
| |
| * genoutput.c (output_insn_data): Translate <NEWLINE> to \n\ while |
| outputting templates with many lines. |
| |
| 2000-09-10 Stephane Carrez <Stephane.Carrez@worldnet.fr> |
| |
| * libgcc2.h: Use LONG_LONG_TYPE_SIZE instead of MIN_UNITS_PER_WORD |
| to decide whether 64-bit support must be generated. |
| |
| 2000-09-10 Richard Henderson <rth@cygnus.com> |
| |
| * c-parse.in (asm patterns): Fix volatile check. |
| |
| 2000-09-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * cppmacro.c (check_trad_stringification): New function. |
| (save_expansion): If -Wtraditional, warn about stringification of |
| macro arguments. |
| |
| 2000-09-11 Michael Hayes <mhayes@cygnus.com> |
| |
| * loop.h (struct loop_mem_info): Move from loop.c |
| (struct loop_info): Add fields store_mems, mems, mems_idx, |
| mems_allocated, unknown_address_altered, |
| unknown_constant_address_altered, num_mem_sets, and |
| first_loop_store_insn. |
| |
| * loop.c (loop_store_mems): Replace with field in loop_info struct. |
| (loop_mems, loop_mems_idx, loop_mems_allocated): Likewise. |
| (unknown_address_altered, unknown_constant_address_altered): Likewise. |
| (num_mem_sets): Likewise. |
| (replace_loop_mems, replace_loop_regs): New. |
| (struct loop_replace_args): New. |
| (load_mems): Use replace_loop_mems. |
| (try_copy_prop): Use replace_loop_regs. |
| (replace_loop_reg, replace_loop_mem): Use loop_replace_args structure. |
| |
| 2000-09-09 Stephane Carrez <Stephane.Carrez@worldnet.fr> |
| |
| * configure.in: Recognize m6811-elf and m6812-elf. |
| * configure: Regenerate. |
| |
| 2000-09-09 Geoff Keating <geoffk@cygnus.com> |
| |
| * recog.c (validate_replace_rtx_1): Correct MODE parameter in call |
| to operand_subword. |
| |
| 2000-09-10 Michael Hayes <mhayes@cygnus.com> |
| |
| * loop.c (struct movables): New. |
| (num_movables): Move into struct movables. |
| (the_movables): Change type to struct movables. |
| (ignore_some_movables): Change struct movable arg to struct movables. |
| (force_movables, combine_movables, regs_match_p): Likewise. |
| (rtx_equal_for_loop_p, move_movables): Likewise. |
| (scan_loop): Change movables to be of type struct movables. |
| Replace last_movable with field in movables structure. |
| |
| 2000-09-08 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * c-pragma.c: Don't elide entire file if !HANDLE_GENERIC_PRAGMAS. |
| (init_pragma): Avoid warning if pfile happens to be unused. |
| * c-pragma.h: Never define HANDLE_GENERIC_PRAGMAS. Never |
| define init_pragma to nothing. Always prototype |
| init_pragma. Prototype dispatch_pragma if !USE_CPPLIB. |
| |
| * c-lex.c (process_directive): Always call dispatch_pragma. |
| Initialize entering_c_header to 0. |
| |
| 2000-09-08 Stephane Carrez <Stephane.Carrez@worldnet.fr> |
| |
| * config/m68hc11/m68hc11.md: New file, machine description for |
| 68HC11 & 68HC12. |
| * config/m68hc11/m68hc11.h: New file, definitions for 68HC11 & 68HC12. |
| * config/m68hc11/m68hc11.c: New file, functions for 68HC11 & 68HC12. |
| * config/m68hc11/m68hc12.h: New file, definitions for 68HC12. |
| * config/m68hc11/m68hc11-protos.h: New file. |
| * config/m68hc11/m68hc11-crt0.S: New file, startup code. |
| * config/m68hc11/t-m68hc11-gas: New file, makefile fragment. |
| * config/m68hc11/xm-m68hc11.h: New file, target defs. |
| * config/m68hc11/larith.asm: New file, libgcc routines. |
| |
| 2000-09-08 Stephane Carrez <Stephane.Carrez@worldnet.fr> |
| |
| * Makefile.in (DPBIT_FUNCS): Add _usi_to_df. |
| (FPBIT_FUNCS): Add _usi_to_sf. |
| * config/fp-bit.c (usi_to_float): New function. |
| * config/fp-bit.h (L_usi_to_sf, L_usi_to_df): Define. |
| (usi_to_float): Add appropriate #define. |
| |
| 2000-09-08 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * i386-protos.h (sse_comparison_operator, mmx_reg_operand): Declare |
| new functions. |
| * i386.c (sse_comparison_operator, mmx_reg_operand): New functions. |
| * i386.md (attr "type"): Add sse and mmx types. |
| (attr "memory"): Handle them without a crash. |
| (movsi_1, movdi_2): Allow MMX regs. |
| (movdi splits): Don't split moves involving MMX regs. |
| (setcc_4): Remove '*' from pattern name so we get a gen_setcc4. |
| (movv4sf_internal, movv4si_internal, movv8qi_internal, |
| movv4hi_internal, movv2si_internal, movv8qi, movv4hi, movv2si, |
| movv4sf, movv4si, pushv4sf, pushv4si, pushv8qi, pushv4hi, pushv2si, |
| sse_movaps, sse_movups, sse_movmskps, mmx_pmovmskb, mmx_maskmovq, |
| sse_movntv4sf, sse_movntdi, sse_movhlps, sse_movlhps, sse_movhps, |
| sse_movlps, sse_loadss, sse_movss, sse_storess, sse_shufps, |
| addv4sf3, vmaddv4sf3, subv4sf3, vmsubv4sf3, mulv4sf3, vmmulv4sf3, |
| divv4sf3, vmdivv4sf3, rcpv4sf2, vmrcpv4sf2, rsqrtv4sf2, vmrsqrtv4sf2, |
| sqrtv4sf2, vmsqrtv4sf2, sse_andti3, sse_nandti3, sse_iorti3, |
| sse_xorti3, maskcmpv4sf3, maskncmpv4sf3, vmmaskcmpv4sf3, |
| vmmaskncmpv4sf3, sse_comi, sse_ucomi, sse_unpckhps, sse_unpcklps, |
| smaxv4sf3, vmsmaxv4sf3, sminv4sf3, vmsminv4sf3, cvtpi2ps, cvtps2pi, |
| cvttps2pi, cvtsi2ss, cvtss2si, cvttss2si, addv8qi3, addv4hi3, |
| addv2si3, ssaddv8qi3, ssaddv4hi3, usaddv8qi3, usaddv4hi3, subv8qi3, |
| subv4hi3, subv2si3, sssubv8qi3, sssubv4hi3, ussubv8qi3, ussubv4hi3, |
| mulv4hi3, smulv4hi3_highpart, umulv4hi3_highpart, mmx_pmaddwd, |
| mmx_iordi3, mmx_xordi3, mmx_anddi3, mmx_nanddi3, mmx_uavgv8qi3, |
| mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw, mmx_pshufw, |
| eqv8qi3, eqv4hi3, eqv2si3, gtv8qi3, gtv4hi3, gtv2si3, umaxv8qi3, |
| smaxv4hi3, uminv8qi3, sminv4hi3, ashrv4hi3, ashrv2si3, lshrv4hi3, |
| lshrv2si3, mmx_lshrdi3, ashlv4hi3, ashlv2si3, mmx_ashldi3, |
| mmx_packsswb, mmx_packssdw, mmx_packuswb, mmx_punpckhbw, |
| mmx_punpckhwd, mmx_punpckhdq, mmx_punpcklbw, mmx_punpcklwd, |
| mmx_punpckldq, emms, sfence, ldmxcsr, prefetch, stmxcsr, sse_clrti, |
| mmx_clrdi): New patterns. |
| |
| 2000-09-08 Richard Earnshaw <rearnsha@arm.com> |
| |
| * arm.c: Don't include tm.h directly. |
| |
| Fri Sep 8 14:34:56 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * recog.c (validate_replace_rtx_1): Fix confusion about equality |
| testing; simplify subregs of constants and nested subregs. |
| |
| 2000-09-08 Alexandre Oliva <aoliva@redhat.com> |
| |
| * config/sh/sh.md (symPLT_label2reg): Use operand3 for PIC reg. |
| |
| 2000-09-08 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * combine.c (combine_simplify_rtx): Try to simplify VEC_SELECT of a |
| VEC_CONCAT. |
| * rtl.texi (description of USE): Add note about possible pitfalls |
| with this rtx. |
| From Richard Henderson: |
| * reload1.c (choose_reload_regs): Compute need_mode properly. |
| |
| 2000-09-07 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/lib1funcs.asm (__divsi3): Use .s1 for frcpa. |
| (__modsi3, __umodsi3): Likewise. |
| (__udivsi3): Likewise. Normalize the TFmode values. |
| |
| 2000-09-07 Geoff Keating <geoffk@cygnus.com> |
| |
| * config/rs6000/sol-c0.c (_start): Declare `termfunc' parameter |
| with a prototype. |
| * config/rs6000/rs6000.h (RS6000_ARG_SIZE): Use cast to suppress |
| warning. |
| |
| Fri Sep 8 03:26:38 2000 J"orn Rennecke <amylaar@redhat.co.uk> |
| |
| * sh.md (cmpeqsi_ior_t, cmpeqsi_and_t): Remove. |
| (cmpeqdi_t): Add output pattern. |
| (cmpeqdi_t+1): Don't split when not optimizing. |
| Restore proper splitting operation. |
| |
| 2000-09-07 Richard Henderson <rth@cygnus.com> |
| |
| * c-lex.c (process_directive): If not HANDLE_GENERIC_PRAGMAS, |
| do not call dispatch_pragma. |
| |
| 2000-09-07 Jim Wilson <wilson@cygnus.com> |
| |
| * reload.c (push_reload): Use CLASS_CANNOT_CHANGE_MODE_P in addition |
| to CLASS_CANNOT_CHANGE_MODE. |
| * config/ia64/ia64.h (CLASS_CANNOT_CHANGE_MODE_P): True only if the |
| mode classes are different. |
| |
| 2000-09-07 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplib.h (struct cpp_options): Add user_label_prefix member, |
| left out of commit which removed cppulp.c. |
| |
| 2000-09-07 Richard Henderson <rth@cygnus.com> |
| |
| * bb-reorder.c (fixup_reorder_chain): Add jump in new block |
| after switch for CASE_DROPS_THROUGH. |
| |
| 2000-09-07 Richard Henderson <rth@cygnus.com> |
| |
| * loop.c (strength_reduce): Call check_ext_dependant_givs. |
| Properly extend the biv initial value for the giv. |
| (record_biv): Zero ext_dependant. |
| (record_giv): New argument ext_val. Update all callers. |
| (general_induction_var): Likewise. |
| (consec_sets_giv): Likewise. |
| (simplify_giv_expr): Likewise. Fill in ext_val if we find |
| a sign-extend, zero-extend, or truncate. |
| (combine_givs_p): Make sure modes are compatible. |
| (check_ext_dependant_givs): New. |
| (extend_value_for_giv): New. |
| * loop.h (struct induction): Add ext_dependant. |
| * unroll.c (iteration_info): Extend the biv initial value for the giv. |
| (find_splittable_givs): Likewise. |
| (final_giv_value): Likewise. |
| |
| 2000-09-07 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * c-pragma.h: Define HANDLE_GENERIC_PRAGMAS if |
| REGISTER_TARGET_PRAGMAS is defined. Duplicate some |
| definitions from cpplib.h. |
| * cpplib.h: Don't typedef struct cpp_reader if c-pragma.h has |
| already done it. |
| * tm.texi: Document HANDLE_PRAGMA as no longer supported. Add |
| documentation for REGISTER_TARGET_PRAGMAS. |
| |
| * c-lex.c: Include cpplib.h before c-pragma.h. Define a |
| default-pragma callback to implement -Wunknown-pragmas if |
| USE_CPPLIB. |
| * c-parse.in: Move all includes to top of file. |
| * c-pragma.c: Include cpplib.h before c-pragma.h. Include |
| tm_p.h. |
| (dispatch_pragma): Put the namespace in the -Wunknown-pragmas |
| warning. |
| (init_pragma): If REGISTER_TARGET_PRAGMAS is defined, call it. |
| |
| * arm.h, arm-protos.h, arm.c, |
| c4x.h, c4x-protos.h, c4x.c, |
| h8300.h, h8300-protos.h, h8300.c, |
| i370.h, i370-protos.h, i370.c, |
| i960.h, i960-protos.h, i960.c, |
| sh.h, sh-protos.h, sh.c, |
| v850.h, v850-protos.h, v850.c: Convert HANDLE_PRAGMA-based |
| pragmata scheme to use REGISTER_TARGET_PRAGMAS instead. |
| |
| * d30v.h: Don't mention HANDLE_PRAGMA in comment. Add |
| multiple include guard. |
| * i370.md (untyped_call): Use GEN_CALL. |
| (umodsi3): Remove unused variable. |
| * sh/elf.h: Don't undef HANDLE_SYSV_PRAGMA. |
| * v850.c (output_move_single, output_move_double): Constify |
| return value. |
| (print_operand): Constify a char *. |
| * v850.h (struct small_memory_info): Constify name member. |
| |
| 2000-09-07 Kazu Hirata <kazu@hxi.com> |
| |
| * config/h8300.h: Fix comment typos. |
| * config/h8300/h8300.md: Likewise. |
| * config/h8300/lib1funcs.asm: Likewise. |
| |
| Thu 07-Sep-2000 21:29:00 BST Neil Booth <NeilB@earthling.net> |
| |
| * Makefile.in: Remove references to cppulp.{c,o}. |
| * cppinit.c (initialize_builtins, cpp_start_read, |
| cpp_handle_option): Update to use cpp_options structure. |
| * cppulp.c: Remove. |
| |
| 2000-09-07 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (time_char_table): Allow %#b and %#h. |
| |
| 2000-09-07 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> |
| |
| * reorg.c (find_end_label): If the basic block reorder pass moves the |
| return insn to some other place try to locate it again and put our |
| end_of_function_label there. |
| * reorg.c (relax_delay_slots): Check if find_end_label created a |
| new label that invalidates the current optimazation. |
| |
| 2000-09-07 Catherine Moore <clm@redhat.com> |
| |
| * unroll.c (unroll_loop): Check for unconditional jumps |
| to loop continuation. Delete if n_iterations is 1. |
| (ujump_to_loop_cont): New routine. |
| |
| 2000-09-07 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * rtl.c (class_narrowest_mode): Add entries for MODE_VECTOR_INT and |
| MODE_VECTOR_FLOAT. |
| * reload.c (regno_clobbered_p): Accept new arg, MODE, and use it |
| to handle multiword modes correctly. All callers and the declaration |
| changed. |
| |
| 2000-09-06 Mark Mitchell <mark@codesourcery.com> |
| |
| * c-common.h (prep_stmt): Declare. |
| (lang_expand_stmt): Likewise. |
| * c-decl.c (lang_expand_stmt): Remove. |
| * c-semantics.c (lang_expand_stmt): Define. |
| (prep_stmt): New function. |
| (expand_stmt): Handle common statement types here. |
| |
| 2000-09-07 Niibe Yutaka <gniibe@m17n.org>, Kaz Kojima <kkojima@rr.iij4u.or.jp>, Alexandre Oliva <aoliva@redhat.com> |
| |
| * configure.in (sh-*-linux*): Added. |
| * configure: Rebuilt. |
| * config/sh/t-linux: New file. |
| * config/sh/sh.h (USERMODE_BIT): Define. |
| (TARGET_USERMODE): Likewise. |
| (TARGET_SWITCHES): New switches for the bits above. |
| (INITIALIZE_TRAMPOLINE): Call __ic_invalidate in USERMODE. |
| * config/sh/linux.h: New file. |
| * config/sh/lib1funcs.asm (GLOBAL): Don't prefix symbols with |
| underscore on linux. |
| (L_sdivsi3, L_udivsi3): Define for linux. |
| (L_ic_invalidate): Define. |
| * invoke.texi (SH Options): Document -musermode. |
| |
| 2000-09-07 Alexandre Oliva <aoliva@redhat.com> |
| |
| * config/sh/sh.h (OVERRIDE_OPTIONS): Don't disable function |
| CSE unless generating PIC. |
| |
| * config/sh/sh.md (symPLT_label2reg): Force the initialization of |
| the PIC register. |
| |
| 2000-09-06 H.J. Lu (hjl@gnu.org) |
| |
| * Makefile.in (clean_s1): Depend on stage_b. |
| (clean_s2): Depend on stage_d. Don't remove $(VOL_FILES) in |
| stage2. They are used for "make compare". |
| |
| 2000-09-06 Mark Mitchell <mark@codesourcery.com> |
| |
| Move statement-tree facilities from C++ to C front-end. |
| * c-common.h (c_tree_index): Add CTI_VOID_ZERO. |
| (void_zero_node): New macro. |
| (struct stmt_tree_s): New type. |
| (stmt_tree): New typedef. |
| (struct language_function): New type. |
| (last_tree): New macro. |
| (last_expr_type): Likewise. |
| (walk_tree_fn): New typedef. |
| (current_stmt_tree): New function. |
| (begin_stmt_tree): Likewise. |
| (add_stmt): Likewise. |
| (finish_stmt_tree): Likewise. |
| (statement_code_p): Likewise. |
| (lang_statement_code_p): New variable. |
| (walk_stmt_tree): New function. |
| (STMT_IS_FULL_EXPR_P): New macro. |
| * c-common.c (lang_statement_code_p): New variable. |
| (c_common_nodes_and_builtins): Initialize void_zero_node. |
| (statement_code_p): New function. |
| (walk_stmt_tree): Likewise. |
| * c-decl.c (language_function): Rename to ... |
| (c_language_function): ... this. Include language_function. |
| (push_c_function_context): Adjust accordingly. |
| (pop_c_function_context): Likewise. |
| (mark_c_function_context): Likewise. |
| (current_stmt_tree): Define. |
| * c-semantics.c (begin_stmt_tree): New function. |
| (add_stmt): Likewise. |
| (prune_unused_decls): Likewise. |
| (finish_stmt_tree): Likewise. |
| |
| 2000-09-06 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> |
| |
| * flow.c (insn_dead_p): Detect dead memory stores with auto increments. |
| |
| 2000-09-06 Kazu Hirata <kazu@hxi.com> |
| |
| * calls.c: Fix formatting. |
| |
| 2000-09-06 Graham Stott <grahams@cygnus.co.uk> |
| |
| * config/i386/i386.h (ADDRESS_COST): Fix typo. |
| |
| 2000-09-06 Zack Weinberg <zack@wolery.cumb.org> |
| |
| Integrated preprocessor. |
| |
| * Makefile.in: Remove all references to c-parse.gperf, |
| c-gperf.h, and c-parse.h. Remove -d from yacc command line |
| generating c-parse.c. Update dependencies. |
| * c-parse.gperf, c-gperf.h: Delete. |
| |
| * c-common.c: Don't define parse_options, cpp_token, yy_cur, |
| yy_lim, or yy_get_token. Don't define get_directive_line if |
| USE_CPPLIB. |
| * c-common.h: Add multiple include guard. Define RID values |
| for every keyword in C, C++, and Objective-C. Put all the |
| modifiers first. |
| (struct c_fileinfo, get_fileinfo, dump_time_statistics): New. |
| * c-decl.c (c_decode_option): Handle -lang-objc here. |
| (print_lang_identifier): Handle C_IS_RESERVED_WORD case. |
| (grokdeclarator): Adjust for new RID scheme. |
| (extract_interface_info): New stub. |
| * c-lang.c: Don't declare yy_cur or parse_options. |
| (lang_init_options): Call cpp_init. Don't call |
| cpp_options_init. |
| (lang_init): Don't call check_newline if USE_CPPLIB. |
| |
| * c-lex.c: Don't include c-parse.h. Do include timevar.h. |
| Elide lots of unnecessary code if USE_CPPLIB. Delete code |
| rendered unnecessary by new architecture. Move routines not |
| shared with C++ to c-parse.in. Maintain a local idea of the |
| line number. Handle C++ as well as C. |
| [USE_CPPLIB]: Declare and register callbacks for #ident and |
| for entering/leaving files. |
| (init_c_lex, c_lex): Are now the entry points to this file. |
| (check_newline): Break out directive handling to |
| process_directive. |
| (read_ucs, is_extended_char, utf8_extend_token): Moved here |
| from C++ front end. |
| (readescape, parse_float): Overhaul. |
| (lex_number, lex_string, lex_charconst): Break out of c_lex |
| (n'ee yylex). |
| (get_fileinfo, update_header_times, dump_one_header, |
| dump_time_statistics): New and/or moved here from C++. |
| Support per-file data needed by C++ and per-header timing |
| statistics (C++ only, at the moment). |
| * c-lex.h: Update prototypes. Add multiple include guard. |
| * c-tree.h (struct lang_identifier): Add rid_code field. |
| (C_IS_RESERVED_WORD, C_RID_CODE): New. |
| |
| * c-parse.in: Include c-pragma.h. Remove unnecesary calls to |
| reinit_parse_for_function and/or position_after_white_space. |
| (save_filename, save_lineno): Look ahead before saving. |
| (label -> identifier ':'): Save file and line before shifting ':'. |
| (reservedwords): No need to call get_identifier. |
| (init_parse, finish_parse, yyerror, yylex, yyprint, |
| make_pointer_declarator): Are now here for C/ObjC. |
| (rid_to_yy): Conversion table from RID constants to Yacc codes. |
| |
| * c-pragma.c: Rewrite parsing logic to fit with cpplib's |
| #pragma registry. Provide dummy implementation of that |
| interface if !USE_CPPLIB. |
| * c-pragma.h: Update to match. |
| |
| * flags.h: Add multiple include guard. |
| (flag_detailed_statistics): Moved here from C++. |
| * toplev.c: Define flag_detailed_statistics. |
| |
| * gcc.c (C specs): Use %(trad_capable_cpp) for -E|-M|-MM case |
| #if USE_CPPLIB. |
| * timevar.def (TV_CPP, TV_LEX): New. |
| * timevar.h: Add multiple include guard. |
| |
| * objc/lang-specs.h: Use %(trad_capable_cpp) for -E|-M|-MM case |
| #if USE_CPPLIB. |
| * objc/objc-act.c: Don't mention yy_cur or parse_options. |
| Initialize cpplib properly. Force lineno to 0 after first |
| call to check_newline. Don't handle -lang-objc here. |
| Move forget_protocol_qualifiers and remember_protocol_qualifiers here. |
| |
| 2000-09-06 David Edelsohn <edelsohn@gnu.org> |
| |
| * rs6000.md: Correct function unit definitions for cr_logical and |
| mtjmpr. |
| (sCOND): Additionally fail for sgt, slt, sge, sle if !TARGET_POWER |
| and use portable method for >=0 and floating point >=. Remove |
| associated matchers. |
| |
| 2000-09-06 Mark Mitchell <mark@codesourcery.com> |
| |
| * extend.texi: Mark named return value extension as deprecated. |
| |
| 2000-09-06 Geoff Keating <geoffk@cygnus.com> |
| |
| * config/rs6000/rs6000.c (rs6000_reverse_condition): Return |
| the result. |
| |
| 2000-09-06 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * toplev.c (display_help): Fix thinko in documentation. |
| |
| * diagnostic.h (output_buffer::indent_skip): New fields. |
| (output_indentation): New macro. |
| |
| * diagnostic.c (output_indent): New function. |
| (output_set_prefix, clear_diagnostic_info): Use. |
| (output_emit_prefix): Predict future indentation. |
| |
| 2000-09-06 DJ Delorie <dj@redhat.com> |
| |
| * Makefile.in (stage_*): add more dependencies to ensure parallel |
| builds build correctly |
| |
| 2000-09-06 Manfred Hollstein <manfredh@redhat.com> |
| |
| * Makefile.in (bootstrap-lean): Depend on bootstrap-lean_g, |
| not bootstrap-lean_f. |
| |
| 2000-09-06 Andreas Schwab <schwab@suse.de> |
| |
| * mklibgcc.in: Emit rule for libgcc-stage-start. |
| * Makefile.in (stage1-start, stage2-start, stage3-start, |
| stage4-start): Don't handle libgcc here, use libgcc.mk instead. |
| |
| 2000-09-06 Bernd Schmidt <bernds@redhat.co.uk> |
| |
| * local-alloc.c (local_alloc): Ignore CLASS_LIKELY_SPILLED. |
| (update_equiv_regs): Likewise, except for the mn10200 kludge. |
| (combine_regs): Likewise. |
| |
| * Makefile.in (cse.o): Depend on $(BASIC_BLOCK_H). |
| * cse.c: Include "basic-block.h". |
| (struct table_elt): New field REGCOST. |
| (CHEAP_REG): Delete macro. |
| (COST): Return 0 for REGs. |
| (approx_reg_cost_1, approx_reg_cost, preferrable): New functions. |
| (notreg_cost): Return 0 for appropriate SUBREGs. |
| (COSTS_N_INSNS): Return N * 2. |
| (rtx_cost): Return 0 for REGs, and use cost of nested rtx for cheap |
| SUBREGs. |
| (CHEAPER): Use new function preferrable. |
| (insert): Initialize REGCOST member. |
| (find_best_addr): Use approx_reg_cost for estimation of register |
| usage. |
| (cse_insn): Likewise. |
| * loop.c (iv_add_mult_cost): New function. |
| (add_cost, shift_cost, mult_cost): Delete variables. |
| (init_loop): Don't initialize add_cost; reduce copy_cost by half. |
| (strength_reduce): Use iv_add_mult_cost instead of fixed add_cost. |
| Make code that detects autoinc opportunities slightly less optimistic. |
| (simplify_giv_expr): If expression contains other reg that is also a |
| giv, only increment benefit if this is the only use of that reg. |
| (consec_sets_giv): Take that change into account. |
| (combine_givs): Slightly more verbose output. |
| |
| * i386.h (RTX_COSTS): For MULT, return true cost of multiplication, |
| not the cost of an equivalent shift. |
| * sh-protos.h (addsubcosts): Declare. |
| * sh.c (addsubcosts): New function. |
| * sh.h (CONST_COSTS): If CONST_OK_FOR_I, then return 0. |
| (RTX_COSTS): Tweak. Use addsubcosts. |
| (ADDRESS_COST): Return higher cost for reg+reg addressing. |
| |
| 2000-09-06 Geoff Keating <geoffk@cygnus.com> |
| |
| * config/rs6000/rs6000.c (validate_condition_mode): New function. |
| (branch_comparison_operator): Call validate_condition_mode to |
| abort rather than returning 0. |
| (branch_positive_comparison_operator): New function. |
| (scc_comparison_operator): Call validate_condition_mode to abort |
| rather than returning 0. |
| (ccr_bit): Call validate_condition_mode. Update for |
| new branch scheme. |
| (print_operand): Delete %C modifier. Update %E case |
| to use EQ bit not SO bit. |
| (rs6000_reverse_condition): New function. |
| (rs6000_generate_compare): New function. |
| (rs6000_emit_sCOND): New function. |
| (rs6000_emit_cbranch): New function. |
| (output_cbranch): The length of a long branch insn is |
| now only 8 bytes. Add validate_condition_mode. Use |
| rs6000_reverse_condition. Remove cror generation. |
| |
| * config/rs6000/rs6000.h: Update comments. |
| (PREDICATE_CODES): Add new predicate. Update codes used |
| by branch_comparison_operator and scc_comparison_operator. |
| * config/rs6000/rs6000-protos.h: Add prototypes for |
| new external functions. |
| * config/rs6000/rs6000.md: Add new scheduling parameters |
| for cr_logical instructions. Change length of branch |
| instructions. |
| (bCOND patterns): Call rs6000_emit_cbranch. |
| (sCOND patterns): Call rs6000_emit_sCOND. |
| (branch patterns): Change lengths to 4. |
| (cr logical patterns): New. |
| |
| 2000-09-06 Richard Henderson <rth@cygnus.com> |
| |
| * config/i386/i386.md (call_pop): Fix test for setting |
| current_function_uses_pic_offset_table. |
| (call, call_value_pop, call_value): Likewise. |
| |
| 2000-09-06 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * timevar.c (timevar_add): Delete. |
| (timevar_get): Also count time since the selected timer was |
| last updated. Do not examine the timevar stack if the |
| selected timer is standalone. |
| |
| 2000-09-05 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * gthr-dce.h (__gthread_objc_mutex_deallocate): Free mutex->backend. |
| |
| 2000-09-05 Jason Merrill <jason@redhat.com> |
| |
| * c-decl.c (finish_incomplete_decl): Don't call complete_array_type |
| for 'extern' arrays. |
| |
| 2000-09-05 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/lib1func.asm (__divtf3): Rebundle for Itanium. |
| Eliminate final copy from non-trapping case. |
| (__divdf3, __divsf3): Likewise. |
| |
| 2000-09-05 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64.md (mulhi3): Fix typo last change. |
| * config/ia64/lib1func.asm (__divdi3, __udivdi3, __umodsi3): Likewise. |
| |
| 2000-09-03 Donn Terry <donn@interix.com>, Laurynas Biveinis <lauras@softhome.net> |
| |
| * Makefile.in: Restructure bootstrap stages to allow clean |
| restart after failure. |
| |
| 2000-09-05 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64.md (movsi and movdi patterns): Allow moves from |
| 8-bit constants to AR registers. |
| |
| 2000-09-05 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64.md (mulhi3): New. |
| |
| 2000-09-05 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64.h (INIT_TARGET_OPTABS): Remove. |
| * config/ia64/lib1funcs.asm (__divdi3): Update from Intel IA-64 |
| Optimization Guide, minimum latency alternative. |
| (__moddi3, __udivdi3, __umoddi3): Likewise. |
| (__divsi3, __modsi3, __udivsi3, __umodsi3): Likewise. |
| |
| 2000-09-05 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/fixincl.c (load_file): always read header files |
| with sizes that are a multiple of the page size. |
| & use libiberty's getpagesize for determining that. |
| |
| 2000-09-05 Alexandre Oliva <aoliva@redhat.com> |
| |
| * gcse.c (hash_string_1): Add prototype. |
| * cse.c (canon_hash_string): Likewise. |
| |
| 2000-09-04 Craig Newell <CraigN@ieee.org> |
| |
| * gcc.c: Undefine "__WCHAR_TYPE__" before redefining it. |
| |
| 2000-09-04 Andreas Schwab <schwab@suse.de> |
| |
| * Makefile.in (STAGESTUFF): Remove libgcc. |
| (stage1-start, stage2-start, stage3-start): Copy the contents of |
| the libgcc directory explicitly. |
| (mostlyclean): Clean libgcc. |
| |
| 2000-09-04 Andrew Haley <aph@redhat.com> |
| |
| * dwarf2out.c: (stack_adjust_offset): New prototype. |
| |
| Wed Jan 1 00:23:59 MET 1997 Jan Hubicka <jh@suse.cz> |
| |
| * combine.c (make_extraction): Fix rtx_cost comparison to |
| match the comment. |
| |
| Wed Jan 1 00:17:32 MET 1997 Jan Hubicka <jh@suse.cz> |
| |
| * i386.md (pushsi2, pushhi2, pophi2, swapsf, swapdf, |
| umulsi3_highpart, smulsi3_highpart, testqi_ccno_1, xorqi_ext_1): |
| Add '*' to insn pattern name. |
| |
| 2000-09-04 Jakub Jelinek <jakub@redhat.com> |
| |
| * cpplex.c (ON_REST_ARG): Check VAR_ARGS flag of current context, |
| use posn - 1 to index into tokens array. |
| (maybe_paste_with_next): Adjust caller. |
| |
| 2000-09-03 Geoff Keating <geoffk@cygnus.com> |
| |
| * invoke.texi: Document the -mvxworks option for rs6000 ELF. |
| |
| * config/rs6000/rs6000.h: Update various comments about XER_REGNO. |
| (REGNO_REG_CLASS): Use symbolic register |
| names. |
| |
| 2000-09-03 Richard Earnshaw <rearnsha@arm.com> |
| |
| * arm.c (final_prescan_insn): If the form of a jump insn isn't |
| recognized, don't try to conditionally execute it. |
| |
| Sun Sep 3 13:10:56 2000 Denis Chertykov <denisc@overta.ru> |
| |
| * config/avr/avr.md ("*tablejump_lib"): New pattern. |
| (call_value_insn): Right length claculation. |
| (call_insn): Likewise. |
| |
| 2000-09-02 Marek Michalkiewicz <marekm@linux.org.pl> |
| |
| * config/avr/avr-protos.h, config/avr/avr.c (unique_section, |
| gas_output_limited_string, gas_output_ascii, output_movqi, |
| output_movhi, out_movqi_r_mr, out_movqi_mr_r, out_movhi_r_mr, |
| out_movhi_mr_r, out_movsi_r_mr, out_movsi_mr_r, output_movsisf, |
| out_tstsi, out_tsthi, ret_cond_branch, ashlqi3_out, ashlhi3_out, |
| ashlsi3_out, ashrqi3_out, ashrhi3_out, ashrsi3_out, lshrqi3_out, |
| lshrhi3_out, lshrsi3_out, output_reload_inhi, output_reload_insisf, |
| out_shift_with_cnt, ptrreg_to_str, cond_string, encode_section_info): |
| Add "const" as needed to remove warnings. |
| |
| * config/avr/avr.c (avr_override_options, avr_init_once, |
| function_prologue, function_epilogue, frame_pointer_required_p, |
| class_likely_spilled_p, order_regs_for_local_alloc, |
| avr_address_cost, avr_ret_register): Use K&R style arguments. |
| (initial_elimination_offset, gas_output_limited_string): |
| Remove ATTRIBUTE_UNUSED from the used arguments. |
| (output_mov*, out_mov*_r_mr, out_mov*_mr_r, output_reload_insisf): |
| Use local variables src, dest, base to access operands[]. |
| Rename reg_dest to reg_src if that's what it is. |
| (output_movhi, output_movsisf): Optimize loading 8-bit immediate |
| constants to LD_REGS if reg_was_0. |
| (output_reload_insisf): Change arg 3 to insn length and set it. |
| (out_movhi_r_mr, out_movhi_mr_r): Use in/out for more efficient |
| access to 16-bit I/O register pairs. |
| (avr_address_cost): Lower cost for the above case. |
| (out_tsthi): Use "or" (faster) instead of "sbiw" if the operand |
| may be clobbered, also for LD_REGS. |
| (adjust_insn_length): Correct insn length for iorhi3 and iorsi3 |
| with a CONST_INT. |
| |
| * config/avr/avr.h (PTRDIFF_TYPE): Make signed. |
| |
| * config/avr/avr.md: Change all uses of the TEST_HARD_REG_CLASS |
| macro to test_hard_reg_class function. |
| (*movsi, *movsf): Change "cc" attribute from "clobber" to "none" |
| for loading immediate constants to LD_REGS. |
| (andsi3, cmphi, cmpsi): Add return statements to avoid warnings. |
| |
| |
| Sat Sep 2 13:58:23 2000 Marek Michalkiewicz <marekm@linux.org.pl> |
| |
| * config/avr/avr.md ("*negsi2"): substitute %@ to __zero_reg__ |
| * config/avr/libgcc.S: Lost part of the previous patch. |
| |
| 2000-08-31 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * gthr-dce.h (__gthread_objc_mutex_allocate): Create a pthread_mutex_t |
| object before calling pthread_mutex_init. |
| |
| 2000-09-02 Alexandre Oliva <aoliva@redhat.com> |
| |
| * config/sh/t-elf, config/sh/crt1.asm, config/sh/crti.asm, |
| config/sh/crtn.asm: New files. |
| * config/sh/t-sh (EXTRA_MULTILIB_PARTS): Set. |
| (crt1.o, crti.o, crtn.o): New targets. |
| * configure.in [sh-*-elf*, sh-*-rtemself*] (tmake_file): Added |
| sh/t-elf. |
| * configure: Rebuilt. |
| * config/sh/sh.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, |
| STARTFILE_SPEC, ENDFILE_SPEC, CRT_CALL_STATIC_FUNCTION): Define. |
| * config/sh/elf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): |
| Undefine for config/elfos.h to redefine. |
| (STARTFILE_SPEC, ENDFILE_SPEC): Redefine after config/elfos.h. |
| |
| 2000-09-02 Alexandre Oliva <aoliva@redhat.com>, Niibe Yutaka <gniibe@m17n.org>, Kaz Kojima <kkojima@rr.iij4u.or.jp> |
| |
| * config/sh/sh-protos.h (nonpic_symbol_mentioned_p, |
| legitimize_pic_address, output_pic_addr_const): Declare. |
| * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Fix PIC register. |
| (PREFERGOT_BIT, TARGET_PREFERGOT): Likewise. |
| (TARGET_SWITCHES): New switch -mprefergot. |
| (OVERRIDE_OPTIONS): Set flag_no_function_cse unless -mprefergot. |
| (PIC_OFFSET_TABLE_REGNUM): Define. |
| (GOT_SYMBOL_TABLE): Likewise. |
| (LEGITIMIZE_ADDRESS): Use legitimize_pic_address. |
| (ENCODE_SECTION_INFO): Define. |
| (FINALIZE_PIC): New macros. |
| (LEGITIMATE_PIC_OPERAND_P, SYMBOLIC_CONST_P): New macro. |
| (ASM_OUTPUT_INT, ASM_OUTPUT_SHORT): Use output_pic_addr_const. |
| * config/sh/sh.c (print_operand_address): Use output_pic_addr_const. |
| (prepare_move_operands): Call emit_pic_move or |
| emit_pic_const_move if appropriate. |
| (output_far_jump): For PIC, use braf and output long offset. |
| (machine_dependent_reorg): |
| (sh_expand_prologue): Save and initialize the PIC register. |
| (sh_expand_epilogue): Restore it. |
| (initial_elimination_offset): Account for it. |
| (nonpic_symbol_mentioned_p): New function. |
| (legitimize_pic_address): Likewise. |
| (output_pic_addr_const): Likewise. |
| * config/sh/sh.md (calli_pcrel, call_valuei_pcrel): New insns. |
| (call, call_value): Use them. |
| (GOTaddr2picreg, sym_label2reg, symGOT2reg, symGOTOFF2reg, |
| symPLT_label2reg): New expands. |
| * invoke.texi (SH Options): Document -mprefergot. |
| |
| 2000-09-01 Alexandre Oliva <aoliva@redhat.com> |
| |
| * rtl.h (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): New macro. |
| * gcse.c (hash_string_1): New function. |
| (hash_expr_1) <ASM_OPERANDS>: Disregard filename and line number. |
| (expr_equiv_p) <ASM_OPERANDS>: Likewise. |
| * cse.c (rtx_cost): Don't increase the cost of ASM_OPERANDS. |
| (canon_hash_string): New function. |
| (canon_hash) <ASM_OPERANDS>: Disregard filename and line number. |
| (exp_equiv_p) <ASM_OPERANDS>: Likewise. |
| (fold_rtx): Use ASM_OPERANDS accessor macros. |
| * emit-rtl.c (copy_insn_1): Likewise. |
| * integrate.c (copy_rtx_and_substitute): Likewise. |
| * stmt.c (expand_asm_operands): Likewise. Give an |
| ASM_OPERANDS rtx the mode of the output reg being set from it. |
| |
| 2000-09-01 Fred Fish <fnf@be.com> |
| |
| * fix-header.c (write_rbrac): Add putc and getc to list of |
| functions to protect against prior definition as a macro. |
| |
| 2000-09-01 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.h (enum c_tree_index): Add CTI_C_SIZE_TYPE. |
| (c_size_type_node): Define. |
| * c-decl.c (init_decl_processing): Initialize c_size_type_node. |
| * c-common.c (enum format_lengths, enum format_std_version, |
| format_length_info, format_type_detail, BADLEN, NOLENGTHS, |
| format_kind_info, printf_length_specs, scanf_length_specs, T89_I, |
| T99_I, T89_L, T99_LL, TEX_LL, T89_S, T89_UI, T99_UI, T89_UL, |
| T99_ULL, TEX_ULL, T89_US, T89_F, T99_F, T89_D, T99_D, T89_LD, |
| T99_LD, T89_C, T99_SC, T99_UC, T89_V, T94_W, TEX_W, T94_WI, |
| TEX_WI, T99_ST, T99_SST, T99_PD, T99_UPD, T99_IM, T99_UIM, |
| format_types): Define. |
| (format_char_info, print_char_table, scan_char_table, |
| time_char_table): Rearrange for new organization of information |
| about format length modifiers and standard versions. |
| (T_ST): Redefine to use c_size_type_node. |
| (check_format_info): Obtain information about length modifiers and |
| standard versions from tables. Adjust warning message wordings. |
| Use the name from the user's program for `ll' and `hh' length |
| modifiers in warning messages. Use more informative names for |
| wanted types where available (for wchar_t, wint_t, size_t, signed |
| size_t, ptrdiff_t, unsigned ptrdiff_t, intmax_t and uintmax_t). |
| |
| 2000-09-01 Jim Wilson <wilson@cygnus.com> |
| |
| * calls.c (emit_call_1): Add REG_NORETURN note to call if ECF_NORETURN. |
| * combine.c (distribute_notes): Handle REG_NORETURN. |
| * rtl.c (reg_note_name): Add REG_NORETURN. |
| * rtl.h (enum reg_note): Likewise. |
| |
| * config/ia64/ia64-protos.h (emit_safe_across_calls): Renamed from |
| ia64_file_start. |
| * config/ia64/ia64.c (emit_safe_across_calls): Likewise. |
| (rtx_needs_barrier): Handle unspec_volatile 8 and 9. |
| (emit_predicate_relation_info): Handle conditional calls with |
| REG_NORETURN. |
| * config/ia64/ia64.h (ASM_FILE_START): Call emit_safe_across_calls |
| instead of ia64_file_start. |
| * config/ia64/sysv4.h (ASM_FILE_START): Likewise. |
| * config/ia64/ia64.md (safe_across_calls_all, |
| save_across_calls_normal): New patterns. |
| |
| * loop.c (check_final_value): Check for biv use before checking for |
| giv use. Check for both biv and giv uses. Always set last_giv_use |
| if there is a giv use. |
| |
| 2000-09-01 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64.md (mulsi3): Use grfr_register_operand. |
| (madddi3): Likewise. |
| (maddsi3): New. |
| |
| Fri Sep 1 10:59:47 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * expr.c (clear_storage): Don't use emit_move_insn unless |
| either BLKmode or proper size. |
| (store_constructor): Don't call clear_storage if REG of wrong size. |
| |
| * flow.c (init_propagate_block_info): Don't mark frame dead at end |
| of function if returns wiht stack pointer depressed. |
| |
| 2000-09-01 Andrew Haley <aph@redhat.com> |
| |
| * dwarf2out.c (stack_adjust_offset): New function. |
| (dwarf2out_stack_adjust): Break out stack adjust logic into |
| new stack_adjust_offset function. Look inside parallels and |
| sequences for stack adjustments. |
| |
| 2000-08-31 Jeff Law <law@cygnus.com> |
| |
| * arm.md: Use no_new_pseudos to determine when it is safe |
| to create new pseudo registers. |
| |
| * arm.c (legitimize_pic_address): Use no_new_pseudos to determine |
| when we can safely allocate new registers. |
| |
| 2000-08-31 Geoffrey Keating <geoffk@cygnus.com> |
| |
| * stmt.c (expand_asm_operands): Twiddle generating_concat_p |
| so that CONCATs are not generated for ASMs. |
| * emit-rtl.c (gen_reg_rtx): Don't generate CONCATs when |
| not generating_concat_p. |
| * function.c (pop_function_context_from): Reset |
| generating_concat_p. |
| (prepare_function_start): Likewise. |
| * rtl.c (generating_concat_p): Define. |
| * rtl.h (generating_concat_p): Declare. |
| * toplev.c (rest_of_compilation): No CONCATs after RTL generation. |
| |
| 2000-08-22 Philipp Thomas <pthomas@suse.de> |
| Masanobu Yuhara <yuhara@flab.fujitsu.co.jp> |
| |
| * gmicro.h (TARGET_SWITCHES): Add descriptions and mark them |
| for translation. |
| |
| 2000-08-30 Greg McGary <greg@mcgary.org> |
| |
| * Makefile.in (fixinc.sh): Pass CC, CFLAGS and LDFLAGS to mkfixinc.sh |
| * fixinc/Makefile.in (fixincl): Pass $(LDFLAGS) to $(CC). |
| * fixinc/mkfixinc.sh: Pass $CC, $CFLAGS and $LDFLAGS to $MAKE. |
| |
| 2000-08-30 Greg McGary <greg@mcgary.org> |
| |
| * tree.h (struct tree_int_cst): Wrap low and high in a sub-struct. |
| (TREE_INT_CST_LOW, TREE_INT_CST_HIGH): Access through sub-struct. |
| (TREE_INT_CST): New macro. |
| * varasm.c (const_hash, compare_constant_1, record_constant_1): |
| Use new macro TREE_INT_CST. |
| |
| Wed 30-Aug-2000 23:18:59 BST Neil Booth <NeilB@earthling.net> |
| |
| * contrib.texi: Add self. |
| |
| 2000-08-30 Alexandre Oliva <aoliva@redhat.com> |
| |
| * config/sh/sh.md (cmpeqsi_ior_t, cmpeqsi_and_t): New insns. |
| (cmpeqdi_t splitter): Use cmpeqsi_and_t instead of emitting jumps |
| and labels. |
| |
| 2000-08-30 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * fixinc/gnu-regex.c: Don't define `const'. |
| |
| Tue Aug 29 22:09:59 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * expr.c (store_constructor): Allow variable bounds of array type. |
| (expand_expr): Don't blow up if type is ERROR_MARK. |
| * varasm.c (output_constructor): Don't access lower bound of array |
| type unless need it if index is supplied (so it can be a variable |
| if no index is supplied). |
| Use tree_low_cst; use HOST_WIDE_INT for sizes; change BITPOS to POS. |
| Other minor cleanups. |
| |
| 2000-08-29 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * Makefile.in: Revamp handling of cflags to allow different WARN_CFLAGS |
| for compilations in stage 1 and subsequent stages, respectively. |
| * configure.in (vax): Add compiler-dependent CFLAGS for stage 1. |
| * configure: Rebuilt. |
| * x-vax, x-vax-gcc: Deleted. |
| |
| 2000-08-29 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * c-common.c (declare_function_name): Use func_id_node, |
| function_id_node, and pretty_function_id_node. Do not make |
| __func__ visible at file scope. |
| * c-common.h (c_tree_index): Add CTI_FUNCTION_ID, |
| CTI_PRETTY_FUNCTION_ID, and CTI_FUNC_ID. |
| (function_id_node, pretty_function_id_node, func_id_node): New |
| macros. |
| * c-decl.c (init_decl_processing): Initialize function_id_node, |
| pretty_function_id_node, and func_id_node. |
| (c_make_fname_decl): Correct comment. |
| |
| * tree.h (struct tree_identifier): Constify pointer member. |
| |
| * c-decl.c (pushdecl, implicit_decl_warning): Constify a char *. |
| * c-pragma.h (struct weak_syms): Constify name and value members. |
| (add_weak): Constify arguments. |
| |
| * calls.c (special_function_p): Constify a char *. |
| (expand_call): Remove variable which is initialized and then |
| never used. |
| * dependence.c (struct def_use, struct induction, struct subscript): |
| Constify 'variable' member. |
| (get_low_bound, have_induction_variable): Constify char * argument. |
| (find_induction_variable): Add braces to avoid dangling else. |
| (classify_dependence): Constify char * arrays. |
| * profile.c (output_func_start_profiler): Constify a char *. |
| * stor-layout.c (finalize_record_size): Constify a char *. |
| * tree.c (is_attribute_p): Constify a char *. |
| * varasm.c (add_weak, remove_from_pending_weak_list): Constify argument. |
| |
| * varasm.c (make_function_rtl, make_decl_rtl): Rearrange code |
| for comprehensibility. Do not call get_identifier if we did |
| not change the DECL_ASSEMBLER_NAME of the decl. Use alloca to |
| create temporary string constants, not ggc_alloc_string. No |
| need to copy result of ASM_FORMAT_PRIVATE_NAME. Use const |
| char * to hold IDENTIFIER_POINTERs. |
| |
| 2000-08-29 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64.md (muldi3): Use grfr_register_operand |
| for the inputs. |
| |
| 2000-08-29 Richard Henderson <rth@cygnus.com> |
| |
| * reload.c (push_secondary_reload): Allow class == reload_class |
| if we're using a reload_in/out pattern. |
| |
| * config/ia64/ia64.md (reload_inti): Use a TImode scratch. Use |
| the half that does not conflict with the reload register. |
| (reload_outti): Likewise. |
| |
| 2000-08-29 Kazu Hirata <kazu@hxi.com> |
| |
| * reload.c: Fix formatting. |
| |
| * stmt.c: Fix formatting. |
| |
| * gcc.c: Fix formatting. |
| |
| 2000-08-29 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * flags.h (time_report, mem_report): New global flags. |
| * toplev.c: Define time_report and mem_report. |
| (f_options): Add -ftime-report and -fmem-report. |
| (compile_file): Turn on time_report if quiet_flag is off. |
| Call ggc_print_statistics at very end if mem_report is on. |
| * timevar.c (TIMEVAR_ENABLE): Examine time_report, not quiet_flag. |
| |
| * ggc-common.c (ggc_print_statistics): Rename to |
| ggc_print_common_statistics; all callers changed. Scale |
| quantities above 10K to kilobytes and above 10M to megabytes. |
| * ggc-page.c (ggc_page_print_statistics): Rename to |
| ggc_print_statistics. Report memory consumed by internal data |
| structures for each allocation bucket. Scale quantities above |
| 10K to kilobytes and above 10M to megabytes. |
| * ggc-simple.c: Prototype debug_ggc_tree to avoid warning. |
| Cast PTR_KEY(p) to unsigned long in fprintf call to avoid warning. |
| Define tally_leaves always. |
| (ggc_print_statistics): New function. |
| * ggc.h: Adjust for renamed functions. |
| |
| Wed Aug 30 00:11:42 2000 Denis Chertykov <denisc@overta.ru> |
| |
| * config/avr/avr.md ("*movsf","*movsi"): Pass NULL to |
| output_movsisf instead of which_alternative. |
| |
| * config/avr/avr.c (output_reload_inhi): Check for NULL ponter. |
| |
| Tue Aug 29 22:29:58 2000 Denis Chertykov <denisc@overta.ru> & Marek Michalkiewicz <marekm@linux.org.pl> |
| |
| * config/avr/avr-protos.h: (avr_output_ascii) Removed. |
| (avr_progmem_p): New prototype. |
| (output_movsisf): Prototype declaration changed. |
| (output_movqi): New prototype. |
| (output_movhi): New prototype. |
| (call_insn_operand): Likewise. |
| (final_prescan_insn): Likewise. |
| (avr_simplify_comparision_p): Likewise. |
| (avr_normalize_condition): Likewise. |
| (compare_eq_p): Likewise. |
| (out_shift_with_cnt): Likewise. |
| (const_int_pow2_p): Likewise. |
| (output_reload_inhi): Prototype declaration changed. |
| |
| * config/avr/avr.c: (debug_hard_reg_set): Prototype declared. |
| (ldi_reg_rtx): New. rtx for r31. |
| (avr_init_stack): Initialize as "__stack". |
| (function_prologue): Use it. |
| Replace all TARGET_ENHANCED with AVR_ENHANCED. |
| (avr_mcu_name): Initialize as "avr2". |
| (avr_enhanced_p, avr_mega_p): New variables. |
| (mcu_types, avr_override_options): Handle all known MCU types. |
| Also handle avr1 (only preprocess, assemble and link). |
| (print_operand): Using of `%K' in output template removed. |
| (out_movqi_r_mr): Optimized. |
| (out_movhi_r_mr): Likewise. |
| (output_movqi): New function. |
| (output_movhi): Likewise. |
| (out_movsi_r_mr): Optimized. |
| (output_movsisf): Compute insn length for `adjust_insn_length' |
| (out_movqi_mr_r): Optimized. |
| (out_movhi_mr_r): Optimized. |
| (adjust_insn_length): Use output_movsisf, output_movqi, |
| output_movhi for insn length adjusting. |
| (reg_unused_after): Use dead_or_set_p. |
| (preferred_reload_class): Now haven't any restriction. |
| (reg_was_0): New function. |
| (io_address_p): Likewise. |
| (const_int_pow2_p): Likewise. |
| (output_reload_inhi): Likewise. |
| (output_reload_insisf): Likewise. |
| |
| * config/avr/avr.h (MULTILIB_DEFAULTS): Define. |
| (LIB_SPEC): Use -lc for all supported devices. |
| (LIBGCC_SPEC): Use -lgcc for all supported devices. |
| (AVR_MEGA): Define as avr_mega_p. |
| (AVR_ENHANCED): New, define as avr_enhanced_p. |
| (TARGET_SWITCHES): Remove -menhanced, now handled by -mmcu=... |
| (CPP_SPEC, LINK_SPEC): Handle all known MCU types. |
| (CRT_BINUTILS_SPECS): Handle all known MCU types. |
| Rename gcrt1-*.o to make file names unique on 8.3 filesystems. |
| (EXTRA_SPECS): Add CPP_AVR[1-5]_SPEC. |
| (ASM_SPEC): Pass -mmcu=... to the assembler. |
| Change all -DAVR_* to -D__AVR_*__. |
| (INIT_TARGET_OPTABS), config/avr/libgcc.S: |
| Rename library functions to start with two underscores. |
| (ASM_OUTPUT_COMMON): Outputs `.comm VAR,VAR-SIZE,1' to avoid |
| alignment. |
| (ASM_WEAKEN_LABEL): Declared for __attribute__((weak)). |
| (SUPPORTS_WEAK): Likewise. |
| (LDI_REG_REGNO): New. Register r31 will be used as temporary |
| register for loading constants to r0-r14. |
| |
| * config/avr/avr.md: Replace all TARGET_ENHANCED with |
| AVR_ENHANCED. |
| (*mov_r_sp): Removed. Handled by output_movhi. |
| (*mov_sp_r): Likewise. |
| (*mov_sp_r_no_interrupts): Likewise |
| (*mov_sp_r_tiny): Likewise. |
| (*movqi): Use output_movqi. |
| (*reload_inqi): New. |
| (*movhi): Use output_movhi. |
| (*reload_inhi): New. |
| (*negsi2): Optimized. |
| (*negsf2): Likewise. |
| Added peepholes (define_peephole2) for loading constants to r0-r14 |
| and for using `cpse' command. |
| |
| * config/avr/libgcc.S: Rename library functions to start with two |
| underscores. |
| Add support for enhanced core. |
| (_moqhi3): Fix typo, now _modqi3. |
| (__divsi_raw): Use __zero_reg__ as loop counter, smaller by 1 word. |
| (__prologue_saves__): Remove test for stack adjust by 0. |
| (__tablejump__): New. |
| |
| * config/avr/t-avr: Build libgcc2 with -mcall-prologues. |
| Add multilib support. |
| |
| Tue Aug 29 15:17:54 EDT 2000 John Wehle (john@feith.com) |
| |
| * loop.c (prescan_loop): Don't check unknown_address_altered |
| when deciding if insert_loop_mem is safe. Add BLKmode MEMs |
| to loop_store_mems as necessary. |
| (loop_invariant_p): Don't check unknown_address_altered |
| or unknown_constant_address_altered. |
| |
| 2000-08-29 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * vax.md (sltu, sgeu): Delete sltu and sgeu insn patterns. |
| |
| 2000-08-29 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpperror.c (print_file_and_line): If line is (unsigned int)-1, |
| print just the filename. |
| * cpplex.c (_cpp_run_directive): Add additional argument, the |
| name to give the synthetic buffer. This defaults to |
| translated "<command line>". |
| * cpplib.c (cpp_define, cpp_undef, cpp_assert, cpp_unassert): |
| Adjust to match. |
| (_cpp_define_builtin): New function. |
| * cppinit.c (initialize_builtins): Use _cpp_define_builtin. |
| * cpphash.h: Update prototypes. |
| |
| * tradcpp.c (main): Process -D and -U simultaneously, in the |
| order they appeared on the command line. |
| |
| 2000-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * c-decl.c (define_label): Call warning_with_file_and_line and |
| error_with_file_and_line instead of plain warning or error. |
| |
| * c-parse.in (label): Use save_filename/save_lineno to ensure |
| correct values for calls to define_label. |
| |
| 2000-08-29 Mark Mitchell <mark@codesourcery.com> |
| |
| * calls.c (expand_call): Don't create a VAR_DECL just to throw it |
| away. |
| * expr.c (expand_expr, case TARGET_EXPR): Don't call |
| mark_addressable. |
| * tree.h (get_file_function_name): Remove two duplicate |
| declarations. |
| |
| 2000-08-28 Kazu Hirata <kazu@hxi.com> |
| |
| * tree.c: Fix formatting. |
| |
| * xcoffout.c: Fix formatting. |
| |
| 2000-08-28 Jason Merrill <jason@redhat.com> |
| |
| * dwarf2out.c (attr_checksum): Also ignore DW_AT_producer. |
| |
| 2000-08-28 Daniel Berlin <dberlin@redhat.com> |
| |
| * dwarf2out.c (dwarf2out_finish): Don't bother calling |
| break_out_includes if it won't do anything. |
| |
| 2000-08-28 Richard Henderson <rth@cygnus.com> |
| |
| * reload.c (push_secondary_reload): Revert 2000-08-16 change. |
| (find_reloads): Likewise. |
| * config/alpha/alpha.md (reload_inqi): Revert 2000-08-11 change. |
| (reload_inhi): Likewise. |
| |
| 2000-08-28 Richard Henderson <rth@cygnus.com> |
| |
| * config/i386/i386.c: Don't error on EXTRA_CONSTRAINT defined. |
| (call_insn_operand): Don't expect a surrounding mem. |
| (constant_call_address_operand): Likewise. |
| * config/i386/i386.h (PREDICATE_CODES): Update. |
| * config/i386/i386.md (call patterns): Move the match_operand |
| for the call destination inside the mem. |
| |
| 2000-08-28 Richard Henderson <rth@cygnus.com> |
| |
| * local-alloc.c (requires_inout): Don't use reserved range for |
| EXTRA_CONSTRAINTS; use anything not matched by REG_CLASS_FROM_LETTER. |
| * recog.c (asm_operand_ok): Likewise. |
| (preprocess_constraints, constrain_operands): Likewise. |
| * regclass.c (record_reg_classes): Likewise. |
| * reload.c (find_reloads): Likewise. |
| * reload1.c (maybe_fix_stack_asms): Likewise. |
| (reload_cse_simplify_operands): Likewise. |
| * stmt.c (expand_asm_operands): Likewise. |
| |
| * md.texi: Update constraints documentation. |
| * tm.texi (EXTRA_CONSTRAINT): Update. |
| |
| 2000-08-28 Daniel Berlin <dberlin@redhat.com> |
| |
| * dwarf2out.c (DIE_LABEL_PREFIX): Remove leading "__". |
| (print_die): If we don't know the offset of the |
| target die, try the symbol. Add a trailing newline. |
| (reverse_all_dies): New fn. |
| (dwarf2out_finish): Call it. |
| (break_out_includes): Reorganize for clarity. |
| (add_sibling_attributes): Don't call reverse_die_lists. |
| (output_comp_unit): Rename from output_comdat_comp_unit. Use for |
| primary CU, too. |
| * flags.h: Add flag_eliminate_dwarf2_dups. |
| * toplev.c (f_options): Support -feliminate-dwarf2-dups. |
| |
| 2000-08-28 Jason Merrill <jason@redhat.com> |
| |
| * dwarf2.h (DW_TAG_GNU_BINCL, DW_TAG_GNU_EINCL): New tags. |
| * dwarf2out.c: #include "md5.h". |
| (DIE_LABEL_PREFIX): New macro. |
| (dw_val_struct): Add 'external' flag to val_die_ref. |
| (add_AT_die_ref, AT_ref): Adjust. |
| (AT_ref_external, set_AT_ref_external): New fns. |
| (build_abbrev_table): Call set_AT_ref_external. |
| (value_format): Call AT_ref_external. |
| (die_struct): Add die_symbol field. |
| (new_die): Clear it. |
| (dwarf_tag_name): Handle BINCL/EINCL. |
| (dwarf2out_start_source_file): Add BINCL DIE. |
| (dwarf2out_end_source_file): Add EINCL DIE. |
| (push_new_compile_unit, pop_compile_unit, clear_die_sizes): New fns. |
| (loc_checksum, attr_checksum, die_checksum): New fns. |
| (is_type_die, is_comdat_die, is_symbol_die): New fns. |
| (compute_section_prefix, assign_symbol_names): New fns. |
| (gen_internal_sym, output_die_symbol, output_symbolic_ref): New fns. |
| (output_die): Call output_die_symbol and AT_ref_external. |
| (output_comdat_comp_unit): New fn, split out from... |
| (dwarf2out_finish): ...here. Also call add_sibling_attributes for |
| secondary CUs. |
| (output_pubnames, output_aranges): Abort if we see entries from |
| secondary CUs. |
| * toplev.h: Declare file_name_nondirectory. |
| * toplev.c (file_name_nondirectory): New fn, moved from C++ frontend. |
| (rest_of_type_compilation): Call dwarf2out_decl if at toplevel. |
| (debug_start_source_file): Call dwarf2out_start_source_file |
| regardless of debug verbosity. |
| (debug_end_source_file): Similarly. |
| * tree.h: Declare clean_symbol_name. |
| * tree.c (clean_symbol_name): Split out from... |
| (get_file_function_name_long): ...here. |
| |
| * dwarf2out.c (new_loc_descr): Use calloc. |
| (splice_child_die): Remove the die from the right parent. |
| (gen_struct_or_union_die): Don't add AT_name to a specification DIE. |
| |
| Mon Aug 28 19:02:13 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * toplev.c (decode_g_option): Don't give warning for unknown -g |
| option; return 0 instead. |
| (main): If -g option is not recognized by front end or |
| language-independent code, give warning. |
| |
| 2000-08-28 Greg McGary <greg@mcgary.org> |
| |
| * config/i386/i386-protos.h (ix86_expand_compare): Add extern decl. |
| * config/i386/i386.c (ix86_expand_compare): Remove `static'. |
| * config/i386/i386.md (trap, conditional_trap): New insn & expand. |
| |
| 2000-08-27 Greg McGary <greg@mcgary.org> |
| |
| * cpplex.c (parse_string): Don't look for backslash |
| before first char in `namebuf'. |
| * loop.c (strength_reduce): Skip NOTEs. |
| |
| 2000-08-27 Jason Merrill <jason@redhat.com> |
| |
| * c-decl.c (duplicate_decls): Don't set TREE_STATIC or clear |
| DECL_EXTERNAL on a local extern. Don't set DECL_IGNORED_P or |
| TREE_ASM_WRITTEN, either. |
| (finish_decl): Adjust. |
| |
| 2000-08-28 Philipp Thomas <pthomas@suse.de> |
| |
| * ABOUT-GCC-NLS: Remove gettext patches from Paul Eggert as |
| they have been incorporated into the gettext CVS. Change the text to |
| reflect the current status of NLS. Add instructions for accessing |
| the gettext CVS and add the patch from Martin v. Löwis. |
| |
| 2000-08-27 Geoff Keating <geoffk@cygnus.com> |
| |
| * config/rs6000/rs6000.md (movdi_internal64+5): Make SUBREG-safe |
| by using gen_lowpart_common. |
| (movdi_internal64+6): Likewise. |
| |
| 2000-08-26 Alexandre Oliva <aoliva@redhat.com> |
| |
| * tm.texi (FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION): |
| Document. |
| |
| * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Remap register |
| numbers to the ranges used by GDB. |
| |
| 2000-08-25 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64.h (struct machine_function): Add n_varargs. |
| * config/ia64/ia64.c (ia64_compute_frame_size): Use it. |
| (ia64_expand_prologue): Likewise. |
| (ia64_setup_incoming_varargs): Set it. Properly skip the current |
| argument for stdargs. |
| |
| 2000-08-25 Jason Merrill <jason@redhat.com> |
| |
| * integrate.c (expand_inline_function): Pull out the original decl. |
| |
| 2000-08-25 Jim Wilson <wilson@cygnus.com> |
| |
| * cse.c (cse_insn): Don't pass label subtraction to force_const_mem. |
| |
| * function.c (gen_mem_addressof): Clear MEM_ALIAS_SET if no decl. |
| |
| 2000-08-25 Greg McGary <greg@mcgary.org> |
| |
| * flow.c (dump_edge_info): Use ARRAY_SIZE. |
| * config/alpha/alpha.c (alpha_expand_block_move): Likewise. |
| |
| 2000-08-25 Richard Earnshaw <rearnsha@arm.com> |
| |
| * arm.h (STRUCT_VALUE): Define to 0, not NULL. |
| |
| Fri Aug 25 12:52:49 EDT 2000 John Wehle (john@feith.com) |
| |
| * i386.c (ix86_find_base_term): New. |
| * i386-protos.h (ix86_find_base_term): Prototype. |
| * i386.h (FIND_BASE_TERM): Define. |
| * alias.c (find_base_term): Use it. |
| * tm.texi (FIND_BASE_TERM): Document it. |
| |
| * alias.c (true_dependence, write_dependence_p): Unchanging |
| memory can't conflict with non-unchanging memory. |
| |
| * alias.c (memrefs_conflict_p): A BLKmode reference |
| to a symbol (or CONST_INT address) always conflicts |
| with a reference to another symbol. |
| |
| 2000-08-25 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (time_char_table): Don't allow width and flags with |
| "z" format. |
| |
| 2000-08-25 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/i386.c (ix86_expand_branch): Treat GE and GEU the same |
| way as LT and LTU when the second operand has 0 in low word. |
| |
| 2000-08-26 Michael Hayes <mhayes@cygnus.com> |
| |
| * basic-block.h (struct loop): Rename `exits' field to |
| `exit_edges'. Add `entry_edges' and `num_entries' fields. |
| |
| * flow.c (flow_loop_exit_edges_find): Rename from flow_loop_exits_find. |
| (flow_loop_entry_edges_find): Add. |
| (flow_edge_list_print): Rename from flow_exits_print. |
| (flow_loops_find): Call flow_loop_entry_edges_find. |
| (flow_loop_dump): Dump entry_edges list. |
| (flow_loops_free): Free entry_edges. |
| |
| 2000-08-26 Michael Hayes <mhayes@cygnus.com> |
| |
| * loop.c (loop_dump_aux, debug_loop): New functions. |
| (LOOP_BLOCK_NUM_1, LOOP_BLOCK_NUM, LOOP_INSN_UID): New macros. |
| |
| * flow.c (flow_loops_dump): Add callback parameter. |
| (flow_loop_dump): Add callback parameter and call it. Move |
| loop note debugging code to loop_dump_aux. |
| |
| * basic-block.h (flow_loop_dump): Add callback parameter |
| (flow_loops_dump): Likewise. |
| |
| * toplev.c (rest_of_compilation): Add NULL callback function pointer |
| to call to flow_loops_dump. |
| |
| 2000-08-26 Michael Hayes <mhayes@cygnus.com> |
| |
| * loop.c (count_loop_regs_set): Replace start and end arguments |
| with loop argument. All callers udated. |
| |
| 2000-08-26 Michael Hayes <mhayes@cygnus.com> |
| |
| * loop.c (constant_high_bytes): Delete. |
| |
| 2000-08-26 Michael Hayes <mhayes@cygnus.com> |
| |
| * loop.c (prescan_loop): Move checks for NOTE_INSN_LOOP_CONT |
| and NOTE_INSN_LOOP_VTOP to... |
| (find_and_verify_loops) ...here. |
| |
| Fri Aug 25 04:21:13 2000 Alexandre Oliva <aoliva@redhat.com> |
| |
| * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Define default. |
| (fini_dummy, init_dummy): Use it. |
| |
| Fri 25-Aug-2000 08:03:27 BST Neil Booth <NeilB@earthling.net> |
| |
| * cpplex.c (is_macro_disabled): Caller has already checked |
| that we're not a preprocessed file. |
| |
| 2000-08-24 Mark Mitchell <mark@codesourcery.com> |
| |
| * Makefile.in (C_AND_OBJC_OBJS): Remove c-iterate.o. |
| (c-iterate.o): Remove target. |
| * gcc/c-common.h (enum rid): Remove RID_ITERATOR. |
| * gcc/c-decl.c (init_decl_processing): Remove call to init_iterators. |
| (finish_decl): Don't handle iterators. |
| (grokdeclarator): Likewise. |
| * gcc/c-parse.gperf: Remove __iterator and __iterator__ keywords. |
| * gcc/c-gperf.h: Regenerated. |
| * gcc/c-iterate.c: Removed. |
| * gcc/c-lex.c (init_lex): Don't handle iterators. |
| * gcc/c-parse.in (primary): Remove pop_iterator_stack call. |
| (compstmt_primary_start): Remove push_iterator_stack call. |
| (stmt): Don't allow iterator statements. Replace iterator_expand |
| with expand_expr_stmt. |
| (all_iter_stmt): Remove. |
| (all_iter_stmt_simple): Likewise. |
| (all_iter_stmt_with_decl): Likewise. |
| * gcc/c-tree.h (ITERATOR_P): Remove. |
| (ITERATOR_BOUND_P): Likewise. |
| (init_iterators): Remove declaration. |
| (iterator_expand): Likewise. |
| (iterator_for_loop_start): Likewise. |
| (iterator_for_loop_end): Likewise. |
| (iterator_for_loop_record): Likewise. |
| (push_iterator_stack): Likewise. |
| (pop_iterator_stack): Likewise. |
| * gcc/c-typeck.c (decl_constant_value): Don't check ITERATOR_P. |
| (readonly_warning): Likewise. |
| * gcc/tree.h (ITERATOR_BOUND_P): Don't mention it. |
| |
| 2000-08-24 Jim Wilson <wilson@cygnus.com> |
| |
| * c-common.c (decl_attributes, case A_ALIGN): Revert last change. |
| Copy type in a TYPE_DECL, just like pushdecl does. |
| |
| 2000-08-24 Richard Henderson <rth@cygnus.com> |
| |
| * toplev.c (main): Enable flag_reorder_blocks at -O2. |
| |
| 2000-08-24 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * ggc-page.c (alloc_page): If HAVE_MMAP_ANYWHERE and we're |
| asked for one page, allocate GGC_QUIRE_SIZE of them and put |
| the extras on the free list. |
| (release_pages): Clean up. |
| (ggc_set_mark): Don't adjust G.allocated here... |
| (sweep_pages): ... do it here. |
| |
| 2000-08-24 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppfiles.c (read_include_file): Rearrange initializations. |
| |
| 2000-08-24 Richard Henderson <rth@cygnus.com> |
| |
| * stmt.c (expand_asm_operands): Treat EXTRA_CONSTRAINT like g or X. |
| |
| * config/ia64/ia64-protos.h: Update. |
| * config/ia64/ia64.c (gr_register_operand): New. |
| (fr_register_operand, grfr_register_operand): New. |
| (gr_nonimmediate_operand, grfr_nonimmediate_operand): New. |
| (grfr_reg_or_8bit_operand): New. |
| (gr_reg_or_0_operand): Rename from reg_or_0_operand and |
| use gr_register_operand. |
| (gr_reg_or_5bit_operand, gr_reg_or_6bit_operand): Likewise. |
| (gr_reg_or_8bit_operand, gr_reg_or_8bit_adjusted_operand): Likewise. |
| (gr_reg_or_8bit_and_adjusted_operand): Likewise. |
| (gr_reg_or_14bit_operand, gr_reg_or_22bit_operand): Likewise. |
| (fr_reg_or_fp01_operand): Likewise. |
| (not_postinc_memory_operand): New. |
| (ia64_split_timode): Remove unused variables. |
| (rtx_needs_barrier): Check arguments to cmpxchg. |
| (builtin_description): Remove. |
| (bdesc_2argsi, bdesc_2argdi): Remove. |
| (ia64_init_builtins): Declare all builtins directly. |
| (ia64_expand_fetch_and_op): Rewrite to be called from |
| ia64_expand_builtin directly. Use expand_binop and co. |
| (ia64_expand_op_and_fetch): Likewise. |
| (ia64_expand_compare_and_swap): Likewise. |
| (ia64_expand_binop_builtin): Remove. |
| (ia64_expand_lock_test_and_set): New. |
| (ia64_expand_lock_release): New. |
| (ia64_expand_builtin): Use them. |
| * config/ia64/ia64.h (CONSTRAINT_OK_FOR_S): New. |
| (EXTRA_CONSTRAINT): Use it. |
| (PREDICATE_CODES): Update. |
| * config/ia64/ia64.md (*): Use gr_register_operand and co. |
| (mf): Indicate that we set memory as well as use it. |
| (fetchadd_acq_si): Show memory being modified as well. |
| (fetchadd_acq_di, cmpxchg_acq_si, cmpxchg_acq_di): Likewise. |
| (val_compare_and_swap_si, val_compare_and_swap_di): Remove. |
| (lock_test_and_set_si, lock_test_and_set_di): Remove. |
| (fetch_and_add_si, fetch_and_sub_si, fetch_and_or_si): Remove. |
| (fetch_and_and_si, fetch_and_xor_si, fetch_and_nand_si): Remove. |
| (fetch_and_add_di, fetch_and_sub_di, fetch_and_or_di): Remove. |
| (fetch_and_and_di, fetch_and_xor_di, fetch_and_nand_di): Remove. |
| (add_and_fetch_di, sub_and_fetch_di, or_and_fetch_di): Remove. |
| (and_and_fetch_di, xor_and_fetch_di, nand_and_fetch_di): Remove. |
| (add_and_fetch_si, sub_and_fetch_si, or_and_fetch_si): Remove. |
| (and_and_fetch_si, xor_and_fetch_si, nand_and_fetch_si): Remove. |
| * config/ia64/ia64intrin.h (*): Cast result to the appropriate |
| return type. Pretty print definitions. |
| |
| 2000-08-24 Jim Wilson <wilson@cygnus.com> |
| |
| * config/ia64/ia64.md (movdi): Don't call gen_movdi_symbolic if |
| we have a SYMBOL_REF with SYMBOL_REF_FLAG set. |
| |
| 2000-08-24 Jason Merrill <jason@redhat.com> |
| |
| * dwarf2out.c (AT_flag, AT_int, AT_unsigned, AT_string, AT_ref, |
| AT_loc, AT_addr, AT_lbl): Abort on unsuitable input. |
| (get_AT_low_pc, get_AT_hi_pc, get_AT_string, get_AT_flag, |
| get_AT_unsigned, get_AT_ref): Don't call them if get_AT fails. |
| |
| 2000-08-24 Greg McGary <greg@mcgary.org> |
| |
| * optabs.c (init_optabs): Initialize fixtab, fixtrunctab, floattab, |
| and extendtab within their proper array boundaries. |
| * emit-rtl.c (init_emit_once): Pass `const_tiny_rtx' with bounds |
| for the entire array. |
| |
| * config/arm/arm.c (arm_override_options): Use ARRAY_SIZE. |
| * config/alpha/alpha.c (alpha_lookup_xfloating_lib_func): Likewise. |
| * config/avr/avr.c (order_regs_for_local_alloc): Likewise. |
| * config/fr30/fr30.c (fr30_print_operand): Likewise. |
| * config/i386/dgux.c (output_options): Likewise. |
| * config/i386/dgux.h (ASM_FILE_START): Likewise. |
| * config/m88k/m88k.c (output_options): Likewise. |
| * config/m88k/m88k.h (ASM_FILE_START): Likewise. |
| * config/mcore/mcore.c (mcore_output_inline_const_forced, |
| layout_mcore_frame, handle_structs_in_regs): Likewise. |
| * config/mips/mips.c (output_block_move): Likewise. |
| * config/rs6000/rs6000.c (rs6000_override_options, |
| rs6000_file_start): Likewise. |
| * config/sparc/sparc.c (sparc_add_gc_roots): Likewise. |
| * fixinc/fixfixes.c (FIX_TABLE_CT): Likewise. |
| * fixinc/fixtests.c (TEST_TABLE_CT): Likewise. |
| * builtins.c (expand_builtin_setjmp): Likewise. |
| * expr.c (safe_from_p): Likewise. |
| * flow.c (life_analysis): Likewise. |
| * fold-const.c (size_int_type_wide): Likewise. |
| * gcc.c (translate_options, init_spec, set_spec, main): Likewise. |
| * genattrtab.c (make_length_attrs): Likewise. |
| * genopinit.c (gen_insn): Likewise. |
| * genrecog.c (NUM_KNOWN_PREDS, NUM_SPECIAL_MODE_PREDS): Likewise. |
| * global.c (global_alloc): Likewise. |
| * local-alloc.c (find_free_reg): Likewise. |
| * mips-tdump.c (print_symbol): Likewise. |
| * mips-tfile.c (parse_def, parse_input): Likewise. |
| * reload1.c (NUM_ELIMINABLE_REGS): Likewise. |
| * stmt.c (expand_nl_goto_receiver): Likewise. |
| * stor-layout.c (set_sizetype): Likewise. |
| * varasm.c (decode_reg_name): Likewise. |
| * toplev.c (decode_f_option, decode_W_option, |
| set_target_switch, print_switch_values): Likewise. |
| (NUM_ELEM): Remove macro. |
| (display_help, main): s/NUM_ELEM/ARRAY_SIZE/ |
| |
| 2000-08-24 Greg McGary <greg@mcgary.org> |
| |
| * tree.h (enum tree_index): New member `TI_MAIN_IDENTIFIER'. |
| (MAIN_NAME_P, main_identifier_node): New macros. |
| * c-common.c (c_common_nodes_and_builtins): Init main_identifier_node. |
| * c-decl.c (start_decl, grokdeclarator, start_function, |
| store_parm_decls, finish_function): Use MAIN_NAME_P. |
| * config/avr/avr.c (function_prologue, function_epilogue): Likewise. |
| * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise. |
| * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise. |
| * config/pdp11/pdp11.c (output_function_prologue): Likewise. |
| |
| 2000-08-24 Greg McGary <greg@mcgary.org> |
| |
| * cppfiles.c (actual_directory): Don't write beyond `dir' |
| when it contains "". |
| * real.c (asctoeg): Stay within bounds of etens[][]. |
| |
| 2000-08-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * dependence.c (dependence_string, direction_string, |
| dump_one_node, dump_node_dependence): Hide unused identifiers. |
| (get_low_bound, normalize_coefficients): Match definition to |
| static prototype. |
| (get_one_coefficient): Initialize variables `value0_is_idx' and |
| `value1_is_idx'. |
| (ziv_test, gcd_test): Mark parameters with ATTRIBUTE_UNUSED. |
| (ziv_test): Delete variable `idx', use parameter `sub' instead. |
| (direction_merge): Avoid automatic aggregate initialization. |
| (have_dependence_p): Use `src' not `dest' to set `src_idx'. |
| Initialize variables `dest_idx' and `src_idx'. |
| (end_dependence_analysis): Avoid C89 style function definition. |
| |
| 2000-08-24 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (time_char_table): Don't allow width with %F. |
| (check_format_info): Don't allow "Z" length with scanf. |
| |
| 2000-08-24 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * diagnostic.c (finish_diagnostic): Define. |
| (output_do_printf): Use wrap_text instead of output_add_string. |
| (default_print_error_function): Avoid embedded '\n'. |
| |
| * diagnostic.h (flush_diagnostic_buffer): Declare. |
| |
| 2000-08-23 Alexandre Oliva <aoliva@redhat.com> |
| |
| * dependence.c: Replace `[][]' with `[][MAX_SUBSCRIPTS]'. |
| |
| 2000-08-23 Hans-Peter Nilsson <hp@axis.com> |
| |
| * Makefile.in (GCC_PASSES): Add specs. |
| |
| 2000-08-23 Jim Wilson <wilson@cygnus.com> |
| |
| * frame.h (IA64_UNW_EHANDLER, IA64_UNW_UHANDLER): New. |
| * config/ia64/frame-ia64.c (__get_personality): Return zero if neither |
| EHANDLER nor UHANDLER bit is set. |
| (__get_except_table): Likewise. |
| |
| 2000-08-23 Nick Clifton <nickc@redhat.com> |
| |
| * config/arm/lib1funcs.asm: Replace upper case condition codes |
| with lower case versions. |
| |
| * config/arm/arm.h (STRUCT_VALUE): Define. |
| (STRUCT_VALUE_REGNUM): Delete. |
| |
| 2000-08-23 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpphash.h (IN_I): New flag for directive table. |
| * cpplib.c (DIRECTIVE_TABLE): Mark #define, #undef, #ident, and |
| #pragma with IN_I. |
| (_cpp_check_directive): If -fpreprocessed, execute directives |
| marked with IN_I. Issue no warnings in this case. |
| * cpplex.c (_cpp_get_token): Expand no macros if -fpreprocessed. |
| |
| 2000-08-23 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (print_char_table): Allow 'I' flag with %d, %i and |
| %u. |
| (check_format_info): Support printf 'I' flag; warn about it with |
| -pedantic. |
| |
| 2000-08-23 Richard Earnshaw (rearnsha@arm.com) |
| |
| * arm.c (arm_expand_prologue): Ensure that the stack-adjustment |
| barrier can't be ignored by the alias analysis code. |
| |
| 2000-08-12 Eli Zaretskii <eliz@is.elta.co.il> |
| |
| * fixinc/inclhack.def (sysv68_string): Fix the Sed script so it |
| works inside fixincl. |
| |
| Wed Aug 23 04:55:48 2000 Alexandre Oliva <aoliva@redhat.com> |
| |
| * simplify-rtx.c (simplify_rtx): Don't pass VOIDmode to |
| simplify_relational_operation() unless both operands are of |
| VOIDmode. |
| * cse.c (fold_rtx): Likewise. |
| |
| Tue Aug 22 23:53:27 EDT 2000 John Wehle (john@feith.com) |
| |
| * rtlanal.c (rtx_unstable_p): The pic register is stable |
| (within one function) and the actual rtx should be used |
| when checking the registers. |
| (rtx_addr_can_trap_p): Pic memory addresses can't trap. |
| |
| * alias.c (true_dependence, write_dependence_p): Fix |
| bug in previous patch. |
| |
| * i386.c (ix86_GOT_alias_set): New. |
| (legitimize_pic_address): Use it. |
| |
| * rtlanal.c (rtx_unstable_p): An unchanging MEM is |
| only stable if its address is stable. |
| (rtx_varies_p): An unchanging MEM can't vary if |
| its address doesn't vary. |
| |
| 2000-08-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * c-parse.in (unop +): Restrict -Wtraditional warnings to user code. |
| |
| 2000-08-22 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * vax.h (ASM_SPEC): Pass `-J' to assembler. |
| * x-vax-gcc: New file for bootstrapping with gcc. |
| * x-vax: Use X_CFLAGS rather than X_CPPFLAGS to pass `-J'. |
| * configure.in: Use x-vax-gcc with gcc. |
| * configure: Rebuilt. |
| |
| Tue Aug 22 21:21:05 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * toplev.c (rest_of_compilation): Rebuild label notes after |
| post-reload splitting pass if new labels have been created. |
| |
| 2000-08-22 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * diagnostic.h (output_buffer_state): New macro. |
| * diagnostic.c (diagnostic_for_decl, sorry, |
| default_print_error_function, output_do_verbatim, |
| report_diagnostic, report_problematic_module): Use it. |
| (wrap_text): Tweak. |
| (output_format): Use wrap_text instead of maybe_wrap_text. |
| |
| 2000-08-22 Nick Clifton <nickc@redhat.com> |
| |
| * config/arm/lib1funcs.asm (ARM_DIV_MOD_BODY): New macro. |
| Common code for ARM divide and modulus functions. |
| (THUMB_DIV_MOD_BODY): New macro. Thumb equivalent of |
| ARM_DIV_MOD_BODY. |
| (FUNC_END): New macro: Common code at the end of the division and |
| modulo functions. |
| (THUMB_FUNCTION_START): New macro: Common code at the start of |
| Thumb functions. |
| (__divsi3, __udivsi3, __modsi3, __umodsi3): Use new macros. |
| |
| Tue Aug 22 20:34:52 2000 Kaz Kojima <kkojima@rr.iij4u.or.jp> |
| |
| * config/sh/sh.md (cmpeqdi_t splitter): Fix a reverse testing. |
| |
| * config/sh/sh.c (prepare_scc_operands): Apply force_reg to |
| sh_compare_op1 when the mode is DImode and sh_compare_op1 isn't |
| const0_rtx. |
| |
| 2000-08-22 Nick Clifton <nickc@redhat.com> |
| |
| * config/arm/lib1funcs.asm (__umodsi3): Before performing any |
| restorative additions, test for bottom bits of IP being set, |
| rather than relying upon the RORs not matching. |
| (__modsi3): Ditto. |
| |
| 2000-08-22 David Edelsohn <edelsohn@gnu.org> |
| |
| * aix.h (ASM_DECLARE_FUNCTION_NAME): Call named_section() or |
| text_section() as appropriate instead of emitting text csect |
| pseudo-op directly. |
| (TEXT_SECTION_ASM_OP): Only require default 32-bit alignment. |
| (UNIQUE_SECTION): Define macro. |
| (ASM_OUTPUT_SECTION_NAME): Define macro. |
| * rs6000.c (rs6000_override_options): Disable -ffunction-sections |
| on AIX if debugging and -fdata-sections always. |
| |
| 2000-08-22 Steven King <sxking@uswest.net> |
| |
| * config/float-i386.h (LDBL_EPSILON): Remove __convert_long_double |
| machinery. |
| (LDBL_MAX): Same here. |
| |
| 2000-08-22 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (tidy_fallthru_edge): Update b->end properly. |
| |
| 2000-08-22 Stan Cox <scox@redhat.com> |
| |
| * Makefile.in (OBJS): Add dependence.o. |
| * dependence.c: New file. |
| |
| 2000-08-22 Alexandre Oliva <aoliva@redhat.com>, John David Anglin <dave.anglin@nrc.ca> |
| |
| * calls.c (check_sibcall_argument_overlap_1): Adjust for |
| ARGS_GROW_DOWNWARD. |
| (check_sibcall_argument_overlap): Likewise. |
| |
| 2000-08-22 Alexandre Oliva <aoliva@redhat.com> |
| |
| * invoke.texi (SH Options): Document -m4-nofpu, |
| -m4-single-only, -m4-single, -m4, -mbigtable, -mfmovd, |
| -mhitachi, -mnomacsave, -misize, -mpadstruct, -mspace. |
| |
| 2000-08-22 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (check_format_info): Give the 'some locales' warning |
| for strftime %Ey rather than the unconditional 'only last 2 digits |
| of year' one. |
| |
| 2000-08-22 Richard Henderson <rth@cygnus.com> |
| |
| * alias.c (init_alias_analysis): Do not register |
| struct_value_incoming_rtx or static_chain_rtx as pointing |
| to stack memory. |
| |
| Tue Aug 22 01:44:43 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * protoize.c (munge_compile_params): Fix typo and formatting buglets. |
| |
| 2000-08-22 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * diagnostic.h (report_problematic_module): Declare. |
| * diagnostic.c (report_problematic_module): New function. |
| (report_error_function): Tweak. |
| |
| Tue Aug 22 02:31:26 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * stmt.c (expand_goto_internal, fixup_gotos): Only check |
| TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE. |
| |
| 2000-08-21 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (calculate_global_regs_live): Mark frame pointer live |
| everywhere before reload. |
| |
| 2000-08-21 Jim Wilson <wilson@cygnus.com> |
| |
| * real.c (ereal_from_int, ereal_from_uint, significand_size): Handle |
| INTEL_EXTENDED_IEEE_FORMAT. |
| (toe64): Delete INTEL_EXTENDED_IEEE_FORMAT support. Unconditionally |
| clear last two bytes of output FP value. |
| |
| 2000-08-21 Graham Stott <grahams@cygnus.co.uk> |
| |
| * config/ia64/ia64.h (REDO_SECTION_INFO_P): Change decl to DECL. |
| |
| 2000-08-21 Jakub Jelinek <jakub@redhat.com> |
| |
| * unroll.c (loop_find_equiv_value): If ret is modified between |
| insn and loop_start, ret might not be equivalent to reg. |
| |
| 2000-08-21 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (init_dollar_format_checking, |
| maybe_read_dollar_number, finish_dollar_format_checking): New |
| functions. |
| (dollar_arguments_used, dollar_arguments_count, |
| dollar_first_arg_num, dollar_max_arg_used, dollar_format_warned): |
| New variables. |
| (check_format_info): Support $ formats for scanf and printf width |
| and precision. Always increment format_chars to advance past the |
| '*' of precision, not just when the format parameters are |
| available to check. |
| |
| 2000-08-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * mips.c (block_move_loop, expand_block_move, |
| function_arg_partial_nregs, save_restore_insns, function_prologue, |
| mips_expand_prologue, RA_MASK): Avoid using the `U' integer |
| constant suffix. |
| (function_arg_advance, function_arg): Match argument to format |
| specifier `%p'. |
| |
| 2000-08-21 Nix <nix@esperi.demon.co.uk> |
| |
| * gcc.c (do_spec_1): Implement %j spec flag. |
| Remove dead comment. |
| |
| * gcc.texi (The Configuration File): Document HOST_BIT_BUCKET. |
| * system.h (HOST_BIT_BUCKET): Default to "/dev/null". |
| * config/i386/xm-dos.h (HOST_BIT_BUCKET): Define as "NUL". |
| * config/i386/xm-os2.h, config/winnt/winnt.h: Likewise. |
| |
| * protoize.c (munge_compile_params): Use HOST_BIT_BUCKET (if |
| writable) instead of hardcoded value. |
| |
| * toplev.c (compile_file): Output to a file even if -fsyntax-only. |
| |
| * gcc.c, config/i386/xm-dos.h, config/i386/xm-os2.h: Kill |
| MKTEMP_EACH_FILE. |
| |
| * gcc.c (cc1_options): Do not process -o or run the assembler if |
| -fsyntax-only. |
| * objc/lang-spec.h: Likewise. |
| |
| 2000-08-21 Eli Zaretskii <eliz@is.elta.co.il> |
| |
| * fixinc/fixincl.c (fix_with_system): Pipe the output of |
| "external" fixes through `cat', to avoid truncating the input |
| file by redirection. |
| |
| 2000-08-21 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/i386.md (lea_general_1): Copy insn condition to split |
| condition. |
| (lea_general_2, lea_general_3): Likewise. |
| |
| 2000-08-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * c-decl.c (duplicate_decls, define_label): Restrict -Wtraditional |
| warnings to user code. |
| |
| * c-lex.c (readescape, yylex): Likewise. |
| |
| * c-typeck.c (store_init_value, process_init_element): Likewise |
| (c_expand_start_case): Format. |
| |
| 2000-08-18 Maciej W. Rozycki <macro@ds2.pg.gda.pl> |
| |
| * mips/linux.h (LINK_SPEC): Use %(endian_spec). |
| |
| * mips/mips.h: Change LINKER_ENDIAN_SPEC to ENDIAN_SPEC |
| and linker_endian_spec to endian_spec. |
| (ENDIAN_SPEC): Add %{EB} and %{EL}. |
| (LINK_SPEC): Remove %{EB} and %{EL}. |
| (ASM_SPEC): Likewise. Use %(endian_spec). |
| |
| 2000-08-21 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-tree.h (flag_hosted): Move declaration from here... |
| * c-common.h (flag_hosted): ... to here. |
| (flag_noniso_default_format_attributes): New declaration. |
| * c-decl.c (flag_noniso_default_format_attributes): New variable. |
| (c_decode_option): Set it appropriately for options choosing |
| language standard variant. |
| * c-common.c (init_function_format_info): Only provide default |
| format attributes if flag_hosted. Only provide the gettext |
| formats if flag_noniso_default_format_attributes. Update |
| comments. |
| (check_format_info): Disable treatment of %a as a scanf flag in |
| C99 mode. |
| |
| 2000-08-21 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (scan_char_table): Add 'w' to flags for all formats |
| except 'n'. |
| (check_format_info): Set 'wide' for scanf format widths. Warn for |
| a zero scanf width. Make the check for writing into a constant |
| object at the first level of indirection; at later levels, warn if |
| any type qualifiers are encountered. |
| |
| Mon Aug 21 07:41:12 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * reload.c (reload_inner_reg_of_subreg): New function broken out of |
| push_reload. |
| (push_reload): Use reload_inner_reg_of_subreg. |
| (combine_reloads): Do not combine reloads if the input reload |
| is a SUBREG in which the inner part will need reloading. |
| |
| * global.c (global_alloc): Avoid passing dumpfile argument to |
| reload routines. |
| * toplev.c (rest_of_compilation): Likewise. |
| * reload.h (reload): Remove dumpfile argument. Callers changed. |
| (debug_reload, debug_reload_to_stream): Move prototypes here. |
| * rtl.h (reload): Remove dumpfile argument. |
| * reload.c (debug_reload): Remove prototype. |
| (debug_reload_to_stream): Likewise. |
| * reload1.c: Avoid passing dumpfile around, rely on rtl_dump_file |
| instead. |
| |
| 2000-08-21 Gabriel Dos Reis <gdr@merlin.codesourcery.com> |
| |
| * diagnostic.c (context_as_prefix): Export. |
| (need_error_newline): Remove. |
| (lang_diagnostic_starter, lang_diagnostic_finalizer): New objects. |
| (error_module_changed, record_last_error_module, |
| error_function_changed, record_last_error_function): New functions. |
| (initialize_diagnostics): Default initialize |
| lang_diagnostic_starter, lang_diagnostic_finalizer. |
| (init_output_buffer): Tweak. |
| (file_name_as_prefix): New function. |
| (announce_function, default_print_error_function, |
| report_error_function, set_diagnostic_context): Tweak. |
| |
| 2000-08-21 Richard Earnshaw <rearnsha@arm.com> |
| |
| * flow.c (init_propagate_block_info): Handle SUBREG in a jump |
| condition expression. |
| |
| 2000-08-20 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (merge_blocks_nomove): Don't seek back past the bb note. |
| |
| 2000-08-20 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppinit.c (cpp_init): Set global flag when called. |
| (cpp_reader_init): Bomb out if cpp_init hasn't been called. |
| |
| Sun Aug 20 01:41:35 2000 Dennis Chernoivanov <cdi@sparc.spb.su> |
| |
| * cpplex.c (cpp_scan_buffer): Move `output_line_command' just |
| before `process_directive' so that newlines won't be missed |
| for directives. |
| (cpp_printf): Increment `print->lineno' when newline is emitted. |
| |
| * cppmain.c (cb_ident): Likewise. |
| (cb_define): Likewise. |
| (cb_undef): Likewise. |
| (cb_include): Likewise. |
| (cb_def_pragma): Likewise. |
| (dump_macros_helper): Likewise. |
| |
| 2000-08-20 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64.c (emit_insn_group_barriers): Stop if ar.lc |
| assigned before a loop. |
| |
| * config/ia64/ia64.md (ashlsi3): Zero extend the shift count. |
| (ashrsi3, lshrsi3): Likewise. |
| |
| 2000-08-20 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * c-lang.c: #include diagnostic.h |
| (c_tree_printer): New function. |
| (lang_init): Initialize lang_printer. |
| |
| * Makefile.in (c-lang.o): Depends on diagnostic.h |
| |
| 2000-08-20 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * c-errors.c (pedwarn_c99): Adjust call to report_diagnostic. |
| |
| * diagnostic.c (default_diagnostic_starter, |
| default_diagnostic_finalizer): New functions. |
| (diagnostic_for_asm, diagnostic_for_decl): Tweak. |
| (pedwarn, pedwarn_with_file_and_line, error, |
| error_with_file_and_line, fatal, warning, |
| warning_with_file_and_line): Adjust call to report_diagnostic. |
| (report_diagnostic): Rework. |
| (set_diagnostic_context): New function. |
| |
| * diagnostic.h (struct diagnostic_context): New data structure. |
| (diagnostic_message, diagnostic_argument_list, |
| diagnostic_file_location, diagnostic_line_location, |
| diagnostic_is_warning, diagnostic_starter, diagnostic_finalizer, |
| diagnostic_finalizer, diagnostic_auxiliary_data): New macros. |
| (set_diagnostic_context): Declare. |
| (report_diagnostic): Change prototype. |
| |
| Sun 20-Aug-2000 09:25:45 BST Neil Booth <NeilB@earthling.net> |
| |
| * fix-header.c (main): Initialize cpplib. |
| |
| 2000-08-19 Michael Meissner <meissner@redhat.com> |
| |
| * ifcvt.c (find_if_block): Do not assume that a THEN block has any |
| instructions in it before checking for indirect jumps. |
| |
| * ifcvt.c (find_if_block): Do not consider a THEN block that ends |
| in an indirect jump as a potential for conditional execution. |
| |
| * d30v.h (d30v_init_expanders): Don't declare here. |
| * d30v-protos.h (d30v_init_expanders): Declare here with a valid |
| prototype. |
| |
| Sat 19-Aug-2000 21:11:45 BST Neil Booth <NeilB@earthling.net> |
| |
| * cpp.texi: Add @section for assertions. |
| |
| Sat Aug 19 12:37:08 EDT 2000 John Wehle (john@feith.com) |
| |
| * loop.c (scan_loop): Use CONST_CALL_P instead of |
| checking for REG_LIBCALL / REG_RETVAL. |
| |
| Sat Aug 19 09:18:47 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * reload1.c (reload_as_needed): Accept dumpfile argument, |
| pass it to emit_reload_insns. |
| (emit_reload_insns): Add new dumpfile argument. If non-null |
| then dump the reloads for each insn into the dumpfile. |
| (reload): Pass dumpfile to reload_as_needed. |
| |
| * invoke.texi: Clean up linux-gnu vs linux comments. |
| |
| 2000-08-19 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64.c (reg_or_5bit_operand): New. |
| (ia64_depz_field_mask): New. |
| * config/ia64/ia64.h (CONSTRAINT_OK_FOR_R): New. |
| (PREDICATE_CODES): Update. |
| * config/ia64/ia64.md: Update commentary. |
| (depz_internal): New. |
| (ashlsi3): Implement directly. |
| (ashrsi3, lshrsi3): Simplify; rely on extv and extzv for constants. |
| (ashldi3): Use shladd. |
| * config/ia64/ia64-protos.h: Update. |
| |
| 2000-08-18 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * toplev.c (independent_decode_option): Always process -g. |
| Remove third argument, now unused. Adjust caller to match. |
| |
| 2000-08-18 Richard Henderson <rth@cygnus.com> |
| |
| * combine.c (make_compound_operation): Break after creating |
| the extraction. |
| |
| 2000-08-18 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplib.c (cpp_register_pragma_space): Just return if the |
| namespace is already registered. |
| |
| 2000-08-18 Ray Essick <essick@ddna.labs.mot.com> & Nick Clifton <nickc@redhat.com> |
| |
| * config/mcore/mcore.md (rotlsi3): Allow allow rotations by a |
| constant amount. Do not generate ROTL instruction. |
| |
| Fri Aug 18 16:22:20 2000 Alexandre Oliva <aoliva@redhat.com> |
| |
| * config/sh/elf.h: Do not include sh/sh.h. |
| * config/sh/rtems.h: Likewise. |
| * config/sh/rtemself.h: Do not include sh/elf.h. |
| * configure.in: Get them included with `tm_file's. |
| * configure: Rebuilt. |
| |
| * config/sh/sh.md (fpu_switch0, fpu_switch1): Simplify. |
| * config/sh/sh.c (fpscr_set_from_mem): Use them. |
| |
| Fri Aug 18 14:23:18 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * stor-layout.c (compute_record_type): Don't use mode of single |
| field as mode of record if not integer mode of same type. |
| |
| * regmove.c (perhaps_ends_bb_p): New function. |
| (optimize_reg_copy_1, optimize_reg_copy_2): Call it. |
| (optimize_reg_copy_3, fixup_match_2, regmove_optimize): Likewise. |
| (fixup_match_1): Likewise. |
| (fixup_match_1, combine_stack_adjustments_for_block): Add casts to |
| avoid signed/unsigned warnings. |
| |
| * function.c (fixup_var_refs_1, case MEM): Update CODE after |
| updating X. |
| |
| Fri 18-Aug-2000 18:33:45 BST Neil Booth <NeilB@earthling.net> |
| |
| * cpphash.h: Use HAVE_DESIGNATED_INITIALIZERS. |
| (_cpp_trigraph_map): Declaration moved from cpplex.c |
| |
| * cppinit.c: Define _cpp_trigraph_map. Use UCHAR_MAX + 1 |
| instead of 256. Use consistent test for designated initializers. |
| (cpp_init): Initialize trigraph_map. |
| (initialize_standard_includes, parse_option): Use memcmp |
| instead of strncmp. |
| |
| * cpplex.c (init_trigraph_map): Remove. |
| (trigraph_ok, trigraph_replace, lex_line): Refer to |
| _cpp_trigraph_map. |
| |
| * cpplib.c (str_match, WARNING, ERROR, ICE): Delete. |
| (do_unassert): Remove unused "next" local. |
| |
| * system.h (HAVE_DESIGNATED_INITIALIZERS): New prototype. |
| |
| 2000-08-18 Emmanuel Marty <emarty@suntech.fr> |
| |
| * arm/lib1funcs.asm (_umodsi3 THUMB VARIANT): Restore deleted return |
| insn. |
| |
| 2000-08-17 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64.c (spill_restore_mem): Handle emitting |
| the first insn in a sequence. |
| |
| Thu Aug 17 22:40:05 EDT 2000 John Wehle (john@feith.com) |
| |
| * alias.c (true_dependence, write_dependence_p): A read |
| involving a label_ref or the constant pool doesn't create |
| a dependency. |
| |
| * rtl.h (unchanging): Improve documentation. |
| |
| 2000-08-17 Rodney Brown <RodneyBrown@mynd.com> |
| |
| * cse.c (insert_regs): Remove unused `regno'. |
| |
| 2000-08-17 Neil Booth <NeilB@earthling.net> |
| |
| * (cppinit.c) merge_include_chains: Use remove_dup_dir, |
| remove_dup_dirs. If qtail == brack, remove brack not |
| qtail. |
| (remove_dup_dir, remove_dup_dirs): New functions. |
| |
| 2000-08-17 Neil Booth <NeilB@earthling.net> |
| |
| * cppinit.c (cpp_cleanup): Free include dir chains. |
| * cpplib.c (do_undef): Let _cpp_free_definition make the node void. |
| (do_unassert): Free the assert with _cpp_free_definition. |
| * cppmacro.c (_cpp_free_definition): Free memory allocated for |
| assertions. Make the node a T_VOID node. |
| |
| 2000-08-17 Neil Booth <NeilB@earthling.net> |
| |
| * cppinit.c (path_include, append_include_chain): |
| Remove 2nd parameter (struct cpp_pending *). |
| (path_include, initialize_standard_includes, cpp_handle_option): |
| Update callers appropriately. |
| (cpp_handle_option): Use pend. |
| |
| 2000-08-17 Neil Booth <NeilB@earthling.net> |
| |
| * cppinit.c (sort_options): Remove, put functionality in |
| cpp_init. |
| (cpp_init): New. |
| (initialize_builtins): Free memory. |
| (cpp_start_read): Move init_IStable to cpp_init. |
| |
| * cpplib.h (cpp_init): New prototype. |
| * cppmain.c (main): Call cpp_init. |
| |
| Thu Aug 17 13:20:32 EDT 2000 John Wehle (john@feith.com) |
| |
| * rtlanal.c (rtx_unstable_p): Use CONSTANT_P. |
| (rtx_unstable_p, rtx_varies_p): Process vectors. |
| |
| 2000-08-16 Niibe Yutaka <gniibe@m17n.org>, Kaz Kojima <kkojima@rr.iij4u.or.jp> |
| |
| * config/sh/lib1funcs.asm (GLOBAL): Define. Use for all |
| references to GLOBAL symbols. Use LOCAL where appropriate. |
| |
| 2000-08-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * configure.in (*-ibm-aix4.[12]*): Delete test for gnu ld. Always |
| use t-aix41 when host == target. |
| |
| 2000-08-16 Richard Henderson <rth@cygnus.com> |
| |
| * reload.c (push_secondary_reload): Revert last change. |
| If we use a reload_in/out pattern, make the when the same |
| as the primary reload. |
| (find_reloads): Likewise. |
| |
| 2000-08-16 Manfred Hollstein <manfredh@redhat.com> |
| |
| * configure.in (libstdcxx-v3): Fix test. |
| * configure: Regenerate. |
| |
| Wed Aug 16 08:10:32 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * calls.c (calls_function_1, expand_call): Only test |
| TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE. |
| * function.c (thread_prologue_and_epilogue_insns): Likewise. |
| |
| 2000-08-16 Richard Henderson <rth@cygnus.com> |
| |
| * combine.c (simplify_shift_const): Revert previous two |
| changes. If SHIFT_COUNT_TRUNCATED, crop the shift count |
| before the main loop. |
| |
| 2000-08-15 Richard Henderson <rth@cygnus.com> |
| |
| * combine.c (simplify_shift_const): Bound shift count when |
| combining shifts. |
| |
| Tue Aug 15 17:33:05 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * calls.c (ECF_SP_DEPRESSED): New macro. |
| (calls_function_1): Treat calling sp-depressed function as alloca. |
| (emit_call_1): Don't adjust SP if calling sp-depressed function. |
| (expand_call): Set ECF_SP_DEPRESSED if TYPE_RETURNS_STACK_DEPRESSED. |
| If sp-depressed, ensure block saves and restores SP. |
| * fold-const.c (extract_muldiv): Only check TYPE_IS_SIZETYPE |
| for INTEGER_TYPE. |
| * function.c (keep_stack_depressed): New function. |
| (thread_prologue_and_epilogue_insns): Call it. |
| * print-tree.c (print_node): Use HOST_WIDE_INT_PRINT_UNSIGNED |
| to print DECL_OFFSET_ALIGN. |
| Print no-force-blk and transparent-union flags properly. |
| * stmt.c (expand_goto_internal): Don't restore stack if last block |
| and function returns with sp depressed. |
| (fixup_gotos): Likewise. |
| (save_stack_pointer): New function, from code in expand_decl. |
| (expand_decl): Call new function. |
| * tree.h (TYPE_IS_SIZETYPE): Call INTEGER_TYPE_CHECK. |
| (TYPE_RETURNS_STACK_DEPRESSED): New macro. |
| (save_stack_pointer): New declaration. |
| |
| * diagnostic.c (fatal_function): New variable. |
| (set_fatal_function): New function. |
| (fatal): Call it. |
| * diagnostic.h (set_fatal_function): New declaration. |
| |
| 2000-08-15 William Cohen <wcohen@redhat.com> |
| |
| * config/sh/elf.h (DWARF2_DEBUGGING_INFO): Defined. |
| (PREFERRED_DEBUGGING_TYPE): Set to dwarf2 info. |
| (DWARF2_ASM_LINE_DEBUG_INFO): Defined. |
| |
| 2000-08-15 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (mark_used_reg): Set reg_cond_reg appropriately. |
| |
| 2000-08-15 Richard Earnshaw <rearnsha@arm.com> |
| |
| * arm.c (arm_function_ok_for_sibcall): New function. |
| * arm.h (FUNCTION_OK_FOR_SIBCALL): Define. |
| * arm.md (call expanders): Don't check here for calls that can't |
| be sibling calls. |
| |
| 2000-08-15 Richard Earnshaw <rearnsha@arm.com> |
| |
| * arm.md (splits generating cond_exec): Disable. |
| |
| 2000-08-15 Richard Earnshaw <rearnsha@arm.com> |
| |
| * arm/linux-elf.h (text_section): Delete declaration. |
| |
| 2000-08-15 Richard Earnshaw <rearnsha@arm.com> |
| |
| ARM support for unordered FP operations. |
| * arm-protos.h (arm_comparison_operator): Declare. |
| * arm.c (arm_comparison_operator): New function. |
| (arm_select_cc_mode): Add unordered comparison codes. |
| (get_arm_condition_code): Likewise. |
| (arm_final_prescan_insn): Can't handle unordered jumps that can't |
| be done in one insn. |
| * arm.h (PREDICATE_CODES): Add arm_comparison_operator. |
| * arm.md (all uses of comparison_operator): Replace with |
| arm_comparison_operator. |
| (bunordered, bordered, bugt, bunlt, bunge, bunle, buneq, bltgt): New |
| expands. |
| (arm_buneq, arm_bltgt, arm_buneq_reversed, arm_bltgt_reveresed): New |
| patterns. |
| |
| Tue Aug 15 00:36:36 2000 Ovidiu Predescu <ovidiu@cup.hp.com> |
| |
| * gthr-posix.h: Conditionally include <sched.h>; include |
| <config.h> from libobjc/. |
| |
| 2000-08-14 Richard Henderson <rth@cygnus.com> |
| |
| * config/i386/i386.c (legitimize_pic_address): Use Pmode |
| for all CONSTs. |
| |
| 2000-08-14 Richard Henderson <rth@cygnus.com> |
| |
| * configure.in (ia64-*): Set float_format for i386 long double. |
| |
| * real.c (GET_REAL): Treat 128-bit INTEL_EXTENDED_IEEE_FORMAT |
| as we would for i386 XFmode. |
| (PUT_REAL): Likewise. |
| (endian, ereal_atof, real_value_truncate): Likewise. |
| (ereal_isneg, toe64, etens, make_nan): Likewise. |
| * real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Likewise. |
| |
| * config/ia64/ia64-protos.h: Update. |
| * config/ia64/ia64.c (general_tfmode_operand): New. |
| (destination_tfmode_operand): New. |
| (tfreg_or_fp01_operand): New. |
| (ia64_split_timode): New. |
| (spill_tfmode_operand): New. |
| (ia64_expand_prologue): Use TFmode not XFmode. |
| (ia64_expand_epilogue): Likewise. |
| (ia64_function_arg): Likewise. |
| (ia64_function_arg_advance): Likewise. |
| (ia64_return_in_memory): Likewise. |
| (ia64_function_value): Likewise. |
| (ia64_print_operand): Likewise. |
| (ia64_register_move_cost): Set GR<->FR to 5. |
| (ia64_secondary_reload_class): Get GR for TImode memory op. |
| * config/ia64/ia64.h (ROUND_TYPE_SIZE): Remove. |
| (ROUND_TYPE_ALIGN): Remove. |
| (LONG_DOUBLE_TYPE_SIZE): Set to 128. |
| (INTEL_EXTENDED_IEEE_FORMAT): Define. |
| (HARD_REGNO_NREGS): Use TFmode, not XFmode. |
| (HARD_REGNO_MODE_OK): Likewise. Disallow TImode in FRs. |
| (MODES_TIEABLE_P): Use TFmode, not XFmode. |
| (CLASS_MAX_NREGS): Likewise. |
| (ASM_OUTPUT_LONG_DOUBLE): Output by 4 byte hunks. |
| (PREDICATE_CODES): Update. |
| * config/ia64/ia64.md (movti): New. |
| (movti_internal): Use a clobber for memory alternatives. |
| (reload_inti, reload_outti): New. |
| (movsfcc_astep): Predicate properly. |
| (movdfcc_astep): Likewise. |
| (movxf): Remove. |
| (movtf): New. |
| (extendsftf2, extenddftf2): New. |
| (trunctfsf2, trunctfdf2): New. |
| (floatditf2, fix_trunctfdi2): New. |
| (floatunsditf2, fixuns_trunctfdi2): New. |
| (addtf3, subtf3, multf3, abstf2): New. |
| (negtf2, nabstf2, mintf3, maxtf3): New. |
| (maddtf3, msubtf3, nmultf3, nmaddtf3): New. |
| (cmptf): New. |
| (fr_spill): Use TFmode, not XFmode. |
| (fr_restore): Likewise. |
| * config/ia64/lib1funcs.asm (__divtf3): New. |
| * config/ia64/t-ia64 (LIB1ASMFUNCS): Add it. |
| |
| 2000-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * cse.c (fold_rtx): Avoid empty body in an if-statement. |
| |
| * doloop.c (doloop_iterations_max, doloop_modify): Avoid using the |
| `U' integer constant suffix. |
| |
| * dwarf2out.c (add_subscript_info): Avoid empty body in an |
| else-statement. |
| |
| * sparc/sol2.h (__enable_execute_stack): Prototype. |
| |
| 2000-08-14 David Edelsohn <edelsohn@gnu.org> |
| |
| * collect2.c: Remove use of AIX import file. |
| |
| * longlong.h: Test ARCH_PWR not ARCH_POWER. |
| |
| * rs6000.c (print_operand, case 'E'): Add else. |
| |
| 2000-08-14 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64.md (movdi): Delay calling ia64_expand_load_address. |
| (movdi_symbolic): New. |
| |
| 2000-08-14 Jim Wilson <wilson@cygnus.com> |
| |
| * config/ia64/ia64.h (ASM_SPEC): Pass -mconstant-gp and -mauto-pic |
| to GNU as. For Intel as, pass -M const_gp and -M no_plabel. |
| * config/ia64/linux.h (ASM_SPEC): Pass -mconstant-gp and -mauto-pic |
| to GNU as. |
| |
| 2000-08-14 Richard Henderson <rth@cygnus.com> |
| |
| * expr.c (emit_group_load): Don't force constants into registers. |
| Special case source already in the correct mode. |
| |
| 2000-08-14 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * configure.in: Accept *-*-linux* not just *-*-linux-gnu*. |
| * fixinc/inclhack.def: Likewise. |
| * fixinc/mkfixinc.sh: Likewise. |
| * configure: Regenerate. |
| * fixinc/fixincl.x: Regenerate. |
| * install.texi: Document equivalence of linux and linux-gnu. |
| |
| Mon Aug 14 18:51:44 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * cse.c (insert_regs): Also in REG case: When finding an invalid |
| value, and we make a new quantity, make sure that it won't be |
| mistaken by for a valid one by mention_regs. |
| |
| 2000-08-13 Ralf GĂĽtlein <ralf.guetlein@aranea.de> |
| |
| * h8300.md: Remove obsolete peepholes. |
| |
| 2000-08-13 Kazu Hirata <kazu@hxi.com> |
| |
| * invoke.texi (H8/300 Options): Fix typos. |
| * config/h8300.c: Fix formatting. |
| * config/h8300.h: Fix comment typos. |
| (OVERRIDE_OPTIONS): Fix formatting. |
| |
| * function.c: Fix formatting. |
| |
| * cse.c: Fix formatting. |
| |
| 2000-08-13 Geoff Keating <geoffk@cygnus.com> |
| |
| * flow.c (attempt_auto_inc): Remove unused variable `bb'. |
| (attempt_auto_inc): Suppress parentheses warning. |
| * function.c (put_reg_into_stack): Remove unused variable `unsigned_p'. |
| * loop.c (load_mems): Remove `u' suffix in two places. |
| * config/rs6000/rs6000.c: Remove unnecessary `u' suffixes from |
| hex constants. |
| * config/rs6000/rs6000.h: Likewise. |
| * config/rs6000/sol-c0.c: Prototype some functions. Remove the |
| __eabi dummy routine. |
| * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Remove unused |
| variable `buf_ptr'. |
| |
| * config/rs6000/rs6000.c (rs6000_select_section): Rewrite to |
| not put stuff in .sdata unnecessarily. |
| (rs6000_unique_section): New function. |
| * config/rs6000/rs6000-protos.h: Add rs6000_unique_section. |
| * config/rs6000/sysv4.h (UNIQUE_SECTION): Define. |
| |
| * c-typeck.c (build_array_ref): Don't complain about non-lvalue |
| arrays in C99. Don't try to look at DECL_REGISTER of a |
| COMPONENT_REF. Don't complain twice about the same error. |
| |
| * fixinc/inclhack.def (aix_pthread): New fix. |
| (aix_sysmachine): New fix. |
| * fixinc/fixincl.x: Regenerate. |
| |
| * expr.c (expand_expr): Call convert_modes when turning a large |
| multiply into a small one. |
| |
| 2000-08-12 Geoff Keating <geoffk@cygnus.com> |
| |
| * tree.h (DECL_OFFSET_ALIGN): Make the off_align field of |
| the tree structure an exponent rather than an explicit alignment |
| so it doesn't overflow. |
| (SET_DECL_OFFSET_ALIGN): New macro. |
| * stor-layout.c (place_union_field): Use SET_DECL_OFFSET_ALIGN |
| rather than DECL_OFFSET_ALIGN. |
| (place_field): Likewise. |
| * expmed.c (store_bit_field): Abort on align==0 to avoid |
| antisocial machine behavior. |
| |
| 2000-08-12 Richard Henderson <rth@cygnus.com> |
| |
| * sibcall.c (uses_addressof): Accept both addressof and |
| current_function_internal_arg_pointer inside a mem. |
| (optimize_sibling_and_tail_recursive_call): Fail tail recursion |
| if current_function_uses_addressof. |
| * stmt.c (expand_return): Kill tail recursion and HAVE_return |
| optimizations. |
| |
| 2000-08-11 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64.md (addsi3): Remove expander. |
| (subsi3, mulsi3, negsi2, one_cmplsi2): Likewise. |
| (*addsi3_shladd): New. |
| |
| 2000-08-11 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64.c (do_spill): Pass cfa offset to move expander. |
| (do_restore): Likewise. |
| (gen_movdi_x, gen_fr_spill_x, gen_fr_restore_x): New. |
| (ia64_expand_prologue, ia64_expand_epilogue): Use them. |
| (rtx_needs_barrier): Track actual bit manipulation for |
| ar.unat moves, gr_spill, and gr_restore. |
| (emit_insn_group_barriers): Special case gr_spill/gr_restore. |
| (process_set): Don't handle varargs spills. |
| * config/ia64/ia64.md (gr_spill): Accept cfa offset. Emit |
| .mem.offset here instead of in process_set. |
| (gr_restore): Likewise. |
| |
| 2000-08-11 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64.h (PROMOTE_MODE): Only extend to SImode. |
| |
| 2000-08-11 Mark Elbrecht <snowball3@bigfoot.com> |
| |
| * gcc.texi (The Configuration File): Document |
| COLLECT2_HOST_INITIALIZATION, GCC_DRIVER_HOST_INITIALIZATION, and |
| UPDATE_PATH_HOST_CANONICALIZATION. |
| |
| 2000-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * c-parse.in (cast_expr): Avoid -Wstrict-prototype warnings for |
| unprototyped function pointer casts on integer constants. |
| |
| 2000-08-11 Laurynas Biveinis <lauras@softhome.net> |
| |
| * fixproto: Recognize DOS paths with drive letters as absolute paths. |
| |
| 2000-08-11 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * extend.texi (Volatiles): Fix typos. |
| |
| 2000-08-11 Kazu Hirata <kazu@hxi.com> |
| |
| * flow.c: Fix formatting. |
| |
| 2000-08-11 Richard Henderson <rth@cygnus.com> |
| |
| * reload.c (push_secondary_reload): When invoking a reload_{in,out} |
| pattern, always allocate a tertiary scratch register. |
| |
| * config/alpha/alpha.md (reload_inqi): Use a DImode scratch. |
| (reload_inhi): Likewise. |
| |
| 2000-08-11 Richard Henderson <rth@cygnus.com> |
| |
| * function.c (put_reg_into_stack): Allow type to be NULL. |
| (schedule_fixup_var_refs): Likewise. |
| (gen_mem_addressof): Allow decl to be NULL. |
| (put_addressof_into_stack): Likewise. |
| |
| * flow.c (merge_blocks_nomove): Be more careful about |
| locating the beginning of block A. |
| |
| * combine.c (simplify_shift_const): Obey SHIFT_COUNT_TRUNCATED. |
| |
| Thu Aug 10 22:47:09 2000 Ovidiu Predescu <ovidiu@cup.hp.com> |
| |
| * configure.in: |
| * configure: |
| * gthr-posix.h: |
| * config.in: Reverted the check for <sched.h>. |
| |
| 2000-08-10 Chris Demetriou <cgd@sibyte.com> |
| |
| * mips/elf.h (CTOR_SECTION_NAME, DTOR_SECTION_NAME): New |
| macros define the name of CTOR and DTOR sections. |
| (CTOR_LIST_BEGIN, CTOR_LIST_END, DTOR_LIST_BEGIN, |
| DTOR_LIST_END): Change to use attributes to specify |
| sections. |
| * mips/elf64.h (CTOR_SECTION_NAME, DTOR_SECTION_NAME, |
| (CTOR_LIST_BEGIN, CTOR_LIST_END, DTOR_LIST_BEGIN, |
| DTOR_LIST_END): Same as in mips/elf.h. |
| |
| 2000-08-10 Drew Moseley <dmoseley@redhat.com> |
| |
| * config/mn10300/mn10300.h: Added no-crt0 option for explicitly |
| disabling just crt0.o. |
| |
| 2000-08-10 Richard Earnshaw <rearnshaw@arm.com> & Nick Clifton <nickc@cygnus.com> |
| |
| * arm.h (CPP_SPEC): Use sub-spec cpp_interwork. |
| (CPP_INTERWORK_SPEC, CPP_INTERWORK_DEFAULT_SPEC): New sub-specs. |
| (EXTRA_SPECS): Add them. |
| * arm/lib1funcs.asm: Support builds for interworking. |
| Use macros to eliminate duplicated pieces of code. |
| |
| 2000-08-10 Kazu Hirata <kazu@hxi.com> |
| |
| * h8300.c (expand_a_rotate): New. |
| (emit_a_rotate): Likewise. |
| (h8300_adjust_insn_length): Add support for the rotate insns. |
| * h8300.md (rotlqi3): New. |
| (*rotlqi3_1): Likewise. |
| (rotlhi3): Likewise. |
| (*rotlhi3_1): Likewise. |
| (rotlhi3): Likewise. |
| (*rotlhi3_1): Likewise. |
| * h8300-proto.h: Add prototypes for expand_a_rotate and |
| emit_a_rotate. |
| |
| * h8300.c: Fix comment typos. |
| (dosize): Declare the variable amount as unsigned. |
| (get_shift_alg): Fix a comparison between signed and unsigned. |
| (emit_a_shift): Likewise. |
| (h8300_adjust_insn_length): Simplify the code. |
| |
| * c-decl.c: Fix formatting. |
| |
| 2000-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * c-lex.c (parse_float, yylex): For -Wtraditional, issue a |
| warning about non-traditional numeric constant suffixes. |
| |
| * cppexp.c (parse_number): Likewise. |
| |
| * invoke.texi: (-Wtraditional): Document new behavior. |
| |
| Thu Aug 10 00:11:04 2000 Ovidiu Predescu <ovidiu@cup.hp.com> |
| |
| * gthr-posix.h: Include auto-host.h. Conditionally include |
| <sched.h>. |
| * configure.in: Check for the <sched.h> header file. |
| * config.in: Added define for HAVE_SCHED_H. |
| |
| 2000-08-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * c-typeck.c (process_init_element): For -Wtraditional, warn about |
| initialization of unions. |
| |
| * invoke.texi (-Wtraditional): Document new behavior. |
| |
| 2000-08-09 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * configure.in (--enable-c-cpplib): Uncomment. Use AC_DEFINE |
| instead of extra_c_flags. |
| (--enable-c-mbchar): Use AC_DEFINE instead of extra_c_flags. |
| * configure: Regenerate. |
| * config.in: Regenerate. |
| |
| * cpperror.c (cpp_type2name): New function. |
| * cpplex.c (lex_line): If we issued an error for an invalid |
| preprocessing directive, discard that logical line. |
| * cpplib.c (do_line): Call a hook function if the current file |
| is renamed by #line. |
| (do_ident): Pass the contents of the string, not the entire |
| token, to the callback function. |
| * cpplib.h (CPP_LAST_PUNCTUATOR): New #define. |
| (cb.rename_file): New hook function. |
| (cb.ident): Adjust prototype. |
| (cpp_type2name): Prototype. |
| * cppmacro.c (dump_macro_args): Correct precedence lossage. |
| |
| * cppmain.c (cb_ident): Update for changed interface. |
| (cb_rename_file): New function. |
| (main): Set rename callback. |
| |
| 2000-08-09 Alexandre Oliva <aoliva@redhat.com> |
| |
| * caller-save.c (mark_referenced_regs): Mark partially-overwritten |
| multi-word registers. |
| |
| 2000-08-08 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (combine_strings, check_format_info): Refer to ISO C |
| or ISO C89 instead of ANSI C. |
| * c-decl.c (grokdeclarator, xref_tag, finish_struct, |
| build_enumerator, do_case): Likewise. |
| * c-lex.c (parse_float, yylex): Likewise. |
| * c-parse.in: Likewise. |
| * c-typeck.c (common_type, build_array_ref, build_binary_op, |
| build_unary_op, pedantic_lvalue_warning, build_conditional_expr, |
| build_c_cast, convert_for_assignment, set_init_index, |
| set_init_label, c_expand_start_case): Likewise. |
| * toplev.c (documented_lang_options, display_help): Likewise. |
| |
| 2000-08-08 Kazu Hirata <kazu@hxi.com> |
| |
| * h8300.c: Fix formatting. |
| * h8300.h: Likewise. |
| * h8300.md: Likewise. |
| (movsi_h8300hs): Fix formatting of the resulting assembly code. |
| |
| * reload1.c: Fix formatting. |
| |
| 2000-08-08 Rodney Brown <RodneyBrown@mynd.com> |
| |
| * alpha/alpha.c (alpha_emit_xfloating_libcall): |
| Use GEN_CALL_VALUE define. |
| * alpha/alpha.md (untyped_call): Use GEN_CALL define. |
| * clipper/clipper.md (untyped_call): Likewise. |
| * dsp16xx/dsp16xx.md (untyped_call): Likewise. |
| * fx80/fx80.md (untyped_call): Likewise. |
| * mips/mips.md (untyped_call): Likewise. |
| * ns32k/ns32k.md (untyped_call): Likewise. |
| * pa/pa.md (untyped_call): Likewise. |
| * romp/romp.md (untyped_call): Likewise. |
| * sparc/sparc.md (untyped_call): Likewise. |
| |
| 2000-08-08 Jason Eckhardt <jle@cygnus.com> |
| |
| * config/i860/i860.c (singlemove_string): Do not generate assembler |
| pseudo instructions that must be expanded (that is, with signed |
| constants larger than 16 bits). |
| |
| 2000-08-08 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (life_analysis): Only turn off PROP_LOG_LINKS and |
| PROP_AUTOINC at -O0. Don't collect alias info at -O0. |
| (init_propagate_block_info): Don't kill memory stores at -O0. |
| (mark_set_1, mark_used_regs): Likewise. |
| |
| 2000-08-08 David Edelsohn <edelsohn@gnu.org> |
| |
| * rs6000.c (optimization_options): Decorate 'level' as |
| ATTRIBUTE_UNUSED. |
| (mask64_operand): Remove sign-extend thinko. |
| (rldic_operand): New function. |
| (load_multiple_operation): regno's are unsigned ints. |
| (store_multiple_operation): Likewise. |
| (lmw_operation): Likewise. |
| (stmw_operation): Likewise. |
| (includes_lshift_p): shift_mask is unsigned int. |
| (includes_lshift64_p): New function. |
| (addrs_ok_for_quad_peep): unsigned int reg1. |
| (print_operand): Consistently add "else" after |
| output_operand_lossage(). |
| (print_operand, case 'b'): Fold in case 'W'. |
| (print_operand, case 'W'): Print rldic MB value. |
| (output_epilogue): Update Objective-C language string. |
| (output_toc): unsigned HOST_WIDE_INT low, compare unsigned. |
| * rs6000.h (PREDICATE_CODES): Add rldic_operand. |
| * rs6000.md (ashldi3): Add rldic instruction. |
| (iordi3, xordi3): Remove redundant "else if CONST_DOUBLE". |
| (cmpsi_internal2, cmpdi_interal2): Use 'b' output template |
| modifier. |
| |
| 2000-08-08 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64-protos.h: Remove duplicates. Update |
| for massive code rearrangements. |
| * config/ia64/ia64.c (ia64_arpfs_regno): Remove. |
| (ia64_rp_regno, ia64_fp_regno, ia64_input_regs): Remove. |
| (ia64_local_regs, ia64_need_regstk): Remove. |
| (ar_ccv_reg_operand): New. |
| (ia64_gp_save_reg): New. |
| (struct ia64_frame_info): Combine most of the size elements; |
| add new gr save elements. |
| (find_gr_spill): New. |
| (next_scratch_gr_reg): New. |
| (mark_reg_gr_used_mask): New. |
| (ia64_compute_frame_size): Rewrite. Allocate special AR regs |
| to GR backing store regs when possible. |
| (ia64_initial_elimination_offset): New. |
| (ia64_rap_fp_offset): Remove. |
| (save_restore_insns): Remove. |
| (setup_spill_pointers): New. |
| (finish_spill_pointers): New. |
| (spill_restore_mem): New. |
| (do_spill, do_restore): New. |
| (ia64_expand_prologue): Rewrite to use them. |
| (ia64_expand_epilogue): Likewise. |
| (ia64_direct_return): Update for current_frame_info changes. |
| (ia64_function_prologue): Simplify .prologue emission. Emit |
| .spill when needed. |
| (ia64_setup_incoming_varargs): Don't ever emit rtl. |
| (ia64_dbx_register_number): New. |
| (ia64_initialize_trampoline): New. |
| (ia64_secondary_reload_class): Request GR_REGS for integer |
| arithmetic destined for FR_REGS. |
| (ia64_init_machine_status): Don't reset return_address_pointer_rtx. |
| (ia64_mark_machine_status): Mark ia64_gp_save. |
| (rws_access_regno): Rename from rws_access_reg; don't treat |
| predicates specially. |
| (rws_access_reg): New. Update all callers. |
| (rtx_needs_barrier): Remove dead unspecs. |
| (ia64_epilogue_uses): Mark ar.pfs and ar.unat live on exit. |
| (ia64_encode_section_info): Silence signed/unsigned warnings. |
| (spill_offset, sp_offset, spill_offset_emitted): Remove. |
| (tmp_reg, tmp_saved): Remove. |
| (process_set): Rewrite to expect complicated bits via |
| REG_FRAME_RELATED_EXPR. |
| (ia64_expand_fetch_and_op): Use emit_move_insn; be explicit |
| in the use of ar.ccv; never set RTX_UNCHANGING_P. |
| (ia64_expand_op_and_fetch): Likewise. |
| (ia64_expand_compare_and_swap): Likewise. |
| (ia64_expand_builtin): Likewise. |
| * config/ia64/ia64.h (AR_UNAT_REGNUM): New. |
| (FIRST_PSEUDO_REGISTER): Update. |
| (AR_M_REGNO_P): Update. |
| (FIXED_REGS): Don't mark three local registers as used. |
| (EXTRA_CC_MODES): New. |
| (SELECT_CC_MODE): New. |
| (HARD_REGNO_NREGS): Allow DImode in p0; handle CCImode. |
| (HARD_REGNO_MODE_OK): Disallow CCImode from non-predicates. |
| (FRAME_GROWS_DOWNWARD): Unset. |
| (STARTING_FRAME_OFFSET): Zero. |
| (ELIMINABLE_REGS): Eliminate from the soft to hard frame pointer. |
| (INITIAL_ELIMINATION_OFFSET): Defer to out of line function. |
| (HARD_FRAME_POINTER_REGNUM): New. |
| (CAN_DEBUG_WITHOUT_FP): Define. |
| (TRAMPOLINE_TEMPLATE): Remove. |
| (TRAMPOLINE_SIZE): Lower to 32. |
| (TRAMPOLINE_ALIGNMENT): Lower to 64. |
| (INITIALIZE_TRAMPOLINE): Defer to out of line function. |
| (PREDICATE_CODES): Update. |
| (struct machine_function): Add ia64_gp_save. |
| * config/ia64/ia64.md: Purge unused unspecs. |
| (movsi patterns): Allow moves to/from AR_M_REGS. |
| (movdi patterns): Allow moves to/from p0. |
| (call patterns): Move most setjmp hackery to ia64_gp_save_reg. |
| (gr_spill, gr_restore): Indicate ar.unat read/written. |
| (nonlocal_goto): Don't pass old frame_pointer. |
| (nonlocal_goto_receiver): Remove. |
| (exception_receiver): New. |
| (builtin_setjmp_setup): New. |
| (builtin_setjmp_receiver): New. |
| * config/ia64/lib1funcs.asm (__ia64_save_stack_nonlocal): Bundle. |
| (__ia64_nonlocal_goto): Bundle. Don't kill r7. |
| (__ia64_restore_stack_nonlocal): Likewise. |
| (__ia64_trampoline): New. |
| * config/ia64/sysv4.h (DBX_REGISTER_NUMBER): Defer to out of line |
| function. |
| * config/ia64/t-ia64 (LIB1ASMFUNCS): Add __trampoline. |
| |
| 2000-08-08 Richard Henderson <rth@cygnus.com> |
| |
| * frame.h (ia64_frame_state): Add my_psp. |
| * libgcc2.c (ia64_throw_helper): Add throw_sp argument. |
| (__throw): Pass it in. Don't clobber r7. |
| * config/ia64/frame-ia64.c (init_ia64_reg_loc): Mark inline. |
| (execute_one_ia64_descriptor) [mem_stack_v]: Sets psp.when |
| and nothing to do with sp. |
| (normalize_reg_loc): Use frame->my_psp. |
| (frame_translate): Handle frame-pointer-less functions. Set |
| spill_base correctly, in absence of being told. |
| (__build_ia64_frame_state): New sp argument. Fill in frame->my_sp. |
| (__ia64_backtrace_helper): New sp argument. Use |
| builtin_return_address instead of label addresses. |
| (print_record) [mem_stack_v]: No size member. |
| |
| 2000-08-08 Richard Henderson <rth@cygnus.com> |
| |
| * regclass.c (choose_hard_reg_mode): Iterate over all CC modes. |
| |
| 2000-08-08 Richard Henderson <rth@cygnus.com> |
| |
| * tm.texi (LOCAL_REGNO): Document. |
| * flow.c (LOCAL_REGNO, EPILOGUE_USES): Provide default. |
| (mark_regs_live_at_end): Don't mark LOCAL_REGNO registers. |
| * reload1.c (reload): Likewise when considering nonlocal labels. |
| |
| * config/ia64/ia64.h (LOCAL_REGNO): New. |
| * config/sparc/sparc.h (LOCAL_REGNO): New. |
| |
| 2000-08-08 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-lex.c (yylex): Don't allow integer suffixes 'LUL', 'Ll', 'lL'. |
| |
| 2000-08-07 Nick Clifton <nickc@redhat.com> |
| |
| * config/mips/mips.c: Fix compile time warning messages. |
| * config/mips/mips-protos.h: Add prototype for equality_op. |
| |
| * mn10300.h (TARGET_SWITCHES): Document `-mam33'. |
| |
| 2000-08-07 Graham Stott <grahams@cygnus.co.uk> |
| |
| * mn10300.md: Use nonimmediate_operand instead of general_operand |
| on output operands. |
| |
| * mn10300.h (PREFERRED_RELOAD_CLASS): Limit memory reloads. |
| |
| 2000-08-07 Alexandre Oliva <aoliva@redhat.com> |
| |
| * sh.h (EXTRA_CONSTRAINT_Q): Adjust to GNU Coding Standards. |
| * sh.c (expand_block_move): Break long lines. |
| (expand_ashiftrt, fpscr_set_from_mem): Likewise. |
| * sh.md (mulsi3): Likewise. |
| (movdi): Adjust spacing. |
| |
| 2000-08-07 Richard Henderson <rth@cygnus.com> |
| |
| * expmed.c (store_bit_field): Don't require MEM_IN_STRUCT_P. |
| * expr.c (emit_group_store): Don't set it. |
| |
| 2000-08-07 Kazu Hirata <kazu@hxi.com> |
| |
| * invoke.texi (Options for Debugging Your Program or GCC): Remove |
| duplicate entries for 'w' and 'z'. |
| |
| * flow.c: Fix a comment typo. |
| |
| Sun Aug 6 23:47:35 2000 Ovidiu Predescu <ovidiu@cup.hp.com> |
| |
| * c-parse.in: Changed the language string for Objective-C to "GNU |
| Objective-C". |
| |
| Sun Aug 6 11:54:03 2000 Ovidiu Predescu <ovidiu@cup.hp.com> |
| |
| * gthr-posix.h: Integrated Chris Ball's <cball@fmco.com> changes |
| to improve the Posix thread support for Objective-C. |
| |
| 2000-08-06 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.h (enum c_tree_index): Add CTI_SIGNED_SIZE_TYPE and |
| CTI_UNSIGNED_PTRDIFF_TYPE. |
| (signed_size_type_node): Define. |
| (unsigned_ptrdiff_type_node): Define. |
| * c-decl.c (init_decl_processing): Create the |
| signed_size_type_node and unsigned_ptrdiff_type_node types. |
| * c-common.c (T_SC): Define. |
| (T_SST): Define. |
| (T_UPD): Define. |
| (print_char_table): Use T_SST for %zd, %zi, %zn. Use T_UPD for |
| %to, %tu, %tx, %tX. Allow %hhn (T_SC). Add "c" to the flags for |
| %s and %p. |
| (scan_char_table): Use T_SC for %hhd, %hhi, %hhn. Use T_SST for |
| %zd, %zi, %zn. Use T_UPD for %to, %tu, %tx, %tX. Add "c" to the |
| flags for %c, %s and %[. |
| (check_format_info): Only allow leniency for signedness of targets |
| of character pointers (when pedantic) for formats flagged with |
| "c", so for strings but not for %hh formats. When pedantic, don't |
| allow character pointers to substitute for void pointers if a |
| second level of indirection is present. |
| |
| 2000-08-06 Kazu Hirata <kazu@hxi.com> |
| |
| * invoke.texi (Options for Debugging Your Program or GCC): Update |
| the names of dump files. |
| |
| * h8300.c (dosize): Rearrange code for conciseness. |
| (split_adds_subs): Likewise. |
| |
| * loop.c: Fix formatting. |
| |
| * dwarf2out.c: Fix formatting. |
| |
| * tm.texi (FUNCTION_ARG_PARTIAL_NREGS): Fix a typo. |
| |
| * expr.c: Fix formatting. |
| |
| 2000-08-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * rs6000.c (rs6000_maybe_dead): Prototype. |
| |
| 2000-08-06 Richard Henderson <rth@cygnus.com> |
| |
| * stmt.c (expand_goto): Do virtual_stack_vars_rtx replacement for |
| HAVE_nonlocal_goto as well. |
| * config/i960/i960.md (nonlocal_goto): Don't do it here. |
| * config/pj/pj.md (nonlocal_goto): Likewise. |
| |
| 2000-08-07 Michael Hayes <mhayes@cygnus.com> |
| |
| * loop.c (try_swap_copy_prop): New function. |
| (load_mems): Rename copies to load_copies and add new regset |
| store_copies. Check for sets of shadow registers and mark |
| in store_copies. Call try_swap_copy_prop for registers |
| marked in store_copies. |
| |
| Sun Aug 6 00:54:42 2000 Ovidiu Predescu <ovidiu@cup.hp.com> |
| |
| * objc/objc-act.c: New command line option -fconstant-string-class |
| to allow specifying a user defined constant string class, |
| different from NXConstantString. |
| |
| * toplev.c: Moved the Objective-C specific options to |
| objc/lang-options.h. |
| |
| * objc/lang-options.h: Moved the Objective-C specific options from |
| toplev.c. Added -fconstant-string-class. |
| |
| 2000-08-05 Chris Demetriou <cgd@sibyte.com> |
| |
| * mips/elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END, |
| DTOR_LIST_BEGIN, DTOR_LIST_END): change type of |
| __CTOR_LIST__ from func_ptr array to just func_ptr, to |
| avoid extra alignment imposed on arrays. |
| * mips/elf64.h (CTOR_LIST_BEGIN, CTOR_LIST_END, |
| DTOR_LIST_BEGIN, DTOR_LIST_END): Likewise. |
| |
| * mips.h: Clean up comments and spacing near MASKs. |
| (TARGET_UNIX_ASM): Delete. |
| (MASK_MIPS16, MASK_NO_CHECK_ZERO_DIV, MASK_CHECK_RANGE_DIV, |
| MASK_UNINIT_CONST_IN_RODATA): Change values to make mask |
| values contiguous. |
| |
| 2000-08-05 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (print_char_table): Add entries for the X/Open ' |
| format flag (print decimals with locale's thousands grouping |
| character). Make %C expect wint_t. |
| (check_format_info): If pedantic, warn when the %n$ operand |
| number form is used. Allow for the ' flag; warn about it if |
| pedantic. |
| |
| 2000-08-05 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * i386.h (FUNCTION_OK_FOR_SIBCALL): Not OK if DECL's return |
| type is a float mode, cfun->decl's return type is not, and |
| TARGET_FLOAT_RETURNS_IN_80387. |
| |
| 2000-08-04 Andreas Schwab <schwab@suse.de> |
| |
| * cppmain.c (cb_def_pragma): Skip the first two tokens from the |
| token list, which are always `#' and `pragma'. |
| |
| 2000-08-04 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * tree.c (tree_expr_nonnegative_p): Move to... |
| * fold-const.c: ... here. Also handle BIND_EXPR and RTL_EXPR. |
| (rtl_expr_nonnegative_p): New. |
| * tree.h: Add prototype for rtl_expr_nonnegative_p. |
| |
| * real.h (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH, CONST_DOUBLE_MEM, |
| CONST_DOUBLE_CHAIN: Move to... |
| * rtl.h: ...here. Use XCINT/XCEXP. |
| |
| * Makefile.in: Remove toplev.o from OBJS. Add rule to make |
| libbackend.a; add libbackend.a to STAGESTUFF. Add BACKEND |
| variable. Use BACKEND when linking cc1, not OBJS. Add BACKEND |
| to VOL_FILES. |
| |
| * objc/Make-lang.in (cc1obj): Link with $(BACKEND). |
| |
| 2000-08-05 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> |
| |
| * config/c4x/c4x.md (return_indirect_internal): New. |
| * config/c4x/c4x.c (c4x_expand_epilogue): Use it. |
| |
| 2000-08-04 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (time_char_table): Mark up formats added in C99 and |
| make other corrections. %D and %g were added in C99. %Og is an |
| extension. %EX is permitted. %R, %T, %n, %r, %t were added in |
| C99. %e was added in C99. %Oj is an extension. %G and %z are in |
| C99 rather than GNU extensions, but %OG and %Oz are extensions. |
| %h was added in C99. %C was added in C99. %OY and %OC are |
| extensions. Add the C99 format %F. |
| (check_format_info): If pedantic and not in C99 mode, warn for C99 |
| formats, %E and %O. |
| |
| Fri Aug 4 23:01:58 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * function.c (schedule_fixup_var_refs): New function, broken out |
| of put_reg_into_stack. |
| (put_reg_into_stack): Use it. |
| (put_var_into_stack): In CONCAT case, fixup up references for |
| components only after fixing up references to the whole concat. |
| |
| 2000-08-04 Rodney Brown <RodneyBrown@pmsc.com> |
| |
| * alias.c (mark_constant_function): Use INSN_P. |
| (init_alias_analysis): Likewise. |
| * combine.c (combine_instructions): Use INSN_P. |
| (can_combine_p): Likewise. |
| (try_combine): Likewise. |
| (distribute_notes): Likewise. |
| (distribute_links): Likewise. |
| * cse.c (cse_around_loop): Use INSN_P. |
| (invalidate_skipped_block): Likewise. |
| (cse_set_around_loop): Likewise. |
| (cse_end_of_basic_block): Likewise. |
| (delete_trivially_dead_insns): Likewise. |
| * emit-rtl.c (unshare_all_rtl_again): Use INSN_P. |
| (unshare_all_rtl_1): Likewise. |
| (next_cc0_user): Likewise. |
| (try_split make_insn_raw): Likewise. |
| (remove_unnecessary_notes): Likewise. |
| * final.c (shorten_branches): Use INSN_P. |
| (leaf_renumber_regs): Likewise. |
| (leaf_renumber_regs_insn): Likewise. |
| * flow.c (find_label_refs): Use INSN_P. |
| (verify_wide_reg): Likewise. |
| (notice_stack_pointer_modification): Likewise. |
| (count_or_remove_death_notes): Likewise. |
| (verify_flow_info): Likewise. |
| (clear_log_links): Likewise. |
| * function.c (fixup_var_refs_insns): Use INSN_P. |
| (compute_insns_for_mem): Likewise. |
| * gcse.c (alloc_gcse_mem): Use INSN_P. |
| (compute_sets): Likewise. |
| (compute_hash_table): Likewise. |
| (classic_gcse): Likewise. |
| (cprop): Likewise. |
| (insert_insn_end_bb): Likewise. |
| (delete_null_pointer_checks_1): Likewise. |
| * global.c (expand_preferences): Use INSN_P. |
| (build_insn_chain): Likewise. |
| * graph.c (node_data): Use INSN_P. |
| * haifa-sched.c (priority): Use INSN_P. |
| (rm_line_notes): Likewise. |
| (rm_other_notes): Likewise. |
| (find_insn_reg_weight): Likewise. |
| (init_target_units): Likewise. |
| (schedule_block): Likewise. |
| (compute_block_forward_dependences): Likewise. |
| (debug_dependencies): Likewise. |
| (set_priorities): Likewise. |
| * integrate.c (function_cannot_inline_p): Use INSN_P. |
| (save_parm_insns): Likewise. |
| (copy_insn_list): Likewise. |
| * jump.c (mark_all_labels): Use INSN_P. |
| (never_reached_warning): Likewise. |
| * lcm.c (optimize_mode_switching): Use INSN_P. |
| * local-alloc.c (validate_equiv_mem): Use INSN_P. |
| (memref_used_between_p): Likewise. |
| (update_equiv_regs): Likewise. |
| (block_alloc): Likewise. |
| (no_conflict_p): Likewise. |
| * loop.c (scan_loop): Use INSN_P. |
| (find_and_verify_loops): Likewise. |
| (count_loop_regs_set): Likewise. |
| (loop_reg_used_before_p): Likewise. |
| (strength_reduce): Likewise. |
| (recombine_givs): Likewise. |
| (check_dbra_loop): Likewise. |
| (load_mems): Likewise. |
| (try_copy_prop): Likewise. |
| * print-rtl.c (print_rtx): Use INSN_P. |
| * recog.c (find_single_use): Use INSN_P. |
| * reg-stack.c (stack_regs_mentioned): Use INSN_P. |
| (next_flags_user): Likewise. |
| (swap_rtx_condition): Likewise. |
| * regmove.c (mark_flags_life_zones): Use INSN_P. |
| (optimize_reg_copy_1): Likewise. |
| (optimize_reg_copy_2): Likewise. |
| (optimize_reg_copy_3): Likewise. |
| (reg_is_remote_constant_p): Likewise. |
| (fixup_match_2): Likewise. |
| (regmove_optimize): Likewise. |
| (fixup_match_1): Likewise. |
| * regrename.c (build_def_use): Use INSN_P. |
| (replace_reg_in_block): Likewise. |
| (consider_use): Likewise. |
| * reload.c (find_equiv_reg): Use INSN_P. |
| * reload1.c (reload): Use INSN_P. |
| (maybe_fix_stack_asms): Likewise. |
| (calculate_needs_all_insns): Likewise. |
| (reload_as_needed): Likewise. |
| (emit_output_reload_insns): Likewise. |
| (delete_address_reloads_1): Likewise. |
| (reload_cse_regs_1): Likewise. |
| (reload_combine): Likewise. |
| (reload_cse_move2add): Likewise. |
| * reorg.c (redundant_insn): Use INSN_P. |
| (dbr_schedule): Likewise. |
| * resource.c (find_dead_or_set_registers): Use INSN_P. |
| (mark_target_live_regs): Likewise. |
| * rtlanal.c (reg_used_between_p): Use INSN_P. |
| (reg_referenced_between_p): Likewise. |
| (reg_set_between_p): Likewise. |
| (reg_set_p): Likewise. |
| (single_set): Likewise. |
| (multiple_sets): Likewise. |
| (find_last_value): Likewise. |
| (reg_set_last): Likewise. |
| (find_reg_note): Likewise. |
| (find_regno_note): Likewise. |
| * sibcall.c (sequence_uses_addressof): Use INSN_P. |
| * simplify-rtx.c (cselib_process_insn): Use INSN_P. |
| * ssa.c (find_evaluations): Use INSN_P. |
| (rename_block): Likewise. |
| (rename_equivalent_regs): Likewise. |
| * unroll.c (loop_find_equiv_value): Use INSN_P. |
| (set_dominates_use): Likewise. |
| * varasm.c (mark_constant_pool): Use INSN_P. |
| (mark_constants): Likewise. |
| * config/alpha/alpha.c (alpha_does_function_need_gp): Use INSN_P. |
| (alphaev4_next_group): Likewise. |
| (alphaev5_next_group): Likewise. |
| * config/c4x/c4x.c (c4x_process_after_reload): Use INSN_P. |
| (c4x_rptb_rpts_p): Likewise. |
| * config/mips/mips.c (mips16_optimize_gp): Use INSN_P. |
| * config/rs6000/rs6000.c (uses_TOC): Use INSN_P. |
| (rs6000_adjust_priority): Likewise. |
| * config/sh/sh.c (sh_loop_align): Use INSN_P. |
| (machine_dependent_reorg): Likewise. |
| (split_branches): Likewise. |
| * config/tahoe/tahoe.c (tahoe_cmp_check): Use INSN_P. |
| |
| Fri Aug 4 11:43:49 2000 John Wehle (john@feith.com) |
| |
| * combine.c (recog_for_combine): Remove the old notes |
| prior to attempting to recognize the new pattern. |
| (distribute_notes): Ignore REG_NONNEG notes. |
| |
| 2000-08-04 Chandrakala Chavva <cchavva@redhat.com> |
| |
| * varasm.c (output_constructor): Add .align 0 for packed vars. |
| |
| 2000-08-04 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * configure.in: Use default thread_file even when enable_threads is |
| yes or dce because hpux10.20 pa port uses MULTILIB implementation. |
| * configure: Rebuilt. |
| |
| * gthr-dce.h (__gthread_objc_condition_allocate): Fix typo. |
| |
| 2000-08-04 Donn Terry (donnte@microsoft.com) |
| |
| * prefix.c (translate_name): Don't strip trailing DIR_SEPARATOR. |
| |
| 2000-08-04 Mark Elbrecht <snowball3@bigfoot.com> |
| |
| * i386/x-djgpp: Delete code that conditionally modifies target_alias. |
| Delete code that conditionally modifies 'version'. |
| Delete X_CPPFLAGS. Add comment for SYSTEM_HEADER_DIR. |
| * i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): New macro. |
| * gcc.c (main): Use it. |
| * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): New macro. |
| * prefix.c (update_path): Use it. |
| * i386/djgpp.h (STANDARD_INCLUDE_DIR): Define. |
| (MD_EXEC_PREFIX): Set to '/dev/env/DJDIR/bin/'. |
| (ASM_OUTPUT_SECTION_NAME): Add code attribute to sections containing |
| code. |
| (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Default to true. |
| (SUBTARGET_SWITCHES): Adjust. |
| (WCHAR_UNSIGNED, WCHAR_TYPE_SIZE, WCHAR_TYPE): Undefine before |
| defining. |
| (WINT_TYPE, SIZE_TYPE, PTRDIFF_TYPE): Define. |
| |
| 2000-08-04 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.h (flag_isoc94): Declare. |
| * c-decl.c (flag_isoc94): Define. |
| (c_decode_option): Set flag_isoc94 as appropriate. |
| * c-common.c (T_PD, T_IM, T_UIM): Define. |
| (format_char_info): Add tlen and jlen. |
| (print_char_table): Add entries for %t and %j. Allow %zn. Allow |
| %F. Allow %lf. |
| (scan_char_table): Add entries for %t and %j. Allow %F. Allow |
| %l[. |
| (time_char_table): Add NULL entries for %t and %j. |
| (check_format_info): Allow for %t and %j. Warn for %F if pedantic |
| and not C99. Warn for %lc, %ls and %l[ if pedantic and not C94. |
| Warn for printf %lf if pedantic and not C99. Don't warn for empty |
| precision. Allow precision argument to be unsigned int. If |
| pedantic, warn for %p passed an argument not a pointer to possibly |
| qualified void or a possibly qualified character type, and for |
| pointer targets of the wrong sign, except for character pointers. |
| |
| 2000-08-04 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * ginclude/stddef.h: Don't declare wint_t unless __need_wint_t. |
| * c-common.h (enum c_tree_index): Add CTI_WINT_TYPE. |
| (wint_type_node): Define. |
| * c-decl.c (WINT_TYPE): Define. |
| (init_decl_processing): Create the wint_type_node type. |
| * c-common.c (T_WI): Define. |
| (print_char_table): Use T_WI for %lc format. |
| |
| 2000-08-04 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/: Verified that the MSDOS patch does not break |
| the UNIX functionality and applied the next three patches |
| from July: |
| |
| 2000-07-28 Eli Zaretskii <eliz@is.elta.co.il> |
| |
| * fixinc/fixfixes.c (main) [__MSDOS__]: Avoid overwriting the |
| output file with the temporary one by appending ".X" to generate |
| the temporary fuile's name. If the output file already has an |
| extension, replace it with ".X". |
| |
| * fixinc/fixincl.c (fix_with_system) [__MSDOS__]: Use $ORIGDIR, |
| not $DESTDIR, to find applyfix. Use sprintf instead of snprintf; |
| reallocate the command buffer while copying the command-line |
| argument. Redirect the output directly to the temporary file, |
| instead of going through another temporary file. |
| (process): Close the temporary file before unlinking it. |
| (machine_matches) [__MSDOS__]: If the machine doesn't match, set |
| the FD_SKIP_TEST flag. Pay attention to the FD_MACH_IFNOT flag. |
| (run_compiles): Pass p_fixd argument to machine_matches, as it |
| expects. |
| |
| * fixinc/fixincl.sh: Export ORIGDIR. If $DJDIR is set in the |
| environment, assume there are no symlinks in the include |
| directory. When cleaning up the DONE files, look for them |
| case-insensitively. Don't try to remove symlinks if they aren't |
| there. |
| |
| * fixinc/fixlib.c (make_raw_shell_str): Accept new argument smax; |
| all callers changed. Declare pz "const char *", to avoid compiler |
| warnings. |
| |
| * fixinc/fixlib.h (ENV_TABLE): Get ORIGDIR from the environment. |
| Change prototype of make_raw_shell_str. |
| |
| 2000-07-27 Eli Zaretskii <eliz@is.elta.co.il> |
| |
| * fixinc/fixincl.c [__MSDOS__]: Don't include "server.h". |
| (initialize) [__MSDOS__]: Use tempnam. |
| (initialize): Don't use SIGPIPE if it is not defined. |
| |
| * fixinc/fixfixes.c (main) [__MSDOS__]: freopen for stdout should |
| return stdout. |
| |
| 2000-07-25 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/fix*.[ch]: substantially reworked to make it possible |
| to run this program without using fork(2) or pipe(2) (i.e. in |
| a DOS environment). |
| |
| 2000-08-04 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * cppdefault.h (WINT_TYPE): Define. |
| * cppinit.c (builtin_array): Define __WINT_TYPE__. |
| * tradcpp.c (initialize_builtins): Define __WINT_TYPE__. |
| * tm.texi (NO_BUILTIN_WINT_TYPE, WINT_TYPE): Document. |
| |
| Fri Aug 4 06:53:46 2000 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * (mips_legitimate_address_p): Don't allow register+offset |
| if the offset is large and negative, and we are compiling |
| for 64 bit registers. |
| |
| 2000-08-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> |
| |
| * gencodes.c (main): Define CODE_FOR_nothing as the last possible |
| insn_code_number + 1. |
| |
| 2000-08-04 Kazu Hirata <kazu@hxi.com> |
| |
| * h8300.c (function_prologue): Rearrange code for conciseness. |
| (function_epilogue): Likewise. |
| * h8300.h (OK_FOR_U): Fix formatting. |
| |
| * cse.c: Fix a comment typo. Fix formatting. |
| |
| 2000-08-03 Richard Henderson <rth@cygnus.com> |
| |
| * config/i386/i386.md (return_indirect_internal): New. |
| * config/i386/i386.c (ix86_expand_epilogue): Use it. |
| |
| 2000-08-03 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplex.c (parse_name): Might have to glue a CPP_OTHER token |
| before the name. |
| (lex_line): Glue @ onto the beginning of identifiers and |
| string constants, in Objective-C mode. |
| (output_token, spell_token): Handle CPP_OSTRING. |
| (can_paste, maybe_paste_with_next): Handle pasting @ onto the |
| beginning of a NAME or a STRING, in objc mode. |
| |
| * cpplib.c (get_define_node): Do not permit identifiers that |
| begin with @ to be #defined. |
| * cppmacro.c (CAN_PASTE_AFTER): Add CPP_OTHER. |
| * cpplib.h (TTYPE_TABLE): Add CPP_OSTRING. |
| |
| * c-lang.c, objc/objc-act.c (build_objc_string): Delete. |
| * c-tree.h (build_objc_string): Delete prototype. |
| * objc/objc-tree.def: Delete OBJC_STRING_CST. |
| * c-lex.c (yylex): Use build_string for all three kinds of strings. |
| |
| * c-parse.in, objc/objc-act.c: Update commentary. |
| |
| 2000-08-03 Mark Mitchell <mark@codesourcery.com> |
| |
| * extend.texi: Fix typo in last change. |
| |
| * extend.texi: Add commentary on statement-expressions and their |
| interactions with C++. |
| |
| 2000-08-03 Nick Clifton <nickc@cygnus.com> |
| |
| * dwarf2.h (DW_LANG_Java): Change value to 0x000b. |
| * dwarf.h (LANG_JAVA): Change value to 0x000b. |
| |
| 2000-08-03 Anthony Green <green@cygnus.com> |
| |
| * dwarf2out.c (gen_compile_unit_die): Add java language support. |
| (add_bound_info): Check for java language. |
| (is_java): New function. |
| * dwarfout.c (output_compile_unit_die): Ditto. |
| * dwarf.h (dwarf_source_language): Add java source language type. |
| * dwarf2.h (dwarf_source_language): Ditto. |
| |
| Thu Aug 3 20:32:25 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * reg-stack.c (subst_stack_regs_pat): Use replace_reg to swap |
| operands. |
| |
| * i386.c (ix86_expand_branch): Mode of comparison in |
| IF_THEN_ELSE is VOIDmode. |
| |
| Thu Aug 3 10:05:53 2000 Akiko Matsushita <matusita@sra.co.jp> |
| |
| * gengenrtl.c, rtl.c: Avoid #elif. |
| |
| 2000-08-03 Michael Poole <poole@troilus.org> |
| |
| * tm.texi (Register Classes): Clarify order of sub-initializers |
| in REG_CLASS_CONTENTS. |
| |
| Thu Aug 3 15:53:03 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| From SAITOH Masanobu: |
| * sh.h (ASM_OUTPUT_REG_PUSH): Fix syntax. |
| |
| 2000-08-03 David Billinghurst <David.Billinghurst@riotinto.com.au> |
| |
| * config/i386/cygwin.h: Remove -remap from CPP_SPEC since this option |
| is not supported by tradcpp and isn't actually needed for cygwin. |
| |
| 2000-08-03 Kazu Hirata <kazu@hxi.com> |
| |
| * h8300.c: Fix a comment typo. |
| * h8300.h (OK_FOR_U): Accept a 32-bit constant address on H8S. |
| |
| * jump.c: Fix formatting. |
| |
| * toplev.c: Fix formatting. |
| |
| Thu Aug 3 01:05:32 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * flow.c (find_auto_inc): Verify that we've got a REG before |
| peeking at its regno. Fail, don't abort if we can't find |
| the increment of the desired register. |
| |
| * pa.md (shadd height reduction patterns/splitters): Remove. |
| |
| 2000-08-02 Jim Wilson <wilson@cygnus.com> |
| |
| * config/ia64/ia64-protos.h (flag_ssa): Declare. |
| * config/ia64/ia64.md (movti_internal, movti_internal+1): New. |
| |
| 2000-08-02 Mark Mitchell <mark@codesourcery.com> |
| |
| * dce.c: Remove all uses of assert. |
| * dwarf2out.c: Likewise. |
| * dwarfout.c: Likewise. |
| * ssa.c: Likewise. |
| |
| 2000-08-02 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * gcc.h (lang_specific_driver): Constify second argument. |
| * gcc.c (translate_options, process_command, main): Likewise. |
| Constify variables to match. Cast second argument to |
| pexecute. |
| |
| * cppspec.c, gccspec.c: Adjust type of second argument to |
| lang_specific_driver, and update code as necessary. |
| |
| 2000-08-02 Jakub Jelinek <jakub@redhat.com> |
| |
| * loop.c (scan_loop): Ensure update_end label does not |
| go away until reg_scan_update is run. |
| |
| 2000-08-02 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * c-common.h: Prototype min_precision and c_build_qualified_type here... |
| * c-tree.h: ... not here. |
| * errors.h: Prototype fancy_abort. |
| |
| * emit-rtl.c (gen_lowpart_common): Move variable 'c' into |
| HOST_BITS_PER_WIDE_INT == 64 ifdef block. |
| * regrename.c (regrename_optimize): Make control flow explicit. |
| (replace_reg_in_block): Initialize reg_use to 0. |
| |
| * i386.c (legitimate_address_p): Rename error label to |
| report_error to avoid namespace clash. |
| |
| 2000-08-02 Kazu Hirata <kazu@hxi.com> |
| |
| * fold-const.c: Fix formatting. |
| |
| Wed Aug 2 16:26:15 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * i386.c (legitimate_address_p): Accept other bases than |
| pic_offset_table_rtx for GOTOFF constructs. |
| |
| Wed Aug 2 15:59:34 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * i386.md (shift to lea splitter): Use const_int_operand. |
| |
| 2000-08-02 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppexp.c, cppinit.c, cpplex.c, cpplib.c, cppmacro.c, |
| cppspec.c: Do not use 'legal' or 'illegal' in error messages |
| and comments. |
| |
| * cppmain.c (cb_define, cb_undef): Don't generate any output |
| if not done_initializing. |
| * cpplex.c (maybe_paste_with_next): When the token after a ## |
| is an omitted rest argument, only delete the token before it |
| if that token is a comma. Do not warn about bogus token |
| pastes for , ## rest_arg. |
| |
| * cpp.texi: Update. |
| * cpp.1: Regenerate. |
| |
| 2000-08-02 Fred Fish <fnf@be.com> |
| |
| * config/i386/beos-elf.h (STARTFILE_SPEC): Add i386-mcount.o |
| when user gives -p option. Add init_term_dyn.o for BeOS 5.0 |
| and later. |
| |
| * config/i386/beos-elf.h (INCLUDE_DEFAULTS): Add additional |
| Be directories to search path. |
| |
| Remove support for __declspec(dllimport) and __declspec(dllexport). |
| This is leftover cruft from the earlier BeOS gcc port when BeOS |
| used Microsoft's PE object file format. |
| * configure.in (i*86-*-beoself): Remove extra_objs=winnt.o. |
| * config/i386/t-beos (winnt.o): Remove Makefile frag. |
| * config/i386/beos-elf.h (TARGET_NOP_FUN_DLLIMPORT): Remove. |
| (VALID_MACHINE_DECL_ATTRIBUTE): Remove. |
| (VALID_MACHINE_TYPE_ATTRIBUTE): Remove. |
| (MERGE_MACHINE_DECL_ATTRIBUTES): Remove. |
| (REDO_SECTION_INFO_P): Remove. |
| (ASM_EXPORT_DECL): Remove. |
| (ASM_DECLARE_FUNCTION_NAME): Remove. |
| (ASM_DECLARE_OBJECT_NAME): Remove. |
| (ASM_OUTPUT_ALIGNED_COMMON): Remove. |
| (ASM_OUTPUT_ALIGNED_DECL_COMMON): Remove. |
| (ASM_OUTPUT_ALIGNED_LOCAL): Remove. |
| (STRIP_NAME_ENCODING): Remove. |
| |
| Remove support for obsolete version of BeOS that is no longer |
| supported by Be. |
| * configure.in (i*86-*-beospe*): Remove. |
| * config/i386/beos-pe.h: Remove. |
| |
| 2000-08-01 Jeffrey Oldham <oldham@codesourcery.com> |
| Mark Mitchell <mark@codesourcery.com> |
| |
| * Makefile.in (OBJS): Added dce.o. |
| (ssa.o): Updated target to include ssa.h. |
| (flow.o): Likewise. |
| (toplev.o): Likewise. |
| (dce.o): Created target. |
| * basic-block.h: Added comments. |
| (INVALID_BLOCK): Added definition. |
| (connect_infinite_loops_to_exit): Added declaration. |
| Moved SSA declarations to ssa.h. |
| * flow.c: Added inclusion of ssa.h. |
| (struct depth_first_search_dsS, depth_first_search_ds): |
| Added definitions. |
| (compute_immediate_postdominators): Added definition. |
| (connect_infinite_loops_to_exit): Likewise. |
| (flow_dfs_compute_reverse_init): Likewise. |
| (flow_dfs_compute_reverse_add_bb): Likewise. |
| (flow_dfs_compute_reverse_execute): Likewise. |
| (flow_dfs_compute_reverse_finish): Likewise. |
| * rtl.h (rtx/in_struct): Added use to determine insn necessity. |
| (LABEL_P): Added definition. |
| (JUMP_P): Likewise. |
| (NOTE_P): Likewise. |
| (BARRIER_P): Likewise. |
| (JUMP_TABLE_DATA_P): Likewise. |
| (INSN_DEAD_CODE_P): Likewise. |
| * ssa.c: Replaced inclusions with ssa.h inclusion. |
| (CONVERT_HARD_REGISTER_TO_SSA_P): Moved to ssa.h. |
| (rename_registers): Removed unnecessary variables. |
| * ssa.h: Created by moving declarations from ssa.c and |
| basic-block.h. |
| * timevar.def: Defined TV_DEAD_CODE_ELIM. |
| * toplev.c: Added ssa.h inclusion. |
| (dump_file_index): Added DFI_dce. |
| (dump_file): Added "dce" entry. |
| Defined flag_ssa. |
| (f_options): Added dce entry. |
| * invoke.texi: Document -fdce. Emphasize experimental status of |
| -fssa. |
| * dce.c: New file. |
| |
| 2000-08-01 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpperror.c (v_message): Split into _cpp_begin_message and |
| v_message macro. All callers updated. |
| (_cpp_begin_message): Do inhibit_errors/inhibit_warnings |
| checks here. |
| |
| * cppfiles.c (cpp_syshdr_flags): New function. |
| (read_include_file): Don't call cpp_output_tokens. Call |
| enter_file hook. |
| * cppinit.c (dump_macros_helper): Moved to cppmain.c. |
| (cpp_reader_init): Don't initialize token_buffer. Call |
| _cpp_init_internal_pragmas. |
| (cpp_cleanup): Don't clear token_buffer. |
| (cpp_start_read): Don't worry about output from -D processing. |
| Don't call cpp_output_tokens. |
| (cpp_finish): Don't dump macros here. Don't call |
| cpp_output_tokens. |
| * cppmacro.c (_cpp_dump_definition): Rename |
| cpp_dump_definition. Write directly to a FILE *. |
| (dump_funlike_macro): Delete. |
| (dump_macro_args): New. |
| |
| * cpplex.c (TOKEN_LEN): Convert to inline function. |
| (_cpp_grow_token_buffer, safe_fwrite, cpp_output_tokens, |
| cpp_scan_line, _cpp_dump_list): Delete. |
| (cpp_printf, cpp_output_list): New. |
| (output_line_command): Don't worry about entering or leaving files. |
| (cpp_scan_buffer): Just output each token as we hit it. |
| (process_directive): Don't call cpp_output_tokens. |
| (_cpp_glue_header_name): Don't use token_buffer. |
| (output_token, dump_param_spelling): Write directly to a FILE *. |
| |
| * cpplib.c (pass_thru_directive, dump_macro_name, |
| pragma_dispatch, do_pragma_gcc): Delete. |
| (do_define, do_undef, parse_include, do_line, do_ident, do_pragma, |
| do_pragma_poison, cpp_pop_buffer): Call the appropriate hook |
| functions. |
| (do_error, do_warning, pragma_dependency): Call |
| _cpp_begin_message, then cpp_output_list. |
| (cpp_register_pragma, cpp_register_pragma_space, |
| _cpp_init_internal_pragmas): New. |
| (do_pragma): Walk the pragmas table here. |
| (do_pragma_once, do_pragma_poison, do_pragma_system_header, |
| do_pragma_dependency): Return void. |
| (do_pragma_implementation): Moved to cppmain.c. |
| |
| * cpplib.h: Update prototypes. |
| (struct cpp_reader): Remove printer, token_buffer, |
| token_buffer_size, and limit. Add struct cb, and pragmas. |
| (struct cpp_printer): Remove last_id and written. |
| (CPP_WRITTEN, CPP_PWRITTEN, CPP_SET_WRITTEN, |
| CPP_ADJUST_WRITTEN): Delete. |
| * cpphash.h: Update prototypes. |
| (ufputs): New wrapper. |
| |
| * cppmain.c (cb_define, cb_undef, cb_include, cb_ident, |
| cb_enter_file, cb_leave_file, cb_def_pragma): New functions. |
| (main): Set up callbacks. Register #pragma implementation. |
| Dump macros from here. |
| |
| 2000-08-01 Geoff Keating <geoffk@cygnus.com> |
| |
| * rtl.h (enum reg_note): Add REG_MAYBE_DEAD. |
| * rtl.c (reg_note_name): Add REG_MAYBE_DEAD. |
| * flow.c (propagate_one_insn): Allow deletion of prologue/epilogue |
| insns if they have a REG_MAYBE_DEAD note attached. |
| * config/rs6000/rs6000.c (rs6000_maybe_dead): New function. |
| (rs6000_emit_load_toc_table): TOC loads may go dead. |
| |
| 2000-08-01 Jim Wilson <wilson@cygnus.com> |
| |
| * config/ia64/ia64.c (ia64_function_arg): Fix last change. Verify |
| type exists before using it. Use number of words as alignment |
| otherwise. |
| (ia64_function_arg_partial_nregs, ia64_function_arg_advance, |
| ia64_va_arg): Propagate ia64_function_args changes here. |
| |
| 2000-08-01 Richard Henderson <rth@cygnus.com> |
| |
| * config/elfos.h (ASM_DECLARE_OBJECT_NAME): Care for null DECL. |
| * config/ia64/sysv4.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise. |
| |
| 2000-08-01 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| From Joern Rennecke: |
| * sh.h (CPP_SPEC, TARGET_SWITCHES): Add m4-nofpu. |
| * sh.md (udivsi3, divsi3): Don't use libcalls that use the FPU |
| unless TARGET_SH3E is set. |
| * t-sh (MULTILIB_MATCHES): Add m2=m4-nofpu. |
| |
| * sh.md (ashlsi3_d, ashlsi3_k): Remove, replace with |
| (ashlsi3_std): New pattern. |
| (ashlsi3 expander): Use it for TARGET_SH3. |
| * sh.c (gen_ashift): Use it instead of ashlsi3_k. |
| |
| Tue Aug 1 12:34:21 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * loop.c (canonicalize_condition): Use destination, not source to |
| determine SET's mode. |
| |
| 2000-07-31 Mark Mitchell <mark@codesourcery.com> |
| |
| * flow.c (clear_log_links): Fix typo. |
| |
| Mon Jul 31 22:19:24 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * loop.c (check_dbra_loop): Make change from July 17, 2000 work |
| on targets which need more than one insn for a compare/cbranch |
| operation. |
| |
| 2000-07-31 Jim Wilson <wilson@cygnus.com> |
| |
| * config/ia64/ia64.c (ia64_function_arg): Use alignment not size |
| when computing offset. |
| |
| Mon Jul 31 20:35:50 2000 Denis Chertykov <denisc@overta.ru> |
| |
| * genpeep.c (main): Handle DEFINE_PEEPHOLE2. |
| |
| 2000-07-31 Geoff Keating <geoffk@cygnus.com> |
| |
| * flow.c (clear_log_links): Nuke global_live_at_start and |
| global_live_at_end data, since if the log_links stuff is invalid |
| so is global_live_at_*. |
| |
| 2000-07-31 Richard Henderson <rth@cygnus.com> |
| |
| * tm.texi (Addressing Modes): Clarify PRE/POST_MODIFY descriptions. |
| |
| 2000-07-31 Jakub Jelinek <jakub@redhat.com> |
| |
| * cpplex.c (_cpp_get_line): If index is 0, return line 0 col 0. |
| (_cpp_get_token): Don't macro expand a just pasted token if it |
| was pasted at no_expand_level. |
| |
| 2000-07-31 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppmacro.c (find_param, count_params, save_expansion): |
| Permit 'defined' as a macro parameter name. |
| |
| 2000-07-31 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * Makefile.in: Rename cpp to cpp0, tradcpp to tradcpp0, and |
| xcpp to cpp throughout. |
| (native): Remove unnecessary dependency on cpp. |
| |
| * gcc.c (trad_capable_cpp, C specs): Rename cpp to cpp, |
| tradcpp to tradcpp0. |
| (.i spec): Add missing output-file spec to cc1 command line. |
| * objc/lang-specs.h: Rename cpp to cpp0 and/or tradcpp to tradcpp0. |
| |
| 2000-07-31 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * c-decl.c (mesg_implicit_function_declaration): Init to -1. |
| (implicit_decl_warning): New function. |
| (implicitly_declare): Use it. |
| * c-typeck.c (build_external_ref): Use implicit_decl_warning |
| to complain about implicit decls of builtins. |
| |
| * c-lang.c (lang_init): Set mesg_implicit_function_declaration |
| based on pedantic && flag_isoc99, if not already set. |
| * c-tree.h: Declare mesg_implicit_function_declaration. |
| Prototype implicit_decl_warning. |
| |
| 2000-07-30 Jeffrey D. Oldham <oldham@codesourcery.com> |
| |
| * Makefile.in (ssa.o): Updated header files in dependences. |
| * basic-block.h: Added compute_immediate_postdominators declaration. |
| * config/i386/i386.h (CONVERT_HARD_REGISTER_TO_SSA_P): Added |
| definition. |
| * flow.c (compute_immediate_dominators): Updated comment. |
| (compute_immediate_postdominators): Added definition. |
| * rtl.h (HARD_REGISTER_P): Added definition. |
| * ssa.c: Include additional header files. |
| (assert): Added definition. |
| (ssa_rename_to_lookup): Added to reimplement ssa_rename_to to |
| include select hard registers. |
| (ssa_rename_to_insert): Likewise. |
| (ssa_rename_from_initialize): Likewise. |
| (ssa_rename_from_lookup): Likewise. |
| (original_register): Likewise. |
| (ssa_rename_from_insert): Added to reimplement ssa_rename_from to |
| include select hard reigsters. |
| (ssa_rename_from_traverse): Likewise. |
| (ssa_rename_from_free): Likewise. |
| (ssa_rename_from_print): Likewise. |
| (ssa_rename_from_print_1): Likewise. |
| (ssa_rename_from_hash_function): Likewise. |
| (ssa_rename_from_equal): Likewise. |
| (ssa_rename_from_delete): Likewise. |
| (simplify_to_immediate_dominators): Removed in favor of |
| flow.c:compute_immediate_dominators. |
| (find_evaluations_1): Modified to work with hard registers. |
| (insert_phi_node): Likewise. |
| (insert_phi_nodes): Likewise. |
| (struct rename_set_data): Updated prev_reg comment. |
| (create_delayed_rename): Modified to work with hard registers. |
| (RENAME_NO_RTX): Updated comment. |
| (apply_delayed_renames): Modified to work with hard registers. |
| (rename_insn_1): Likewise and added handling of CLOBBER rtls. |
| (rename_block): Updated to use revised ssa_rename_to interface. |
| (rename_registers): Updated to use revised ssa_rename_to and |
| ssa_rename_from interface. |
| (convert_to_ssa): Revised to use compute_immediate_dominators and |
| deal with hard registers. |
| (make_regs_equivalent_over_bad_edges): Modified to work with hard |
| registers. Added check for illegal unification of hard register. |
| (make_equivalent_phi_alternatives_equivalent): Modified to work |
| with hard registers. |
| (compute_conservative_reg_partition): Likewise. |
| (coalesce_if_unconflicting): Modified to work with hard registers |
| and check for conflicting hard registers. |
| (mark_phi_and_copy_regs): Revised loop to work only on pseudo |
| registers. |
| (rename_equivalent_regs_in_insn): Modified to work with hard |
| registers. |
| (record_canonical_element_1): Added definition. |
| (check_hard_regs_in_partition): Added definition. |
| (convert_from_ssa): Added data structure deallocation and check |
| for illegal hard register unification. |
| (conflict_hard_regs_p): Added definition. |
| * toplev.c (rest_of_compilation): Added comment. |
| |
| 2000-07-31 Anthony Green <green@redhat.com> |
| |
| * config/ia64/crtbegin.asm (__EH_FRAME_BEGIN__): Align correctly. |
| |
| 2000-07-31 Jason McMullan <jmcmullan@linuxcare.com> |
| |
| * builtins.c (expand_builtin_apply): Don't defer pop during |
| argument setup. |
| |
| 2000-07-31 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> |
| |
| * calls.c (combine_pending_stack_adjustment_and_call): Only use |
| preferred_unit_stack_boundary when it is > 1. |
| |
| 2000-07-31 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-common.c (init_function_format_info): Add C99 format functions |
| in C99 mode. |
| |
| * c-decl.c (get_parm_info): Don't treat 'const void', 'volatile |
| void' or 'register void' as being the special case of 'void' alone |
| in a parameter list. |
| |
| * c-typeck.c (build_c_cast): Change -Wcast-qual pedwarn for |
| discarding qualifiers into a plain warning. |
| |
| 2000-07-31 Kazu Hirata <kazu@hxi.com> |
| |
| * combine.c: Fix formatting. |
| |
| * h8300.md: Fix formatting. |
| |
| * local-alloc.c: Fix formatting. |
| |
| * h8300.c (get_shift_alg): Remove the variable alg. |
| (emit_a_shift): Rearrange code to improve readability. |
| |
| * h8300.md (movsi_h8300hs): Rearrange code to improve readability. |
| |
| * h8300.h (MODES_TIEABLE_P): Accept a combination of QImode and |
| HImode on all architectures and a combination of HImode and SImode |
| on H8/300H and H8S. |
| |
| * h8300.c (split_adds_subs): Rearrange code for conciseness. |
| |
| Mon Jul 31 12:27:55 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * i386.md (addsi to lea splitter, ashlqi3_1_lea): Fix bugs |
| in my last checkin. |
| |
| Mon Jul 31 10:41:01 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * recog.c (extract_insn): Set operand_mode according to |
| operand if match_operand is VOIDmode. |
| |
| Mon Jul 31 10:36:38 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * recog.c (validate_replace_rtx_1): Do not abort for (nil) expression. |
| |
| 2000-07-31 Geoff Keating <geoffk@cygnus.com> |
| |
| * c-parse.in (extdefs): Call ggc_collect between external |
| definitions. |
| |
| 2000-07-30 Michael Hayes <mhayes@cygnus.com> |
| Richard Henderson <rth@cygnus.com> |
| |
| * Makefile.in (OBJS): Add doloop.o. |
| * doloop.c: New file. |
| |
| * final.c (insn_current_reference_address): Return 0 before final. |
| * flags.h (flag_branch_on_count_reg): Fix typos in commentary. |
| * jump.c (any_uncondjump_p): Likewise. |
| * loop.c (indirect_jump_in_function): Make static. |
| (strength_reduce): Call doloop_optimize. |
| (insert_bct, instrument_loop_bct): Remove. |
| * loop.h (doloop_optimize): Prototype. |
| * recog.c (split_all_insns): Split all INSN_P. |
| * toplev.c (flag_branch_on_count_reg): Default on. |
| |
| * config/c4x/c4x.c (c4x_optimization_options): Don't set |
| flag_branch_on_count_reg. |
| * config/i386/i386.c (override_options): Likewise. |
| * config/rs6000/rs6000.c (optimization_options): Likewise. |
| |
| * config/i386/i386.md (decrement_and_branch_on_count): Remove. |
| (doloop_end): New. |
| (dbra_ge): Remove, as well as all it's splitters. |
| |
| * config/rs6000/rs6000.md (decrement_and_branch_on_count): Remove. |
| (doloop_end): New. |
| |
| * config/ia64/ia64-protos.h (ar_lc_reg_operand): Declare. |
| (ia64_register_move_cost): Declare. |
| * config/ia64/ia64.c (ar_lc_reg_operand): New. |
| (struct ia64_frame_info): Add ar_size. |
| (ia64_compute_frame_size): Set it. |
| (save_restore_insns): Save and restore ar.lc. |
| (ia64_register_move_cost): New, moved from header file. Handle |
| application registers. |
| (REG_AR_PFS, REG_AR_EC): Remove. Replace with AR_*_REGNUM numbers. |
| (emit_insn_group_barriers): Special case doloop_end_internal. |
| (ia64_epilogue_uses): Mark ar.lc live at end. |
| * config/ia64/ia64.h (AR_CCV_REGNUM, AR_LC_REGNUM): New registers. |
| (AR_EC_REGNUM, AR_PFS_REGNUM): New registers. |
| (FIRST_PSEUDO_REGISTER): Make room. |
| (AR_M_REGNO_P, AR_I_REGNO_P, AR_REGNO_P): New. |
| (FIXED_REGISTERS, CALL_USED_REGISTERS): Update. |
| (REG_ALLOC_ORDER): Update. |
| (HARD_REGNO_MODE_OK): Update. |
| (REGISTER_NAMES): Update. |
| (enum reg_class): Add AR_M_REGS and AR_I_REGS. |
| (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update. |
| (REGNO_REG_CLASS): Update. |
| (LEGITIMATE_ADDRESS_DISP): Displacement range is 9 bits, not 10. |
| (REGISTER_MOVE_COST): Move out of line. |
| (PREDICATE_CODES): Update. |
| * config/ia64/ia64.md (movdi patterns): Handle ar register classes. |
| (addsi3_plus1_alt, adddi3_plus1_alt): New. |
| (shladd_elim splitter): Allow constants in the predicate. |
| (doloop_end, doloop_end_internal): New. |
| |
| 2000-07-30 Richard Henderson <rth@cygnus.com> |
| |
| * genattrtab.c (struct insn_def): Add lineno member. |
| (struct insn_ent): Likewise. |
| (struct attr_desc): Likewise. |
| (struct delay_desc): Likewise. |
| (struct function_unit_op): Likewise. |
| (struct function_unit): Likewise. |
| (check_attr_value): Use message_with_line. |
| (check_defs): Likewise. |
| (expand_units): Likewise. |
| (check_attr_test): Take a lineno argument. |
| (gen_attr): Likewise. |
| (gen_insn): Likewise. |
| (gen_delay): Likewise. |
| (gen_unit): Likewise. |
| (main): Give it to them. |
| (convert_set_attr_alternative): Take an insn_def argument |
| instead of num_alt and insn_index. |
| (convert_set_attr): Likewise. |
| (write_test_expr): Protect INSN_ADDRESSES load |
| with INSN_ADDRESSES_SET_P. |
| |
| 2000-07-30 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (init_propagate_block_info): Use pc_set. |
| |
| Sun Jul 30 20:58:34 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * i386.md (*lea_general_[123]) New insns and splits. |
| (addsi3 to lea splitter): Handle other modes too. |
| (shlsi3 to lea splitter): Likewise. |
| (addhi_1_lea, shlhi_1_lea): New patterns. |
| (addhi_1, shlhi_1): Conditionize by PARTIAL_REG_STALL. |
| |
| Sun Jul 30 20:51:25 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * recog.c (general_operand, nonimmediate_operand): Accept |
| any mode for VOIDmode CONSTANT_P operands. |
| |
| Sun Jul 30 20:42:21 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * gcse.c (try_replace_reg): Use validate_replace_rtx_subexp |
| instead of replace_rtx. |
| * recog.c (validate_replace_rtx_subexp): New function. |
| * recog.h (validate_replace_rtx_subexp): Declare. |
| |
| Sun Jul 30 20:38:26 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * combine.c (simplify_set, make_extraction, make_compound_operation |
| make_field_assignment): Use full mask instead of GET_MODE_MASK (mode) |
| as force_to_mode argument. |
| |
| Sun Jul 30 20:30:41 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * combine.c (if_then_else_cond): Be sure that mode fits in |
| HOST_WIDE_INT. |
| |
| Sun Jul 30 20:27:36 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * combine.c (record_promoted_value): Allow bitsize of mode |
| to be equivalent to HOST_BITS_PER_WISE_INT. |
| |
| Sun Jul 30 20:25:21 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * function.c (assign_stack_local_1, assign_stack_temp_for_type): |
| Do not call gen_mode_alignment when mode is BLKmode. |
| |
| Sun Jul 30 20:21:54 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * loop.c (express_from_1): Fix call of simplify_gen_binary. |
| |
| Sun Jul 30 20:08:37 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * simplify-rtx.c (simplify_relational_operation): Verify that mode == |
| VOIDmode implies both operands to be VOIDmode. |
| (simplify_ternary_operation): Compute properly the mode of comparison. |
| * combine.c (combine_simplify_rtx): Likewise. |
| |
| 2000-07-25 Michael Hayes <mph@paradise.net.nz> |
| |
| * basic-block.h (struct loops): New field rc_order. |
| * flow.c (flow_loops_cfg_dump): Dump rc_order if computed. |
| (flow_loops_free): Free rc_order. |
| (flow_depth_first_order_compute): New parameter rc_order. |
| (flow_loops_find): Allocate rc_order and swap usage with |
| dfs_order. |
| |
| 2000-07-30 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> |
| Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x/c4x.md (set_ldp_prologue): Add for RTL prologue/epilogue. |
| (push_st, push_dp, pop_st, pop_dp, popqi_unspec): Likewise. |
| (nodb_call, return_from_epilogue): Likewise. |
| (return_from_interrupt_epilogue, prologue, epilogue): Likewise. |
| * config/c4x/c4x.c (c4x_expand_prologue, c4x_expand_eplilogue): Add. |
| * config/c4x/c4x-protos.h (c4x_interrupt_function_p): Add. |
| (c4x_expand_prologue, c4x_expand_epilogue): Likewise. |
| (c4x_valid_type_attribute_p): Likewise. |
| * config/c4x/c4x.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Delete. |
| (FUNCTION_BLOCK_PROFILER_EXIT): Convert to emit RTL. |
| |
| 2000-07-30 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x/c4x.c (c4x_emit_move_sequence): Use loadqi_big_constant |
| and loadhi_big_constant if applicable. |
| * config/c4x/c4x.md (loadqi_big_constant, loadhi_big_constant): Tweak |
| and add new splitter.s |
| |
| 2000-07-30 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x/c4x.c (c4x_rptb_insert): Make more robust. |
| |
| 2000-07-30 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x/c4x.h (ASM_FORMAT_PRIVATE_NAME): Output $ in label. |
| |
| 2000-07-30 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x/c4x.h (IS_XXX_REGNO): Rewrite to avoid unsigned warnings. |
| |
| 2000-07-30 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x/libgcc.S (divqf3): Improve accuracy. |
| |
| 2000-07-27 Mark Mitchell <mark@codesourcery.com> |
| |
| Put phi nodes after NOTE_INSN_BASIC_BLOCK. |
| * rtl.h (NOTE_INSN_BASIC_BLOCK_P): New macro. |
| * bb-reorder.c (get_next_bb_note): Use NOTE_INSN_BASIC_BLOCK_P. |
| (get_prev_bb_note): Likewise. |
| (remove_scope_notes): Likewise. |
| * flow.c (commit_one_edge_insertion): Likewise. |
| (merge_blocks_nomove): Likewise. |
| (verify_flow_info): Likewise. |
| * gcse.c (insert_insn_end_bb): Likewise. |
| * reg-stack.c (emit_swap_insn): Likewise. |
| * ssa.c (first_insn_after_basic_block_note): New function. |
| (insert_phi_node): Use it. |
| (rename_block): Likewise. |
| (eliminate_phi): Likewise. |
| (make_regs_equivalent_over_bad_edges): Likewise. |
| (make_equivalent_phi_alternatives_equivalent): Likewise. |
| (for_each_successor_phi): Likewise. |
| (convert_from_ssa): Modify phi-node deletion algorithm. |
| |
| 2000-07-29 Andreas Jaeger <aj@suse.de> |
| |
| * configure.in (mips*-*-linux*): Use mips*el to check for little |
| endian MIPS, add tmake_file. |
| |
| * config/mips/linux.h (TARGET_VERSION): Use GNU/Linux. |
| (SUBTARGET_CPP_SPEC): Default MIPS_ISA is 1. |
| Patches by Maciej W. Rozycki <macro@ds2.pg.gda.pl>. |
| |
| 2000-07-28 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64.c (ia64_print_operand): Fix typos. |
| Sign extend mode size before negating. |
| |
| 2000-07-28 Richard Henderson <rth@cygnus.com> |
| |
| * emit-rtl.c (gen_lowpart_common): Add missing 'c' variable. |
| |
| 2000-07-28 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * cse.c (canon_hash): Handle PRE_MODIFY/POST_MODIFY. |
| (cse_insn): Likewise. |
| (addr_affects_sp_p): Likewise. |
| * expr.c (move_by_pieces): Likewise. |
| (clear_by_pieces): Likewise. |
| * gcse.c (oprs_unchanged_p): Likewise. |
| * haifa-sched.c (sched_analyze_2): Likewise. |
| * recog.c (offsettable_address_p): Likewise. |
| * regclass.c (record_address_regs): Likewise. |
| * reload.c (find_reusable_reload): Likewise. |
| (push_reload): Likewise. |
| (operands_match_p): Likewise. |
| (decompose): Likewise. |
| (find_reloads_address_1): Likewise. |
| (find_inc_amount): Likewise. |
| * reload1.c (elimination_effects): Likewise. |
| * resource.c (mark_set_resources): Likewise. |
| * flow.c (attempt_auto_inc): New function; mostly broken out |
| of find_auto_inc. |
| (find_auto_inc): Split into two functions and enhanced to |
| generate POST_MODIFY. |
| * rtl.def (PRE_MODIFY, POST_MODIFY): Adjust comment. |
| * rtl.h (count_all_occurrences): Declare. |
| (HAVE_{PRE,POST}_MODIFY_{DISP,REG}): Provide default of 0 if not |
| defined. |
| * rtlanal.c (count_all_occurrences): New function. |
| * tm.texi (HAVE_POST_MODIFY_DISP, HAVE_PRE_MODIFY_DISP, |
| HAVE_POST_MODIFY_REG, HAVE_PRE_MODIFY_REG): Document. |
| |
| * config/ia64/ia64-protos.h (destination_operand): Declare. |
| * config/ia64/ia64.c (destination_operand): New function. |
| (ia64_print_operand): Handle POST_MODIFY. |
| (rtx_needs_barrier): Likewise. |
| * config/ia64/ia64.h (HAVE_POST_MODIFY_DISP): Define to 1. |
| (HAVE_POST_MODIFY_REG): Define to 1. |
| (MAX_REGS_PER_ADDRESS): Change to 2. |
| (GO_IF_LEGITIMATE_ADDRESS): Accept POST_MODIFY too. |
| (LEGITIMATE_ADDRESS_REG): New helper macro. |
| (LEGITIMATE_ADDRESS_DISP): Likewise. |
| (PREDICATE_CODES): Add entry for destination_operand. |
| * config/ia64/ia64.md (all mov patterns): Use destination_operand |
| predicate for operand 0. |
| |
| 2000-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * dwarf2out.c: Indent #error directive. |
| |
| * gbl-ctors.h: Fix typo in comment. |
| (__do_global_ctors): Prototype. |
| |
| * gcse.c (record_one_set, pre_delete): Remove unused variables. |
| |
| * rs6000.c (rs6000_maybe_dead): Delete unused prototype. |
| (print_operand): Initialize variable `t'. |
| |
| 2000-07-27 Aldy Hernandez <aldyh@redhat.com> |
| |
| * config/arm/arm.md ("call_value"): removed constraints. |
| Constraints are ignored in expanders. |
| (*call_value_reg): split =rf into various constraints. |
| (*call_value_mem): same |
| (*call_value_symbol): same |
| (*sibcall_value_insn): same |
| |
| 2000-07-28 Philipp Thomas <pthomas@suse.de> |
| |
| * install.texi (--enable-nls): Change the description of the NLS |
| related configure options to match the current state. |
| (--with-included-gettext): Likewise. |
| (--enable-maintainer-mode): New description added. |
| * extend.texi (-fstrict-prototype): Add missing '.'. |
| |
| 2000-07-27 Jim Wilson <wilson@cygnus.com> |
| |
| * dwarf2out.c (gen_decl_die): Don't call gen_abstract_function if |
| DECL_INITIAL (decl) == NULL_TREE. |
| |
| 2000-07-27 Alexandre Oliva <aoliva@redhat.com> |
| |
| * Makefile.in (INSN_ATTR_H): New macro. Replace all dependencies |
| on insn-attr.h with it. |
| * genattr.c: Generate `#include "insn-addr.h"' if HAVE_ATTR_length. |
| * insn-addr.h: New header. |
| (insn_addresses_): Renamed from insn_addresses. |
| (INSN_ADDRESSES_DEFN, INSN_ADDRESSES, INSN_ADDRESSES_ALLOC, |
| INSN_ADDRESSES_FREE, INSN_ADDRESSES_SET_P, INSN_ADDRESSES_SIZE, |
| INSN_ADDRESSES_NEW): New macros. |
| * genattrtab.c (write_test_expr): Use new macros. |
| * final.c (insn_addresses, init_insn_lengths): Likewise. |
| (align_fuzz, shorten_branches): Likewise. |
| (final): Likewise. Do not reject new insns if their addresses |
| have been added to INSN_ADDRESSES. |
| * config/arm/arm.c, config/avr/avr.c: Use new macros. |
| * config/h8300/h8300.c, config/i370/i370.c: Likewise. |
| * config/m88k/m88k.c, config/pa/pa.c, config/pa/pa.md: Likewise. |
| * config/sparc/sparc.c, config/sparc/sparc.md: Likewise. |
| * config/sh/sh.c: Likewise. |
| (output_branchy_insn): Use INSN_ADDRESSES_NEW. |
| |
| * Makefile.in (bootstrap): Move -BstageN/ back to the beginning. |
| |
| 2000-07-27 Andrew Cagney <cagney@b1.cygnus.com> |
| |
| * gcc.c (struct prefix_list): Add member priority. |
| (enum path_prefix_priority): Declare. |
| (add_prefix): Replace ``first'' with ``priority''. Append new |
| entry but keep list in priority order. |
| (process_command): Update. Pass PREFIX_PRIORITY_B_OPT or |
| PREFIX_PRIORITY_LAST to add_prefix. |
| (process_command): Move include kludge - foo/stageN - to before |
| foo/include. |
| |
| 2000-07-27 Jason Merrill <jason@redhat.com> |
| |
| * dwarf2out.c (gen_typedef_die): Abort if we get identical |
| TREE_TYPE and DECL_ORIGINAL_TYPE on a typedef. |
| |
| 2000-07-27 RodneyBrown <RodneyBrown@pmsc.com> |
| |
| * expr.h (get_alias_set, lang_get_alias_set): Delete prototypes. |
| * tree.h (get_alias_set, lang_get_alias_set): Prototype. |
| |
| 2000-07-27 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-decl.c (finish_function): Don't treat 'main' specially unless |
| flag_hosted. In C99 mode, return 0 from 'main' unless |
| DEFAULT_MAIN_RETURN is otherwise defined. |
| |
| * c-decl.c (store_parm_decls): In C99 mode, pedwarn for function |
| parameters defaulting to int in an old-style function definition. |
| |
| 2000-07-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * c-parse.in (string): For -Wtraditional, warn about string |
| concatenation only once per line. |
| |
| Thu Jul 27 09:25:17 2000 Akiko Matsushita <matusita@sra.co.jp> |
| |
| * pa/x-pa-hpux: Add -D_HIUX_SOURCE to FIXPROTO_DEFINES |
| for HI-UX/WE2 systems. |
| |
| 2000-07-24 Bruce Korb <bkorb@gnu.org> |
| |
| * fixincl/fixfixes.c(emit_gnu_type): rewrote to *rely* on GCC |
| defining the __xxx_TYPE__ macros. |
| * fixincl/fixincl.tpl(gnu_type_map): now obsolete |
| * fixincl/fixlib.h: don't need to include "tm.h" anymore |
| * fixincl/inclhack.def(type_map): now obsolete |
| |
| Thu Jul 27 11:54:17 2000 Andrew Cagney <cagney@b1.cygnus.com> |
| |
| * cpp.texi: Append a trailing full-stop to xrefs where needed. |
| |
| 2000-07-26 Dave Pitts <dpitts@cozx.com> |
| |
| * i370.c: Remove LONGEXTERNAL ifdef from alias_number. Added hash |
| routine constants. |
| (mvs_hash_alias): New function. |
| (mvs_add_alias): Change argument spacing. |
| (mvs_need_alias): Change aliasing criteria. Added documentation. |
| (mvs_get_alias): Change to use hashed name. The hashed name prevents |
| CSECT name collisions. |
| (mvs_check_alias): Likewise. |
| (handle_pragma): Change documentation. |
| * i370.md (mulsi3, divsi3, udivsi3, modsi3, umodsi3): Changed gen_rtx |
| mode from SImode to DImode. |
| (iorhi3): Changed LTORG size for insn. |
| |
| Wed Jul 26 19:44:05 2000 Hans-Peter Nilsson <hp@axis.com> |
| |
| * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a |
| mem if the address is a mode_dependent_address_p. |
| |
| 2000-07-26 Kazu Hirata <kazu@hxi.com> |
| |
| * h8300.c (print_operand): Print ":8" when the 'R' operand is |
| suitable for 8-bit absolute. |
| * h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): New. |
| (OK_FOR_U): Add a case for the 8-bit constant address on the |
| H8/300H. |
| |
| Wed Jul 26 19:26:21 2000 Hans-Peter Nilsson <hp@axis.com> |
| |
| * varasm.c (assemble_variable) [! defined(ASM_OUTPUT_ALIGNED_COMMON) |
| && ! defined (ASM_OUTPUT_ALIGNED_BSS]): Also test |
| ! defined(ASM_OUTPUT_ALIGNED_DECL_COMMON) before complaining about |
| lack of implemented alignment. |
| |
| 2000-07-26 Geoffrey Keating <geoffk@cygnus.com> |
| |
| * emit-rtl.c (gen_lowpart_common) [REAL_ARITHMETIC]: Handle |
| cross-compiling between 64-bit and 32-bit machines. |
| |
| 2000-07-27 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64.md (movqicc_astep, movqi_internal_astep): New. |
| (movhicc_astep, movhi_internal_astep): New. |
| (movsicc_astep, movsi_internal_astep): New. |
| (movdicc_astep, movdi_internal_astep): New. |
| (movsfcc_astep, movsf_internal_astep): New. |
| (movdfcc_astep, movdf_internal_astep): New. |
| (movxfcc_astep, movxf_internal_astep): New. |
| (cmovdi_internal_astep, cmovsi_internal_astep): New. |
| Unify the cmov[ds]i splitters. |
| |
| 2000-07-27 Rodney Brown <RodneyBrown@pmsc.com> |
| |
| * real.c (asctoeg): Rename `error' label to unexpected_char_error |
| |
| 2000-07-26 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/vxarm.h (CPP_PREDEFINES): Remove definition of |
| __arm__. Allow it to be defined by CPP_ISA_SPEC in arm.h |
| |
| * dwarf2out.c (dwarf2out_frame_debug_expr): Accept SEQUENCE as |
| well as PARALLEL blocks in FRAME_RELATED_EXPR notes. |
| |
| 2000-07-26 Alexandre Oliva <aoliva@redhat.com> |
| |
| * c-decl.c (finish_enum): Convert enumerations that fit in an |
| `int' to `int'. |
| (build_enumerator): In pedantic mode, cast to `int' those that |
| don't. |
| |
| 2000-07-25 Rodney Brown <RodneyBrown@pmsc.com> |
| |
| * config/alpha/osf.h (SIZE_TYPE, PTRDIFF_TYPE): New. |
| |
| Tue Jul 25 23:08:33 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * sh.md (cmpgtdi_t): Must be split. |
| (cmpgtdi_t+1): New splitter. |
| |
| 2000-07-25 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplib.c (_cpp_check_directive): Issue -Wtraditional |
| warnings for indented directives even if we are skipping. |
| |
| 2000-07-25 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * invoke.texi (strict-prototypes): Remove. |
| * extend.texi (Deprecated Features): Add strict-prototypes. |
| (Backwards Compatibility): New node. |
| |
| 2000-07-25 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/i386.md (andsi_1+1): Allow HImode. |
| (andsi_1+2): Require q_regs_operand. |
| |
| 2000-07-25 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/i386.md (call_pop): Check operands[0], |
| not operands[1]. Only check SYMBOL_REF_FLAG for a SYMBOL_REF. |
| (call): Likewise. |
| (call_value_pop): Only check SYMBOL_REF_FLAG for a SYMBOL_REF. |
| (call_value): Likewise. |
| |
| 2000-07-25 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * toplev.c (pipe_closed): Delete. |
| (crash_signal): New. Generate ICE for a fatal signal. |
| (float_signal): Call crash_signal outside a float-handler |
| block, not abort. |
| (main): Install crash_signal as handler for core-dumping signals. |
| |
| 2000-07-25 David Edelsohn <edelsohn@gnu.org> |
| |
| * rs6000.c (print_operand, case 'T'): New case. |
| |
| * rs6000.md (call_indirect_aix32): Convert to expander of |
| scheduled instructions. |
| (call_indirect_aix64): Likewise. |
| (call_value_indirect_aix{32,64}): Likewise. |
| (call, call_value): Invoke expanders for AIX. Fall through to |
| matchers for SysV. |
| (call_indirect_nonlocal_aix{32,64}): New patterns (ctr and lr). |
| (call_value_indirect_nonlocal_aix{32,64}): New patterns. |
| (call_nonlocal_aix32): Remove CALL_LONG alternative. Operand 1 |
| only "g" constraint. |
| (call_nonlocal_aix64): Likewise. |
| (call_value_nonlocal_aix{32,64}): Likewise. |
| (call_nonlocal_sysv): New pattern for ctr, lr, and symbolic |
| operands. |
| (call_value_nonlocal_sysv): New pattern. |
| (indirect_jump{si,di}): Use new 'T' modifier. |
| (tablejump{si,di} matchers): Likewise. |
| (return_internal_{si,di}): Likewise. |
| (return_eh_{si,di}): Likewise. |
| |
| 2000-07-24 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64.c (ia64_print_operand): Handle "%,". |
| * config/ia64/ia64.h (PRINT_OPERAND_PUNCT_VALID_P): Likewise. |
| * config/ia64/ia64.md (movdi_internal): Use it. |
| |
| 2000-07-24 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppexp.c: Warn about unary + if -Wtraditional. |
| * cpplex.c (lex_line): Always set BOL on the first token of a line. |
| |
| 2000-07-24 Michael Meissner <meissner@redhat.com> |
| |
| * d30v.h (FUNCTION_ARG_KEEP_AS_REFERENCE): Delete references to |
| unsupported macro. |
| |
| 2000-07-24 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/arm.c (emit_multi_reg_push): Generate a |
| REG_FRAME_RELEATED_NOTE that is compatible with the code in |
| dwarf2out_debug_frame_expr. |
| |
| 2000-07-24 Jason Merrill <jason@redhat.com> |
| |
| * dwarf2out.c: Complain if DWARF2_DEBUGGING_INFO is defined without |
| UNALIGNED_INT_ASM_OP. |
| (def_cfa_1): Don't emit def_cfa_register or def_cfa_offset to adjust |
| a location expression. |
| (dwarf2out_frame_debug_expr): Lose cfa_old_reg stuff. Don't |
| assume indirect access if we're saving the CFA address exactly. |
| |
| * Makefile.in (bootstrap): Move -BstageN/ to the end. |
| |
| 2000-07-24 Jakub Jelinek <jakub@redhat.com> |
| |
| * tradcpp.c (main): Update max_include_len for cpp_include_defaults |
| as well. |
| |
| 2000-07-24 Michael Meissner <meissner@redhat.com> |
| |
| * invoke.texi (D30V Options): Add d30v options. |
| |
| Mon Jul 24 02:04:52 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * gcse.c (alloc_pre_mem): Do not alloc TRANSPOUT, it is not |
| needed by our gcse pass anymore. |
| (free_pre_mem): Corresponding changes. |
| (compute_pre_data): Do not call compute_transpout anymore. |
| |
| * gcse.c (alloc_avail_expr_mem): Kill unused 'u_bitmap'. |
| (free_avail_expr_mem, alloc_pre_mem, free_pre_mem): Corresponding |
| changes. |
| |
| * gcse.c (free_pre_mem): Do not free ANTLOC and AE_KILL here. |
| (compute_pre_data): Do it here instead. |
| |
| * gcse.c (alloc_pre_mem, free_pre_mem): Delete unused bitmap |
| 'temp_bitmap'. |
| (pre_delete): Corresponding changes. |
| |
| 2000-07-23 Mark Mitchell <mark@codesourcery.com> |
| |
| * c-semantics.c (make_rtl_for_local_static): Use TREE_ASM_WRITTEN |
| to figure out whether or not a variable has already been emitted. |
| |
| Sun Jul 23 14:49:12 2000 Jason Eckhardt <jle@cygnus.com> |
| |
| * config/i860/i860.md (untyped_call expander): Use GEN_CALL |
| instead of gen_call. |
| |
| Sun Jul 23 11:52:03 2000 George Helffrich (george@gly.bris.ac.uk) |
| |
| * dbxout.c (dbxout_type, case COMPLEX_TYPE): Fix length field in stab. |
| |
| 2000-07-23 Kazu Hirata <kazu@hxi.com> |
| |
| * h8300.c: Fix formatting. |
| |
| 2000-07-23 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-typeck.c (c_expand_start_case): Change -Wtraditional pedwarn |
| for `long' switch expression into a plain warning. |
| |
| * c-lex.c (init_lex): Keep the "inline" keyword in C99 mode. |
| (yylex): Don't pedwarn for "inline" in C99 mode. |
| |
| * bitmap.c (debug_bitmap_file): Cast pointers to PTR for printing |
| with %p. |
| * ggc-page.c (debug_print_page_list, alloc_page, free_page, |
| ggc_alloc): Likewise. |
| * bb-reorder.c (dump_scope_forest_1): Likewise. |
| |
| 2000-07-22 Aldy Hernandez <aldyh@redhat.com> |
| |
| * reload.c (find_reloads_toplev): Add new parameter |
| "address_reloaded". |
| (find_reloads): Add new parameter to find_reloads_toplev calls. |
| |
| 2000-07-22 Jeffrey Oldham <oldham@codesourcery.com> |
| |
| * collect2.c (main): Typo fixed. |
| * diagnostic.c: Typo fixed. |
| * dwarf2out.c (dwarf2out_frame_debug_expr): Typo fixed. |
| * eh-common.h: Typo fixed. |
| * emit-rtl.c (start_sequence): Typo fixed. |
| * flow.c (find_label_refs): Typo fixed. |
| (calculate_global_regs_live): Typo fixed. |
| (mark_regno_cond_dead): Typo fixed. |
| (create_edge_list): Typos fixed. |
| (verify_edge_list): Typo fixed. |
| * ggc-common.c (ggc_mark_rtx_children): Typo fixed. |
| * loop.c (strength_reduce): Typo in function name fixed. |
| * rtl.h: Added comments. Typo in function name fixed. |
| * rtlanal.c: Typo in function name fixed. |
| (insn_dependant_p): Rename to ... |
| (insn_dependent_p): ... this. |
| (computed_jumo_p): Typo fixed. |
| |
| 2000-07-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * system.h (__FUNCTION__): Wrap definition in #ifndef. |
| |
| 2000-07-21 David Edelsohn <edelsohn@gnu.org> |
| |
| * rs6000.h (SIZE_TYPE): Define. |
| |
| 2000-07-21 Mark Mitchell <mark@codesourcery.com> |
| |
| * ssa.c (rename_insn_1): Don't rename registers that are |
| CLOBBERed. |
| |
| 2000-07-21 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * diagnostic.c (trim_filename, fancy_abort): Moved here from |
| rtl.c. |
| (fatal_function, set_fatal_function): Removed. |
| (fatal): Don't prepare for or call the fatal_function. |
| (diagnostic_lock, error_recursion): New. |
| (diagnostic_for_decl, report_diagnostic): Guard against |
| re-entering the error reporting routines. |
| (fancy_abort): Assume function is not NULL. |
| |
| * errors.c (fancy_abort): New. Assume function is not NULL. |
| * tradcpp.c (fancy_abort): Assume function is not NULL. |
| |
| * system.h: Provide default definition of __FUNCTION__. |
| * rtl.h: Use __FUNCTION__ not __PRETTY_FUNCTION__ throughout. |
| Always use __FUNCTION__ in definition of abort. |
| * tree.h: Likewise. |
| * varray.h: Likewise. |
| * toplev.h: Likewise. Don't prototype set_fatal_function. |
| |
| 2000-07-20 Geoff Keating <geoffk@cygnus.com> |
| |
| * config/rs6000/aix43.h (CPP_SPEC): Define __LONG_MAX__ correctly |
| in 64-bit mode. |
| * glimits.h: Don't do #if defined for ARCH_PPC. |
| |
| * config/rs6000/rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): All |
| constants of size no larger than a pointer should go in the TOC. |
| Add 'MODE' parameter. |
| (LEGITIMIZE_RELOAD_ADDRESS): Add MODE parameter to |
| ASM_OUTPUT_SPECIAL_POOL_ENTRY_P. |
| (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Likewise. |
| * config/rs6000/aix.h (SELECT_RTX_SECTION): Likewise. |
| * config/rs6000/netware.h (SELECT_RTX_SECTION): Likewise. |
| * config/rs6000/rs6000.c (constant_pool_expr_1): Likewise. |
| (rs6000_legitimize_address): Likewise. |
| (rs6000_emit_move): Likewise. |
| (rs6000_select_rtx_section): Likewise. |
| (output_toc): Deal properly with outputting small constants like |
| HImode, and SFmode in 32-bit mode, and DFmode in 64-bit mode. |
| * config/rs6000/sysv4.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Add |
| MODE parameter. Put small constants in the TOC. |
| |
| * config/rs6000/rs6000.c (easy_fp_constant_p): All constants are |
| easy in SImode. |
| (rs6000_emit_move): When reload calls us with an illegitimate |
| address, exit early. Move the change_address calls to one place |
| at the end of the routine. Merge the SImode and DImode expanders. |
| When called by reload to put an integer into a FP register, force |
| it to memory. |
| |
| * config/rs6000/rs6000.c (struct toc_hash_struct): Add 'key_mode' |
| field. |
| (rs6000_hash_constant): Hash mode too. |
| (toc_hash_function): Allow for key_mode. |
| (toc_hash_eq): Structures are different if key_mode differs. |
| (output_toc): Add 'mode' parameter. Save key_mode. |
| * config/rs6000/rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): |
| Pass 'mode' parameter. |
| * config/rs6000/rs6000-protos.h (output_toc): Add 'mode' param. |
| |
| * config/rs6000/rs6000.c (output_toc): Use RS6000_OUTPUT_BASENAME |
| for vtable references. |
| |
| * config/rs6000/rs6000.h (PREFERRED_RELOAD_CLASS): If we have a |
| choice, don't put integer values in FP regs. |
| |
| Thu Jul 20 18:13:52 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * flow.c (verify_flow_info): Revamp code to verify that the |
| head and end of each basic block are in the insn chain. |
| |
| Thu Jul 20 18:02:35 2000 Michael Matz <matzmich@cs.tu-berlin.de> |
| |
| * gcse.c (record_one_set): Prepend instead of append onto |
| reg_set_table, making it O(n) instead O(n^2). |
| * lcm.c (compute_antinout_edge,compute_laterin,compute_available): |
| Use a queue instead of a stack as worklist. |
| |
| 2000-07-20 Kazu Hirata <kazu@hxi.com> |
| |
| * h8300.c (two_insn_adds_subs_operand): Fix a typo. |
| * h8300.h (OK_FOR_T): New. |
| (EXTRA_CONSTRAINT): Support OK_FOR_T. |
| * h8300.md: Use inc/dec.[wl] for increment/decrement |
| by 1 and 2 in HI and SI modes. |
| |
| 2000-07-20 Jim Wilson <wilson@cygnus.com> |
| |
| * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Handle DELTA values |
| larger than 14 bits. |
| |
| 2000-07-20 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppmacro.c (CAN_PASTE_AFTER): New macro. |
| (count_params): Don't set GNU_REST_ARGS on anything. |
| (save_expansion): Set PASTE_LEFT only on tokens for which |
| CAN_PASTE_AFTER is true, or which are named operators. |
| |
| * cpplex.c (parse_args): Distinguish between a rest argument |
| given one empty argument, and a rest argument given zero arguments. |
| (maybe_paste_with_next): Look for VOID_REST tag, and trigger |
| deletion of previous token based on that. |
| (get_raw_token): Flatten some control structure. |
| |
| * cpplib.h (CPP_LAST_EQ): Correct. |
| (VOID_REST): New token flag. |
| (GNU_REST_ARGS): Delete. |
| |
| * tradcpp.c (main): Don't munge -D options. |
| (make_definition): Bring -D handling in line with cpplib. |
| (do_define): Strip all leading whitespace from macro definitions. |
| |
| 2000-07-20 David Billinghurst <David.Billinghurst@riotinto.com.au> |
| |
| * Makefile.in (tradcpp): Depend on intl.o and version.o. |
| |
| 2000-07-20 Bruce Korb <bkorb@gnu.org> |
| |
| * fixincl/check.tpl: strip the platform specific types before testing |
| * fixincl/fixfixes.c(gnu_type_fix): use platform specific types |
| * fixincl/fixincl.tpl: use platform specific types |
| * fixincl/fixlib.h: include the platform specific types |
| * fixincl/inclhack.def(gnu_types): don't supply the types |
| * fixincl/fixincl.x: regen |
| |
| 2000-07-19 Jim Wilson <wilson@cygnus.com> |
| |
| * config/ia64/ia64.h (HARD_REGNO_MODE_OK): Don't allow XFmode in |
| GR_REGS. |
| |
| 2000-07-19 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * tradcpp.c (rescan): Do not recognize directives when the # |
| is indented. |
| |
| 2000-07-19 Zack Weinberg <zack@wolery.cumb.org> |
| |
| Implement C++ named operators. |
| |
| * cpplib.h (TTYPE_TABLE): Move CPP_MIN and CPP_MAX into block |
| of operators allowed in #if and having an _EQ variant. Add |
| CPP_MIN_EQ, CPP_MAX_EQ, and CPP_DEFINED. |
| (cpp_token flags): Add NAMED_OP. |
| (enum node_type): Add T_OPERATOR. |
| (struct cpp_hashnode): Add code slot to value union. |
| * cpphash.h (spec_nodes): Remove n_defined. |
| |
| * cpplex.c (lex_line): Convert T_OPERATOR nodes to their proper types. |
| (spell_token, can_paste, maybe_paste_with_next): Handle named operators. |
| (is_macro_disabled): Tweak error messages. |
| |
| * cpplib.c (get_define_node): Disallow all named operators as |
| macro names. Tweak error messages. |
| (_cpp_init_stacks): Don't set up spec_nodes->n_defined. |
| |
| * cppinit.c (builtin_array): Add entries for the named operators. |
| * cppexp.c (lex): Check for CPP_DEFINED token. |
| (priority table): Add entries for CPP_MIN and CPP_MAX. |
| (_cpp_parse_expr): Handle CPP_MIN and CPP_MAX. |
| |
| 2000-07-19 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * gcse.c (INSN_CUID): If ENABLE_CHECKING, abort if the uid is |
| larger than the array of cuids. |
| (alloc_gcse_mem): Use uid_cuid rather than INSN_CUID when computing |
| cuids. |
| |
| 2000-07-19 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/fixincl.c: Convert to using a table of environment variables |
| and activate the auto-edit marker on the fixed output files. |
| * fixinc/fixlib.h: Define the environment table |
| * fixinc/fixincl.sh: export the ${INPUT} dir |
| * fixinc/check.tpl: likewise |
| |
| 2000-07-18 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * gcc.c (.h spec): Fix typo. |
| |
| Wed Jul 19 01:22:15 CEST 2000 Marc Espie <espie@cvs.openbsd.org> |
| |
| * Makefile.in: Fix tradcif.c path. |
| |
| 2000-07-18 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplib.h (TTYPE_TABLE): Rearrange to use only two per-entry |
| macros, not five. |
| |
| * cpphash.h (TOKEN_NAME): New macro. |
| (_cpp_spell_operator): Deleted. |
| (token_spellings): Now _cpp_token_spellings. |
| |
| * cppexp.c: Use TOKEN_NAME or TYPE_NAME, not _cpp_spell_operator. |
| * cpplex.c: Use OP and TK macros when expanding the |
| TTYPE_TABLE. Eliminate token_names. For non-OPERATOR tokens, |
| store the stringification of the enumeration name (CPP_CHAR, |
| etc.) in the name slot of token_spellings. |
| Use TOKEN_NAME and/or TOKEN_SPELL, do not reference |
| token_spellings directly. |
| * cpplib.c: Use TOKEN_SPELL. |
| |
| * cpplex.c (_cpp_push_token): If the token being pushed back |
| is the previous token in this context, just subtract one from |
| context->posn. |
| * cppmacro.c (save_expansion): Clear aux field when storing a |
| placemarker. |
| |
| 2000-07-18 Jakub Jelinek <jakub@redhat.com> |
| |
| * cpplex.c (cpp_scan_buffer): Output line command even at the stop |
| buffer, provided it is not NULL. |
| |
| 2000-07-18 Alexandre Oliva <aoliva@redhat.com> |
| |
| * c-decl.c (duplicate_decls): Do not call make_var_volatile() in |
| case of invalid volatile re-declaration. |
| |
| 2000-07-18 Jakub Jelinek <jakub@redhat.com> |
| |
| * calls.c (store_arg): Return nonzero if sibcall_failure is desired. |
| (expand_call): Adjust caller. |
| |
| 2000-07-17 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * diagnostic.h (report_diagnostic): Change prototype. |
| |
| * diagnostic.c (output_do_verbatim, diagnostic_for_asm, |
| diagnostic_for_decl): Change prototype. |
| (error_with_decl, warning_with_decl, pedwarn_with_decl, warning, |
| error, warning, error_with_file_and_line, |
| warning_with_file_and_line, pedwarn_with_file_and_line, fatal): |
| Adjust call to report_diagnostic, diagnostic_for_decl. |
| (error_for_asm, warning_for_asm): Adjust call to diagnostic_for_asm. |
| (output_verbatim, verbatim): Adjust call to output_do_verbatim. |
| |
| * c-errors.c (pedwarn_c99): Adjust call to report_diagnostic. End |
| varaible argument list. |
| |
| 2000-07-17 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpphash.c: Don't include hashtab.h. Most macro-handling code |
| moved to cppmacro.c. |
| (hash_HASHNODE, eq_HASHNODE, _cpp_dump_macro_hash, |
| dump_hash_helper): Delete. |
| (expand_hash, higher_prime_number, _cpp_lookup_with_hash, |
| cpp_forall_identifiers): New. Implement specialized version of |
| Vlad's expandable hash table. |
| (cpp_lookup): Use new functions. |
| (_cpp_init_macros, _cpp_cleanup_macros): Adjust for new |
| implementation. |
| * cppmacro.c: New file. |
| * cppinit.c (dump_macros_helper): New. |
| (cpp_finish): Iterate over the identifier table directly. |
| * cpplex.c (parse_name): Calculate the hash of the identifier |
| while we scan it. Use _cpp_lookup_with_hash when we can. |
| |
| * cpphash.h: Update prototypes. |
| (xcnewvec, HASHSTEP): New helper macros. |
| * cpplib.h: Update prototypes. |
| * Makefile.in (LIBCPP_OBJS): Add cppmacro.o. |
| (cppmacro.o): New rule. |
| (cpphash.o): Update deps. |
| |
| * cppmain.c: Do not set pfile->printer if no_output is on. |
| |
| 2000-07-15 Neil Booth <neilb@earthling.net> |
| |
| * cpplib.c: Change all directive-handler functions to return |
| void, not int. |
| * cpphash.h: Update typedefs. |
| |
| 2000-07-17 Geoffrey Keating <geoffk@cygnus.com> |
| |
| * configure: Regenerate. |
| |
| * extend.texi (Extended Asm): Mention that a memory clobber |
| does not count as a side-effect. |
| |
| * unroll.c (copy_loop_body): Fix one instance of using host |
| arithmetic on the target; fixes loop-4 on a 32-bit -> 64-bit |
| cross-compile. |
| |
| * tlink.c (scan_linker_output): Tweak for output of AIX ld. |
| |
| 2000-07-17 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64.md (movdi): Split out load address code. |
| New post-reload splitter for symbolic operands. |
| (movdi_internal): Abort if we didn't split symbolic operands |
| when we should have. |
| * config/ia64/ia64.c (ia64_expand_load_address): New, from movdi bits. |
| (ia64_reorg): Split insns when not optimizing. |
| * config/ia64/ia64-protos.h (ia64_expand_load_address): Declare. |
| |
| Mon Jul 17 23:43:26 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Use LONG_DOUBLE_TYPE_SIZE |
| instead of MAX_LONG_DOUBLE_TYPE_SIZE to decide output format. |
| |
| 2000-07-17 Chandrakala Chavva <cchavva@cygnus.com> |
| |
| * loop.c (check_dbra_loop) : Changed loop_continue to loop->cont. |
| |
| 2000-07-17 Jason Merrill <jason@redhat.com> |
| |
| * Makefile.in (clean): Remove libgcc directory. |
| |
| * configure.in (-Wno-long-long check): Use higher-level macros. |
| |
| 2000-07-17 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * simplify-rtx.c (simplify_binary_operation): Recognize |
| (compare (gt[u] (cc) 0) (lt[u] (cc) 0)). |
| (simplify_ternary_operation): Do not examine MODE_BITSIZE of |
| a CONST_INT, it will always be zero. |
| |
| 2000-07-17 Chandrakala Chavva <cchavva@cygnus.com> |
| |
| * loop.c (check_dbra_loop) : Return if more than one condition is |
| present to control the loop. |
| |
| Mon Jul 17 08:26:35 2000 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * mips.c (mips_expand_prologue): Don't calculate the last argument |
| register unless we need it. When we are calculating this, make |
| sure FUNCTION_ARG is giving us a REG. |
| |
| 2000-07-17 Stephane Carrez <Stephane.Carrez@worldnet.fr> |
| |
| * flow.c (libcall_dead_p): Use single_set to verify the insn |
| has only one set and get for analysis. |
| (propagate_one_insn): Don't pass the PATTERN of the insn. |
| |
| 2000-07-17 Mark Klein <mklein@dis.com> |
| |
| * pa.c (emit_hpdiv_const): Update to match new pattern for udivsi3. |
| |
| 2000-07-17 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * Makefile.in (TARGET_GETGROUPS_T): New configuration variable. |
| * configure.in (TARGET_GETGROUPS_T): Evaluate. |
| * sys-protos.h (getgroups): Use TARGET_GETGROUPS_T for array type |
| of second argument of getgroups. |
| * configure, config.in: Rebuilt. |
| |
| 2000-07-17 Geoffrey Keating <geoffk@cygnus.com> |
| |
| * simplify-rtx.c (simplify_relational_operation): Two signed |
| values with equal high words are less/greater than each other if |
| their low words are less/greater when considered as unsigned. |
| |
| Mon Jul 17 02:37:06 2000 Marc Espie <espie@openbsd.org> |
| |
| * configure.in (vax-*-openbsd): Change to new style configuration, |
| add collect2/float_format information. |
| * configure: Rebuilt. |
| * config/vax/openbsd1.h: New. |
| * config/vax/openbsd.h: New. |
| * config/vax/t-openbsd: New. |
| |
| 2000-07-17 Chip Salzenberg <chip@valinux.com> |
| |
| * c-common.c (shorten_compare): Quiet warnings about unsigned |
| comparisons with zero when they occur in a system header. |
| |
| 2000-07-17 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * invoke.texi (-pedantic): Refer to ISO C instead of ANSI C, and |
| update to describe current practice. |
| |
| * glimits.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define for C99. |
| |
| * contrib.texi, cpp.texi, extend.texi, invoke.texi: Update |
| references to C9X. Change references to -fstd and -flang-isoc9x |
| to refer to -std. |
| |
| * c-common.c (scan_char_table): Allow "z" length modifiers on |
| diouxXn formats. |
| (check_format_info): Use TYPE_DOMAIN on the type matched against |
| for "z" formats, to retrieve the language size_t rather than the |
| internal one. |
| |
| * c-common.c (check_format_info): Do not make a pedantic objection |
| to the 'L' length modifier if used with a floating point type |
| character. |
| |
| * c-lex.c (yylex): Don't pedwarn for hexadecimal floating point |
| constants in C99 mode. |
| |
| 2000-07-17 Kazu Hirata <kazu@hxi.com> |
| |
| * h8300.md: Fix the format of mac. |
| (movsi_h8300hs): Output a tab after stmac instead of a space. |
| |
| * h8300.c (two_insn_adds_subs_operand): Improve code for detecting |
| profitable adds/subs sequences. |
| |
| * fold-const.c: Fix comment typos. |
| |
| 2000-07-16 Laurynas Biveinis <lauras@softhome.net> |
| |
| * cppfiles.c (read_name_map): Set map_list_ptr->map_list_map to NULL. |
| |
| 2000-07-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * fixinc/fixfixes.c (emit_gnu_type): Avoid string concatenation. |
| |
| 2000-07-16 Neil Booth <NeilB@earthling.net> |
| |
| * cpplex.c: Update comments. |
| * README.Portability: Small update. |
| |
| 2000-07-16 Neil Booth <NeilB@earthling.net> |
| |
| * README.Portability: Small update. |
| |
| 2000-07-15 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64-protos.h (ia64_move_ok): Prototype. |
| * config/ia64/ia64.c (ia64_move_ok): New function. |
| * config/ia64/ia64.md (movqi, movqi_internal): Use it. |
| (movhi, movsi, movdi, movsf, movdf, movxf): Likewise. |
| |
| 2000-07-15 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpphash.c (save_expansion): Clear PREV_WHITE on tokens |
| immediately following a paste operator. |
| * cppinit.c (sort_options): New function (only for HOST_EBCDIC). |
| (cpp_reader_init): Call it, if HOST_EBCDIC. |
| (cpp_handle_options): Do not sort option list here. |
| (handle_option): Rename to cpp_handle_option and export. |
| * cpplex.c (cpp_scan_buffer_nooutput, cpp_scan_buffer): Use |
| _cpp_get_token directly. |
| (cpp_scan_line): Return 0 at EOF, 1 otherwise. |
| * cpplib.c (cpp_push_buffer): Don't set new->lineno to 1. |
| * cpplib.h: Prototype cpp_handle_option. Update prototype of |
| cpp_scan_line. |
| |
| 2000-07-15 Richard Henderson <rth@cygnus.com> |
| |
| * fold-const.c (extract_muldiv): Don't optimize past an unsigned |
| cast around an expression. Tidy other unsigned tests. |
| |
| 2000-07-15 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * diagnostic.c (doing_line_wrapping, line_wrapper_printf, notice, |
| v_error_with_decl, v_warning_with_decl, v_pedwarn_with_decl): Remove. |
| (v_message_with_decl): Rename to ... |
| (format_with_decl): ... this. Tweak |
| (diagnostic_for_decl): New function. |
| (fatal_io_error): Use verbatim in lieu of notice. |
| (announce_function): Use verbatim. |
| (default_print_error_function): Likewise. |
| (error_with_decl, warning_with_decl, pedwarn_with_decl): Use new |
| infratructure. |
| |
| 2000-07-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * mips.c (function_arg_pass_by_reference): Don't do automatic |
| aggregate initialization. |
| (machine_dependent_reorg): Initialize variable `mode'. |
| |
| * mips.md (absdi2): Change variable `regno1' to unsigned int. |
| (reload_indi): Rename loword/hiword to lo_word/hi_word to avoid |
| conflicts with sys/param.h macro of the same name. |
| (reload_outdi): Likewise. |
| |
| 2000-07-15 Michael Meissner <meissner@redhat.com> |
| |
| * fold-const.c (fold): When optimizing FOO++ == CONST into ++FOO |
| == CONST + INCREMENT, don't overwrite the tree node for FOO++, |
| create a new node instead. |
| |
| 2000-07-15 Neil Booth <NeilB@earthling.net> |
| |
| * README.Portability: Correct example about calling a function |
| through a pointer to function. Format wide paragraphs. |
| |
| 2000-07-15 Michael Meissner <meissner@redhat.com> |
| |
| * README.Portability: Update integer suffixes and function |
| prototype sections. |
| |
| 2000-07-15 Neil Booth <NeilB@earthling.net> |
| |
| * README.Portability: Small update. |
| |
| 2000-07-15 Neil Booth <NeilB@earthling.net> |
| |
| * README.Portability: New file. |
| |
| Fri Jul 14 18:13:53 2000 Mark P Mitchell <mark@codesourcery.com> |
| |
| * INSTALL: Give special instructions for building GCC on Irix 6. |
| * config/mips/x-iris6 (CC): Don't set it. |
| (OLDCC): Likewise. |
| |
| 2000-07-14 Jason Merrill <jason@redhat.com> |
| |
| * dwarf2out.c (dwarf2out_frame_debug_expr): If we store the CFA |
| register in the stack and later in another register, use the new |
| register. |
| |
| Fri Jul 14 10:25:53 2000 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * config/mips/mips.md: (absdi2): Handle sign_extend for |
| second operand. |
| |
| 2000-07-14 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * cpplib.c (do_pragma_dependency): Tidy warning messages. |
| |
| 2000-07-14 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * .cvsignore: Correct typo. |
| |
| 2000-07-13 Mark Mitchell <mark@codesourcery.com> |
| |
| * .cvsignore: Add generated YACC files. |
| * objc/.cvsignore: New file. |
| |
| 2000-07-14 Neil Booth <NeilB@earthling.net> |
| |
| * cpplex.c (adjust_column): New function. |
| (skip_whitespace): Use it. |
| (skip_block_comment): Use it, and warn about /*/* with |
| -Wcomments. |
| |
| 2000-07-14 Neil Booth <NeilB@earthling.net> |
| |
| * cpphash.c (struct macro_info): Add new members. |
| (_cpp_free_definition): Delete the macro directly. |
| (count_params): Return void, with first token of |
| expansion in struct macro_info on success. |
| (parse_define): Return int. Hoist syntax checking from |
| save_macro_expansion. Leave call to save_expansion to |
| _cpp_create_definition. |
| (alloc_macro): Needs just 2 arguments. |
| (free_macro): Delete. |
| (save_expansion): Don't perform syntax check. |
| (_cpp_create_definition): Call save_expansion. |
| |
| 2000-07-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * genrecog.c (write_header): Split long string. |
| |
| * cpphash.c (macro_info): Don't use the `signed' keyword. |
| |
| * system.h (alloca): Prototype if __GNUC__ && __SIZE_TYPE__. |
| |
| 2000-07-13 Jakub Jelinek <jakub@redhat.com> |
| |
| * calls.c (stored_args_map): New variable. |
| (check_sibcall_argument_overlap_1): New. |
| (check_sibcall_argument_overlap): New. |
| (expand_call): Initialize stored_args_map. |
| Call check_sibcall_argument_overlap. |
| |
| 2000-07-13 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/fixfixes.c: move EXIT_BROKEN to header, add sub-expr max count |
| (emit_gnu_type): utility procedure for gnu_type_fix |
| (gnu_type_fix): implement various pre-processor guards around |
| standard types so these types can be defined over and over |
| * fixinc/fixincl.tpl: add a "gnu_type_map" that forces the standard |
| types alluded to above will have GNU-compliant base types |
| * fixinc/fixlib.h: add EXIT_BROKEN define and the gnu_type_map struct |
| * fixinc/inclhack.def: add test_text entries and utilize the new |
| "gnu_types" fix for the ptrdiff_t, size_t and wchar_t types. |
| * fixinc/fixincl.x: regenerate |
| |
| 2000-07-12 Gabriel Dos Reis <gdr@merlin.codesourcery.com> |
| |
| * diagnostic.c (vline_wrapper_message_with_location, |
| v_message_with_file_and_line, v_error_with_file_and_file, |
| v_error_for_asm, v_warning_for_asm, vfatal, |
| v_warning_with_file_and_line, v_pedwarn_with_file_and_line, |
| vsorry, verror, vwarning, vpedwarn): Remove. |
| (diagnostic_for_asm): New function. |
| (pedwarn, error, warning, pedwarn_with_file_and_line, |
| error_with_file_and_line, warning_with_file_and_line, sorry, |
| error_for_asm, warning_for_asm, fatal): Reimplement. |
| (finish_diagnostic): Clear diagnostic info as well. |
| |
| 2000-07-13 Neil Booth <NeilB@earthling.net> |
| |
| * c-common.h (flag_digraphs): New. |
| * c-decl.c (c_decode_option): Set flag_digraphs as appropriate. |
| * c-lex.c (yylex): Use flag_digraphs to decide whether to |
| honor digraphs. |
| |
| 2000-07-13 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * gcc.c (do_spec_1): Add new %B operator. |
| (set_input): Prepare for %B. |
| |
| (link_command_spec): Move up with the other tm.h- |
| overrideable specs. Factor out the portion conditional on |
| LINK_LIBGCC_SPECIAL into a new spec, %(link_libgcc). |
| (struct compiler): Just have a single spec string. All users |
| updated. |
| (default_compilers): Remove unnecessary braces. |
| (static_specs): Update. |
| |
| (trad_capable_cpp, cpp_options, cc1_options, asm_options): New |
| named specs. |
| (C and assembly specs): Use the new named specs, as appropriate. |
| |
| * objc/lang-specs.h: Use the new named specs. |
| Remove unnecessary braces. |
| |
| 2000-07-12 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * gcc.c (execute): If a subprocess gets a fatal signal, report |
| strsignal() of the signal number, and ask for a bug report. |
| Do not do this for SIGPIPE if there's already been an error. |
| |
| * tradcpp.c: Don't include signal.h. Don't catch SIGPIPE. |
| Delete pipe_closed. |
| |
| * tradcif.c: Remove. |
| |
| 2000-07-12 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * final.c (profile_function): Do not emit profile counters in |
| the data section, if NO_PROFILE_COUNTERS is defined. |
| * tm.texi: Document NO_PROFILE_COUNTERS. Update doc for |
| FUNCTION_PROFILER. |
| |
| * config/i386/linux.h (NO_PROFILE_COUNTERS): Define. |
| (FUNCTION_PROFILER): Just emit a call to mcount. |
| |
| 2000-07-12 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * tradcpp.c (main): Rename 'perror' label to 'sys_error'. |
| |
| * cppexp.c, cpphash.c, cpphash.h, cppinit.c, cpplex.c, |
| cpplib.c, cpplib.h: Eradicate all traces of code dependent on |
| traditional, lang_chill, or lang_fortran. |
| |
| * cppfiles.c: #undef strcmp to suppress warning about macros |
| used without arguments. |
| (_cpp_execute_include): Use f, not fname, in "No include path" |
| error. |
| (_cpp_pop_file_buffer): New function. |
| * cpplib.c: Don't include <sys/mman.h>. |
| (cpp_push_buffer): Set line_base and lineno in new buffer. |
| (cpp_pop_buffer): Use _cpp_pop_file_buffer. |
| |
| * cpplex.c: Move all prototypes and structure declarations to the |
| top of the file. Properly parenthesize some macro arguments. |
| (cpp_scan_line): New function. |
| (special_symbol [case T_INCLUDE_DEPTH]): Use pfile->include_depth, |
| don't need to walk up the stack counting. |
| |
| 2000-07-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * c-common.c (combine_strings): Emit a pedantic warning when a |
| string length is greater than the minimum ANSI C is required |
| to support. |
| |
| Wed Jul 12 13:24:30 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * pa/xm-pa64.h (NO_SYS_SIGLIST): Kill. |
| * d30v/xm-d30v.h (NO_SYS_SIGLIST): Kill. |
| |
| 2000-07-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * c-decl.c (define_label): Warn about identifier conflicts with |
| labels in traditional C. |
| |
| * c-parse.in (unop +): Warn about the unary plus operator for |
| traditional C. |
| |
| * c-typeck.c (store_init_value): Warn about automatic aggregate |
| initialization for traditional C. |
| |
| * invoke.texi (-Wtraditional): Document new warnings. |
| |
| 2000-07-12 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * Makefile.in (c-errors.o): Fix thinko in dependency. |
| |
| 2000-07-12 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * gcc.c (C specs [!USE_CPPLIB]): Invoke tradcpp if any of |
| -traditional, -ftraditional, or -traditional-cpp was given. |
| Do not pass -traditional to the preprocessor. |
| (.S spec): Likewise. Don't bother defining __ASSEMBLER__, the |
| preprocessor does it automatically. |
| * objc/lang-specs.h: Likewise. Don't bother defining __OBJC__. |
| |
| * ch/lang-specs.h: Always use tradcpp. Do not pass |
| -traditional, -trigraphs, or -pedantic to the preprocessor. |
| * f/lang-specs.h (.F spec): Likewise. Don't bother defining |
| _LANGUAGE_FORTRAN. |
| |
| 2000-07-12 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppexp.c (LOGICAL): Delete macro. |
| (_cpp_parse_expr): Do not use UNARY for unary +. Implement || |
| and && directly. |
| |
| * cpphash.c (HASHSIZE): Increase to 4096. |
| (struct hashdummy): Add hash field. |
| (eq_HASHNODE): Compare unreduced hashes, then lengths, then |
| the string values using memcmp. |
| (cpp_lookup): Set dummy.hash. |
| |
| Wed Jul 12 13:15:16 2000 Marc Espie <espie@openbsd.org> |
| |
| * configure.in (m88k-openbsd): Express configuration using new fragment |
| style. |
| * configure: Rebuilt. |
| * m88k/aout-dbx.h: New. |
| * m88k/openbsd.h: New. |
| * m88k/xm-openbsd.h: New. |
| |
| 2000-07-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * expr.c (expand_expr): Return const0_rtx, not error_mark_node. |
| |
| 2000-07-12 Richard Henderson <rth@cygnus.com> |
| |
| * reload.c (push_secondary_reload): Make sure to add the new |
| reload at the end, after acquiring secondary memory. |
| |
| 2000-07-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * cpplex.c (is_macro_disabled): Use CPP_WTRADITIONAL. |
| |
| * c-decl.c (set_current_function_name_declared, anon_aggr_type_p, |
| lang_expand_stmt): Mark parameters with ATTRIBUTE_UNUSED. |
| |
| * c-parse.in (stmt): Delete unused variables. |
| |
| * convert.c (convert_to_vector): Likewise. |
| |
| * gensupport.c (process_rtx): Declare attr as `rtvec' not `rtx'. |
| |
| * tree.c (finish_vector_type): Prototype. |
| |
| 2000-07-12 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/fixfixes.c: use xmalloc |
| * fixinc/fixincl.c(initialize): set program name for xmalloc |
| * fixinc/fixlib.c(must_malloc): obsolete |
| (is_cxx_header): no longer used - disabled |
| (skip_quote): inserted and disabled for future use |
| * fixinc/fixlib.h: reflects above |
| * fixinc/fixtests.c: removed dinkleberries |
| |
| 2000-07-12 Neil Booth <NeilB@earthling.net> |
| |
| * cpphash.h: (TOKEN_SPELL) Pulled from cpplex.c. |
| * cpplex.c (TOKEN_SPELL) Move to cpphash.h. |
| |
| * cpphash.c: (struct macro_info, alloc_macro, free_macro, |
| struct toklist_dummy): New. |
| (cpp_free_definition): Free macros with free_macro. |
| (count_params): Don't save parameter spellings. Save macro |
| information in a struct macro_info. |
| (parse_define): Don't allocate a token list. |
| (save_expansion): Allocate the macro's token list, and |
| save parameter spellings if necessary. Use TOKEN_SPELL. |
| (cpp_create_definition): Make list const. |
| |
| 2000-07-12 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * c-typeck.c (pedwarn_c99): Move to |
| * c-errors.c: ... Here. |
| * toplev.h (verror, vwarning, vpedwarn): Remove prototypes. |
| * diagnostic.c (verror, vwarning, vpedwarn): Make static. |
| * Makefile.in (C_AND_OBJC_OBJS): Include c-errors.o |
| (c-errors.o): List dependency. |
| |
| 2000-07-12 Mark Mitchell <mark@codesourcery.com> |
| |
| * c-parse.c: Remove. |
| * c-parse.h: Likewise. |
| * c-parse.y: Likewise. |
| * objc/objc-parse.c: Likewise. |
| * objc/objc-pasre.y: Likewise. |
| |
| 2000-07-11 Rodney Brown <RodneyBrown@pmsc.com> |
| |
| * gcc.texi: Fix minor typos |
| * extend.texi: Fix minor typos |
| |
| 2000-07-11 Marc Espie <espie@openbsd.org> |
| |
| * collect2.c (main): Recognize .lo as object files. |
| |
| 2000-07-11 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * pa.c (hppa_encode_label): Store labels in gc memory when ggc_p is |
| true. |
| |
| * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Extend test to detect systems |
| with MAP_ANONYMOUS and MAP_ANON. |
| * configure, config.in: Rebuilt. |
| |
| 2000-07-12 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * diagnostic.c (save_output_state): Remove. |
| (restore_output_state): Likewise. |
| (clear_text_info): New function. |
| (clear_diagnostic_info): Likewise. |
| (output_text_length, is_starting_newline, output_prefix, |
| line_wrap_cutoff, ideal_line_wrap_cutoff, prefix_was_emitted_for, |
| prefixing_policy, output_buffer_ptr_to_format_args): New macros |
| (set_real_maximum_length, output_set_maximum_length, |
| output_set_prefix, output_get_prefix, output_set_maximum_length, |
| output_destroy_prefix, init_output_buffer, |
| reshape_diagnostic_buffer, output_space_left, output_emit_prefix, |
| output_add_newline, output_add_character, output_add_space, |
| output_append_r, output_append, wrap_text, output_format, |
| output_do_printf, output_printf, output_do_verbatim, |
| output_verbatim, verbatim): Use them. |
| (output_clear): Split into cleat_text_info and |
| clear_diagnostic_info. |
| (struct output_state): Move to... |
| |
| * diagnostic.h: ...Here |
| (struct output_buffer): Adjust. |
| |
| 2000-07-11 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplex.c (parse_name): No longer inline (premature optimization). |
| (do_pop_context): Fold into pop_context. |
| (pop_context): Returns int. |
| (lex_next): Hoist test for end of directive into pop_context. |
| (push_macro_context): Returns int; takes just reader and token. |
| Hoist test for excessive nesting to caller. |
| (push_arg_context): Returns void; takes just reader and token. |
| Do not call stringify_arg or get_raw_token. |
| (get_raw_token): Convert tail recursion through push_arg_context |
| to a loop at this level. Call stringify_arg here if appropriate. |
| (maybe_paste_with_next): Convert tail recursion to a while loop. |
| Hoist test of paste_level to caller. |
| |
| (stringify_arg): Push arg context at beginning. |
| (cpp_get_token): Split out core into _cpp_get_token. Call |
| process_directive here. Throw away CPP_PLACEMARKER tokens. |
| (_cpp_get_token): Convert tail recursion through |
| push_macro_context to a loop at this level. |
| (_cpp_glue_header_name, is_macro_disabled, stringify_arg, |
| _cpp_get_raw_token): Use _cpp_get_token. |
| (_cpp_skip_rest_of_line): Drop the context stack directly; do |
| not call pop_context. |
| (_cpp_run_directive): Call lex_next directly. |
| |
| * cpphash.h: Prototype _cpp_get_token. |
| * cppexp.c (lex): Use it. |
| * cpphash.c (parse_define): Use it. |
| * cpplib.c (get_define_node, do_undef, parse_include, |
| read_line_number, do_line, do_ident, do_pragma, do_pragma_gcc, |
| do_pragma_implementation, do_pragma_poison, do_pragma_dependency, |
| parse_ifdef, validate_else): Use it. |
| (cpp_push_buffer): Tweak error message; abort if anyone tries |
| to push a buffer while macro expansions are stacked. |
| |
| 2000-07-11 Donn Terry <donnte@microsoft.com> |
| |
| * cpplex.c (free_macro_args, save_token): Cast arg of free |
| and/or xrealloc to PTR. |
| (_cpp_init_input_buffer): Clear all fields of the base context. |
| |
| Tue Jul 11 15:28:21 CDT 2000 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * gensupport.c (process_rtx): Make rtl checking stop |
| complaining about the define_insn while it is being |
| converted from a define_insn_and_split. |
| |
| Tue Jul 11 16:26:17 2000 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * config/mips/mips.c (simple_memory_operand): Access the |
| INTVAL of the address, not it's containing MEM. |
| |
| 2000-07-11 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/fixtests.c(double_slash): obsolete |
| (else_endif_label): likewise |
| * fixinc/inclhack.def(irix_multiline_cmnt): obsolete |
| (libc1_ifdefd_memx): correct initial comment |
| and omit the #if/#endif pair from the memxxx declarations |
| * fixinc/fixincl.x: regen |
| |
| 2000-07-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * cpplex.c (T, I, S, C, N): Avoid non-constant initializers. |
| |
| 2000-07-11 Neil Booth <NeilB@earthling.net> |
| |
| * cpp.texi: Update. |
| |
| 2000-07-11 Neil Booth <NeilB@earthling.net> |
| |
| * cppinit.c: (cpp_reader_init): Allow digraphs by default. |
| (handle_option): Set digraphs according to standard. |
| Merge OPT_lang_c89 handler with OPT_std_c89. |
| |
| * cpplex.c: (lex_line, can_paste): Honor digraphs in |
| accordance with the digraphs flag. |
| |
| * cpplib.h: (struct cpp_options): New option digraphs. |
| |
| 2000-07-10 Hans-Peter Nilsson <hp@axis.com> |
| Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/inclhack.def (libc1_ifdefd_memx): New fix. |
| * fixinc/fixincl.x: Regenerate. |
| * fixinc/tests/base/testing.h: Add testcase. |
| |
| 2000-07-10 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64.c (got_symbolic_operand): New. |
| (symbolic_operand, move_operand): Revert 0701 change. |
| * config/ia64/ia64.h (PREDICATE_CODES): Update. |
| * config/ia64/ia64-protos.h (got_symbolic_operand): Declare. |
| * config/ia64/ia64.md (movdi): Revert 0701 wrt symbolic_operand; |
| split the offset into a 14-bit low part instead of a 13-bit low part. |
| (load_fptr): Mark the mem as unchanging. |
| (load_symptr): Use got_symbolic_operand. |
| |
| 2000-07-10 Nick Clifton <nickc@cygnus.com> |
| |
| * libgcc2.c (next_stack_level): Cast result of computation to |
| (void **) so that the assignment does not generate a warning. |
| |
| 2000-07-10 Chandrakala Chavva <cchavva@redhat.com> |
| |
| * flags.h : Add new variable flag_single_precision_constant. |
| * toplev.c (display_help) : Add -fsingle-precision-constant option. |
| (flag_single_precision_constant): New. |
| * c-lex.c (yylex): Convert floating point constant to single |
| precision constant. |
| * invoke.texi : Add documentation for this new option. |
| |
| 2000-07-10 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * diagnostic.c (output_octal): Second parameter is unsigned. |
| (output_long_octal): Likewise. |
| (output_hexadecimal): Likewise. |
| (output_long_hexadecimal): Likewise. |
| (output_format): Adjust arguments extraction. Tweak. |
| (output_verbatim, verbatim): End variable argument list. |
| (report_diagnostic): Improve documentation. |
| |
| 2000-07-10 Benjamin Chelf <chelf@codesourcery.com> |
| |
| * c-common.h (build_stmt): Declare. |
| (build_continue_stmt): Likewise. |
| (build_break_stmt): Likewise. |
| (build_return_stmt): Likewise. |
| |
| * c-decl.c (do_case): Rewrite to do what previously done in |
| c-parse.in. |
| |
| * c-semantics.c (build_stmt): Define. |
| (build_return_stmt): Likewise. |
| (build_break_stmt): Likewise. |
| (build_continue_stmt): Likewise. |
| (build_case_label): Likewise. |
| |
| * c-parse.in (BREAK): Change to build tree, then generate RTL. |
| (CONTINUE): Likewise. |
| (RETURN): Likewise. |
| (CASE): Likewise. |
| (DEFAULT): Likewise. |
| |
| * c-parse.y: Regenerate. |
| * c-pasre.c: Likewise. |
| |
| 2000-07-09 Jason Merrill <jason@redhat.com> |
| |
| * expr.c (expand_expr): Bail earlier if we get an error_mark_node. |
| |
| * tree.h (STRIP_NOPS): Check for error_mark_node. |
| (STRIP_SIGN_NOPS, STRIP_TYPE_NOPS): Likewise. |
| (dwarf2out_*): Remove duplicate declarations. |
| |
| * c-decl.c (duplicate_decls): Copy DECL_ABSTRACT_ORIGIN from |
| DECL_ABSTRACT_ORIGIN, not DECL_ORIGIN. |
| |
| 2000-07-10 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * diagnostic.c (wrap_text): New function. |
| (maybe_wrap_text): Likewise. |
| (output_add_string): Use it. |
| (output_format): Likewise. |
| (count_error): Use verbatim instead of notice. |
| (report_error_function): Likewise. Don't use plain fprintf. |
| (finish_diagnostic): New function. |
| (output_do_verbatim): Tweak. Commonalize functionalities in |
| output_verbatim and verbatim. |
| (output_verbatim): Adjust. |
| (verbatim): Likewise. |
| (report_diagnostic): Define. |
| |
| * diagnostic.h (report_diagnostic): Prototype. |
| |
| 2000-07-09 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppexp.c (_cpp_parse_expr): Don't use unary plus. |
| |
| 2000-07-09 Neil Booth <NeilB@earthling.net> |
| |
| * cpphash.h: ISvspace, is_vspace, is_nvspace: New. |
| IShspace, ISspace: Update. |
| |
| * cppinit.c: ISTABLE: Update. |
| V: New. |
| |
| * cpplex.c (IS_HSPACE, S_NEWLINE): Remove. |
| (IS_DIRECTIVE): Rename KNOWN_DIRECTIVE. |
| (skip_block_comment, skip_line_comment, parse_string, |
| lex_line): Use is_vspace rather than IS_NEWLINE. |
| (skip_whitespace, lex_line): Clean up to use is_nvspace. |
| (lex_line): Use KNOWN_DIRECTIVE. Any kind of directive |
| gets a BOL flag. |
| (lex_next): Unconditionally stop if within a directive. |
| Treat directives within macro invocations as directives |
| (after parse_args emits error), not as the argument. |
| |
| 2000-07-09 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * diagnostic.c (diagnostic_args): New macro. |
| (diagnostic_msg): Likewise. |
| (output_formatted_integer): Likewise. |
| (output_state): New data type. |
| (digit_buffer): Make global. |
| (output_add_integer): Rename to output_decimal. Squeeze |
| digit_buffer. |
| (output_long_decimal, output_unsigned_decimal, |
| output_long_unsigned_decimal, output_octal, output_long_octal, |
| output_hexadecimal, output_long_hexadecimal): New functions. |
| (output_append_r): New function. |
| (output_append): Tweak. |
| (output_flush_on): Rename to output_to_stream. |
| (output_format): Change prototype. Improve documentation. Handle |
| more format specifiers. |
| (build_location_prefix): Rename to context_as_prefix. |
| (output_notice): Rename to output_do_printf. |
| (output_printf): Tweak. |
| (line_wrapper_printf): Likewise. |
| (vline_wrapper_message_with_location): Adjust call to renamed |
| functions. |
| (v_message_with_decl): Likewise. |
| (default_print_error_function): Likewise. |
| (save_output_state): New function. |
| (restore_output_state): Likewise. |
| (output_do_verbatim): Likewise. |
| (output_verbatim): Define. |
| (verbatim): Likewise. |
| |
| * diagnostic.h (printer_fn): Change return type from void to int. |
| Improve documentation. |
| (output_add_integer): Rename to output_decimal. |
| (output_flush_on, output_format): Don't export. |
| (output_verbatim, verbatim): Declare. |
| |
| 2000-07-08 Toon Moene <toon@moene.indiv.nluug.nl> |
| |
| * fold-const.c (extract_muldiv) case PLUS_EXPR, MINUS_EXPR: |
| Check whether c divides op1 exactly if operation is not |
| multiplication. |
| |
| 2000-07-08 Richard Henderson <rth@cygnus.com> |
| |
| * final.c (final): Do not abort when reg-stack introduces |
| a new insn. |
| |
| 2000-07-08 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplib.h (struct cpp_name): Now struct cpp_string. |
| (CPP_INT, CPP_FLOAT, CPP_NUMBER, CPP_COMMENT, |
| CPP_HEADER_NAME): Change to type S. |
| (struct cpp_token): Rename 'name' field to 'str'. Add 'node' |
| field, a cpp_hashnode *. All references to val.name updated |
| to use val.str or val.node as appropriate. |
| (struct cpp_reader): Add spec_nodes field. |
| (cpp_idcmp): Now cpp_ideq; takes a token * and a char *. |
| |
| * cpphash.h (struct spec_nodes): New. |
| (enum spell_type): Reorder. Only SPELL_STRING tokens use |
| val.str. All references to 'spelling > SPELL_NONE' updated to |
| match. |
| |
| (CPP_IN_SYSTEM_HEADER): Check pfile->buffer and |
| pfile->buffer->inc are not NULL before dereferencing them. |
| |
| * cpplex.c (parse_name): Take a pointer to the current token, |
| plus current position and limit as args; return the new |
| position; don't copy the text of a name into the string |
| buffer, instead call cpp_lookup and store the node pointer. |
| If extending a token, copy out the text of the old into a |
| scratch buffer, append the new, look that up and store the new |
| node pointer. Inline. |
| (maybe_paste_with_next): If the result of paste is a NAME, |
| then look up the pasted text and store its node pointer. |
| (lex_line): Adjust for new parse_name interface. |
| Check for L"str", L'str' using spec_nodes->n_L. |
| (spell_token): SPELL_IDENT tokens have their spelling in |
| val.node->name. Handle SPELL_STRING tokens that don't have |
| string delimiters. |
| (_cpp_expand_name_space, |
| (can_paste): Check for L ## "str" using spec_nodes->n_L. |
| (cpp_get_token, special_symbol): No need to call cpp_lookup. |
| (cpp_idcmp): Now cpp_ideq; take a token * and a const char *; |
| return 1=equal 0=not, not a tristate. |
| |
| * cpphash.c (var_args_str): Delete. |
| (find_param): Compare node fields directly. |
| (is__va_args__): Use CPP_PEDANTIC. Just compare |
| token->val.node with spec_nodes->n__VA_ARGS__. |
| (dump_funlike_macro): Don't use var_args_str. |
| |
| * cpplib.c (_cpp_check_directive): Just walk through |
| spec_nodes->dirs comparing pointers. |
| (get_define_node, do_pragma_poison, detect_if_not_defined, |
| parse_ifdef): The identifier has already been looked up. |
| (do_ifdef, do_ifndef): parse_ifdef won't return a poisoned |
| node. |
| (do_if): Only call detect_if_not_defined at beginning of file. |
| (_cpp_parse_assertion): Only copy string pointers for |
| SPELL_STRING tokens. |
| (pragma_dispatch): Take a node pointer and examine its name |
| field. |
| (_cpp_init_stacks): Also initialize the spec_nodes structure. |
| |
| * cppinit.c (cpp_reader_init): Call _cpp_init_stacks after |
| _cpp_init_macros. |
| (cpp_cleanup): Free pfile->spec_nodes. Call _cpp_cleanup_* in |
| reverse order from the corresponding _cpp_init_* routines. |
| |
| * cppexp.c (parse_number, parse_charconst, parse_defined, |
| lex): Check val.node->type instead of calling cpp_defined. |
| Use spec_nodes entries where appropriate. |
| |
| * fix-header.c, scan-decls.c: Update for interface changes. |
| |
| 2000-07-08 Geoffrey Keating <geoffk@cygnus.com> |
| |
| * config/rs6000/rs6000.c (rs6000_emit_move): Fix conditions for |
| emitting aux_truncdfsf2. |
| |
| 2000-07-03 Donn Terry (donnte@microsoft.com) |
| |
| * cppinit.c (print_help): split overlong line into ISO C89 |
| maximum chunks. |
| |
| 2000-07-07 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppexp.c: Update all code for new lexer interface. |
| (op_t, operator codes, struct token, tokentab2, op_to_str): Remove. |
| (struct suffix, vsuf_1, vsuf_2, vsuf_3, op_to_prio): New. |
| * cpplex.c (token_names): Trim leading CPP_ from names; make |
| the strings unsigned. |
| (_cpp_spell_operator): New. |
| (is_macro_disabled): Disable all macros if rescanning |
| preprocessed text. |
| (_cpp_get_directive_token): Remove. |
| |
| * cppinit.c: Don't set no_macro_expand. |
| * cpplib.c (read_line_number, do_line): Check only for EOF, |
| not VSPACE. |
| * cpphash.h: Update prototypes. |
| * cpplib.h (CPP_VSPACE): Remove. |
| (struct cpp_reader): Remove no_macro_expand. |
| |
| 2000-07-08 Neil Booth <NeilB@earthling.net> |
| |
| * cpphash.c (is__va_args__): New function. |
| (count_params): Fix line reported in error messages. Use |
| is__va_args__. Don't return ')' on error. Flag GNU style |
| rest args macro definitions. |
| (parse_define): Check macro name is not __VA_ARGS__. |
| (save_expansion): Check identifier in non-varargs-macro is |
| not __VA_ARGS__. Don't flag GNU_VARARGS. |
| * cpplex.c (parse_args): Accept no argument iff GNU_REST_ARGS. |
| (maybe_paste_with_next): Use per-macro GNU_REST_ARGS rather |
| than per-token GNU_VARARGS. |
| * cpplib.h (GNU_VARARGS): Remove. |
| (GNU_REST_ARGS): New. |
| |
| Sat Jul 8 01:38:25 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * i386.md (call_pop, call, call_value_pop): Do not set |
| current_function_uses_pic_offset_table for calls to static |
| functions or indirect calls. |
| |
| 2000-07-07 Jim Wilson <wilson@cygnus.com> |
| |
| * config/ia64/ia64.c (rws_access_reg): New local write_count. If |
| is_predicate_reg, then take max write_count of register pair. |
| |
| 2000-07-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * tradcpp.c (main): Rename label `include' to `add_include' to |
| avoid conflicts with variable `include' in traditional C. |
| |
| 2000-07-07 Jakub Jelinek <jakub@redhat.com> |
| |
| * integrate.c (copy_insn_list): Remove REG_LABEL notes. |
| |
| 2000-07-07 Jakub Jelinek <jakub@redhat.com> |
| |
| * sibcall.c (uses_addressof): Add INMEM argument, check for |
| current_function_internal_arg_pointer outside of MEM rtxs in addition |
| to ADDRESSOFs. |
| (sequence_uses_addressof): Update caller. |
| |
| 2000-07-07 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * tradcpp.c (initialize_builtins): Honor NO_BUILTIN_SIZE_TYPE |
| and friends. |
| |
| 2000-07-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * system.h (UNION_INIT_ZERO): New macro for initializing union |
| members in structs. |
| |
| * cpplex.c (placemarker_token, eof_token): Use UNION_INIT_ZERO. |
| |
| 2000-07-07 Neil Booth <NeilB@earthling.net> |
| |
| * cpp.texi: Update. |
| |
| Fri Jul 7 07:47:35 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * final.c (final): Detect out of bounds array access to |
| the insn_lengths array. |
| |
| 2000-07-07 Kazu Hirata <kazu@hxi.com> |
| |
| * fold-const.c (fold): Fix a comment typo. |
| |
| 2000-07-07 Neil Booth <NeilB@earthling.net> |
| |
| * cpp.texi: Update to new lexer. |
| |
| 2000-07-06 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * tradcpp.c: New file. |
| * tradcif.y: New file. |
| * tradcif.c: New generated file. |
| |
| * Makefile.in: Add rules to build tradcpp.o, tradcif.o, |
| $(srcdir)/tradcif.c. Add tradcpp to STAGESTUFF and |
| dependencies of C. Install tradcpp from install-common, in |
| $(libsubdir). |
| |
| 2000-07-06 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppinit.c: Include cppdefault.h. Refer to |
| cpp_GCC_INCLUDE_DIR and cpp_GCC_INCLUDE_DIR_len, not directly |
| to GCC_INCLUDE_DIR and its length. |
| (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, |
| USER_LABEL_PREFIX, REGISTER_PREFIX, struct default_include, |
| STANDARD_INCLUDE_DIR, STANDARD_INCLUDE_COMPONENT): Move to |
| cppdefault.h. |
| (include_defaults_array): Move to cppdefault.c. |
| |
| * cppdefault.h: New file. |
| * cppdefault.c: New file. |
| |
| * Makefile.in (LIBCPP_OBJS): Add cppdefault.o. |
| (cppinit.o): Don't apply $(PREPROCESSOR_DEFINES) to this file. |
| (cppdefault.o): New rule; apply $(PREPROCESSOR_DEFINES) to |
| this file. |
| |
| Thu Jul 6 18:30:36 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * reload.c (push_reload): When seeing if can reuse a register, |
| check extra registers against widest of INMODE and OUTMODE. |
| |
| 2000-07-06 Neil Booth <NeilB@earthling.net> |
| |
| * cpplib.c: (_cpp_parse_assertion): Perform hash lookups |
| based on full length of predicate. |
| |
| 2000-07-06 Hans-Peter Nilsson <hp@axis.com> |
| |
| * timevar.c: [HAVE_SYS_RESOURCE_H]: Include <sys/resource.h>. |
| [NEED_DECLARATION_GETRUSAGE]: Declare getrusage. |
| |
| 2000-07-05 Kazu Hirata <kazu@hxi.com> |
| |
| * h8300-proto.h: Fix formatting. |
| * h8300.c: Likewise. |
| * h8300.h: Likewise. |
| |
| 2000-07-05 Jim Wilson <wilson@cygnus.com> |
| |
| * config/ia64/ia64.h (HARD_REGNO_MODE_OK): If FR_REGNO_P, disallow |
| CCmode. |
| |
| 2000-07-05 Rodney Brown <RodneyBrown@pmsc.com> |
| |
| * invoke.texi: Fix minor typos |
| * md.texi: Fix minor typos |
| |
| 2000-07-05 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplib.c (_cpp_parse_assertion): Fix buffer overrun. |
| |
| 2000-07-04 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplex.c: Don't include sys/mman.h. |
| (cpp_push_buffer, cpp_pop_buffer): Moved to cpplib.c. |
| |
| * cpplib.c: Include sys/mman.h and obstack.h. |
| (cpp_push_buffer): Moved from cpplex.c; allocate buffers on an |
| obstack. |
| (cpp_pop_buffer): Moved from cpplex.c; free buffers from an obstack. |
| (_cpp_unwind_if_stack): Now static, unwind_if_stack. Don't |
| bother freeing if stack entries (they will be freed with their buffer). |
| (do_endif): Free if stack entries from the buffer obstack. |
| (push_conditional): Allocate if stack entries from the buffer obstack. |
| |
| (find_answer): Rename to _cpp_find_answer. |
| (do_assert, do_unassert): Update. |
| |
| * cpphash.h: Update prototypes. |
| (xobnew): New convenience macro. |
| * cpplib.h (struct cpp_reader): Add hash_ob and buffer_ob fields. |
| Update comments. |
| (struct cpp_hashnode): Remove disabled field. |
| |
| * cppinit.c: Don't include hashtab.h or splay-tree.h. |
| (report_missing_guard): Moved to cppfiles.c. |
| (cpp_reader_init): Call cpp_init_stacks, cpp_init_macros, |
| cpp_init_includes. |
| (cpp_cleanup): Call cpp_cleanup_stacks, cpp_cleanup_macros, |
| cpp_cleanup_includes. Don't destroy hashtab or |
| all_include_files here. |
| (cpp_finish): Use _cpp_report_missing_guards. |
| |
| * cppfiles.c (report_missing_guard): Moved from cppinit.c. |
| (_cpp_init_include_table): Rename _cpp_init_includes. |
| (_cpp_cleanup_includes, _cpp_report_missing_guards): New. |
| |
| * cppexp.c (parse_assertion): Update for new name of |
| find_answer. |
| |
| * Makefile.in (cpplib.o, cpphash.o, cppinit.o): Update deps. |
| |
| 2000-07-04 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplib.c (do_ident): s/VSPACE/EOF/ |
| |
| 2000-07-05 Neil Booth <NeilB@earthling.net> |
| |
| * cpplex.c: Fix trigraph replacement within strings. |
| |
| 2000-07-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * rs6000/aix.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier. |
| |
| * xcoffout.c (assign_type_number): Constify. |
| (xcoffout_source_file): Add static prototype. Don't needlessly |
| cast away const-ness. |
| |
| 2000-07-04 Jason Merrill <jason@redhat.com> |
| |
| * frame.h (frame_state): Move base_offset to end. |
| |
| Mon Jul 3 21:31:43 2000 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * calls.c (emit_library_call_value_1): Revert previous change. |
| |
| 2000-07-03 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * fix-header.c (struct partial_proto): Remove unnecessary fields. |
| (recognized_extern, recognized_function, read_scan_file): |
| Update for new scheme. |
| (check_protection): It's still a multiple include guard even |
| if it doesn't always trigger. |
| * scan-decls.c (skip_to_closing_brace, scan_decls): Update for |
| new scheme. |
| * scan.h: Declare struct cpp_token. Update prototypes. |
| |
| 2000-07-03 Neil Booth <neilb@earthling.net> |
| Zack Weinberg <zack@wolery.cumb.org> |
| |
| Complete overhaul of the lexer and macro expander. |
| |
| * cpphash.c (object_defn, funct_defn, push_macro_expansion, |
| arg, arglist, argdata, reflist, collect_objlike_expansion, |
| collect_funlike_expansion, collect_params, |
| warn_trad_stringify, trad_stringify, duplicate_arg_p, add_pat, |
| unsafe_chars, macarg, compare_defs, special_symbol, |
| scan_arguments, stringify, funlike_macroexpand, |
| _cpp_quote_string, monthnames): Delete. |
| (cpp_lookup, _cpp_free_definition, dump_funlike_macro, |
| _cpp_create_definition, _cpp_dump_definition, |
| dump_hash_helper): Adjust. |
| (find_param, count_params, parse_define, var_args_str, |
| check_macro_redefinition, save_expansion): New. |
| |
| * cpplex.c (skip_block_comment, skip_line_comment, parse_name, |
| parse_string, output_line_command, trigraph_replace, |
| lex_line, cpp_push_buffer, cpp_pop_buffer, cpp_output_tokens, |
| cpp_scan_buffer_nooutput, cpp_scan_buffer, cpp_free_toklist, |
| cpp_idcmp, _cpp_get_directive_token, _cpp_init_input_buffer, |
| _cpp_skip_rest_of_line): Modify. |
| |
| (maybe_macroexpand, skip_comment, copy_comment, skip_string, |
| find_position, null_warning, bump_column, expand_name_space, |
| pedantic_whitespace, _cpp_output_list, _cpp_slice_toklist, |
| _cpp_squeeze_toklist, _cpp_scan_until, _cpp_skip_hspace, |
| _cpp_parse_name, _cpp_lex_token, cpp_get_non_space_token, |
| _cpp_prescan): Delete. |
| |
| (dump_param_spelling, process_directive, lex_next, |
| is_macro_disabled, stringify_arg, expand_context_stack, |
| output_token, make_string_token, alloc_number_token, |
| special_symbol, duplicate_token, maybe_paste_with_next, |
| can_paste, prevent_macro_expansion, restore_macro_expansion, |
| get_temp_token, release_temp_tokens, quote_string, |
| token_names, token_spellings, _cpp_expand_name_space, |
| _cpp_glue_header_name, _cpp_reserve_name_space, |
| digraph_spellings, trigraph_ok, skip_whitespace, save_comment, |
| placemarker_token, eof_token, cpp_context, macro_args, |
| get_raw_token, parse_arg, parse_args, save_token, |
| push_arg_context, push_macro_context, pop_context, |
| do_pop_context, free_macro_args, _cpp_get_line, |
| _cpp_run_directive): New. |
| |
| * cpplib.c (validate_else, parse_include, push_conditional, |
| pass_thru_directive, read_line_number, parse_ifdef, |
| detect_if_not_defined, _cpp_check_directive, do_define, |
| do_undef, do_include, do_import, do_include_next, do_error, |
| do_warning, do_ident, do_pragma, pragma_dispatch, gcc_pragmas, |
| top_pragmas, do_pragma_gcc, do_pragma_implementation, |
| do_pragma_poison, do_pragma_system_header, |
| do_pragma_dependency, do_sccs, do_ifdef, do_ifndef, do_else, |
| dl_elif, do_endif, _cpp_unwind_if_stack, do_assert, |
| do_unassert, cpp_define, cpp_undef, cpp_assert, cpp_unassert, |
| cpp_defined): Update for new scheme. |
| (strtoul_for_line, get_define_node, dump_macro_name, |
| _cpp_check_linemarker, _cpp_parse_assertion): New. |
| (_cpp_handle_directive, do_pragma_default): Delete. |
| |
| * cpphash.h (struct predicate): Now struct answer. |
| (enum spell_type, struct token_spelling, struct directive, |
| directive_handler): New. |
| Update prototypes. Remove unused macros. |
| * cpplib.h: Update prototypes. Remove unused macros, |
| structure definitions, and fields. |
| |
| * cpperror.c (print_containing_files, v_message): Adjust. |
| * cppexp.c (parse_assertion, lex, parse_escape, |
| _cpp_parse_expr): Adjust. |
| * cppfiles.c (open_include_file, _cpp_execute_include, |
| _cpp_compare_file_date, cpp_read_file, read_include_file): |
| Adjust. |
| * cppinit.c (dump_special_to_buffer): Delete. |
| (append_include_chain, merge_include_chains, cpp_reader_init, |
| cpp_cleanup, initialize_builtins, builtin_array, cpp_start_read, |
| cpp_finish, handle_option, print_help): Adjust. |
| * cppmain.c (main): Adjust. |
| |
| 2000-07-03 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppspec.c (lang_specific_driver): Use double quotes in error |
| message. |
| |
| Mon Jul 3 16:53:43 2000 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * calls.c (emit_library_call_value_1): Use valreg instead |
| of hard_libcall_value. |
| |
| 2000-07-03 Geoff Keating <geoffk@cygnus.com> |
| |
| * config/rs6000/rs6000.c (rs6000_emit_move): New function. |
| * config/rs6000/rs6000-proto.h: Prototype rs6000_emit_move. |
| * config/rs6000/rs6000.md (movsi): Use rs6000_emit_move. |
| (movhi): Likewise. |
| (movqi): Likewise. |
| (movdf): Likewise. |
| (movsf): Likewise. |
| (movdi): Likewise. |
| (movti): Likewise. |
| |
| * expmed.c (expand_mult_highpart): Use op1 instead of wide_op1 when |
| mode instead of wider_mode is being used. |
| |
| 2000-07-03 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/i386.md (movstrictqi_xor): Use 'q' constraint instead |
| of 'r'. Use q_regs_operand. |
| (andsi_1+2): Use q_regs_operand. |
| |
| 2000-07-03 Jakub Jelinek <jakub@redhat.com> |
| |
| * builtins.c (get_memory_rtx): Always put into alias set 0. |
| |
| 2000-07-03 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/arm.md: Fix post increment and pre increment |
| peepholes so that they do not generate UNPREDICATBLE opcodes. |
| (ie ones where the increment clobbers the source/destination). |
| |
| 2000-07-01 Marek Michalkiewicz <marekm@linux.org.pl> |
| |
| * config/avr/avr.c (out_adj_frame_ptr): Make "frame pointer |
| change too big for -mtiny-stack" a warning, if larger than 63. |
| (out_set_stack_ptr): Change the logic so -mno-interrupts is |
| always safe to use on possible future devices. |
| (function_prologue): Write SPH before SPL, for consistency. |
| If interrupt_func_p true, we know we have enabled interrupts. |
| (avr_num_arg_regs): New function. Round up to even number of |
| bytes if no -mpack-args or if calling a libgcc function. |
| (function_arg, function_arg_advance): Use it. |
| (output_movsisf, ashlsi3_out, ashrsi3_out, lshrsi3_out): |
| Output "movw" if available. |
| (out_tsthi, out_tstsi, ashlqi3_out, lshrqi3_out): Change uses |
| of TEST_HARD_REG_CLASS macro to test_hard_reg_class function. |
| (asm_output_section_name): Add blanks for consistent output. |
| (encode_section_info): Set TREE_READONLY for progmem data to |
| avoid gas warnings about changed section attributes. |
| (avr_hard_regno_mode_ok): Force non-QImode data to start in |
| even numbered registers on devices with "movw". |
| * config/avr/avr.h (MASK_*): Define bits for target_flags. |
| (TARGET_SWITCHES): Mark help strings for translation. |
| Add new -mpack-args and -menhanced switches. |
| (TARGET_OPTIONS): Mark help strings for translation. |
| (progmem_section): Add section attributes. |
| * config/avr/avr.md (*movhi, call_insn, call_value_insn): |
| Output "movw" if available. |
| (mulqi3, mulqihi3, umulqihi3, mulhi3, *tablejump_enh): |
| New patterns. |
| * config/avr/libgcc.S (_mulqi3, _divqi3): Update to the new |
| call convention (arguments aligned on even registers). |
| (_cleanup, _exit): Make weak symbols libc can override. |
| |
| 2000-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * fp-bit.h: New file. |
| |
| * fp-bit.c: Move common code, prototypes, etc into fp-bit.h. |
| Comment #endif statements. |
| (__thenan_sf, __thenan_df): Add missing braces around initializer. |
| |
| Mon Jul 3 00:32:47 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * gcse.c (compute_pre_data): Compute ae_kill using other local |
| properties instead of calling compute_ae_kill. |
| |
| * alias.c (init_alias_analysis): Do not call |
| prologue_epilogue_contains until after reload has completed. |
| |
| 2000-07-02 Benjamin Chelf <chelf@codesourcery.com> |
| |
| * c-common.h (genrtl_begin_compound_stmt): Remove declaration. |
| (genrtl_finish_compound_stmt): Likewise. |
| (genrtl_compound_stmt): Change to return void. |
| |
| * c-semantics.c (genrtl_begin_compound_stmt): Remove function and |
| move code from here to ... |
| (genrtl_compound_stmt): ... here. |
| (genrtl_finish_compound_stmt): Remove. |
| (expand_stmt): Add comment. |
| |
| 2000-07-02 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * c-typeck.c (build_indirect_ref): Use COMPLETE_OR_VOID_TYPE_P |
| and VOID_TYPE_P. |
| |
| 2000-07-02 Jakub Jelinek <jakub@redhat.com> |
| |
| * cpplib.h (struct cpp_reader): New field include_depth. |
| (struct cpp_printer): Rename last_bsd to last_id. |
| * cppfiles.c (read_include_file): Bump include_depth. |
| * cpplex.c (cpp_pop_buffer): Decrement include_depth. |
| (output_line_command): Output correct #line if a header |
| is including itself and is not protected against multiple inclusion. |
| Use include_depth instead of buffer_stack_depth, last_id instead of |
| last_bsd. |
| * cppinit.c (cpp_start_read): Initialize last_id instead of |
| last_bsd. |
| |
| 2000-07-01 Benjamin Chelf <chelf@codesourcery.com> |
| |
| * Makefile.in (C_AND_OBJC_OBJS): Added c-semantics.o. |
| (c-semantics.o): New target. |
| |
| * c-common.h (TREE_LANG_FLAG_?): Added documentation. |
| (genrtl_do_pushlevel): Moved from cp/cp-tree.h. |
| (genrtl_clear_out_block): Likewise. |
| (genrtl_goto_stmt): Likewise. |
| (genrtl_expr_stmt): Likewise. |
| (genrtl_decl_stmt): Likewise. |
| (genrtl_if_stmt): Likewise. |
| (genrtl_while_stmt): Likewise. |
| (genrtl_do_stmt): Likewise. |
| (genrtl_return_stmt): Likewise. |
| (genrtl_for_stmt): Likewise. |
| (genrtl_break_stmt): Likewise. |
| (genrtl_continue_stmt): Likewise. |
| (genrtl_scope_stmt): Likewise. |
| (genrtl_switch_stmt): Likewise. |
| (genrtl_case_label): Likewise. |
| (genrtl_begin_compound_stmt): Likewise. |
| (gerntl_finish_compound_stmt): Likewise. |
| (genrtl_compound_stmt): Likewise. |
| (genrtl_asm_stmt): Likewise. |
| (genrtl_decl_cleanup): Likewise. |
| (DECL_ANON_UNION_ELEMS): Likewise. |
| (emit_local_var): Likewise. |
| (make_rtl_for_local_static): Likewise. |
| (expand_cond): Likewise. |
| (expand_stmt): Likewise. |
| (c_expand_return): Likewise. |
| (c_expand_start_case): Likewise. |
| (do_case): Likewise. |
| (COMPOUND_STMT_NO_SCOPE): Likewise. |
| (c_expand_asm_operands): Likewise. |
| (NEW_FOR_SCOPE_P): New macro. |
| (expand_expr_stmt_fn): New type. |
| |
| (set_current_function_name_declared): Likewise. |
| (current_function_name_declared): Likewise. |
| (lang_expand_stmt): Likewise. |
| (stmts_are_full_exprs_p): Likewise. |
| (anon_aggr_type_p): Likewise. |
| (lang_expand_expr_stmt): Likewise. |
| (build_case_label): Likewise. |
| |
| * c-decl.c (lang_expand_expr_stmt): Initialize. |
| (stmts_are_full_exprs_p): Define. |
| (current_function_name_declared): Likewise. |
| (do_case): Likewise. |
| (lang_expand_stmt): Likewise. |
| (set_current_function_name_declared): Likewise. |
| (anon_aggr_type_p): Likewise. |
| |
| * c-semantics.c: New file. |
| (expand_cond): Moved from cp/semantics.c. |
| (genrtl_do_pushlevel): Likewise. |
| (genrtl_clear_out_block): Likewise. |
| (genrtl_goto_stmt): Likewise. |
| (genrtl_expr_stmt): Likewise. |
| (genrtl_decl_stmt): Likewise. |
| (genrtl_if_stmt): Likewise. |
| (genrtl_while_stmt): Likewise. |
| (genrtl_do_stmt): Likewise. |
| (genrtl_return_stmt): Likewise. |
| (genrtl_for_stmt): Likewise. |
| (genrtl_break_stmt): Likewise. |
| (genrtl_continue_stmt): Likewise. |
| (genrtl_scope_stmt): Likewise. |
| (genrtl_switch_stmt): Likewise. |
| (genrtl_case_label): Likewise. |
| (genrtl_begin_compound_stmt): Likewise. |
| (genrtl_finish_compound_stmt): Likewise. |
| (genrtl_compound_stmt): Likewise. |
| (genrtl_asm_stmt): Likewise. |
| (genrtl_decl_cleanup): Likewise. |
| (make_rtl_for_local_static): Moved from cp/decl.c. |
| (emit_local_var): Likewise. |
| (expand_stmt): Define. |
| |
| * c-tree.h: (c_expand_asm_operands): Moved to c-common.h. |
| (c_expand_return): Likewise. |
| (c_expand_start_case): Likewise. |
| |
| 2000-07-01 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64.c (symbolic_operand): Reject CONST expressions |
| with the low 13 bits set. |
| (move_operand): Check for CONST|SYMBOL_REF|LABEL_REF directly. |
| * config/ia64/ia64.md (movdi): Likewise. Expand a CONST with one |
| of the low 13 bits into a CONST plus an adddi3. |
| (load_symptr): Set RTX_UNCHANGING_P. |
| |
| 2000-06-30 Mark Mitchell <mark@codesourcery.com> |
| |
| * Makefile.in (c-common.o): Don't depend on c-tree.h or c-lex.h. |
| * c-common.c (ridpointers): Declare. |
| * c-common.h (enum rid): Declare. |
| (NORID): Likewise. |
| (ridpointers): Likewise. |
| * c-lex.c (ridpointers): Don't declare. |
| (init_lex): Initialize ridpointers. |
| * c-lex.h (enum rid): Don't declare. |
| (NORID): Likewise. |
| (RID_FIRST_MODIFIER): Likewise. |
| (ridpointers): Likewise. |
| |
| 2000-06-30 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * pa/som.h (ASM_WEAKEN_LABEL): Export weak data symbols so that they |
| have global scope. |
| |
| 2000-06-30 Martin von Löwis <loewis@informatik.hu-berlin.de> |
| |
| * invoke.texi (-Wreturn-type): In C++, a missing return type is |
| always an error. |
| |
| 2000-06-30 Catherine Moore <clm@cygnus.com> |
| |
| * c-common.c (decl_attributes): Differentiate between |
| types and type decls for alignment. |
| |
| 2000-06-30 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * cpp.texi: Document #pragma GCC dependency |
| * cppfiles.c (open_include_file): Set date to unknown. |
| (_cpp_compare_file_date): New function. |
| (read_include_file): Set file date. |
| * cpphash.h (struct include_file): Add date member. |
| (_cpp_compare_file_date): Prototype. |
| * cpplib.c (parse_include): Add trail parameter. Adjust. |
| (do_include): Adjust parse_include call. |
| (do_import): Likewise. |
| (do_include_next): Likewise. |
| (gcc_pragmas): Add dependency pragma. |
| (do_pragma_dependency): New pragma. |
| |
| 2000-06-29 Jason Merrill <jason@redhat.com> |
| |
| * dwarf2out.c (output_loc_operands): Don't abort on codes that have |
| no operands. |
| |
| 2000-06-29 Jim Wilson <wilson@cygnus.com> |
| |
| * config/ia64/ia64.h (PREFERRED_RELOAD_CLASS): Return NO_REGS for |
| a volatile mem and FR_REGS. |
| |
| 2000-06-29 Mark Mitchell <mark@codesourcery.com> |
| |
| * c-common.c: Include c-common.h, not c-lex.h or c-tree.h. |
| * c-common.h (flag_const_strings): Declare. |
| (warn_format): Likewise. |
| (flag_traditional): Likewise. |
| (flag_isoc99): Likewise. |
| (warn_parentheses): Likewise. |
| (warn_conversion): Likewise. |
| (C_TYPE_OBJECT_P): Likewise. |
| (C_TYPE_INCOMPLETE_P): Likewise. |
| (C_TYPE_FUNCTION_P): Likewise. |
| (C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise. |
| (C_EXP_ORIGINAL_CODE): Likewise. |
| (build_unary_op): Likewise. |
| (build_binary_op): Likewise. |
| (lvalue_p): Likewise. |
| (default_conversion): Likewise. |
| (common_type): Likewise. |
| * c-tree.h (C_TYPE_OBJECT_P): Remove. |
| (C_TYPE_INCOMPLETE_P): Likewise. |
| (C_TYPE_FUNCTION_P): Likewise. |
| (C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise. |
| (C_EXP_ORIGINAL_CODE): Likewise. |
| (common_type): Likewise. |
| (default_conversion): Likewise. |
| (build_binary_op): Likewise. |
| (build_unary_op): Likewise. |
| (lvalue_p): Likewise. |
| (flag_const_strings): Likewise. |
| (warn_format): Likewise. |
| (warn_conversion): Likewise. |
| (flag_traditional): Likewise. |
| (flag_isoc99): Likewise. |
| (warn_parentheses): Likewise. |
| |
| 2000-06-29 James E. Wilson <wilson@cygnus.com> |
| |
| * config/ia64/linux.h (LINK_SPEC): Change so.1 to so.2. |
| |
| * config/ia64/ia64.h (MODES_TIEABLE_P): Only tie if mode class is the |
| same. Only tie XFmode with XFmode. |
| |
| 2000-06-29 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * c-decl.c, timevar.c, tlink.c: Include intl.h. |
| * Makefile.in: Update deps. |
| |
| 2000-06-29 Andrew Haley <aph@cygnus.com> |
| |
| * toplev.c (main): On an IA-64, make flag_unwind_tables defauit |
| to true. |
| |
| 2000-06-29 Andrew Haley <aph@cygnus.com> |
| |
| * config/ia64/linux.h (JMP_BUF_SIZE): Size is in Pmode units, not |
| bytes: remove the multiply by 8. |
| |
| 2000-06-29 Philipp Thomas <pthomas@suse.de> |
| |
| * rtl.c : Revert NLS changes. |
| * gcc.c : Fix bug in display_help introced by my last changes. |
| |
| Wed Jun 28 21:09:33 2000 Raja R Harinath <harinath@cs.umn.edu> |
| |
| * dbxout.c (dbxout_symbol, case RESULT_DECL, VAR_DECL): Use |
| DECL_CONTEXT, not DECL_FIELD_CONTEXT. |
| |
| 2000-06-29 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * flow.c (flow_depth_first_order_compute): Fix algorithm. |
| |
| 2000-06-28 Philipp Thomas <pthomas@suse.de> |
| |
| * c-decl.c : Mark strings for translation. |
| (parmlist_tags_warning): Use distinct messages instead |
| of conditional expressions. |
| * diagnostic.c (v_message_with_decl): Mark string for translation. |
| * gcc.c: Mark messages for translation. |
| (display_help): Combine messages into one string where necessary. |
| * mips-tfile: Add intl.h. Mark messages for translation. |
| * rtl.c (fatal_with_file_and_line): Modify function for NLS. Mark |
| messages for translation. |
| * timevar.c: Mark messages for translation. |
| * tlink.c: Likewise. |
| * toplev.c: Likewise. |
| |
| Wed Jun 28 15:39:26 2000 Donn Terry (donnte@microsoft.com) |
| |
| * i386-interix.h (STRIP_NAME_ENCODING): Declare _new_name properly. |
| |
| * alpha/alpha-interix.h: Delete redundant -Asystem(interix), |
| use -isystem instead of -idirafter. |
| * i386/i386-interix.h: Likewise. |
| |
| 2000-06-28 Jason Merrill <jason@redhat.com> |
| |
| * dwarf2out.c (output_loc_operands): Don't support >1 byte output |
| unless DWARF2_DEBUGGING_INFO is defined. |
| (ASM_OUTPUT_DWARF_*): Wrap normal output defs with #ifndefs. |
| |
| 2000-06-28 Richard Henderson <rth@cygnus.com> |
| |
| * config/alpha/alpha.c (summarize_insn): Ignore SCRATCH. |
| |
| 2000-06-28 Jakub Jelinek <jakub@redhat.com> |
| |
| * cpplex.c (output_line_command): Output correct #line if a header |
| is including itself and is not protected against multiple inclusion. |
| |
| 2000-06-28 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppfiles.c (open_include_file): If open(2) returns EMFILE or |
| ENFILE, close all cached file descriptors and try again. |
| (_cpp_execute_include): Keep a count of the number of times |
| each header is included. |
| (close_cached_fd): New function. |
| * cpphash.h (struct include_file): Rename before to |
| include_count; all users updated. Make include_count and sysp |
| unsigned short. |
| * cppinit.c (cpp_finish): If -H, report headers that could use |
| reinclude guards. |
| (report_missing_guard): New function. |
| |
| Wed Jun 28 14:46:58 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * i386.md (prologue_set_got): Set length_immediate field. |
| (testqi_ccno_1): Add missing '@' character. |
| |
| 2000-06-27 Jason Merrill <jason@redhat.com> |
| |
| * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Use |
| DWARF_FRAME_REGNUM. |
| |
| 2000-06-27 Andrew Macleod <amacleod@cygnus.com> |
| |
| * dwarf2out.c (ASM_OUTPUT_DWARF_DATA2): Provide default when no |
| unsigned macros available. |
| |
| 2000-06-27 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64.c (emit_insn_group_barriers): Special case |
| epilogue_deallocate_stack. |
| |
| * config/ia64/ia64.c (ia64_print_operand) [case D]: Emit |
| completers for UNORDERED and ORDERED as well. |
| * config/ia64/ia64.md (bunordered, bordered): New. |
| (sunordered, sordered): New. |
| |
| Tue Jun 27 12:14:12 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * genattrtab.c (write_attr_value): Do not abort for CONST_INT operands. |
| * i386.c (ix86_attr_length_default): Kill. |
| (ix86_attr_length_immediate_default, ix86_attr_length_address_default): |
| New. |
| * i386-protos.h (ix86_attr_length_default): Kill |
| (ix86_attr_length_immediate_default, ix86_attr_length_address_default): |
| Add prototype |
| * i386.md (attribute type): Add "test". |
| (attribute length_prefix): Kill. |
| (attribute length_opcode): Kill. |
| (attribute i387, mode, length_immediate, length_address, prefix_data16, |
| prefix_rep, prefix_0f, modrm): New. |
| (attribute length): Compute using the new attributes. |
| (attribute pent_prefix): New. |
| (attribute pent_pair): Compute using pent_prefix. |
| (all insn patterns): Set mode,modrm and immediate_length attributes where |
| needed. |
| (cmpsi patterns): Compute sizes properly for test instruction. |
| (movsi, movhi patterns): Compute sizes properly for eax shortcuts. |
| (movstricthi_xor, movstrictqi_xor): New patterns. |
| (andsi/andhi): Use splitters to generate xor instructions. |
| (xorqi_ext_1): New pattern. |
| (movstricthi->movstricthi_xor peep2): New. |
| |
| Tue Jun 27 12:03:03 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * i386.md (addqi_low_1): Remove. |
| |
| 2000-06-27 Philipp Thomas <pthomas@suse.de> |
| |
| * 1750a.h: Mark help strings for options/switches for translation. |
| * a29k.h: Likewise. |
| * alpha.h: Likewise. |
| * arm.h: Likewise. |
| * pe.h: Likewise. |
| * riscix.h: Likewise. |
| * c4x.h: Likewise. |
| * clipper.h: Likewise. |
| * convex.h: Likewise. |
| * elxsi.h: Likewise. |
| * fr30.h: Likewise. |
| * fx80.h: Likewise. |
| * h8300.h: Likewise. |
| * i370.h: Likewise. |
| * cygwin.h: Likewise. |
| * dgux.h: Likewise. |
| * djgpp.h: Likewise. |
| * i386.h: Likewise. |
| * osf1elf.h: Likewise. |
| * osfrose.h: Likewise. |
| * sco5.h: Likewise. |
| * win32.h: Likewise. |
| * i860.h: Likewise. |
| * paragon.h: Likewise. |
| * i960.h: Likewise. |
| * ia64.h: Likewise. |
| * m32r.h: Likewise. |
| * mcore.h: Likewise. |
| * mips.h: Likewise. |
| * mn10300.h: Likewise. |
| * ns32k.h: Likewise. |
| * pdp11.h: Likewise. |
| * pj.h: Likewise. |
| * aix.h: Likewise. |
| * aix41.h: Likewise. |
| * aix43.h: Likewise. |
| * beos.h: Likewise. |
| * rs6000.h: Likewise. |
| * sysv4.h: Likewise. |
| * linux.h: Likewise. |
| * linux64.h: Likewise. |
| * sp64-elf.h: Likewise. |
| * sparc.h: Likewise. |
| * splet.h: Likewise. |
| * v850.h: Likewise. |
| * convex.h (TARGET_SWITCHES): Provide descriptions and mark them |
| for translation. |
| * sp86x-aout.h: Remove bogus first definition of SUBTARGET_SWITCHES. |
| Properly document option and mark for translation. |
| * sp86x-elf.h: Likewise. |
| |
| 2000-06-27 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| Add MMX and SSE registers to i386 machine description. |
| * i386-protos.h (ix86_constant_alignment, ix86_data_alignment, |
| ix86_local_alignment): Declare. |
| |
| * i386.h (TARGET_MMX, TARGET_SSE): New. |
| (FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS, |
| REG_ALLOC_ORDER, HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, |
| REG_CLASS_NAMES, REG_CLASS_CONTENTS,REG_CLASS_FROM_LETTER, |
| enum reg_class, HI_REGISTER_NAMES): Added MMX/SSE registers. |
| (FIRST_SSE_REG, LAST_SSE_REG, SSE_REGNO_P): New. |
| (FIRST_MMX_REG, LAST_MMX_REG, MMX_REGNO_P, MMX_REG_P): New macros. |
| (RETURN_IN_MEMORY): Handle MMX/SSE. |
| (REG_PARM_STACK_SPACE): Added so the first three TImode parameters |
| also get stack space. |
| (MUST_PASS_IN_STACK): Added TImode to the default definition. |
| (CUMULATIVE_ARGS): Added sse_nregs, sse_regno and sse_words. |
| (MMX_REGISTER_NAMES): New. |
| (ALIGN_MODE_128): New macro. |
| (CONSTANT_ALIGNMENT): Code moved out-of-line; just call the function. |
| (DATA_ALIGNMENT): Likewise. |
| (LOCAL_ALIGNMENT): Likewise. |
| (CONDITIONAL_REGISTER_USAGE): Make MMX/SSE regs fixed if not |
| TARGET_MMX/TARGET_SSE. |
| (VALID_SSE_REG_MODE, VALID_MMX_REG_MODE): New macros. |
| (REG_CLASS_FROM_LETTER): 'y' for MMX regs. |
| (SECONDARY_MEMORY_NEEDED): Be conservative about copying between |
| SSE/MMX regs and something else. |
| (CLASS_MAX_NREGS): 1 for SSE and MMX regs. |
| (REGISTER_MOVE_COST): 10 if trying to move between MMX and SSE regs, |
| 3 if moving between MMX regs and something else. |
| |
| * i386.c (reg_class): Add SSE_REGS, MMX_REGS. |
| (regclass_map): Add MMX/SSE registers. |
| (print_operand): Add code to print XMMWORD as appropriate. |
| (ix86_split_movdi): Abort for MMX regs. |
| (init_cumulative_args): Also allow SSE_REGS |
| (function_arg_advance, function_arg): Likewise |
| (print_reg): Support 'm'. Add case for TImode. |
| (override_options): TARGET_SSE implies TARGET_MMX. |
| (ix86_constant_alignment, ix86_data_alignment, ix86_local_alignment): |
| New functions. |
| |
| * config/i386/unix.h (VALUE_REGNO): VECTOR_MODE values go to |
| FIRST_SSE_REG. |
| * config/i386/ptx4-i.h (RETURN_IN_MEMORY): Return MMX values in |
| memory. |
| * config/i386/sysv4.h (RETURN_IN_MEMORY): Likewise. |
| * config/i386/i386elf.h (RETURN_IN_MEMORY): Likewise. |
| |
| 2000-06-26 Geoff Keating <geoffk@cygnus.com> |
| |
| * ssa.c (struct rename_set_data): Change the name of field |
| 'set_dest' to 'old_reg'. Add comments. |
| (struct rename_context): Change the name of 'set_data' to |
| 'new_renames'. Add new field 'done_renames'. |
| (create_delayed_rename): New function. |
| (apply_delayed_renames): New function. |
| (rename_insn_1): Use the new functions. Handle CLOBBERS. Handle |
| SUBREGs and similar by emitting a move. |
| (new_registers_for_updates): Delete, functionality moved to |
| apply_delayed_renames. |
| (rename_block): Handle moves emitted by rename_insn_1 by putting |
| them into a SEQUENCE with the original insn. Add sanity checks |
| and comments. |
| (rename_equivalent_regs_in_insn): Don't handle SUBREGs specially. |
| (rename_equivalent_regs): Expand SEQUENCEs out to individual insns. |
| |
| 2000-06-26 Andrew Macleod <amacleod@cygnus.com> |
| Jason Merrill <jason@redhat.com> |
| |
| * dwarf2.h (enum dwarf_call_frame_info): Add |
| DW_CFA_def_cfa_expression. |
| * dwarf2out.c (union dw_cfi_oprnd_struct): Add a pointer to a |
| dw_loc_descr_struct entry. |
| (struct cfa_loc): New structure to track a CFA location. |
| (lookup_cfa): Take a cfa_loc parameter instead of a reg and an offset. |
| (lookup_cfa_1): Take a cfa_loc parameter instead of a reg and an |
| offset, plus handle DW_CFA_def_cfa_expression. |
| (def_cfa_1): Use to be dwarf2out_def_cfa, only now it uses a |
| cfa_loc record. |
| (dwarf2out_def_cfa): Entry point maintained for compatibility. |
| (dwarf_cfi_name): Add DW_CFA_def_cfa_expression. |
| (cfa_reg, cfa_offset): Replace with cfa_loc record 'cfa'. |
| (cfa_store_reg, cfa_store_offset): Replace with cfa_loc 'cfa_store'. |
| (initial_return_save, dwarf2out_stack_adjust): Use cfa.reg, not |
| cfa_reg. |
| (dwarf2out_frame_debug_expr): Use new cfa_loc records. Recognize rtl |
| sequences for the new DW_CFA_def_cfa_expression record. |
| (dwarf2out_frame_debug): Use new variables/fields.A |
| (output_cfi): Handle DW_CFA_def_cfa_expression. |
| (output_cfa_loc): New function to generate a CFI record for |
| DW_CFA_def_cfa_expression. |
| (get_cfa_from_loc_descr): New function to get a cfa_loc record from |
| a dw_loc_descr sequeunce. |
| (build_loc_descr): Build a dw_loc_descr from a cfa_loc record. |
| (dwarf_stack_op_name, new_loc_descr, add_loc_descr, size_of_loc_descr, |
| size_of_locs, output_loc_operands, output_loc_sequence): Move into |
| unwind info section. |
| * frame.h (frame_state): Add base_offset and indirect fields. |
| * frame-dwarf2.c (decode_stack_op): New function to interpret a |
| dw_loc_descr operation. |
| (execute_cfa_insn): Add support for DW_CFA_def_cfa_expression. |
| (struct frame_state): Add base offset and indirect fields. |
| * libgcc2.c (next_stack_level): Support indirect loading for CFA. |
| |
| 2000-06-26 Joseph S. Myers <jsm28@cam.ac.uk> |
| |
| * c-decl.c (grokdeclarator): Don't warn about `long long' in C99. |
| Make warnings about implicit int be pedwarns in C99. Don't warn |
| about duplicate type qualifiers in C99. |
| (start_function): Make warning about implict int return type be a |
| pedwarn in C99. |
| * c-lex.c (yylex): Don't warn about `long long' in C99. |
| * c-typeck.c (c_expand_return): In C99, always pedwarn about |
| `return' with no value in function returning non-void. |
| |
| 2000-06-26 Richard Henderson <rth@cygnus.com> |
| |
| * c-typeck.c (pedwarn_c99): New. |
| * diagnostic.c (verror, vwarning, vpedwarn): Export. |
| * toplev.h: Prototype them. |
| |
| 2000-06-26 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * c-typeck.c (digest_init): Return error_mark_node node when |
| TREE_TYPE (init) == error_mark_node. |
| |
| 2000-06-26 Philipp Thomas <pthomas@suse.de> |
| |
| * aclocal.m4 (AM_WITH_NLS): Don't set MSGFMT or GMSGFMT to no, |
| test for msgfmt without path instead. |
| * configure: Rebuilt. |
| |
| 2000-06-25 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr> |
| |
| * gengenrtl.c (special_rtx): Fix typo in comment. |
| |
| 2000-06-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * mklibgcc.in (LIB2FUNCS): Add missing space. |
| |
| 2000-06-24 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * tree.h (enum tree_index): Add vector type nodes. |
| Add accessor macros for them. |
| (TYPE_REPRESENATION_TYPE): New macro. |
| * tree.c (build_common_tree_nodes_2): Build these nodes. |
| (finish_vector_type): New function. |
| * c-common.c (type_for_mode): Handle vector modes. |
| * tm.texi (VECTOR_MODE_SUPPORTED_P): Document. |
| |
| * dbxout.c (dbxout_type): Handle VECTOR_TYPEs. |
| * dwarf.h (enum dwarf_fundamental_type): Add 128 bit integers. |
| * dwarf2out.c (lookup_type_die): Handle VECTOR_TYPEs. |
| (gen_type_die): Likewise. |
| * dwarfout.c (dwarf_fund_type_name): Handle 128 bit integers. |
| (fundamental_type_code): Likewise. |
| (type_is_fundamental): VECTOR_TYPEs aren't. |
| (output_type): Handle VECTOR_TYPEs. |
| |
| 2000-06-25 Kazu Hirata <kazu@hxi.com> |
| |
| * config/arm.c: Fix a comment typo. |
| * config/arm.h: Likewise. |
| |
| 2000-06-25 Philipp Thomas <pthomas@suse.de> |
| |
| * aclocal.m4 (AM_WITH_NLS): Set create_catalogs=no if no catalog |
| compiler found. |
| AM_GNU_GETTEXT: Don't set CATALOGS if create_catalogs=no. |
| * configure: Rebuilt. |
| |
| 2000-06-25 John David Anglin <dave.anglin@nrc.ca> |
| |
| * config/vax/vax.h (TARGET_SWITCHES): Provide descriptions. |
| |
| 2000-06-25 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> |
| |
| * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2FUNCS when generating |
| libgcc.a. |
| |
| 2000-06-24 Marc Espie <espie@cvs.openbsd.org> |
| |
| * collect2.c (resolve_lib_name): Move '/' check out of loop. |
| |
| 2000-06-24 Dirk Duellmann <Dirk.Duellmann@cern.ch> |
| |
| * ginclude/stddef.h (NULL): define for non-gnu C++ parsers as 0. |
| |
| 2000-06-24 Jakub Jelinek <jakub@redhat.com> |
| |
| * stmt.c (expand_decl_cleanup): Emit a dummy insn after |
| last_unconditional_cleanup. |
| |
| 2000-06-24 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * tree.def (VECTOR_TYPE): New node type. |
| * tree.h: Adjust some comments to reflect addition of vector types. |
| (TYPE_VECTOR_SUBPARTS): New macro. |
| * stor-layout.c (layout_type): Handle VECTOR_TYPE. |
| * c-convert.c (convert): Likewise. |
| * convert.c (convert_to_integer): Handle vector modes. |
| (convert_to_vector): New function. |
| * convert.h (convert_to_vector): Declare. |
| * expr.c (convert_move): Handle vector modes. |
| * expmed.c (extract_bit_field): Don't abort for vector modes. |
| |
| 2000-06-24 Marek Michalkiewicz <marekm@linux.org.pl> |
| |
| * config/avr/avr-protos.h (avr_hard_regno_mode_ok): New prototype. |
| * config/avr/avr.c (out_adj_frame_ptr, out_set_stack_ptr): |
| New functions, common code moved from function_{prologue,epilogue} |
| and extended to support the -mtiny-stack option. |
| (function_prologue, function_epilogue): Use them. |
| Use lo8/hi8 consistently for asm output readability. |
| (avr_hard_regno_mode_ok): New function. |
| * config/avr/avr.h (TARGET_SWITCHES): Fix typo. Add -mtiny-stack. |
| (UNITS_PER_WORD): Define as 4 (not 1) when compiling libgcc2.c. |
| (HARD_REGNO_MODE_OK): Call the avr_hard_regno_mode_ok function. |
| * config/avr/avr.md (*mov_sp_r): Add support for -mtiny-stack. |
| Write SPH before SPL. |
| (*movqi): No need to disable interrupts for just one "out" |
| in alternative 5. Change length attribute from 4 to 1. |
| * config/avr/libgcc.S (__prologue_saves__, __epilogue_restores__): |
| Write SPH before SPL. |
| |
| 2000-06-24 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * rtl.texi (Vector Operations): New node. |
| (Arithmetic): Add ss_plus, us_plus, ss_minus, us_minus. |
| (Conversions): Add ss_truncate, us_truncate. |
| * rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_REORDER, |
| VEC_CONST, VEC_DUPLICATE, SS_PLUS, SS_MINUS, SS_TRUNCATE, |
| US_TRUNCATE): New rtx codes. |
| * machmode.def: Add vector modes. |
| * machmode.h (enum mode_class): Add MODE_VECTOR_INT and |
| MODE_VECTOR_FLOAT. |
| (INTEGER_MODE_P): Check for MODE_VECTOR_INT. |
| (FLOAT_MODE_P): Check for MODE_VECTOR_FLOAT. |
| (VECTOR_MODE_P): New. |
| |
| 2000-06-24 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * cpp.texi: Clarify #pragma GCC namespace. |
| |
| 2000-06-24 Philipp Thomas <pthomas@suse.de> |
| |
| * aclocal.m4(AM_GNU_GETTEXT): If LINGUAS isn't set, build |
| all catalogs specified in ALL_LINGUAS. |
| * configure: Rebuilt. |
| |
| 2000-06-23 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/sparc.md (reload_outdi+1): Handle |
| HOST_BITS_PER_WIDE_INT == 64 case correctly. |
| (adddi3_insn_sp32+1, adddi3_insn_sp32+2, andsi3+2): Likewise. |
| |
| 2000-06-23 Geoffrey Keating <geoffk@cygnus.com> |
| |
| * alias.c (fixed_scalar_and_varying_struct_p): Don't examine |
| struct vs. scalar-ness when -fno-strict-aliasing. |
| |
| 2000-06-23 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * cpplib.c (struct pragma_entry): New structure. |
| (pragma_dispatch): Pragma dispatcher. |
| (top_pragmas, gcc_pragmas): New static variables. |
| (do_pragma): Use pragma_dispatch. |
| (do_pragma_gcc): New pragma handler. |
| * cpp.texi: Update. |
| |
| 2000-06-23 Jakub Jelinek <jakub@redhat.com> |
| |
| * calls.c (compute_argument_addresses): Force stack slots into |
| alias set 0. |
| * expr.c (emit_push_insn): Force pushes into alias set 0. |
| |
| 2000-06-23 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64.md (pred_rel_mutex): Only take one register. |
| * config/ia64/ia64.c (emit_predicate_relation_info): Adjust to match. |
| |
| 2000-06-22 Jason Merrill <jason@redhat.com> |
| |
| * toplev.c (compile_file): Always call timevar_print. |
| * Makefile.in (calls.o): Depend on TIMEVAR_H. |
| |
| 2000-06-22 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * varasm.c (constant_descriptor): Make contents unsigned char. |
| (mark_const_hash_entry): Adjust. |
| (const_hash): Just hash the code of unknown nodes. |
| (compare_constant_1): Adjust for unsigned char. |
| Use language specific expander on unknown nodes. |
| (record_constant_1): Likewise. |
| |
| 2000-06-21 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppfiles.c (cpp_make_system_header): New function. |
| * cpplib.h: Prototype it. |
| * cpplib.c (do_line, do_pragma_system_header): Use it. |
| * fix-header.c (read_scan_file): Use it. |
| |
| * fix-header.c (check_macro_names): Cast second arg of |
| cpp_defined to const unsigned char *. |
| (read_scan_file): Make getchar_call const unsigned char. |
| |
| 2000-06-21 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppfiles.c: Include splay-tree.h, not hashtab.h. |
| (redundant_include_p, make_IHASH, hash_IHASH, eq_IHASH): Delete. |
| (destroy_include_file_node): New. |
| (_cpp_init_include_hash): Rename _cpp_init_include_table. |
| Create a splay tree, not a hash table. |
| (open_include_file): Look up the path in the include table, |
| do the multiple include optimization here, etc. |
| (cpp_included): Walk the path. |
| (find_include_file): Just walk the path calling |
| open_include_file, or call it directly for an absolute path. |
| (_cpp_fake_ihash): Rename _cpp_fake_include and update for new |
| scheme. |
| (read_include_file): Update for new scheme. Don't close the |
| file unless reading fails. |
| (_cpp_execute_include, cpp_read_file): Tweak for new scheme. |
| |
| * cpphash.h (struct ihash, NEVER_REINCLUDE): Delete. |
| (struct include_file): New. |
| (NEVER_REREAD, DO_NOT_REREAD, CPP_IN_SYSTEM_HEADER): New |
| macros. |
| (CPP_PEDANTIC, CPP_WTRADITIONAL): Update. |
| Update prototypes. |
| |
| * cppinit.c: Include splay-tree.h. |
| (cpp_reader_init, cpp_cleanup): Update. |
| |
| * cpplib.h (struct cpp_buffer): Change ihash field to |
| 'struct include_file *inc'. Remove system_header_p. |
| (struct cpp_reader): Change all_include_files to a |
| struct splay_tree_s *. |
| |
| * cpplex.c: Update all references to cpp_buffer->ihash and/or |
| cpp_buffer->system_header_p. |
| (cpp_pop_buffer): Close file here, only if DO_NOT_REREAD. |
| |
| * Makefile.in (SPLAY_TREE_H): New macro. |
| (cppfiles.o, cppinit.o): Update dependencies. |
| |
| Wed Jun 21 11:05:48 2000 Martin Buchholz <martin@xemacs.org> |
| |
| * invoke.texi (g++): "g++" is not a script anymore. |
| |
| 2000-06-20 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * function.c (round_down): Delete obsolete prototype. |
| |
| * pa.h (CPP_SPEC): Add whitespace after -D__STDC_EXT__. |
| |
| 2000-06-20 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * configure.in: Use 'test a = b' not 'test a == b'. |
| * configure: Regen. |
| |
| * Makefile.in (fix-header): Link with $(LIBS) not $(HOST_LIBS). |
| |
| * Makefile.in: Remove all references to HOST_INTLLIBS. |
| |
| * cpplex.c (parse_name): Don't warn about $ in identifiers if |
| skipping. |
| |
| 2000-06-20 Philipp Thomas <pthomas@suse.de> |
| |
| * config/pa/pa.h(TARGET_SWITCHES): Require binutils 2.10 or later |
| for PA 2.0. |
| |
| Mon Jun 19 23:26:40 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * Take REG_INC notes into account. |
| |
| 2000-06-19 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * c-parse.in (undeclared_variable_notice): Moved to c-typeck.c. |
| (primary: IDENTIFIER): Just call build_external_ref. |
| * c-parse.y, c-parse.c, objc/objc-parse.y, objc/objc-parse.c: |
| Regenerate. |
| * c-lex.c (lastiddecl): Remove. |
| (yylex): Replace all instances of lastiddecl with local |
| variables. |
| |
| * c-typeck.c (build_external_ref): New function. Treat decls |
| with C_DECL_ANTICIPATED mostly the same as nonexistent decls. |
| Look up the decl from the id here. Call lookup_objc_ivar. |
| * c-lang.c (lookup_objc_ivar): Stub. |
| * objc/objc-act.c (lookup_objc_ivar): New function. |
| |
| * c-tree.h: Prototype lookup_objc_ivar and build_external_ref. |
| * c-lex.h: Don't declare lastiddecl. |
| |
| 2000-06-19 Benjamin Chelf <chelf@codesourcery.com> |
| |
| * c-common.h (IF_COND): Added documentation. |
| (THEN_CLAUSE): Likewise. |
| (ELSE_CLAUSE): Likewise. |
| (WHILE_COND): Likewise. |
| (WHILE_BODY): Likewise. |
| (DO_COND): Likewise. |
| (DO_BODY): Likewise. |
| (RETURN_EXPR): Likewise. |
| (EXPR_STMT_EXPR): Likewise. |
| (FOR_INIT_STMT): Likewise. |
| (FOR_COND): Likewise. |
| (FOR_EXPR): Likewise. |
| (FOR_BODY): Likewise. |
| (SWITCH_COND): Likewise. |
| (SWITCH_BODY): Likewise. |
| (CASE_LOW): Likewise. |
| (CASE_HIGH): Likewise. |
| (GOTO_DESTINATION): Likewise. |
| (COMPOUND_BODY): Likewise. |
| (ASM_CV_QUAL): Likewise. |
| (ASM_STRING): Likewise. |
| (ASM_OUTPUTS): Likewise. |
| (ASM_INPUTS): Likewise. |
| (ASM_CLOBBERS): Likewise. |
| (DECL_STMT_DECL): Likewise. |
| (STMT_EXPR_STMT): Likewise. |
| (LABEL_STMT_LABEL): Likewise. |
| |
| * c-common.def: Added documenetion for SRCLOC, EXPR_STMT, |
| COMPOUND_STMT, DECL_STMT, IF_STMT, FOR_STMT, WHILE_STMT, DO_STMT, |
| RETURN_STMT, BREAK_STMT, CONTINUE_STMT, SWITCH_STMT, GOTO_STMT, |
| LABEL_STMT, ASM_STMT, SCOPE_STMT, CASE_LABEL, STMT_EXPR. |
| |
| 2000-06-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * configure.in (--enable-checking): Update --help doc to reflect |
| new defaults. Ensure $ac_save_IFS is set before $IFS is changed. |
| |
| Sun Jun 18 21:42:15 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * gcse.c (insert_insn_end_bb): Always put after NOTE_INSN_BASIC_BLOCK. |
| |
| * function.c (put_var_into_stack): Don't reference DECL_ fields |
| if input is a SAVE_EXPR. |
| Use set_mem_attributes in COMPLEX case. |
| |
| 2000-06-18 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64-protos.h (process_for_unwind_directive): Declare. |
| (ia64_file_start): Declare. |
| * config/ia64/ia64.h (ADDL_REGNO_P): Don't compare unsigned against 0. |
| (GR_REGNO_P): Likewise. |
| * config/ia64/ia64.c: Many prototypes. |
| (ia64_reg_numbers): Constify. |
| (ia64_input_reg_names, ia64_local_reg_names): Likewise. |
| (ia64_section_threshold): Make unsigned. |
| (ia64_print_operand): Constify. |
| (fix_range): Constify. |
| (ia64_init_builtins): Don't compare signed vs unsigned. |
| (ia64_expand_builtin): Likewise. |
| |
| * config/ia64/ia64.h (EXTRA_CONSTRAINT): New. |
| (CONSTRAINT_OK_FOR_Q): New. |
| * config/ia64/ia64.md (movdi_internal): Use Q for fp<->mem. |
| (movsf_internal, movdf_internal): Likewise. |
| (cmovdi_internal): Rewrite so that constraints and predicates match; |
| simplify splitters. |
| (cmovsi_internal): Likewise. |
| |
| * config/ia64/ia64.h (ASM_SPEC): Add -x for gas. |
| (ASM_FILE_START): New. |
| * config/ia64/ia64.c (ia64_file_start): New. |
| (rtx_needs_barrier): Handle pred.rel.mutex. |
| (emit_predicate_relation_info): New. |
| * config/ia64/ia64.md (pred_rel_mutex): New. |
| * config/ia64/linux.h (ASM_SPEC): Define. |
| * config/ia64/sysv4.h (ASM_FILE_START): Define. |
| |
| * config/ia64/ia64.c (ia64_encode_section_info): Fix thinko |
| filtering global register variables. |
| |
| 2000-06-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * c-common.c (add_c_tree_codes): Fix definition for traditional C. |
| |
| 2000-06-17 Michael Meissner <meissner@redhat.com> |
| |
| * gcc.c (do_spec_1, '%v3' case): Do not abort if patch level is |
| not present and there is a field after a '-'. |
| |
| 2000-06-17 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/check.tpl: finish the implementation of multiple tests |
| for a single fix |
| * fixinc/inclhack.def(ctrl_quotes_def): add a second test |
| (io_quotes_def): add a second test |
| (various): reorder `files' so that "limits.h" is never first |
| * fixinc/tests/base/*: update the testing output |
| |
| Sat Jun 17 10:33:59 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * gcc.texi: Remove reference to stupid.c. |
| |
| 2000-06-16 Benjamin Chelf <chelf@codesourcery.com> |
| |
| * c-common.c (c_tree_code_type): New array. |
| (c_tree_code_length): Likewise. |
| (c_tree_code_name): Likewise. |
| (add_c_tree_codes): New function. |
| |
| * c-common.h (add_c_tree_codes): Declare. |
| (enum c_tree_code): New enum. |
| |
| * c-lex.c (init_parse): Added call to add_c_tree_codes. |
| |
| 2000-06-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * fixinc/inclhack.def (ctrl_quotes_def, io_quotes_def): Modify |
| select pattern to also match macro defs with only one argument. |
| |
| Thu Jun 15 18:56:12 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * i386.md: Create new [right,left] rotate and right shift |
| patterns to optimize shift by 1 bit for certain ia32 processors. |
| Update patterns which perform left shifts to optimize shift by |
| 1 bit for certain ia32 processors. |
| * i386.c (const_int_1_operand): New predicate. |
| * i386.h (PREDICATE_CODES): Handle const_int_1_operand. |
| * i386-protos.h (const_int_1_operand): Prototype. |
| |
| Wed Jun 14 23:46:26 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * mips.c (machine_dependent_reorg): Fix braces for nested if. |
| |
| 2000-06-14 Geoff Keating <geoffk@cygnus.com> |
| |
| * rs6000.c (toc_hash_eq): Use CODE_LABEL_NUMBER to compare |
| LABEL_REFs. |
| |
| 2000-06-14 Richard Henderson <rth@cygnus.com> |
| |
| * conflict.c (conflict_graph_compute): Don't look for REG_INC. |
| |
| * config/ia64/ia64.c (ia64_setup_incoming_varargs): Don't emit |
| auto-inc code. |
| |
| * print-rtl.c (print_rtx): Emit space before mem alias set. |
| |
| 2000-06-14 David Edelsohn <edelsohn@gnu.org> |
| |
| * rs6000.c (expand_block_move): Fix typo in earlier change. |
| (print_operand): Remove unused variables neg and op. |
| (toc_hash_mark_entry): Fix prototype. |
| |
| 2000-06-14 Benjamin Chelf <chelf@codesourcery.com> |
| |
| * c-common.h (IF_COND): Moved here from cp/cp-tree.h. |
| (THEN_CLAUSE): Likewise. |
| (ELSE_CLAUSE): Likewise. |
| (WHILE_COND): Likewise. |
| (WHILE_BODY): Likewise. |
| (DO_COND): Likewise. |
| (DO_BODY): Likewise. |
| (RETURN_EXPR): Likewise. |
| (EXPR_STMT_EXPR): Likewise. |
| (FOR_INIT_STMT): Likewise. |
| (FOR_COND): Likewise. |
| (FOR_EXPR): Likewise. |
| (FOR_BODY): Likewise. |
| (SWITCH_COND): Likewise. |
| (SWITCH_BODY): Likewise. |
| (CASE_LOW): Likewise. |
| (CASE_HIGH): Likewise. |
| (GOTO_DESTINATION): Likewise. |
| (COMPOUND_BODY): Likewise. |
| (ASM_CV_QUAL): Likewise. |
| (ASM_STRING): Likewise. |
| (ASM_OUTPUTS): Likewise. |
| (ASM_INPUTS): Likewise. |
| (ASM_CLOBBERS): Likewise. |
| (DECL_STMT_DECL): Likewise. |
| (STMT_EXPR_STMT): Likewise. |
| (LABEL_STMT_LABEL): Likewise. |
| (SCOPE_BEGIN_P): Likewise. |
| (SCOPE_END_P): Likewise. |
| (SCOPE_STMT_BLOCK): Likewise. |
| (SCOPE_NULLIFIED_P): Likewise. |
| (SCOPE_NO_CLEANUPS_P): Likewise. |
| (SCOPE_PARTIAL_P): Likewise. |
| (ASM_VOLATILE_P): Likewise. |
| (STMT_LINENO): Likewise. |
| (STMT_LINENO_FOR_FN_P): Likewise. |
| |
| * c-common.def: New file. Added SRCLOC, SIZEOF_EXPR, ARROW_EXPR, |
| ALIGNOF_EXPR, EXPR_STMT, COMPOUND_STMT, DECL_STMT, IF_STMT, |
| FOR_STMT, WHILE_STMT, DO_STMT, RETURN_STMT, BREAK_STMT, |
| CONTINUE_STMT, SWITCH_STMT, GOTO_STMT, LABEL_STMT, ASM_STMT, |
| SCOPE_STMT, CASE_LABEL, STMT_EXPR. |
| |
| * gencheck.c (tree_codes[]): Added '#include "c-common.def"'. |
| |
| 2000-06-14 David O'Brien <obrien@FreeBSD.org> |
| |
| * gcc.c (main): Quiet compiler warnings. argv is assumed to be |
| writable in parts of the GCC code. |
| |
| * config/elfos.h (ASM_GENERATE_INTERNAL_LABEL): Make printf |
| specification match cast. |
| |
| Wed Jun 14 09:25:57 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * configure.in: Revert AC_TYPE_GETGROUPS patch from June 13. |
| * configure, config.in: Rebuilt. |
| * sys-protos.h: Similarly. |
| |
| Wed Jun 14 03:39:58 EDT 2000 John Wehle (john@feith.com) |
| |
| * ifcvt.c (EDGE_COMPLEX): Move definition ... |
| * basic-block.h (EDGE_COMPLEX): ... here. |
| |
| * loop.c (check_dbra_loop): Specify the register when |
| generating REG_NONNEG notes and don't generate duplicates. |
| |
| 2000-06-13 Jakub Jelinek <jakub@redhat.com> |
| |
| * tree.h (TYPE_USER_ALIGN, DECL_USER_ALIGN): Define. |
| (struct tree_type, struct tree_decl): Add user_align member. |
| * stor-layout.c (layout_decl): Set DECL_USER_ALIGN. |
| (place_union_field): If BIGGEST_FIELD_ALIGNMENT is defined |
| and DECL_USER_ALIGN 0, cap alignment to this value. |
| (place_field): Likewise. |
| (finalize_type_size): Set TYPE_USER_ALIGN. |
| (layout_type): Likewise. |
| (initialize_sizetypes): Likewise. |
| * c-common.c (decl_attributes): Set TYPE_USER_ALIGN resp. |
| DECL_USER_ALIGN to 1. |
| * c-decl.c (duplicate_decls): Set DECL_USER_ALIGN. |
| (xfer_tag): Set TYPE_USER_ALIGN. |
| (finish_struct): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN. |
| (finish_enum): Likewise. |
| * stmt.c (expand_decl): Set DECL_USER_ALIGN. |
| (expand_anon_union_decl): Likewise. |
| * tree.c (make_node): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN. |
| (build_index_type): Set TYPE_USER_ALIGN. |
| (build_range_type): Likewise. |
| (build_common_tree_nodes_2): Likewise. |
| * tm.texi (BIGGEST_FIELD_ALIGNMENT): Document the changed meaning. |
| |
| 2000-06-13 Andreas Jaeger <aj@suse.de> |
| |
| * configure.in: Use --enable-checking=misc,tree,gc by default if |
| no --enable-checking option is given and for |
| --enable-checking=yes. |
| * configure: Rebuilt. |
| |
| 2000-06-13 Richard Henderson <rth@cygnus.com> |
| |
| * libgcc2.c (ia64_throw_helper): Use __builtin_return_address. |
| (__throw): Don't pass the address of a label. |
| |
| * config/ia64/ia64.c (ia64_compute_frame_size): Use |
| current_function_is_leaf. |
| (ia64_expand_prologue): Likewise. Modify return_address_pointer_rtx |
| instead of reg_names[RETURN_ADDRESS_REGNUM]. |
| (ia64_init_machine_status): Reset return_address_pointer_rtx. |
| * config/ia64/ia64.h (RETURN_ADDRESS_POINTER_REGNUM): Rename |
| from RETURN_ADDRESS_REGNUM. Update all uses. |
| (RETURN_ADDR_RTX): Use return_address_pointer_rtx; return |
| zero instead of null on failure. |
| (ELIMINABLE_REGS): Add ra->b0 elimination. |
| (CAN_ELIMINATE): Update accordingly. |
| (INITIAL_ELIMINATION_OFFSET): Likewise. |
| (REGISTER_NAMES): Use an illegal assembler name for |
| RETURN_ADDRESS_POINTER_REGNUM. |
| |
| 2000-06-13 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64.h (enum reg_class): Remove FR_INT_REGS, FR_FP_REGS, |
| GR_AND_FR_INT_REGS, GR_AND_FR_FP_REGS. |
| (REG_CLASS_NAMES): Likewise. |
| (REG_CLASS_CONTENTS): Likewise. |
| (FR_FP_REGNO_P, FR_INT_REGNO_P): Remove. |
| (HARD_REGNO_MODE_OK): Remove references to them. |
| (REGNO_REG_CLASS): Likewise. |
| (REG_CLASS_FROM_LETTER): Likewise. |
| (CLASS_MAX_NREGS): Likewise. |
| (REGISTER_MOVE_COST): Likewise. |
| * config/ia64/ia64.c (ia64_secondary_reload_class): Likewise. |
| * config/ia64/ia64.md (*): Replace "e" constraints with "f". |
| (movqi_internal): Special case moves from zero. |
| (movhi_internal, movsi_internal): Likewise. |
| (movdi_internal): Likewise. Fill out "f" constraints. |
| (movsf_internal): Fill out "r" constraints. |
| (movdf_internal): Likewise. |
| |
| 2000-06-13 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (insn_dead_p): Keep sets to PIC_OFFSET_TABLE_REGNUM |
| alive before reload. |
| |
| * haifa-sched.c (struct deps): Add in_post_call_group_p. |
| (add_dependence): Handle notes between SCHED_GROUP_P insns. |
| (remove_dependence): Always define. |
| (set_sched_group_p): New. |
| (sched_analyze_2): Use it. |
| (sched_analyze_insn): Don't special-case naked uses. Look for |
| and extend in_post_call_group_p. |
| (sched_analyze): Clear stale SCHED_GROUP_P. Set in_post_call_group_p. |
| (init_deps): Clear in_post_call_group_p. |
| |
| 2000-06-13 Richard Henderson <rth@cygnus.com> |
| |
| * combine.c (subst): Use CLASS_CANNOT_CHANGE_MODE and |
| CLASS_CANNOT_CHANGE_MODE_P instead of CLASS_CANNOT_CHANGE_SIZE |
| and hard-coded tests. |
| (simplify_set): Likewise. |
| (gen_lowpart_for_combine): Likewise. |
| * emit-rtl.c (gen_lowpart_common): Likewise. |
| * global.c (find_reg): Likewise. |
| * local-alloc.c (find_free_reg): Likewise. |
| * recog.c (register_operand): Likewise. |
| * regclass.c (init_reg_sets_1): Likewise. |
| (record_operand_costs, regclass): Likewise. |
| * reload.c (push_reload): Likewise. |
| * reload1.c (choose_reload_regs): Likewise. |
| * flow.c (mark_used_regs): Conditionally set REG_CHANGES_MODE. |
| * local-alloc.c (struct qty): Rename changes_size to changes_mode. |
| Update all references. |
| * regs.h (struct reg_info_def): Likewise. |
| (REG_CHANGES_MODE): Rename from REG_CHANGES_SIZE. |
| * tm.texi (CLASS_CANNOT_CHANGE_MODE): Document. |
| (CLASS_CANNOT_CHANGE_MODE_P): Likewise. |
| |
| * config/alpha/alpha.h (CLASS_CANNOT_CHANGE_MODE): Rename. |
| (CLASS_CANNOT_CHANGE_MODE_P): New. |
| * config/mips/mips.h: Likewise. |
| * config/pa/pa32-regs.h: Likewise. |
| * config/pa/pa64-regs.h: Likewise. |
| * config/rs6000/rs6000.h: Likewise. |
| * config/sh/sh.h: Likewise. |
| * config/ia64/ia64.h (CLASS_CANNOT_CHANGE_MODE): New. |
| (CLASS_CANNOT_CHANGE_MODE_P): New. |
| * config/avr/avr.h (CLASS_CANNOT_CHANGE_SIZE): Remove dead code. |
| * config/d30v/d30v.h: Likewise. |
| |
| 2000-06-13 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * configure.in: Add AC_TYPE_GETGROUPS test. |
| * sys-protos.h: Use GETGROUPS_T * for second arg of getgroups. |
| * configure: Rebuilt. |
| * config.in: Rebuilt. |
| |
| 2000-06-13 Richard Henderson <rth@cygnus.com> |
| |
| * explow.c (set_mem_attributes): Do nothing for NULL type. |
| |
| Tue Jun 13 14:45:10 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * config/m68k/openbsd.h (ASM_SPEC): pass down options to assembler |
| correctly. |
| |
| 2000-06-13 James E. Wilson <wilson@cygnus.com> |
| |
| * config/ia64/ia64.md (movxf_internal): Add missing "e" to ldf/stf. |
| |
| Tue Jun 13 14:05:35 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * Makefile.in (gensupport.o): Remove bogus $(HOST_PREFIX) reference. |
| |
| 2000-06-13 Philipp Thomas <pthomas@suse.de> |
| |
| * configure.in(ALL_LINGUAS): Changed en_UK to en_GB. |
| * configure: Rebuilt. |
| |
| 2000-06-07 David O'Brien <obrien@FreeBSD.org> |
| |
| * configure.in: Adjust FreeBSD bits to match changes to config.guess. |
| We now default to ELF for the i386, and a.out is the special case. |
| * configure: Rebuilt. |
| |
| Tue Jun 13 10:05:30 2000 Hans-Peter Nilsson <hp@axis.com> |
| |
| * final.c (final_scan_insn): Delete notes between cc0 setter and |
| user when restarting from setter. |
| |
| 2000-06-13 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * vax.h (INDEX_TERM_P): Define evaluation order of &&'s in || and |
| cast to squelch signed/unsigned warnings. |
| |
| 2000-06-13 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplib.c (handle_directive): Print non-NUL-terminated string |
| with %.*s. |
| |
| 2000-06-12 Michael Meissner <meissner@redhat.com> |
| |
| * ifcvt.c (dead_or_predicable): Don't do conditional execution |
| path if the machine needs extra support to do conditional |
| execution. |
| |
| Mon Jun 12 17:04:17 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * print-rtl.c (print_rtx, case MEM): Use HOST_WIDE_INT_PRINT_DEC |
| to print the alias set. |
| * print-tree.c (print_node, DECL_* nodes and case 't'): Similarly. |
| |
| 2000-06-12 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * config/float-vax.h: Add GFLOAT defines. |
| |
| Mon Jun 12 9:44:00 2000 Mark Klein <mklein@dis.com> |
| |
| * configure.in: Update tm dependencies for MPE. |
| * configure: Rebuilt. |
| |
| 2000-06-12 H.J. Lu <hjl@gnu.org> |
| |
| * gengenrtl.c (obstack_alloc_rtx): Correct the allocated size. |
| |
| 2000-06-12 David Edelsohn <edelsohn@gnu.org> |
| |
| * aix41.h (SUBTARGET_SWITCHES): Delete threads. |
| (CPP_SPEC): Change mthreads to pthread. |
| (LIB_SPEC): Likewise. |
| (STARTFILE_SPEC): Likewise. |
| * aix43.h (SUBTARGET_SWITCHES): Delete threads. |
| (CPP_SPEC): Change mthreads to pthread. |
| (LIB_SPEC): Likewise. |
| (STARTFILE_SPEC): Likewise. |
| * rs6000-protos.h (reg_or_arith_cint_operand): New. |
| * rs6000.c (reg_or_arith_cint_operand): New. |
| (num_insns_constant_wide): Decorate unsigned constant. |
| * rs6000.h (PREDICATE_CODES): Add reg_or_arith_cint_operand. |
| * rs6000.md (addsi3): Use new predicate. |
| (subsi3, adddi3, subdi3): Likewise. |
| |
| 2000-06-12 Mark Mitchell <mark@codesourcery.com> |
| |
| * c-common.c (lang_get_alias_set): Fix typo. |
| |
| 2000-06-12 Richard Earnshaw <rearnsha@arm.com> |
| |
| * flow.c (mark_used_regs): Revert last change. |
| (life_analysis): Remove PROP_AUTOINC if running after reload. |
| (propagate_one_insn): PROP_AUTOINC is always off after reload. |
| |
| 2000-06-11 Richard Earnshaw <rearnsha@arm.com> |
| |
| * flow.c (mark_used_regs): Don't call find_auto_inc after reload |
| has run. |
| |
| 2000-06-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * bb-reorder.c (build_scope_forest): Initialize variable |
| `curr_scope'. |
| |
| * calls.c (expand_call): Likewise for variables |
| `save_pending_stack_adjust' and `save_stack_pointer_delta'. |
| |
| * i386.c (function_arg_advance, function_arg): Cast to avoid |
| signed/unsigned warnings. |
| |
| * i386.h (MEMORY_MOVE_COST): Likewise. |
| |
| * ifcvt.c (cond_exec_process_if_block): Initialize variables |
| `else_start' and `else_end'. |
| |
| * libgcc2.h (__eh_alloc, __eh_free): Prototype. |
| |
| * regrename.c (rr_replace_reg): Initialize variable `dest_subregno'. |
| |
| 2000-06-10 Mark Mitchell <mark@codesourcery.com> |
| |
| * Makefile.in (libintl.a): Depend on intl.all. |
| |
| 2000-06-09 H.J. Lu (hjl@gnu.org) |
| |
| * Makefile.in (c-parse.o): Also depend on output.h. |
| |
| 2000-06-09 Rodney Brown <RodneyBrown@mynd.com> |
| |
| * mcore-protos.h: discards const warning removal. |
| * mcore.c: discards const warning removal. |
| |
| 2000-06-09 Kazu Hirata <kazu@hxi.com> |
| |
| * config/h8300/lib1funcs.asm: Declare the machine architecture at |
| the beginning of the file. |
| |
| 2000-06-09 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * real.h: Add prototype for ldexp. |
| |
| 2000-06-09 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * ggc-none.c, ggc-simple.c, ggc-page.c (ggc_alloc_obj): Rename |
| it ggc_alloc, drop second argument, never clear returned memory. |
| * ggc-common.c (ggc_alloc_string): Use ggc_alloc. |
| (ggc_alloc_cleared): New. |
| * ggc.h: Prototype ggc_alloc and ggc_alloc_cleared, not |
| ggc_alloc_obj. Remove ggc_alloc macro. |
| (ggc_alloc_rtx, ggc_alloc_rtvec, ggc_alloc_tree): Use ggc_alloc. |
| |
| * rtl.c (rtvec_alloc): Clear the vector always. |
| (rtx_alloc): Clear the first word always. Remove dirty |
| obstack tricks (this routine is no longer a bottleneck). |
| * tree.c (make_node): Clear the new node always. |
| (make_tree_vec): Likewise. |
| (tree_cons): Clear the common structure always. |
| (build1): Likewise; also, clear TREE_COMPLEXITY. |
| * gengenrtl.c: Use puts wherever possible. Remove extra |
| newlines. |
| (gendef): Clear the first word of an RTX in the generator |
| function, irrespective of ggc_p. Initialize '0' slots to |
| NULL. |
| (genlegend): Don't generate obstack_alloc_rtx routine, just a |
| thin wrapper macro around obstack_alloc. |
| |
| * stmt.c (expand_fixup): Use ggc_alloc. |
| * c-typeck.c (add_pending_init): Use ggc_alloc. |
| * emit-rtl.c (init_emit_once): Clear CONST_DOUBLE_CHAIN(tem). |
| * varasm.c (immed_double_const): Set CONST_DOUBLE_MEM(r) to |
| const0_rtx when it is created. |
| (immed_real_const_1): Set CONST_DOUBLE_CHAIN(r) to NULL_RTX if |
| we are not in a function. |
| |
| * tree.c (tree_class_check_failed): Make second arg an int. |
| * tree.h: Update prototype. |
| |
| 2000-06-09 Geoff Keating <geoffk@cygnus.com> |
| |
| * tree.h (VOID_TYPE_P): Don't look at the TYPE_MAIN_VARIANT |
| of an error_mark_node. |
| |
| Fri Jun 9 20:35:13 2000 Denis Chertykov <denisc@overta.ru> |
| |
| * config/avr/avr.c (asm_output_section_name): bugfix. |
| |
| 2000-06-09 Jason Merrill <jason@casey.soma.redhat.com> |
| |
| * timevar.def: Add TV_EXPAND. |
| * timevar.c (timevar_print): Update timing information. |
| * calls.c (try_to_integrate): Push to TV_INTEGRATION for inlining. |
| |
| * stmt.c (expand_return): Check for error_mark_node. |
| |
| 2000-06-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * configure.in: Also avoid wrapping auto-build.h with IN_GCC. |
| |
| * scan-types.sh (VALUE) Wrap use with double quotes to protect |
| variable against filename expansion when it contains "char *". |
| |
| * system.h (SSIZE_MAX): Delete backup definition. |
| |
| * cppfiles.c (read_include_file): Use INTTYPE_MAXIMUM(ssize_t) |
| instead of SSIZE_MAX. |
| |
| 2000-06-09 Jakub Jelinek <jakub@redhat.com> |
| |
| * configure.in: Check whether gas supports -relax. |
| * configure, config.in: Rebuilt. |
| * config/sparc/sparc.h (ASM_RELAX_SPEC): Define. |
| (EXTRA_SPECS): Add asm_relax. |
| (ASM_SPEC): Add %(asm_relax). |
| (TARGET_SWITCHES): Add -mrelax and -mno-relax. |
| * config/sparc/linux64.h (LINK_ARCH_SPEC): Rename to LINK_SPEC. |
| (LINK_SPEC): Pass -relax to linker unless -mno-relax or -r. |
| (ASM_SPEC): Add %(asm_relax). |
| * config/sparc/linux.h (LINK_SPEC, ASM_SPEC): Likewise. |
| * config/sparc/sparc.c (output_sibcall): If HAVE_AS_RELAX_OPTION, |
| never use sethi/jmpl for leaf tail calls. Use or with rs2 %g0 |
| instead of mov, so that gas can further optimize it. |
| |
| 2000-06-08 James E. Wilson <wilson@bletchleypark.cygnus.com> |
| |
| * dwarf2out.c (size_of_die, case dw_val_class_const): Use |
| size_of_sleb128. |
| (value_format, case dw_val_class_const): Use sdata format. |
| (output_die): Call output_sleb128. |
| |
| 2000-06-08 James E. Wilson <wilson@cygnus.com> |
| |
| * dwarf2out.c (ASM_OUTPUT_DWARF_DATA8): Add new macro that uses |
| UNALIGNED_DOUBLE_INT_ASM_OP. Rename old macro to |
| ASM_OUTPUT_DWARF_CONST_DOUBLE. |
| (output_die, case dw_val_class_unsigned_const): Correct call to |
| ASM_OUTPUT_DWARF_DATA8. |
| (output_die, case dw_val_class_long_long): Use |
| ASM_OUTPUT_DWARF_CONST_DOUBLE. |
| * tree.c (host_integerp): Accept unsigned HOST_WIDE_INT values when |
| pos is zero. |
| |
| * config/ia64/ia64-protos.h (ia64_output_end_prologue): Add. |
| (output_function_prologue): Fix mispelling. |
| (output_function_prologue, output_function_epilogue): Reorder to |
| match ia64.c definition order. |
| * config/ia64/ia64.c (ia64_expand_prologue): Add comment. |
| (ia64_expand_epilogue): Set RTX_FRAME_RELATED_P on stack restore insns. |
| Use r3 instead of r2 for large stack restores. |
| (ia64_output_end_prologue): New function. |
| (process_set): Emit ".restore sp" for epilogue stack restores. |
| * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Define. |
| |
| 2000-06-08 Jakub Jelinek <jakub@redhat.com> |
| |
| * dbxout.c (dbxout_type_fields): Don't segfault on fields with |
| incomplete types. |
| |
| 2000-06-08 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * frame.c (end_fde_sort): Remove extraneous erratic array test. |
| |
| 2000-06-08 Denis Perchine <dyp@perchine.com> |
| |
| * frame.c (start_fde_sort): Don't malloc (0). |
| |
| 2000-06-07 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * c-decl.c (pushdecl): Do not call COMPLETE_TYPE_P on |
| error_mark_node. |
| * print-tree.c (print_node): The transparent_union_flag means |
| different things for unions and arrays. Do not inspect it |
| with TYPE_TRANSPARENT_UNION. |
| |
| 2000-06-06 Jakub Jelinek <jakub@redhat.com> |
| |
| * cpplib.c (do_ifdef, do_ifndef): Don't segfault if parse_ifdef |
| returned NULL. |
| |
| Wed Jun 7 20:34:33 2000 Denis Chertykov <denisc@overta.ru> |
| |
| * config/avr/avr.c (asm_output_section_name): output section |
| attributes. |
| * config/avr/libgcc.S (.text.libgcc): declare section attributes. |
| |
| 2000-06-06 James E. Wilson <wilson@cygnus.com> |
| |
| * frame.h (struct unwind_info_ptr): Collapse version, flags, and length |
| fields into header field. |
| (IA64_UNW_HDR_LENGTH, IA64_UNW_HDR_FLAGS, IA64_UNW_HDR_VERSION): New |
| macros to access length, flags, and version info from header field. |
| * config/ia64/crtbegin.asm (__do_frame_setup_aux): Delete here. |
| * config/ia64/crtend.asm (__do_frame_setup_aux): Add here. |
| (__do_global_ctors_aux): Fix caller. |
| * config/ia64/frame-ia64.c (get_unwind_record): Change parameter |
| prologue_flag to header. Pass to read_P_record. |
| (read_P_record): New argument header. Implement P4 format. |
| Multiply P7_T_SIZE by 16. |
| (execute_one_ia64_descriptor): New static local region_header. Pass to |
| get_unwind_record. Copy r to region_header if r is a header record. |
| (print_all_records): Likewise. |
| (__build_ia64_frame_state): Use IA64_UNW_HDR_LENGTH. |
| (__get_personality, __get_except_table): Likewise. |
| * config/ia64/ia64.c (process_set): Do not divide offsets by 4. |
| |
| 2000-06-06 Philipp Thomas <pthomas@suse.de> |
| |
| * configure.in (AC_C_INLINE): Added. |
| * aclocal.m4 (AM_WITH_NLS): Enable --with-included-gettext by default. |
| * configure: Regenerate. |
| |
| 2000-06-06 Mark Mitchell <mark@codesourcery.com> |
| |
| * c-common.h (c_language_kind): New type. |
| (c_language): New variab.e |
| * c-common.c (lang_get_alias_set): Don't put structures in |
| nonzero alias sets in C++. |
| * c-decl.c (c_language): Define it. |
| * c-lex.c (doing_objc_thang): Remove. |
| * c-tree.h (doing_objc_thang): Make it a macro. |
| * objc/objc-act.c (lang_decode_option): Set c_language, not |
| doing_objc_thang. |
| |
| 2000-06-06 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * diagnostic.c (output_maximum_width): Remove. |
| (doing_line_wrapping): Tweak. |
| (diagnostic_buffer): New object. |
| (global_output_buffer): New object. |
| (output_destroy_prefix): New function. |
| (default_initialize_buffer): Likewise. |
| (reshape_diagnostic_buffer): Likewise. |
| (initialize_diagnostics): Likewise. |
| (output_clear): Tweak. |
| (line_wrapper_printf): Adjust call to init_output_buffer. |
| (vline_wrapper_message_with_location): Likewise. Use |
| output_destroy_prefix. |
| (v_message_with_decl): Likewise. |
| |
| * diagnostic.h (struct output_buffer): Constify prefix. |
| (init_output_buffer, output_get_prefix): Constify. |
| (diagnostic_message_length_per_line): Likewise. |
| (reshape_diagnostic_buffer): Declare. |
| (default_initialize_buffer): Declare. |
| (initialize_diagnostics): Declare. |
| (diagnostic_buffer): Declare new obbject. |
| |
| * toplev.c: #include diagnostic.h |
| (display_help): Document diagnostic formatting options. |
| (decode_f_option): Handle diagnostic formatting options. |
| (main): Setup initialization for diagnostic messages outputter. |
| |
| * toplev.h (set_message_length): Remove. |
| |
| * Makefile.in (toplev.o): Depends upon diagnostic.h |
| |
| * invoke.texi : Document diagnostics formatting options. |
| |
| Tue Jun 6 19:25:32 2000 Philippe De Muyter <phdm@macqel.be> |
| |
| * configure.in (Make the links): Typo fix : the file that must be |
| included without #ifdef IN_GCC is `auto-host.h', not `auto-config.h'. |
| * configure: File rebuilt. |
| |
| 2000-06-06 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * eh-common.h (EH_ALLOC_SIZE, EH_ALLOC_ALIGN): New #defines. |
| (eh_context): Add alloc_mask and alloc_buffer emergency fallback |
| space. |
| * libgcc2.c (__eh_alloc): Moved from cp/exception.cc. Fallback on |
| emergency eh_context buffer, if malloc fails. |
| (__eh_free): Moved from cp/exception.cc. Release to emergency |
| eh_context buffer, if appropriate. |
| |
| 2000-06-06 Jason Merrill <jason@casey.soma.redhat.com> |
| |
| * expr.c (store_expr): Fix typo. |
| |
| 2000-06-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * m68k.c (legitimize_pic_address): Move prototype ... |
| |
| * m68k-protos.h (legitimize_pic_address): ... here. |
| |
| * m68k.md (legitimize_pic_address): Delete prototypes. |
| (untyped_call): Invoke GEN_CALL(), not gen_call(). |
| |
| * nextstep.c: Include system.h and toplev.h. |
| (get_directive_line): Don't prototype. |
| (handle_pragma): Mark parameters with ATTRIBUTE_UNUSED and constify. |
| |
| * nextstep.h (handle_pragma): Prototype. |
| (SECTION_FUNCTION): Prototype FUNCTION(). Move prototype of |
| objc_section_init ... |
| (EXTRA_SECTION_FUNCTIONS): ... here. |
| |
| Tue Jun 6 08:17:26 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * sdbout.c (struct sdb_file): NAME now const. |
| (sdbout_init): input_file_name now const. |
| (sdbout_start_new_source_file): FILENAME now const. |
| * sdbout.c (sdbout_init, sdbout_start_new_source_file): Reflect above. |
| |
| 2000-06-06 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * c-typeck.c (build_conditional_expr): Handle complex data types. |
| |
| 2000-06-05 Jason Merrill <jason@casey.soma.redhat.com> |
| |
| * explow.c (maybe_set_unchanging): New function, broken out from... |
| (set_mem_attributes): Here. |
| * expr.h: Declare it. |
| * stmt.c (expand_decl): Call it. |
| |
| 2000-06-05 Richard Henderson <rth@cygnus.com> |
| |
| * reload1.c (choose_reload_regs): Mind CLASS_CANNOT_CHANGE_SIZE |
| while looking for a register to inherit from. |
| |
| 2000-06-05 Jason Merrill <jason@casey.soma.redhat.com> |
| |
| * Makefile.in (libgcc.ready): Lose. |
| (libgcc.mk): Just use mv, not move-if-change. |
| (LIBGCC_DEPS): New macro. |
| (libgcc.a): Use it. |
| (stmp-multilib): Likewise. |
| * mklibgcc.in (stmp-dirs): New target. Make everything depend on |
| it rather than the directories themselves. |
| (LIB2ADD): Depend on the list file rather than 'force'. |
| |
| * fold-const.c (fold, case COND_EXPR): Elide conversion between |
| cv-qualified versions of types. |
| |
| Mon Jun 5 14:06:18 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * config/sparc/sparc.c (short_branch): Correct error in range |
| computation. |
| |
| 2000-06-05 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * fixinc/inclhack.def: New include hacks for ultrix. |
| * (nested_ultrix): Replaced by ultrix_nested_svc. |
| * (ultrix_atof_param): test_text string added. |
| * (ultrix_ifdef): Modified select string. |
| |
| 2000-06-05 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * objc/objc-act.c (generate_method_descriptors): Register |
| objc_method_prototype_template as a GC root. |
| (comp_method_with_proto): Register function_type as a GC root. |
| (comp_proto_with_proto): Replace function_type1 and |
| function_type2 with a two-element array; register it as a GC root. |
| |
| (generate_protocols, build_protocol_initializer, |
| generate_protocol_list, build_category_initializer, |
| build_shared_structure_initializer): Do not cache cast_type |
| and/or cast_type2. |
| |
| 2000-06-05 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * function.c (assign_parms): Add missing argument to set_mem_attributes |
| call. |
| |
| 2000-06-05 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * tree.h (VOID_TYPE_P): New macro. |
| (COMPLETE_OR_VOID_TYPE_P): Use VOID_TYPE_P. |
| * c-decl.c (grokdeclarator): Use VOID_TYPE_P. |
| (get_parm_info): Likewise. |
| (store_parm_decls): Likewise. |
| (combine_parm_decls): Likewise. |
| (finish_function): Likewise. |
| * c-typeck.c (build_function_call): Likewise. |
| (build_binary_op): Likewise. |
| (build_conditional_expr): Likewise. |
| (internal_build_compound_expr): Likewise. |
| (convert_for_assignment): Likewise. |
| * stmt.c (expend_expr_stmt): Likewise. |
| (warn_if_unused_value): Likewise. |
| (expand_return): Likewise. |
| * c-parse.in (primary): Likewise. |
| * c-parse.y, c-parse.c, c-parse.h: Regenerate. |
| * objc/objc-parse.y, objc/objc-parse.c: Regenerate. |
| |
| Mon Jun 5 06:46:28 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * alias.c (get_alias_set): If compnent is addressable, use alias |
| set of component. |
| * c-decl.c (init_decl_processing): Don't call record_component_aliases. |
| (grokdeclarator): Likewise. |
| * c-typeck.c (common_type): Likewise. |
| |
| 2000-06-04 Alex Samuel <samuel@codesourcery.com> |
| |
| * Makefile.in (OBJS): Remove dyn_string.o |
| (dyn-string.o): Delete rule. |
| * dyn-string.c: Delete file |
| * dyn-string.h: Likewise. |
| |
| 2000-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * Makefile.in (intl.*): Honor nonzero exit codes in the intl |
| subdir. |
| |
| 2000-06-03 Geoff Keating <geoffk@cygnus.com> |
| |
| * alias.c (record_component_aliases): Don't inspect |
| DECL_NONADDRESSABLE_P of non-FIELD_DECL components of structures. |
| |
| Sat Jun 3 19:05:30 2000 Michael Meissner <meissner@redhat.com> |
| |
| * ifcvt.c (process_insns): If IFCVT_MODIFY_INSN is defined, call |
| it with the pattern to do machine dependent work. |
| (cond_exec_process_if_block): If IFCVT_MODIFY_TESTS is defined, |
| use it to modify the true/false tests used in conditional |
| execution. If IFCVT_MODIFY_FINAL and IFCVT_MODIFY_CANCEL are |
| defined, invoke them if the conversion to conditional execution |
| was successful or not. |
| |
| * tm.texi (IFCVT_MODIFY_TESTS): Document. |
| (IFCVT_MODIFY_INSN): Ditto. |
| (IFCVT_MODIFY_FINAL): Ditto. |
| (IFCVT_MODIFY_CANCEL): Ditto. |
| |
| Sat Jun 3 15:26:13 2000 Matt Kraai <kraai@alumni.carnegiemellon.edu> |
| |
| * toplev.c (main): Fix misspellings of possibility and language. |
| |
| 2000-06-03 Richard Henderson <rth@cygnus.com> |
| |
| * alias.c (record_alias_subset): Initialize has_zero_child in the |
| superset. |
| |
| 2000-06-03 Richard Earnshaw (rearnsha@arm.com) |
| |
| * arm.md (untyped_call): Use GEN_CALL macro. |
| |
| 2000-06-02 Pekka Nikander <pnr@teldanex.tcm.hut.fi> |
| |
| * Makefile.in: Use $(MAKE) not "make" |
| |
| Fri Jun 2 19:31:03 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * alias.c (struct alias_set_entry): New field has_zero_child. |
| (mem_in_disjoint_alias_sets_p): Return 0 if set in either ase. |
| (get_alias_set): If language-dependent routine set TYPE_ALIAS_SET, |
| do nothing. |
| Call record_component_aliases for aggregate types. |
| (record_alias_subset): Set has_zero_child. |
| (record_component_aliases, case ARRAY_TYPE): Do nothing if |
| TYPE_NONALIASES_COMPONENT. |
| (record_component_aliases, case RECORD_TYPE): Test |
| DECL_NONADDRESSABLE_P. |
| * c-decl.c (grokdeclarator): Set DECL_NONADDRESSABLE_P instead |
| of TREE_ADDRESSABLE. |
| * calls.c (initialize_argument_information): Only test |
| TYPE_TRANSPARENT_UNION for UNION_TYPE. |
| * function.c (assign_parms): Likewise. |
| * integrate.c (function_cannot_inline_p): Likewise. |
| * stor-layout.c (finish_record_layout): Don't call |
| record_component_aliases. |
| * tree.h (struct tree_int_cst): Use struct tree_common. |
| (struct tree_real_cst, struct tree_string): Likewise. |
| (struct tree_complex, struct tree_identifier): Likewise. |
| (struct tree_list, struct tree_vec, struct tree_exp): Likewise. |
| (struct tree_block, struct tree_type, struct tree_decl): Likewise. |
| (TYPE_TRANSPARENT_UNION): Use UNION_TYPE_CHECK. |
| (TYPE_NONALIASES_COMPONENT): New macro. |
| (TYPE_AMBIENT_BOUNDEDNESS): Use FUNCTION_TYPE_CHECK. |
| (DECL_NONADDRESSABLE_P): New macro. |
| (struct tree_decl): Reorder bits for clarity of how many left; |
| add non_adressable. |
| |
| 2000-06-02 Jason Merrill <jason@casey.soma.redhat.com> |
| |
| * Makefile.in (libgcc.a): Also depend on $(LIB2ADD). |
| * mklibgcc.in (force): New target. |
| Make LIB2ADD stuff depend on it. |
| |
| 2000-06-02 Richard Henderson <rth@cygnus.com> |
| |
| * alias.c (lang_get_alias_set): Remove. |
| (get_alias_set): Call it directly, not indirectly. |
| * c-common.c (lang_get_alias_set): Rename from c_get_alias_set. |
| * c-common.h (c_get_alias_set): Don't declare. |
| * c-decl.c (init_decl_processing): Don't set lang_get_alias_set. |
| * expr.h (lang_get_alias_set): Declare as function, not pointer. |
| |
| 2000-06-02 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/server.c(sig_handler): resume closing server on SIGPIPE |
| (server_setup): define the server's master pid |
| (close_server): actually do the deed IFF we are the server's master |
| |
| 2000-06-02 Jakub Jelinek <jakub@redhat.com> |
| |
| * c-common.c (c_get_alias_set): Check whether signed_type did not |
| return its argument before calling get_alias_set on the result. |
| |
| 2000-06-02 Andrew MacLeod <amacleod@cygnus.com> |
| |
| * expr.c (emit_group_load): Fix typo, GET_MODE not GET_CODE. |
| |
| Fri Jun 2 00:22:52 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * sh.h (CPP_SPEC): Add -D__NOMACSAVE__ for -mnomacsave. |
| (CONDITIONAL_REGISTER_USAGE): Mac registers are call used |
| for TARGET_NOMACSAVE. |
| (NOMACSAVE_BIT): Define. |
| (TARGET_NOMACSAVE): Define. |
| (TARGET_SWITCHES): Add "nomacsave". |
| |
| 2000-06-02 Toshiyasu Morita <toshi.morita@sega.com> |
| |
| * sh.md (untyped_call): Remove excess parameters |
| |
| 2000-06-01 Loren J. Rittle <ljrittle@acm.org> |
| |
| * fixinc/inclhack.def (osf_namespace_a): Relax expression to |
| match that used before the conversion to c_fix style. |
| * fixinc/fixincl.x: regenerate |
| |
| 2000-06-01 Stan Cox <scox@cygnus.com> |
| |
| * varray.h (VARRAY_PUSH_GENERIC_PTR, VARRAY_PUSH_CHAR_PTR): Fix |
| macro argument typo. |
| |
| 2000-06-01 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplex.c (maybe_macroexpand): Use CPP_WTRADITIONAL. Improve |
| error message. |
| * cpplib.c (parse_include): Remove support for VAX-C |
| "#include starlet" misfeature. |
| |
| 2000-05-31 Laurynas Biveinis <lauras@softhome.net> |
| |
| * cppfiles.c: conditionally define O_BINARY. |
| (open_include_file): pass O_BINARY to open(). |
| |
| 2000-06-01 Richard Henderson <rth@cygnus.com> |
| |
| * i960.c (i960_br_predict_opcode): Remove. |
| (i960_print_operand) [+]: Emit branch prediction hints. |
| (i960_function_arg): Return early for VOIDmode. |
| (i960_round_align): Return early for incomplete types. |
| * i960.h (PRINT_OPERAND_PUNCT_VALID_P): New. |
| * i960.md (all conditional branches): Add "%+". |
| |
| Thu Jun 1 12:24:21 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * alias.c (get_alias_set): Don't call language-specific routine more |
| than is needed and clean up code a bit. |
| * c-common.c (c_get_alias_set): All references whose type |
| is char get alias set 0, but character types need not. |
| * varasm.c (make_function_rtl): Don't call set_mem_attributes. |
| (make_decl_rtl): Don't call it for FUNCTION_DECL. |
| |
| 2000-06-01 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/tests/base/...: new base result files |
| |
| Thu Jun 1 09:37:35 2000 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * config/i386/i386.c (ix86_use_fcomi_compare): Make global. |
| * config/i386/i386-protos.h (ix86_use_fcomi_compare): Declare. |
| * config/i386/i386.md (*fp_jcc_3, *fp_jcc_4): Disable if we |
| will use FCOMI. |
| |
| 2000-06-01 Richard Henderson <rth@cygnus.com> |
| |
| * Makefile.in (c-decl.o): Depend on $(EXPR_H), not expr.h. |
| |
| * c-decl.c (init_decl_processing): Set lang_get_alias_set first thing. |
| |
| 2000-05-31 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64.c (sdata_symbolic_operand): Consider small |
| CONSTANT_POOL_ADDRESS_P addresses for .sdata. |
| * config/ia64/sysv4.h (SELECT_RTX_SECTION): New. |
| |
| 2000-05-31 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64-protos.h (ia64_expand_prediction): Remove. |
| * config/ia64/ia64.c (ia64_expand_prediction): Move code ... |
| (ia64_print_operand) [+]: ... here. Use current_output_insn. |
| * config/ia64/ia64.h (PRINT_OPERAND_PUNCT_VALID_P): New. |
| * config/ia64/ia64.md (all branch/call patterns): Use %+. |
| |
| 2000-05-31 Richard Henderson <rth@cygnus.com> |
| |
| * ifcvt.c (cond_exec_process_insns): Don't ever ignore clobbers. |
| |
| 2000-05-31 Richard Henderson <rth@cygnus.com> |
| |
| * ifcvt.c (merge_if_block): Be prepared for JOIN to have no |
| remaining edges. |
| (find_if_block): Allow THEN with no outgoing edges. |
| * flow.c (merge_blocks_nomove): Remove a barrier not following |
| a jump as well. |
| |
| 2000-05-31 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (propagate_block): Move initialization of mem_set_list ... |
| (init_propagate_block_info): ... here. Also track blocks with |
| no successors; don't scan insns if ! PROP_SCAN_DEAD_CODE. |
| |
| 2000-05-31 Richard Henderson <rth@cygnus.com> |
| |
| * jump.c (jump_optimize_1): Revert 05-18 change. |
| |
| 2000-05-31 Mark Mitchell <mark@codesourcery.com> |
| |
| * invoke.texi: Remove documentation for -fguiding-decls. |
| |
| 2000-05-31 Richard Henderson <rth@cygnus.com> |
| |
| * configure.in: Fix typo last change. |
| |
| 2000-05-31 Philipp Thomas <pthomas@suse.de> |
| |
| * configure.in (enable-nls): Enable if build == host, i.e. when |
| not building a canadian cross compiler. |
| (enable-maintainer-mode): Added for use with i18n. |
| * aclocal.m4 (AM_GNU_GETTEXT): Only build catalogs that are a |
| cross section of ALL_LINGUAS and LINGUAS. |
| * configure: Rebuild. |
| |
| 2000-05-31 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/check.tpl: rework to use test result tree |
| * fixinc/Makefile.in: change invocation of check script |
| * fixinc/check.diff: No longer needed |
| * fixinc/fixincl.x: regenerate |
| * fixinc/inclhack.def: add new tests |
| * fixinc/tests/base/arch/i960/archI960.h: New test result |
| * fixinc/tests/base/curses.h: modified test result |
| * fixinc/tests/base/stdio.h: ditto |
| * fixinc/tests/base/time.h: ditto |
| * fixinc/tests/base/sys/asm.h: ditto |
| * fixinc/tests/base/sys/stat.h: ditto |
| * fixinc/tests/base/sys/wait.h: ditto |
| |
| Wed May 31 13:17:20 2000 Philippe De Muyter <phdm@macqel.be> |
| |
| * except.c (clear_function_eh_region): Do not free NULL. |
| |
| Wed May 31 08:07:52 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * Makefile.in (c-decl.o): Depend on rtl.h and expr.h. |
| * alias.c (struct alias_entry): alias_set is HOST_WIDE_INT. |
| (REG_BASE_VALUE): Remove unneeded cast to unsigned. |
| (get_alias_set_entry): ALIAS_SET arg is HOST_WIDE_INT. |
| (find_base_decl): New function, from c_find_base_decl in c-common.c. |
| (new_alias_set): Moved from tree.c; return is HOST_WIDE_INT. |
| (get_alias_set): Likewise. |
| Major rework to do more things and allow language-specific code |
| to just handle special-cases. |
| (record_alias_subset): Args are HOST_WIDE_INT. |
| (record_component_alias): Local vars are HOST_WIDE_INT. |
| Don't handle COMPLEX_EXPR. |
| (get_varargs_alias_set): Moved from builtins.c. |
| (get_frame_alias_set): New function. |
| * builtins.c (expand_builtin_return_address): Use frame alias set. |
| (expand_builtin_setjmp, expand_builtin_longjmp): Use alias set |
| for setjmp buffer. |
| (get_memory_rtx): Rework to use set_mem_attributes. |
| (get_varargs_alias_set): Deleted from here. |
| * c-common.c (c_apply_type_quals_to_decl): Alias sets now HOST_WIDE_INT. |
| (c_find_base_decl): Deleted from here. |
| (c_get_alias_set): Remove many cases and rework to just handle |
| C-specific cases. |
| * c-common.h (c_get_alias_set): Returns HOST_WIDE_INT. |
| * c-decl.c (rtl.h, expr.h): Now included. |
| (init_decl_processing): Call record_component_aliases on array types. |
| (grokdeclarator): Likewise. |
| Set TREE_ADDRESSABLE for all fields that are not bitfields. |
| * c-typeck.c (common_type): Call record_component_aliases for array. |
| * caller-save.c (setup_save_areas): Rework register loop for unsigned. |
| Set all save areas to the frame alias set. |
| * calls.c (initialie_argument_information): Call set_mem_attributes. |
| (compute_argument_addresses, expand_call): Likewise. |
| * explow.c (set_mem_attributes): New function. |
| (stabilize): Use MEM_COPY_ATTRIBUTES and force_reg. |
| * expr.c (struct move_by_pieces): Remove {to,from}_{struct,readonly}. |
| LEN and OFFSET now HOST_WIDE_INT. |
| (clear_by_pieces): Similar changes. |
| (move_by_pieces): LEN now HOST_WIDE_INT; don't set deleted fields. |
| (move_by_pieces_ninsns): Now returns unsigned HOST_WIDE_INT. |
| (move_by_pieces_1): Don't use deleted fields, use MEM_COPY_ATTRIBUTES. |
| (clear_by_pieces_1): Likewise. |
| (emit_push_insn): Call set_mem_attributes. |
| (expand_expr, case INDIRECT_REF): Likewise. |
| (expand_expr, case VAR_DECL): Call change_address. |
| * expr.h (ADD_PARM_SIZE, SUB_PARM_SIZE): Use host_integerp and |
| tree_low_cst. |
| (get_varargs_alias_set, get_frame_alias_set): New decls. |
| (record_base_value, record_alias_subset, lang_get_alias_set): Likewise. |
| (new_alias_set, set_mem_attributes): Likewse. |
| * function.c (struct temp_slot): ALIAS_SET is HOST_WIDE_INT. |
| (assign_stack_temp_for_type): Likewise. |
| Can split slot even if alias set since can copy. |
| Set MEM_ALIAS_SET and MEM_SET_IN_STRUCT_P. |
| (assign_temp): Use host_integerp and tree_low_cst. |
| (put_var_into_stack): Properly handle SAVE_EXPR. |
| (put_addressof_into_stack): Likewise. |
| (assign_parms): Call set_mem_attributes. |
| Delete #if 0 code. |
| (fix_lexical_address): Put reference to chain into frame alias set. |
| (expand_function_start): Call set_mem_attributes. |
| * integrate.c (expand_inline_function): Likewise. |
| * recog.c (adj_offsettable_operand): Use MEM_COPY_ATTRIBUTES. |
| * regmove.c (try_apply_stack_adjustment): Likewise. |
| * reload.c (push_reload, make_memloc): Likewise. |
| * reload1.c (alter_reg): Make alias sets for spilled pseudos. |
| * rtl.def (MEM): Update comment. |
| * rtl.h (MEM_ALIAS_SET): Now uses XCWINT. |
| (move_by_pieces): Change length to HOST_WIDE_INT. |
| (record_base_value, record_alias_subset): Delete from here. |
| * stmt.c (expand_decl): Call set_mem_attributes. |
| * stor-layout.c (finish_record_layout): Call record_component_aliases.i |
| * toplev.c (compile_file): Call init_alias_once earlier. |
| * tree.c (lang_get_alias_set, get_alias_set, new_alias_set): Deleted |
| from here: now in alias.c. |
| * tree.h (struct tree_type): alias_set is HOST_WIDE_INT. |
| (struct tree_decl): Likewise. |
| (get_alias_set, new_alias_set, lang_get_alias_set): Deleted from here. |
| * varasm.c (make_function_rtl, make_decl_rtl): Call set_mem_attributes. |
| (output_constant_def, force_const_mem): Likewise. |
| |
| * flow.c (propagate_block): If block has no successors, stores to |
| frame are dead if not used. |
| |
| 2000-05-31 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * stmt (expand_end_case): Reorder conversion sequence for jump |
| table to avoid extra truncations. |
| |
| Wed May 31 01:31:42 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * ifcvt.c (cond_exec_process_if_block): Do nothing if the last insn |
| in the block is more than just a simple conditional branch. |
| (noce_process_if_block): Similarly. |
| |
| Tue May 30 22:25:57 2000 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * optabs.c (prepare_float_lib_cmp): Protect *px and *py from |
| queue. |
| |
| 2000-05-30 Michael Meissner <meissner@redhat.com> |
| |
| * dwarf2out.c (dwarf2out_frame_debug_expr): Ignore HIGH |
| instructions. Treat LO_SUM operations as loading the full integer |
| constant. |
| |
| 2000-05-30 Richard Henderson <rth@cygnus.com> |
| |
| * combine.c (get_pos_from_mask): Test exact_log2 result as signed. |
| |
| 2000-05-30 Richard Henderson <rth@cygnus.com> |
| |
| * bb-reorder.c (emit_jump_to_block_after): Protect use of HAVE_return. |
| |
| 2000-05-30 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/tests/*: Added expected result files for fixinc's make check |
| * fixinc/fixfixes(char_macro_*_fix): Restore original algorithm |
| |
| 2000-05-30 Richard Henderson <rth@cygnus.com> |
| |
| * config/alpha/alpha.md (*setne_internal): Use match_operator |
| instead of working down from insn. |
| |
| 2000-05-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * invoke.texi (-Wtraditional): Update WRT function macros. |
| |
| Tue May 30 09:57:32 2000 Philippe De Muyter <phdm@macqel.be> |
| |
| * except.c (free_exception_table): Do not free NULL. |
| |
| 2000-05-29 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplib.c (do_if): Don't save and restore only_seen_white here. |
| * cppexp.c (_cpp_parse_expr): Save and restore only_seen_white |
| and skipping here. |
| |
| 2000-05-29 Richard Earnshaw (rearnsha@arm.com) |
| |
| * flow.c (mark_used_reg): If a register is unconditionally live, |
| remove any conditional death information. |
| |
| 2000-05-29 Richard Henderson <rth@cygnus.com> |
| |
| * final.c (current_output_insn): New. |
| (final_scan_insn): Set it. |
| * output.h: Declare it. |
| |
| 2000-05-29 Richard Henderson <rth@cygnus.com> |
| |
| * stor-layout.c (finalize_record_size): Fix typo. |
| |
| * jump.c (redirect_jump): Don't emit NOTE_INSN_FUNCTION_END |
| if nlabel is null. |
| |
| 2000-05-29 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplib.h (cpp_reader): Remove if_stack. Change |
| potential_control_macro to a cpp_hashnode *. Add skipping flag. |
| * cpphash.h (struct ihash): Change control_macro to a |
| cpp_hashnode * and shorten name to cmacro. |
| Add NEVER_REINCLUDE constant. |
| |
| * cppfiles.c (redundant_include_p): Drop cpp_reader argument. |
| Examine the cmacro node directly, no need to call cpp_defined. |
| (_cpp_execute_include, read_include_file): Set cmacro to |
| NEVER_REINCLUDE, not U"". |
| * cpplex.c (cpp_push_buffer): Don't set new->if_stack. |
| (cpp_get_token): If pfile->skipping is true, discard text and |
| keep scanning until we hit a directive; don't expand macros. |
| |
| * cpplib.c (struct if_stack): Remove if_succeeded, add |
| was_skipping. Change control_macro to a cpp_hashnode * and |
| shorten name to cmacro. Remove typedef IF_STACK. |
| (parse_ifdef), detect_if_not_defined): Return a cpp_hashnode *. |
| (conditional_skip, skip_if_group, |
| consider_directive_while_skipping): Delete. |
| (push_conditional): New. |
| (_cpp_handle_directive): Don't process directives other than |
| conditionals if we are skipping. |
| |
| (do_ifdef, do_ifndef, do_if, do_else, do_elif, do_endif): |
| Update to new scheme. |
| (validate_else): Skip rest of line here, unconditionally. |
| (_cpp_unwind_if_stack): The stack is per-buffer. Force |
| pfile->skipping off. |
| |
| (all): Remove `scare quotes' from error messages. |
| |
| 2000-05-29 Richard Henderson <rth@cygnus.com> |
| |
| * function.c (emit_return_into_block): New line_note arg; emit it. |
| (thread_prologue_and_epilogue_insns): Attempt to locate a line note |
| for the close brace to accompany HAVE_return. Move all line notes |
| following the epilogue to before the NOTE_INSN_EPILOGUE_BEG. |
| |
| 2000-05-29 Richard Henderson <rth@cygnus.com> |
| |
| * longlong.h [__alpha] (count_leading_zeros): New. |
| (count_trailing_zeros): New. |
| (COUNT_LEADING_ZEROS_0): New. |
| |
| * config/alpha/alpha.c (alpha_zero_comparison_operator): New. |
| (alpha_split_conditional_move): New. |
| * config/alpha/alpha-protos.h: Prototype them. |
| * config/alpha/alpha.h (PREDICATE_CODES): Update. |
| (CPP_CPU_DEFAULT_SPEC): Fix typo for EV67. |
| * config/alpha/alpha.md: Update ffs cix commentary. |
| (*ze_and_ne): New. |
| (*nabssf2, *nabsdf2): New. |
| (*mov[qhsd]icc_internal): Use add_operand. |
| (if_then_else constant splitters): New. |
| (*cmp_sadd_di, *cmp_sadd_si, *cmp_sadd_sidi): New. |
| (*cmp_ssub_di, *cmp_ssub_si, *cmp_ssub_sidi): New. |
| |
| 2000-05-29 Richard Henderson <rth@cygnus.com> |
| |
| * combine.c (force_to_mode) [MINUS]: Convert subtraction from |
| a constant to NEG or NOT when conditions allow. |
| |
| * combine.c (combine_simplify_rtx): Don't create an if_then_else |
| unless both args are general_operand. Don't canonicalize plus |
| to ior unless it helps. |
| |
| * toplev.c (rest_of_compilation): Set no_new_pseudos after flow1; |
| instead track register_life_up_to_date. Toggle no_new_pseudos |
| around if_convert. |
| |
| 2000-05-28 Geoff Keating <geoffk@cygnus.com> |
| |
| * config/rs6000/rs6000.c (output_cbranch): Escape '%' characters |
| so output_operand doesn't see them. |
| |
| Sun May 28 18:37:07 2000 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * lcm.c (make_preds_opaque): Fix comment. |
| (optimize_mode_switching): Use NORMAL_MODE instead of |
| MODE_USES_IN_EXIT_BLOCK. Change leftover instance of |
| FP_MODE_NONE to no_mode. Rename MODE_AT_ENTRY to NORMAL_MODE. |
| Handle insertions before an existing NOTE_INSN_BASIC_BLOCK. |
| * tm.texi (OPTIMIZE_MODE_SWITCHING): Refer to NORMAL_MODE. |
| (MODE_USES_IN_EXIT_BLOCK): Delete. |
| (MODE_AT_ENTRY) Rename to NORMAL_MODE. |
| * sh.h (MODE_USES_IN_EXIT_BLOCK): Delete. |
| (MODE_AT_ENTRY): Rename to NORMAL_MODE. |
| (MODE_NEEDED): Don't look for USE. |
| (EPILOGUE_USES): Define. |
| |
| Sun May 28 23:26:59 2000 Philippe De Muyter <phdm@macqel.be> |
| |
| * mklibgcc.in (all): Variable initialized to `libgcc'. |
| |
| 2000-05-28 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * toplev.h (skip_leading_substring): New macro. |
| * toplev.c (decode_f_option): Use skip_leading_substring instead |
| of strncmp. |
| (decode_W_option): Likewise. |
| |
| 2000-05-28 Nick Clifton <nickc@cygnus.com> |
| |
| * tm.texi (CONDITIONAL_REGISTER_USAGE): Document that it can |
| modify reg_names. |
| |
| 2000-05-28 Richard Henderson <rth@cygnus.com> |
| |
| * regclass.c (record_operand_costs): Protect reg_changes_size |
| with CLASS_CANNOT_CHANGE_SIZE. |
| |
| * loop.c (instrument_loop_bct): Set JUMP_LABEL on the new insn. |
| |
| 2000-05-28 Richard Henderson <rth@cygnus.com> |
| |
| * function.c (diddle_return_value): A pcc-style struct return |
| returns a pointer. |
| |
| 2000-05-27 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppfiles.c: Read files in, using mmap if possible, then |
| prescan them separately. |
| (read_file, read_with_read): New functions. |
| * cpplex.c: Don't define UCHAR_MAX. |
| (_cpp_read_and_prescan): Rename to _cpp_prescan. Don't read |
| the file here. |
| |
| * cppinit.c (handle_option): Automatically define __cplusplus, |
| __OBJC__, __ASEEMBLER__, _LANGUAGE_FORTRAN here when we see |
| the respective -lang switch. |
| |
| * cpphash.h (enum node_type, struct hashnode, _cpp_lookup |
| prototype): Move to... |
| * cpplib.h: ... here. Rename struct hashnode to struct |
| cpp_hashnode and give it a typedef. Rename _cpp_lookup to |
| cpp_lookup. Add 'fe_value' slot, a union tree_node *. |
| |
| 2000-05-27 Geoffrey Keating <geoffk@cygnus.com> |
| |
| * config/rs6000/rs6000.md (movsi): Constify 'name'. |
| |
| * regclass.c [CLASS_CANNOT_CHANGE_SIZE] |
| (class_can_change_size): New variable. |
| (reg_changes_size): New variable. |
| (init_reg_sets_1): Initialize class_can_change_size. |
| (record_operand_costs): Remove subreg_changes_size. |
| Don't pass it around. Instead update reg_changes_size. |
| (regclass): Initialize and free reg_changes_size. If a register |
| changes size, don't preference it to a class that contains |
| registers that can't change size. |
| (record_reg_classes): Don't look at subreg_changes_size. |
| |
| 2000-05-27 Richard Henderson <rth@cygnus.com> |
| |
| * print-rtl.c (reg_names): Remove const. |
| * regclass.c (reg_names): Likewise. |
| * regs.h (reg_names): Likewise. |
| * hard-reg-set.h (reg_names): Likewise. |
| |
| 2000-05-27 Richard Henderson <rth@cygnus.com> |
| |
| * config/rs6000/rs6000.md (untyped_call): Use GEN_CALL. |
| |
| 2000-05-27 Richard Henderson <rth@cygnus.com> |
| |
| * config/alpha/alpha.c (alpha_does_function_need_gp): Test |
| TARGET_PROFILING_NEEDS_GP in the if, instead of with an ifdef. |
| (alpha_expand_prologue): Emit prologue_mcount if needed. |
| * config/alpha/alpha.h (TARGET_PROFILING_NEEDS_GP): Default to 0. |
| * config/alpha/alpha.md (prologue_mcount): New. |
| * config/alpha/linux.h (FUNCTION_PROFILER): Remove. |
| (TARGET_PROFILING_NEEDS_GP): Undef before redefining. |
| * config/alpha/netbsd.h: Likewise. |
| |
| 2000-05-27 Richard Henderson <rth@cygnus.com> |
| |
| * config/alpha/elf.h (SELECT_SECTION): Mirror Kenner's May 19 |
| change to config/elfos.h. |
| |
| 2000-05-27 Richard Henderson <rth@cygnus.com> |
| |
| * Makefile.in (resource.o): Depend on except.h. |
| * except.h (output_exception_table_data): Prototype. |
| * genconfig.c (gen_peephole2): Prototype. |
| * genemit.c (main): Include ggc.h. |
| * genoutput.c: Revert parts of last change: include errors.h |
| (main): Set progname. |
| * recog.c: Include hard-reg-set.h before recog.h. |
| * resource.c: Include except.h. |
| |
| * config/alpha/alpha-protos.h (alpha_arg_info_reg_val): Protect |
| with RTX_CODE. |
| (alpha_write_linkage): Protect with BUFSIZ. |
| (alpha_need_linkage): Update prototype. |
| * config/alpha/alpha.c (function_arg): Move VMS code here. |
| (alpha_links_base): Remove. |
| (alpha_links): New. |
| (mark_alpha_links_node, mark_alpha_links): New. |
| (alpha_write_one_linkage): New. |
| (alpha_need_linkage): Use a splay tree. Build the linkage symbol. |
| (alpha_write_linkage): Use splay_tree_foreach. |
| * config/alpha/alpha.md (call_vms): Use alpha_need_linkage |
| to get the linkage symbol. |
| (call_value_vms): Likewise. |
| * config/alpha/elf.h (output_file_directive): Remove decl. |
| (ctors_section, dtors_section): Prototype. |
| (sbss_section, sdata_section): Prototype. |
| * config/alpha/vms.h (FUNCTION_ARG): Remove. |
| (readonly_section, link_section, literals_section): Prototype. |
| (ctors_section, dtors_section): Prototype. |
| (vms_valid_decl_attribute_p): Remove decl. |
| (alpha_arg_type, alpha_arg_info_reg_val): Likewise. |
| |
| 2000-05-27 Geoff Keating <geoffk@cygnus.com> |
| |
| * reload.c (get_secondary_mem): Don't widen floating-point modes. |
| |
| * combine.c (subst): Honor CLASS_CANNOT_CHANGE_SIZE when |
| substituting the REG in a (subreg:X (reg:Y ...)). |
| |
| 2000-05-28 Neil Booth <NeilB@earthling.net> |
| |
| * cpplex.c (_cpp_lex_line): Merge vertical space. Flag |
| first token of a line BOL. Update EOF code for this. |
| Remove illegal directive check - it appears in the (not |
| yet committed) caller. |
| * cpplib.h (BOL): New flag. |
| |
| 2000-05-28 Neil Booth <NeilB@earthling.net> |
| |
| * cpplex.c (_cpp_init_toklist): No comment space to initialize. |
| (_cpp_free_toklist): No comment space to free. |
| (expand_comment_space): Remove. |
| (save_comment_space): Place the comment in the current token and |
| not in a separate comment space. |
| (_cpp_lex_line): Save comments during plain code and #define |
| directives only. |
| * cpplib.h (struct _cpp_toklist): Remove comment space. |
| |
| 2000-05-28 Neil Booth <NeilB@earthling.net> |
| |
| * cppexp.c (parse_assertion): Supply extra argument to |
| _cpp_init_toklist. |
| * cpplib.c (do_assert, do_unassert): Similarly. |
| * cpphash.h (_cpp_init_toklist) Update. |
| (_cpp_expand_token_space): New. |
| (DUMMY_TOKEN, NO_DUMMY_TOKEN): New. |
| * cpplex.c (_cpp_init_toklist): New argument. |
| (parse_string2): New argument multiline_ok. |
| (spell_token): Take a const cpp_token *. |
| (INIT_NAME): Replace with INIT_TOKEN_NAME. Update tokens_used. |
| (SPELL_ macros): Replace with enum. |
| (expand_token_space): Replace with _cpp_expand_token_space. |
| Take COUNT argument. |
| (IS_DIRECTIVE): Update. |
| (_cpp_lex_line): Update token structure before parsing number. |
| Don't assume start at beginning of token list. |
| (save_comment): Use INIT_TOKEN_NAME. |
| |
| 2000-05-27 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * configure.in (stage1_warn_cflags): Add -Wstrict-prototypes |
| -Wmissing-prototypes. |
| * configure: Regenerate. |
| * gcc.texi: Remove explanation of MD_CALL_PROTOTYPES. |
| |
| * builtins.c, calls.c: Change all instances of gen_call_* or |
| gen_sibcall_* to GEN_CALL_* and GEN_SIBCALL_*. |
| * calls.c (struct_value_size_rtx): Separate definition from |
| initialization to avoid unused variable warning. |
| |
| * genflags.c (gen_macro): New function. |
| (gen_proto): Call it for gen_call_* and gen_sibcall_*. |
| (gen_nonproto): Delete. |
| (gen_insn): Put all insns on the same obstack. |
| (main): Generate prototypes for everything unconditionally. |
| |
| * configure.in: Add AC_CHECK_TYPE(ssize_t). Remove commented |
| out check for wchar_t. |
| * acconfig.h: Add template for ssize_t. Remove @TOP@. |
| * system.h: Add infrastructure for defining missing |
| TYPE_MAX/TYPE_MIN macros. Use it to provide fallback |
| definitions of UCHAR_MAX and SSIZE_MAX. |
| * configure: Regenerate. |
| * config.in: Regenerate. |
| |
| * Makefile.in (libgcc2.ready): Rename to libgcc.ready. |
| Depend on $(LANGUAGES) as well as $(GCC_PATCHES) and fixed |
| headers. |
| (clean): No need to delete libgcc1.a, libgcc1-asm.a, |
| libgcc2.a, or libgcc1.null. |
| |
| 2000-05-27 Richard Henderson <rth@cygnus.com> |
| |
| * Makefile.in (recog.o): Don't depend on resource.h. |
| * recog.c: Don't include resource.h. |
| (recog_last_allowed_insn): Remove. |
| (recog_next_insn): Remove. |
| (struct peep2_insn_data): New. |
| (peep2_insn_data, peep2_current): New. |
| (peep2_next_insn): New. |
| (peep2_regno_dead_p, peep2_reg_dead_p): New. |
| (peep2_find_free_register): New. |
| (peephole2_optimize): Track life information by insn as we go. |
| * recog.h: Update declarations. |
| * resource.c (find_free_register, reg_dead_p): Remove. |
| * resource.h: Remove their declarations. |
| * toplev.c: Include hard-reg-set.h before recog.h. |
| |
| * genconfig.c (max_insns_per_peep2): New. |
| (gen_peephole2): New. |
| (main): Call it. |
| * genemit.c (output_peephole2_scratches): Generate calls to |
| peep2_find_free_register; adjust surrounding code. |
| (main): Have insn-emit.c include hard-reg-set.h before recog.h. |
| * genrecog.c (change_state): Don't track last_insn. |
| (write_action): Write into *_pmatch_len before accepting. |
| (write_tree): Adjust peephole2_insns and subroutines to match. |
| |
| * config/i386/i386.md (all peepholes): Use peep2_regno_dead_p. |
| |
| * config/alpha/alpha.c (hard_fp_register_operand): Mind the mode. |
| (hard_int_register_operand): New. |
| * config/alpha/alpha-protos.h: Declare it. |
| * config/alpha/alpha.h (PREDICATE_CODES): Update. |
| * config/alpha/alpha.md (peep2 patterns): Use hard_int_register_operand |
| as needed; use peep2_reg_dead_p instead of dead_or_set_p. |
| |
| 2000-05-27 Richard Henderson <rth@cygnus.com> |
| |
| * function.c (thread_prologue_epilogue_insns): Don't move the |
| line note at the head of the chain. Only force a lineno note |
| before the end of block 0. |
| |
| 2000-05-27 Richard Henderson <rth@cygnus.com> |
| |
| * gensupport.c (collect_insn_data): Record the maximum number |
| of alternatives, not the last seen. |
| |
| * genoutput.c: Don't include errors.h. |
| (struct data): Add lineno member. |
| (have_error): New. |
| (scan_operands): Use message_with_line instead of error. |
| (validate_insn_alternatives): Likewise. |
| (gen_insn): Accept and store the pattern's line number. |
| (gen_peephole, gen_expand, gen_split): Likewise. |
| (main): Don't set progname. Pass line_no to gen_foo. |
| |
| 2000-05-27 Richard Henderson <rth@cygnus.com> |
| |
| * config/d30v/d30v.c (d30v_print_operand): Handle ':'. |
| * config/d30v/d30v.h (PRINT_OPERAND_PUNCT_VALID_P): Accept ':'. |
| * config/d30v/d30v.md (attr predicable): New. |
| (all insn patterns): Mark non-predicable patterns; use %: on the rest. |
| (andsi3*): Unify into one pattern. |
| (iorsi3*, xorsi3*): Likewise. |
| (peephole2 patterns): Use peep2_reg_dead_p; verify not a |
| conditional return. |
| (old cond_exec patterns): Remove. |
| (define_cond_exec): New. |
| |
| Sat May 27 11:01:27 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * tree.h (TREE_CODE_LENGTH): New macro. |
| * c-common.c (c_find_base_decl): Use it. |
| * expr.c (safe_from_p): Likewise. |
| * print-tree.c (print_node): Likewise. |
| * tree.c (make_node, copy_node, get_identifier): Likewie. |
| (first_rtl_op, contains_placeholder_p, substitute_in_expr): Likewise. |
| (build, build_nt, build_parse_node, simple_cst_equal): Likewise. |
| * fold-const.c (make_range): Likewise. |
| (fold): Likewise; also use first_rtl_op. |
| * c-iterate.c (collect_iterators): Use first_rtl_op. |
| * calls.c (calls_function_1): Likewise; also rename TYPE to CLASS. |
| Use IS_EXPR_CODE_CLASS. |
| (preexpand_calls): Likewise. |
| * ggc-common.c (ggc_mark_trees): Rework to use first_rtl_op |
| and TREE_CODE_LENGTH. |
| * stmt.c (warn_if_unused_value): If no operands, no unused value. |
| |
| 2000-05-26 Geoffrey Keating <geoffk@cygnus.com> |
| |
| * config/rs6000/rs6000.md (movsi_internal1): Use '%a1' rather |
| than '%1(%*)'. |
| (movdi_internal64): Likewise. |
| |
| * config/rs6000/rs6000.md: Correct order of operands for DImode |
| boolean patterns. |
| |
| * config/rs6000/rs6000.c (boolean_or_operator): New function. |
| * config/rs6000/rs6000-protos.h (boolean_or_operator): Prototype it. |
| * config/rs6000/rs6000.h (PREDICATE_CODES): Add boolean_or_operator. |
| * config/rs6000/rs6000.md: Use boolean_or_operator instead of |
| boolean_operator for the boolean patterns without NOTs. |
| |
| * config/rs6000/rs6000.c (reg_or_logical_cint_operand): Rename |
| from reg_or_u_cint_operand. Change comment and behavior. |
| (logical_operand): Clean up, add assertion. |
| (non_logical_cint_operand): Also check for |
| reg_or_logical_cint_operand. |
| * config/rs6000/rs6000.h (PREDICATE_CODES): Update. |
| * config/rs6000/rs6000.md (iorsi3): Use reg_or_logical_cint_operand |
| in the expander. |
| (xorsi3): Likewise. |
| (iordi3): Likewise. |
| (xordi3): Likewise. |
| |
| 2000-05-26 Mark Mitchell <mark@codesourcery.com> |
| |
| * tree.h (struct record_layout_info): Rename to (struct |
| record_layout_info_s). |
| * stor-layout.c (start_record_layout): Replace |
| `record_layout_info' with `record_layout_info_s'. |
| |
| 2000-05-26 Richard Earnshaw <rearnsha@arm.com> |
| |
| * flow.c (find_label_refs): New function. |
| (find_basic_blocks_1): Call it for each alternative of a call |
| placeholder. |
| |
| 2000-05-26 Richard Earnshaw <rearnsha@arm.com> |
| |
| * ifcvt.c (cond_exec_get_condition): Set test_if to the SET_SRC |
| of get_pc. |
| |
| 2000-05-25 Richard Henderson <rth@cygnus.com> |
| |
| * config/alpha/alpha.c (alpha_comparison_operator): Don't be |
| so strict about DImode. |
| (alpha_swapped_comparison_operator): Likewise. |
| * config/alpha/alpha.md (*setne_internal): Name it. Allow |
| any integer output mode. |
| (*setcc_internal): Likewise. |
| (*setcc_swapped_internal): Likewise. |
| (*movdicc_internal, *movdicc_lbc, *movdicc_lbs): Name them. |
| (*mov[qhs]icc_internal): New. |
| (*mov[qhs]icc_lbc, *mov[qhs]icc_lbs): New. |
| |
| 2000-05-25 J. David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * vax.h (CPP_SPEC): Define __GFLOAT and GFLOAT when -mg is specified. |
| |
| 2000-05-25 Richard Henderson <rth@cygnus.com> |
| |
| * bb-reorder.c (reorder_block_def): Reorder elements for size. |
| Remove add_jump; add next; replace flags with visited. |
| (rbd_init): Remove. |
| (REORDER_BLOCK_HEAD, REORDER_BLOCK_VISITED): Remove. |
| (REORDER_BLOCK_FLAGS, REORDER_BLOCK_INDEX): Remove. |
| (REORDER_BLOCK_ADD_JUMP, REORDER_BLOCK_EFF_HEAD): Remove. |
| (REORDER_BLOCK_EFF_END, REORDER_BLOCK_SCOPE): Remove. |
| (RBI): New. |
| (reorder_index, reorder_last_visited): Remove. |
| (skip_insns_after_block): Rewrite to use a switch. |
| (get_common_dest): Remove. |
| (chain_reorder_blocks): Remove. |
| (record_effective_endpoints): Split out from reorder_basic_blocks. |
| (make_reorder_chain): Likewise. Loop until all blocks are placed. |
| (make_reorder_chain_1): Renamed from old make_reorder_chain. |
| Only construct the reorder chain, do not move insns. Try harder |
| to tail recurse. |
| (label_for_bb, emit_jump_to_block_after): New. |
| (fixup_reorder_chain): Use them. Do bulk block movement. Examine |
| and adjust the jump insns appropriately. Fixup basic_block_info. |
| (verify_insn_chain): Always define. |
| (relate_bbs_with_scopes): Call xmalloc, not xcalloc. Fix thinko |
| in allocation size. |
| (make_new_scope): Don't write zeros to calloc'd space. |
| (build_scope_forest): Rely on xrealloc to DTRT. |
| (reorder_basic_blocks): Don't build loop nest. Don't fail if |
| profile_arc_flag. Streamline EH test. |
| |
| * flow.c (redirect_edge_succ, redirect_edge_pred): New. |
| * basic-block.h: Declare them. |
| |
| 2000-05-25 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * emit-rtl.c (reset_used_decls): New function. |
| (unshare_all_rtl_again): Call it. |
| |
| 2000-05-25 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplex.c (maybe_macroexpand): Warn about function-like |
| macros used in non-function context, if -Wtraditional. |
| |
| 2000-05-25 Mark Mitchell <mark@codesourcery.com> |
| |
| * recog.c (peephole2_optimize): Use INSN_P. |
| |
| 2000-05-25 Richard Henderson <rth@cygnus.com> |
| |
| * ifcvt.c (seq_contains_jump): New. |
| (noce_try_store_flag_constants): Use it to fail conversion. |
| (noce_try_store_flag_inc, noce_try_store_flag_mask): Likewise. |
| |
| 2000-05-25 Mark Mitchell <mark@codesourcery.com> |
| |
| * except.h (can_throw): Declare it. |
| * except.c (can_throw): Give it external linkage. |
| * resource.c (find_dead_or_set_registers): Use can_throw. |
| |
| 2000-05-25 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (mark_set_1): Don't record conditionally dead memory. |
| |
| 2000-05-25 Jan Hubicka <jh@suse.cz> |
| |
| * combine.c (try_combine): Use any_condjump_p, any_uncondjump_p |
| and pc_set at the place of simplejump_p and condjump_p. |
| * cse.c (record_jump_equiv): Likewise. |
| * emit-rtl.c (emit): Likewise. |
| * explow.c (find_next_ref): Likewise. |
| * flow.c (tidy_fallthru_edge): Likewise. |
| (init_propagate_block_info): Likewise. |
| * gcse.c (delete_null_pointer_checks): Likewise. |
| * ifcvt.c (cond_exec_get_condition, noce_get_condition, |
| dead_or_predicable): Likewise. |
| * integrate.c (copy_insn_list): Likewise. |
| * loop.c (scan_loop, verify_dominator, find_and_verify_loops, |
| for_each_insn_in_loop, check_dbra_loop, get_condition, |
| insert_bct, load_mems): Likewise. |
| * resource.c (find_dead_or_set_registers): Likewise. |
| * sibcalls.c (simplejump_p): Likewise. |
| * unroll.c (copy_loop_body, reg_dead_after_loop): Likewise. |
| |
| 2000-05-25 David Edelsohn <edelsohn@gnu.org> |
| |
| * rs6000.c (expand_block_move): Add 64-bit PowerPC doubleword move |
| to STRING case. Use doubleword STRING move for TARGET_POWERPC64 |
| when unaligned. |
| * rs6000.h (CONST_OK_FOR_LETTER_P, 'J'): unsigned HOST_WIDE_INT. |
| (RETURN_ADDR_RTX): Use COUNT and FRAME, not count and frame. |
| (LEGITIMIZE_RELOAD_ADDRESS): unsigned HOST_WIDE_INT high. |
| * rs6000.md: Name various internal patterns. |
| |
| 2000-05-25 Jan Hubicka <jh@suse.cz> |
| |
| * jump.c (invert_exp_1): Remove first argument, use pc_set |
| to get the expression. |
| (redirect_exp): Make static; redirect only the pc_set expression, |
| remove first argument. |
| (invert_exp): Remove first argument, make static. |
| (jump_optimize): Use any_condjump_p, any_uncondjump_p and |
| any_onlyjump at most places where we originaly did condjump_p |
| and simplejump_p. |
| (jump_back_p, follow_jumps, thread_jumps): Likewise. |
| (delete_barrier_succesors): Use pc_set. |
| (invert_jump_1, invert_jump, redirect_jump_1, redirect_jump): Update |
| calls of invert_exp and redirect_exp. |
| * rtl.h (redirect_exp, invert_exp): Remove. |
| * unroll.c (copy_loop_body): Use invert_jump and redirect_jump. |
| |
| 2000-05-25 Richard Henderson <rth@cygnus.com> |
| |
| * stmt.c (expand_end_bindings): Fix thinko last change. |
| |
| 2000-05-25 Andrew MacLeod <amacleod@cygnus.com> |
| Andrew Haley <aph@cygnus.com> |
| |
| * except.c (func_eh_entry): Add emitted field. |
| (new_eh_region_entry): Set emitted field to 0; |
| (output_exception_table_entry): Only emit previously un-emitted data, |
| and send it to the eh_data section. |
| (output_exception_table): Break out common parts. Output |
| exception table for entire compilation unit to eh_data section. |
| (output_exception_table_data): Common parts of output_exception_table. |
| Send output to eh_data section. |
| (output_function_exception_table): Output exception table data for |
| a single function to eh_data section. |
| (free_exception_table): New external to free the table. |
| * except.h (free_exception_table): Add prototype. |
| (output_function_exception_table): Add prototype. |
| * final.c (final_end_function): Output function exception table |
| for IA64_UNWIND_INFO. |
| (final_scan_insn): Emit any unwind directives for an insn. |
| |
| * frame-dwarf2.c: New file containing all DWARF 2 specific code |
| from frame.c. |
| * frame.c: Remove all DWARF 2 specific code. |
| * config/ia64/frame-ia64.c: New file. |
| (gthread_stuff): Make all gthread available with |
| IA64_UNWIND_INFO. |
| (dwarf_fde): Define an IA64 struct for dwarf_fde. |
| (__register_frame_info, __register_frame): Move to common area of file. |
| (__register_frame_info_table, __register_frame_table): Move to common i |
| area. |
| (__deregister_frame_info, __deregister_frame): Move to common area. |
| (__frame_init, find_fde): New versions for IA64_UNWIND_INFO. |
| (read_uleb128): New version for ia64. |
| (get_unwind_record): Read the next IA-64 unwind record. |
| (read_R_record): Read a region header record. |
| (process_a_b_reg_code): X record helper. |
| (read_X_record): Read an X format record. |
| (read_B_record): Read a B format record. |
| (P3_record_types): List of record types matching the P3 format. |
| (P7_record_types): List of record types matching the P7 format. |
| (P8_record_types): List of record types matching the P8 format. |
| (read_P_record): Read a P format record. |
| (init_ia64_reg_loc): Set default fields for a register. |
| (init_ia64_unwind_frame): Set defaults for all register records. |
| (execute_one_ia64_descriptor): Execute one descriptor record. |
| (rse_address_add): Calculate the position of a local reg in memory. |
| (normalize_reg_loc): Turn a location descriptor into a memory address. |
| (maybe_normalize_reg_loc): Only normalize a descriptor if it falls |
| within a specified PC offset range. |
| (get_real_reg_value): Given a register location, retrieve its value. |
| (set_real_reg_value): Change the value of a register location. |
| (copy_reg_value): Copy reg values, if needed. |
| (copy_saved_reg_state): Copy all registers that need to be copied. |
| (process_state_between): Normalize all frame register records that |
| fall within the specified PC range. |
| (frame_translate): Take a processed frame description, and turn |
| everything into addresses. |
| (build_ia64_frame_state ): Find and create frame state record for a PC. |
| (get_personality): Get the personality routine for a given frame. |
| (get_except_table): Get the exception table for a given frame. |
| (record_name): Unwind record names for debugging. |
| (print_record): Print and unwind record. |
| (print_all_records): Print an entire unwind image. |
| (__ia64_backtrace): Print a backtrace. |
| (ia64_backtrace_helper): New function. |
| (__register_frame_info_aux): New function. |
| * config/ia64/crtend.asm (__do_frame_setup_aux): New function. |
| |
| * frame.h (enum unw_record_type): New unwind record types. |
| (struct unw_p_record, unw_b_record, unw_x_record) : New unwind records. |
| (struct unw_r_record, unwind_record): New unwind record structs. |
| (struct unwind_info_ptr): Unwind information layout. |
| (IA64_UNW_LOC_TYPE_*): Macros for different types for location |
| descriptors. |
| (struct ia64_reg_loc): Register location description. |
| (struct ia64_frame_state): Location of all registers in a frame. |
| (struct object): Add pc_base and fde_end for IA64_UNWIND_INFO. |
| * libgcc2.c (__ia64_personality_v1): Personality routine. |
| (__calc_caller_bsp): Calculate the bsp register for the caller's |
| frame. |
| (ia64_throw_helper): Figure out who to return to and set up the |
| registers. |
| (__throw): Throw routine. |
| |
| * output.h (assemble_eh_align, assemble_eh_label): New functions |
| to generate EH info where we want it. |
| (assemble_eh_integer): New function. |
| * toplev.c (compile_file): Output module level exception table for |
| non-ia64 targets. |
| (main): Set exceptions_via_longjump and flag_new_exceptions based |
| on IA64_UNWIND_INFO too. |
| |
| * varasm.c (assemble_eh_label): Generate a label via |
| ASM_OUTPUT_EH_LABEL if it has been specified. |
| (assemble_eh_align): Generate an alignment directive via |
| ASM_OUTPUT_EH_ALIGN if it has been specified. |
| (assemble_eh_label): Generate an integer value via |
| ASM_OUTPUT_EH_type if they have been specified. |
| * config/ia64/ia64.c (rtx_needs_barrier): Add flushrs. |
| (ia64_init_builtins): Add __builtin_ia64_bsp |
| and __builtin_ia64_flushrs. |
| (ia64_expand_builtin): Add IA64_BUILTIN_BSP and |
| IA64_BUILTIN_FLUSHRS. |
| * config/ia64/ia64.h (ia64_builtins): Add IA64_BUILTIN_BSP and |
| IA64_BUILTIN_FLUSHRS. |
| |
| * config/ia64/ia64.md (flushrs): New insn to flush the register |
| stack. Add to unspec list. |
| |
| * config/ia64/crtbegin.asm (frame_object): Change size. |
| (__do_frame_setup_aux): New function. |
| * config/ia64/crtend.asm: call __do_frame_setup_aux. |
| * config/ia64/t-ia64 (LIB2ADDEH): Add. |
| * Makefile.in (LIB2ADDEH): Add. |
| (LIB2ADD): Use LIB2ADDEH. |
| |
| 2000-05-24 Richard Henderson <rth@cygnus.com> |
| |
| * recog.c (offsettable_address_p): If mode size is zero, assume |
| BIGGEST_ALIGNMENT. |
| |
| 2000-05-24 J. David Anglin <dave@hiauly.hia.nrc.ca> |
| |
| * configure.in: Check for -Wno-long-long option support and improve |
| handling of warning CFLAGS for stages 1 and 2. |
| * Makefile.in (WARN_CFLAGS): Move definition to configure.in. |
| * configure: Regenerate. |
| |
| Wed May 24 19:37:53 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * gcc.texi: Remove contributor list. Instead include contrib.texi. |
| * contrib.texi: New file. |
| |
| Thu May 25 02:27:22 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * loop.c (basic_induction_var): Avoid double recording of an increment. |
| |
| Thu May 25 02:19:27 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * Back out this patch: |
| Tue Dec 7 19:22:06 1999 Richard Henderson <rth@cygnus.com> |
| * loop.h (struct induction): Add multi_insn_incr. |
| * loop.c (basic_induction_var): New multi_insn_incr argument. |
| Set it if we search back through previous insns for the biv. |
| (record_biv): New multi_insn_incr argument; fill in struct induction. |
| (strength_reduce): Discard an iv with multiple bivs, any of |
| which require multiple insns to increment. |
| |
| * loop.c (check_insn_for_bivs): Remove bits copied from above patch. |
| |
| Thu May 25 02:09:10 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * rtl.h (loc_mentioned_in_p): Declare. |
| * reload.c (loc_mentioned_in_p): Moved from here... |
| * rtlanal.c (loc_mentioned_in_p): to here. No longer static. |
| Fix loop increment for 'E' handling. |
| * loop.c (strength_reduce): When doing biv->giv conversion, |
| take multi-insn biv increments into account. |
| |
| 2000-05-24 Jason Merrill <jason@casey.soma.redhat.com> |
| |
| * stmt.c (expand_end_bindings): Look through NOTEs to find a |
| BARRIER. |
| |
| 2000-05-24 Mark Mitchell <mark@codesourcery.com> |
| |
| * calls.c (expand_call): Handle cleanups in tail-recursion |
| arguments analogously to cleanups in sibling calls. |
| |
| 2000-05-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * simplify-rtx.c: Rename macro SIGN_EXTEND to HWI_SIGN_EXTEND. |
| All callers changed. |
| |
| 2000-05-24 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * expr.c (expand_assignment, store_expr, expand_expr, |
| expand_expr_unaligned): Set in_check_memory_usage while emitting |
| chkr_check_addr libcall. |
| |
| 2000-05-24 Nick Clifton <nickc@cygnus.com> |
| |
| * fold-const.c (extract_muldiv): When constructing a |
| multiplier/divisor, do not expect const_binop to correctly |
| determine if overflow has occurred, so check explicitly. |
| |
| 2000-05-24 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * c-decl.c (build_enumerator): Don't modify the value's type, |
| convert it. |
| |
| 2000-05-24 Andreas Jaeger <aj@suse.de> |
| |
| * mips.h (LINKER_ENDIAN_SPEC): Pass -EL to linker by default. |
| |
| 2000-05-24 Eric Christopher <echristo@cygnus.com> |
| |
| * configure.in: Redefine inhibit_libc conditions. |
| * libgcc2.c: Remove inhibit_libc conditional define. |
| * configure: Regenerate. |
| |
| 2000-05-24 Phil Edwards <pme@sourceware.cygnus.com> |
| |
| * configure.in: For --enable-languages=LIST, check for empty LIST. |
| * configure: Regenerate. |
| |
| 2000-05-24 Lars Brinkhoff <lars@nocrew.org> |
| |
| * pdp11.h (STACK_BOUNDARY): Define. |
| |
| 2000-05-24 Jakub Jelinek <jakub@redhat.com> |
| |
| * ifcvt.c (if_convert): Update life info globally. |
| |
| 2000-05-24 Alexandre Oliva <oliva@lsd.ic.unicamp.br> |
| |
| * emit-rtl.c (unshare_all_decls): New function. |
| (unshare_all_rtl): Call it. |
| |
| 2000-05-23 Nick Clifton <nickc@cygnus.com> |
| |
| * configure.in: Treat 'strongarm' as if it were 'arm' when |
| determining cpu type. |
| |
| * configure: Regenerate. |
| |
| * config/arm/arm.c: Change 'char *' to 'const char *' for cases |
| where constant strings are involved. |
| |
| * config/arm/arm.h (arm_condition_codes): Change type to 'const |
| char *'. |
| |
| * config/arm/arm-protos.h: Change 'char *' to 'const char *' for |
| cases where constant strings are involved. |
| |
| Tue May 23 15:08:31 2000 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * config/sh/sh.c (gen_far_branch, split_branches): Update |
| to reflect new prototypes for redirect_jump and invert_jump. |
| (sh_insn_length_adjustment): Get rid of const warnings. |
| |
| 2000-05-23 Kazu Hirata <kazu@hxi.com> |
| |
| * invoke.texi (Options for Debugging Your Program or GCC): Update |
| the names of dump files. |
| |
| Tue May 23 13:58:52 2000 Philippe De Muyter <phdm@macqel.be> |
| |
| * configure.in (NO_MINUS_C_MINUS_O): Fix thinko in previous fix. |
| * configure: Regenerated. |
| |
| 2000-05-23 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * simplify-rtx.c (SIGN_EXTEND): New macro. |
| (simplify_unary_operation, simplify_binary_operation, |
| simplify_relational_operation): Use SIGN_EXTEND. Make low |
| halves of (low, high) pairs unsigned if they weren't already. |
| (simplify_ternary_operation): Cast INTVAL to unsigned before |
| comparing to a MODE_BITSIZE. |
| |
| 2000-05-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * aclocal.m4 (gcc_AC_CHECK_DECL, gcc_AC_CHECK_DECLS): New macros |
| rewritten from the internals of gcc_AC_NEED_DECLARATION{S}. |
| |
| * configure.in (gcc_AC_CHECK_DECLS): Call this instead of |
| gcc_AC_NEED_DECLARATIONS. |
| |
| * dwarfout.c: Don't prototype time(). |
| |
| * gcc.c: Check HAVE_DECL_* instead of NEED_DECLARATION_*. |
| |
| * system.h: Likewise. |
| |
| * toplev.c: Likewise. |
| |
| 2000-05-23 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * c-decl.c (pushdecl): Invert sense of test for non-global types. |
| |
| Tue May 23 18:11:42 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * reload1.c (reload_cse_move2add): Honor TRULY_NOOP_TRUNCATION. |
| |
| 2000-05-23 Jonathan Larmour <jlarmour@redhat.co.uk> |
| |
| * config/mips/elf64.h (CTOR_LISTS_DEFINED_EXTERNALLY): Define |
| |
| Tue May 23 06:50:29 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * config/alpha/alpha.c: Remove #ifdef HAIFA since now only scheduler. |
| (alpha_start_function): Never write ..ng label if VMS or NT. |
| (alpha_align_insns): Remove GP_IN_USE arg. |
| Alignment now unsigned. |
| (alpha_reorg): Don't pass GP_IN_USE arg to alpha_align_insns. |
| * config/alpha/alpha.md (prologue_ldgp): Split into one define_expand |
| and two define_insn's. |
| |
| 2000-05-22 Richard Henderson <rth@cygnus.com> |
| |
| * combine.c (simplify_comparison): Use trunc_int_for_mode. |
| |
| 2000-05-22 Richard Henderson <rth@cygnus.com> |
| |
| * stor-layout.c (place_field): Change rli->size to rli->offset. |
| |
| 2000-05-22 Richard Henderson <rth@cygnus.com> |
| |
| * function.c (thread_prologue_and_epilogue_insns): Make sure |
| existing line number notes appear after the prologue. |
| |
| Mon May 22 21:49:00 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * config/alpha/alpha.c (alpha_fnname): New static variable. |
| (print_operand, case '~'): New case. |
| (alpha_expand_prologue): Emit prologue_ldgp insn if needed. |
| (alpha_start_function): Set alpha_fnname. |
| Write "ng" label if no ldgp; don't write ldgp insn. |
| * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): New case '~'. |
| * config/alpha/alpha.md (prologue_ldgp): New define_insn. |
| |
| Mon May 22 11:30:48 2000 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * jump.c (jump_optimize_1): Don't increment LABEL_NUSES |
| on deleted labels. |
| |
| 2000-05-22 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * varasm.c (eh_frame_section): Revert change to argument list. |
| |
| Mon May 22 13:14:03 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * optabs.c (can_extend_p): Allow unsignedp to have any nonzero value. |
| (gen_extend_insn, can_fix_p, can_float_p): Likewise. |
| |
| * final.c (final_scan_insn, case NOTE_INSN_FUNCTION_BEG): Remove |
| dangling "else" that causes "break" to be conditional. |
| Also remove unneeded code at start. |
| |
| Mon May 22 17:31:35 2000 Philippe De Muyter <phdm@macqel.be> |
| |
| * m68k/m68k.h (STORE_FLAG_VALUE): Macro set to (-1), not -1. |
| * fx80/fx80.h, i370/i370.h, m88k/m88k.h (STORE_FLAG_VALUE): Ditto. |
| * gmicro/gmicro.h, we32k/we32k.h (STORE_FLAG_VALUE): Ditto. |
| |
| 2000-05-22 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/sparc.md (movdf_insn_v9only_vis): fzero has |
| just one argument. |
| |
| Mon May 22 06:57:49 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * alias.c (record_component_aliases): New function. |
| * tree.h: Clean up some declarations and comments. |
| (record_component_aliases): New declaration. |
| * tree.c (get_alias_set): If type and has alias set, use it. |
| |
| 2000-05-22 Richard Henderson <rth@cygnus.com> |
| |
| * simplify-rtx.c (simplify_ternary_operation): Try to simplify |
| IF_THEN_ELSE to a setcc form. |
| * jump.c (can_reverse_comparison_p): Be prepared for insn null. |
| |
| 2000-05-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * fixinc/inclhack.def (sun_malloc): Handle `calloc'. |
| (sun_malloc, sysz_stdtypes_for_sun): Add test_text. |
| |
| Sun May 21 16:42:31 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * combine.c (try_combine): Handle i3_subst_into_i2 case when I2 is |
| not a PARALLEL. |
| |
| 2000-05-20 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up. |
| * config/mn10300/mn10300.c (print_operand): Likewise. |
| |
| * final.c (split_double): Right shift of negative values is not |
| portable. |
| |
| * ifcvt.c (if_convert): Scan and kill dead code. |
| |
| * emit-rtl.c (unshare_all_rtl): Store the copied rtx. |
| |
| 2000-05-20 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * diagnostic.c: Eliminate implicit int. |
| * except.c, gcc.c: Add static prototypes. |
| * final.c (final_end_function): Mark file arg ATTRIBUTE_UNUSED. |
| * gensupport.c (process_rtx): Use XVEC to initialize vector |
| slot of 'split'. |
| |
| * print-rtl.c: If DEBUG_REGISTER_NAMES, define static |
| debug_reg_names instead of static reg_names. If not, define |
| global reg_names. |
| * regclass.c: Don't define global reg_names unless |
| DEBUG_REGISTER_NAMES is defined. |
| |
| * reload1.c (order_regs_for_reload): Remove unused variable. |
| * varasm.c: Include output.h after defaults.h. Define |
| eh_frame_section as function of no args, not of unspecified args. |
| |
| * gcc.c: Constify argbuf; arguments to store_arg, |
| process_command, main; elements of struct command and struct |
| switchstr; local variables in execute, process_command, main. |
| |
| 2000-05-20 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/inclhack.def: many applications of c_fix=format + tests |
| * fixinc/check.diff: regenerated |
| * fixinc/fixincl.x: regenerated |
| |
| Sat May 20 09:30:55 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * alias.c: Clarify some comments. |
| (record_base_value): REGNO is unsigned. |
| * rtl.h (record_base_value): Likewise. |
| |
| * alias.c (aliases_everything_p): Don't special-case QImode here. |
| * c-common.c (c_get_alias_set): Do it here. |
| Handle BIT_FIELD_REF by getting alias info for arg. |
| Use POINTER_TYPE_P. |
| |
| 2000-05-20 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * mklibgcc.in: Restore rule to create ${dir}. |
| |
| Sat May 20 08:45:41 2000 H.J. Lu <hjl@gnu.org> |
| |
| * Makefile.in (libgcc.mk): Depend on xgcc$(exeext) for |
| GCC_FOR_TARGET used by MULTILIBS. |
| * mklibgcc.in: Make sure each .o file depends on the |
| directory it will be in. |
| Make the multilib directory depends libgcc. |
| |
| Sat May 20 08:29:28 2000 H.J. Lu <hjl@gnu.org> |
| |
| * Makefile.in (bootstrap): Unset LANG_LIB2FUNCS for stage 1. |
| |
| Sat May 20 07:27:35 2000 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * fold-const.c (make_range): Handle degenerated intervals. |
| Fixes c-torture/execute/991221-1.c |
| |
| Fri May 19 18:16:31 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * cse.c (cse_basic_block): Only call find_reg_note if REG_NOTES not 0. |
| * reload.c (find_equiv_reg): Likewise. |
| * alias.c (init_alias_analysis): Likewise. |
| Only call prologue_epilogue_contains on insns. |
| * basic-block.h (REG_SET_TO_HARD_REG_SET): Call new function. |
| * bb-reorder.c (hard-reg-set.h): Include earlier. |
| * haifa-sched.c (hard-reg-set.h): Likewise. |
| * ifcvt.c (hard-reg-set.h): Likewise. |
| * local-alloc.c (hard-reg-set.h): Likewise. |
| * loop.c (hard-reg-set.h): Likewise. |
| * predict.c (hard-reg-set.h): Likewise. |
| * regrename.c (hard-reg-set.h): Likewise. |
| * flow.c (hard-reg-set.h): Likewise. |
| (reg_set_to_hard_reg_set): New function. |
| * bitmap.c (regs.h, basic-block.h): No longer include. |
| (bitmap.h): Now include. |
| * conflict.c (hard-reg-set.h): Include. |
| * profile.c (hard-reg-set.h): Likewise. |
| * print-rtl.c (hard-reg-set.h): Likewise. |
| * sbitmap.c (hard-reg-set.h): Likewise. |
| * toplev.c (hard-reg-set.h): Likewise. |
| * unroll.c (hard-reg-set.h, basic-block.h): Likewise. |
| * hard-reg-set.h (reg_names): Now constant. |
| * regs.h (reg_names): Likewise. |
| * regclass.c (reg_names): Likewise. |
| * loop.h (basic-block.h): No longer include. |
| (bitmap.h): Now include. |
| * reload1.c (order_regs_for_reload): Avoid loop over reg sets. |
| * Makefile.in (LOOP_H, sbitmap.o, profile.o): Reflect above changes. |
| (toplev.o, print-rtl.o, conflict.o, unroll.o, bitmap.o): Likewise. |
| |
| 2000-05-19 Jan Hubicka <jh@suse.cz> |
| Richard Henderson <rth@cygnus.com> |
| |
| * basic-block.h (struct edge_def): New field "count". |
| (struct basic_block_def): Likewise. |
| * flow.c (entry_exit_blocks): Add count fileds. |
| (split_edge): Keep count information up-to-date. |
| (dump_edge_info, dump_flow_info): Dump count fields. |
| |
| * final.c (count_instrumented_edges): Rename to edge from arc. |
| (end_final): Update users. |
| * profile.c: Include expr.h, basic-block.h. |
| (struct adj_list, ARC_TARGET, ARC_SOURCE, ARC_COUNT): Kill. |
| (struct bb_info, label_to_bb, label_to_bb_size, bb_graph): Kill. |
| (ignore_next_note, return_label_execution_count): Kill. |
| (bbg_file_name, da_file_name): Kill. |
| (edge_info, bb_info): New structures. |
| (EDGE_INFO, BB_INFO, GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX): New macros. |
| (count_instrumented_edges, total_num_edges): Rename to edge from arc. |
| (total_num_edges_instrumented): Likewise. |
| (init_arc, expand_spanning_tree): Kill. |
| (fill_spanning_tree, tablejump_entry_p): Kill. |
| (instrument_edges): Rewrite from instrument_arcs to use |
| commit_edge_insertions infrastructure. |
| (compute_branch_probabilities): Remove arguments; rewrite for |
| CFG infrastructure; use rtl_dump_file directly. |
| (branch_prob, find_spanning_tree): Likewise. |
| (union_groups, find_group): New. |
| (init_branch_prob): Make bbg_file_name and da_file_name local. |
| (end_branch_prob): Use rtl_dump_file directly. |
| (init_edge_profiler): Rename to edge from arc. |
| (output_arc_profiler): Kill. |
| (gen_edge_profiler): New. |
| (output_func_start_profiler): Turn off profiling. Make the |
| constructor static when we can. |
| * rtl.h (branch_prob, end_branch_prob): Update prototypes. |
| |
| * toplev.c (DFI_flow): Remove. |
| (DFI_cfg, DFI_life): New. |
| (dump_file): Update accordingly. |
| (compile_file): Call end_branch_prob if profile_arc_flag too. |
| (rest_of_compilation): Move flow1 cfg creation to DFI_cfg. Do edge |
| profiling after the CFG is built. Move flow1 life analysis to |
| DFI_life. Always estimate remaining probabilities. |
| |
| 2000-05-19 Richard Henderson <rth@cygnus.com> |
| |
| * ifcvt.c (find_if_case_2): Don't allow THEN to be EXIT. |
| |
| * flow.c (make_edges): The sibling call edge to exit is abnormal. |
| |
| 2000-05-19 Richard Henderson <rth@cygnus.com> |
| |
| * jump.c (redirect_jump): Add delete_unused argument. Don't |
| remove labels and code following when LABEL_NUSES goes to zero. |
| (invert_jump): Likewise. |
| (jump_optimize_1): Fix redirect/invert arguments. |
| (do_cross_jump, thread_jumps): Likewise. |
| * flow.c (split_edge): Likewise. |
| * reorg.c (optimize_skip): Likewise. |
| (reorg_redirect_jump, relax_delay_slots, dbr_schedule): Likewise. |
| * profile.c (instrument_arcs): Likewise. |
| * loop.c (find_and_verify_loops): Likewise. Fix indentation. |
| * rtl.h: Update prototypes. |
| |
| Fri May 19 12:05:13 2000 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * ssa.c (convert_from_ssa): Tell life_analysis we need death |
| notes. |
| (make_regs_equivalent_over_bad_edges): Only look at abnormal |
| critical edges. |
| |
| 2000-05-19 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpphash.c (funlike_macroexpand): Make sure not to walk p1 |
| past l1 when deleting whitespace and markers. |
| |
| * cpplex.c (_cpp_scan_until): Clear AUX field of tokens. |
| * cpplib.c (do_unassert): Put the list to compare against on |
| the stack. |
| |
| 2000-05-19 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/README: cleaned up old documentation |
| * fixinc/check.diff: regenerated & verified on OSR5 on ix86 |
| * fixinc/check.tpl: compute the list of needed directories |
| emit "#if defined(name)" because of conflict |
| omit machine name differences from output differences |
| * fixinc/inclhack.def( m88k_multi_incl ): Use `wrap' function |
| (machine_name): change test text to use `sed' markers |
| * fixinc/fixincl.x: regen |
| |
| Fri May 19 06:49:35 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * config/elfos.h (SELECT_SECTION): Don't access DECL_INITIAL of |
| a CONSTRUCTOR. |
| |
| 2000-05-18 Chris Demetriou <cgd@sibyte.com> |
| |
| * gcc.texi (MULTILIB_EXCEPTIONS): Correct example and update |
| it to match the current practice. |
| |
| 2000-05-18 Mark Mitchell <mark@codesourcery.com> |
| |
| * Makefile.in (STAGESTUFF): Fix typo in spelling of s-under. |
| |
| 2000-05-18 Richard Henderson <rth@cygnus.com> |
| |
| * rtlanal.c (insn_dependant_p, insn_dependant_p_1): New. |
| * rtl.h (insn_dependant_p): Declare it. |
| * loop.c (strength_reduce): Use it. |
| |
| 2000-05-18 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * config/mn10300/mn10300.c (expand_prologue, expand_epilogue): |
| 16-bit and 64-bit clean-up. |
| |
| 2000-05-18 Mark Elbrecht <snowball3@bigfoot.com> |
| |
| * configure.in (*-pc-msdosdjgpp): Set float_format to none. |
| * configure: Rebuilt. |
| |
| 2000-05-18 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * genopinit.c: Use $ for escape sequences in optab patterns. |
| Remove backslashes from optab patterns. Change $A, $B, $C to |
| expand to (int) whatever instead of just whatever; remove |
| explicit (int) from all optab patterns. |
| |
| * gensupport.c (xmalloc, xrealloc, xstrdup): Provide. |
| * genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c, |
| genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c, |
| genrecog.c: Remove private copies of xmalloc, xrealloc, and |
| xstrdup. |
| |
| 2000-05-18 Richard Henderson <rth@cygnus.com> |
| |
| * jump.c (jump_optimize_1): Base minimum insn count during |
| find_cross_jump on BRANCH_COST. |
| |
| 2000-05-18 Jakub Jelinek <jakub@redhat.com> |
| |
| * print-rtl.c (print_rtx): Only print note line number as string |
| if between NOTE_INSN_BIAS and NOTE_INSN_MAX. |
| * final.c (final_scan_insn): Do nothing for note line number 0. |
| |
| 2000-05-18 Jakub Jelinek <jakub@redhat.com> |
| |
| * gcc-common.c (ggc_mark_rtx_children): Mark NOTE_EXPECTED_VALUE |
| from NOTE_INSN_EXPECTED_VALUE notes and NOTE_SOURCE_FILE from |
| NOTE_INSN_DELETED_LABEL. |
| |
| 2000-05-18 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/unknown-elf.h (UNIQUE_SECTION): Place constant, |
| uninitialized data in .rodata not .bss, and do not interpret an |
| error in the initialisation value as meaning that the variable |
| should be placed in the .bss section. |
| |
| Thu May 18 12:10:18 2000 Philippe De Muyter <phdm@macqel.be> |
| |
| * configure.in (NO_MINUS_C_MINUS_O): Test `$ac_cv_prog_cc_${ac_cc}_c_o', |
| not `$ac_cv_prog_cc_cc_c_o'. |
| * configure: Regenerated. |
| |
| 2000-05-18 Chris Demetriou <cgd@sibyte.com> |
| Richard Henderson <rth@cygnus.com> |
| |
| * c-common.h (enum c_tree_index): Add g77 type entries. |
| (g77_integer_type_node, g77_uinteger_type_node): New. |
| (g77_longint_type_node, g77_ulongint_type_node): New. |
| * c-decl.c (init_decl_processing): Initialize them. |
| |
| 2000-05-18 Richard Henderson <rth@cygnus.com> |
| |
| * config/h8300/h8300.md (subs patterns): Use %G to negate. |
| |
| * config/h8300/h8300.c (ok_for_bclr): Take a HOST_WIDE_INT. |
| (small_power_of_two): Likewise; use exact_log2. |
| (adds_subs_operand, one_insn_adds_subs_operand): Remove. |
| (output_adds_subs): Remove. |
| (two_insn_adds_subs_operand): New. |
| (split_adds_subs): New. |
| * config/h8300/h8300-protos.h: Update. |
| * config/h8300/h8300.h (CONST_OK_FOR_J): Cast to uns HOST_WIDE_INT. |
| (CONST_OK_FOR_L): Match strict adds operands. |
| (CONST_OK_FOR_N): Match struct subs operands. |
| * config/h8300/h8300.md (adds_subs insns): Remove. |
| (addhi patterns): Output adds/subs directly. |
| (addsi_h8300h): Likewise. |
| (addhi/addsi splitters): New. Decompose two_insn_adds_subs_operand. |
| |
| 2000-05-18 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppexp.c (parse_assertion): New. |
| (lex): Call it for CPP_HASH. Remove CPP_ASSERTION case. |
| (_cpp_parse_expr): Remove case '#'. Don't set |
| parsing_if_directive. |
| * cpphash.c (collect_objlike_expansion, |
| collect_funlike_expansion, collect_params, |
| _cpp_create_definition): The list no longer has a trailing |
| VSPACE token. |
| * cpphash.h (enum node_type): Add T_ASSERTION. |
| (struct hashnode): Remove aschain, add pred. |
| (struct predicate): New. |
| Update prototypes. |
| |
| * cpplex.c (expand_token_space): Handle both offset and |
| nonoffset lists. |
| (init_token_list, _cpp_free_token_list, _cpp_parse_assertion): Delete. |
| (_cpp_init_toklist, _cpp_clear_toklist, _cpp_free_toklist, |
| _cpp_slice_toklist, _cpp_squeeze_toklist, _cpp_equiv_tokens, |
| _cpp_equiv_toklists): New. |
| (_cpp_scan_line): Rename to _cpp_scan_until; add ability to |
| stop at any single-character token, not just newline. |
| (_cpp_lex_token): Remove special cases for #define and #if. |
| (cpp_get_token): Expect # as a separate token type. Remove |
| DIRECTIVE case. |
| (_cpp_get_directive_token): Remove DIRECTIVE case. |
| (_cpp_lex_line, _cpp_lex_file, _cpp_init_input_buffer): Update. |
| |
| * cpplib.c (_cpp_check_directive): Set dirno and |
| SYNTAX_INCLUDE bit of flags, not dir_handler and dir_flags. |
| (_cpp_handle_directive): Run # <number> through the same logic |
| as normal directives. |
| (do_define): Don't set parsing_define_directive. Use |
| _cpp_scan_until. The list does not have a VSPACE at the end. |
| (do_if): Save, clear, and restore only_seen_white around |
| _cpp_parse_expr. |
| (skip_if_group): s/CPP_DIRECTIVE/CPP_HASH/ |
| (do_assert, do_unassert): Rewrite. |
| |
| * cpplib.h (TTYPE_TABLE): Remove CPP_ASSERTION. |
| (LIST_OFFSET): New flag. |
| (struct cpp_toklist): Replace dir_handler and dir_flags with |
| dirno and flags. |
| (struct cpp_reader): Remove parsing_if_directive and |
| parsing_define_directive. |
| |
| 2000-05-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * fixinc/inclhack.def (broken_cabs): Update fix to handle comments |
| following the cabs decl which terminate on the following line. |
| Add the corresponding test_text case. |
| |
| 2000-05-18 Neil Booth <NeilB@earthling.net> |
| |
| * cppinit.c (cpp_reader_init): Initialize col_adjust and |
| default tab stop size. |
| (no_num, OPT_ftabstop): New. |
| (handle_option): Handle "ftabstop=" command-line option. |
| (print_help): Document it. |
| * cpplex.c (COLUMN): Remove. |
| (handle_newline): Reset col_adjust. |
| (skip_whitespace): Update col_adjust as tabs encountered. |
| (_cpp_lex_line): Update to use col_adjust. Call |
| skip_whitespace for all whitespace. |
| * cpplib.h (struct cpp_options): New member tabstop. |
| (struct cpp_reader): New member col_adjust. |
| (CPP_BUF_COL): Update. |
| (CPP_BUF_COLUMN): New. |
| * cpp.texi: Document "-ftabstop=" command line option. |
| |
| Wed May 17 18:19:41 2000 Philippe De Muyter <phdm@macqel.be> |
| |
| * configure.in (NO_MINUS_C_MINUS_O): Macro made availabe for AC_OUTPUT |
| files. |
| * configure: Rebuilt. |
| |
| Wed May 17 18:06:12 2000 John David Anglin <dave@hiauly1.hia.nrc.ca> |
| |
| * mklibgcc.in Add missing -DL$name when compiling modules in libgcc1.c. |
| |
| * tree.c (build_common_tree_nodes): Do not build TI nodes unless |
| HOST_BITS_PER_WIDE_INT is >= 64. |
| |
| 2000-05-17 Richard Henderson <rth@cygnus.com> |
| |
| * jump.c (jump_optimize_1): Remove inactive but real insns |
| in jump-to-next-insn optimization. |
| |
| 2000-05-17 Richard Henderson <rth@cygnus.com> |
| |
| * toplev.c (rest_of_compilation): Don't call optimize_mode_switching |
| unless OPTIMIZE_MODE_SWITCHING. Conditionally set no_new_pseudos. |
| Don't call recompute_reg_usage if no_new_pseudos is true. |
| * lcm.c (optimize_mode_switching): Move ifdefs outside function. |
| Return true if we did work; update global life information. |
| * basic-block.h (optimize_mode_switching): Update decl. |
| |
| 2000-05-17 Neil Booth <neilb@earthling.net> |
| |
| * cpplex.c (expand_name_space): Don't use ptrdiff_t. |
| |
| 2000-05-17 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplib.c: New feature, #pragma system_header. |
| * cpp.texi: Document special treatment of system headers, and |
| the various mechanisms to get a header that special treatment. |
| |
| 2000-05-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * system.h (offsetof): Define at the very end, to ensure we prefer |
| the platform's definition if available. |
| |
| 2000-05-16 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/fixincl.c: improve the debug displays, ignore SIGPIPE |
| * fixinc/server.c: likewise |
| * fixinc/fixfixes.c( char_macro_def_fix ): fix regex |
| + #ifdef debugging code + use #def constant for |
| sub-pattern count |
| * fixinc/inclhack.def( hpux11_fabsf ): Keep HP-UX 11 from stomping |
| on C++ math namespace |
| |
| 2000-05-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix): |
| Don't check the return value of sprintf. Use asprintf to avoid |
| buffer overflows. |
| |
| Wed May 17 17:27:44 2000 Andrew Cagney <cagney@b1.cygnus.com> |
| |
| * flags.h (warn_unused_function, warn_unused_label, |
| warn_unused_parameter, warn_unused_variable, warn_unused_value): |
| Replace ``warn_unused''. |
| (set_Wunused): Add declaration. |
| * toplev.c (set_Wunused): New function. |
| (warn_unused_function, warn_unused_label, warn_unused_parameter, |
| warn_unused_variable, warn_unused_value): New variables. |
| (W_options): Add -Wunused-function, -Wunused-function, |
| -Wunused-label, -Wunused-parameter, -Wunused-variable and |
| -Wunused-value. Delete -Wunused. Handled in decode_W_option. |
| |
| * toplev.c (decode_W_option): Update -Wunused flags by calling |
| set_Wunused. |
| * c-decl.c (c_decode_option): Ditto for -Wall. |
| |
| * stmt.c (expand_expr_stmt, expand_expr_stmt, |
| warn_about_unused_variables): Replace warn_unused with more |
| explicit warn_unused_value et.al. |
| * function.c (expand_function_end): Ditto. |
| * c-typeck.c (internal_build_compound_expr, |
| internal_build_compound_expr): Ditto. |
| * c-decl.c (poplevel, pop_label_level): Ditto. |
| * toplev.c (check_global_declarations): Replace warn_unused with |
| check for either warn_unused_function or warn_unused_variable. |
| |
| * gcc.1, invoke.texi (Warning Options): Document |
| -Wunused-function, -Wunused-function, -Wunused-label, |
| -Wunused-parameter, -Wunused-variable and -Wunused-value options. |
| |
| Wed May 17 10:28:12 2000 Philippe De Muyter <phdm@macqel.be> |
| |
| * mklibgcc.in (building libgcc1) [Xlibgcc1.a]: Find libgcc1.c in |
| $(srcdir), not in the current directory. |
| |
| 2000-05-16 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/crtbegin.asm (__dso_handle): Mark hidden if the |
| assembler supports it. |
| (.fini, .init): Use a gp-relative indirect call. |
| (__do_global_dtors_aux): Preserve the gp; rebundle. |
| (__do_frame_setup): Likewise. |
| * config/ia64/crtend.asm (.IA_64.unwind): Don't terminate with -1. |
| (.init): Use a gp-relative indirect call. |
| (__do_global_ctors_aux): Preserve the gp. |
| |
| 2000-05-16 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (commit_one_edge_insertion): Be prepared for a return |
| insn to be inserted on the edge with a normal jump. |
| * jump.c (jump_optimize_1): Don't look to create return isns. |
| |
| * flow.c (flow_delete_insn): Don't adjust reference count of notes. |
| * jump.c (jump_optimize_1): Likewise. |
| (returnjump_p): Verify the argument is a JUMP_INSN. |
| * rtl.def (NOTE): Add 5th element for NOTE_INSN_DELETED_LABEL. |
| |
| 2000-05-16 Nick Clifton <nickc@cygnus.com> |
| |
| * config/m32r/m32r.c (small_insn_p): Use INSN_P() to replace |
| GET_RTX_CLASS (GET_CODE ()) == 'i'. |
| (large_insn_p): Ditto. |
| (m32r_is_insn): New function: Return true if the insn contains |
| an executable instruction. |
| (m32r_adjust_insn): Use m32r_is_insn. |
| (m32r_sched_reorder): Use m32r_is_insn. |
| (m32r_sched_variable_issue): Use m32r_is_insn. |
| |
| 2000-05-16 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> |
| |
| * rs6000/rs6000.c (rs6000_select_section): Treat CONSTRUCTOR like |
| VAR_DECL. |
| |
| * rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Delete unused variable. |
| |
| * rs6000/sysv4.h (CPP_OS_LINUX_SPEC): Define __unix and __linux |
| according to given options. |
| |
| Tue May 16 12:17:31 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * mn10200.h (PREFERRED_RELOAD_CLASS): Do not prefer DATA_REGS |
| if X has VOIDmode either. |
| (LIMIT_RELOAD_CLASS): Similarly. |
| |
| * mn10200.md (indirect_jump, tablejump): Use "register_operand", |
| not "general_operand" to match the processor's capabilities. |
| |
| 2000-05-16 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/README: corrected return address |
| * fixinc/check.diff: regenerate, now that test works |
| * fixinc/fixfixes.c(format_fix,format_write): reformatted |
| (char_macro_def_fix,char_macro_use_fix): corrected and |
| rewrote to use regex to parse the text |
| * fixinc/inclhack.def: more testing |
| * fixinc/fixincl.x: regenerated |
| |
| * fixinc/inclhack.def: added several "test_text" attributes |
| changed several fixes to use `c_fix = format' |
| re-alphabetized the fixes |
| |
| * fixinc/check.diff: regenerate |
| * fixinc/fixincl.x: regenerate |
| * fixinc/check.tpl: added `sparc' and `netinet' to the list |
| of created dirs |
| |
| |
| 2000-05-16 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * config/mn10300/mn10300.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Remove. |
| |
| 2000-05-15 Richard Henderson <rth@cygnus.com> |
| |
| * toplev.c (rest_of_compilation): Run full jump pass before |
| find_basic_blocks of flow2. |
| |
| 2000-05-15 Richard Henderson <rth@cygnus.com> |
| |
| * jump.c: Fix typos and clarify commentary from last change. |
| (any_condjump_p): Verify SET_SRC is an IF_THEN_ELSE. |
| (safe_to_remove_jump_p): Remove. |
| (condjump_label): Use pc_set. |
| |
| 2000-05-15 Richard Henderson <rth@cygnus.com> |
| |
| * ifcvt.c (cond_exec_process_insns): Drop USE and CLOBBER insns |
| that get in the way after reload. |
| (cond_exec_process_if_block): Skip a label heading THEN block. |
| |
| 2000-05-15 Richard Henderson <rth@cygnus.com> |
| |
| * varasm.c (output_constant_pool): Abort instead of converting |
| (improperly) deleted labels to zero. |
| |
| 2000-05-16 Neil Booth <NeilB@earthling.net> |
| |
| * cpplex.c (parse_string2): Update comment. |
| (cpp_lex_line): No special assertion treatment for '('. |
| * cpplib.c (DIRECTIVE_TABLE): Remove SYNTAX_ASSERT. |
| * cpplib.h (SYNTAX_ASSERT): Remove. |
| |
| Mon May 15 21:45:36 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * jump.c (condjump_p): Mark as depreached. |
| (any_condump_p): New. |
| (any_uncondump_p): New. |
| (pc_set): New. |
| (safe_to_remove_jump_p): New. |
| * rtl.h (any_condump_p, any_uncondjump_p, pc_set |
| safe_to_remove_jump_p): Declare. |
| |
| Mon May 15 21:07:20 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * calls.c: Re-install both patches reverted by last patch. |
| (struct arg_data): New field tail_call_reg. |
| (initialize_argument_information): Initialize tail_call_reg |
| (load_register_parameters): New argument flags, use |
| tail_call_reg when emiting tail call sequence. |
| (expand_call): Update call of load_register_parameters; |
| copy unadjusted_args_size to adjusted_args_size. |
| |
| Mon May 15 19:01:42 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * loop.c (scan_loop, strength_reduce, loop_optimize): Change unroll_p |
| and bct_p parameters to flags. |
| * loop.h (LOOP_UNROLL, LOOP_BCT): New constants. |
| * rtl.h (loop_optimize): Update prototype. |
| * toplev.c (rest_of_compilation): Update call of loop_optimize. |
| |
| 2000-05-15 Jakub Jelinek <jakub@redhat.com> |
| |
| * calls.c (expand_call): Move expand_start_target_temps call after |
| start_sequence(). |
| |
| 2000-05-15 Neil Booth <NeilB@earthling.net> |
| |
| * cpphash.c (trad_stringify, warn_trad_stringify, |
| collect_params): Make some pointers pointers to const. |
| * cpplex.c (auto_expand_name_space) Guaranteed to always |
| expand by at least one character. |
| (SPELL_CHAR, SPELL_NONE): Temporarily reverse order. |
| (struct token_spelling): Use const U_CHAR * rather than PTR. |
| (expand_name_space): Fix up token pointers if name space |
| is moved when expanding. |
| (INIT_NAME, cpp_scan_line, parse_name, parse_number, |
| parse_string2, save_comment, spell_token, cpp_output_list): |
| Update so the routines handle tokens with a direct pointer to |
| their text, rather than an offset into the token's list's namebuf. |
| (_cpp_lex_line): Rearrange for clarity. |
| |
| * cpplib.c (_cpp_check_directive): Similarly. |
| (do_define): Make SYM a pointer to const. |
| * cpplib.h (struct cpp_name): Replace offset with direct pointer. |
| (CPP_INT, CPP_FLOAT): Spelling type should be SPELL_IDENT. |
| (TOK_OFFSET): Delete. |
| (TOK_NAME): Update. |
| |
| 2000-05-14 Geoffrey Keating <geoffk@cygnus.com> |
| |
| * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Correct for |
| 64-bit ABI. |
| |
| * config/rs6000/rs6000.c (logical_operand): Rewrite to take MODE |
| into account. |
| (logical_u_operand): Delete. |
| (non_logical_cint_operand): Rewrite to take MODE into account. |
| (non_logical_u_cint_operand): Delete. |
| (boolean_operator): New function. |
| (print_operand): Add new %q operand. |
| * config/rs6000/rs6000.h (PREDICATE_CODES): Add boolean_operator, |
| remove logical_u_operand and non_logical_u_cint_operand, |
| update logical_operand and non_logical_cint_operand. |
| * config/rs6000/rs6000.md: Rewrite the patterns for performing |
| logical operations to use %q. |
| |
| * config/rs6000/rs6000.md (movsi): Don't modify RTL in-place. |
| (movdi): Make similar to movsi. |
| * config/rs6000/rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): There |
| is no such thing as a DImode CONST_DOUBLE. |
| * config/rs6000/rs6000.c (output_toc): Likewise. |
| |
| * config/rs6000/rs6000.c (output_cbranch): Don't output prediction |
| codes when old mnemonics are in use. Print register names |
| for cc registers when requested. |
| |
| * optabs.c (expand_float): Don't allow mode widening that causes |
| double rounding. |
| |
| * invoke.texi (RS/6000 and PowerPC Options): Update -m64/-m32 |
| flags to their current names -maix64 and -maix32. |
| |
| 2000-05-14 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/fixfixes.c(wrap_fix): new fix - inserts text before |
| and/or after current text of file |
| * fixinc/fixlib.c(must_malloc): |
| * fixinc/fixlib.h(must_malloc): + reformatting |
| * fixinc/inclhack.def: replace the "1i" and "$a" sed commands |
| with usages of ``c_fix = wrap;'' |
| Add several tests and use the ``c_fix = format'' fixer more. |
| * fixinc/fixincl.x: regen |
| * fixinc/check.diff: regen |
| * fixinc/check.tpl: emit the associated header with the missing |
| test message |
| |
| Sun May 14 17:58:59 2000 Hans-Peter Nilsson <hp@axis.com> |
| |
| * mklibgcc.in (building libgcc1) [Xlibgcc1.a]: Do not use unset |
| variables $src and $dst. |
| |
| 2000-05-13 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * diagnostic.h (DIAGNOSTICS_SHOW_PREFIX_ONCE): New macro. |
| (DIAGNOSTICS_SHOW_PREFIX_NEVER): Likewise. |
| (DIAGNOSTICS_SHOW_PREFIX_EVERY_LINE): Likewise. |
| (struct output_buffer: emitted_prefix_p, prefixing_rule): New |
| fields. |
| (set_message_prefixing_rule): Declare. |
| |
| * diagnostic.c: (current_prefixing_rule): New variable. |
| (set_message_prefixing_rule): Define. |
| (output_set_prefix): Adjust buffer->emitted_prefix_p. |
| (init_output_buffer): Adjust Initialization. |
| (output_emit_prefix): Rewrite. Take prefixing rules into account. |
| |
| Sat May 13 11:05:47 2000 Philippe De Muyter <phdm@macqel.be> |
| |
| * ifcvt.c (if_convert): Do not free NULL. |
| |
| 2000-05-12 H.J. Lu (hjl@gnu.org) |
| |
| * gthr-dce.h: Add support for libobjc. |
| * gthr-posix.h: Likewise. |
| * gthr-solaris.h: Likewise. |
| * gthr-vxworks.h: Likewise. |
| * gthr-single.h: Likewise. |
| * gthr-win32.h: Likewise. |
| |
| 2000-05-12 Nick Clifton <nickc@cygnus.com> |
| |
| * config/fr30/fr30.c (fr30_move_double): New function: Emit code |
| to move a double word value. |
| (di_operand): New function: Return true if the operand is suitbale |
| for a double word move operation. |
| (nonimmediate_di_operand): New function: Return true if the |
| operand is a DImode register or MEM. |
| |
| * config/fr30/fr30.h (PREDICATE_CODES): Add di_operand and |
| nonimmediate_di_operand. |
| |
| * config/fr30/fr30-protos.h Add fr30_move_double, di_operand, and |
| nonimmediate_di_operand. |
| |
| * config/fr30/fr30.md (movdi): New pattern. Required because |
| other patterns generate DImode results. |
| (movdi_insn): New pattern. |
| |
| 2000-05-12 Richard Henderson <rth@cygnus.com> |
| |
| * config/alpha/alpha.c (struct shadow_summary): Define |
| bitfields as type unsigned int. |
| |
| Sat May 13 00:09:59 2000 Denis Chertykov <denisc@overta.ru> |
| |
| * config/avr/t-avr: Added definition of FLOAT while generates |
| fp-bit.c |
| |
| * config/avr/avr.md: `NEXT_INSN (insn)' substituted to `insn' in |
| peepholes for tst+jump = sbrs/sbrc optimization. |
| |
| Fry May 12 20:03:00 CEST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * expr.c (emit_push_insn): Do not adjust stack pointer when |
| preallocating. |
| |
| Fri May 12 19:03:58 2000 Philippe De Muyter <phdm@macqel.be> |
| |
| * ggc-simple.c (offsetof): Macro fallback definition moved from here .. |
| * system.h (offsetof): ... to here. |
| |
| 2000-05-12 Richard Henderson <rth@cygnus.com> |
| |
| * Makefile.in (final.o): Depend on BASIC_BLOCK_H. |
| * final.c (final_end_function): Use app_disable. Rearrange note |
| handling into a switch. Emit deleted labels. |
| (output_asm_label): Generate label strings for deleted labels. |
| * flow.c (tail_recursion_label_list): New. |
| (find_basic_blocks_1): Set label_value_list directly. Collect list |
| of tail recursion labels from call_placeholders. Don't add deleted |
| labels to the label value list. |
| (cleanup_cfg): Use free_EXPR_LIST_list. |
| (flow_delete_insn_chain): Turn non-removable labels into notes. |
| (flow_delete_block): Don't disable deleting the block because of |
| a non-removable label. |
| (tail_recursion_label_p): New. |
| (merge_blocks_move_predecessor_nojumps): Don't disable the merge |
| because of a label. |
| (merge_blocks_move_successor_nojumps): Likewise. Also move a |
| jump table. |
| (merge_blocks): Disable a merge because of tail recursion labels. |
| * ifcvt.c (merge_if_block): Don't disable a merge because of a label. |
| Use a more accurate measure of not merging the join block. |
| (find_if_block): Don't disable conversion because of a label. |
| (find_if_case_1, find_if_case_2): Likewise. |
| * jump.c (duplicate_loop_exit_test): Preserve the kind of list |
| element when copying. |
| (squeeze_notes): Also leave EH notes. |
| (mark_jump_label): Ignore deleted labels. Use an INSN_LIST for |
| REG_LABEL notes. |
| (delete_insn): Preserve LABEL_NAME in NOTE_SOURCE_FILE when |
| deleting a label. |
| * print-rtl.c (print_rtx): Print NOTE_SOURCE_FILE for |
| NOTE_INSN_DELETED_LABEL. Print `[# deleted]' for a label_ref |
| referring to a deleted label. Convert tail handling to a switch. |
| * rtl.def (CODE_LABEL): Rearrange elements to be compatible with NOTE |
| for NOTE_INSN_DELETED_LABEL. |
| (NOTE): Fix commentary. |
| * rtl.h (REG_LABEL): Update commentary wrt INSN_LIST. |
| (REG_CC_SETTER, REG_CC_USER, REG_LIBCALL): Likewise. |
| (CODE_LABEL_NUMBER, LABEL_NAME): Update index. |
| (LABEL_NUSES, LABEL_REFS): Likewise. |
| * unroll.c (copy_loop_body): Don't copy NOTE_INSN_DELETED_LABEL. |
| |
| 2000-05-12 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/fixfixes.c(format_write): buglet & relaxed rules |
| * fixinc/check.diff: updated |
| * fixinc/inclhack.def: corrected & added some test_text-s |
| * fixinc/genfixes: removed unneeded options to autogen invocation |
| * fixinc/fixincl.tpl: Specified the output file |
| * fixinc/fixfixes.c: visual appearance |
| * fixinc/fixincl.x: regenerate |
| |
| 2000-05-12 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * fixinc/fixfixes.c (IO_use_fix, IO_defn_fix, CTRL_use_fix, |
| CTRL_defn_fix): Delete. |
| (fix_char_macro_defines, fix_char_macro_uses): Rename to |
| char_macro_def_fix and char_macro_use_fix, respectively. Put |
| them into the FIXUP_TABLE. Get the string to search for from |
| a c_fix_arg. |
| |
| (format_write): New function. |
| (format_fix): Use it. |
| |
| (FIX_PROC_HEAD): Constify text parameter. |
| (machine_name_fix): Constify all char *s. |
| * fixtests.c (skip_quote): Remove double static. |
| |
| * inclhack.def (io_def_quotes, io_use_quotes, ctrl_def_quotes, |
| ctrl_use_quotes): Update for new scheme. |
| * fixincl.x: Regenerate. |
| |
| 2000-05-12 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * config/mn10300/mn10300.h (PREFERRED_DEBUGGING_TYPE): Redefine as |
| DWARF2_DEBUG. |
| (DWARF2_ASM_LINE_DEBUG_INFO): Define. |
| (ASM_OUTPUT_DWARF2_ADDR_CONST): Define. |
| |
| 2000-05-11 Robert Lipe <robertlipe@usa.net> |
| |
| * fixinc/inclhack.def (hpux8_bogus_inlines): Delete bypass for SCO. |
| * fixincl.x: Regenerate. |
| |
| 2000-05-11 Richard Henderson <rth@cygnus.com> |
| |
| * calls.c: Revert both 05-09 patches. |
| |
| 2000-05-11 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * config/mn10300/mn10300.c (print_operand): Print FP constants in |
| hexadecimal. |
| * config/mn10300/mn10300.md (movsf, movdf): Use the `F' constraint |
| for FP values. |
| |
| * mklibgcc.in (EQ): Define it to an equal sign in the Makefile, |
| and replace any occurrences of `=' in multilib dirs with `$(EQ)'. |
| |
| 2000-05-11 Jason Merrill <jason@casey.cygnus.com> |
| |
| * fixinc/fixincl.c (run_compiles): Don't crash on null pz_machine. |
| |
| 2000-05-11 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * fixinc/fixfixes.c, fixinc/fixtests.c: Update commentary. |
| |
| Thu May 11 22:28:05 2000 Denis Chertykov <denisc@overta.ru> |
| |
| * config/avr/avr-protos.c (jump_over_one_insn_p): New declaration. |
| * config/avr/avr.c (jump_over_one_insn_p): New function. |
| * config/avr/avr.md: New peepholes added. Output test and |
| conditional jump to "sbrc" or "sbrs" command. |
| |
| 2000-05-11 Mark Elbrecht <snowball3@bigfoot.com> |
| |
| * cppmain.c (main): Use IS_DIR_SEPARATOR. |
| |
| 2000-05-11 Jakub Jelinek <jakub@redhat.com> |
| |
| * except.c (find_exception_handler_labels_1): New function. |
| (find_exception_handler_labels): Split into two functions, dive |
| into CALL_PLACEHOLDERs when looking for exception handler labels. |
| |
| 2000-05-11 Stan Cox <scox@cygnus.com> |
| |
| * regrename.c (replace_reg_in_block): Improve REG_DEAD handling. |
| * timevar.def (TV_RENAME_REGISTERS): Move before TV_SCHED2. |
| * toplev.c (rest_of_compilation): Call regrename_optimize before sched2. |
| |
| 2000-05-11 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/fixfixes.c (double_slash_fix): obsolete |
| (else_endif_label_fix): obsolete |
| (format_fix): new, unused as yet |
| (main): obsolete |
| * fixinc/fixlib.h: added fix description struct for use by format_fix |
| * fixinc/fixincl.c: removed the struct & test for SIGIOT befure using |
| * fixinc/Makefile.in: compile fixfixes.c and fixtests.c as separate |
| modules. Removed the vestiges of the script version. |
| Added support for "make check". |
| * fixinc/check.diff: base diff file (needs work!!) |
| * fixinc/check.tpl: quiet the fixup output |
| * fixinc/fixtests.c (main): obsolete |
| * fixinc/fixincl.sh: don't bother copying fixincl to .. |
| * fixinc/fixincl.tpl: provide for arguments to c_fix routines |
| |
| Thu May 11 11:57:02 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * toplev.c (rest_of_compilation): Remove dead code after |
| combine. |
| |
| 2000-05-11 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpphash.c (collect_funlike_expansion): Make "# is not |
| followed by a macro argument name" a pedwarn, not an error. |
| Preserve the # in the output. Suppress the warning if lang_asm. |
| |
| Thu May 11 01:19:31 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * configure.in (hppa*64*-*-hpux11*): New target for PA64 support. |
| * configure: Rebuilt. |
| |
| 2000-05-10 Laurynas Biveinis <lauras@softhome.net> |
| |
| * i386/xm-djgpp.h (XREF_FILE_NAME): Add mising brace. |
| |
| 2000-05-10 Kazu Hirata <kazu@hxi.com> |
| |
| * combine.c (try_combine): Fix a typo. |
| |
| Wed May 10 21:31:44 2000 Jim Wilson <wilson@cygnus.com> |
| |
| * config/ia64/ia64.md (insv): Add comment. |
| |
| 2000-05-10 Richard Henderson <rth@cygnus.com> |
| |
| * Makefile.in (libgcc.a, stmp-multilib): Depend on FPBIT and DPBIT. |
| * mklibgcc.in: Rewrite to not use functions. Don't shortcut |
| dependencies on FPBIT and DPBIT. |
| |
| 2000-05-10 Nick Clifton <nickc@redhat.com> |
| |
| * flow.c (find_auto_inc): Do not bias REG_N_REFS by loop_depth |
| when optimising for size. |
| (mark_used_regs:) Ditto. |
| (try_pre_increment_1): Ditto. |
| |
| 2000-05-10 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppexp.c (lex): Use %.*s to print non-NUL-terminated string. |
| Make error message friendlier. |
| |
| * cpphash.h (struct hashnode): Use struct hack for name |
| member. |
| * cpphash.c (struct hashdummy): New. |
| (eq_HASHNODE): Second argument is a hashdummy, not a HASHNODE. |
| (make_HASHNODE): No need to set ->name pointer. Correct |
| setting of p. |
| (cpp_lookup): Make 'dummy' a struct hashdummy. Tidy up a bit. |
| |
| 2000-05-10 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (find_basic_blocks_1): Remove any spare bb_note |
| after completion. |
| |
| 2000-05-10 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/gnu-regex.c: reg_syntax_t re_syntax_options must be static |
| |
| 2000-05-10 Eric Schweitz <schweitz@nortelnetworks.com> |
| |
| * dwarfout.c (dwarfout_finish): Call retry_incomplete_types |
| after we enter .debug. |
| |
| 2000-05-10 Jason Merrill <jason@casey.cygnus.com> |
| |
| * dwarf2out.c (gen_subprogram_die): Fixup die_parent for the |
| abstract instance of a nested inline function. |
| |
| * stor-layout.c (finish_record_layout): finalize_type_size |
| before laying out the pending_statics. |
| |
| Wed 10 May 09:36:47 2000 Neil Booth <NeilB@earthling.net> |
| |
| * cpplex.c (spell_token): New function. |
| (spell_string, spell_comment, spell_name): fold into |
| spell_token. |
| (I, S): Add macros. |
| (E, H): Remove macros. |
| (save_comment): Save comment opening characters too. |
| (_cpp_lex_file): Update to use spell_token. Tidy up comment |
| handling. |
| * cpplib.h (I, S): Add macros. |
| (E, H): Remove macros. |
| (TTYPE_TABLE): Update entries for new speller. |
| (SYNTAX_ASSERT): Remove. |
| |
| Wed 10 May 09:08:30 2000 Neil Booth <NeilB@earthling.net> |
| |
| * cpplex.c (_cpp_lex_line): Maintain PREV_WHITESPACE flag |
| when removing escaped newlines. Reverse sense of test for |
| escaped newline. |
| |
| 2000-05-09 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (find_basic_blocks_1): Do not delete the first |
| bb_note we run across. |
| (create_basic_block): Use reorder_insns to move an existing |
| bb_note to the correct place. |
| |
| 2000-05-09 Richard Henderson <rth@cygnus.com> |
| |
| * calls.c (expand_call): Increment currently_expanding_call |
| before calling optimize_tail_recursion. |
| |
| Tue May 9 18:54:16 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * reload1.c (reload_combine): Fix errors in last change. |
| |
| 2000-05-09 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * gcc.c (used_arg): Skip over a semicolon at the end of the |
| split-up loop; don't break out of it. |
| |
| * Makefile.in (WARN_CFLAGS): Add -Wwrite-strings. |
| (tree.o): Depend on output.h. |
| |
| * c-decl.c (pending_invalid_xref_file, |
| current_function_prototype_file): Constify. |
| (pushdecl): Constify a local char *. |
| (define_label): Constify filename parameter. |
| * c-lex.c (init_parse): Constify parameter and return value. |
| * c-typeck.c (c_expand_asm_operands): Constify filename parameter. |
| * c-tree.h: Update prototypes. |
| * c-parse.in: Constify filename member of %union, and if_stmt_file. |
| * c-parse.y, c-parse.c, c-parse.h, objc/objc-parse.y, |
| objc/objc-parse.c: Regenerate. |
| |
| * dwarfout.c (dwarfout_init): Constify main_input_filename parameter. |
| * dwarfout.h: Update prototypes. |
| * expr.c (expand_expr): Constify a local char *. |
| * flags.h: Constify main_input_filename. |
| * function.c (expand_function_end): Constify filename parameter. |
| * genrecog.c (make_insn_sequence): Use a character array for |
| c_test_pos. |
| (main): Remove unused variables. |
| * input.h: Constify input_filename, main_input_filename, and |
| file_stack.name. Update prototypes. |
| * output.h: Declare first_global_object_name and |
| weak_global_object_name here, as const char *. |
| * stmt.c (expand_asm_operands): Constify filename parameter. |
| * toplev.c (compile_file, push_srcloc, debug_start_source_file): |
| Constify filename parameter. |
| (input_filename, main_input_filename): Constify. |
| * toplev.h: Update prototypes. |
| * tree.c: Include output.h. Don't declare |
| first_global_object_name or weak_global_object_name. Clean up string |
| bashing in get_file_function_name_long. |
| * tree.h (struct tree_decl): Constify filename member. |
| (input_filename): Constify. |
| Update prototypes. |
| * varasm.c (first_global_object_name, weak_global_object_name): |
| Constify. |
| (assemble_start_function, assemble_variable): Clean up string bashing. |
| |
| * gcc.c: Constify all spec-related strings initialized, |
| transitively, from string constants. Constify all strings |
| and string variables related to multilibs. |
| (set_spec, read_specs): Cast argument to free to PTR. |
| (used_arg): Do not modify multilib_matches. Use strncmp plus |
| length comparison to compare multilib switches. |
| * genmultilib: Constify everything declared in multilib.h. |
| |
| Tue May 9 22:28:03 2000 Denis Chertykov <denisc@overta.ru> |
| |
| * flow.c (flow_delete_insn): Use INSN_DELETED_P for marking insn |
| as deleted. |
| |
| Tue May 9 20:52:43 2000 Denis Chertykov <denisc@overta.ru> |
| |
| * config/avr/avr-protos.h (extra_constraint): change a type of |
| second argument from char to int to avoid warnings. |
| (asm_output_byte): Likewise. |
| |
| * config/avr/avr.c (MAX_LD_OFFSET) New macro. |
| (initial_elimination_offset): Handle elimination from |
| FRAME_POINTER_REGNUM to STACK_POINTER_REGNUM. |
| (legitimate_address_p): Use MAX_LD_OFFSET. |
| (legitimize_address): Likewise. |
| (out_movqi_r_mr): Likewise. |
| (out_movhi_r_mr): Likewise, use `fatal_insn' instead of `fatal'. |
| (out_movsi_r_mr): Use MAX_LD_OFFSET. |
| (out_movsi_mr_r): Likewise. |
| (out_movqi_mr_r): Likewise. |
| (out_movhi_mr_r): Likewise. |
| (notice_update_cc): Correct CC for the ashrqi3 with the shift |
| count as CONST_INT != 6. |
| (ashlqi3_out): Coding style modifications. Run `fatal_insn' if |
| shift count is a CONSTANT_P, but not a CONST_INT. |
| (ashlhi3_out): Coding style modifications. |
| (ashlsi3_out): Likewise. |
| (ashrhi3_out): Likewise. |
| (ashrsi3_out): Likewise. |
| (lshrhi3_out): Likewise. |
| (lshrsi3_out): Likewise. |
| (ashrqi3_out): Generate shift for any known constant count without |
| scratch register. Run `fatal_insn' if shift count is a CONSTANT_P, |
| but not a CONST_INT. |
| (lshrqi3_out): Coding style modifications. Run `fatal_insn' if |
| shift count is a CONSTANT_P, but not a CONST_INT. |
| (extra_constraint): change a type of |
| second argument from char to int to avoid warnings. |
| (asm_output_byte): Likewise. |
| (asm_file_end): Output size generated commands count as a hex |
| number too. |
| |
| * config/avr/avr.h (RETURN_ADDR_RTX): New macro. |
| |
| * config/avr/avr.md (addhi3): Fragment commented by &&0 is |
| removed. |
| (ashlqi3): Values of "length" attribute changed. Shift count |
| uses constraints 'n' instead of 'i'. |
| (ashrqi3): Likewise. Values of "cc" attribute changed. Generate |
| shifts without clobber register. |
| (lshrqi3): Shift count uses constraints 'n' instead of 'i'. |
| (call_insn): Correct test for which_alternative == 1 (was 0). |
| (call_value_insn): Likewise. |
| |
| * config/avr/t-avr: Remove definition of FLOAT while generates |
| fp-bit.c |
| |
| 2000-05-09 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/check.tpl: Template for checking fixes |
| * fixinc/inclhack.def: Added 'test_text' for many fixes |
| disable hpux8_bogus_inlines on SCO |
| * fixinc/fixinc.sco: Oh, yes, we don't need this any more. |
| |
| Tue May 9 16:30:27 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * calls.c (expand_call): Reorganize somewhat in order |
| to avoid unnecesary recalculation inside loop and make |
| tail call failure code cleaner. |
| |
| Tue May 9 06:30:20 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * alias.c (nonlocal_reference_p): Minor reformatting. |
| * reload.c (find_equiv_reg): Simplify logic for |
| CALL_INSN_FUNCTION_USAGE since can't have SUBREG or pseudos and |
| some some reformatting. |
| * reload1.c (reload_combine): Don't assume everything in |
| CALL_INSN_FUNCTION_USAGE is a REG and clean up code a bit. |
| |
| 2000-05-08 Richard Henderson <rth@cygnus.com> |
| |
| * final.c (current_insn_predicate): New. |
| (final_scan_insn): Set it. |
| * output.h (current_insn_predicate): Declare. |
| |
| * ifcvt.c (cond_exec_process_insns): New argument prob_val. |
| Attach it to call insns. |
| (cond_exec_process_if_block): Track probability for true and |
| false branches. |
| (dead_or_predicable): Likewise. |
| |
| * predict.c (PROB_NEVER, PROB_VERY_UNLIKELY): New. |
| (PROB_UNLIKELY, PROB_EVEN, PROB_LIKELY): New. |
| (PROB_VERY_LIKELY, PROB_ALWAYS): New. |
| (estimate_probability, expected_value_to_br_prob): Use them. |
| |
| * config/ia64/ia64-protos.h (ia64_expand_prediction): Declare. |
| * config/ia64/ia64.c (ia64_print_operand_address): Handle 'j'. |
| (ia64_expand_prediction): New. |
| (emit_insn_group_barriers): Don't look at notes. Emit barriers |
| as needed after calls. |
| (ia64_epilogue_uses): Mark b0 used. |
| * config/ia64/ia64.md (beq_true, beq_false): Remove. |
| (bne_true, bne_false): Remove. |
| (eq_return, eq_not_return, ne_return, ne_not_return): Remove. |
| (br_true, br_false): New. Use predicate_operator and |
| ia64_expand_prediction. |
| (return_true, return_false): Likewise. |
| (call_internal): Use ia64_expand_prediction. Don't emit stop bit. |
| (call_internal1, call_value_internal): Likewise. |
| (call_value_internal1, call_multiple_values_internal1): Likewise. |
| |
| * config/ia64/ia64.c (ia64_direct_return): Require frame size zero. |
| |
| * config/ia64/ia64.md (extendsfdf2): Split only after reload. |
| |
| 2000-05-08 Richard Henderson <rth@cygnus.com> |
| |
| * rtlanal.c (may_trap_p): Consider old-style and volatile |
| asms to trap. |
| |
| Mon May 8 17:16:48 2000 Jim Wilson <wilson@cygnus.com> |
| |
| * config/ia64/ia64.h (RETURN_ADDR_RTX): Use COUNT not count. |
| |
| 2000-05-08 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64.h (predicate_operator): Declare. |
| |
| * config/ia64/ia64.md (extendsfdf2): Split the nop case out |
| of existence. |
| |
| * gensupport.c (process_rtx): Copy and post-process each member |
| of the define_insn rtvec individually. |
| |
| Mon 8 May 22:17:35 2000 Neil Booth <NeilB@earthling.net> |
| |
| * cpplex.c (spell_token): New function. |
| (TOKEN_LEN): Add 1 for whitespace. |
| (_cpp_lex_file): Update to use spell_token. |
| * cpplib.h (E): Remove. |
| (TTYPE_TABLE): Update CPP_VSPACE entry. |
| |
| 2000-05-08 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (init_propagate_block_info): Watch out for conditional |
| branch to next instruction, and thus one outgoing edge. |
| |
| * config/ia64/ia64.c (ia64_encode_section_info): Exit early |
| for global register variables; don't special case __[CD]TOR_LIST__; |
| mind ggc_p for string allocation. |
| |
| 2000-05-08 Nick Clifton <nickc@cygnus.com> |
| |
| * config/i386/i386.h (ELIMINABLE_REGS): Fix comment. |
| |
| 2000-05-08 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/mkfixinc.sh: fixinc.sco is no longer used |
| i?86-*-msdosdjgpp* no longer uses fixincludes |
| * fixinc/genfixes: inclhack.sh and fixincl.sh are no longer generated |
| * fixinc/inclhack.sh: deleted |
| * fixinc/hackshell.tpl: deleted |
| * fixinc/inclhack.tpl: deleted |
| * fixinc/Makefile.in: Remove dependencies on above |
| * fixinc/fixincl.sh: "DO NOT EDIT" text modified |
| |
| 2000-05-08 Andreas Jaeger <aj@suse.de> |
| |
| * config/mips/linux.h: Remove undefines which disabled .ctor/.dtor |
| support. |
| |
| 2000-05-07 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * Makefile.in (LOOSE_CFLAGS): Add /g modifiers to both sed |
| substitutions. |
| |
| Sun 7 May 08:43:53 2000 Neil Booth <NeilB@earthling.net> |
| |
| * cpplex.c: Move new lexer definitions and prototypes |
| to top. Conditional include these and the code if |
| NEW_LEXER is defined. Rename functions whose names |
| clash if this code included. |
| |
| Sun May 7 00:54:57 EDT 2000 John Wehle (john@feith.com) |
| |
| * rtl.def (COND_EXEC): Clarify. |
| |
| * i386.md (extendsidi2): Clobber (reg:CC 17) in the |
| same fashion as zero_extendsidi2. |
| |
| 2000-05-06 Richard Henderson <rth@cygnus.com> |
| |
| * config/ia64/ia64.c (predicate_operator): New. |
| (ia64_print_operand): Handle 'J'. |
| (rtx_needs_barrier): Handle COND_EXEC. |
| * config/ia64/ia64.h (BRANCH_COST): Define. |
| (PREDICATE_CODES): Update. |
| * config/ia64/ia64.md: Document used unspec values. |
| (attr predicable): New. |
| (movxf, movxf_internal): New. |
| (extendsfdf2): Don't comment out nop. |
| (floatdidf2): Remove. |
| (truncxfsf2, truncxfdf2, floatdixf2): New. |
| (abssi2, absdi2): Put the neg in the "true" slot. |
| (conditional branch instructions): Mark not predicable. |
| (cmov*_internal): Use predicate_operator. Split to cond_exec. |
| (abs*_internal): Likewise. |
| (alloc, set_bsp): Mark not predicable. |
| (barrier, insn_group_barrier, flush_cache): Likewise. |
| (define_cond_exec): New. |
| |
| 2000-05-06 Richard Henderson <rth@cygnus.com> |
| |
| * c-decl.c: Include "tm_p.h". |
| |
| * config/ia64/ia64-protos.h: Rearrange decls to reduce ifdef madness. |
| (fetchadd_operand, ia64_expand_fetch_and_op): Declare. |
| (ia64_expand_op_and_fetch): Declare. |
| * config/ia64/ia64.c: Include "toplev.h". Kill trailing whitespace. |
| (setjmp_operand): Constify variables for XSTR. |
| (ia64_encode_section_info): Likewise. |
| (ia64_print_operand): Use %d for exact_log2; cast 32-bit printed |
| values to int. |
| (ia64_asm_output_external): Constify name. |
| (process_set): Use HOST_WIDE_INT_PRINT_DEC for frame size. |
| (process_for_unwind_directive): Provide switch default. |
| (ia64_expand_compare_and_swap): Remove unused variables. |
| (ia64_expand_builtin): Likewise. |
| * config/ia64/ia64.h (ASM_OUTPUT_BYTE): Mask and cast value to int |
| for printing. |
| |
| * config/ia64/ia64.c (sdata_symbolic_operand): Mark unused args. |
| (symbolic_operand, function_operand, setjmp_operand): Likewise. |
| (shift_count_operand, shift_32bit_count_operand): Likewise. |
| (shladd_operand, fetchadd_operand, ia64_function_prologue): Likewise. |
| (ia64_function_epilogue, ia64_setup_incoming_varargs): Likewise. |
| (ia64_function_arg_partial_nregs, ia64_function_value): Likewise. |
| (ia64_print_operand_address, ia64_secondary_reload_class): Likewise. |
| (ia64_expand_builtin): Likewise. |
| (call_multiple_values_operation): Make dest_regno unsigned. |
| |
| 2000-05-06 Richard Henderson <rth@cygnus.com> |
| |
| * rtl.def (DEFINE_COND_EXEC): New. |
| * md.texi: Document it. |
| |
| * gensupport.c (input_file): Remove. |
| (struct queue_elem): Add lineno. |
| (rtx_ready_queue): Remove. |
| (errors): New. |
| (predicable_default): New. |
| (predicable_true, predicable_false): New. |
| (define_attr_queue, define_attr_tail): New. |
| (define_insn_queue, define_insn_tail): New. |
| (define_cond_exec_queue, define_cond_exec_tail): New. |
| (other_queue, other_tail): New. |
| (queue_pattern): New. |
| (process_rtx): Add patterns to the appropriate queues. |
| (is_predicable, identify_predicable_attribute): New. |
| (n_alternatives, collect_insn_data): New. |
| (alter_predicate_for_insn, alter_test_for_insn): New. |
| (shift_output_template, alter_output_for_insn): New. |
| (process_one_cond_exec, process_define_cond_exec): New. |
| (init_md_reader): Read the entire file. Process define_cond_exec. |
| (read_md_rtx): Return elements from the queues. |
| |
| 2000-05-06 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (mark_set_1): Don't update conditional life info |
| if the register is not_dead. |
| |
| 2000-05-06 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * Makefile.in (STAGESTUFF): Add genrtl.c and genrtl.h. |
| (mostlyclean): Also delete fixincl, fixinc.sh, and |
| specs.ready, and make clean in the fixinc subdir. |
| |
| 2000-05-06 Richard Henderson <rth@cygnus.com> |
| |
| * Makefile.in (gensupport.o): Compile for the host. |
| (host-prefix gensuuprt.o): Remove. |
| (genflags.o): Depend on gensupport.h and OBSTACK_H. |
| (genattrtab.o): Likewise. |
| (gencodes.o): Depend on gensupport.h. |
| (genemit.o, genopinit.o, genrecog.o, genextract.o): Likewise. |
| (genpeep.o, genattr.o, genoutput.o): Likewise. |
| |
| * gensupport.c (obstack, rtl_obstack): New. |
| (init_md_reader): Initialize rtl_obstack. |
| * gensupport.h (rtl_obstack): Declare. |
| (message_with_line): Declare. |
| |
| * genattr.c: Remove all traces of obstack manipulation. |
| * gencodes.c, genconfig.c, genemit.c, genextract.c: Likewise. |
| * genopinit.c, genoutput.c, genpeep.c, genrecog.c: Likewise. |
| |
| * genattrtab.c (obstack, rtl_obstack): Remove. |
| (main): Don't init rtl_obstack. |
| * genflags.c: Likewise. |
| |
| * genrecog.c (message_with_line): Move ... |
| * gensupport.c: ... here. |
| |
| 2000-05-06 Richard Henderson <rth@cygnus.com> |
| |
| * c-typeck.c (build_c_cast): Remove dead code. |
| |
| 2000-05-06 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (split_edge): Don't allocate global_live_at_start for |
| the new block unless the old blocks had them as well. |
| |
| * flow.c (mark_set_1): Respect not_dead when updating reg_live. |
| |
| * ifcvt.c (noce_process_if_block): Don't use an insn_b from |
| test_bb if a or b uses x. |
| |
| 2000-05-06 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpphash.h: Remove conditional #define of __extension__. |
| * rtl.h: Add __extension__ to RTL_CHECK1, RTL_CHECK2, |
| RTL_CHECKC1, RTL_CHECKC2, and RTVEC_ELT macros |
| (ENABLE_RTL_CHECKING only). |
| * tree.h: Add __extension__ to TREE_CHECK, TREE_CLASS_CHECK, |
| CST_OR_CONSTRUCTOR_CHECK, and EXPR_CHECK macros |
| (ENABLE_TREE_CHECKING only). |
| * varray.h: Add __extension__ to VARRAY_CHECK macro |
| (ENABLE_CHECKING only). |
| |
| 2000-05-06 Richard Earnshaw (reanrsha@arm.com) |
| |
| Use new tail-calling mechanism on ARM. |
| * arm.md (sibcall, sibcall_value): New expands. |
| (sibcall_insn, sibcall_value_insn, sibcall_epilogue): New insns. |
| (tailcalling peepholes): Delete. |
| (push_multi): Simplify. |
| * arm.c (lr_save_eliminated): Delete definition. |
| (pattern_really_clobbers_lr, function_really_clobbers_lr): Delete. |
| (output_return_instruction): Remove checks on lr_save_eliminated. |
| (output_arm_prologue): Remove old tail-calling code. |
| (arm_output_epilogue): New parameter, really_return. All callers |
| changed. Handle tail-calling epilogues. |
| * arm.h (lr_save_eliminated): Delete declaration. |
| (frame_pointer_needed): Delete declaration. |
| * arm-protos.h (arm_output_epilogue): Adjust prototype. |
| |
| * arm.md (is_thumb): Examine symbol thumb_code, not expression |
| TARGET_ARM. |
| * arm.c (thumb_code): Define it. |
| (arm_override_options): Set it. |
| * arm.h (thumb_code): Declare it. |
| |
| 2000-05-06 Richard Earnshaw (reanrsha@arm.com) |
| |
| * arm-protos.h (arm_dllexport_name_p, arm_dllimport_name_p): Constify. |
| |
| 2000-05-06 Richard Earnshaw (reanrsha@arm.com) |
| |
| * arm.c (arm_gen_load_multiple, arm_gen_store_mulitple): Don't add |
| bogus clobber to insns. |
| (load_multiple_operation, store_mulitple_operation): Don't check |
| for it. |
| * arm.md (ldmsi_postinc, stmsi_postinc): Adjust accordingly. |
| |
| * arm.md (and_scc, ior_scc): Add missing mode. |
| |
| * arm.md (call_value_symbol): Remove predicate from op2. |
| |
| * arm.h (SPECIAL_MODE_PREDICATES): Define. |
| |
| Sat May 6 06:25:56 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * expr.c (get_subtarget): New function. |
| (force_operand, expand_expr, do_store_flag): Use it. |
| |
| * toplev.c (compile_file): Don't take strlen of NAME if null. |
| |
| 2000-05-06 David Edelsohn <edelsohn@gnu.org> |
| |
| * xcoffout.c (xcoff_current_include_file, |
| xcoff_current_function_file, xcoff_lastfile): Constify char *. |
| (xcoffout_source_file, xcoffout_source_line): Make filename 'const |
| char *'. |
| (xcoffout_declare_function): Make name 'const char *'. |
| (xcoffout_end_epilogue): Make fname 'const char *' |
| * xcoffout.h (xcoff_current_include_file, xcoff_lastfile, |
| xcoffout_declare_function, xcoffout_source_line): Match above. |
| |
| * aix43.h (SUBTARGET_OVERRIDE_OPTIONS): -mpowerpc64 without |
| -maix64 is error. |
| * rs6000.c (print_operand): Fix lossage typo. |
| (output_cbranch): Remove "cr" decoration for now. |
| * rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Make alias 'const char *'. |
| |
| Sat May 6 06:55:32 2000 Denis Chertykov <denisc@overta.ru> |
| |
| * config/avr/avr.c (out_shift_with_cnt): Bugfix for shift by |
| constant count. |
| |
| 2000-05-05 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/genfixes: Improve the matching for make target names |
| |
| 2000-05-05 Catherine Moore <clm@cygnus.com> |
| |
| * c-common.c (decl_attributes): For TYPE_DECLs attach the |
| attribute to the decl. |
| * c-decl.c (pushdecl): Propagate the USED attribute to the |
| type copy. |
| |
| 2000-05-05 Richard Henderson <rth@cygnus.com> |
| |
| * rtlanal.c (reg_overlap_mentioned_p): Treat parallels in the |
| same way emit_group_load does. |
| |
| 2000-05-05 Mark Elbrecht <snowball3@bigfoot.com> |
| |
| * gcc.c (set_input) [HAVE_DOS_STYLE_FILE_SYSTEM]: Skip drive name. |
| |
| * toplev.c (output_file_directive): Use IS_DIR_SEPARATOR. |
| (main): Likewise. |
| |
| 2000-05-05 Rodney Brown <RodneyBrown@mynd.com> |
| |
| * pa.h (FUNCTION_ARG_ADVANCE): Warning removal. |
| |
| Fri May 5 10:29:21 2000 Marc Espie <espie@cvs.openbsd.org> |
| |
| * config/openbsd.h (LINK_SPEC): pass correct flags to ld |
| to support -shared, on platforms with dynamic libraries. |
| |
| Fri May 5 10:27:06 2000 Philippe De Muyter <phdm@macqel.be> |
| |
| * system.h (S_ISBLK): Provide fallback definition. |
| |
| 2000-05-05 Geoff Berry <geoffb@bops.com> |
| |
| * extend.texi (Extended Asm): Document inability to give asm |
| statements access to condition codes. |
| |
| 2000-05-05 Marek Michalkiewicz <marekm@linux.org.pl> |
| |
| * varasm.c (asm_emit_uninitialised): Use 0, not NULL |
| as arg 2 of UNIQUE_SECTION. |
| |
| Fri May 5 10:11:41 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * predict.c: Remove May 4 change. |
| * bb-reorder.c (make_reorder_chain): Do not perform block movement |
| if we have predicted the branch at 50-50 probability. |
| |
| 2000-05-05 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (init_propagate_block_info): Fix merge error |
| in HAVE_conditional_execution code. |
| |
| Fri May 5 07:43:50 2000 Denis Chertykov <denisc@overta.ru> |
| |
| * config/avr/avr.c (out_shift_with_cnt): Genetare a more optimal |
| shift cycle for unknown shift count. Also generates dec + brpl. |
| (ashlqi3_out): Don't generate dec + brpl which now generates by |
| `out_shift_with_cnt'. |
| (ashlhi3_out): Likewise. |
| (ashlsi3_out): Likewise. |
| (ashrqi3_out): Likewise. |
| (ashrhi3_out): Likewise. |
| (ashrsi3_out): Likewise. |
| (lshrqi3_out): Likewise. |
| (lshrhi3_out): Likewise. |
| (lshrsi3_out): Likewise. |
| |
| 2000-05-04 Mark Elbrecht <snowball3@bigfoot.com> |
| |
| * gcc.c (free_split_directories): Correct typo in explanation |
| of make_relative_prefix. |
| |
| 2000-05-04 Geoff Keating <geoffk@cygnus.com> |
| |
| * config/rs6000/rs6000.h (PREDICATE_CODES): Add floating-point |
| comparison codes to branch_comparison_operator. |
| |
| 2000-05-04 Richard Henderson <rth@cygnus.com> |
| |
| * ifcvt.c (noce_process_if_block): Always reset X in the A == B case. |
| |
| 2000-05-04 Richard Henderson <rth@cygnus.com> |
| |
| * Makefile.in (FPBIT_FUNCS): Remove _df_to_usi. |
| (DPBIT_FUNCS): Remove _sf_to_usi. |
| (stmp-multilib): Pass LIB1ASMSRC to libgcc.mk. |
| |
| * ifcvt.c (noce_process_if_block): Fail if A or B modified |
| between condition and jump. |
| |
| * libgcc2.c (near eh_context_specific): Comment #endif string. |
| * longlong.h: Don't use strings with embedded newlines. |
| |
| 2000-05-04 Geoff Keating <geoffk@cygnus.com> |
| |
| * config/rs6000/rs6000-protos.h: Add output_cbranch. |
| * config/rs6000/rs6000.c (ccr_bit_negated_p): Delete. |
| (print_operand): Delete %t and %T codes. |
| (output_cbranch): New function. Support branch prediction. |
| * config/rs6000/rs6000.md: Use output_cbranch for |
| conditional branches and returns. |
| |
| 2000-05-04 Jason Merrill <jason@casey.cygnus.com> |
| |
| * simplify-rtx.c (simplify_ternary_operation): Cast to unsigned. |
| * stor-layout.c (place_field): Likewise. |
| * integrate.h (struct inline_remap): Make regno_pointer_align unsigned. |
| * expr.c (store_expr): Make align unsigned. |
| * explow.c (plus_constant_wide): Make low words unsigned. |
| * expmed.c (choose_multiplier): Likewise. |
| * fold-const.c (fold): Likewise. |
| * tree.h (build_int_2): Likewise. |
| * tree.c (build_int_2_wide, tree_int_cst_msb): Likewise. |
| * emit-rtl.c (gen_reg_rtx): Add cast to unsigned char*. |
| (init_emit): Change cast to unsigned char*. |
| * varasm.c (compare_constant_1): Add cast to char*. |
| * gcse.c (delete_null_pointer_checks): Change cast to unsigned int*. |
| * reload1.c (reload): Likewise. |
| |
| * rtl.h (MEM_SET_IN_STRUCT_P): Use do { } while (0). |
| |
| Thu May 4 14:37:23 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * predict.c (estimate_probability): If no prediction was found, then |
| predict the successor that is the next physical block (if such a |
| successor exists). |
| |
| 2000-05-04 Richard Henderson <rth@cygnus.com> |
| |
| * config/alpha/t-alpha (LIB2FUNCS_EXTRA): Use qrrnd.asm in place. |
| |
| 2000-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * system.h: Don't wrap <sys/types.h> with HAVE_SYS_TYPES_H. |
| |
| 2000-05-04 Mumit Khan <khan@xraylith.wisc.edu> |
| |
| * i386/cygwin.h (CPP_PREDEFINES): Don't define __STDC__. Move |
| attribute macros from here ... |
| (CPP_SPEC): to here. |
| * i386/mingw32.h (CPP_PREDEFINES): Likewise. |
| (CPP_SPEC): Likewise. |
| * i386/crtdll.h (CPP_PREDEFINES): Delete attribute macros. |
| |
| * Makefile.in ($(HOST_PREFIX_1)gensupport.o): Add build rule. |
| (libgcc.a): Pass LIB1ASMSRC to libgcc.mk. |
| |
| 2000-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * bb-reorder.c (get_next_bb_note, get_prev_bb_note): Prototype. |
| |
| * diagnostic (vbuild_message_string, build_message_string, |
| build_location_prefix, output_get_prefix, init_output_buffer, |
| output_notice, vline_wrapper_message_with_location, |
| v_message_with_decl, default_print_error_function): De-constify. |
| (set_real_maximum_length): Prototype. |
| |
| * diagnostic.h (struct output_buffer, init_output_buffer, |
| output_get_prefix, output_set_prefix): De-constify. |
| |
| * function.c (init_function_start): Constify. |
| |
| * gensupport.c (remove_constraints, process_rtx): Prototype. |
| |
| * gthr-posix.h: Indent uses of #pragma. |
| |
| * objc/objc-act.c (ggc_mark_imp_list, ggc_mark_hash_table): |
| Prototype. |
| |
| * predict.c (find_expected_value): Delete prototype. |
| (expected_value_to_br_prob): Initialize variable `ev_reg'. |
| |
| * sbitmap.h (debug_sbitmap): Prototype. |
| |
| * ssa.c (compute_coalesced_reg_partition): Prototype. |
| |
| * stor-layout.c (debug_rli): Prototype. |
| |
| * tree.h (round_down): Prototype. |
| (init_function_start): Constify. |
| |
| 2000-05-04 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpphash.h: #define __extension__ away if GCC_VERSION < 2095 |
| (overly conservative). Change extern inline wrappers to |
| static inline, define them always, use PARAMS properly. |
| * cpplex.c (_cpp_get_directive_token): Don't issue pedantic |
| whitespace warnings for \f and \v at the beginning of a line. |
| |
| Thu May 4 10:03:50 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * haifa-sched.c (schedule_insns): Free the flow edge list when it |
| is no longer needed |
| |
| 2000-05-04 Bruce Korb <bkorb@gnu.org> |
| |
| * fixincl/inclhack.def: added broken_cabs - |
| Remove `extern double cabs' declarations from math.h |
| * fixincl/inclhack.sh: regen |
| * fixincl/fixincl.x: regen |
| * fixincl/fixincl.c: Remove BOGOSITY code |
| * fixincl/mkfixinc.sh: Remove code for installing "shell" version |
| |
| Thu May 4 09:45:12 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * rtl.h (MEM_COPY_ATTRIBUTES): Also copy RTX_UNCHANGING_P and |
| MEM_ALIAS_SET. |
| * alias.c (canon_rtx): Don't copy RTX_UNCHANGING_P or MEM_ALIAS_SET |
| when calling MEM_COPY_ATTRIBUTES. |
| * emit-rtl.c (operand_subword, change_address): Likewise. |
| * explow.c (stabilize): Likewise. |
| * expr.c (protect_from_queue, emit_move_insn_1): Likewise. |
| * integrate.c (copy_rtx_and_substitute): Likewise. |
| * combine.c (combine_simplify_rtx): Don't copy RTX_UNCHANGING_P |
| when calling MEM_COPY_ATTRIBUTES. |
| (make_extraction, simplify_shift_const, gen_lowpart_for_combine): |
| Likewise. |
| * cse.c (gen_lowpart_if_possible): Likewise. |
| * function.c (fixup_var_refs_1, purge_addressof_1): Likewise. |
| * optabs.c (gen_move_insn): Likewise. |
| * recog.c (validate_replace_rtx_1): Likewise. |
| * simplify-rtx.c (add_mem_for_addr): Likewise. |
| * stmt.c (expand_anon_union_decl): Likewise. |
| * config/arm/arm.md: Likewise. |
| * config/h8300/h7300.c (fix_bit_operand): Likewise. |
| * config/m88k/m88k.c (legitimize_address, block_move_loop): Likewise. |
| (block_move_no_loop, block_move_sequence): Likewise. |
| * config/rs6000/rs6000.c (expand_block_move_mem): Likewise. |
| * config/alpha/alpha.c (get_aligned_mem): Likewise. |
| Clear MEM_ALIAS_SET. |
| * final.c (alter_subreg): Don't copy MEM_ALIAS_SET when calling |
| MEM_COPY_ATTRIBUTES. |
| |
| 2000-05-03 Robert Lipe <robertlipe@usa.net> |
| |
| * configure.in (i[34567]86-*-isc*) [tmake_file]: Add t-i386bare |
| to suppress libgcc1. |
| (i[34567]86-*-sco3.2v5*) Likewise. |
| (i[34567]86-*-sco3.2v4*) Likewise. |
| (i[34567]86-*-sco) Likewise. |
| (i[34567]86-*-solaris2) Likewise. |
| (i[34567]86-*-sysv5*) Likewise. |
| (i[34567]86-*-sysv4*) Likewise. |
| (i[34567]86-*-udk*) Likewise. |
| (i[34567]86-*-sysv*) Likewise. |
| |
| 2000-05-03 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpphash.h (U): New define, to correct type of string constants. |
| (ustrcmp, ustrncmp, ustrlen, uxstrdup, ustrchr): New wrapper |
| routines, to do casts when passing unsigned strings to libc. |
| * cppexp.c, cppfiles.c, cpphash.c, cppinit.c, cpplib.c: Use them. |
| |
| * cppfiles.c (_cpp_execute_include): Make filename an U_CHAR *. |
| * cpphash.c (_cpp_quote_string): Make string an U_CHAR *. |
| * cppinit.c (dump_special_to_buffer): Make macro name an U_CHAR *. |
| * cpplex.c (parse_ifdef, parse_include, validate_else): Make |
| second argument an U_CHAR *. |
| |
| * cppinit.c (builtin_array): Make name and value U_CHAR *, add |
| length field, clean up initializer. |
| (ISTABLE): Add __extension__ to designated- |
| initializers version. |
| * cpplex.c (CHARTAB): Likewise. |
| |
| * mbchar.c: Add dummy external declaration to the !MULTIBYTE_CHARS |
| case so the file won't be empty. |
| |
| Wed May 3 21:01:46 2000 Jason Eckhardt <jle@cygnus.com> |
| |
| * bb-reorder.c (struct reorder_block_def): Member succ removed. |
| (REORDER_BLOCK_SUCC): Removed. |
| (enum reorder_skip_type): Removed. |
| (skip_insns_between_block): Renamed to skip_insns_after_block. |
| Removed second argument. Removed dead code and cleaned up. |
| (make_reorder_chain): Removed use of REORDER_BLOCK_SUCC. |
| (reorder_basic_blocks): Remove use of REORDER_SKIP_AFTER. Removed |
| second parameter to skip_insns_after_block. |
| |
| Wed May 3 13:29:54 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * tree.c (staticp, case LABEL_DECL): New case. |
| |
| 2000-05-03 Richard Henderson <rth@cygnus.com> |
| |
| * Makefile.in (start.encap): Do not depend on LIBGCC1. |
| |
| * mklibgcc1.in: Fix typo last change. |
| |
| 2000-05-03 Jason Merrill <jason@casey.cygnus.com> |
| |
| * Makefile.in (WARN_CFLAGS): Add -pedantic -Wno-long-long. |
| (LOOSE_CFLAGS): New: CFLAGS without -pedantic and -Wtraditional. |
| (GCC_CFLAGS): Use it. |
| (LANG_FLAGS_TO_PASS): New: SUBDIR_FLAGS_TO_PASS with LOOSE_CFLAGS. |
| * cp/Make-lang.in, java/Make-lang.in, f/Make-lang.in, ch/Make-lang.in, |
| objc/Make-lang.in: Use it. |
| |
| 2000-05-03 Jason R Thorpe <thorpej@zembu.com> |
| |
| * config/i386/i386.md (lshrqi2_cmpno): Use q not r in constraint. |
| |
| 2000-05-03 Richard Henderson <rth@cygnus.com> |
| |
| * mklibgcc.in: Restrict OLDCC=GCC test to native. Equate |
| LIBGCC1 empty with libgcc1.null. |
| |
| Wed May 3 12:55:46 2000 Jim Wilson <wilson@cygnus.com> |
| |
| * fold-const.c (extract_muldiv, case MAX_EXPR): Don't allow signedness |
| change. |
| |
| 2000-05-03 Greg McGary <gkm@gnu.org> |
| |
| * tree.h (tree_common): Add bounded_flag member. Remove |
| inaccurate comment about number of remaining bits. |
| (BOUNDED_INDIRECT_TYPE_P, BOUNDED_POINTER_TYPE_P, |
| BOUNDED_REFERENCE_TYPE_P, MAYBE_BOUNDED_INDIRECT_TYPE_P, |
| MAYBE_BOUNDED_POINTER_TYPE_P, MAYBE_BOUNDED_REFERENCE_TYPE_P, |
| TREE_BOUNDED, TYPE_MAIN_VARIANTS_PHYSICALLY_EQUAL_P, |
| TYPE_MAIN_PHYSICAL_VARIANT, TYPE_BOUNDED): New macros. |
| (TYPE_QUAL_BOUNDED): New constant. |
| (TYPE_QUALS): Handle bounded qualifier. |
| (TREE_EXPR_QUALS, TREE_FUNC_QUALS): New macros. |
| (TYPE_BOUNDED_VALUE, TYPE_BOUNDED_BASE, TYPE_BOUNDED_EXTENT, |
| TYPE_BOUNDED_SUBTYPE, TYPE_UNBOUNDED_VARIANT, TYPE_POINTER_DEPTH, |
| TYPE_AMBIENT_BOUNDEDNESS): New macros. |
| (MAX_POINTER_DEPTH, VA_LIST_POINTER_DEPTH): New constants. |
| (tree_type): Add pointer_depth member. Remove |
| inaccurate comment about number of remaining bits. |
| (DECL_POINTER_DEPTH): Add macro. |
| (tree_decl): Add pointer_depth member. |
| |
| Wed May 3 22:52:53 2000 Denis Chertykov <denisc@overta.ru> |
| |
| * config/avr/avr-protos.h (test_hard_reg_class): Declared. |
| * config/avr/avr.c (ashrhi3_out): optimized shift by 15. |
| (lshrhi3_out): Likewise. |
| (ashrsi3_out): bugfix in shift by 8. |
| (test_hard_reg_class): New function. |
| * config/avr/avr.md: Bugfix inside conditions in peepholes. |
| (ashlhi3): removed define_expand of this pattern. |
| (*ashlhi3_insn): renamed to ashlhi3. |
| (ashlsi3): removed define_expand of this pattern. |
| (*ashlsi3_insn): renamed to ashlsi3. |
| (ashrqi3): removed define_expand of this pattern. |
| (*ashrqi3_insn): renamed to ashrqi3. |
| (ashrhi3): removed define_expand of this pattern. |
| (*ashrhi3_insn): renamed to ashrhi3. |
| (ashrsi3): removed define_expand of this pattern. |
| (*ashrsi3_insn): renamed to ashrsi3. |
| (lshrhi3): removed define_expand of this pattern. |
| (*lshrhi3_insn): renamed to lshrhi3. |
| (lshrsi3): removed define_expand of this pattern. |
| (*lshrsi3_insn): renamed to lshrsi3. |
| |
| 2000-05-03 Rodney Brown <RodneyBrown@pmsc.com> |
| |
| * config/mcore/mcore.c: Replacing inclusion of "stdio,h" with |
| inclusion of "system.h". |
| |
| Wed May 3 11:43:53 2000 Jim Wilson <wilson@cygnus.com> |
| |
| * config/ia64/ia64.c (ia64_encode_section_info): Add check for |
| TREE_ASM_WRITTEN. |
| |
| 2000-05-03 David Mosberger <davidm@hpl.hp.com> |
| |
| * config/ia64/ia64.c (ia64_override_options): Force -mconstant-gp |
| if -mauto-pic is on. |
| (ia64_epilogue_uses): Mark "gp" (r1) as used by the epilogue if |
| -mconstant-gp is in effect and function-descriptors are being used |
| to make indirect calls. |
| * config/ia64/ia64.h (MASK_CONST_GP): New macro. |
| (MASK_AUTO_PIC): Ditto. |
| (TARGET_CONST_GP): Ditto. |
| (TARGET_AUTO_PIC): Ditto. |
| (TARGET_SWITCHES): Add -mconstant-gp and -mauto-pic options. |
| (ASM_OUTPUT_DOUBLE_INT): Don't generate @fptr() if -mauto-pic or |
| -mno-pic is in effect. |
| (ASM_OUTPUT_XDATA_DOUBLE_INT): Ditto. |
| * config/ia64/ia64.md (movdi): Use gen_load_gprel64() if |
| -mauto-pic is in effect. |
| (gprel64_offset): New pattern. |
| (load_gprel64): Ditto. |
| (call): Handle -mauto-pic like -mno-pic (don't use fptr). If |
| -mconstant-gp is in effect, no need to preserve gp around direct |
| calls. |
| (call_value): Ditto. |
| * config/ia64/linux.h (PROFILE_BEFORE_PROLOGUE): Define. |
| (FUNCTION_PROFILER): Define. |
| * config/ia64/sysv4.h (ASM_OUTPUT_CONSTRUCTOR): Don't generate |
| @fptr() directive when -mno-pic or -mauto-pic is in effect. |
| (ASM_OUTPUT_DESTRUCTOR): Ditto. |
| |
| 2000-05-03 Richard Henderson <rth@cygnus.com> |
| |
| * Makefile.in (STAGESTUFF): Add libgcc libgcc.mk. |
| (libgcc1.null, libgcc1.cross, libgcc1.a): Remove targets. |
| (libgcc1-asm.a, libgcc1.S, libgcc2.a): Remove targets. |
| (mklibgcc, libgcc.mk): New targets. |
| (libgcc.a): Use libgcc.mk. |
| (stmp-multilib): Likewise. |
| (stmp-multilib-sub): Remove. |
| (mostlyclean): Don't delete libgcc2 temp files. |
| * configure.in (AC_PROG_CC_C_O): Add. |
| (NO_MINUS_C_MINUS_O): Substitute it. |
| (all_outputs): Add mklibgcc. |
| * mklibgcc.in: New file. |
| |
| 2000-05-03 Jason Merrill <jason@casey.cygnus.com> |
| |
| * cppexp.c (op_t): Make an int. |
| |
| * rtlanal.c (dead_or_set_regno_p): Remove unused variable. |
| |
| * varasm.c (initializer_constant_valid_p): Fix parenthesis. |
| |
| * gensupport.c (process_rtx): Fix macros used. |
| |
| 2000-05-03 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (propagate_one_insn): Also don't PROP_REG_INFO for |
| call-clobbered registers of a call. |
| |
| Wed May 3 12:40:53 2000 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * gensupport.c: New file. |
| * gensupport.h: New file. |
| * Makefile.in (HOST_RTL): Depend on gensupport. |
| (gensupport.o) New rule. |
| * genattr.c: Use gensupport for reading .md files. |
| * genattrtab.c: Ditto. |
| * gencodes.c: Ditto. |
| * genconfig.c: Ditto. |
| * genemit.c: Ditto. |
| * genextract.c: Ditto. |
| * genflags.c: Ditto. |
| * genopinit.c: Ditto. |
| * genoutput.c: Ditto. |
| * genpeep.c: Ditto. |
| * genrecog.c: Ditto. |
| * rtl.def (define_insn_and_split): New DEF_RTL_EXPR. |
| * md.texi (Insn Splitting): Document define_insn_and_split. |
| |
| Tue May 2 00:20:30 2000 Jason Eckhardt <jle@cygnus.com> |
| |
| * flow.c (verify_flow_info): Added two more sanity checks. The |
| first checks that the blocks are numbered consecutively. The second |
| checks that n_basic_blocks is actually equal to the number of |
| basic blocks in the insn chain. |
| |
| 2000-05-03 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplib.h: Add accessor macros for token lists. |
| * cpplib.c, cpphash.c, cpplex.c: Use them. |
| |
| Wed May 3 09:29:17 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * expr.c (expand_expr, case COMPONENT_REF): Don't check for checking |
| memory usage if not in a function. |
| * varasm.c (initializer_constant_valid_p, case ADDR_EXPR): Only |
| return address if static. |
| |
| Wed May 3 13:14:49 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * ifcvt.c (noce_try_cmove_arith): Use may_trap_p to thest |
| whether address may trap. |
| |
| Tue May 2 23:38:37 2000 Jason Eckhardt <jle@cygnus.com> |
| |
| * bb-reorder (chain_reorder_blocks): Changed code to test for |
| EDGE_FALLTHRU rather than making erroneous assumption that the |
| first outgoing edge is the fall-through edge. |
| |
| Tue May 2 18:20:31 2000 Donald Lindsay <dlindsay@hound.cygnus.com> |
| |
| * config/mips/mips.c (mips_build_va_list,mips_va_start,mips_va_arg): new |
| ABI for varargs, across all MIPS. This is incompatible because the |
| va_list (__builtin_va_list) structure is different, so a compilation |
| unit passing a va_list and a compilation unit being passed one, should |
| both be compiled with the same ABI. (The old structure had two |
| pointers, now it has three.) |
| |
| Tue May 2 19:18:43 2000 Jason Eckhardt <jle@cygnus.com> |
| |
| * bb-reorder.c (struct reorder_block_def): Remove members end, |
| block_begin, and block_end. |
| (REORDER_BLOCK_OLD_END): Delete. |
| (REORDER_BLOCK_BEGIN): Delete. |
| (REORDER_BLOCK_END): Delete. |
| (chain_reorder_blocks): Remove dead code. |
| |
| Tue May 2 17:06:53 2000 Jason Eckhardt <jle@cygnus.com> |
| |
| * bb-reorder.c (remove_scope_notes): Check for both types of scope |
| notes as the end of a basic block before deleting. |
| |
| 2000-05-02 Mumit Khan <khan@xraylith.wisc.edu> |
| |
| * final.c (final_start_function): Fix spelling of "necessary". |
| |
| 2000-05-02 Jason Merrill <jason@casey.cygnus.com> |
| |
| * toplev.c (debug_ignore_block): Return int. |
| * dwarf2out.c (dwarf2out_ignore_block): Likewise. |
| * toplev.h, dwarf2out.h: Adjust. |
| * emit-rtl.c (remove_unnecessary_notes): Test return value. |
| |
| * emit-rtl.c (remove_unnecessary_notes): Fix spelling of "necessary". |
| * toplev.c, final.c, rtl.h: Adjust. |
| |
| 2000-05-02 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * aclocal.m4 (gcc_AC_CHECK_PROG_VER): New macro. |
| * configure.in: Look for makeinfo in the unified tree, then |
| for a system makeinfo which is sufficiently new. |
| * Makefile.in: If configure says makeinfo is too old, don't |
| build or install Info documentation. |
| |
| 2000-05-02 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpphash.c (collect_params): Fix off-by-one error. |
| (dump_hash_helper): Dump all four macro nodetypes. |
| |
| 2000-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| * cpphash.c (trad_stringify): Adjust p after stringification as |
| well. |
| |
| 2000-05-02 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplib.h (CPP_POP, parse_cleanup_t): Delete. |
| (cpp_buffer): Remove cleanup, seen_eof, manual_pop members. |
| |
| * cppfiles.c (file_cleanup): Delete. |
| * cpphash.c (macro_cleanup): Delete. |
| (collect_objlike_expansion, collect_funlike_expansion, |
| macarg, scan_arguments): Remove CPP_POP case. |
| |
| * cpplex.c (null_cleanup): Delete. |
| (cpp_pop_buffer): Do the work that was done in the cleanups |
| here. Call _cpp_unwind_if_stack from here. |
| (_cpp_expand_to_buffer, cpp_scan_buffer_nooutput, |
| cpp_scan_buffer): Run until we see CPP_EOF and the top of |
| stack is the buffer _below_ the one we stacked. |
| (cpp_get_token): Always pop an exhausted buffer. Return |
| CPP_EOF unless it's a macro buffer. Don't call _cpp_handle_eof. |
| * cpplib.c (skip_if_group): Don't call cpp_get_token to |
| increment the line number. |
| (_cpp_handle_eof): Rename to _cpp_unwind_if_stack. |
| |
| * fix-header.c (read_scan_file) [parsing getchar()]: Run until |
| we see CPP_EOF and the top of stack is the buffer _below_ the |
| one we stacked. |
| * scan-decls.c: Likewise. |
| |
| 2000-05-02 Andrew Haley <aph@cygnus.com> |
| |
| * config/ia64/ia64.c (ia64_encode_section_info): Handle the case |
| where this function is called for the second time on a decl that |
| has had its section info changed in such a way as to move it out |
| of small data/bss. |
| * config/ia64/ia64.h (REDO_SECTION_INFO_P): New definition. |
| |
| 2000-05-01 Richard Henderson <rth@cygnus.com> |
| |
| * ifcvt.c (dead_or_predicable): Set merge_bb->end to the insn before |
| the sequence we're moving, not to merge_bb->head. |
| |
| 2000-05-01 Richard Henderson <rth@cygnus.com> |
| |
| * configure.in (alpha*-*-linux-gnulibc1*) [tmake_file]: Remove |
| reference to alpha/t-linux. |
| (alpha*-*-linux-gnu*): Likewise. |
| * configure: Rebuild. |
| |
| * calls.c (expand_call): Don't emit reg notes for a sibcall. |
| |
| * flow.c (calculate_global_regs_live): Skip for_each_successor_phi |
| if not in SSA form. |
| |
| * ifcvt.c (if_convert): Only verify_flow_info if ENABLE_CHECKING. |
| |
| 2000-05-01 Jason Merrill <jason@casey.cygnus.com> |
| |
| * integrate.c (copy_decl_for_inlining): Copy TREE_READONLY and |
| TREE_THIS_VOLATILE. |
| |
| 2000-05-01 Richard Henderson <rth@cygnus.com> |
| |
| * ifcvt.c (noce_emit_cmove): Conditionally compile call to |
| emit_conditional_move. |
| |
| 2000-05-01 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/ia64/linux.h (LINK_SPEC): Use /lib/ld-linux-ia64.so.1 |
| as the dynamic linker. |
| |
| 2000-05-01 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppfiles.c (open_include_file): Open file in blocking mode. |
| (read_include_file): Don't fcntl(fd, F_SETFL, 0) anymore. |
| Only exclude block devices and directories. |
| |
| * cpphash.c (_cpp_make_hashnode): Rename make_HASHNODE, now |
| static. Allocate the hashnode and its string in the same |
| block of memory. |
| (del_HASHNODE): Don't free h->name. |
| (_cpp_lookup): If there is no entry for this string, create |
| one, of type T_VOID. |
| (_cpp_lookup_slot): Delete. |
| * cpphash.h: Update prototypes. |
| |
| * cpplex.c (maybe_macroexpand): Check for hp->type == T_VOID, |
| not hp == NULL. |
| * cpplib.c (do_define, do_undef, do_pragma_poison, do_assert, |
| do_unassert, cpp_defined): Use _cpp_lookup. Don't create a |
| node here, just fill in the value field properly. "Delete" |
| entries by setting the value field to T_VOID. Check for |
| hp->type == T_VOID, not hp == NULL. |
| |
| * Makefile.in (cpplib.o): Don't depend on $(HASHTAB_H). |
| * cpperror.c, cppexp.c, cpplex.c, cpplib.c: Don't include |
| hashtab.h. |
| |
| 2000-05-01 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * config/mn10300/mn10300.c (print_operand_address): Do not add |
| zero to SP. |
| |
| * config/mn10300/mn10300.c (expand_epilogue): If SP is to be |
| adjusted by less than 256 bytes, use ret regardless of having any |
| callee-saved register to restore. |
| |
| 2000-05-01 Laurynas Biveinis <lauras@softhome.net> |
| |
| * tm.texi (TARGET_HAS_F_SETFLKW): Fix typo. |
| |
| 2000-05-01 Mark Elbrecht <snowball3@bigfoot.com> |
| |
| * config/i386/djgpp.h (INT_ASM_OP): Define. |
| (CPP_PREDEFINES): Rename MSDOS to __MSDOS__. |
| (ASM_WEAKEN_LABEL): Define. |
| (MASK_BNU210): Define. |
| (SUBTARGET_SWITCHES): Define. |
| (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Define. |
| (MAKE_DECL_ONE_ONLY): Define. |
| (UNIQUE_SECTION_P, UNIQUE_SECTION): Define. |
| |
| 2000-05-01 Mumit Khan <khan@xraylith.wisc.edu> |
| |
| * i386/cygwin.h (INT_ASM_OP): Define. |
| |
| Mon May 1 18:20:06 2000 Denis Chertykov <denisc@overta.ru> |
| |
| * config/avr/avr.c (address_cost): renamed to avr_address_cost. |
| * config/avr/avr.h (ADDRESS_COST): use avr_address_cost. |
| |
| Mon May 1 17:50:44 2000 Denis Chertykov <denisc@overta.ru> |
| |
| * config/avr/avr.c (asm_file_start): output 0 as r0 and 1 as r1 in |
| __tmp_reg__ and __zero_reg__ initialization. |
| |
| 2000-04-30 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (propagate_one_insn): Mark sets even when the insn is dead. |
| |
| * ifcvt.c (noce_process_if_block): Fail the conversion if X is |
| referenced bewteen the condition and the jump. Don't delete |
| anything but the jump. |
| |
| Sun Apr 30 22:48:24 2000 Jason Eckhardt <jle@cygnus.com> |
| |
| * bb-reorder.c (scope_def): New struct. |
| (scope_forest_info): New struct. |
| (struct reorder_block_def): New member "scope". |
| (REORDER_BLOCK_SCOPE): New macro. |
| (relate_bbs_with_scopes): New function and prototype. |
| (make_new_scope): Likewise. |
| (build_scope_forest): Likewise. |
| (remove_scope_notes): Likewise. |
| (insert_intra_1): Likewise. |
| (insert_intra_bb_scope_notes): Likewise. |
| (insert_inter_bb_scope_notes): Likewise. |
| (rebuild_scope_notes): Likewise. |
| (free_scope_forest_1): Likewise. |
| (free_scope_forest): Likewise. |
| (dump_scope_forest): Likewise. |
| (dump_scope_forest_1): Likewise. |
| (chain_reorder_blocks): Set REORDER_BLOCK_SCOPE for new block. |
| Update REORDER_BLOCK_EFF_HEAD and REORDER_BLOCK_EFF_END for new |
| block. |
| (reorder_basic_blocks): Added calls to build_scope_scope_forest |
| and remove_scope_notes before reordering is done. Added calls to |
| rebuild_scope_notes, free_scope_forest, and reorder_blocks after |
| after reordering is done. |
| |
| 2000-40-30 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/inclhack.def: Added definitions needed by OSR5, |
| removed two stale entries (defined away with OLD_CPP). |
| * fixinc/inclhack.sh: regen |
| * fixinc/fixincl.x: regen |
| |
| 2000-04-30 Richard Henderson <rth@cygnus.com> |
| |
| * ifcvt.c (dead_or_predicable): Manually squeeze non-movable notes |
| from the last insn in the sequence. |
| |
| 2000-04-30 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplex.c (cpp_idcmp): New function. |
| * cpplib.h: Prototype it. |
| * scan_decls.c (scan_decls): Use it to inspect token names. |
| * fix-header.c (read_scan_file): Likewise. Set system_header_p on |
| the file being run through the preprocessor. |
| (check_macro_names): Provide length of token to cpp_defined. |
| |
| * Makefile.in: Remove stale warning message. |
| |
| * cppfiles.c (redundant_include_p): Provide length of token to |
| cpp_defined. |
| * cpphash.c (_cpp_make_hashnode, _cpp_lookup_slot): Hash |
| values are unsigned int. |
| (_cpp_lookup, _cpp_lookup_slot): Do not calculate the length. |
| (_cpp_lookup_slot): Do not calculate the hash, either. |
| * cpphash.h: Update prototypes. |
| * cpplib.c (do_define, do_undef, do_pragma_poison, do_assert): |
| Hashes are unsigned int. Calculate hash here, pass by value |
| to _cpp_lookup_slot. |
| |
| 2000-04-30 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * simplify-rtx.c (check_value_useless): Delete function. |
| (discard_useless_locs): Don't call it; manage N_USELES_VALUES counter |
| by hand. |
| (cselib_invalidate_regno): Likewise. |
| (cselib_invalidate_mem_1): Likewise. |
| (references_value_p): Recognize useless values by the fact that they |
| have no locations. |
| (discard_useless_values): Likewise. |
| (cselib_record_set): This may turn a useless value |
| into a useful one. |
| |
| 2000-04-30 Richard Henderson <rth@cygnus.com> |
| |
| * config/d30v: New port. |
| |
| * configure.in (d30v-*): Set fp format. |
| * configure: Rebuild. |
| |
| 2000-04-30 Richard Henderson <rth@cygnus.com> |
| |
| * ifcvt.c: New file. |
| * Makefile.in (OBJS): Add it. |
| (ifcvt.o): New target. |
| * jump.c (jump_optimize_1): Remove all code related to if-conversion, |
| and conditional arithmetic. |
| (find_insert_position): Remove. |
| * timevar.def (TV_IFCVT, TV_IFCVT2): New. |
| * toplev.c (DFI_ce, DFI_ce2): New. |
| (dump_file): Add ce and ce2 dumps. |
| (rest_of_compilation): Run if_convert a couple o times. Set |
| cse_not_expected after cse2. Don't set no_new_pseudos until |
| after sched1 or recompute_reg_usage. |
| |
| 2000-04-30 Richard Henderson <rth@cygnus.com> |
| |
| * config/alpha/t-crtbe (crtbegin.o): Add "-I.". |
| (crtend.o, crtbeginS.o, crtendS.o): Likewise. |
| |
| 2000-04-30 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (struct reg_cond_life_info): New. |
| (struct propagate_block_info): Add reg_cond_dead and reg_cond_reg. |
| (init_propagate_block_info): Initialize them. |
| (free_propagate_block_info): Destruct them. |
| (mark_set_1): Consider conditional life before killing a register. |
| (mark_regno_cond_dead): New. |
| (free_reg_cond_life_info): New. |
| (flush_reg_cond_reg_1, flush_reg_cond_reg): New. |
| (ior_reg_cond, not_reg_cond, nand_reg_cond): New. |
| (mark_used_reg): Record conditional life. |
| |
| * haifa-sched.c (schedule_insns): Disable death counting |
| sanity check for HAVE_conditional_execution. |
| |
| 2000-04-30 Richard Henderson <rth@cygnus.com> |
| |
| * Makefile.in (TIMEVAR_H): New. |
| (ggc-simple.o, ggc-page.o, toplev.o, timevar.o): Use it. |
| (timevar.h): Remove rule. |
| |
| 2000-04-29 Richard Henderson <rth@cygnus.com> |
| |
| * config/alpha/crtend.asm: Use C comments instead of #. |
| * config/alpha/crtbegin.asm: Likewise. Mark __dso_handle hidden. |
| |
| * config/alpha/elf.h (SELECT_SECTION): Treat CONSTRUCTOR like VAR_DECL. |
| |
| 2000-04-29 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpphash.h (enum node_type: Take out T_MCONST. |
| (union hashval): Move into struct hashnode. |
| (struct hashnode): Pack tighter. Remove file, line, col |
| members. |
| * cpphash.c: Constify most of the macro-definition structures. |
| (struct definition): Replace by struct object_defn |
| and struct funct_defn. Put file, line, column information |
| here. All users updated to match. |
| (_cpp_create_definition, _cpp_macroexpand): Remove special |
| case for #define WORD OTHERWORD. |
| * cpplib.c (do_undef): Remove T_MCONST case. |
| |
| * cpphash.h: Move struct reflist, struct definition, and the |
| DEFINITION typedef to cpphash.c. Use 'struct definition *' in |
| union hashval. _cpp_free_definition takes a HASHNODE pointer. |
| * cpphash.c (_cpp_free_definition): Free data pointed to by |
| MCONST, XCONST, MACRO, and FMACRO nodes properly. |
| (_cpp_create_definition, del_HASHNODE): Just call |
| _cpp_free_definition to clear out a hashnode. |
| * cpplib.c (do_pragma_poison): Likewise. |
| |
| Sat Apr 29 12:25:17 2000 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * config/mn10300/mn10300.h (FIRST_DATA_REGNUM, |
| LAST_DATA_REGNUM, FIRST_ADDRESS_REGNUM, LAST_ADDRESS_REGNUM, |
| FIRST_EXTENDED_REGNUM, LAST_EXTENDED_REGNUM): New macros. |
| (REGNO_SP_P): Redefine in terms of STACK_POINTER_REGNUM. |
| (REGNO_DATA_P, REGNO_ADDRESS_P, REGNO_EXTENDED_P, |
| REGNO_AM33_P): Redefine in terms of the new macros. |
| (CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise. |
| (FUNCTION_VALUE, LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P, |
| STRUCT_VALUE): Likewise. |
| (STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM, |
| ARG_POINTER_REGNUM, STATIC_CHAIN_REGNUM): Likewise. Moved. |
| |
| Sat Apr 29 01:18:45 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * regmove.c (struct record_stack_memrefs_data): New. |
| (record_stack_memrefs): New function. |
| (combine_stack_adjustments_for_block): Use it. |
| |
| Sat Apr 29 01:15:27 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * calls.c (calls_function_1): Properly handle TREE_LIST expressions; |
| use special_function_p to detect alloca. |
| |
| Fri Apr 28 16:30:33 2000 Marc Espie <espie@cvs.openbsd.org> |
| |
| * gcc.texi: Fixes for makeinfo 4.0 --html. |
| |
| 2000-04-28 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * pcp.h: Delete file. |
| |
| 2000-04-28 Kazu Hirata <kazu@hxi.com> |
| |
| * h8300.c (function_epilogue): Clean up flags when the last insn |
| in a function is a barrier. |
| |
| 2000-04-28 Chris Demetriou <cgd@sibyte.com> |
| |
| * configure.in (sparc-hal-solaris2*): protect [] glob from |
| my expansion. |
| (mips*-*-ecoff*, mips*-*-elf*, mips*-*-*): use MASK_ defines |
| rather than hard-coded constants in target_cpu_default2. |
| * configure: Regenerate. |
| |
| 2000-04-28 Jason Merrill <jason@casey.cygnus.com> |
| |
| * tree.c (get_callee_fndecl): Extract the initial value from |
| a readonly decl. |
| |
| 2000-04-28 Richard Henderson <rth@cygnus.com> |
| |
| * varasm.c (record_constant_1): Record the CODE_LABEL when |
| taking the address of a LABEL_REF. |
| |
| 2000-04-28 Richard Henderson <rth@cygnus.com> |
| Jan Hubicka <jh@suse.cz> |
| |
| * calls.c (combine_pending_stack_adjustment_and_call): Return the |
| adjustment; don't do the stack adjust. |
| (expand_call): Call compute_argument_block_size right before |
| allocating the block; update comment; don't do alignment sanity |
| checking for sibling call; use args_size instead of |
| unadjusted_args_size before args_size is adjusted. Use |
| combine_pending_stack_adjustment_and_call to compute stack adjust |
| for must_preallocate case. |
| |
| * expr.c (push_block): Remove shadow `temp' in inner scope. |
| |
| 2000-04-28 Jason Merrill <jason@casey.cygnus.com> |
| |
| * toplev.c (rest_of_compilation): Call |
| note_deferral_of_defined_inline_function even if the function |
| can't be inlined. |
| |
| 2000-04-28 Scott Bambrough <scottb@netwinder.org> |
| |
| * cpplex.c (_cpp_scan_line): Fix buffer overwrite. |
| |
| 2000-04-28 Richard Henderson <rth@cygnus.com> |
| |
| * toplev.c (rest_of_type_compilation): Fix sdb TIMEVAR typo. |
| |
| 2000-04-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * timevar.c (init_timevar): DeANSIfy function definition. |
| |
| 2000-04-27 Alex Samuel <samuel@codesourcery.com> |
| |
| * Makefile.in (timevar.o): Depend on flags.h. |
| * timevar.c (unused_stack_instances): New variable. |
| (timevar_push): Take a timevar_stack_def from |
| unused_stack_instances if available. |
| (timevar_pop): Push the popped timevar_stack_def onto |
| unused_stack_instances. |
| (TIMEVAR_ENABLE): New macro. |
| (timevar_def): Make standalone a 1-bit field. Add field used. |
| (get_time): Rename parameter to now. Return after clearing it if |
| not TIMEVAR_ENABLE. |
| (init_timevar): Do nothing if not TIMEVAR_ENABLE. |
| (timevar_pop): Likewise. |
| (timevar_stop): Likewise. |
| (timevar_push): Likewise. Mark the timing variable as used. |
| (timevar_start): Likewise. |
| (timevar_print): Do nothing if not TIMEVAR_ENABLE. Don't print |
| timevars that were never used. |
| |
| 2000-04-27 Mark Mitchell <mark@codesourcery.com> |
| |
| * c-common.c (c_apply_type_quals_to_decl): REFERENCE_TYPES are |
| always TREE_READONLY. |
| |
| 2000-04-27 Ulrich Drepper <drepper@cygnus.com> |
| |
| * i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Generate mem reference |
| for call instruction with mode QImode. |
| |
| 2000-04-27 Alex Samuel <samuel@codesourcery.com> |
| |
| * Makefile.in (OBJS): Add timevar.o. |
| (toplev.o): Depend on timevar.h. |
| (ggc-simple.o): Likewise. |
| (ggc-page.o): Likewise. |
| (timevar.o): New rule. |
| (timevar.h): New rule. |
| |
| * timevar.h: New file. |
| * timevar.c: Likewise. |
| * timevar.def: Likewise. |
| |
| * toplev.h (gc_time, parse_time, varconst_time): Remove. |
| * toplev.c: Use timevar_push and timevar_pop instead of TIMEVAR |
| throughout. |
| (TIMEVAR): Remove macro. |
| (gc_time, parse_time, varconst_time, integration_time, jump_time, |
| cse_time, gcse_time, loop_time, cse2_time, branch_prob_time, |
| flow_time, combine_time, regmove_time, sched_time, |
| local_alloc_time, global_alloc_time, flow2_time, peephole2_time, |
| sched2_time, dbr_sched_time, reorder_blocks_time, |
| rename_registers_time, shorten_branch_time, stack_reg_time, |
| to_ssa_time, from_ssa_time, final_time, symout_time, dump_time, |
| all_time): Remove. |
| (compile_file): Don't initialize time variables. Call |
| init_timevar and start TV_TOTAL timer. Call timevar_print instead |
| of many calls to print_time. |
| (rest_of_compilation): Add timing for reload_cse_regs. |
| (get_run_time): Removed to timevar.c. |
| (print_time): Likewise. |
| (get_run_time): Implement using TV_TOTAL time variable. |
| (print_time): Get total run time from get_run_time. |
| * ggc-page.c (ggc_collect): Push and pop TV_GC instead of |
| computing elapsed time explicitly. |
| * ggc-simple.c (ggc_collect): Likewise. |
| (gc_time): Remove declaration. |
| |
| 2000-04-27 Mark Mitchell <mark@codesourcery.com> |
| |
| * calls.c (combine_pending_stack_adjustment_and_call): New function. |
| (expand_call): Use it. |
| |
| 2000-04-27 Jan Hubicka <jh@suse.cz> |
| |
| * flow.c (mark_set_1): Handle MEMs in ZERO_EXTRACT/SIGN_EXTRACT |
| fields. |
| |
| Thu Apr 27 12:47:00 2000 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * config/mn10300/mn10300.md (movhi): Simplify. Prefer data |
| registers. |
| |
| Thu Apr 27 17:33:05 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * function.c (epilogue_done): Pass whole insn to record_insns. |
| |
| Thu Apr 27 16:55:28 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * cse.c (CSE_ADDRESS_COST): Remove. |
| (find_best_addr): Add new parameter "MODE", use address_cost instead |
| of CSE_ADDRESS_COST |
| (address_cost): New. |
| (fold_rtx): Update call of find_best_addr. |
| * rtl.h (address_cost): Declare. |
| * loop.c (general_induction_var): Add new parameter "MODE", use |
| address_cost instead of ADDRESS_COST |
| (init_loop): Use address_cost instead of ADDRESS_COST. |
| (check_insn_for_givs): Update call of general_induction_var. |
| (find_mem_givs): Likewise. |
| (consec_sets_giv): Likewise. |
| * config/i386/i386.h (ADDRESS_COST): Call ix86_address_cost. |
| * i386.c (ix86_address_cost): New. |
| * i386-protos.h (ix86_address_cost): Declare. |
| |
| Thu Apr 27 11:45:16 2000 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * config/mn10300/mn10300.md (movqi): Simplify. Prefer data |
| registers. |
| |
| Thu Apr 27 16:11:00 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * expr.c (store_expr): Use clear_storage instead of direct memset |
| libcall. |
| |
| Thu Apr 27 10:36:51 2000 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * config/mn10300/mn10300.c (mn10300_address_cost): Test |
| ASHIFT, AND and LABEL_REF. |
| |
| Thu Apr 27 15:08:46 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * invoke.texi (-foptimize-sibling-calls): Fix. |
| |
| Thu Apr 27 14:54:22 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * loop.c (load_mems) Don't use hard registers for the hoisting. |
| |
| * unroll.c (unroll_loop): Avoid overflow in the n_iterations |
| calculation; rename const_equiv array in the preconditioning code |
| from loop_unroll to loop_unroll_precondition |
| |
| 2000-04-27 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (struct propagate_block_info): Remove new_dead, new_live; |
| add new_set. |
| (propagate_one_insn): Clear it. Don't update reg_live here. |
| (init_propagate_block_info): Update for pbi member changes. |
| (free_propagate_block_info): Likewise. |
| (mark_set_1): Know that zero_extract, sign_extract, and |
| strict_low_part don't kill their argument. Alter hard subregs. |
| Update new_set for non-CLOBBER sets. Update reg_live. |
| (find_auto_inc): Update reg_live, not new_dead. |
| (mark_used_reg): Update reg_live, not new_live. Examine new_set |
| to determine if the reg in question was set this insn. Only update |
| reg info with PROP_REG_INFO. |
| |
| 2000-04-26 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (allocate_reg_life_data): Set max_regno here ... |
| (life_analysis): ... not here. |
| |
| * flow.c (calculate_global_regs_live): Force stack pointer |
| live at end. |
| |
| 2000-04-26 Richard Henderson <rth@cygnus.com> |
| |
| * jump.c (redirect_exp_1): Rework from old redirect_exp. Never |
| commit change group changes. |
| (invert_exp_1): Similarly. |
| (redirect_exp, invert_exp): Use them. |
| (redirect_jump_1): New. |
| (invert_jump_1): New. |
| (jump_optimize_1): Remove code subsumed by condexec.c. |
| * rtl.h (invert_jump_1, redirect_jump_1): Declare. |
| |
| 2000-04-26 Richard Henderson <rth@cygnus.com> |
| |
| * rtlanal.c (dead_or_set_regno_p): Use find_regno_note. |
| |
| * genconfig.c (main): Set all HAVE_foo to 1. |
| |
| * graph.c (node_data): Use GET_NOTE_INSN_NAME instead of local array. |
| |
| 2000-04-26 Alex Samuel <samuel@codesourcery.com> |
| |
| * invoke.texi: Document -fssa flag. |
| |
| 2000-04-26 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (count_reg_sets_1): Remove. |
| (count_reg_sets, count_reg_references): Remove. |
| (recompute_reg_usage): Implement with update_life_info. |
| Reallocate life data. |
| |
| 2000-04-26 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (update_life_info): Consider blocks null to mean the |
| universal set. |
| (calculate_global_regs_live): Likewise. |
| (life_analysis): Do that instead of collecting all_blocks. |
| |
| 2000-04-26 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (tidy_fallthru_edge): Don't delete the jump when it's |
| a still-valid conditional jump. |
| |
| 2000-04-26 Richard Henderson <rth@cygnus.com> |
| |
| * jump.c (invert_jump): Always invert REG_BR_PROB. Do it correctly. |
| |
| * bb-reorder.c (reorder_basic_blocks): Don't run estimate_probability. |
| * flow.c (calculate_loop_depth): Remove. |
| * output.h (calculate_loop_depth): Don't declare. |
| * toplev.c (rest_of_compilation): Expand calculate_loop_depth |
| inline; run estimate_probability at the same time. |
| |
| 2000-04-26 Neil Booth <NeilB@earthling.net> |
| |
| * cpplib.h: "~=" is not a single pp-token. |
| * cpplex.c: Correct commentary. |
| |
| 2000-04-26 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (mark_set_1): New arguments code and flags; update all |
| callers. Track regno_first and regno_last; do HARD_REGNO_NREGS |
| test in one place. Tidy flags tests. Don't bias REG_N_REFS by |
| loop_depth when optimizing for size. Do new_dead update after |
| emitting REG_UNUSED notes. Merge mark_set_reg code. |
| (mark_set_reg): Remove. |
| (propagate_one_insn): Use mark_set_1 for call-clobbered registers; |
| arrange to not emit REG_UNUSED notes. |
| |
| 2000-04-26 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (find_auto_inc): Use pbi->bb instead of BLOCK_FOR_INSN. |
| * ssa.c (convert_from_ssa): Don't run compute_bb_for_insn. |
| |
| 2000-04-26 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (propagate_one_insn): Break out from propagate_block. |
| (init_propagate_block_info): Likewise. |
| (free_propagate_block_info): Likewise. |
| (propagate_block): Use them. Export. |
| * basic-block.h: Declare them all. |
| |
| 2000-04-26 Richard Henderson <rth@cygnus.com> |
| |
| * basic-block.h (life_analysis): Declare here ... |
| * output.h: ... not here. |
| * flow.c (life_analysis): Remove nregs parameter; replace |
| remove_dead_code with flags. Remove ssa dead code check. |
| Only init alias analysis if we'll use it. |
| * reg-stack.c (reg_to_stack): Update life_analysis arguments. |
| * ssa.c (convert_to_ssa): Likewise. |
| (convert_from_ssa): Likewise. |
| * toplev.c (rest_of_compilation): Likewise. |
| |
| 2000-04-26 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (flow_delete_block): Rename from delete_block. Export. |
| * basic-block.h (flow_delete_block): Declare. |
| |
| 2000-04-26 David S. Miller <davem@redhat.com> |
| |
| * optabs.c (emit_libcall_block): Verify insns with INSN_P before |
| taking a PATTERN of it. |
| |
| 2000-04-26 <NeilB@earthling.net> |
| |
| * cpplex.c (spell_other, spell_char): Remove. |
| (SPELL_CHAR): New. |
| (token_spelling, trigraph_map): Use unsigned chars. |
| (_cpp_lex_line): Tidy up the switch statement. |
| * cpplib.h: Implement spell_char with spell_string. |
| (C): New. |
| |
| 2000-04-26 <RodneyBrown@pmsc.com> |
| |
| * pa/pa32-regs.h (HARD_REGNO_MODE_OK): Warning removal. |
| * pa/pa64-regs.h (HARD_REGNO_MODE_OK): Warning removal. |
| |
| 2000-04-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * dwarf2out.c (dw_cfi_oprnd_struct, dw_fde_struct, add_fde_cfi, |
| reg_save, dwarf2out_frame_debug_expr, dwarf2out_def_cfa, |
| dwarf2out_window_save, dwarf2out_args_size, dwarf2out_reg_save, |
| dwarf2out_return_save, dwarf2out_return_reg, |
| dwarf2out_stack_adjust, dwarf2out_frame_debug, primary_filename, |
| add_AT_lbl_id, add_AT_lbl_offset, type_tag, decl_start_label, |
| gen_compile_unit_die, dwarf2out_init): Constify a char*. |
| |
| * dwarf2out.h (dwarf2out_init): Likewise. |
| |
| * dwarfout.c (filename_entry, primary_filename, last_filename, |
| type_tag, output_compile_unit_die, dwarfout_init): Likewise. |
| |
| * tree.h (dwarf2out_def_cfa, dwarf2out_window_save, |
| dwarf2out_args_size, dwarf2out_reg_save, dwarf2out_return_save, |
| dwarf2out_return_reg): Likewise. |
| |
| 2000-04-26 Andreas Jaeger <aj@suse.de> |
| |
| * extend.texi (Function Attributes): Fix description of pure |
| attribute. |
| |
| 2000-04-26 Jason Merrill <jason@casey.cygnus.com> |
| |
| * integrate.c (output_inline_function): Do clear DECL_DEFER_OUTPUT |
| before calling rest_of_compilation. |
| |
| 2000-04-26 Andreas Jaeger <aj@suse.de> |
| |
| * config/mips/linux.h: Remove erroneous commit of #if 0/#endif in |
| last patch. |
| |
| 2000-04-25 Richard Henderson <rth@cygnus.com> |
| |
| * cse.c (cse_insn): Emit barrier after unconditional jump. |
| |
| * calls.c (expand_call): Disable tail call generation once |
| rtx_equal_function_value_matters is false. |
| |
| * reg-stack.c (convert_regs_1): Treat EDGE_ABNORMAL_CALL edges |
| like EDGE_EH edges. |
| |
| 2000-04-25 Jason Merrill <jason@casey.cygnus.com> |
| |
| * dwarf2out.c (add_bound_info): Don't crash on an unexpanded SAVE_EXPR. |
| |
| * dwarfout.c (output_decl): Ignore NAMESPACE_DECLs. |
| |
| * dwarf2out.c (gen_subprogram_die): The class-scope declaration DIE |
| is the primary DIE for a member function. |
| (gen_decl_die): Call set_decl_origin_self here. |
| * dwarfout.c (output_decl): And here. |
| * integrate.c (output_inline_function): Not here. |
| Don't clear DECL_INLINE until after calling rest_of_compilation. |
| (set_decl_origin_self): No longer static. |
| * tree.h: Add prototype. |
| * toplev.c (note_deferral_of_defined_inline_function): Only write |
| out abstract instance for actual inlines. |
| |
| 2000-04-25 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * config/mn10300/mn10300.h (REG_CLASS_FROM_LETTER): Return |
| EXTENDED_REGS only if TARGET_AM33. |
| * config/mn10300/mn10300.md (movsi, addsi): Avoid exposing |
| SP_REGS to register allocation and reloading unless absolutely |
| necessary. |
| (movsi3): Remove special-case of adding non-constants to SP. |
| |
| 2000-04-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * aclocal.m4 (gcc_AC_NEED_DECLARATION): This macro now requires |
| INCLUDES to search and does not provide any of its own. Also it |
| now accepts optional ACTION-IF-NEEDED and ACTION-IF-NOT-NEEDED |
| parameters. Also it does not call AC_DEFINE. |
| (gcc_AC_NEED_DECLARATIONS): Likewise. Also this macro now calls |
| AC_DEFINE and provides for automatic entries for autoheader. |
| (gcc_AC_FUNC_PRINTF_PTR): Cleanup C code in test. |
| |
| * configure.in (gcc_AC_NEED_DECLARATIONS): Save and restore CFLAGS |
| so we can pass -I flags and include gansidecl.h/system.h in this |
| test. |
| |
| * acconfig.h: Delete all NEED_DECLARATION_* entries. |
| |
| 2000-04-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * acconfig.h (ENABLE_STD_NAMESPACE, ENABLE_CHECKING, |
| ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING, |
| ENABLE_GC_ALWAYS_COLLECT): Delete entries. |
| |
| * configure.in (ENABLE_STD_NAMESPACE, ENABLE_CHECKING, |
| ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING, |
| ENABLE_GC_ALWAYS_COLLECT): Use three argument form of AC_DEFINE |
| for these macros. Clean up spacing and linewraps. |
| |
| 2000-04-26 Jason Merrill <jason@casey.cygnus.com> |
| |
| * calls.c (expand_call): Use get_callee_fndecl. |
| |
| * print-tree.c (print_node): Print the chain of an _EXPR. |
| |
| Tue Apr 25 16:16:04 2000 Andrew MacLeod <amacleod@cygnus.com> |
| Jim Wilson <wilson@cygnus.com> |
| Andrew Haley <aph@cygnus.com> |
| |
| * config/ia64/crtbegin.asm: Add IA-64 unwind support. Correct alloc |
| and gp save/restore problems. |
| * config/ia64/crtend.asm: Add IA-64 unwind support. |
| * config/ia64/ia64.c (ia64_compute_frame_size): Don't include pr_size |
| in fr_pad_size calculation. |
| (save_restore_insns): Move PR save area. Correct uses of |
| RTX_FRAME_RELATED_P. |
| (ia64_expand_prologue): Mark alloc with RTX_FRAME_RELATED_P. |
| (ia64_expand_epilogue): Add eh_epilogue support. |
| (ia64_function_prologue): Emit .prologue directive. |
| (ia64_init_machine_status, ia64_mark_machine_status): New functions. |
| (ia64_override_options): Set init_machine_status and |
| mark_machine_status. |
| (rtx_needs_barrier): Handle bsp reads and writes. |
| (spill_offset, sp_offset, spill_offset_emitted, tmp_reg, tmp_saved): |
| New static variables. |
| (process_set, process_for_unwind_directive): New functions. |
| * config/ia64/ia64.h (ASM_OUTPUT_XDATA_CHAR, ASM_OUTPUT_XDATA_SHORT, |
| ASM_OUTPUT_XDATA_INT, ASM_OUTPUT_XDATA_DOUBLE_INT, ASM_OUTPUT_EH_CHAR, |
| ASM_OUTPUT_EH_SHORT, ASM_OUTPUT_EH_INT, ASM_OUTPUT_EH_DOUBLE_INT): New |
| macros. |
| (EH_FRAME_SECTION_ASM_OP): Define to IA_64.unwind section. |
| (IA64_UNWIND_INFO, HANDLER_SECTION, IA64_UNWIND_EMIT): Define. |
| (struct machine_function): Define. |
| * config/ia64/ia64.md (bsp_value, set_bsp, eh_epilogue): New patterns. |
| |
| 2000-04-25 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/Makefile.in: make the removal of old programs more |
| robust |
| * fixinc/mkfixinc.sh: use the two new targets in the Makefile: |
| install-bin and install-sh |
| |
| 2000-04-25 Nick Clifton <nickc@cygnus.com> |
| |
| * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): If not |
| defined, define to return zero. |
| (function_cannot_inline_p): If a function has any target |
| specific attributes, then use the macro |
| FUNCTION_ATTRIBUTE_INLINABLE_P to allow the target to decide |
| whether it can be inlined. If it cannot, issue a suitable |
| explanation. |
| |
| * tm.texi: Add a new node 'Inlining' to document the new macro |
| FUNCTION_ATTRIBUTE_INLINABLE_P. |
| |
| 2000-04-25 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplib.h (struct cpp_buffer): Add 'mapped' flag; fix |
| commentary. |
| |
| 2000-04-25 Neil Booth <NeilB@earthling.net> |
| |
| Restore previous patch, plus the following fixes: |
| |
| * cpphash.c (_cpp_create_definition): Test PREV_WHITESPACE in |
| flags, not CPP_OPEN_PAREN. |
| * cpplex.c (expand_token_space, init_token_list, |
| cpp_free_token_list): Put the dummy token at list->tokens[-1]. |
| (_cpp_lex_line, _cpp_lex_file): token list is 0-based. |
| |
| Tue Apr 25 14:06:40 2000 Alexandre Oliva <oliva@lsd.ic.unicamp.br> |
| |
| * config/i386/freebsd.h (INT_ASM_OP): Define. |
| |
| Tue Apr 25 14:51:07 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * loop.c (strength_reduce): Fix typo in the last checkin. |
| |
| Tue Apr 25 07:33:12 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * stor-layout.c (finalize_record_size): Simplify to use existing |
| functions. |
| (compute_record_mode): No longer static. |
| * tree.h (compute_record_mode): New declaration. |
| |
| 2000-04-25 Neil Booth <NeilB@earthling.net> |
| |
| * Revert my patch below until cause of build failures |
| determined. |
| |
| 2000-04-25 Richard Henderson <rth@cygnus.com> |
| |
| * combine.c (combine_instructions): Add missing argument |
| to try_combine. |
| |
| * toplev.c (rest_of_compilation): Delay sibcall optimization |
| until after emit_eh_context. |
| |
| 2000-04-24 Nick Clifton <nickc@redhat.com> |
| |
| * combine.c (combine_instructions): Do not try to combine a |
| sequence of insns when the second insn has been replaced by a |
| note. |
| |
| Mon Apr 24 17:34:18 2000 Mumit Khan <khan@xraylith.wisc.edu> |
| |
| * gcc.c (load_specs): New static function. |
| (read_specs): Use it. |
| |
| * gcc.c (lookup_compiler): Make multiple passes for case |
| insensitive filesystems. |
| |
| 2000-04-24 Neil Booth <NeilB@earthling.net> |
| |
| * cpphash.c: replace HSPACE_BEFORE with PREV_WHITESPACE. |
| * cpphash.h (_cpp_check_directive): new. |
| * cpplex.c (handle_newline, cpp_free_token_list, |
| init_trigraph_map, trigraph_ok, trigraph_replace, |
| backslash_start, skip_block_comment, skip_line_comment, |
| skip_whitespace, parse_name, parse_number, parse_string, |
| copy_comment, _cpp_lex_line, spell_char, spell_string, |
| spell_comment, spell_name, spell_other, _cpp_lex_file, |
| _cpp_output_list): new. |
| (expand_name_space): take length argument. |
| (init_token_list): add comment list initialisation. |
| (cpp_scan_line): use auto_expand_name_space. PREV_WHITESPACE |
| instead of HSPACE_BEFORE. |
| |
| * cpplib.c (_cpp_check_directive): new |
| * cpplib.h (cpp_name, PREV_WHITESPACE, PREV_COMMENT, |
| DIGRAPH, UNSIGNED_INT, TOK_NAME): new. |
| (HSPACE_BEFORE): delete. |
| (TTYPE_TABLE): rearrange. |
| (struct cpp_toklist): update. |
| |
| 2000-04-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * aclocal.m4 (gcc_AC_HEADER_STRING, gcc_AC_FUNC_PRINTF_PTR, |
| gcc_AC_C_VOLATILE, gcc_AC_FUNC_MKDIR_TAKES_ONE_ARG): Use the three |
| argument form of AC_DEFINE. |
| |
| * configure.in (DEFAULT_LINKER, DEFAULT_ASSEMBLER, |
| HAVE_INTTYPES_H, PACKAGE, VERSION, ENABLE_WIN32_REGISTRY, |
| WIN32_REGISTRY_KEY, HAVE_GAS_SUBSECTION_ORDERING, HAVE_GAS_WEAK, |
| HAVE_GAS_HIDDEN, HAVE_AS_REGISTER_PSEUDO_OP, AS_SPARC64_FLAG, |
| HAVE_AS_OFFSETABLE_LO10, ENABLE_NEW_GXX_ABI): Likewise. |
| |
| * acconfig.h: Delete stubs made redundant by 3-arg AC_DEFINE. |
| |
| 2000-04-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * Makefile.in (GCC_FOR_TARGET, GCC_CFLAGS, LIBGCC2_INCLUDES, |
| deduced.h): Use -isystem, not -I, for including system headers. |
| |
| 2000-04-24 Nick Clifton <nickc@cygnus.com> |
| |
| * config/fr30/fr30.md (addsi3): Do not use small add instruction if |
| the source register is the frame pointer or arg pointer. |
| (addsi3_small_int): Disallow if source register is the frame |
| pointer or arg pointer. |
| |
| 2000-04-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * configure.in (ENUM_BITFIELDS_ARE_UNSIGNED): Delete redundant |
| call to AC_MSG_RESULT. |
| |
| 2000-04-24 Martin v. Löwis <loewis@informatik.hu-berlin.de> |
| |
| * invoke.texi: Correct grammatical errors, document |
| -fno-gnu-keywords as identical to -fno-asm for C++. |
| |
| 2000-04-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * aclocal.m4: (GCC_HEADER_STRING, GCC_NEED_DECLARATION, |
| GCC_NEED_DECLARATIONS, GCC_FUNC_VFPRINTF_DOPRNT, |
| GCC_FUNC_PRINTF_PTR, GCC_PROG_LN_S, GCC_PROG_LN, GCC_C_VOLATILE, |
| AC_GCC_C_LONG_DOUBLE, GCC_FUNC_MKDIR_TAKES_ONE_ARG, |
| EGCS_PROG_INSTALL): Rename autoconf macros with prefix gcc_AC_. |
| |
| * configure.in (AC_GCC_C_LONG_DOUBLE, GCC_PROG_LN, GCC_PROG_LN_S, |
| GCC_C_VOLATILE, EGCS_PROG_INSTALL, GCC_HEADER_STRING, |
| GCC_FUNC_VFPRINTF_DOPRNT, GCC_FUNC_PRINTF_PTR, |
| GCC_NEED_DECLARATIONS, GCC_FUNC_MKDIR_TAKES_ONE_ARG): Invoke with |
| new macros names. |
| |
| 2000-04-24 Mumit Khan <khan@xraylith.wisc.edu> |
| |
| * c-pragma.c (push_alignment): Use BITS_PER_UNIT macro. |
| (pop_alignment): Likewise. |
| (handle_pragma_token): Likewise. |
| |
| 2000-04-24 Robert Lipe <robertlipe@usa.net> |
| |
| * tree.h (tree_decl): Member `mode' now ENUM_BITFIELD. |
| |
| 2000-04-24 Hiroyuki Machida <machida@sm.sony.co.jp> |
| |
| * combine.c (try_combine): Update reg_nonzero_bits of |
| newi2pat before newpat. |
| |
| Mon Apr 24 10:19:48 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * loop.c (strength_reduce): Simplify test to INSN_P. |
| (record_giv): Attempt to simplify the add value, use CONSTANT_P |
| expressions instead of CONST_INT. |
| (express_from_1): Likewise. |
| |
| 2000-04-24 Mark Mitchell <mark@codesourcery.com> |
| |
| * regs.h (reg_n_max): Don't declare. |
| * flow.c (reg_n_max): Don't define. |
| * regclass.c (renumber): Don't initialize to zero. |
| (regno_allocated): Likewise. |
| (reg_n_max): Define. |
| (allocate_reg_info): Don't initialize unnecessarily. |
| |
| Mon Apr 24 00:21:36 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * genattrtab.c (find_attr): Initialize unsigned_p, func_units_p |
| and blockage_p in the newly allocated attribute. |
| |
| Sun Apr 23 20:16:49 2000 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * config/mn10300/mn10300.md (addsi): `inc4' on address |
| registers does not modify cc, but `inc' on an extended |
| register does. |
| |
| Sun Apr 23 16:24:35 2000 Denis Chertykov <denisc@overta.ru> |
| |
| * reload.c (find_equiv_reg): Checks all valueno regs |
| as a reload_reg_p regs. |
| |
| 2000-04-23 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpphash.c (collect_objlike_expansion): Add sanity check. |
| (special_symbol): Remove case T_CONST, T_XCONST, T_MCONST. If |
| the buffer is the empty string, return. Mark __DATE__ and |
| __TIME__ as XCONST nodes, not MCONST. |
| (_cpp_macroexpand): Avoid pushing an empty buffer. |
| (funlike_macroexpand): Don't pop token_buffer here. |
| |
| Sun Apr 23 18:37:53 2000 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * config/mn10300/mn10300.h (REGNO_IN_RANGE_P): New macro. |
| (REGNO_DATA_P, REGNO_ADDRESS_P, REGNO_SP_P): New macros. |
| (REGNO_EXTENDED_P, REGNO_AM33_P): New macros. |
| (REGNO_OK_FOR_BASE_P): Define in terms of them. |
| (REGNO_OK_FOR_BIT_BASE_P, REGNO_OK_FOR_INDEX_P): Likewise. |
| (REG_OK_FOR_BASE_P): Define in terms of the REGNO macro. |
| (REG_OK_FOR_BIT_BASE_P, REG_OK_FOR_INDEX_P): Likewise. |
| |
| Sun Apr 23 22:23:08 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * loop.c (simplify_giv_expr): Be more agressive on simplifying |
| constant MULT givs. |
| |
| 2000-04-23 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpphash.h (struct definition): Move file, line, col members... |
| (struct hashnode): ... here. Also add 'disabled' flag. |
| (enum node_type): Add T_VOID, T_XCONST, T_FMACRO, and |
| T_IDENTITY. Remove T_DISABLED. |
| Update prototypes. |
| |
| * cpphash.c (_cpp_dump_definition): Split out dump_DEFINITION. |
| (collect_expansion): Split into collect_objlike_expansion and |
| collect_funlike_expansion. |
| (_cpp_macroexpand): Split out scan_arguments, stringify, and |
| funlike_macroexpand. |
| (_cpp_compare_defs): Rename compare_defs, make static. |
| (_cpp_make_hashnode): Initialize hp->disabled. |
| (macro_cleanup): Adjust for new token types. Clear |
| m->disabled. |
| (_cpp_create_definition): Move code here to determine what |
| sort of macro it is, and code to check for redefinitions, from |
| do_define. Implement a few simple cases without creating a |
| full DEFINITION. |
| (_cpp_macroexpand, special_symbol, _cpp_dump_definition): |
| Handle the simple cases. |
| (push_macro_expansion): Set buf->has_escapes and hp->disabled |
| here. |
| |
| * cppinit.c (builtin_array): Change MCONST to XCONST |
| everywhere. |
| * cpplex.c (maybe_macroexpand): Handle IDENTITY macros here; |
| fix check for disabled and function-like macros. |
| * cpplib.c (do_define): Move most logic to |
| _cpp_create_definition. |
| (do_undef): Handle new special token types. |
| |
| Sun Apr 23 14:27:44 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * loop.c (maybe_eliminate_biv_1): Use GET_CODE (x) == CONST_INT instead |
| of CONSTANT_P for mult_val; always use validate_change to update insn. |
| |
| 2000-04-22 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpphash.c (trad_stringify, add_pat): New functions. |
| (collect_expansion): Restore support for -traditional syntax. |
| Use trad_stringify and add_pat. |
| (_cpp_macroexpand): Restore support for -traditional semantics. |
| * cpplex.c (_cpp_scan_line): Don't change space_before if we |
| get a COMMENT token. |
| (_cpp_lex_token): Provide COMMENT tokens to caller if |
| traditional and parsing_define_directive. |
| (skip_comment): Warn about // comments if -Wtraditional. |
| * cpplib.c (do_define): Fix typo. Create EMPTY nodes with |
| proper node type. |
| (do_undef): Don't warn about undefining EMPTY nodes. |
| |
| Sat Apr 22 22:35:38 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * loop.c (strength_reduce): Fix biv removal code. |
| |
| 2000-04-22 Richard Henderson <rth@cygnus.com> |
| |
| * predict.c (estimate_probability): Examine both sides of |
| a branch for no exits. Use 90% not 50% for predict taken. |
| Reorg for one copy of note generation code. |
| |
| 2000-04-22 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (mark_used_reg): Hack around rs6000 eliminable pic reg. |
| |
| 2000-04-22 Richard Henderson <rth@cygnus.com> |
| |
| * diagnostic.c (init_output_buffer): Don't initialize format_args. |
| (output_clear): Likewise. |
| (output_printf): Use va_copy. |
| (vline_wrapper_message_with_location): Likewise. |
| (v_message_with_decl): Likewise. |
| (line_wrapper_printf): VA_START infor buffer.format_args directly. |
| * system.h (va_copy): Provide default implementation. |
| |
| 2000-04-22 Richard Henderson <rth@cygnus.com> |
| |
| * predict.c (expected_value_to_br_prob): Don't bomb if op1 of |
| the collected condition is not a constant. |
| |
| 2000-04-22 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * diagnostic.h: New file. |
| |
| * Makefile.in (diagnostic.o): Depends on diagnostic.h |
| |
| * diagnostic.c: Tweak. Rationalize the output logic. Adjust |
| various function prototypes. |
| (diagnostic.h): #include. |
| (struct output_buffer): Move into diagnostic.h. |
| (get_output_prefix): Rename to output_get_prefix. Export. |
| (init_output_buffer): Export. Break out. Adjust initialization. |
| (output_space_left, output_append): Export. |
| (output_newline): Rename to output_add_newline. Export. |
| (output_clear): Nullify additional output_buffer fields. |
| (output_puts): Rename to output_add_string. Export. |
| (dump_output): Rename to output_flush_on. Export. |
| (build_location_prefix): Constify return-type. |
| (emit_output_prefix): Rename to output_emit_prefix. Export. |
| (set_real_maximum_length): New function. |
| (output_set_maximum_length): Ditto |
| (output_clear): Ditto. |
| (output_add_character): Ditto. |
| (output_add_integer): Ditto. |
| (output_add_space): Ditto. |
| (output_format): Ditto. |
| (output_printf): Adjust buffer initialization. |
| (vline_wrapper_message_with_location): Ditto. |
| (v_message_with_decl): Ditto. Adjust call to output_puts |
| and get_output_prefix. |
| (default_print_error_function): Adjust buffer initialization. |
| |
| Sat Apr 22 06:45:04 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * expr.c (preexpand_calls, case CALL_EXPR): Don't look at TYPE_SIZE |
| of VOID_TYPE. |
| |
| Fri Apr 21 18:33:09 2000 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * config/mn10300/mn10300.h (REGNO_REG_CLASS): Use NO_REGS instead |
| of explicit 0. |
| |
| Fri Apr 21 18:30:00 2000 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Provide more |
| accurate data about SP moves. |
| |
| Fri Apr 21 18:28:28 2000 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * config/mn10300/mn10300.h (ADDITIONAL_REGISTER_NAMES): Added |
| aliases to AM33 registers. |
| |
| Fri Apr 21 18:26:17 2000 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Added register 16 |
| to all EXTENDED bitmaps. |
| |
| Fri Apr 21 18:17:12 2000 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * config/mn10300/mn10300-protos.h (mn10300_address_cost): Declare. |
| * config/mn10300/mn10300.h (ADDRESS_COST): New macro. |
| * config/mn10300/mn10300.c (mn10300_address_cost): New function. |
| |
| Fri Apr 21 18:11:56 2000 Alexandre Oliva <aoliva@cygnus.com> |
| |
| * config/mn10300/mn10300.md (movdi, movdf): Do not use `movu' when |
| the operand is not constant. |
| |
| Fri Apr 21 14:58:29 2000 Denis Chertykov <denisc@overta.ru> |
| |
| * reload.c (find_equiv_reg): Checks all valueno and regno regs |
| as a call-clobbered regs. |
| |
| Fri Apr 21 13:30:26 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * rtl.c: Use NOTE_INSN_REPEATED_LINE_NUMBER and NOTE_INSN_RANGE_BEG. |
| * rtl.h: Likewise. |
| * rtl.def: Update comment. |
| * function.c (expand_function): Use NOTE_INSN_REPEATED_LINE_NUMBER. |
| * integrate.c (expand_inline_function): Likewise. |
| * profile.c (branch_prob): Likewise. |
| * ggc-common.c (ggc_mark_rtx_children): Use NOTE_INSN_RANGE_BEG. |
| * print-rtl.c (print_rtx): Likewise. |
| * haifa-sched.c (sched_analyze, unlink_other_notes): Likewise. |
| (reemit_notes): Likewise; also use enum insn_note. |
| |
| * stor-layout.c (layout_decl): Only set DECL_MODE if not already set. |
| (place_field): Properly compute know and actual alignment. |
| |
| * gengenrtl.c (gencode): Write obstack_alloc_rtx function start |
| in proper format. |
| |
| * cse.c (cse_insn): In (set REG0 REG1) case, remove a REG_EQUAL |
| note for REG1. |
| |
| 2000-04-21 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpphash.c (struct arg, struct arglist): Const-ify strings. |
| (warn_trad_stringify, duplicate_arg_p): New helper functions. |
| (collect_expansion): Rewrite to scan over a token list. |
| Remove -traditional support. |
| (collect_formal_parameters): Rename to collect_params; rewrite |
| to scan over a token list. |
| (_cpp_create_definition): Adjust to scan a token list. |
| (_cpp_macroexpand): Remove -traditional support. |
| (_cpp_compare_defs): Whitespace is now canonicalized. |
| (comp_def_part): Delete function. |
| |
| * cpphash.h: Update prototypes. |
| * cpplex.c (init_token_list): Don't set lineno if there is no |
| buffer. |
| (pedantic_whitespace): New function. |
| (_cpp_scan_line): Mark tokens that had hspace before. Don't |
| consume a newline. Use pedantic_whitespace. |
| (_cpp_lex_token): Remove support for -traditional macros. |
| (_cpp_get_define_token): Delete. |
| (_cpp_get_directive_token): Do the real work here. Use |
| pedantic_whitespace. |
| (_cpp_init_input_buffer): Initialize pfile->directbuf. |
| |
| * cpplib.c (get_macro_name): Delete. |
| (do_define): Read the entire line into pfile->directbuf, then |
| feed the token list to _cpp_create_definition. |
| * cpplib.h (HSPACE_BEFORE): new define. |
| (struct cpp_reader): Add a toklist member, "directbuf". |
| |
| * predict.c (estimate_probability): New heuristic: if a jump |
| branches around a block with no successors, predict it taken. |
| Disentangle control flow. |
| |
| 2000-04-20 Richard Henderson <rth@cygnus.com> |
| |
| * loop.c (emit_iv_add_mult): Revert last change. |
| |
| 2000-04-20 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplib.h (enum cpp_ttype): Add token types for all |
| punctuators. Distinguish pp-numbers from valid C numbers. |
| Give some tokens better names. Initialize from macro. |
| (struct cpp_name, cpp_token, cpp_toklist): New data |
| structures. |
| Update prototypes. |
| * cpplex.c (bump_column, expand_name_space, |
| expand_token_space, init_token_list, cpp_output_list, |
| _cpp_scan_line): New functions. |
| (output_line_command): Add third argument, new line number. |
| * cpphash.h: Update prototypes. |
| * cppexp.c, cpphash.c, cpplib.c, scan-decls.c: Update for new |
| token names. |
| |
| 2000-04-20 Richard Henderson <rth@cygnus.com> |
| |
| * config/alpha/alpha.c (alpha_emit_floatuns): Emit missing barrier. |
| |
| 2000-04-20 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * c-common.c (decl_attributes) [A_ALIAS]: Set TREE_USED on the |
| object pointed to. |
| |
| Thu Apr 20 14:19:18 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * loop.c (emit_iv_add_mult): Simplify it's input and emit |
| REG_EQUAL note explaining the calculated value. |
| |
| * calls.c (expand_call): Avoid unnecesary precalculation |
| and outgoing parameters space guarding for sibling calls. |
| (store_one_arg): Likewise. |
| |
| Thu Apr 20 08:01:07 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * toplev.c (enum dump_file_index, dump_file): Add DFI_sibling. |
| (rest_of_compilation): Write sibling dump file and account |
| for time as jump time. |
| * invoke.texi: Update documentation on dump flags. |
| |
| 2000-04-19 Marek Michalkiewicz <marekm@linux.org.pl> |
| |
| * avr.c: #include "system.h" instead of <stdio.h> and <stdlib.h>. |
| |
| 2000-04-19 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpphash.c (special_symbol): Represent an empty macro with |
| "\r \r " not just "\r ". |
| (_cpp_macroexpand): Correct condition for the foo ( ) special |
| case. |
| (unsafe_chars): Handle EOF as second argument. |
| (push_macro_expansion): Simplify test for removing escape at |
| end. Do not trim both escapes if there is no text in between. |
| |
| 2000-04-19 Jim Blandy <jimb@redhat.com> |
| |
| * dwarf2out.c (DWARF2_ADDR_SIZE): New macro. Use it instead |
| of PTR_SIZE, when appropriate. |
| |
| 2000-04-19 Mark Mitchell <mark@codesourcery.com> |
| |
| * system.h (ONLY_INT_FIELDS): Make sure it is defined. |
| (USE_ENUM_BITFIELDS): Fix typo. |
| |
| Wed Apr 19 12:14:55 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * stor-layout.c (place_field): Set rli->offset_align properly. |
| |
| 2000-04-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * mips.h (BITS_PER_WORD, UNITS_PER_WORD, UNITS_PER_FPREG, |
| INT_TYPE_SIZE, LONG_TYPE_SIZE, POINTER_SIZE, POINTER_BOUNDARY, |
| PARM_BOUNDARY): Remove unnecessary casts. |
| |
| Wed Apr 19 12:02:37 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * calls.c (precompute_arguments): Remove must_preallocate and |
| args_size calls. |
| (expand_call): Update call of precompute_arguments. |
| |
| * loop.c (check_insn_for_bivs, for_every_insn_in_loop, |
| check_insn_for_givs): Break out from ... |
| (strength_reduce) ... here; use for_every_insn_in_loop to call |
| check_insn_for_givs. |
| * loop.h (for_every_insn_in_loop): Declare. |
| (loop_insn_callback): New type. |
| |
| 2000-04-18 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplib.c (do_pragma_poison): Strings in the token buffer are |
| not nul-terminated. |
| |
| Tue Apr 18 16:04:12 2000 Jim Wilson <wilson@cygnus.com> |
| |
| * config/ia64/sysv4.h (SELECT_SECTION): Use data_section if |
| flag_pic and RELOC. |
| |
| 2000-04-18 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cccp.c, cexp.y, cexp.c, cccp.1: Removed. |
| |
| * configure.in: Delete --disable-cpplib option and all |
| references to cpp_main. |
| * configure: Regenerate. |
| * Makefile.in: Remove all references to CCCP, CCCP_OBJS, |
| @cpp_main@, cccp.c, cexp.c, cexp.y, cexp.output, cexp.o, |
| cccp.o, cccp, or cppmain. Link cppmain.o straight to |
| cpp$(exeext). Add --no-headers to makeinfo command line when |
| generating INSTALL. Install and uninstall cpp.1 manpage, not |
| cccp.1. |
| * install.texi: Delete all references to cexp.y/cexp.c. |
| Delete ancient instructions for compiling GCC on 3b1. |
| * INSTALL: Regenerate. |
| |
| * cppfiles.c, cpplib.h, jump.c, protoize.c, c-lex.c, mips/t-ecoff, |
| mips/t-elf, mips/t-r3900: Remove references to cccp.c. |
| * convex.h, fx80.h, m68k.h, pdp11.h: Remove references to |
| cexp.c/cexp.y. |
| * xm-linux.h, xm-os2.h, romp.h: Remove definition of BSTRING, |
| which is no longer tested anywhere. |
| |
| * cppinit.c (handle_option): Don't run error message through |
| gettext twice. |
| |
| Tue Apr 18 14:16:47 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * conflict.c (conflict_graph_add): Pass enum type to htab_find_slot. |
| * cpperror.c (hashtab.h): Now include. |
| * cppexp.c (hashtab.h): Likewise. |
| * cpplex.c (hashtab.h): Likewise. |
| * cppfiles.c (hashtab.h): Likewise. |
| (find_include_file, _cpp_calc_hash, cpp_read_file): Pass enum type |
| to htab_find_slot_with_hash. |
| * cpphash.c (hashtab.h): Now include. |
| (_cpp_lookup_slot): INSERT is now enum insert_option. |
| * cpphash.h (_cpp_lookup_slot): Likewise. |
| * cppinit.c (hashtab.h): Include earlier. |
| (initialize_builtins): Pass enum to htab_find_slot. |
| * cpplib.c (hashtab.h): Now include. |
| (do_define, do_undef): Pass enum type to _cpp_lookup_slot. |
| (do_pragma_poison, do_assert): Likewise. |
| * emit-rtl.c (gen_rtx_CONST_INT): Pass enum to |
| htab_find_slot_with_hash. |
| * simplify-rtx.c (cselib_lookup_mem, cselib_lookup): Likewise. |
| * tree.c (type_hash_add): Likewise. |
| (build1): Minor cleanup. |
| |
| * ggc-common.c: Add missing blanks. |
| * print-tree.c (print_node): Print DECL_OFFSET_ALIGN. |
| * tree.h (DECL_OFFSET_ALIGN): Fix typo in comment. |
| |
| * stmt.c (mark_case_node): New function. |
| (mark_case_nesting): Call it. |
| |
| * expmed.c (emit_store_flag): If comparing two-word integer |
| with zero, can optimize NE, EQ, GE, and LT. |
| |
| * c-decl.c (mark_binding_level): Use 'for' instead of `while'. |
| * conflict.c: Minor cleanups. |
| * optabs.c: Add blank line |
| * simplify-rtx.c: Minor cleanups. |
| |
| 2000-04-18 Stan Cox <scox@cygnus.com> |
| |
| * gengenrtl.c (genlegend): Fix misspelling. |
| |
| 2000-04-18 Robert Lipe <robertlipe@usa.net> |
| |
| * configure.in (ENUM_BITFIELDS_ARE_UNSIGNED): Added. Check that |
| bitfields of the host compiler are not signed quantities. |
| * config.in: Regenerate. |
| * configure: Regenerate. |
| * system.h (USE_ENUM_BITFIELDS): Added. |
| (ENUM_BITFIELDS): Added. |
| * rtl.h (rtx_def): Members `code', `mode', now ENUM_BITFIELD. |
| (SHORT_ENUM_BUG): Deleted. |
| * tree.h (tree_common): Members `code', `mode', `built_in_class', |
| now ENUM_BITFIELD. |
| * config/i386/xm-sco.h (ONLY_INT_FIELDS): Deleted. |
| (CODE_FIELD_BUG): Likewise. |
| * config/m68k/x-apollo68 (CC): Deleted SHORT_ENUM_BUG. |
| (OLD_CC): Likewise. |
| * config/m68k/x-ccur (X_CFLAGS): Likewise. |
| |
| 2000-04-18 Mark Mitchell <mark@codesourcery.com> |
| |
| * cpplex.c (_cpp_lex_token): Don't call CPP_BUMP_LINE when the |
| mark is active. |
| |
| 2000-04-17 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppexp.c (lex): Don't assume tokens are NUL terminated. |
| * cpplib.c (do_include, do_import, do_include_next, |
| read_line_number, detect_if_not_defined): Likewise. |
| * cpphash.c (collect_expansion): Likewise. |
| (special_symbol, _cpp_macroexpand): Check return from |
| cpp_file_buffer. |
| * cpphash.h (CPP_NUL_TERMINATE, CPP_NUL_TERMINATE_Q): Delete |
| macros. Delete all uses. |
| |
| * gcc.dg/cpp-mi.c: Add two more test cases. |
| * gcc.dg/cpp-mind.h, gcc.dg/cpp-mindp.h: New files. |
| |
| 2000-04-17 Richard Henderson <rth@cygnus.com> |
| |
| * bb-reorder.c (fixup_reorder_chain): Don't look up new block again. |
| (reorder_basic_blocks): If no epilogue in rtl, force last block last. |
| |
| 2000-04-17 Mark Mitchell <mark@codesourcery.com> |
| |
| * function.c (expand_function_start): Use hard_function_value to |
| compute the RTL to use for DECL_RESULT. |
| |
| Mon Apr 17 23:35:29 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * i386.c (athlon_cost): Fix lea, divide and XFmode move costs. |
| (x86_integer_DFmode_moves, x86_partial_reg_dependency, |
| x86_memory_mismatch_stall): New global variables. |
| (ix86_adjust_cost): Handle MEMORY_BOTH on places MEMORY_STORE was only |
| alloved; fix load penalties for Athlon. |
| * i386.h (x86_integer_DFmode_moves, x86_partial_reg_dependency, |
| x86_memory_mismatch_stall): Declare. |
| (TARGET_INTEGER_DFMODE_MOVES, TARGET_PARTIAL_REG_DEPENDENCY, |
| TARGET_MEMORY_MISMATCH_STALL): New. |
| * i386.md (athlon scheduling parameters): Fix latencies according to |
| Athlon Optimization Manual. |
| (sahf, xchg, fldcw, leave instruction patterns): Set athlon_decode to |
| vector. |
| (fsqrt instruction patterns): Set athlon_decode to direct. |
| (movhi_1): Promote for TARGET_PARTIAL_REG_DEPENDENCY and for |
| PARTIAL_REGISTER_STALL with !TARGET_HIMODE_MATH machines. |
| (movqi_1): Handle promoting correctly for TARGET_PARTIAL_REG_DEPENDENCY |
| and TARGET_PARTIAL_REGISTER_STALL machines. |
| (pushdf_nointeger): New pattern. |
| (pushdf_integer): Rename from pushdf. |
| (movdf_nointger): Enable for !TARGET_INTEGER_DFMODE_MOVES machines. |
| (movdf_intger): Disable for !TARGET_INTEGER_DFMODE_MOVES machines. |
| |
| 2000-04-17 Richard Henderson <rth@cygnus.com> |
| |
| * loop.c (canonicalize_condition): Add WANT_REG argument. |
| Stop the search if we match it. |
| * expr.h (canonicalize_condition): Update decl. |
| * predict.c (expected_value_to_br_prob): Use it. Track last |
| expected value note. |
| (find_expected_value): Remove. |
| |
| * reorg.c (mostly_true_jump): Always use BR_PROB if present. |
| |
| 2000-04-17 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE([AC_FUNC_MMAP]). |
| (AC_FUNC_MMAP_FILE): New macro, tests read-only private map of |
| a plain file. |
| * configure.in: Call AC_FUNC_MMAP_FILE. |
| * configure: Regenerate. |
| * config.in: Regenerate. |
| |
| * intl/loadmsgcat.c: Test HAVE_MMAP_FILE not HAVE_MMAP. |
| * fixinc/fixincl.c: Likewise. |
| |
| 2000-04-17 Richard Henderson <rth@cygnus.com> |
| |
| * builtins.c (expand_builtin_expect): New. |
| (expand_builtin): Call it. |
| * builtins.def (BUILT_IN_EXPECT): New. |
| * c-common.c (c_common_nodes_and_builtins): Declare __builtin_expect. |
| * extend.texi: Document it. |
| |
| * predict.c (expected_value_to_br_prob): New. |
| (find_expected_value): New. |
| * basic-block.h (expected_value_to_br_prob): Declare. |
| * toplev.c (rest_of_compilation): Invoke it. |
| |
| * rtl.h (NOTE_EXPECTED_VALUE): New. |
| (NOTE_INSN_EXPECTED_VALUE): New. |
| * rtl.c (note_insn_name): Update. |
| * print-rtl.c (print_rtx): Reorg NOTE_LINE_NUMBER special |
| cases; handle NOTE_INSN_EXPECTED_VALUE. |
| |
| 2000-04-17 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/sparc.c (eligible_for_sibcall_delay): Cannot use |
| leaf sibcall delay slot if flag_pic. |
| (output_sibcall): Always emit call for leaf sibcall if flag_pic. |
| |
| 2000-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * Makefile.in (stmp-fixproto): Acknowledge errors in fixproto. |
| |
| * fixproto: If fix-header fails, exit with an error. |
| |
| Mon Apr 17 14:59:36 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * cse.c (struct check_dependence_data): New. |
| (check_dependence): New function. |
| (invalidate): Use check_depdenence. |
| |
| 2000-04-16 Mark Mitchell <mark@codesourcery.com> |
| |
| * dwarf2out.c (DWARF_CIE_DATA_ALIGNMENT): Adjust, now that |
| UNITS_PER_WORD is unsigned. |
| |
| * tree.h (struct tree_common): Remove misleading comment. |
| |
| 2000-04-16 Dave Pitts <dpitts@cozx.com> |
| |
| * Makefile.in ($(srcdir)/c-parse.y: c-parse.in): Enclose the whole |
| message in quotes. Otherwise, IBM's make program treats the '#' as the |
| start of a comment and ignores the remainder of the line. |
| |
| * c-lex.c (yylex): Change for EBCDIC, lower case characters precede |
| upper case. |
| * cccp.c (initialize_char_syntax): Allow for holes in EBCDIC. |
| * cexp.y (initialize_random_junk): Likewise. |
| * cppfiles.c (find_include_file): Cast alloca return value. |
| * cppinit.c (initialize_standard_includes): Likewise. |
| * cpplib.c (cpp_define, cpp_undef): Likewise. |
| * defaults.h (ASM_OUTPUT_ASCII): Use ISPRINT. |
| * final.c (output_asm_insn): Allow for holes in EBCDIC. |
| * fold-const.c (CHARMASK): New. |
| (real_hex_to_f): Use it. |
| * real.c (CHARMASK): New. |
| (etoasc, asctoeg): Use it. |
| (asctoeg): EBCDIC lower case characters precede upper case. |
| |
| * i370.c (mvs_add_label): Change spacing for coding conventions. |
| * i370.h (ASM_OUTPUT_CASE_LABEL): Change to the data CSECT for the |
| outputting case vectors. |
| (ASM_OUTPUT_CASE_END): New, put assembler back into code CSECT. |
| (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Remove page check, |
| since vector in in the data CSECT. |
| (ASM_OUTPUT_REG_POP, ASM_OUTPUT_REG_PUSH): Restore to correct operation. |
| * i370.md (Many patterns): Put the length in the XL directives. |
| (movdi): Put back STM and MVC in definition. |
| (floatsidf2): Correct TARGET_ELF_ABI pattern and add back the LE370 |
| pattern using the TCA. |
| * oe.h (CPP_SPEC): Added to allow trigraphs. |
| * xm-oe.h (HOST_BITS_PER_LONGLONG): Change to 32. IBM's compiler does |
| not support the "long long" type. |
| |
| 2000-04-16 Mark Mitchell <mark@codesourcery.com> |
| |
| * config/mips/mips-protos.h (mips_legitimate_address_p): New |
| function. |
| (mips_reg_mode_ok_for_base_p): Likewise. |
| * config/mips/mips.h (REG_OK_STRICT_P): Don't define. |
| (REG_OK_FOR_INDEX_P): Define unconditionally. |
| (REG_MODE_OK_FOR_BASE_P): Use mips_reg_mode_ok_for_base_p. |
| (GO_IF_LEGITIMATE_ADDRESS): Use mips_legitimate_address_p. |
| * config/mips/mips.c (mips16_simple_memory_operand): Adjust now |
| that GET_MODE_SIZE is unsigned. |
| (mips_reg_mode_ok_for_base_p): Define. |
| (mips_legitimate_address_p): Likewise. Adjust now |
| that GET_MODE_SIZE is unsigned. |
| (block_move_loop): Make the number of bytes unsigned. |
| (expand_block_move): Likewise. |
| (function_arg): Make the loop counter unsigned to match the |
| boundary condition. |
| |
| 2000-04-16 Richard Henderson <rth@cygnus.com> |
| |
| * rtl.h (enum insn_note): New enumeration. Subsume |
| NOTE_INSN_DELETED and friends. |
| (GET_NOTE_INSN_NAME): Adjust index by NOTE_INSN_BIAS. |
| * rtl.c (note_insn_name): Tweak string order. |
| |
| 2000-04-15 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplex.c (_cpp_read_and_prescan): Enlarge len by setting it |
| to offset * 2. |
| |
| * cpplex.c (output_line_command): Remove debugging prints. |
| (cpp_output_tokens): Don't write out a zero-length buffer or |
| try to see if it has a newline in it. |
| (_cpp_expand_to_buffer): Copy the source buffer before pushing. |
| (_cpp_read_and_prescan): Move shift-down of pushback bytes to |
| the end of the loop. Use memmove. Don't read past the end of |
| the buffer. Remove trailing newlines from error messages. |
| |
| 2000-04-16 Neil Booth <NeilB@earthling.net> |
| |
| * cpphash.h (SYNTAX_INCLUDE, SYNTAX_ASSERT, directive_handler): new. |
| * cpplib.c: Add new syntax flags to directive table, and |
| supporting macros. |
| |
| 2000-04-15 Ulrich Drepper <drepper@redhat.com> |
| |
| * i386.c (ix86_expand_epilogue): Yes, the x86 can pop 64k at once |
| using ret $N. |
| |
| 2000-04-15 David Edelsohn <edelsohn@gnu.org> |
| |
| * toplev.c (display_help): Prefix "f" to "sched-verbose=". |
| * haifa-sched.c: Update -fsched-verbose comments to use "=". |
| |
| Sat Apr 15 10:59:19 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * Makefile.in (ggc-page.o): Now includes toplev.h. |
| * ggc-page.c (toplev.h): Now included. |
| (gc_time): Remove declaration. |
| (ggc_collect): TIME now long. |
| * toplev.c (parse_time, varasm_time, gc_time): Still global; all |
| others static. |
| * toplev.h (gc_time, parse_time, gc_time): New declarations. |
| |
| * toplev.c: Make *_time variable long to reduce chance of overflow. |
| (TIMEVAR): Likewise for `otime'. |
| (print_time): Arg is now long; compute percentage in FP and round. |
| * toplev.h (print_time): Arg is long. |
| |
| * tree.c: Minor whitespace changes. |
| |
| * configure.in (alpha*-*-*): Add config/alpha/t-alpha. |
| * configure: Rebuilt. |
| * libgcc2.c (__fixunstfDI): Renamed from __fixunstfdi. |
| (__fixunsxfDI): Renamed from __fixunsxfdi. |
| (__fixunsdfDI): Renamed from __fixunsdfdi. |
| (__fixunssfDI): Renamed from __fixunssfdi. |
| (__floatdisf): Use proper type in REP_BIT macro. |
| (__fixunsxfSI): Renamed from __fixunsxfsi. |
| (__fixunsdfSI): Renamed from __fixunsdfsi. |
| (__fixunssfSI): Renamed from __fixunssfsi. |
| * libgcc2.h: Add cases for MIN_UNITS_PER_WORD > 4. |
| Change location of macros and upper-case some names as above. |
| * longlong.h ([alpha]): Use PARAMS, not __P in decl of __udiv__qrnnd. |
| * config/alpha/t-alpha, config/alpha/qrnnd.asm: New files. |
| |
| * varasm.c (assemble_variable): Add cast to remove warning. |
| (immed_real_const_1): Only use CONST[01]_RTX if not in nested function. |
| |
| * flow.c (count_basic_blocks, find_basic_blocks_1): Remove last change. |
| * optabs.c (emit_libcall_block): If have REG_EH_REGION, update |
| region number to -1. |
| |
| 2000-04-15 Richard Earnshaw (rearnsah@arm.com) |
| |
| * emit-rtl.c (unshare_all_rtl_again): Unmark everything, then |
| call unshare_all_rtl. |
| |
| * arm.md (movhi): REGNO_POINTER_ALIGN is now bits. |
| |
| Fri Apr 14 16:58:45 2000 Jim Wilson <wilson@cygnus.com> |
| |
| * config/ia64/lib1funcs.asm (__divdi3, __moddi3, __udivdi3, __umoddi3): |
| Use .s1 not .s0 for all FP instructions. |
| |
| 2000-04-14 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplex.c (cpp_output_tokens, cpp_scan_buffer_nooutput): New public |
| interfaces. |
| (safe_fwrite, output_line_command): New static functions. |
| (cpp_expand_to_buffer): Now private to cpplib. |
| (cpp_scan_buffer): Take a printer. |
| |
| * cpphash.h: Update prototypes. |
| * cpplib.h: Update prototypes. |
| (cpp_printer): New. |
| (cpp_buffer): Remove last_nominal_fname. |
| (cpp_reader): Remove lineno. |
| |
| * cppmain.c: Use a cpp_printer. |
| * fix-header.c: No need to inhibit line commands. Call |
| cpp_start_read with no printer. |
| |
| * cpperror.c (cpp_notice_from_errno): Provide default name. |
| * cppfiles.c (make_IHASH, _cpp_fake_ihash): New functions. |
| (find_include_file, cpp_read_file): Use make_IHASH. |
| (file_cleanup): Set control_macro and clear |
| input_stack_listing_current here. |
| (_cpp_execute_include): Don't output entering-file marker. |
| * cpphash.c (special_symbol): Look for the line number in the |
| buffer, not the reader. |
| (_cpp_macroexpand): No need to disable line commands. |
| (_cpp_dump_definition): No need to generate line commands. |
| (dump_hash_helper): Remove excess newline from output. |
| * cppinit.c (dump_special_to_buffer): No need to generate line |
| commands. |
| (cpp_printer_init): New. |
| (cpp_start_read): Take a printer, and start it up if it's not |
| NULL. No need to generate line commands. |
| (cpp_finish): Expect no buffers stacked at all. Take a |
| printer argument, and flush the output buffer if it's not |
| NULL. |
| * cpplex.c (_cpp_lex_token): Return EOF if there's no buffer. |
| Don't put two hashes at the beginning of an assertion. |
| (cpp_get_token): Don't increment pfile->lineno or emit line |
| commands here. Return EOF if there's no buffer when we get |
| EOF. |
| * cpplib.c (do_define, skip_if_group): |
| No need to disable line commands. |
| (_cpp_output_line_command): Delete function. |
| (do_line): Don't emit line commands here, but set things up so |
| they will be emitted if necessary. Use _cpp_fake_ihash to |
| make unique nominal_fnames if necessary. |
| (do_elif, do_else, _cpp_handle_eof): Call cpp_error_with_line |
| with 0 for column, not -1. |
| (_cpp_handle_eof): Don't set the control macro here. Don't |
| clear input_stack_listing_current here. Don't emit line |
| commands. |
| |
| 2000-04-14 Geoff Keating <geoffk@cygnus.com> |
| |
| * config/rs6000/sysv4.h (LINK_START_SOLARIS_SPEC): Define to empty |
| always, use the default SVR4 start address. |
| |
| * config/rs6000/linux.h (LINK_SPEC): Don't define. |
| (LINK_SHLIB_SPEC): Define. |
| (LINK_START_DEFAULT_SPEC): Define. |
| (LINK_OS_DEFAULT_SPEC): Define. |
| |
| * config/rs6000/sysv4.h (ENDFILE_SPEC): Use the %(endfile_*) macros. |
| |
| * config/rs6000/eabi.asm (__eabi): Call __init rather than |
| __do_global_ctors to handle constructors. |
| * config/rs6000/sysv4.h (STARTFILE_ADS_SPEC): Use crtbegin. |
| (STARTFILE_YELLOWKNIFE_SPEC): Likewise. |
| (STARTFILE_MVME_SPEC): Likewise. |
| (STARTFILE_SIM_SPEC): Likewise. |
| (ENDFILE_ADS_SPEC): Use crtend. |
| (ENDFILE_YELLOWKNIFE_SPEC): Likewise. |
| (ENDFILE_MVME_SPEC): Likewise. |
| (ENDFILE_SIM_SPEC): Likewise. |
| (STARTFILE_SOLARIS_SPEC): Use crtbegin/crtbeginS. |
| (ENDFILE_SOLARIS_SPEC): Use crtend/crtendS. |
| (STARTFILE_LINUX_SPEC): Use crtbeginS for shared objects. |
| (ENDFILE_LINUX_SPEC): Use crtendS for shared objects. |
| * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Don't build eabi-ctors.o. |
| (EXTRA_MULTILIB_PARTS): Build crtbeginS/crtendS. |
| (CRTSTUFF_T_CFLAGS_S): Define. |
| * config/rs6000/eabi-ctors.c: Delete. |
| |
| * config/rs6000/eabi-ci.asm (__init): Align stack to 16-byte |
| boundary. |
| (__fini): Likewise. |
| * config/rs6000/eabi-cn.asm (__init): Allow for 16-byte stack frame. |
| boundary. |
| (__fini): Likewise. |
| |
| Fri Apr 14 16:09:02 2000 Jim Wilson <wilson@cygnus.com> |
| |
| * combine.c (force_to_mode, case LSHIFTRT): Check that shift shift |
| plus mask size is smaller or equal to the mode size. |
| |
| Fri Apr 14 18:07:30 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * print-rtl.c (print_rtx, case NOTE): Don't blow up if NOTE_BASIC_BLOCK |
| not yet set. |
| |
| * expr.c (reload.h): Now included. |
| (emit_block_move): Set volatile_ok when checking for movstr. |
| (emit_move_1): Check for replacements in addresses in multi-word case. |
| * Makefile.in (expr.o): Now includes reload.h. |
| |
| * flow.c (count_basic_blocks): Remove unused var PREV_CALL. |
| Never have a LIBCALL end a basic block. |
| (find_basic_blocks_1): Likewise. |
| Reorganize CALL_INSN cases. |
| |
| * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Revert last change. |
| |
| Fri Apr 14 10:54:22 2000 Jim Wilson <wilson@cygnus.com> |
| |
| * config/ia64/lib1funcs.asm (__ia64_nonlocal_goto): Drop obsolete |
| completers from mov.ret instruction. |
| |
| 2000-04-14 Richard Henderson <rth@cygnus.com> |
| |
| * fold-const.c (extract_muldiv): Don't distribute and widen |
| multiply across plus for non-sizetype unsigned types. |
| |
| 2000-04-14 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (find_auto_inc): Don't autoinc eliminable registers. |
| If the original source is dead in the incr insn, it's dead now. |
| |
| Fri Apr 14 07:40:32 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * stor-layout.c (layout_decl): Properly compare KNOWN_ALIGN to |
| see if DECL_BIT_FIELD needs to still be set. |
| |
| * tree.h (struct tree_type): Make PRECISION 9 bits and MODE 7. |
| |
| * dbxout.c (dbxout_type, case INTEGER_TYPE): Don't call |
| print_int_cst_octal with something that's not an INTEGER_CST. |
| |
| * config/alpha/alpha.c (alpha_emit_floatuns): Ensure we pass a REG |
| and not a SUBREG to a FLOAT rtl. |
| |
| Thu Apr 13 19:39:56 2000 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * emit-rtl.c (try_split): Avoid infinite loop if the split |
| results in a sequence that contains the original insn. |
| |
| 2000-04-13 Andreas Jaeger <aj@suse.de> |
| |
| * config/mips/mips.c (expand_block_move): Pass alignment |
| argument to move_by_pieces in bits, not bytes. |
| |
| * config/mips/linux.h (CPP_PREDEFINES): Also define __PIC__ and |
| __pic__ for little endian. |
| |
| 2000-04-13 Andreas Jaeger <aj@suse.de> |
| |
| * config/i386/i386-protos.h: Add prototype for |
| uno_comparison_operator. |
| |
| Thu Apr 13 15:55:08 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * alias.c (nonlocal_reference_p): Take care of CALL_INSNS's fusage. |
| * calls.c (ECF_PURE): New flag. |
| (emit_call_1): Handle ECF_PURE calls. |
| (initialize_argument_information): Unset ECF_PURE flag too. |
| (precompute_arguments): Precompute for ECF_PURE too. |
| (expand_call): Handle ECF_PURE calls too. |
| (emit_library_call_value_1): Rename no_queue argument to fn_type, |
| accept value of 2 as pure function. |
| (emit_library_call_value, emit_library_call): Rename no_queue argument |
| to fn_type. |
| * optabs.c (prepare_cmp_insn): Pass fn_type 2 to memcmp call. |
| |
| * tree.h (DECL_IS_PURE): New macro. |
| (struct tree_decl): Add pure_flag. |
| * c-common.c (enum attrs): Add attribute "pure". |
| (init_attributes): Initialize attribute "pure" |
| (decl_attributes): Handle attribute "pure". |
| * extend.texi (Attribute "pure"): Document. |
| * calls.c (expand_call): Add (mem:BLK (scratch)) to "equal from" |
| in pure function. |
| (flags_from_decl_or_type): Support attribute "pure". |
| |
| 2000-04-13 Jason Merrill <jason@casey.cygnus.com> |
| |
| * cpplex.c (_cpp_lex_token): Handle digraphs. Don't null-terminate |
| the token except for numbers and identifiers. |
| |
| Thu Apr 13 00:09:16 EDT 2000 John Wehle (john@feith.com) |
| |
| * i386.c (ix86_expand_binary_operator, |
| ix86_expand_unary_operator): Check no_new_pseudos |
| instead of reload_in_progress and reload_completed. |
| (ix86_split_ashldi, ix86_split_ashrdi, |
| ix86_split_lshrdi): Check no_new_pseudos instead |
| of reload_completed. |
| |
| 2000-04-12 Jeffrey A Law (law@cygnus.com) |
| |
| * function.c (purge_addressof): Unshare any shared rtl created by |
| purge_addressof and its children. |
| |
| 2000-04-12 Mark Mitchell <mark@codesourcery.com> |
| |
| * function.c (aggregate_value_p): VOID_TYPE nodes are never |
| aggregates. |
| |
| 2000-04-05 Andreas Jaeger <aj@suse.de> |
| |
| * config/mips/linux.h (SUBTARGET_ASM_SPEC): Use proper flags if |
| not compiling PIC code, add flags for mabi=64. |
| (SUBTARGET_CPP_SIZE_SPEC): New. |
| (SUBTARGET_CPP_SPEC): New. |
| (CPP_PREDEFINES): Define __PIC__ and __pic__. PIC code is default |
| for MIPS/Linux and lots of code needs these defines. |
| |
| Wed Apr 12 22:44:11 2000 Hans-Peter Nilsson <hp@axis.com> |
| |
| * reorg.c (fill_slots_from_thread): Check side_effects_p when |
| trying the "opposite arithmetic" approach. |
| |
| Wed Apr 12 20:51:20 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * sh.h (STRUCT_VALUE): Just 0 for TARGET_HITACHI. |
| (struct sh_args): Add new field force_mem. |
| (INIT_CUMULATIVE_ARGS): Initialize it. |
| (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Act on it. |
| |
| Wed Apr 12 17:20:41 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * calls.c (expand_call): Do not reverse args in "equal from" field. |
| (emit_library_call_value_1): Emit_libcall_block for const and pure |
| function. |
| |
| Wed Apr 12 16:00:25 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * reload1.c (reload_combine): Don't enable optimization for fixed |
| registers when encountering a BARRIER. |
| |
| Wed Apr 12 15:54:11 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * builtins.c (expand_builtin_memcmp): Do expansion even with |
| !HAVE_cmpstrsi, do libcall when gen_strcmpsi fails. |
| |
| * calls.c (expand_call): Do NO_DEFER_POP unconditionally once |
| stack is properly aligned; add sanity checking for aligned |
| stack pointer. |
| (expand_library_call_value_1): Add sanity checking for aligned |
| stack pointer. |
| |
| Wed Apr 12 07:51:54 2000 Catherine Moore <clm@cygnus.com> |
| |
| * calls.c (emit_library_call_value_1): Change 3rd arg to |
| locate_and_pad_parm to disregard the setting of partial. |
| |
| Wed Apr 12 08:47:38 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * tree.c (unsave_expr_now_r, unsafe_for_reeval): Properly do TREE_LIST. |
| |
| * print-rtl.c (print_rtx): For CALL_PLACEHOLDER, output the |
| CALL_INSN from the normal case. |
| |
| Fri Apr 7 12:23:04 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * i386.c (x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8): |
| New global variables. |
| (ix86_emit_epilogue_adjustment): Do not attempt to use pop for the |
| adjustment. |
| * i386.h (x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8): |
| Declare, |
| (TARGET_SUB_ESP_4, TARGET_SUB_ESP_8, TARGET_ADD_ESP_4, |
| TARGET_ADD_ESP_8): New macros. |
| * i386.md: Add peep2s to convert esp adjustments to push and pop |
| instructions. |
| (pushsi_prologue, popsi_epilogue): New patterns. |
| |
| 2000-04-12 Jakub Jelinek <jakub@redhat.com> |
| |
| * real.c (toe64): Remove stale #endif from the last change. |
| |
| 2000-04-12 Stephen L Moshier <moshier@mediaone.net> |
| |
| * real.h (MAX_LONG_DOUBLE_TYPE_SIZE): Comment. |
| * real.c (toe64): Revert previous change. |
| |
| 2000-04-12 Jakub Jelinek <jakub@redhat.com> |
| |
| * objc/objc-act.c: Include ggc.h. |
| (objc_tree_index, objc_global_trees): Convert most of the |
| static tree variables into a static array with previous names |
| as defines. |
| (objc_ellipsis_node): New variable. |
| (lang_init): Call objc_act_parse_init and c_parse_init. |
| Create objc_ellipsis_node. |
| (build_selector_translation_table): Use objc_ellipsis_node instead |
| of (tree)1. |
| (hack_method_prototype): Likewise. |
| (get_arg_type_list): Likewise. |
| (start_method_def): Likewise. |
| (continue_method_def): Likewise. |
| (gen_method_decl): Likewise. |
| (ggc_mark_imp_list): New function. |
| (ggc_mark_hash_table): New function. |
| (objc_act_parse_init): New function. |
| * objc/objc-act.h (objc_ellipsis_node): Add extern variable. |
| * c-parse.in (c_parse_init): For objc add roots of objc specific |
| local tree variables. |
| * objc/objc-parse.y: Rebuilt. |
| * objc/objc-parse.c: Rebuilt. |
| (opt_parm_list): Use objc_ellipsis_node instead of (tree)1. |
| |
| Wed Apr 12 01:00:44 EDT 2000 John Wehle (john@feith.com) |
| |
| * cse.c (delete_trivially_dead_insns): Also delete insns |
| that copy a register to itself where the destination is |
| a strict_low_part. |
| |
| 2000-04-11 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (struct propagate_block_info): Add new_dead, new_live. |
| (propagate_block): Initialize them. Use them in parallel instead |
| of one tmp variable, ie revert much of the 0408 and 0407 functional |
| changes, but keep the structural changes. |
| (mark_set_regs): Take new_dead from propagate_block_info instead. |
| (mark_set_1, mark_set_reg): Likewise. |
| (mark_used_regs): Likewise with new_live. |
| (mark_used_reg): Likewise. Revert 0408 change. |
| |
| 2000-04-11 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/arm.h: (INCOMING_RETURN_ADDR_RTX): Remove Dwarf2 |
| restriction. |
| (DWARF_FRAME_RETURN_COLUMN): Remove Dwarf2 restriction. |
| |
| 2000-04-11 Alexandre Oliva <oliva@lsd.ic.unicamp.br> |
| |
| * config/elfos.h (SELECT_SECTION): Decide whether to use a data or |
| const section to output a CONSTRUCTOR based on the same conditions |
| used for VAR_DECLs. |
| |
| Tue Apr 11 09:55:59 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * pa/long-double.h (FIX_TRUNCTFSI2_LIBCALL): Tweak for PA64. |
| * pa/pa-protos.h (output_call): Add additional argument indicating |
| if the call is a sibling/tail call. |
| (compute_zdepdi_operands, output_64bit_and): Prototype new functions. |
| (compute_64bit_ior, cmpib_comparison_operator): Likewise. |
| (function_arg, function_arg_partial_nregs): Likewise |
| * pa/pa.c (override_options): Always set flag_pic for TARGET_64BIT. |
| (emit_move_sequence): Zero extend certain constants as needed |
| for TARGET_64BIT. |
| (compute_zdepdi_operands, output_64bit_and): New functions. |
| (output_64bit_ior, function_arg): Likewise. |
| (cmpib_comparison_operator, function_arg_partial_nregs): Likewise. |
| (compute_frame_size, hppa_expand_prologue): Handle TARGET_64BIT. |
| (hppa_expand_epilogue, return_addr_rtx, hppa_va_arg): Likewise. |
| (hppa_builtin_saveregs, output_cbranch, output_bb): Likewise. |
| (output_bvb): Likewise. |
| (output_millicode_call): Return pointer is in %r2 for TARGET_64BIT. |
| (output_call): New argument 'sibcall'. Generate sibcall sequences |
| as needed. |
| (print_operand); Handle cases 'Q', 'p', and 'z' for TARGET_64BIT. For |
| (ouput_arg_descriptor): Do not emit argument descriptors for |
| TARGET_64BIT. |
| * pa/pa.h (TARGET_PA_11, TARGET_PA_20): Only define if not already |
| defined. |
| (TARGET_64BIT, PROMOTE_FUNCTION_RETURN): Define. |
| (FUNCTION_OK_FOR_SIBALL): Define. |
| (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC): Define. |
| (CPP_CPU_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS, EXTRA_SPECS): Likewise. |
| (CPP_SPEC): Use new spec infrastructure. |
| (BITS_PER_WORD, UNITS_PER_WORD): Handle TARGET_64BIT. |
| (STACK_BOUNDARY, FUNCTION_BOUNDARY, PIC_OFFSET_TABLE_REGNUM): Likewise. |
| (RETURN_IN_MEMORY, EXTRA_CONSTRAINT, FIRST_PARM_OFFSET): Likewise. |
| (REG_PARM_STACK_SPACE, STACK_POINTER_OFFSET): Likewise. |
| (STACK_DYNAMIC_OFFSET, FUNCTION_VALUE): Likewise. |
| (FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_CALLEE_COPIES): Likewise. |
| (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Likewise. |
| (INITIALIZE_TRAMPOLINE, LEGITIMATE_CONSTANT_P): Likewise. |
| (CONST_OK_FOR_LETTER_P, MOVE_RATIO): Likewise. |
| (FUNCTION_ARG); Call out to C code. |
| (FUNCTION_ARG_PARTIAL_NREGS): Likewise. |
| (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Define. |
| (MIN_UNITS_PER_WORD): Likewise. |
| * pa/pa.md (cmpdi): New expander. |
| (scc patterns, movstrsi): Not available for TARGET_64BIT. |
| (64bit conditional arithmetic): New patterns. |
| (absdi2, smindi3, umindi3, smaxdi3, umaxdi3): New patterns. |
| (movsicc): Not available if modes on all the operands to not match. |
| (movdicc): New expander and associated patterns. |
| (64bit branches): New patterns. |
| (pre_load, post_store): Generate appropriate code for TARGET_64BIT. |
| (pre_ldd, post_std): New patterns. |
| (64bit addil, load low part): New patterns. |
| (special movsf constant): Not available for TARGET_64BIT. |
| (movsf, movdf expanders): Force constants into memory. |
| (32bit movdf/movdi patterns): Disable for TARGET_64BIT. |
| (64bit movdf/movdi patterns): New patterns. |
| (zero_extendqidi2, zero_extendhidi2, zero_extendsidi2): New patterns |
| for TARGET_64BIT. |
| (extendqidi2, extendhidi2, extendsidi2): Similarly. |
| (adddi3 expander): Allow "arith_operand" for second input. |
| (32bit adddi3, subdi3, uaddcm): Disable for TARGET_64BIT. |
| (64bit adddi3, subsi3, uaddcm): New patterns for TARGET_64BIT. |
| (mulsi3 expander): Revamp slightly so it supports TARGET_64BIT too. |
| (muldi3): New expander for TARGET_64BIT. |
| (divsi3, udivsi3, modsi3, umodsi3): Fourth operand must be (reg:SI 2) |
| for TARGET_64BIT. |
| (32bit anddi3, iordi3, xordi3, andcm, negdi2, uaddcm): Disable |
| patterns for TARGET_64BIT. |
| (64bit anddi3, iordi3, xordi3, andcm, negdi2, uaddcm, shadd): New |
| patterns for TARGET_64BIT. |
| (64bit bit insertion/extractions): New patterns for TARGET_64BIT. |
| (64bit shifts/rotates): New patterns/expanders for TARGET_64BIT. |
| (sibcall_epilogue): New expander. |
| (casesi): Tweak for TARGET_64BIT. |
| (call expanders): Set & use the outgoing argument pointer. Use the |
| 64bit call patterns as needed. Add additional arg to output_call. |
| (call_internal_reg_64bit, call_value_internal_reg_64bit): New pattern. |
| (sibcall, sibcall_internal_symref): New expanders. |
| (sibcall_value, sibcall_value_internal_symref |
| (interspace_jump): Turn into an expander + matching patterns. |
| (canonicalize_funcptr_for_compare): Not needed for TARGET_64BIT. |
| * pa/pa64-regs.h: Eliminate trigraph sequences. |
| * pa/pa64-start.h (TARGET_PA_20): Fix typo. |
| |
| 2000-04-11 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppexp.c, cpphash.c, cpphash.h, cpplex.c, cpplib.c, |
| cpplib.h, cppmain.c, fix-header.c, scan-decls.c: Replace |
| cpp_token with cpp_ttype everywhere. |
| * cpperror.c, cpphash.c, cpplex.c, cpplib.c, scan-decls.c: |
| Replace cpp_buf_line_and_col with CPP_BUF_LINE and/or |
| CPP_BUF_COL. Line and column numbers are unsigned int, not |
| long. |
| * cpplex.c (cpp_buf_line_and_col): Delete. |
| * cpplib.h (struct cpp_buffer, struct cpp_reader): Change |
| 'long lineno' to 'unsigned int lineno'. |
| (CPP_BUF_LINE, CPP_BUF_COL): New macros. |
| |
| 2000-04-11 Martin v. Löwis <loewis@informatik.hu-berlin.de> |
| |
| * extend.texi: ISO C99 is not a draft anymore. |
| * invoke.texi: ISO C++ is not a draft anymore. |
| * cpp.texi: __cplusplus is required by the ISO standard. |
| |
| * extend.texi (-fthis-is-variable): Undocument. |
| * flags.h (warn_template_debugging): Remove declaration. |
| * gcc.1 (-fall-virtual, -fenum-int-equiv, -fthis-is-variable, |
| -Wenum-clash, -Wtemplate-debugging): Undocument. |
| |
| 2000-04-10 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/arm.h (HOST_INT): New macro: Declare a HOST_WIDE_INT |
| integer. |
| (HOST_UINT): New macro: Declare an unsigned HOST_WIDE_INT |
| integer. |
| (ARM_SIGN_EXTEND): Use HOST_UINT. |
| (STRIP_NAME_ENCODING): Prevent warnings about redefinitions. |
| (ASM_OUTPUT_LABELREF): Prevent warnings about redefinitions. |
| (INCOMING_RETURN_ADDR_RTX): Only define if Dwarf2 is supported. |
| (DWARF_FRAME_RETURN_COLUMN): Only define if Dwarf2 is supported. |
| |
| * config/arm/arm.c: (const_ok_for_arm): Use HOST_UINT. |
| (arm_gen_constant): Use HOST_UINT. |
| (arm_canonicalize_constant): Use HOST_UINT. |
| (arm_reload_in_hi): Use HOST_UINT. |
| (arm_reload_out_hi): Use HOST_UINT. |
| (output_multi_immediate): Use HOST_UINT. |
| (int_log2): Use HOST_UINT. |
| (arm_poke_function_name): Use HOST_UINT. |
| (arm_output_epilogue): Use arm_volatile_func(). |
| (output_thumb_prologue): Use arm_strip_name_encoding(). |
| |
| Mon Apr 10 15:40:59 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * sbitmap.c (sbitmap_a_subset_b_p): Rework loop to avoid potential |
| of sequence point problems. |
| |
| 2000-04-10 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * rtl.def (ASHIFT, ROTATE, ASHIFTRT, LSHIFTRT, ROTATERT): |
| Recomment. |
| * tree.def (LSHIFT_EXPR, RSHIFT_EXPR): Recomment. |
| |
| Mon Apr 10 07:21:13 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * sbitmap.h: Whitespace changes and use upper-case macro args. |
| (struct simple_bitmap_def): All sizes now unsigned. |
| (EXECUTE_IF_SET_IN_SBITMAP): Internal vars now _X instead of X_. |
| * sbitmap.c (sbitmap_alloc): N_ELMS now unsigned; also local vars. |
| (sbitmap_vector_alloc): Parms and local vars now unsigned. |
| (sbitmap_zero): Cast bzero arg to PTR. |
| (sbitmap_vector_zero, sbitmap_vector_one): Parm and Local var unsigned. |
| (sbitmap_union_of_diffs): Change loop index to unsigned and rework |
| loop to make structure clearer. |
| (sbitmap_not, sbitmap_difference, sbitmap_a_and_b): Likewise. |
| (sbitmap_a_or_b, sbitmap_a_subset_b_p, sbitmap_a_or_b_and_c): Likewise. |
| (sbitmap_a_and_b_or_c): Likewise. |
| (sbitmap_intersection_of_succs): Minor cleanups. |
| (sbitmap_intersection_of_preds, sbitmap_union_of_succs): Likewise. |
| (sbitmap_union_of_preds): Likewise. |
| (sbitmap_first_set_bit, dump_sbitmap): Local variables now unsigned. |
| (debug_sbitmap): New function. |
| |
| * c-convert.c (convert): Handle REFERENCE_TYPE like POINTER_TYPE. |
| * c-typeck.c (convert_for_assignment): Likewise. |
| |
| * expmed.c (init_expmed): Don't free objects we make. |
| * emit-rtl.c (gen_rtx_CONST_INT, init_emit_once): Minor cleanups. |
| |
| * expr.c (get_inner_reference): Correct some WITH_RECORD_EXPR cases. |
| (expand_expr, case CONVERT_EXPR): Pass proper alignment to store_field. |
| |
| * gcse.c (expr_hash_table_size): Now unsigned. |
| (compute_ae_gen): Local variable `i' now unsigned. |
| (compute_ae_kill, pre_insert_copies, pre_delete, pre_gcse): Likewise. |
| (compute_transout, hoist_code): Likewise. |
| (compute_local_properties): Likewise, also hash_table_size. |
| (alloc_expr_hash_table): N_INSNS now unsigned. |
| (delete_null_pointer_checks): Mark arg F as unused. |
| |
| * regrename.c: Minor cleanups, including chang some variables |
| to unsigned int. |
| |
| 2000-04-10 Neil Booth <NeilB@earthling.net> |
| |
| * cpplex.c (skip_block_comment): Use pointer arithmetic rather |
| than GETC (). |
| * cpphash.h: (CPP_BUMP_BUFFER_LINE_CUR, CPP_BUMP_LINE_CUR): New. |
| |
| 2000-04-10 Martin v. Löwis <loewis@informatik.hu-berlin.de> |
| |
| * invoke.texi (-fno-gnu-keywords): Remove classof, headof, |
| __classof__, and __headof__ from the list of gnu keywords. |
| (-ansi): Remove -foperator-names from list of implied options. |
| Do not call it ANSI C++. |
| (-foperator-names): Document as -fno-operator-names. |
| |
| 2000-04-09 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpphash.c (timestamp): Delete. |
| (del_HASHNODE): If type is T_MCONST, free value.cpval. |
| (special_symbol): Remove unnecessary braces. Remove |
| T_VERSION. Treat T_STDC like T_CONST unless |
| STDC_0_IN_SYSTEM_HEADERS. Render both __DATE__ and __TIME__ |
| when one is encountered, then convert them into T_MCONST |
| nodes. |
| * cppinit.c (builtin_array): version_string is T_MCONST. |
| __STDC__ has a "1" in its cpval. Don't have a terminator |
| entry. Clean up which entries are dumped. |
| (initialize_builtins): Only __STDC__ gets the special |
| -traditional treatment. Count the length of builtin_array. |
| Render version_string here. |
| * cpphash.h: Remove T_VERSION. Add T_MCONST. |
| * cpplib.h (struct cpp_reader): Remove timebuf. |
| |
| 2000-04-09 Richard Henderson <rth@cygnus.com> |
| |
| * genrecog.c (pred): Update comparison_operator for the unordered |
| operators. |
| |
| * config/i386/i386.c (no_comparison_operator): Disallow unordered |
| operators. |
| (fcmov_comparison_operator): Allow UNORDERED/ORDERED. |
| (uno_comparison_operator): New. |
| (put_condition_code): Handle UNORDERED/ORDERED. |
| (unsigned_comparison): Likewise. |
| (ix86_fp_compare_mode): Broken out of ix86_expand_fp_compare. |
| (ix86_use_fcomi_compare, ix86_prepare_fp_compare_args): Likewise. |
| (ix86_expand_fp_compare): Use them. Take scratch as argument, |
| update all callers. Handle all 8 unordered operators. |
| (ix86_expand_setcc): Lose the unordered argument, update all callers. |
| (ix86_expand_branch): Likewise. Don't fully expand fp branches. |
| * config/i386/i386.h (PREDICATE_CODES): Update. |
| * config/i386/i386-protos.h (ix86_expand_fp_compare): Declare. |
| (ix86_expand_branch, ix86_expand_setcc): Update. |
| * config/i386/i386.md (sunordered, sordered): New. |
| (suneq, sunge, sungt, sunle, sunlt, sltgt): New. |
| (bunordered, bordered): New. |
| (buneq, bunge, bungt, bunle, bunlt, bltgt): New. |
| (*fp_jcc_1, *fp_jcc_2, *fp_jcc_3, *fp_jcc_4): New. |
| (*fp_jcc_5, *fp_jcc_6, and splitters): New. |
| |
| 2000-04-09 Philip Blundell <philb@gnu.org> |
| |
| * config/arm/arm.h (ARM_NAME_ENCODING_LENGTHS): Strip `*' too. |
| |
| Sun Apr 9 15:16:14 EDT 2000 John Wehle (john@feith.com) |
| |
| * i386.md (fix_truncsfhi2, fix_truncdfhi2, |
| fix_truncxfhi2): New patterns. |
| * i386.c (output_fix_trunc): Handle converting to HImode. |
| |
| 2000-04-08 Alex Samuel <samuel@codesourcery.com> |
| |
| * ssa.c (convert_to_ssa): Eliminate dead code when calling |
| life_analysis. |
| (convert_from_ssa): Call compute_bb_for_insn before life_analysis. |
| (for_each_successor_phi): Change parameter to basic_block. |
| (coalesce_regs_in_successor_phi_nodes): Likewise. |
| (coalesce_regs_in_copies): Likewise. |
| (compute_coalesced_reg_partition): Use basic_block instead of index. |
| * rtl.h (convert_to_ssa): Delete. |
| (convert_from_ssa): Likewise. |
| (successor_phi_fn): Likewise. |
| (for_each_successor_phi): Likewise. |
| (in_ssa_form): Likewise. |
| * basic-block.h (convert_to_ssa): Moved from rtl.h. |
| (convert_from_ssa): Likewise. |
| (successor_phi_fn): Likewise. |
| (in_ssa_form): Likewise. |
| (for_each_successor_phi): Likewise. Change parameter to basic_block. |
| * flow.c (calculate_global_regs_live): Pass a basic_block to |
| for_each_successor_phi. |
| |
| 2000-04-08 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (mark_used_reg): Use reg_set_p to determine if a register |
| was modified in the current insn. |
| |
| 2000-04-08 Richard Earnshaw (rearnsha@arm.com) |
| |
| * arm/thumb.md: Delete. |
| * arm/thumb-protos.h: Delete. |
| |
| 2000-04-08 Richard Earnshaw (rearnsha@arm.com) |
| |
| Merge changes from merged-arm-thumb-backend-branch onto trunk. |
| |
| 2000-04-08 Richard Earnshaw (rearnsha@arm.com) |
| |
| * Merge trunk code from tag merged-arm-thumb-backend-merge_20000408 |
| into branch. |
| |
| * arm.md (nop): Use the standard RTL expression. Don't code as a |
| define_expand. |
| (*arm_nop, *thumb_nop): Delete. |
| |
| * arm.c (const_ok_for_arm): Don't use ANSI extensions for defining |
| constants. Use casts instead. |
| (arm_gen_constant, arm_rtx_costs, arm_reload_in_hi, arm_reload_out_hi, |
| output_multi_immediate, arm_poke_function_name): Likewise. |
| * arm.h (ARM_LEGITIIMIZE_RELOAD_ADDRESS, ARM_SIGN_EXTEND, |
| MASK_RETURN_ADDDR): Likewise. |
| |
| 2000-03-31 Richard Earnshaw (rearnsha@arm.com) |
| |
| * Merge trunk code from tag merged-arm-thumb-backend-merge_20000325 |
| into branch. |
| |
| * arm.md (eh_epilogue): New function. |
| * arm.h (struct machine_function): Move to here ... |
| * arm.c: ... from here. |
| (arm_output_epilogue): Support epilogues for __builtin_eh_return. |
| (thumb_exit): Extra parameter eh_ofs. All callers changed. |
| Handle epilogues for __builtin_eh_return. Make bit-fields unsigned. |
| |
| 2000-03-30 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/semi.h (ASM_SPEC): Restore definition. |
| (SUBTARGET_EXTRA_ASM_SPEC): Define if not already defined. |
| |
| * config/arm/elf.h (ASM_SPEC): Restore definition. |
| (SUBTARGET_EXTRA_ASM_SPEC): Define if not already defined. |
| |
| * config/arm/arm.h (ASM_SPEC): Remove definition. |
| (SUBTARGET_EXTRA_ASM_SPEC): Remove definition. |
| |
| 2000-03-26 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * config/arm/arm.c: Disable -fschedule-insns for Thumb. |
| |
| 2000-03-24 Nick Clifton <nickc@cygnus.com> |
| |
| Various formating tidyups, elimination of compile time |
| warnings and synchronisation with internal sources: |
| |
| * config/arm/arm-protos.h (assemble_align): Add prototype. |
| (gen_rotated_half_load): Rename to arm_gen_rotated_half_load. |
| (gen_comapre_reg): Rename to arm_gen_compare_reg. |
| (arm_return_addr_rtx): Rename to arm_return_addr. |
| |
| * config/arm/arm.c: Include except.h. |
| Define shorter typenames for strict minipool_node and struct |
| minipool_fix. |
| (arm_return_in_memory): For WinCE return all structures <= 32 bits |
| in memory. |
| (gen_rotated_half_load): Rename to arm_gen_rotated_half_load. |
| (gen_comapre_reg): Rename to arm_gen_compare_reg. |
| |
| * config/arm/arm.h (SUBTARGET_EXTRA_ASM_SPEC): Define if not |
| already defined. |
| (ASM_SPEC): Define if not already defined. |
| (ASM_OUTPUT_DEF_FROM_DECLS): Define. |
| |
| * config/arm/arm.md: Rename references to gen_rotated_half_load to |
| arm_gen_rotated_half_load, and references to gen_comapre_reg to |
| arm_gen_compare_reg. |
| (indirect_jump): Only accept register operands. |
| (load_indirect_jump): Keep this pattern since combine can generate |
| it. |
| |
| * config/arm/coff.h: Include aout.h. |
| (MULTILIB_DEFAULTS): Only define if not already defined. |
| |
| * config/arm/elf.h (ASM_OUTPUT_DEF_FROM_DECLS): Move definition |
| into arm.h (so that COFF ports can support thumb based aliases). |
| (ASM_SPEC): Move definition into arm.h |
| |
| * config/arm/linux-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Remove |
| redundant apcs spec. |
| (ASM_SPEC): Move definition to arm.h |
| |
| * config/arm/semi.h (ASM_SPEC): Move definition to arm.h |
| |
| * config/arm/unknown-elf.h (ASM_OUTPUT_SECTION_NAME): Add support |
| for entries in the .bss section |
| |
| 2000-03-23 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Pass 0 |
| to thumb_far_jump_used_p. |
| |
| * config/arm/arm-protos.h (thumb_far_jump_used_p): Take a |
| single integer parameter. |
| |
| * config/arm/arm.c (struct machine_function): Add two new |
| fields, 'far_jump_used' and 'arg_pointer_live'. |
| (thumb_far_jump_used_p): Once the decision has been made that |
| far jumps might be used, always return true. |
| If being called from the initial elimination offset macro then |
| do not bother to perform the test if the arg pointer is not |
| being used. |
| (thumb_unexpand_epilogue): Pass 1 to thumb_far_jump_used_p(). |
| (output_thumb_prologue): Pass 1 to thumb_far_jump_used_p(). |
| |
| 2000-03-23 Richard Earnshaw (rearnsha@arm.com) |
| |
| * arm.c (output_return_instruction): Handle more cases where we can |
| return from a function with an ldr instruction. |
| (arm_output_epilogue): Likewise. |
| |
| * arm.c (thumb_expand_prologue): Don't clobber the frame pointer |
| if we need to push a large stack frame and there are no callee-saved |
| registers. |
| |
| * arm.c (arm_debugger_arg_offset): An offset of 0 is also valid |
| in ARM code if the frame pointer has been eliminated. |
| |
| * arm.md (epilogue, *epilogue_insns, consttable_*, align_4): Renumber |
| unspec_volatile arguments to avoid duplicates. |
| (consttable_1, consttable_2): Fixes for big-endian mode. |
| |
| * arm.md (all ARM-mode load insns): Add neg_pool_range attribute |
| as appropriate. |
| |
| Re-write constant pool code. |
| * arm.c (minipool_node, minipool_fix): New types. |
| (minifix): Delete type. |
| (arm_add_minipool_constant): Delete. |
| (arm_compute_minipool_offsets, arm_find_barrier, |
| arm_find_minipool_constant, fixup_compare, sort_fixups): Likewise. |
| (get_jump_table_size): Now returns HOST_WIDE_INT. |
| (move_minipool_fix_forward_ref, add_minipool_forward_ref): New |
| functions. |
| (move_minipool_fix_backward_ref, add_minipool_backward_ref): Likewise. |
| (assign_minipool_offsets, arm_print_value): Likewise. |
| (dump_minipool): Rewrite. |
| (arm_barrier_cost): New function. |
| (create_fix_barrier): New function. |
| (push_minipool_barrier): New function. |
| (push_minipool_fix): Record additional information about the fixup |
| required. |
| (note_invalid_constants): Remove push for (UNSPEC 3). Don't |
| check the mode of what needs fixing. |
| (arm_reorg): Rewrite. |
| |
| 2000-03-08 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/arm.md (indirect_jump): Force constant addresses into |
| a register. |
| |
| 2000-03-01 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * config/arm/arm.md: Add splitter to turn SF moves into SI moves. |
| |
| 2000-02-24 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/arm.c (thumb_expand_prologue): Make sure that stack |
| adjust is word aligned. |
| (thumb_expand_epilogue): Make sure that stack adjust is word |
| aligned. |
| |
| * config/arm/elf.h (ASM_FILE_START): Fix type of version string. |
| |
| 2000-02-24 Bernd Schmidt <bernds@cygnus.com> |
| |
| * config/arm/arm.h (THUMB_GO_IF_LEGITIMATE_ADDRESS): Allow frame |
| pointer relative addresses. |
| |
| 2000-02-10 Richard Earnshaw <rearnsha@arm.com> |
| |
| * arm.c (find_barrier): Find the last barrier within the allowed |
| range. |
| |
| 2000-02-09 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/arm-protos.h: Replace PROTO with PARAMS. |
| |
| 2000-02-09 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/linux-elf.h (FUNCTION_PROFILER): Rename to |
| ARM_FUNCTION_PROFILER. |
| |
| * config/arm/netbsd.h (FUNCTION_PROFILER): Rename to |
| ARM_FUNCTION_PROFILER. |
| |
| * config/arm/linux-oldld.h: Imported from mainline sources. |
| |
| 2000-02-07 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/lib1funcs.asm: Merge in thumb functions from |
| lib1thumb.asm. |
| |
| * config/arm/lib1thumb.asm: Delete. |
| |
| 2000-02-04 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/arm.c: Sychronised with current Red hat local |
| sources. |
| * config/arm/arm.h: Ditto. |
| * config/arm/arm-protos.h: Ditto. |
| |
| 2000-02-02 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * arm.c (soft_df_operand): Reject SUBREGs containing a constant. |
| |
| * arm.c (arm_gen_movstrqi): Generate halfword stores rather than two |
| byte stores. |
| |
| 2000-02-02 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/thumb.c (thumb_exit): Additional fix for same bug. |
| |
| * config/arm/arm.md (epilogue): Fix rtl checking abort because |
| (return) was emited using an emit_insn() call. |
| |
| 2000-01-31 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/arm.c (output_thumb_prologue): Fix bug generating |
| thumb stack frame. |
| (thumb_exit): Move frame pointer back into hard frame pointer |
| register if backtracing is being used. |
| |
| 2000-01-13 Richard Earnshaw (rearnsha@arm.com) |
| |
| * Merge trunk code from tag merged-arm-thumb-backend-merge_20000113 |
| into branch. |
| |
| 1999-12-15 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * config/arm/arm.md (neg_pool_offset): Provide default for new |
| attribute. |
| (arm_movsi_insn): Add neg_pool_offset attribute. |
| * config/arm/arm.c (arm_find_barrier): Replace arg FIX with an |
| rtx for the insn that starts the scan and an unsigned long for its |
| address. Add MIN_OFFSET and PINSERTED args. All callers changed. |
| Change scan to ignore insns before MIN_OFFSET. Store size of inserted |
| instructions in *PINSERTED. |
| (struct minipool_fixup): Add MIN_ADDRESS elt. |
| (sort_fixups): Compute it. |
| (arm_reorg): Changes to support inserting pools before the insn to be |
| fixed up. |
| |
| 1999-12-08 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * config/arm/elf.h (MULTILIB_DEFAULTS): Add "marm". |
| * config/arm/linux-elf.h (MULTILIB_DEFAULTS): Add "marm". |
| * config/arm/coff.h (MULTILIB_DEFAULTS): Add "marm". |
| |
| Wed Nov 3 10:04:07 1999 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/semi.h (TARGET_VERSION): Do not define if already |
| defined. |
| (TARGET_DEFAULT): Do not define if already defined. |
| |
| Tue Nov 2 10:37:25 1999 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/arm.md (anddi3): Allow disjoint source operands. |
| (iordi3): Allow disjoint source operands. |
| (xordi3): Allow disjoint source operands. |
| (negdi2): Permit construction for ARM and Thumb. |
| (arm_negdi2): Renamed version of old negdi2 pattern. |
| (thumb_negdi2): New pattern: Only permit non-overlapping |
| source and destination. |
| |
| Fri Oct 29 18:52:38 1999 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/arm.c (thumb_expand_prologue): Emit a USE of the |
| scratch low register so that it will not be deleted. |
| |
| Fri Oct 29 15:23:48 1999 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/pe.h (ARM_PE): Define. |
| |
| * config/arm/arm.c (arm_valid_machine_decl_attribute): Allow |
| interfacearm attribute if this is a PE toolchain. |
| (output_return_instruction): Do not emit anything if the function |
| has the naked attribute set. |
| (is_called_in_ARM_mode): If the function has the interfacearm |
| attribute then return true. |
| (thumb_expand_prologue): Do not generate a prologue for naked |
| functions. |
| (thumb_expand_epilogue): Do not generate an epilogie for a naked |
| function. |
| (output_thumb_prologue): Do not bother if the function is naked. |
| Strip PE encoding from function name before emitting. |
| |
| Thu Oct 28 11:05:13 1999 Richard Earnshaw <rearnsha@arm.com> |
| |
| * arm.md (pic_load_addr): Fix constraints. |
| |
| * arm.md (casesi_insn): Fix mis-applied patch. |
| |
| * arm.md ("core" function unit): Add rules for single- and |
| multi-cycle insns. |
| (All TARGET_THUMB patterns): Add "type" attribute information |
| where needed. |
| * arm.c (arm_adjust_cost): Reduce the cost of a data dependency if |
| the following insn is a CALL. |
| |
| * arm.c (thumb_expand_epilogue): Add a use of the adjusted stack |
| pointer. |
| * arm.h (CONDITIONAL_REGISTER_USAGE): Nail down the |
| ARM_HARD_FRAME_POINTER_REGNUM when TARGET_APCS_FRAME. |
| (FRAME_POINTER_REQUIRED): Only check TARGET_APCS_FRAME if TARGET_ARM. |
| |
| Wed Oct 27 14:40:48 1999 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/linux-gas.h: oops - this file was missed out when the |
| branch was created... |
| |
| Tue Oct 26 17:07:38 1999 Richard Earnshaw <rearnsha@arm.com> |
| |
| * thumb.c: Deleted. Move contents to ... |
| * arm.c: ... here. |
| * t-arm-aout, t-arm-coff, t-arm-elf, t-linux, t-netbsd, t-semi: Remove |
| rule for thumb.o |
| * configure.in (arm*-*-*): Remove thumb.o from extra_objs list. |
| * configure: Regen. |
| |
| * arm-protos.h: Use RTX_CODE and tidy up long lines. Don't |
| declare a prototype for asm_output_align(); |
| |
| * arm.c (thumb_condition_code): Delete. |
| (arm_print_operand): Always use arm_condition_code array. |
| |
| * arm.c (thumb_return_addr_rtx): Delete. |
| (arm_save_machine_status, arm_restore_machine_status): Delete. |
| (arm_init_machine_status, arm_mark_machine_status): New functions. |
| (arm_init_expanders): Update accordingly. |
| (arm_return_addr): Renamed from arm_return_addr_rtx. Rewrite. |
| (thumb_expand_prologue): Delete code referencing thumb_return_addr_rtx. |
| * arm.h (RETURN_ADDR_RTX): Call arm_return_addr(). |
| |
| Tue Oct 26 13:24:16 1999 Nick Clifton <nickc@cygnus.com> |
| |
| * configure.in : Fix arm-*-aout target to use new t-arm-aout |
| script. |
| * config/arm/t-arm-aout: New file: Makefile script for arm-*-aout |
| targets. |
| |
| Tue Oct 26 11:27:12 1999 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/thumb.c (output_thumb_prologue): Fix bug creating |
| stack backtrace structure. |
| |
| * config/arm/arm-protos.h: Add prototypes for functions defined in |
| arm/pe.h. |
| |
| * config/arm/arm.c (arm_override_options): Fix selection of |
| attributes of default processor. |
| |
| * config/arm/coff.h: Delete needless #include. |
| |
| * config/arm/pe.c: Delete unused code. |
| |
| * config/arm/pe.h (CPP_DEFINES): Delete |
| (SUBTARGET_CPP_SPEC): Define. |
| (ASM_DECLARE_FUNCTION_NAME): Use ARM_DECLARE_FUNCTION_NAME. |
| |
| * config/arm/t-pe: Add -DInhibit_libc to allof libgcc.a to build. |
| |
| Mon Oct 25 15:42:09 1999 Richard Earnshaw (rearnsha@arm.com) |
| |
| * arm.h (TARGET_APCS_FRAME): Renamed from TARGET_APCS -- all uses |
| updated. |
| (CAN_DEBUG_WITHOUT_FP): Define. |
| (FIXED_REGISTERS): Make r11 call-saved. |
| (CALL_USED_REGISTERS): Likewise. |
| (CONDITIONAL_REGISTER_USAGE): Fix r11 if TARGET_APCS_FRAME. |
| (FRAME_POINTER_REQUIRED): Correct logic for determining when a |
| frame-pointer is required. |
| (TARGET_DEFAULT): Make default setting include ARM_FLAG_APCS_FRAME. |
| * arm.c (arm_override_options): Warn about -mno-apcs-frame and -g |
| if the target normally needs a stack frame in non-leaf functions. |
| (use_return_insn): Correct logic for determining when a return |
| instruction can be used. |
| (output_return_instruction): Handle the frame-pointer register as |
| a normal register when not TARGET_APCS_FRAME. |
| (arm_output_prologue): Likewise. |
| (arm_output_epilogue): Likewise. |
| (output_func_epilogue): Likewise. |
| (arm_expand_prologue): Likewise. |
| * netbsd.h semi.h (TARGET_DEFAULT): Add ARM_FLAG_APCS_FRAME. |
| |
| * arm.c (use_return_insn): No need to check floating point regs if |
| TARGET_SOFT_FLOAT. |
| (arm_find_minipool_constant): Correct typo; use GET_CODE to get |
| the code of value stored in the minipool array. |
| (arm_add_minipool_constant): Likewise. |
| |
| 2000-04-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * basic-block.h (conflict_graph_enum_fn): K&R fix. |
| |
| 2000-04-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * tree.c (tree_expr_nonnegative_p): New function. |
| |
| * tree.h (tree_expr_nonnegative_p): Declare. |
| |
| * c-typeck.c (build_binary_op): Call `tree_expr_nonnegative_p' to |
| elide some sign_compare warnings. |
| (build_conditional_expr): Likewise. |
| |
| Sat Apr 8 00:21:51 EDT 2000 John Wehle (john@feith.com) |
| |
| * i386.md (ashrsi3, ashrhi3, ashrqi3): Fix typo. |
| |
| * i386.md (floathisf2, floathidf2, floathixf2): New patterns. |
| * i386.c (print_operand): Use the proper suffix for a 387 HImode |
| operand. Abort if a 387 operand has an unsupported size. |
| |
| 2000-04-08 Neil Booth <NeilB@earthling.net> |
| |
| * cppexp.c (parse_charconst): Null does not end character |
| constants. |
| * cppinit.c (ISTABLE): Null character handled as whitespace. |
| * cpplex.c (null_warning): new function. |
| (skip_string): Emit warning if nulls encountered. |
| (_cpp_skip_hspace): Emit warning if nulls encountered. |
| (_cpp_lex_token): Emit warning if nulls encountered. Drop |
| them. |
| * cpp.texi: Update. |
| |
| 2000-04-07 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (loop_depth): Remove. |
| (reg_next_use, cc0_live, mem_set_list): Replace with ... |
| (struct propagate_block_info): New. |
| (life_analysis): Don't allocate reg_next_use. |
| (propagate_block_delete_insn): Break out of propagate_block. |
| Use flow_delete_insn to unlink rather than use NOTE_INSN_DELETED. |
| (propagate_block_delete_libcall): Likewise. |
| (propagate_block): Create a propagate_block_info struct to pass |
| to subroutines. Allocate one not two temporary regsets. Don't |
| clobber memory for const calls. Look for clobbers in |
| CALL_INSN_FUNCTION_USAGE. |
| (mark_set_regs): Recognize COND_EXEC. |
| (mark_set_reg): Break out of mark_set_1. |
| (mark_used_reg): Break out of mark_used_regs. |
| (mark_used_regs): Recognize COND_EXEC. |
| (insn_dead_p): Use propagate_block_info struct. |
| (libcall_dead_p, invalidate_mems_from_autoinc): Likewise. |
| (find_auto_inc, try_pre_increment_1): Likewise. |
| (print_rtl_with_bb): Dump regs live at end too. |
| (count_reg_sets_1): Pass in loop_depth. |
| (count_reg_sets, count_reg_references): Likewise. |
| (recompute_reg_usage): Provide it. |
| |
| 2000-04-07 Richard Henderson <rth@cygnus.com> |
| |
| * Makefile.in (conflict.o): Depend on $(RTL_H) and $(BASIC_BLOCK_H) |
| not the raw files. |
| |
| 2000-04-07 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplib.c (do_elif): Skip the rest of the line if we're |
| not going to bother evaluating it. |
| (skip_if_group): Clear pfile->only_seen_white. Reorder loop |
| to avoid pointless calls to the lexer. |
| |
| Fri Apr 7 11:50:54 2000 Jim Wilson <wilson@cygnus.com> |
| |
| * config/ia64/ia64.c: Delete stdio.h and ctype.h includes. |
| |
| 2000-04-07 Jason Merrill <jason@casey.cygnus.com> |
| |
| * calls.c (expand_call): emit_queue if we're trying a sibcall. |
| |
| 2000-04-07 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/t-linux64 (tcrtbeginS.o, tcrtendS.o): Remove. |
| |
| 2000-04-06 Geoff Keating <geoffk@cygnus.com> |
| |
| * Makefile.in: Build crtbeginS and crtendS like crtbegin and |
| crtend so they can be multilibbed. |
| (STAGESTUFF): Remove s-crt and s-crtS. |
| |
| 2000-04-07 Richard Henderson <rth@cygnus.com> |
| |
| * config/alpha/alpha.c (alpha_emit_conditional_move): Fail |
| if we discover we need a pseudo and no_new_pseudos is true. |
| * config/alpha/alpha.md (ne:DI insn): New. |
| (trunctfsf2, sne): Emit NE instead of non-canonical LTU. |
| |
| 2000-04-07 Richard Henderson <rth@cygnus.com> |
| |
| * rtl.def (COND_EXEC): New. |
| * rtl.h (COND_EXEC_TEST, COND_EXEC_CODE): New. |
| * tm.texi (MAX_CONDITIONAL_EXECUTE): Document. |
| |
| * genconfig.c (have_cond_arith_flag): Remove. |
| (have_cond_exec_flag): New. |
| (walk_insn_part): Detect COND_EXEC, not arithmetic in IF_THEN_ELSE. |
| (main): Print HAVE_conditional_execution. |
| |
| * haifa-sched.c (haifa_classify_insn): Recognize COND_EXEC. |
| (sched_analyze_insn, print_pattern): Likewise. |
| * reload.c (find_equiv_reg): Likewise. |
| * rtlanal.c (reg_referenced_p): Likewise. |
| (note_stores, dead_or_set_regno_p): Likewise. |
| (reg_overlap_mentioned_p): Rewrite to use a switch. |
| |
| * ggc.h (struct rtx_def): Forward declare. |
| |
| * print-rtl.c (debug_rtx_range): New. |
| * rtl.h (debug_rtx_range): Declare. |
| |
| * varray.h (VARRAY_ACTIVE_SIZE, VARRAY_POP_ALL): New. |
| |
| * gcse.c (gcse_main): Don't rebuild the CFG here. |
| (delete_null_pointer_checks): Likewise. |
| * ssa.c (convert_to_ssa): Likewise. |
| * toplev.c (rest_of_compilation): Do it here instead. Combine |
| sequential calls to TIMEVAR. Consistently use `insns' instead of |
| `get_insns()'. Always split insns after reload when optimizing. |
| |
| * basic-block.h (merge_blocks_nomove): Declare. |
| (tidy_fallthru_edge): Declare. |
| * flow.c (merge_blocks_nomove): Document as merging into previous |
| blocks. Remove cruft from between blocks; remove all edges out of A. |
| (tidy_fallthru_edge): Export. |
| |
| 2000-04-06 Alex Samuel <samuel@codesourcery.com> |
| |
| * ssa.c (compute_conservative_reg_partition): Declare with |
| void arguments. |
| * toplev.c (clean_dump_file): Remove previously-deleted function |
| inadvertantly merged back in. |
| * conflict.c (conflict_graph_add): Use a single call to |
| htab_find_slot to look up and insert. |
| |
| 2000-04-06 Richard Henderson <rth@cygnus.com> |
| |
| * genrecog.c (*): Rename _last_insn to last_insn. |
| (make_insn_sequence): Set the position of the peephole2 C test |
| to be at the last insn. |
| |
| 2000-04-06 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (compute_flow_dominators): Free worklist. |
| |
| 2000-04-06 Michael Matz <matzmich@cs.tu-berlin.de> |
| |
| * flow.c (compute_flow_dominators): Process blocks FIFO not LIFO. |
| |
| 2000-04-06 Alex Samuel <samuel@codesourcery.com> |
| |
| * rtl.h (INSN_P): New macro. |
| (successor_phi_fn): New typedef. |
| (for_each_successor_phi): New prototype. |
| (in_ssa_form): New variable. |
| (PHI_NODE_P): Likewise. |
| * flow.c (calculate_global_regs_live): Add to new_live_at_end from |
| phi nodes in successors. |
| (mark_used_regs): Add PHI case. |
| (set_phi_alternative_reg): New function. |
| (life_analysis): Assert that dead code elimination is not selected |
| when in SSA form. |
| * toplev.c (to_ssa_time): New variable. |
| (from_ssa_time): Likewise. |
| (compile_file): Zero to_ssa_time and from_ssa_time. |
| Print time to convert to and from SSA. |
| (rest_of_compilation): Time convert_to_ssa and convert_from_ssa. |
| (print_time): Compute percent fraction as integer. |
| * ssa.c (PHI_NODE_P): Moved to rtl.h. |
| (convert_to_ssa): Check if we're already in SSA. |
| Don't eliminate dead code in life_analysis. |
| Rerun flow and life analysis at bottom. |
| (eliminate_phi): Use canonical regnos when adding nodes. |
| (mark_reg_in_phi): New function. |
| (mark_phi_and_copy_regs): Likewise. |
| (convert_from_ssa): Rerun life analysis at top. |
| Use coalesced partition. |
| Check for removing a phi node at the end of the block. |
| (compute_coalesced_reg_partition): New function. |
| (coalesce_regs_in_copies): Likewise. |
| (coalesce_reg_in_phi): Likewise. |
| (coalesce_regs_in_successor_phi_nodes): Likewise. |
| (for_each_successor_phi): Likewise. |
| (rename_context): New struct. |
| (rename_block): Use a rename_context with rename_insn_1. When |
| renaming sets of a subreg, emit a copy of the entire reg first. |
| (rename_insn_1): Treat data as a rename_context *. Save current |
| insn in set_data. |
| (rename_set_data): Add field set_insn. |
| * Makefile.in (HASHTAB_H): Move up in file. |
| (OBSTACK_H): New macro. |
| (collect2.o): Use OBSTACK_H in dependencies. |
| (sdbout.o): Likewise. |
| (emit-rtl.o): Likewise. |
| (simplify-rtx.o): Likewise. |
| (fix-header.o): Likewise. |
| (OBJS): Add conflict.o. |
| (conflict.o): New rule. |
| * basic-block.h: Include partition.h. |
| (conflict_graph): New typedef. |
| (conflict_graph_enum_fn): Likewise. |
| (conflict_graph_new): New prototype. |
| (conflict_graph_delete): Likewise. |
| (conflict_graph_add): Likewise. |
| (conflict_graph_conflict_p): Likewise. |
| (conflict_graph_enum): Likewise. |
| (conflict_graph_merge_regs): Likewise. |
| (conflict_graph_print): Likewise. |
| (conflict_graph_compute): Likewise. |
| * conflict.c: New file. |
| |
| 2000-04-06 Jason Merrill <jason@yorick.cygnus.com> |
| |
| * tlink.c (read_repo_files): Don't look for .rpo info for |
| linker flags. |
| |
| Thu Apr 6 20:39:26 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * sh.h (STRUCT_VALUE, RETURN_IN_MEMORY): Define. |
| |
| Thu Apr 6 19:34:08 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * config/sh/lib1funcs.asm (___udivsi3_i4): |
| ( __SH4_SINGLE__ / __SH4_SINGLE_ONLY__ variant): value for fpscr |
| only depends on FMOVD_WORKS. |
| |
| Thu Apr 6 19:11:47 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * config/sh/lib1funcs.asm (___udivsi3_i4): When using fmovd, |
| make double constant 8-byte aligned. |
| |
| 2000-04-06 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/sparc.md (movtf_insn_sp32, movtf_insn_vis_sp32, |
| movtf_no_e_insn_sp32, movtf_insn_hq_sp64, movtf_insn_hq_vis_sp64, |
| movtf_no_e_insn_sp64): Accept loading 0.0 into GENERAL_REGS. |
| (movtf_insn_sp64, movtf_insn_vis_sp64): Likewise. |
| Accept storing GENERAL_REGS into offsetable memory. |
| * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Don't allow |
| building a TFmode constant other than 0.0L into GENERAL_REGS. |
| |
| 2000-04-06 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * regrename.c (regrename_optimize): Handle no REG_ALLOC_ORDER. |
| |
| 2000-04-06 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpphash.c (CPP_IS_MACRO_BUFFER, FORWARD, PEEKC): Delete. |
| (macro_cleanup): No need to cast pbuf->macro. |
| (collect_expansion): Use _cpp_get_define_token. Goto done if |
| it returns VSPACE. Remove check for trailing space after |
| CPP_COMMENT. |
| (_cpp_create_definition): Don't diddle flags here. Return |
| directly on error. |
| (unsafe_chars): Handle c1 being EOF. |
| (push_macro_expansion): Use unsafe_chars for both accidental-paste |
| checks. Don't push the buffer till after we're done with |
| them. |
| * cpplex.c (PEEKBUF, GETBUF, FORWARDBUF): New. |
| (PEEKN, FORWARD, GETC, PEEKC): Use them. |
| (cpp_push_buffer): Don't set new->alimit. Set new->mark |
| appropriately. |
| (_cpp_parse_assertion): Don't NUL terminate. |
| (_cpp_lex_token): Fix -traditional macro handling. Don't skip |
| hspace before calling _cpp_parse_assertion. Remove all sets |
| of only_seen_white. Treat '\f' as hspace. Don't do anything |
| special with '\n' here. |
| (maybe_macroexpand): Handle T_EMPTY hash entries without |
| pushing a buffer at all. |
| (cpp_get_token): Handle clearing only_seen_white here. Handle |
| incrementing the line number here. Clear |
| potential_control_macro as well as only_seen_white, if |
| appropriate. |
| (cpp_get_non_space_token): Don't eat CPP_POP tokens. |
| (_cpp_get_define_token): New function, basically like |
| _cpp_get_directive_token was but doesn't eat horizontal space. |
| Don't do anything with only_seen_white here. |
| (_cpp_get_directive_token): Just call _cpp_get_define_token |
| repeatedly till it returns non-hspace. |
| |
| * cpplib.c (PEEKN, FORWARD, GETC, PEEKC): Delete. |
| (conditional_skip, skip_if_group): Return int. |
| (DIRECTIVE_TABLE): Change origin of all conditional directives |
| to "COND". |
| (TRAD_DIRECT_P): New macro. |
| (_cpp_handle_directive): Use _cpp_get_directive_token. Issue |
| an error for a bogus directive, unless -lang-asm. Use |
| TRAD_DIRECT_P. Loop calling handler functions till one returns |
| zero. |
| (get_macro_name): Don't diddle flags here. |
| (do_define): Diddle flags here. Use _cpp_get_directive_token. |
| Create T_EMPTY nodes for #define macro /* nothing */. |
| (do_undef): Don't copy the name. Use _cpp_get_directive_token. |
| Use hp->name when calling pass_thru_directive. |
| (do_if, do_else, do_elif, do_ifdef, do_ifndef, conditional_skip): |
| Return the result of conditional_skip and/or skip_if_group. |
| Don't call _cpp_output_line_command. |
| (consider_directive_while_skipping): Use _cpp_get_directive_token. |
| Issue -Wtraditional warnings as appropriate. Don't complain |
| about unrecognized directives. If we are to stop skipping, |
| return the number of the directive that ended the skip. |
| (skip_if_group): Use _cpp_get_directive_token. Turn off macro |
| expansion and line commands while skipping. Return the result |
| of consider_directive_while_skipping, if nonzero. |
| (do_endif): Just set potential_control_macro here. |
| (validate_else): Use _cpp_get_directive_token. |
| (do_assert, do_unassert): Don't save pointers into the |
| token_buffer across calls to the lexer. Use |
| _cpp_get_directive_token. |
| |
| * cpplib.h (cpp_buffer): Remove alimit and colno. Make mark a |
| pointer, not an offset. Replace 'data', which was a generic |
| pointer, with 'macro', which points to a struct hashnode. |
| (cpp_reader): Add 'potential_control_macro' pointer. |
| * cpphash.h (T_UNUSED): Replace with T_EMPTY. |
| (CPP_BUF_GET, CPP_FORWARD): Delete. |
| (CPP_IN_COLUMN_1, ADJACENT_TO_MARK): New macros. |
| (CPP_IS_MACRO_BUFFER, CPP_SET_BUF_MARK, CPP_GOTO_BUF_MARK, |
| ACTIVE_MARK_P): Update. |
| (_cpp_get_define_token): New internal function. |
| * cppfiles.c (read_include_file): Don't set fp->alimit or fp->colno. |
| |
| 2000-04-05 Benjamin Kosnik <bkoz@cygnus.com> |
| |
| * configure.in: And here. |
| * configure: Regenerate. |
| * acconfig.h: Add ENABLE_STD_NAMESPACE to set flag_honor_std if |
| --enable-libstdcxx-v3 is passed at configure time. |
| * config.h.in: Regenerate. |
| |
| 2000-04-05 Mark Mitchell <mark@codesourcery.com> |
| |
| * final.c (final): Use xcalloc to allocate line_note_exists. |
| * function.c (free_after_compilation): Free the temp_slots. |
| (assign_stack_temp_for_type): Use xmalloc to allocate temp_slots. |
| (combine_temp_slot): Free temp_slots when they get combined. |
| (purge_addressof): Fix typo in comment. |
| * stmt.c (mark_goto_fixup): Mark the fixup itself. |
| (expand_fixup): Allocate the fixup with ggc_alloc_obj. |
| |
| * ggc.h: Include varray.h. |
| (ggc_pending_trees): Declare. |
| (ggc_mark_tree_children): Remove declaration. |
| (ggc_mark_tree): Just push unmarked trees on ggc_pending_trees. |
| * ggc-common.c (ggc_pending_trees): New variable. |
| (ggc_mark_roots): Call ggc_mark_trees. |
| (ggc_mark_tree_children): Rename to ggc_mark_trees. Process all |
| the ggc_pending_trees. |
| * Makefile.in (GGC_H): New variable. Use it throughout in place |
| of ggc.h. |
| |
| Thu Apr 6 00:30:50 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * sh.h (FUNCTION_ARG_PARTIAL_NREGS): Accommodate an unsigned |
| GET_MODE_SIZE. |
| |
| Wed Apr 5 23:17:10 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * sh.c (sh_insn_length_adjustment): New function. |
| * sh-protos.h (sh_insn_length_adjustment): Declare. |
| * sh.h (ADJUST_INSN_LENGTH): Use it. |
| |
| Wed Apr 5 12:35:18 2000 Hans-Peter Nilsson <hp@axis.com> |
| |
| * optabs.c (emit_libcall_block): Remove spurious REG_EQUAL notes |
| from the insn where REG_RETVAL is added. |
| (emit_no_conflict_block): Ditto. |
| |
| * md.texi (Standard Names): Clarify when movX is needed. |
| |
| * combine.c (simplify_comparison) [MINUS]: Do not replace |
| all (op (minus A B) 0) with (op A B). |
| |
| Wed Apr 5 18:03:31 2000 Toshiyasu Morita (toshi.morita@sega.com) |
| J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * sh.md (block_lump_real_i4): Add missing clobber of T_REG |
| (block_lump_real): Likewise. |
| |
| 2000-04-05 Chris Demetriou <cgd@netbsd.org> |
| |
| * mips.h (MASK_DEBUG_A, MASK_DEBUG_B, MASK_DEBUG_C): Zero the |
| remaining nonzero debugging masks. |
| |
| Wed Apr 5 09:44:07 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * basic-block.h (verify_flow_info): Declare. |
| (flow_loop_outside_edge_p): Declare. |
| * flow.c (verify_flow_info): Remove declaration. |
| (clear_log_links, flow_loop_outside_edge_p): Likewise. |
| |
| Wed Apr 5 09:34:26 2000 Philippe De Muyter <phdm@macqel.be> |
| |
| * m68k/m68k-protos.h (finalize_pic): Turn prototype off using `#if 0', |
| not C++ comments. |
| |
| 2000-04-05 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/sparc.md (snedi_zero+1, neg_snedi_zero+1, |
| snedi_zero_trunc+1, seqdi_zero+1, neg_seqdi_zero+1, |
| seqdi_zero_trunc+1): Allow splits only if registers are |
| different. |
| |
| 2000-04-04 Ulrich Drepper <drepper@cygnus.com> |
| |
| * acconfig.h: Add HAVE_GAS_HIDDEN. |
| * config.in: Regenerated. |
| * configure.in: Add test for .hidden pseudo-op in gas. |
| * configure: Regenerated. |
| * crtstuff.c: Include auto-host.h. |
| Emit additional .hidden pseudo-op for __dso_handle if the |
| assembler knows about it. |
| |
| 2000-04-04 Philippe De Muyter <phdm@macqel.be> |
| |
| * cpphash.c (_cpp_free_definition): Test argnames, not nargs >= 0, |
| before freeing argnames. |
| * cpplib.c (do_ifndef): Cast return value of xstrdup. |
| |
| 2000-04-05 Michael Meissner <meissner@redhat.com> |
| |
| * config/rs6000/rs6000.c (print_operand): Patch from Jonathan |
| Walton <jonboy@gordian.com> to make memory references with update |
| work wtih -mregnames. |
| |
| 2000-04-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * regrename.c (regno_first_use_in): Wrap prototype in PARAMS. |
| (regrename_optimize): Rename variables `def_uses' and |
| `ext_basic_blocks' to avoid conflicts with similarly named |
| typedefs in traditional C. |
| |
| * calls.c (initialize_argument_information): Fix typo in previous |
| change. |
| |
| 2000-04-04 Richard Henderson <rth@cygnus.com> |
| |
| * regrename.c (consider_available): Test fixed_regs not |
| PIC_OFFSET_TABLE_REGNUM. |
| |
| 2000-04-04 Geoff Keating <geoffk@cygnus.com> |
| |
| * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbegin, |
| crtend. |
| (CRTSTUFF_T_CFLAGS_S): Delete definition. |
| * config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Always use crtbegin. |
| (ENDFILE_LINUX_SPEC): Always use crtend. |
| * configure.in (powerpc-*-linux-gnulibc1): Don't define extra_parts. |
| (powerpc-*-linux-gnu): Likewise. |
| * configure: Regenerate. |
| |
| * config/rs6000/eabi.h: Don't include sysv4.h. |
| (MULTILIB_DEFAULTS): Don't define. |
| * config/rs6000/eabiaix.h: Don't include eabi.h. |
| * config/rs6000/eabile.h: Delete. |
| * config/rs6000/eabilesim.h: Delete. |
| * config/rs6000/eabisim.h: Don't include eabi.h. |
| * config/rs6000/linux.h: Don't include sysv4.h. |
| (JUMP_TABLES_IN_TEXT_SECTION): Don't redefine. |
| (MULTILIB_DEFAULTS): Don't redefine. |
| * config/rs6000/rtems.h: Don't include eabi.h. |
| * config/rs6000/sol2.h: Don't include sysv4le.h. |
| * config/rs6000/sysv4le.h: Don't include sysv4.h. |
| * config/rs6000/t-ppc: Delete. |
| * config/rs6000/t-ppcgas: Correct comment. |
| * config/rs6000/t-ppcos: Correct comment. Don't build |
| multilibs for -fPIC, rather use -fPIC -mstrict-align |
| as default. |
| * config/rs6000/t-ppc: Delete. |
| * config/rs6000/vxppc.h: Don't include sysv4.h. |
| * config/rs6000/vxppcle.h: Delete. |
| * configure.in: Use multiple header files for p2pc ELF targets |
| powerpc-eabiaix, powerpc-eabisim, powerpc-rtems, powerpcle-eabi, |
| powerpcle-eabisim, powerpc-elf, powerpcle-elf, powerpc-linux-gnu, |
| powerpc-linux-gnulibc1, powerpc-sysv, powerpcle-sysv, |
| powerpc-vxworks, powerpcle-vxworks. Assume GAS functionality is |
| always available for these platforms. |
| |
| 2000-04-04 Richard Henderson <rth@cygnus.com> |
| |
| * calls.c (try_to_integrate): Initialize reg_parm_stack_space. |
| |
| 2000-04-04 Stan Cox <scox@cygnus.com> |
| |
| * Makefile.in: Add rules for regrename.o |
| * regrename.c: New file. |
| * rtl.h (regrename_optimize): Add prototype. |
| * toplev.c (rename_registers_dump, flag_rename_registers): New variables |
| (compile_file, decode_d_option): Add support for -frename-registers. |
| (rest_of_compilation): Call regrename_optimize. |
| * config/ia64/ia64.h (HARD_REGNO_RENAME_OK, RENAME_EXTENDED_BLOCKS): |
| New macros. |
| |
| 2000-04-04 Martin v. Löwis <loewis@informatik.hu-berlin.de> |
| |
| * Makefile (gccbug): New target. |
| (doc): Depend on it. |
| * gcc.texi (Bugs): Link subnodes. |
| (gccbug): New node. |
| * gccbug.in (CATEGORIES): Remove gc, host, profiling, libgcc. |
| Document severities, priorities, and classes in bug form. |
| |
| 2000-04-04 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplex.c (trigraph_map, speccase): Combine into single |
| table, chartab. |
| (NORMAL, NONTRI): New macros. |
| (_cpp_read_and_prescan): Change to use unified table. Use |
| is_hspace to test for whitespace. |
| |
| * dbxout.c (CONTIN): If it doesn't have to do anything, give it a |
| definition that doesn't provoke the "empty body in an |
| if-statement" warning. |
| |
| 2000-04-04 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * builtins.c (expand_builtin_strlen): Force the source to |
| be a memory address. |
| |
| 2000-04-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * cpplib.c (D): Adjust to call CONCAT2 macro without whitespace. |
| |
| Tue Apr 4 19:17:20 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * calls.c (ECF_MALLOC, ECF_MAY_BE_ALLOCA, ECF_RETURNS_TWICE, |
| ECF_LONGJMP, ECF_FORK_OR_EXEC): New constants. |
| (ECF_IS_CONST): Rename to ECF_CONST. |
| (special_function_p): Make static, change interface. |
| (flags_from_decl_or_type, try_to_integrate): Break out from ... |
| (expand_call) ... here; convert number of variables to flags. |
| (emit_library_call_vlue_1): Likewise. |
| (setjmp_call_p): New function. |
| (initialize_argument_information): Accepts flags as argument; |
| return flags. |
| (precompute_arguments): Likewise. |
| * tree.h (special_function_p): Remove. |
| (setjmp_call_p): Add prototype. |
| |
| 2000-04-04 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/sparc.h (RTX_OK_FOR_OFFSET_P): Leave minor margin |
| so that addresses are offsetable by up to 16 bytes. |
| (GO_IF_LEGITIMATE_ADDRESS): Don't allow REG+REG addresses for |
| non-optimizing TARGET_ARCH32 in DF or DI modes because it is not |
| offsetable. |
| |
| * config/sparc/sparc.md (movdi_insn_sp64_novis): New pattern. |
| (movdi_insn_sp64_vis): Renamed from movdi_insn_sp64. |
| (movsf): Don't force any constant to memory if target is integer |
| hard register. |
| Move fp_zero_operand check below the const0_rtx check. |
| (movtf): Likewise. Also allow fp_zero_operand for stores into |
| memory. |
| (movdf): Likewise. Also allow fp_zero_operand for stores into |
| memory and into integer hard registers. |
| (clear_df, clear_dfp, movdf_const_intreg_sp32, |
| movdf_const_intreg_sp64): Remove. |
| (movdf_insn_sp32, movdf_no_e_insn_sp32): Redo constraints and |
| conditions. |
| (movdf_no_e_insn_v9_sp32): New pattern. |
| (movdf_insn_v9only): Remove. |
| (movdf_insn_v9only_novis, movdf_insn_v9only_vis): New patterns. |
| (movdf_insn_sp64): Remove. |
| (movdf_insn_sp64_novis, movdf_insn_sp64_vis): New patterns. |
| (movdf_no_e_insn_sp64): Allow storing 0.0 into memory. |
| (following splits): Rewrite conditions. Add two new splits |
| for storing 0.0 into memory and registers. |
| (clear_tf, clear_tf+1, clear_tfp, clear_tfp+1): Remove. |
| (movtf_insn_sp32): Redo constraints and conditions. |
| (movtf_insn_vis_sp32): New pattern. |
| (movtf_no_e_insn_sp32): Redo constraints and conditions. |
| (movtf_insn_hq_sp64): Likewise. |
| (movtf_insn_hq_vis_sp64): New pattern. |
| (movtf_insn_sp64): Redo constraints and conditions. |
| (movtf_insn_vis_sp64): New pattern. |
| (movtf_no_e_insn_sp64): Redo constraints and conditions. |
| (movtf_no_e_insn_sp64+1): New split for storing 0.0L into registers |
| or memory. |
| * config/sparc/sparc.c (sparc_override_options): Assume v9 if either |
| -mvis or -m64 to take down the number of various reload patterns. |
| |
| Tue Apr 4 00:41:53 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * pa/pa-64.h: New file. |
| * pa/pa64-regs.h: New file. |
| * pa/pa64-start.h: New file. |
| * pa/t-pa64: New file. |
| * pa/xm-pa64hpux.h: New file. |
| |
| 2000-04-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * sparc.c (output_restore_regs): Prototype. |
| (sparc_emit_float_lib_cmp): Constification. |
| |
| * emit-rtl.c (const_int_htab_hash, const_int_htab_eq): Likewise. |
| |
| * reload1.c (reload_cse_delete_noop_set, reload_cse_simplify): |
| Prototype. |
| |
| * simplify-rtx.c (entry_and_rtx_equal_p): Constification. |
| (get_value_hash, hash_rtx): Likewise. |
| |
| * ssa.c (compute_conservative_reg_partition): Prototype. |
| |
| * tree.c (mark_hash_entry): Prototype. |
| |
| 2000-04-03 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * bb-reorder.c (verify_insn_chain): #ifdef out unless ENABLE_CHECKING. |
| * i386.h (FUNCTION_ARG_REGNO_P): Remove unnecessary test for N >= 0. |
| * i386.md (call_value, call_value_pop): Remove unused variable 'addr'. |
| |
| * gcc.c (C specs): Pass -fno-show-column to the preprocessor. |
| * objc/lang-specs.h: Likewise. |
| |
| 2000-04-03 Neil Booth <NeilB@earthling.net> |
| |
| * cppexp.c: wrap long lines. New macros CPP_ICE, SYNTAX_ERROR |
| and SYNTAX_ERROR2. Replace `' in messages with ''. |
| (op_to_str): Make re-entrant. |
| (_cpp_parse_expr): Implement new error macros. Use | rather |
| than || to logically or 2 boolean integers. Simply expression |
| checking we have a left operand iff needed. |
| |
| 2000-04-03 Nick Clifton <nickc@cygnus.com> |
| |
| * Makefile.in (diagnostic.o): Depend upon diagnostic.c |
| |
| 2000-04-03 Philip Blundell <philb@gnu.org> |
| |
| * config/arm/linux-elf.h (SUBTARGET_EXTRA_LINK_SPEC): Fix typos. |
| |
| 2000-04-03 Felix Lee <flee@cygnus.com> |
| |
| * fixinc/server.c (find_shell): New function. Avoid $SHELL. |
| (run_shell): Use it. |
| |
| 2000-04-03 Jonathan Larmour <jlarmour@redhat.co.uk> |
| |
| * Makefile.in (stmp-int-hdrs): Make include subdir here... |
| (stmp-fixproto): ...rather than here. |
| |
| Mon Apr 3 00:50:06 2000 Jason Eckhardt <jle@cygnus.com> |
| |
| * pa.c (print_operand): Compute 'base' only inside the code paths |
| that use it. |
| |
| 2000-04-03 Geoffrey Keating <geoffk@cygnus.com> |
| |
| * stor-layout.c (byte_from_pos): Use TRUNC_DIV_EXPR rather than |
| CEIL_DIV_EXPR. |
| |
| 2000-04-03 Philipp Thomas <pthomas@suse.de> |
| |
| * i386.h (TARGET_SWITCHES): Remove bogus empty strings, fix typo. |
| |
| Mon Apr 3 00:02:59 2000 Brad Lucier <lucier@math.purdue.edu> |
| |
| * Makefile.in (alias.o): Depend on $(TREE_H). |
| |
| 2000-04-02 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppinit.c (cpp_start_read): Turn off -Wtraditional if |
| processing C++. |
| * cpplib.c (_cpp_handle_directive): Improve warnings for |
| traditional C and indented directives. |
| |
| * enquire.c, gsyslimits.h, limity.h, config/convex/fixinc.convex, |
| fixinc/fixinc.irix, fixinc/fixinc.sco, fixinc/fixinc.wrap, |
| fixinc/inclhack.def: Indent the # of #include_next one space. |
| * cp/rtti.c: Un-indent #if and #endif. |
| |
| * cppexp.c (_cpp_parse_expr): If lex returns '#', it's a |
| syntax error, but an error has already been printed. |
| * cpplex.c (_cpp_parse_assertion): Give a more specific error |
| message when called with nothing remaining on the line. |
| (_cpp_lex_token): If _cpp_parse_assertion fails, return an |
| OTHER token, not an ASSERTION. |
| * cpplib.c (do_assert): When we create a 'base' node, clear |
| its aschain pointer. |
| |
| 2000-04-02 Neil Booth <NeilB@earthling.net> |
| |
| * cppexp.c: New typedef op_t. struct operation and struct |
| token updated to use it. |
| (op_to_str): New function. |
| (_cpp_parse_expr): Error messages modified to use op_to_str. |
| |
| 2000-04-02 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x/c4x.c (c4x_function_arg): Check for void_type_node |
| before checking MUST_PASS_IN_STACK. |
| |
| 2000-04-02 Neil Booth <NeilB@earthling.net> |
| |
| * cppexp.c: New FINISHED dummy token. Combine operator initial |
| flags and initial priority into a single constant. New |
| EQUALITY macro. New operator flag SHORT_CIRCUIT. |
| (_parse_cpp_expr): Implement new constants. Take left operand |
| checks out of reduction loop. Handle SHORT_CIRCUIT. End of |
| parse indicated by reducing FINISHED token. Remove new lines |
| from cpp_error messages. |
| |
| 2000-04-01 Mark Mitchell <mark@codesourcery.com> |
| |
| * emit-rtl.c (gen_rtx_CONST_INT): Create cached CONST_INTs on the |
| permanent obstack. |
| |
| 2000-04-01 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplib.c: Include symcat.h. Add 'origin' field to struct |
| directive. Add origin values to DIRECTIVE_TABLE. Generate |
| the strings and function names on the fly. Take the #sccs |
| entry out of the table if SCCS_DIRECTIVE is not defined. |
| (_cpp_handle_directive): Decide if the # was at the beginning |
| of the line here. Issue -pedantic warnings for extended |
| directives here. Warn about K+R directives with the # |
| indented, and C89/extended directives with the # not indented, |
| here. |
| (do_import, do_include_next, do_warning, do_ident, do_sccs, |
| do_assert, do_unassert): Don't issue pedantic warning here. |
| |
| * cpphash.h: Add CPP_WTRADITIONAL macro. |
| * cpplib.h (struct cpp_options): Rename warn_stringify to |
| warn_traditional; update comments. |
| * cppinit.c (handle_option): Set warn_traditional not |
| warn_stringify. |
| * cpphash.c: Replace CPP_OPTION (pfile, warn_stringify) with |
| CPP_WTRADITIONAL (pfile). |
| * cpplex.c (_cpp_lex_token): Don't decide if directives should |
| be ignored in -traditional mode here. |
| |
| * cpplex.c: Copy ISTABLE macros from cppinit.c, and adapt them |
| to initialize speccase[] and trigraph_map[]. Delete all |
| references to pfile->input_speccase. Always treat '?' as a |
| special character. Remove table-initialization code from |
| _cpp_init_input_buffer. |
| |
| * cpplib.h (struct cpp_reader): Remove input_speccase field. |
| * cppinit.c (cpp_cleanup): Don't free input_speccase. |
| |
| 2000-04-01 Richard Henderson <rth@cygnus.com> |
| |
| * Makefile.in (STAGESTUFF): Wildcard all debugging dumps at once. |
| (mostlyclean): Likewise. |
| |
| * toplev.c (rtl_dump, jump_opt_dump, etc): Remove. |
| (struct dump_file_info, enum dump_file_index, dump_file): New. |
| (open_dump_file): Take a dump_file_index not a suffix, and a decl |
| not a string. Clean out file if we haven't yet done so. Do nothing |
| if the dump isn't enabled. |
| (close_dump_file): Do nothing if the dump isn't open. Dump |
| graph data if requested. |
| (dump_rtl, clean_dump_file): Remove. |
| (compile_file): Don't clean the dump files. Only finalize .bp dump |
| if flag_test_coverage or flag_branch_probabilities. Only finalize |
| .combine dump if optimizing. Iterate over dump_file to finalize the |
| graph dumps. |
| (rest_of_compilation): Update for open_dump_file/close_dump_file. |
| Convert all uses of dump_rtl. |
| (decode_d_option): Iterate over dump_file to implement 'a' and to |
| locate pass-specific dumps. |
| |
| 2000-04-01 Neil Booth <NeilB@earthling.net> |
| |
| * cppexp.c: Redefine priority constants. |
| (_cpp_parse_expr): Replace left and right priority scheme with |
| single priority logic. Move LOGICAL to same place as COMPARE. |
| Remove bogus check for multiple unary +/- operators. |
| |
| 2000-04-01 Neil Booth <NeilB@earthling.net> |
| |
| * cppexp.c: (_cpp_parse_expr): Numerical constants are pushed |
| within the switch statement. Binary operations break out of |
| the switch naturally. '(' tokens handled by forcing |
| immediate shift. ')' handled by forcing immediate reduce to |
| the previous '('. New error messages. |
| |
| 2000-03-31 Geoff Keating <geoffk@cygnus.com> |
| |
| * config/rs6000/rs6000.c (print_operand): Don't use %l for 'low |
| part', it's already in use. Use %K instead. Add a return at the |
| end of what is now %K. |
| * config/rs6000/rs6000.md (elf_low): Use %K instead of %l. |
| |
| Sat Apr 1 02:05:29 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * builtins.c (expand_builtin_apply): Pass proper parameters to |
| allocate_dynamic_stack_space. |
| * calls.c (emit_call_1): Do not adjust stack pointer for SIB, |
| update stack_pointer_delta; do not update arg_size_so_far. |
| (compute_argument_block_size): Use stack_delta instead of |
| stack_pointer_pending and arg_size_so_far. |
| (expand_call): Add sanity checking for stack_pointer_delta; |
| save and restore stack_pointer_delta for SIB, use |
| stack_pointer_delta for alignment; do not update arg_space_so_far. |
| (emit_library_call_value): Use stack_pointer_delta for alignment. |
| (store_one_arg): Do not update arg_space_so_far. |
| * explow.c (adjust_stack, anti_adjust_stack): Update |
| stack_pointer_delta. |
| (allocate_dynamic_stack_space): Add sanity checking for |
| stack_pointer_delta. |
| * expr.c (init_expr, clear_pending_stack_adjust): Clear |
| stack_pointer_delta. |
| (emit_push_insn): Update stack_pointer_delta. |
| * function.h (struct expr_status): Add x_stack_pointer_delta; |
| remove x_arg_space_so_far. |
| (arg_space_so_far): Remove. |
| (stack_pointer_delta): New macro. |
| |
| 2000-03-31 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplib.h: Merge struct cpp_options into struct cpp_reader. |
| Reorder struct cpp_options and struct cpp_reader for better |
| packing. Replace CPP_OPTIONS macro with CPP_OPTION which |
| takes two args. Change all 'char' flags to 'unsigned char'. |
| Move show_column flag into struct cpp_options. Don't |
| prototype cpp_options_init. |
| * cpphash.h, cpperror.c, cppexp.c, cppfiles.c, cpphash.c, |
| cppinit.c, cpplex.c, cpplib.c: |
| Replace CPP_OPTIONS (pfile)->whatever with |
| CPP_OPTION (pfile, whatever), and likewise for |
| opts = CPP_OPTIONS (pfile); ... opts->whatever; |
| |
| * cppinit.c (merge_include_chains): Take a cpp_reader *. |
| Extract CPP_OPTION (pfile, pending) and work with that |
| directly. |
| (cpp_options_init): Delete. |
| (cpp_reader_init): Turn on on-by-default options here. |
| Allocate the pending structure here. |
| (cl_options, enum opt_code): Define these from the same table, |
| kept in a large macro. Add -fshow-column and -fno-show-column |
| options. |
| |
| * cpperror.c (v_message): If show_column is off, don't print |
| the column number. |
| |
| * cppmain.c: Update for new interface. |
| * fix-header.c: Likewise. |
| |
| 2000-03-30 Geoff Keating <geoffk@cygnus.com> |
| |
| * config/rs6000/t-aix43 (AR_FLAGS_FOR_TARGET): Adjust for new |
| definition. |
| * Makefile.in (AR_FLAGS_FOR_TARGET): Is now the flags that |
| are passed to any invocation of AR_FOR_TARGET. |
| (AR_CREATE_FOR_TARGET): New macro. |
| (AR_EXTRACT_FOR_TARGET): New macro. |
| (ORDINARY_FLAGS_TO_PASS): Add AR_CREATE_FOR_TARGET, |
| AR_EXTRACT_FOR_TARGET. |
| (many places): Use AR_CREATE_FOR_TARGET, AR_EXTRACT_FOR_TARGET |
| in place of `$(AR_FOR_TARGET) $(AR_FLAGS_FOR_TARGET)' and |
| `$(AR_FOR_TARGET) x'. Pass AR_CREATE_FOR_TARGET and |
| AR_EXTRACT_FOR_TARGET to sub-makes. |
| |
| 2000-03-31 Neil Booth <NeilB@earthling.net> |
| |
| * cppexp.c: Delete SKIP_OPERAND. Correct priority |
| PAREN_INNER_PRIO. |
| (_cpp_parse_expr): Check for multiple unary +/- operators. |
| Correct priorities of ':' and '?'. Treat ')' as having a |
| value. Ensure conditional expression is not void. |
| |
| 2000-03-31 Mark Mitchell <mark@codesourcery.com> |
| |
| * alias.c (canon_rtx): Make it global. |
| (rtx_equal_for_memref_p): CONST_INT equality is now pointer |
| equality. |
| * cse.c (struct table_elt): Add canon_exp. |
| (insert): Clear it. |
| (invalidate): Canonicalize expressions only once. |
| * rtl.h (canon_rtx): Declare. |
| |
| 2000-03-30 Mark Mitchell <mark@codesourcery.com> |
| |
| * Makefile.in (emit-rtl.o): Depend on HASHTAB_H. |
| * alias.c (reg_known_value): Add comments. |
| (init_alias_analysis): Likewise. |
| * cse.c (exp_equiv_p): CONST_INTs are equal iff they have the same |
| address. |
| (cse_basic_block): Fix typo in comment. |
| * emit-rtl.c: Include hashtab.h. |
| (const_int_htab): New variable. |
| (const_int_htab_hash): New function. |
| (const_int_htab_eq): Likewise. |
| (rtx_htab_mark_1): Likewise. |
| (rtx_htab_mark): Likewise. |
| (gen_rtx_CONST_INT): Cache all CONST_INTs. |
| (unshare_all_rtx): Fix formatting. |
| (init_emit_once): Initialize const_int_htab. |
| * rtl.c (rtx_equal_p): CONST_INTs are equal iff they have the same |
| address. |
| * rtl.texi: Document the fact that all CONST_INTs with the same |
| value are shared. |
| |
| 2000-03-30 Richard Henderson <rth@cygnus.com> |
| |
| * alpha.h (FUNCTION_BOUNDARY): Reduce to 128 bits. |
| |
| 2000-03-30 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * configure.in: Comment out --enable-c-cpplib stanza. |
| * configure: Regenerate. |
| |
| Thu Mar 30 06:32:51 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * expr.c (store_constructor): Properly compute displacement and |
| alignment when offset is variable. |
| |
| * expmed.c (store_bit_field, store_fixed_bit_field): Fix more |
| cases of alignment in bytes. |
| |
| Thu Mar 30 13:30:40 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * c-parse.in (cast_expr): Move change from March 21 into c-parse.in |
| since it is used to generate c-parse.y. |
| * objc-parse.c, objc-parse.y: Regenerated. |
| |
| * function.c (expand_function_end): Pass alignment argument to |
| emit_block_move in bits, not bytes. |
| |
| Thu Mar 30 06:32:51 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * expr.c (move_by_pieces_ninsns): Fix one more missing align |
| correction. |
| |
| * expmed.c (store_fixed_bit_field): STRUCT_ALIGN is in bits. |
| |
| * calls.c (expand_call): Pass bit alignment to mark_reg_pointer. |
| * explow.c (memory_address, allocate_dynamic_stack_space): Likewise. |
| * function.c (assign_parms): Likewise. |
| * integrate.c (expand_inline_function): Likewise. |
| * stmt.c (expand_decl): Likewise. |
| (copy_rtx_and_substitute): Likewise. |
| * expr.c (expand_expr, expand_expr_unaligned): Likewise. |
| (clear_by_pieces): Fix error in last change. |
| * emit-rtl.c (init_emit): Set known registers alignment in bits. |
| * function.h (regno_pointer_align): Now unsigned. |
| * config/arm/arm.c (alignable_memory_operand): REGNO_POINTER_ALIGN |
| is in bits. |
| * config/i386/i386.c (aligned_operand): Likewise. |
| * config/sparc/sparc.c (mem_min_alignment): Likewise. |
| * config/alpha/alpha.c (aligned_memory_operand): Likewise. |
| (unaligned_memory_operand): Likewise. |
| (alpha_expand_block_move, alpha_expand_block_clear): Likewise. |
| Also make alignments and sizes unsigned and some whitespace cleanup. |
| (alpha_va_start): Do nothing if VALIST's type is error_mark_node. |
| |
| * builtins.c (get_pointer_alignment): Use host_integerp & tree_low_cst. |
| (expand_builtin_apply): Pass alignment to emit_block_move in bits. |
| (expand_builtin_memcpy, expand_builtin_va_copy): Likewise. |
| (expand_builtin_memset): Likewise, but to clear_storage. |
| * calls.c (save_fixed_argument_area): Likewise, to move_by_pieces. |
| (restore_fixed_argument_area): Likewise. |
| (store_unaligned_arguments_into_pseudos): Likewise, to store_bit_field. |
| (load_register_parameters): Likewise, to emit_group_load. |
| (expand_call): Likewise, to emit_group_store and emit_block_move. |
| (emit_library_call_value_1): Likewise, to emit_block_move. |
| (store_one_arg): Likewise, and to emit_push_insn. |
| * expmed.c (extract_bit_field): Alignment is in bits, not bytes. |
| (extract_fixed_bit_field, extract_split_bit_field): Likewise. |
| * expr.c (move_by_pieces, move_by_pieces_ninsns): Likewise. |
| (emit_block_move, emit_group_load, emit_group_store): Likewise. |
| (clear_by_pieces, clear_storage, emit_push_insn): Likewise. |
| (expand_assigment, store_expr, store_constructor_field): Likewise. |
| (expand_expr_unaligned, do_jump, do_compare_and_jump): Likewise. |
| (store_constructor, store_field, get_inner_reference): Likewise. |
| Use host_integerp and tree_low_cst; sizes and positions HOST_WIDE_INT. |
| (expand_expr, case COMPONENT_REF): Likewise. |
| (copy_blkmode_from_regs): Use UNSIGNED_HOST_WIDE_INT for sizes |
| and positions; reindent code. |
| * expr.h (emit_cmp_insn, emit_cmp_and_jump_insns): Alignment unsigned. |
| * function.c (purge_addressof_1): Pass bit align to store_bit_field. |
| (assign_parms): Likewise to emit_group_store. |
| * optabs.c (prepare_cmp_insn): Alignment is in bits. |
| (emit_cmp_and_jump_insns, emit_cmp_insn): Likewise, and also unsigned. |
| * stmt.c (expand_value_return): Pass align in bits to emit_group_load. |
| (expand_return): Likewise to {extract,store}_bit_field. |
| * stor-layout.c (get_mode_alignment): Minor cleanup. |
| * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Align is in bits. |
| * config/sh/sh.h (MOVE_BY_PIECES_P): Likewise. |
| |
| 2000-03-29 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/arm.h: Undo effects of previous delta: |
| (ASM_SPEC): Do not define. |
| (SUBTARGET_EXTRA_ASM_SPEC): Do not define. |
| |
| * config/arm/linux-elf.h: (SUBTARGET_EXTRA_ASM_SPEC) Fix |
| typo. |
| |
| 2000-03-29 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppinit.c (cpp_start_read): Call initialize_dependency_output |
| only after reading in the primary source file. |
| |
| 2000-03-29 Geoff Keating <geoffk@cygnus.com> |
| |
| * c-common.c (c_common_nodes_and_builtins): The first parameter to |
| __builtin_va_start and __builtin_va_copy is now either a 'va_list' |
| or a reference to a va_list. |
| * builtins.c (stabilize_va_list): Simplify now we don't have to |
| work around C array address decay. |
| * c-typeck.c (convert_for_assignment): Handle assignment to |
| a reference parameter by taking the address of the RHS. |
| * ginclude/stdarg.h (va_start): Don't take address of first parameter. |
| (va_copy): Likewise. |
| (__va_copy): Likewise. |
| * ginclude/varargs.h (va_start): Likewise. |
| (__va_copy): Likewise. |
| |
| Wed Mar 29 15:44:53 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * i386/djgpp.h: Remove extraneous "+". |
| |
| * stmt.c (stmt_loop_nest_empty): Fix thinko in last change. |
| |
| * calls.c (expand_call): Fix typo in last change. |
| |
| 2000-03-29 Jason Merrill <jason@casey.cygnus.com> |
| |
| * tree.c (unsave_expr_1): Don't mess with a TARGET_EXPR that hasn't |
| been expanded. |
| |
| Wed Mar 29 15:39:10 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * stor-layout.c (bit_from_pos, byte_from_pos): New functions. |
| (pos_from_byte, pos_from_bit, normalize_offset): Likewise. |
| (normalize_rli, rli_size_so_far, rli_size_unit_so_far): Use them. |
| * tree.c (bit_position, byte_position): Likewise. |
| * tree.h: Declare new functions. |
| |
| 2000-03-29 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/arm.c: Minor formatting changes/ |
| * config/arm/arm.h (SUBTARGET_EXTRA_ASM_SPEC): Define if not |
| already defined. |
| (ASM_SPEC): Define if not already defined. |
| |
| 2000-03-29 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppfiles.c (cpp_read_file): Don't pass zero-length string to |
| _cpp_calc_hash. |
| |
| 2000-03-29 Jakub Jelinek <jakub@redhat.com> |
| |
| * dwarf2out.c (gen_enumeration_type_die): If enum has a negative |
| value, don't output it as unsigned. |
| |
| Wed Mar 29 10:53:49 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * stmt.c (stmt_loop_nest_empty): Allow cfun->stmt to be NULL. |
| |
| 2000-03-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * c-common.c (c_common_nodes_and_builtins): Don't special case |
| cplus_mode when declaring builtin bzero/bcmp, always avoid |
| prototype arguments. |
| |
| 2000-03-29 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/mkfixinc.sh: Initially set the variable "fixincludes" |
| to a non-file |
| |
| Wed Mar 29 15:08:01 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| Convert ACCUMULATE_OUTGOING_ARGS to an expression. |
| * calls.c (PUSH_ARGS_REVERSED) Change to expression. |
| (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Provide default value. |
| (struct arg_data): Remove #ifdef ACCUMULATE_OUTGOING_ARGS. |
| (save_fixed_argument_area, restore_fixed_argument_area): |
| conditionize by #ifdef REG_PARM_STACK_SPACE only. |
| (emit_call): Change #ifdefs on ACCUMULATE_OUTGOING_ARGS |
| to conditions, handle RETURN_POPS_ARGS on ACCUMULATE_OUTGOING_ARGS. |
| (precompute_register_parameters): Avoid #ifdefs on |
| ACCUMULATE_OUTGOING_ARGS and PUSH_ARGS_REVERSED. |
| (stire_one_args): Likewise. |
| (expand_call): Likewise; conditionize PUSH_ROUNDING code by PUSH_ARGS. |
| (emit_library_call_value_1): Likewise. |
| (compute_argument_block_size): Align to STACK_BOUNDARY only for |
| ACCUMULATE_OUTGOING_ARGS. |
| * combine.c (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Provide default |
| value. |
| (nonzero_bits): Conditionize PUSH_ROUNDING code by USE_PUSH. |
| (use_crosses_set_p): Likewise. |
| * all targets (ACCUMULATE_OUTGOING_ARGS define): Change to |
| #define ACCUMULATE_OUTGOING_ARGS 1. |
| * i386.c (ix86_compute_frame_size): Handle ACCUMULATE_OUTGOING_ARGS |
| frames. |
| * i386.h (MASK_NO_PUSH_ARGS, MASK_ACCUMULATE_OUTGOING_ARGS): New |
| constants. |
| (TARGET_PUSH_ARGS, TARGET_ACCUMULATE_OUTGOING_ARGS): New macros. |
| (TARGET_SWITCHES): Add push-args, no-push-args, |
| accumulate-outgoing-args and no-accumulate-outgoing-args. |
| (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): New macro. |
| * expr.c (ACCUMULATE_OUTGONG_ARGS, PUSH_ARGS): Provide default. |
| (push_block): Avoid ifdefs on ACCUMULATE_OUTGONG_ARGS |
| and PUSH_ROUNDING. |
| (emit_push_insn): Likewise. |
| * final.c (ACCUMULATE_OUTGOING_ARGS): Provide default. |
| (final_scan_insn): Avoid ifdefs on ACCUMULATE_OUTGOING_ARGS. |
| * function.c (ACCUMULATE_OUTGOING_ARGS): Provide default. |
| (STACK_DYNAMIC_OFFSET): Define correctly for both |
| ACCUMULATE_OUTGOING_ARGS and normal mode. |
| * invoke.texi (-mpush_args, -maccumulate-outgoing-args): Document. |
| * tm.texi (PUSH_ARGS): Document. |
| (ACCUMULATE_OUTGOING_ARGS, PUSH_ROUNDING): Update documentation. |
| |
| Wed Mar 29 11:51:13 MET DST 2000 Jan Hubicka <jh@suse.cz> |
| |
| * flags.h (flag_optimize_sibling_calls): Declare. |
| * calls.c (expand_call): Fail sibcall when |
| !flag_optimize_sibling_calls |
| * invoke.texi (flag_optimize_sibling_calls): Document. |
| * toplev.c (flag_optimize_sibling_calls): New global variable. |
| (f_options): Add flag_optimize_sibling_calls. |
| (rest_of_compilation): Conditionize |
| optimize_sibling_and_tail_recursive_calls by |
| flag_optimize_sibling_calls. |
| (main): Set flag_optimize_sibling_calls for -O2. |
| * stmt.c (expand_return): Conditionize tail recursion by |
| flag_optimize_sibling_calls. |
| |
| 2000-03-29 Richard Henderson <rth@cygnus.com> |
| |
| * config/i386/att.h (LOCAL_LABEL_PREFIX): Define. |
| (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Use it. |
| |
| 2000-03-29 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * except.c (add_eh_table_entry): Mark type_info's as referenced. |
| |
| 2000-03-29 Alexandre Oliva <oliva@lsd.ic.unicamp.br> |
| |
| * config/rs6000/aix41.h (CPP_SPEC): Define _ANSI_C_SOURCE if -ansi |
| is given. |
| * config/rs6000/aix43.h (CPP_SPEC): Likewise. |
| * config/rs6000/rs6000.h (CPP_SPEC): Moved to... |
| * config/rs6000/aix.h: then modified likewise. |
| |
| 2000-03-28 Richard Henderson <rth@cygnus.com> |
| |
| * rtl.h: Redistribute enum reg_note documentation. |
| Kill trailing whitespace. |
| * rtl.c (reg_note_name): Adjust to match enum reg_note tweeks. |
| Kill trailing whitespace. |
| |
| 2000-03-28 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppfiles.c (hash_IHASH): Just return i->hash. |
| (cpp_included): Set dummy.hash using _cpp_calc_hash. Use |
| htab_find_with_hash. |
| (cpp_read_file): Likewise. |
| (find_include_file): Likewise. Properly initialize |
| ih->nshort. Share ih->name and ih->nshort if possible. |
| * cpphash.c (_cpp_calc_hash): New function. |
| (hash_HASHNODE): Just return h->hash. |
| (_cpp_lookup): Set dummy.hash using _cpp_calc_hash. Use |
| htab_find_with_hash. |
| * cpphash.h: Prototype _cpp_calc_hash. |
| * cppinit.c (initialize_builtins): Provide a valid hash |
| to _cpp_make_hashnode, using _cpp_calc_hash. |
| |
| * cpphash.c (collect_expansion): # is not a special character |
| in object-like macros. In -traditional mode, /**/ is not |
| token paste at the beginning or end of the line. |
| * cpplib.c (do_include, do_import, do_include_next): If |
| parse_include fails, return immediately. |
| |
| 2000-03-28 Jason Merrill <jason@casey.cygnus.com> |
| |
| * config/arm/arm.md (return peepholes): Update to reflect the new |
| call insn patterns. |
| * config/arm/arm.c (arm_volatile_func): Also check |
| current_function_nothrow. |
| (output_return_instruction, output_func_prologue): Use it. |
| (arm_output_epilogue, arm_expand_prologue): Likewise. |
| |
| 2000-03-27 Tom Tromey <tromey@cygnus.com> |
| |
| * gcc.c (handle_braces): In {x*...} case, break out of loop if |
| switch is found. |
| |
| Tue Mar 28 11:55:48 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * expr.c (store_constructor): SIZE now signed. |
| For EXPR_SIZE, don't evaluate size; just needed if constant. |
| * fold-const.c (fold): Fix a number of cases when folded tree is |
| wrong type. |
| * function.c (flush_addressof): Reenable. |
| * tree.h (flush_addressof): Likewise. |
| * toplev.c (independent_decode_option): Look at strings_processed. |
| * config/alpha/alpha.h (MINIMUM_ATOMIC_ALIGNMENT): Cast to unsigned. |
| |
| Tue Mar 28 08:29:46 2000 Jan Hubicka <jh@suse.cz> |
| |
| * sibcall.c (identify_call_return_value): Find last call in the chain; |
| Allow stack adjustment after function call. |
| |
| * regmove.c (struct csa_memlist): Make mem field rtx *. |
| (record_one_stack_ref): Accept rtx * instead of rtx as parameter. |
| (try_apply_stack_adjustment): Replace whole MEM rtx. |
| (combine_stack_adjustments_for_block): Update calls |
| to record_one_stack_ref. |
| |
| 2000-03-28 Neil Booth <NeilB@earthling.net> |
| |
| * cpplex.c (_cpp_read_and_prescan): Mark end of input buffer with |
| '\\' rather than a null character, so nulls are not special. Fix |
| "\\\n" handling in end-of-buffer conditions. Use trigraph map to |
| speed trigraph conversion. |
| (_cpp_init_input_buffer): Initialize trigraph map. |
| |
| 2000-03-27 Alan Modra <alan@linuxcare.com.au> |
| |
| * config/i386/i386.c (output_387_binary_op): Correct intel |
| mode assembly output, and add spaces after commas in AT&T |
| output. Correct Unixware assembler comment. Document input |
| constraints. Comment fp operations. Reduce profligate buffer |
| size. Remove extraneous abort. Localize temp var. |
| (SYSV386_COMPAT): Define. Add !SYSV386_COMPAT code. |
| (output_fix_trunc): Add spaces after commas in assembly output. |
| |
| 2000-03-27 Richard Henderson <rth@cygnus.com> |
| |
| * i386-protos.h (ix86_match_ccmode): Declare. |
| * i386.c (ix86_match_ccmode): New. |
| (ix86_expand_fp_compare): Update for pattern renames. |
| (ix86_expand_strlensi_unroll_1): Likewise. |
| * i386.h (EXTRA_CC_MODES): Add CCZ. |
| (SELECT_CC_MODE): Use it for EQ/NE zero. |
| * i386.md (cmpsi_ccz_1): New. |
| (cmpqi_ccz_1): New. |
| (*testsi_ccz_1): New. |
| (testqi_ccz_1): New. |
| (cmpsi_ccno_1): Rename from cmpsi_0. |
| (testsi_ccno_1): Rename from testsi_1. |
| (testqi_ccno_1): Rename from testqi_1. |
| (*testqi_ext_ccz_0): Rename from testqi_ext_0. |
| (testqi_ext_ccno_0): Rename from *testqi_ext_1. |
| (*cmphi_0): Use ix86_match_ccmode. |
| (*cmpqi_ext_2, *addsi_2, *addhi_2, *addqi_2): Likewise. |
| (*subsi_2, *subhi_2, *subqi_2, *testhi_1): Likewise. |
| (*testqi_ext_1, *testqi_ext_2, *testqi_ext_3): Likewise. |
| (*andsi_2, *andhi_2, *andqi_2, *andqi_ext_0_cc): Likewise. |
| (*iorsi_2, *iorhi_2, *iorqi_2): Likewise. |
| (*xorsi_2, *xorhi_2, *xorqi_cc_1): Likewise. |
| (*one_cmplsi2_2, *one_cmplhi2_2, *one_cmplqi2_2): Likewise. |
| (*ashlsi3_cmpno, *ashlhi3_cmpno, *ashlqi3_cmpno): Likewise. |
| (*ashrsi3_cmpno, *ashrhi3_cmpno, *ashrqi3_cmpno): Likewise. |
| (*lshrsi3_cmpno, *lshrhi3_cmpno, *lshrqi3_cmpno): Likewise. |
| (appropriate peepholes): Likewise. |
| (*cmphi_1, *cmpqi_ccno_1, *cmpqi_1): Star out name. |
| (*subsi_3, *subhi_3, *subqi_3): Remove. |
| (*negdi2_1+1 splitter): Use CCZ for neg patterns. |
| (*negsi2_cmp, *neghi2_cmp, *negqi2_cmp): Remove. |
| (*negsi2_cmpz): Rename from *negsi2_cmpno, use CCZ. |
| (*neghi2_cmpz, *negqi2_cmpz): Similarly. |
| (x86_shift_adj_1): Use CCZ. |
| (*dbra_ge+1, *dbra_ge+2, ffssi2, ffssi_1): Likewise. |
| |
| 2000-03-27 Stan Cox <scox@cygnus.com> |
| |
| * resource.h (mark_resource_type): New. |
| * resource.c (find_dead_or_set_registers, mark_target_live_regs, |
| find_free_register): Use mark_resource_type. |
| (mark_set_resources): Change include_delayed_effects |
| to mark_resource_type. |
| * reorg.c (steal_delay_list_from_target, try_merge_delay_insns, |
| redundant_insn, fill_simple_delay_slots, fill_slots_from_thread): |
| Use mark_resource_type. |
| |
| 2000-03-27 Richard Henderson <rth@cygnus.com> |
| |
| * i386.md (call_pop_0, call_value_pop_0): New. |
| (call_pop_1): Remove constraint from unused arg. Support sibcalls. |
| (call_value_pop_1): Likewise. |
| (call_0, call_value_0): New. |
| (call_1, call_value_1): Remove constraint from unused arg. |
| |
| 2000-03-27 Nick Clifton <nickc@cygnus.com> |
| |
| * invoke.texi (Spec Files): Document new spec % command created by |
| Tom Tromey's recent patch. |
| |
| 2000-03-27 Jakub Jelinek <jakub@redhat.com> |
| |
| * libgcc2.h (MIN_UNITS_PER_WORD): Define to UNITS_PER_WORD |
| if not defined. |
| |
| Mon Mar 27 06:04:22 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * expr.c (expand_assignment): Fix typo in last change. |
| |
| * libgcc2.h: Use MIN_UNITS_PER_WORD, not UNITS_PER_WORD. |
| |
| Sun Mar 26 20:15:26 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * c-convert.c (convert): Return if output or input type is ERROR_MARK. |
| * c-decl.c (duplicate_decls): Only look at DECL_BUILT_IN_NONANSI |
| and DECL_INLINE if FUNCTION_DECL. |
| (pushdecl, redeclaration_error_message): Likewise, for DECL_INLINE. |
| (store_parm_decls): Check for type of PARM_DECL being ERROR_MARK. |
| Use DECL_WEAK, not DECL_RESULT, to flag for already seen. |
| (combine_parm_decls): Likewise. |
| * ggc-common.c (gcc_mark_tree_children, case 'd'): Use DECL_RESULT_FLD. |
| * print-tree.c (print_node): Likewise. |
| Only test DECL_PACKED, DECL_INLINE, DECL_BIT_FIELD, and |
| DECL_TRANSPARENT_UNION on proper decl types. |
| Properly handly DECL_INCOMING_RTL and DECL_SAVED_INSNS. |
| * stor-layout.c (layout_decl): Only check DECL_PACKED and |
| DECL_BIT_FIELD of FIELD_DECL. |
| * tree.h (DECL_RESULT_FLD): New macro. |
| |
| * expr.c (expand_assignment): Add code to handle variable-sized |
| BLKmode case. |
| |
| 2000-03-26 Richard Henderson <rth@cygnus.com> |
| |
| * calls.c (expand_call): Pass parms not original exp to |
| optimize_tail_recursion. Mind return value instead of looking |
| for a barrier. |
| * stmt.c (optimize_tail_recursion): Take parameter list, not entire |
| call_expr. Move checks for call_expr and current_function_decl ... |
| (expand_return): ... here. |
| |
| 2000-03-26 Tom Tromey <tromey@cygnus.com> |
| |
| * gcc.c (handle_braces): Recognize `%{<S}' construct. |
| (SWITCH_OK, SWITCH_FALSE, SWITCH_IGNORE, SWITCH_LIVE): New |
| defines. |
| (process_command): Use them. |
| (check_live_switch): Likewise. |
| (give_switch): Skip ignored switches. |
| |
| 2000-03-26 Jan Hubicka <jh@suse.cz> |
| |
| * jump.c (jump_optimize_1): Fix typo in elide optimizations |
| for minimal jump pass test. |
| |
| 2000-03-26 Mark Mitchell <mark@codesourcery.com> |
| |
| * integrate.c (function_cannot_inline_p): Do inline functions that |
| return `void'. |
| |
| Sun Mar 26 11:37:55 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * stor-layout.c (layout_type, set_sizetype): early_type_list is |
| now a list of TREE_LIST entries, not types. |
| * tree.c (build_common_tree_nodes_2): Eliminate dupliate type sets. |
| |
| * expmed.c (extract_bit_field): Ensure BITS_PER_WORD is signed in MAX. |
| * config/arm/pe.c (arm_pe_return_in_memory): Use host_integerp and |
| int_bit_position. |
| * config/mips/mips.c (function_arg): Likewise; also remove cast |
| and make variables unsigned or HOST_WIDE_INT and use tree_low_cst. |
| (mips_function_value): Use int_byte_position and make HOST_WIDE_INT. |
| * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Offsets are unsigned. |
| * config/mips/mips.h (BITS_PER_WORD, UNITS_PER_WORD): Cast to unsigned. |
| (UNITS_PER_FPREG, INT_TYPE_SIZE, LONG_TYPE_SIZE): Likewise. |
| (POINTER_SIZE, POINTER_BOUNDARY,PARM_BOUNDARY): Likewise. |
| (GP_REG_P, FP_REG_P, MD_REG_P, ST_REG_P): Ensure subtraction signed. |
| (struct mips_arg): arg_number, arg_words, fp_arg_words, and |
| num_adjusts now unsigned. |
| (FUNCTION_ARG_BOUNDARY): Remove unneeded cast. |
| * config/sparc/sparc.c (struct function_arg_record_value_parms): |
| NREGS now unsigned. |
| (function_arg_record_value_1): STARTBITPOS arg now HOST_WIDE_INT |
| as is BITPOS variable; use host_integerp and int_bit_position. |
| (function_arg_record_value_2): Likewise. |
| (function_arg_record_value_3): Arg BITPOS now HOST_WIDE_INT. |
| Variable REGNO now unsigned. |
| (function_arg_record_value): NREGS now unsigned. |
| |
| 2000-03-26 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * jump.c (mark_all_labels): Handle CALL_PLACEHOLDERs. |
| |
| Sat Mar 25 09:12:10 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * Rework fields used to describe positions of bitfields and |
| modify sizes to be unsigned and use HOST_WIDE_INT. |
| * alias.c (reg_known_value_size): Now unsigned. |
| * c-typeck.c (build_unary_op, case ADDR_EXPR): Use byte_position. |
| (really_start_incremental_init): Use bitsize_zero_node. |
| (push_init_level, pop_init_level, output_init_element): Likewise. |
| Use bitsize_unit_node and bitsize_one_node. |
| (output_pending_init_elements, process_init_element): Likewise. |
| * combine.c (combine_max_regno, reg_sign_bit_copies): Now unsigned. |
| (make_extraction): Position and length HOST_WIDE_INT and unsigned |
| HOST_WIDE_INT, respectively. |
| (get_pos_from_mask): Passed in value is unsigned HOST_WIDE_INT. |
| (num_sign_bit_copies): Returns unsigned. |
| BITWIDTH now unsigned; rework arithmetic. |
| Remove recursive call from arg to MAX. |
| (combine_instructions, init_reg_last_arrays): NREGS now unsigned. |
| (setup_incoming_promotions, can_combine_p, try_combine, simplify_set): |
| REGNO now unsigned. |
| (set_nonzero_bit_and_sign_copies): NUM now unsigned. |
| (find_split_point, expand_compound_operation, make_extraction): LEN |
| now unsigned HOST_WIDE_INT, POS now HOST_WIDE_INT. |
| (make_field_assignment): Likewise. |
| (combine_simplify_rtx): Add cast. |
| (expand_compound_operation): MODEWIDTH now unsigned; rework arithmetic. |
| (force_to_mode): WIDTH now unsigned; add cast. |
| (if_then_else_cond): SIZE now unsigned. |
| (nonzero_bits): MODE_WIDTH, RESULT_WIDTH, and WIDTH now unsigned. |
| (extended_count): Now returns unsigned. |
| (simplify_shift_const): COUNT unsigned; arg is now INPUT_COUNT. |
| Add SIGNED_COUNT variable; MODE_WORDS and FIRST_COUNT now unsigned. |
| (simplify_comparison): MODE_WIDTH now unsigned. |
| (update_table_tick): REGNO and ENDREGNO now unsigned; new var R. |
| (mark_used_regs_combine): Likewise; rework arithmetic. |
| (record_value_for_reg): REGNO, ENDREGNO, and I now unsigned. |
| (record_dead_and_set_regs, reg_dead_at_p, distribute_notes): Likewise. |
| (record_promoted_value): REGNO now unsigned. |
| (get_last_value_validate): REGNO, ENDREGNO, and J now unsigned. |
| (get_last_value): REGNO now unsigned. |
| (use_crosses_set_p): REGNO and ENDREGNO now unsigned. |
| (reg_dead_regno, reg_dead_endregno): Now unsigned. |
| (remove_death): Arg REGNO now unsigned. |
| (move_deaths): REGNO, DEADREGNO, DEADEND, OUREND, and I now unsigned. |
| (reg_bitfield_target_p): REGNO, REGNO, ENDREGNO, and ENDTREGNO |
| now unsigned. |
| * convert.c (convert_to_integer): INPREC and OUTPREC now unsigned. |
| * cse.c (struct qty_table_elem): FIRST_REG and LAST_REG now unsigned. |
| (struct cse_reg_info): REGNO now unsigned. |
| (cached_regno): Now unsigned. |
| (REGNO_QTY_VALID_P): Add cast. |
| (make_new_qty, make_regs_eqv, delete_reg_eqiv): Regno args unsigned. |
| (remove_invalid_regs): Likewise. |
| (remove_invalid_subreg_refs): Likewise; arg WORD also unsigned |
| as are variables END and I. |
| (get_cse_reg_info, insert): Likewise. |
| (mention_regs, invalidate_for_call): REGNO, ENDREGNO, and I unsigned. |
| (canon_hash): Likewise. |
| (insert_regs, lookup_for_remove): REGNO now unsigned. |
| (invalidate): REGNO, ENDREGNO, TREGNO, and TENDREGNO now unsigned. |
| New variable RN. |
| * dbxout.c (dbxout_parms, dbxout_reg_parms): Don't check for REGNO < 0. |
| * dwarf2out.c (dwarf2ou_frame_debug_expr): Remove cast. |
| * emit-rtl.c (subreg_realpart_p): Add cast. |
| (operand_subword): Arg I is now unsigned as is var PARTWORDS. |
| (operand_subword_force): Arg I is now unsigned. |
| * except.c (eh_regs): Variable I is now unsigned. |
| * explow.c (hard_function_value): BYTES is unsigned HOST_WIDE_INT. |
| * expmed.c (store_fixed_bit_field): Position is HOST_WIDE_INT; |
| length is unsigned HOST_WIDE_INT; likewise for internal variables. |
| (store_split_bit_field, extract_fixed_bit_field): Likewise. |
| (extract_split_bit_field, store_bit_field, extract_bit_field): |
| Likewise. |
| * expr.c (store_constructor_fields, store_constructor, store_field): |
| Positions are HOST_WIDE_INT and lengths are unsigned HOST_WIDE_INT. |
| (expand_assignment, expand_expr, expand_expr_unaligned): Likewise. |
| (do_jump): Likewise. |
| (move_by_pieces, move_by_pieces_ninsns, clear_by_pieces): |
| MAX_SIZE is now unsigned. |
| (emit_group_load): BYTEPOS is HOST_WIDE_INT; BYTELEN is unsigned. |
| (emit_group_store): Likewise. |
| (emit_move_insn): I now unsigned. |
| (store_constructor): Use host_integerp, tree_low_cst, and |
| bitsize_unit_node. |
| (get_inner_reference): Return bitpos and bitsize as HOST_WIDE_INT. |
| Rework all calculations to use trees and new fields. |
| * expr.h (promoted_input_arg): Regno now unsigned. |
| (store_bit_field, extract_bit_field): Adjust types of pos and size. |
| (mark_seen_cases): Arg is HOST_WIDE_INT. |
| * flow.c (verify_wide_reg_1): REGNO now unsigned. |
| * fold-const.c (decode_field_reference): Size and pos HOST_WIDE_INT; |
| precisions and alignments are unsigned. |
| (optimize_bit_field_compare, fold_truthop): Likewise. |
| (int_const_binop): Adjust threshold for size_int_type_wide call. |
| (fold_convert): Likewise. |
| (size_int_type_wide): Make table larger and fix thinko that only |
| had half of table used. |
| (all_ones_mask_p, fold): Precisions are unsigned. |
| * function.c (put_reg_info_stack): REGNO is unsigned. |
| (instantiate_decl): Size is HOST_WIDE_INT. |
| (instantiate_virtual_regs): I is unsigned. |
| (assign_parms): REGNO, REGNOI, and REGNOR are unsigned. |
| (promoted_input_arg): REGNO is unsigned. |
| * function.h (struct function): x_max_parm_reg is now unsigned. |
| * gcse.c (max_gcse_regno): Now unsigned. |
| (struct null_pointer_info): min_reg and max_reg now unsigned. |
| (lookup_set, next_set): REGNO arg now unsigned. |
| (compute_hash_table): REGNO and I now unsigned. |
| (handle_avail_expr): regnum_for_replacing now unsigned. |
| (cprop_insn): REGNO now unsigned. |
| (delete_null_pointer_checks_1): BLOCK_REG now pointer to unsigned. |
| * ggc-common.c (ggc_mark_tree_children, case FIELD_DECL): New case. |
| * global.c (set_preference): SRC_REGNO, DEST_REGNO, and I now unsigned. |
| * hard-reg-set.h (reg_class_size): Now unsigned. |
| * integrate.c (mark_stores): LAST_REG and I now unsigned; new UREGNO. |
| * jump.c (mark_modified_reg): I now unsigned; add cast. |
| (rtx_equal_for_thread_p): Add cast. |
| * loop.c (max_reg_before_loop): Now unsigned. |
| (struct_movable): REGNO now unsigned. |
| (try_copy_prop): REGNO arg unsigned. |
| (regs_match_p): XN and YN now unsigned. |
| (consec_sets_invariant_p, maybe_eliminate_biv): REGNO now unsigned. |
| (strength_reduce): Likewise; NREGS also unsigned. |
| (first_increment_giv, last_increment_giv unsigned): Now unsigned. |
| * loop.h (struct iv_class): REGNO now unsigned. |
| (max_reg_before_loop, first_increment_giv, last_increment_giv): |
| Now unsigned. |
| * machmode.h (mode_size, mode_unit_size): Now unsigned. |
| (mode_for_size, smallest_mode_for_size): Pass size as unsigned. |
| * optabs.c (expand_binop): I and NWORDS now unsigned. |
| (expand_unop): I now unsigned. |
| * print-tree.c (print_node): Don't print DECL_FIELD_BITPOS, but do |
| print DECL_FIELD_OFFSET and DECL_FIELD_BIT_OFFSET. |
| * real.c (significand_size): Now returns unsigned. |
| * real.h (significand_size): Likewise. |
| * regclass.c (reg_class_size): Now unsigned. |
| (choose_hard_reg_mode): Both operands now unsigned. |
| (record_reg_classes): REGNO and NR now unsigned. |
| (reg_scan): NREGS now unsigned. |
| (reg_scan_update): old_max_regno now unsigned. |
| (reg_scan_mark_refs): Arg MIN_REGNO and var REGNO now unsigned. |
| * reload.c (find_valid_class): BEST_SIZE now unsigned. |
| (find_dummy_reload): REGNO, NWORDS, and I now unsigned. |
| (hard_reg_set_here_p): Args BEG_REGNO and END_REGNO now unsigned. |
| Likewise for variable R. |
| (refers_to_regno_for_reload_p): Args REGNO and END_REGNO now unsigned, |
| as are variables INNER_REGNO and INNER_ENDREGNO; add new variable R. |
| (find_equiv_reg): Add casts. |
| (regno_clobbered_p): Arg REGNO now unsigned. |
| * reload.h (struct reload): NREGS now unsigned. |
| (refers_to_regno_for_reload_p): Regno args are unsigned. |
| (regno_clobbered_p): Likewise. |
| * reload1.c (reg_max_ref_width, spill_stack_slot_width): Now unsigned. |
| (compute_use_by_pseudos): REGNO now unsigned. |
| (find_reg): I and J now unsigned, new variable K, and change loop |
| variables accordingly; THIS_NREGS now unsigned. |
| (alter_reg): INHERENT_SIZE and TOTAL_SIZE now unsigned. |
| (spill_hard_reg): REGNO arg now unsigned; add casts. |
| (forget_old_reloads_1): REGNO, NR, and I now unsigned. |
| (mark_reload_reg_in_use): Arg REGNO and vars NREGS and I now unsigned. |
| (clear_reload_reg_in_use): Arg REGNO and vars NREGS, START_REGNO, |
| END_REGNO, CONFLICT_START, and CONFLICT_END now unsigned. |
| (reload_reg_free_p, reload_reg_reaches_end_p): Arg REGNO now unsigned. |
| (choose_reload_regs): MAX_GROUP_SIZE now unsigned. |
| (emit_reload_insns): REGNO now unsigned. |
| (reload_cse_move2add): Add cast. |
| (move2add_note_store): REGNO and I now unsigned; new variable ENDREGNO |
| and rework loop. |
| * resource.c (mark_referenced_resources, mark_set_resources): New |
| variable R; REGNO and LAST_REGNO now unsigned. |
| (mark_target_live_regs): J and REGNO now unsigned. |
| * rtl.c (mode_size, mode_unit_size): Now unsigned. |
| * rtl.h (union rtunion_def): New field rtuint. |
| (XCUINT): New macro. |
| (ADDRESSOF_REGNO, REGNO, SUBREG_WORD): New XCUINT. |
| (operand_subword, operand_subword_force): Word number is unsigned. |
| (choose_hard_reg_mode): Operands are unsigned. |
| (refers_to-regno_p, dead_or_set_regno_p): Regno arg is unsigned. |
| (find_regno_note, find_regno_fusage, replace_regs): Likewise. |
| (regno_use_in, combine_instructions, remove_death): Likewise. |
| (reg_scan, reg_scan_update): Likewise. |
| (extended_count): Return is unsigned. |
| * rtlanal.c (refers_to_regno_p): Args REGNO and ENDREGNO and vars I, |
| INNER_REGNO, and INNER_ENDREGNO now unsigned; new variable X_REGNO. |
| (reg_overlap_mentioned_p): REGNO and ENDREGNO now unsigned. |
| (reg_set_last_first_regno, reg_set_last_last_regno): Now unsigned. |
| (reg_reg_last_1): FIRS and LAST now unsigned. |
| (dead_or_set_p): REGNO, LAST_REGNO, and I now unsigned. |
| (dead_or_set_regno_p): Arg TEST_REGNO and vars REGNO and ENDREGNO |
| now unsigned. |
| (find_regno_note, regno_use_in): Arg REGNO now unsigned. |
| (find_regno_fusage): Likewise; also var REGNOTE now unsigned. |
| (find_reg_fusage): Variables REGNO, END_REGNO, and I now unsigned. |
| (replace_regs): Arg NREGS now unsigned. |
| * sdbout.c (sdbout_parms, sdbout_reg_parms): Don't check REGNO < 0. |
| * simplify-rtx.c (simplify_unary_operation): WIDTH now unsigned. |
| (simplify_binary_operation): Likewise. |
| (cselib_invalidate_regno): Arg REGNO and variables ENDREGNO, I, and |
| THIS_LAST now unsigned. |
| (cselib_record_set): Add cast. |
| * ssa.c (ssa_max_reg_num): Now unsigned. |
| (rename_block): REGNO now unsigned. |
| * stmt.c (expand_return): Bit positions unsigned HOST_WIDE_INT; |
| sizes now unsigned. |
| (all_cases_count): Just return -1 not -2. |
| COUNT, MINVAL, and LASTVAL now HOST_WIDE_INT. |
| Rework tests to use trees whenever possible. |
| Use host_integerp and tree_low_cst. |
| (mark_seen_cases): COUNT arg now HOST_WIDE_INT; |
| Likewise variable NEXT_NODE_OFFSET; XLO now unsigned. |
| (check_for_full_enumeration_handing): BYTES_NEEDED, I to HOST_WIDE_INT. |
| * stor-layout.c (mode_for_size): SIZE arg now unsigned. |
| (smallest_mode_for_size): Likewise. |
| (layout_decl): Simplify handing of a specified DECL_SIZE_UNIT. |
| KNOWN_ALIGN is now an alignment, so simplify code. |
| Don't turn off DECL_BIT_FIELD if field is BLKmode, but not type. |
| (start_record_layout): Renamed from new_record_layout_info. |
| Update to new fields. |
| (debug_rli, normalize_rli, rli_size_unit_so_far, rli_size_so_far): |
| New functions. |
| (place_union_field): Renamed from layout_union_field. |
| Update to use new fields in rli. |
| (place_field): Renamed from layout_field. |
| Major rewrite to use new fields in rli; pass alignment to layout_decl. |
| (finalize_record_size): Rework to use new fields in rli and handle |
| union. |
| (compute_record_mode): Rework to simplify and to use new DECL fields. |
| (finalize_type_size): Make rounding more consistent. |
| (finish_union_layout): Deleted. |
| (layout_type, case VOID_TYPE): Don't set TYPE_SIZE_UNIT either. |
| (layout_type, case RECORD_TYPE): Call new function names. |
| (initialize_sizetypes): Set TYPE_IS_SIZETYPE. |
| (set_sizetype): Set TYPE_IS_SIZETYPE earlier. |
| (get_best_mode): UNIT is now unsigned; remove casts. |
| * tree.c (bit_position): Compute from new fields. |
| (byte_position, int_byte_position): New functions. |
| (print_type_hash_statistics): Cast to remove warning. |
| (build_range_type): Use host_integerp and tree_low_cst to try to hash. |
| (build_index_type): Likewise; make subtype of sizetype. |
| (build_index_2_type): Pass sizetype to build_range_type. |
| (build_common_tree_nodes): Use size_int and bitsize_int to |
| initialize nodes; add bitsize_{zero,one,unit}_node. |
| * tree.h (DECL_FIELD_CONTEXT): Use FIELD_DECL_CHECK. |
| (DECL_BIT_FIELD_TYPE, DECL_QUALIFIER, DECL_FCONTEXT): Likewise. |
| (DECL_PACKED, DECL_BIT_FIELD): Likewise. |
| (DECL_FIELD_BITPOS): Deleted. |
| (DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET): New fields. |
| (DECL_RESULT, DECL_SAVED_INSNS): Use FUNCTION_DECL_CHECK. |
| (DECL_FRAME_SIZE, DECL_FUNCTION_CODE, DECL_NO_STATIC_CHAIN): Likewise. |
| (DECL_INLINE, DECL_BUILT_IN_NONANSI, DECL_IS_MALLOC): Likewise. |
| (DECL_BUILT_IN_CLASS, DECL_STATIC_CONSTRUCTOR): Likewise. |
| (DECL_STATIC_DESTRUCTOR, DECL_NO_CHECK_MEMORY_USAGE): Likewise. |
| (DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT, DECL_NO_LIMIT_STACK) Likewise. |
| (DECL_ORIGINAL_TYPE, TYPE_DECL_SUPPRESS_DEBUG): Use TYPE_DECL_CHECK. |
| (DECL_ARG_TYPE_AS_WRITEN, DECL_ARG_TYPE): Use PARM_DECL_CHECK. |
| (DECL_INCOMING_RTL, DECL_TRANSPARENT_UNION): Likewise. |
| (DECL_ALIGN): Adjust to new field in union. |
| (DECL_OFFSET_ALIGN): New field. |
| (DECL_ERROR_ISSUED, DECL_TOO_LATE): Use LABEL_DECL_CHECK. |
| (DECL_IN_TEXT_SECTION): Use VAR_DECL_CHECK. |
| (union tree_decl): Add struct for both aligns. |
| (enum tree_index): Add TI_BITSIZE_{ZERO,ONE,UNIT}. |
| (bitsize_zero_node, bitsize_one_node, bitsize_unit_node): Added. |
| (struct record_layout_info): Rework fields to have offset |
| alignment and byte and bit position. |
| (start_record_layout, place_field): Renamed from old names. |
| (rli_size_so_far, rli_size_unit_so_far, normalize_rli): New decls. |
| (byte_position, int_byte_position): Likewise. |
| (get_inner_reference): Change types of position and length. |
| * unroll.c (unroll_loop): New variable R; use for some loops. |
| MAX_LOCAL_REGNUM and MAXREGNUM now unsigned. |
| (calculate_giv_inc): Arg REGNO now unsigned. |
| (copy_loop_body): REGNO and SRC_REGNO now unsigned. |
| * varasm.c (assemble_variable): Clean up handling of size using |
| host_integerp and tree_low_cst. |
| (decode_addr_const): Use byte, not bit, position. |
| (output_constructor): bitpos and offsets are HOST_WIDE_INT; |
| use tree_low_cst and int_bit_position. |
| * objc/objc-act.c (build_ivar_list_initializer): Use byte_position. |
| |
| Fri Mar 24 20:13:49 2000 Jason Eckhardt <jle@cygnus.com> |
| |
| * bb-reorder.c (REORDER_MOVED_BLOCK_END): Removed. |
| (reorder_block_def): New members eff_head and eff_end. |
| (REORDER_BLOCK_EFF_HEAD, REORDER_BLOCK_EFF_END): New macros. |
| (verify_insn_chain): New function. |
| (skip_insns_between_block): Add code to skip deleted insns. |
| Check for note before using. |
| (chain_reorder_blocks): Replace calls to skip_insns_between_block |
| with references to REORDER_BLOCK_EFF_HEAD and REORDER_BLOCK_EFF_END. |
| Check for note before using. |
| (make_reorder_chain): Use INTVAL rather than XINT to get REG_BR_PROB. |
| (fixup_reorder_chain): Restructure, clean up, defect removal. |
| (reorder_basic_blocks): Remove last_insn and references to it. |
| Moved insn chain verification code into a new function (see above). |
| Delete defective code that sets last insn. |
| Initialize REORDER_BLOCK_EFF_HEAD and REORDER_BLOCK_EFF_END for |
| all blocks. |
| |
| 2000-03-25 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x/c4x.h (CPP_SPEC): Remove erroneous space. |
| |
| 2000-03-24 Richard Henderson <rth@cygnus.com> |
| |
| * tree.c (lang_safe_for_unsave): Remove. |
| (unsafe_for_reeval): Transmute and rename from safe_for_unsave, |
| allowing for two levels of unsafeness. Remove lang hook. |
| * tree.h: Update declarations. |
| * calls.c (expand_call): Rename safe_for_reeval to try_tail_call. |
| Create temporary VAR_DECLs to protect very unsafe_for_reeval trees. |
| Always fail sibcalls when there are pending cleanups. |
| |
| 2000-03-24 Geoff Keating <geoffk@cygnus.com> |
| |
| * flow.c (propagate_block): When we delete an ADDR_VEC, |
| also delete the BARRIER following it if there is one. |
| |
| 2000-03-24 Richard Henderson <rth@cygnus.com> |
| |
| * builtins.c (expand_builtin_bzero): Convert `length' argument |
| to sizetype. |
| |
| 2000-03-24 Jakub Jelinek <jakub@redhat.com> |
| |
| * sibcall.c (skip_copy_to_return_value): Use OUTGOING_REGNO for |
| comparison if regno's are equal. |
| * calls.c (initialize_argument_informat): Add ecf_flags argument. |
| Use FUNCTION_INCOMING_ARG if available and ECF_SIBCALL. |
| (expand_call): Update caller. |
| Avoid making a sibling call if argument size of the callee is larger |
| than argument size of the caller. |
| Call hard_function_value with outgoing set if in sibcall pass. |
| Use FUNCTION_INCOMING_ARG if available and ECF_SIBCALL. |
| |
| * final.c (permitted_reg_in_leaf_functions, only_leaf_regs_used): |
| Change LEAF_REGISTERS from an array initializer to actual array |
| identifier. Move static global variable into the function. |
| (leaf_function_p): Allow SIBLING_CALL_P calls even outside of |
| sequences for leaf functions. |
| * global.c (global_alloc): Likewise. |
| * tm.texi (LEAF_REGISTERS): Update documentation. |
| |
| * config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Remove the ugly |
| TARGET_FLAT leaf disabling hack. |
| (LEAF_REGISTERS): Changed from an array initializer to actual array |
| identifier to avoid duplication and remove the above hack. |
| (FUNCTION_OK_FOR_SIBCALL): Define. |
| * config/sparc/sparc.md (sibcall): New attr type. Use it almost |
| always like call attribute. |
| (eligible_for_sibcall_delay): New attribute. |
| (sibcall): New delay type. |
| (sibcall, sibcall_value, sibcall_epilogue): New expands. |
| (sibcall_symbolic_sp32, sibcall_symbolic_sp64, |
| sibcall_value_symbolic_sp32, sibcall_value_symbolic_sp64): New insns. |
| * config/sparc/sparc.c (sparc_leaf_regs): New array. |
| (eligible_for_sibcall_delay, output_restore_regs, output_sibcall): |
| New functions. |
| (output_function_epilogue): Move part of the code into |
| output_restore_regs. |
| (ultra_code_from_mask, ultrasparc_sched_reorder): Handle |
| TYPE_SIBCALL. |
| * sparc-protos.h (output_sibcall, eligible_for_sibcall_delay): New |
| prototypes. |
| |
| * config/sparc/sparc.h (REVERSIBLE_CC_MODE): Revert Jan, 25 change |
| until infrastructure is finished. |
| |
| Fri Mar 24 13:49:45 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * integrate.c (save_for_inline_nocopy): Clear in_nonparm_insns here. |
| (save_parm_insns): Not here. |
| |
| 2000-03-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * builtins.c (expand_builtin_bzero): New function. |
| (expand_builtin): Handle bzero. |
| |
| * builtins.def: Add BUILT_IN_BZERO. |
| |
| * c-common.c (c_common_nodes_and_builtins): Provide builtin |
| prototype & function for bzero. |
| |
| 2000-03-23 Michael Meissner <meissner@redhat.com> |
| |
| * config/alpha/alpha.md (TF floating point insns): Undo 2000-03-21 |
| change adding TARGET_FP to the TF floating point insns, except for |
| trunctfsf2, which generates direct calls to truncdfsf2. |
| |
| 2000-03-23 Geoff Keating <geoffk@cygnus.com> |
| |
| * config/rs6000/rs6000.h (ARG_POINTER_CFA_OFFSET): New definition, |
| try to protect against middle-end changes that break binary |
| compatibility. |
| (DWARF_FRAME_REGISTERS): New definition, likewise for backend. |
| |
| 2000-03-24 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x/c4x.md (load_immed_address): Add DP reg clobber. |
| |
| Thu Mar 23 17:10:48 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * calls.c (expand_call): If TARGET is passed by reference and |
| is readonly, write a CLOBBER. |
| |
| 2000-03-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * builtins.c (expand_builtin): Handle bcmp. |
| |
| * builtins.def: Add BUILT_IN_BCMP. |
| |
| * c-common.c (c_common_nodes_and_builtins): Provide builtin |
| prototype & function for bcmp. |
| |
| Thu Mar 23 11:34:39 2000 Jim Wilson <wilson@cygnus.com> |
| |
| * config/ia64/ia64.c (rtx_needs_barrier, case UNSPEC): Move case 6... |
| (rtx_needs_barrier, case UNSPEC_VOLATILE): to here. |
| * config/ia64/ia64.md (pr_restore): Change UNSPEC to UNSPEC_VOLATILE. |
| |
| Thu Mar 23 16:04:40 2000 Andrew Haley <aph@cygnus.com> |
| |
| * config/mips/mips.md (movdf_internal1a): Delete (set 'f', 'F') |
| alternative when using -fp64 -gp32. |
| |
| 2000-03-22 Jason Merrill <jason@casey.cygnus.com> |
| |
| * config/rs6000/rs6000.h (DWARF_FRAME_RETURN_COLUMN): Define. |
| * config/alpha/alpha.h (DWARF_FRAME_RETURN_COLUMN): Define. |
| * config/sparc/sparc.h (DWARF_FRAME_RETURN_COLUMN): Define. |
| |
| * frame.h (frame_state): Revert last change. |
| * frame.c (execute_cfa_insn): Just don't record the save of a CFA reg. |
| * libgcc2.c (throw_helper): Revert last change. |
| |
| 2000-03-22 Richard Henderson <rth@cygnus.com> |
| |
| * stmt.c (expand_asm_operands): Don't promote the temporary. |
| |
| 2000-03-22 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr> |
| |
| * builtin.c (get_pointer_alignment): Use DECL_P and TYPE_P macros. |
| * c-common.c (decl_attributes,check_format_info,truthvalue_conversion, |
| c_get_alias_set): Likewise. |
| * c-decl.c (duplicate_decls): Likewise. |
| * c-typeck.c (default_conversion,build_unary_op): Likewise. |
| * calls.c (initialize_argument_information): Likewise. |
| * dwarf2out.c (decl_class_context,add_abstract_origin_attribute): |
| Likewise. |
| * dwarfout.c (decl_class_context,output_type): Likewise. |
| * expr.c (get_inner_reference): Likewise. |
| * fold-const.c (simple_operand_p,fold): Likewise. |
| * function.c (aggregate_value_p): Likewise. |
| * stmt.c (expand_asm_operands): Likewise. |
| * varasm.c (named_section): Likewise. |
| |
| 2000-03-22 Jason Merrill <jason@casey.cygnus.com> |
| |
| Implement dwarf2 exception handling for the ARM. |
| * config/arm/arm.h (INCOMING_RETURN_ADDR_RTX): Define. |
| (DWARF_FRAME_RETURN_COLUMN): Define. |
| * config/arm/arm.c (emit_multi_reg_push): Return rtx. Attach |
| REG_FRAME_RELATED_EXPR note. |
| (emit_sfm): Likewise. |
| (arm_expand_prologue): Set RTX_FRAME_RELATED_P on everything. |
| * dwarf2out.c (reg_save): Handle saving a register to itself. |
| (dwarf2out_frame_debug_expr): Handle an intermediate cfa reg. |
| * except.c (eh_regs): Don't use the static chain reg if it's |
| callee-saved. |
| * frame.h (frame_state): Add cfa_saved field. |
| * frame.c (execute_cfa_insn): Set it. |
| * libgcc2.c (throw_helper): Don't adjust sp if it's restored in |
| the epilogue. |
| * function.c (ARG_POINTER_CFA_OFFSET): Default to FIRST_PARM_OFFSET. |
| Now takes a parm. |
| (instantiate_virtual_regs): Adjust. |
| * tm.texi: Adjust. |
| * config/m68k/m68k.h (ARG_POINTER_CFA_OFFSET): Don't define. |
| * config/ns32k/ns32k.h (ARG_POINTER_CFA_OFFSET): Don't define. |
| * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): Take a parm. |
| |
| * dwarf2out.c (reg_number): Refer to FIRST_PSEUDO_REGISTER. |
| (initial_return_save): Use DWARF_FRAME_REGNUM, not reg_number. |
| |
| 2000-03-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * builtins.def: New file. |
| |
| * Makefile.in (TREE_H): Depend on builtins.def. |
| |
| * builtins.c (built_in_names): Use builtins.def. |
| |
| * tree.h (built_in_function): Likewise. |
| |
| 2000-03-22 Mark Mitchell <mark@codesourcery.com> |
| |
| * tree.c (size_in_bytes): Return size_zero_node, not |
| integer_zero_node. |
| |
| 2000-03-22 Geoff Keating <geoffk@cygnus.com> |
| |
| * config/fp-bit.c (pack_d): Correct the case when a denormal |
| is rounded up and stops being denormal. |
| |
| 2000-03-21 Richard Henderson <rth@cygnus.com> |
| |
| * config/alpha/alpha.c (function_arg): Check for void_type_node |
| before using MUST_PASS_IN_STACK. |
| |
| 2000-03-21 Stephane Carrez <stcarrez@worldnet.fr> |
| |
| * regmove.c (combine_stack_adjustments_for_block): Check that |
| the stack pointer is a valid memory address. |
| |
| Wed Mar 22 11:44:50 MET 2000 Jan Hubicka <jh@suse.cz> |
| |
| * calls.c: re-install Mar 16 emit_library_call merge. |
| |
| 2000-03-21 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/sparc.c (mem_min_alignment): If not optimizing, |
| we cannot be sure that if reload_completed base register will |
| be properly aligned. |
| |
| 2000-03-21 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (delete_block): Fix typo last change. |
| |
| 2000-03-21 Mark Mitchell <mark@codesourcery.com> |
| |
| * c-common.c (c_expand_expr_stmt): Use COMPLETE_TYPE_OR_VOID_P, |
| not COMPLETE_TYPE_P, to check the type of the expression. |
| |
| 2000-03-21 Michael Meissner <meissner@redhat.com> |
| |
| * config/alpha/alpha.md (floating point insns): Add TARGET_FP to |
| all floating point insns that just tested the macro |
| TARGET_HAS_XFLOATING_LIBS. |
| (movsf/movdf recognizers): Add separate insns if -mno-fp-regs is |
| used to only use the gprs. |
| |
| 2000-03-21 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * tree.h (COMPLETE_TYPE_P): New macro. |
| (COMPLETE_OR_VOID_TYPE_P): New macro. |
| (COMPLETE_OR_UNBOUND_ARRAY_TYPE_P): New macro. |
| * stor-layout.c (layout_type, case VOID_TYPE): Don't set TYPE_SIZE. |
| * c-aux-info.c (gen_type): Use them. |
| * c-common.c (c_expand_expr_stmt): Likewise. |
| * c-decl.c (poplevel, pushdecl, start_decl, finish_decl, |
| grokdeclarator, grokparms, finish_struct, start_function, |
| store_parm_decls, combine_parm_decls): Likewise. |
| * c-parse.y (cast_expr): Likewise. |
| * c-typeck.c (require_complete_type, c_sizeof, c_sizeof_nowarn, |
| c_size_in_bytes, c_alignof, build_component_ref, |
| build_indirect_ref, build_array_ref, convert_arguments, |
| build_binary_op, pointer_diff, build_unary_op, digest_init: Likewise. |
| * calls.c (initialize_argument_information): Likewise. |
| * convert.c (convert_to_integer): Likewise. |
| * dbxout.c (dbxout_typedefs, dbxout_type, dbxout_symbol): Likewise. |
| * dwarfout.c (location_or_const_value_attribute, |
| output_enumeration_type_die, output_structure_type_die, |
| output_union_type_die, output_type): Likewise. |
| * expr.c (safe_from_p, expand_expr): Likewise. |
| * function.c (assign_parms): Likewise. |
| * sdbout.c (sdbout_symbol, sdbout_one_type): Likewise. |
| * tree.c (build_array_type, build_function_type, |
| build_method_type, build_offset_type, build_complex_type): Likewise. |
| * c-parse.c, c-parse.h: Regenerated. |
| |
| 2000-03-21 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x/rtems.h: Include config/rtems.h. |
| |
| Tue Mar 21 09:24:00 2000 Denis Chertykov <denisc@overta.ru> |
| |
| * config/avr/avr.c (encode_section_info): sets SYMBOL_REF_FLAG if |
| decl is a FUNCTION_DECL |
| |
| Mon Mar 20 19:53:53 2000 Jim Wilson <wilson@cygnus.com> |
| |
| * config/ia64/ia64.c (ia64_expand_prologue): Don't abort if leaf |
| function uses output registers. Don't save RP for leaf functions. |
| Do save RP even if no epilogue. |
| * config/ia64/ia64.h (FIXED_REGISTERS): Unmark in/out registers. |
| (CALL_USED_REGISTERS): Unmark in registers. |
| (REG_ALLOC_ORDER): Move out regs up, to near the top. Move in regs up, |
| to near the middle. |
| |
| 2000-03-20 Geoff Keating <geoffk@cygnus.com> |
| |
| * config/rs6000/rs6000.md (bunordered): New expander. |
| (bordered): New expander. |
| (buneq): New expander. |
| (bunge): New expander. |
| (bungt): New expander. |
| (bunle): New expander. |
| (bunlt): New expander. |
| (bltgt): New expander. |
| |
| * config/rs6000/rs6000.c (ccr_bit): Handle unordered comparisons. |
| (ccr_bit_negated_p): New function. |
| (print_operand): For %C, generate appropriate cror for UNEQ, |
| UNLT, UNGT, and LTGT. For %T and %t, use ccr_bit_negated_p. |
| |
| 2000-03-20 Andreas Jaeger <aj@suse.de> |
| |
| * sdbout.c (sdbout_one_type): Add braces to avoid "ambigous else" |
| warning. |
| |
| * tree.h (safe_for_unsave): Prototype. |
| |
| 2000-03-20 Richard Henderson <rth@cygnus.com> |
| |
| * regmove.c (stack_memref_p): Fix typo, reorg for readability. |
| (combine_stack_adjustments_for_block): Don't allow sp references |
| in the side of a set we're not fixing up. |
| * toplev.c (rest_of_compilation): Run combine_stack_adjustments |
| after life_analysis. |
| |
| 2000-03-20 Richard Henderson <rth@cygnus.com> |
| |
| * calls.c (expand_call): Don't bother generating tail call |
| sequences if there are pending cleanups. Use |
| expand_start_target_temps/expand_end_target_temps to elide |
| cleanups created during sibcall expansion. |
| |
| 2000-03-20 Geoff Keating <geoffk@cygnus.com> |
| |
| * configure.in: Set $IFS to a value if it doesn't already have one |
| in the --enable-checking handling. |
| * configure: Regenerate. |
| |
| 2000-03-20 Martin v. Löwis <loewis@informatik.hu-berlin.de> |
| |
| * c-parse.in (SAVE_WARN_FLAGS): Use size_int. |
| * c-parse.y, c-parse.c, objc/objc-parse.y, objc/objc-parse.c: |
| Regenerated. |
| |
| Mon Mar 20 11:43:15 MET 2000 Jan Hubicka <jh@suse.cz> |
| |
| * jump.c (delete_noop_moves): Remove code attempting to |
| combine stack adjustments. |
| |
| 2000-03-19 Martin v. Löwis <loewis@informatik.hu-berlin.de> |
| |
| * emit-rtl.c (push_to_full_sequence, end_full_sequence): New functions. |
| * except.c (emit_cleanup_handler): Use them. |
| (expand_end_all_catch): Likewise. |
| * function.c (fixup_var_refs): Likewise. |
| (expand_function_end): Clear catch_clauses_last. |
| * rtl.h (push_to_full_sequence, end_full_sequence): Declare. |
| * except.h (struct eh_status): New field x_catch_clauses_last. |
| (catch_clauses_last): New define. |
| |
| * Makefile.in (tree.o): Depend on HASHTAB_H. |
| * tree.c: Include hashtab.h. |
| (struct type_hash): Remove next field. |
| (TYPE_HASH_SIZE): Remove. |
| (TYPE_HASH_INITIAL_SIZE): New define. |
| (type_hash_table): Change type to htab_t. |
| (type_hash_eq, type_hash_hash, print_type_hash_statistics, |
| mark_hash_entry): New functions. |
| (init_obstacks): Allocate type hash. |
| (type_hash_lookup): Use htab functions. |
| (type_hash_add, mark_type_hash): Likewise. |
| (dump_tree_statistics): Call print_type_hash_statistics. |
| |
| 2000-03-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * rs6000/t-aix41: New file. |
| |
| * configure.in ({rs6000,powerpc}-ibm-aix4.[12]*): Use it. |
| |
| Sun Mar 19 13:27:30 2000 Hans-Peter Nilsson <hp@axis.com> |
| |
| * tm.texi (Driver): Fix typos and tweak entry for |
| INCLUDE_DEFAULTS. |
| Move misplaced STRUCT_FORCE_BLK entry ... |
| (Storage Layout): ... to here. |
| (Run-time Target): Recommend having TARGET_MASK_... helper macros. |
| |
| 2000-03-19 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (delete_block): Delete the addr_vec along with the block. |
| (flow_delete_insn): Decrement LABEL_NUSES when deleting insns that |
| reference labels. |
| |
| * fold-const.c (extract_muldiv): Apply type check for defined |
| overflow to multiply as well as divide. |
| |
| * stor-layout.c (layout_decl): Don't abort on any zero sized decl. |
| |
| 2000-03-18 Mark Mitchell <mark@codesourcery.com> |
| |
| * emit-rtl.c (remove_unnecessary_notes): Check that all |
| NOTE_INSN_BLOCK_BEG and NOTE_INSN_BLOCK_END notes have an |
| associated NOTE_BLOCK. |
| * function.h (identify_blocks): Update comments. |
| (reorder_blocks): Declare. |
| * function.c (identify_blocks): Don't take paramters. |
| (reorder_blocks): Don't take parameters. |
| * loop.h (find_loop_tree_blocks): Remove. |
| (unroll_block_trees): Likewise. |
| * loop.c (loop_optimize): Don't call find_loop_tree_blocks. Use |
| reorder_blocks instead of unroll_block_trees.h |
| * sibcall.c (optimize_sibling_and_tail_recursive_calls): Likewise. |
| * stmt.c (find_loop_tree_blocks): Remove. |
| (unroll_block_trees): Likewise. |
| * toplev.c (rest_of_compilation): Don't call find_loop_tree_blocks |
| in whole-function mode. |
| * tree.h (reorder_blocks): Remove declaration. |
| |
| * expr.c: Include intl.h. |
| * Makefile.in (expr.o): Depend on intl.h. |
| |
| 2000-03-18 Richard Henderson <rth@cygnus.com> |
| |
| * expr.c (emit_move_insn_1): Clarify cannot_inline message. |
| |
| 2000-03-18 Mark Mitchell <mark@codesourcery.com> |
| |
| * tree.h (tree_index): Remove enumerals for integer types. |
| (integer_type_kind): New type. |
| (integer_types): New variable. |
| (char_type_node): Adjust. |
| (signed_char_type_node): Likewise. |
| (unsigned_char_type_node): Likewise. |
| (short_integer_type_node): Likewise. |
| (short_unsigned_type_node): Likewise. |
| (integer_type_node): Likewise. |
| (unsigned_type_node): Likewise. |
| (long_integer_type_node): Likewise. |
| (long_unsigned_type_node): Likewise. |
| (long_long_integer_type_node): Likewise. |
| (long_long_unsigned_type_node): Likewise. |
| * tree.c (integer_types): New variable. |
| (init_obstacks): Register it as a root. |
| |
| Sat Mar 18 14:38:00 2000 Jason Eckhardt <jle@cygnus.com> |
| |
| * bb-reorder.c (reorder_basic_blocks): Update PREV_INSN as well as |
| NEXT_INSN. Update last insn in chain. |
| |
| 2000-03-17 Jason Merrill <jason@casey.cygnus.com> |
| |
| * dwarf2out.c (dwarf2out_decl): Don't emit anything for types |
| with TYPE_DECL_SUPPRESS_DEBUG set. |
| |
| 2000-03-18 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (make_edges): Use INTVAL to access REG_EH_REGION value. |
| |
| 2000-03-18 Richard Henderson <rth@cygnus.com> |
| |
| * i386.c (call_insn_operand): Always allow SYMBOL_REF, |
| care for HALF_PIC_P. |
| (expander_call_insn_operand): Remove. |
| (ix86_expand_epilogue): New arg `emit_return' to control return insn. |
| * i386.h (PREDICATE_CODES): Update. |
| * i386.md (all call expanders): Remove predicates, remove special |
| handling for half-pic. |
| (*call_1, *call_value_1): Handle SIBLING_CALL_P insns. |
| (*call_pop_pic2, *call_pic2, *call_value_pop_2, *call_value_2): Remove. |
| (sibcall_epilogue): New. |
| |
| 2000-03-17 Richard Henderson <rth@cygnus.com> |
| |
| * rtlanal.c (single_set): Reject if the parallel has anything |
| except SET or USE or CLOBBER. |
| |
| 2000-03-17 Jeff Law <law@cygnus.com> |
| Richard Henderson <rth@cygnus.com> |
| |
| * Makefile.in (OBJS): Add sibcall.o. |
| (sibcall.o): New. |
| * sibcall.c: New file. |
| * calls.c (FUNCTION_OK_FOR_SIBCALL): Provide default. |
| (ECF_IS_CONST, ECF_NOTHROW, ECF_SIBCALL): New. |
| (emit_call_1): Replace `is_const' and `nothrow' with `ecf_flags'. |
| Emit sibcall patterns when requested. Update all callers. |
| (expand_call): Generate CALL_PLACEHOLDER insns when tail call |
| elimination seems feasable. |
| * final.c (leaf_function_p): Sibling calls don't discount being |
| a leaf function. |
| * flow.c (HAVE_sibcall_epilogue): Provide default. |
| (find_basic_blocks_1): Sibling calls don't throw. |
| (make_edges): Make edge from sibling call to EXIT. |
| (propagate_block): Don't remove sibcall_epilogue insns. |
| * function.c (prologue, epilogue): Turn into varrays. Update all uses. |
| (sibcall_epilogue): New. |
| (fixup_var_refs): Scan CALL_PLACEHOLDER sub-sequences. |
| (identify_blocks_1): Likewise. Break out from ... |
| (identify_blocks): ... here. |
| (reorder_blocks_1): Scan CALL_PLACEHOLDER. Break out from ... |
| (reorder_blocks): ... here. |
| (init_function_for_compilation): Zap prologue/epilogue as varrays. |
| (record_insns): Extend a varray instead of mallocing new memory. |
| (contains): Read a varray not array of ints. |
| (sibcall_epilogue_contains): New. |
| (thread_prologue_and_epilogue_insns): Emit and record |
| sibcall_epilogue patterns. |
| (init_function_once): Allocate prologue/epilogue varrays. |
| * genflags.c (gen_insn): Treat sibcall patterns as calls. |
| * integrate.c (save_parm_insns): Recurse on CALL_PLACEHOLDER patterns. |
| Broken out from ... |
| (save_for_inline_nocopy): ... here. |
| (copy_insn_list): Recurse on CALL_PLACEHOLDER patterns. |
| Broken out from ... |
| (expand_inline_function): ... here. |
| (copy_rtx_and_substitute): Handle NOTE_INSN_DELETED_LABEL. |
| (subst_constants): Handle 'n' formats. |
| * jump.c (jump_optimize_minimal): New. |
| (jump_optimize_1): New arg `minimal'; update callers. Elide most |
| optimizations if it's set. |
| * rtl.c (copy_rtx): Do copy jump & call for insns. |
| * rtl.h (struct rtx_def): Document use of jump and call for insns. |
| (SIBLING_CALL_P): New. |
| (sibcall_use_t): New. |
| * toplev.c (rest_of_compilation): Do init_EXPR_INSN_LIST_cache earlier. |
| Invoke optimize_sibling_and_tail_recursive_calls. |
| * tree.c (lang_safe_for_unsave): New. |
| (safe_for_unsave): New. |
| * tree.h (lang_safe_for_unsave, safe_for_unsave): Declare. |
| |
| * alpha.h (FUNCTION_OK_FOR_SIBCALL): New. |
| * alpha.md (sibcall, sibcall_value, sibcall_epilogue): New. |
| (*sibcall_osf_1, *sibcall_value_osf_1): New. |
| |
| 2000-03-17 Mark Mitchell <mark@codesourcery.com> |
| |
| * objc/objc-act.c (encode_method_prototype): Pass types, not |
| PARM_DECLs, to int_size_in_bytes. |
| |
| Fri Mar 17 11:51:34 2000 Jim Wilson <wilson@cygnus.com> |
| |
| * config/ia64/ia64.md (mix4right_3op): Swap %1 and %2 in template. |
| |
| * config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h, |
| config/ia64/ia64.md, config/ia64/xm-ia64.h: Fix copyrights again. |
| |
| Fri Mar 17 08:09:14 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * Clean up usages of TREE_INT_CST_LOW. |
| * c-parse.in (RESTORE_WARN_FLAGS): Use tree_low_cst. |
| * c-parse.y, c-parse.c, objc/objc-parse.y, objc/objc-parse.c: |
| Regenerated. |
| * c-tree.h (min_precision): Move declaration to here. |
| * c-typeck.c (build_binary_op): Use host_integerp and tree_low_cst. |
| (build_unary_op, add_pending_init): Use bit_position. |
| (pending_init_member, process_init_element): Likewise. |
| (really_start_incremental_init, push_init_level, pop_init_level): |
| Don't make copies of nodes or modify them in place, use consistent |
| types when tracking positions, and use tree routines computations. |
| (set_init_index, output_init_element): Likewise. |
| (output_pending_init_elements, process_init_element): Likewise. |
| * dbxout.c (dbxout_type_fields): Use bit_position, host_integerp, |
| tree_low_cst and int_bit_position; also minor cleanup. |
| (dbxout_type_method_1, dbxout_range_type, dbxout_type): Likewise. |
| (print_cst_octal): Precision is unsigned. |
| (dbxout_symbol): Ensure DECL_INITIAL is in-range and use tree_low_cst. |
| * dwarf2out.c (ceiling): Input and output are unsigned HOST_WIDE_INT. |
| (simple_type_align_in_bits): Result is unsigned int. |
| Use tree_int_low_cst and host_integerp. |
| (simple_type_size_in_bits): Result is unsigned HOST_WIDE_INT. |
| (field_byte_offset): Result is HOST_WIDE_INT. |
| Change types of internal variables so alignments are unsigned int, |
| offsets are HOST_WIDE_INT and sizes are unsigned HOST_WIDE_INT. |
| Use host_integerp, tree_low_cst, and int_bit_position. |
| (add_bit_offset_attribute): Likewise. |
| (add_data_member_location_attribute): Use tree_cst_low. |
| (add_bound_info): Use host_integerp, integer_zerop, and integer_onep. |
| (add_bit_size_attribute): Use tree_low_cst. |
| (add_pure_or_virtual_attribute, gen_enumeration_type_die): Likewise. |
| * dwarfout.c: Similar changes to dwarf2out.c. |
| * expr.c (expand_expr, case ARRAY_REF): Remove redundant code. |
| * genoutput.c (n_occurrences): Return -1 for null string. |
| (strip_whitespace): Accept null string and make into function. |
| (scan_operands): Reflect above changes. |
| * sdbout.c (plain_type_1): Use host_integerp and tree_low_cst. |
| (sdbout_field_types, sdbout_one_type): Likewise; also use bit_position. |
| * ssa.c (rename_registers): Add missing cast of arg to bzero. |
| * tree.c (int_size_in_bytes): Check for too big to represent. |
| (bit_position, int_bit_position, host_integerp, tree_low_cst): New fns. |
| * tree.h (host_integerp, tree_low_cst, bit_position, int_bit_position): |
| New declarations. |
| (min_precision): Delete from here. |
| * varasm.c (decode_addr_const): Use host_integerp, bit_position, |
| and int_bit_position. |
| * objc/objc-act.c (encode_method_prototype): Sizes are HOST_WIDE_INT. |
| (encode_method_def): Likewise. |
| (build_ivar_list_initializer): Use int_bit_position. |
| (generate_shared_structures): Convert size. |
| (encode_type, encode_complete_bitfield): Use integer_zerop. |
| (encode_bitfield): Use tree_low_cst and int_bit_position. |
| |
| 2000-03-17 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x/c4x.h (CPP_SPEC): Fix typo. |
| |
| 2000-03-17 Martin v. Löwis <loewis@informatik.hu-berlin.de> |
| |
| * call.c (special_function_p): It is only malloc if it returns |
| Pmode. |
| |
| 2000-03-17 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x/c4x.h (ASM_SPEC, CPP_SPEC, LINK_SPEC): Support C33. |
| (C33_FLAG, TARGET_C3X): Add macros. |
| (TARGET_SWITCHES): Add -m33 option. |
| * config/c4x/c4x.c (c4x_override_options): Test for TARGET_C33. |
| |
| 2000-03-17 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x/c4x.h (PARALLEL_INSN_FLAG): Add. |
| (PARALLEL_PACK_FLAG): Delete. |
| (TARGET_SWITCHES): Update. |
| (TARGET_PARALLEL): Use PARALLEL_INSN_FLAG. |
| |
| Thu Mar 16 18:52:32 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * fold-const.c (fold): Fix a few cases when the returned result |
| is not of the same type as the input. |
| |
| 2000-03-16 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Fix compile time |
| warning. |
| |
| 2000-03-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * libgcc2.h: Move prototypes above macros with the same name. |
| Wrap some function prototypes in the conditional which indicates |
| whether they are supported, i.e. "BITS_PER_UNIT == 8". |
| |
| 2000-03-16 Richard Henderson <rth@cygnus.com> |
| |
| * calls.c: Revert last two changes. |
| |
| 2000-03-16 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * fp-bit.c (_unpack_d): If NO_DENORMALS is defined, anything that |
| has exponent 0 is a zero. |
| |
| * simplify-rtx.c (hash_rtx, case MEM/REG): Take into account that |
| HASH may already be nonzero. Add code/mode into hash value |
| immediately after repeat label. |
| (cselib_lookup): Don't leave the hash table in an inconsistent |
| state before a hash lookup operation. |
| |
| Thu Mar 16 17:03:10 MET 2000 Jan Hubicka <jh@suse.cz> |
| |
| * i386.md (all HI and QI mode non-move patterns): Conditionize |
| by TARGET_[HQ]IMODE_MATH. |
| * i386.h (x86_himode_math, x86_qimode_math, x86_promote_hi_regs, |
| x86_promote_qi_regs): Declare. |
| (TARGET_HIMODE_MATH, TARGET_QIMODE_MATH, TARGET_PROMOTE_HI_REGS, |
| TARGET_PROMOTE_QI_REGS): New macros. |
| (PROMOTE_MODE): New macro. |
| * i386.c (x86_himode_math, x86_qimode_math, x86_promote_hi_regs, |
| x86_promote_qi_regs): New global variables. |
| |
| Thu Mar 16 16:50:44 MET 2000 Jan Hubicka <jh@suse.cz> |
| |
| * calls.c (emit_library_call_value_1): Break out from ...; handle |
| VOIDmode function calls too. |
| (emit_library_call_value): ... here. |
| (emit_library_call): Implement by calling emit_library_call_value_1. |
| |
| Thu Mar 16 16:01:30 MET 2000 Jan Hubicka <jh@suse.cz> |
| |
| * calls.c (expand_call): Do sanity checking on arg_space_so_far. |
| Update arg_space_so_far on stack adjustments. |
| (emit_library_call, emit_library_call_value): Likewise; take into |
| account arg_space_so_far and pending_stack_adjust when calculcating |
| the boundary. |
| |
| Thu Mar 16 09:02:19 2000 Jason Eckhardt <jle@cygnus.com> |
| |
| * flow.c: Move all basic block reordering code into its own file. |
| (create_basic_block): Externalize. |
| * bb-reorder.c: New file. Copy all basic block reordering code from |
| flow.c to this file. |
| (reorder_basic_blocks): Fix fencepost error in for-loop. |
| (reorder_basic_blocks): Remove braces from single statement for-loops. |
| * basic-block.h: Add declaration for create_basic_block. |
| * Makefile.in: Add rules for bb-reorder.o. |
| |
| 2000-03-16 Neil Booth <NeilB@earthling.net> |
| |
| * cppinit.c (handle_option): Implement #unassert directive |
| as -A- command line option. |
| (print_help): Update. |
| * cpptexi.c: Update. |
| |
| Thu Mar 16 02:14:16 2000 Hans-Peter Nilsson <hp@bitrange.com> |
| |
| * md.texi (Standard Names): Document `jump'. |
| |
| 2000-03-15 Jason Merrill <jason@casey.cygnus.com> |
| |
| * calls.c (emit_call_1): Nothrow functions can still have nonlocal |
| gotos. |
| |
| 2000-03-15 Geoff Keating <geoffk@cygnus.com> |
| |
| Merge changes from newppc-branch onto trunk. |
| |
| 2000-03-15 Geoff Keating <geoffk@cygnus.com> |
| |
| * rs6000.c (toc_hash_table): Update for new hash table functions. |
| (toc_hash_function): Likewise. |
| (toc_hash_eq): Likewise. |
| (toc_hash_mark_entry): Likewise. |
| (toc_hash_mark_table): Likewise. |
| (output_toc): Likewise. |
| (rs6000_add_gc_roots): Likewise. |
| |
| 2000-03-15 Alexandre Oliva <oliva@lsd.ic.unicamp.br> |
| |
| * t-aix43 (AR_FOR_TARGET): Deleted. Moved `-X32_64'... |
| (AR_FLAGS_FOR_TARGET): here. New macro. |
| |
| 2000-03-05 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * config/rs6000/rs6000.c (rs6000_fpmem_offset, rs6000_fpmem_size, |
| fpmem_operand) Delete. |
| (xer_operand) New. |
| (rs6000_reg_names, alt_reg_names): Change fpmem to xer. |
| (machine_function): Remove fpmem_size, fpmem_offset, save_toc_p. |
| (rs6000_save_machine_status, rs6000_restore_machine_status, |
| rs6000_init_expanders, rs6000_stack_info, debug_stack_info): Remove |
| references to above variables. |
| (gpc_reg_operand): Use XER_REGNO_P instead of FPMEM_REGNO_P. |
| * config/rs6000/rs6000.h (REG_ALLOC_ORDER, REGISTER_NAMES, |
| DEBUG_REGISTER_NAMES): Chagne fpmem to xer. |
| (FPMEM_REGNO_P, FPMEM_REGNUM): Delete. |
| (XER_REGNO_P, XER_REGNO): New. |
| (rs6000_stack): Remove fpmem_p, fpmem_offset, fpmem_size. |
| (PREDICATE_CODES): Change fpmem_operand to xer_operand. |
| (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Change FPMEM_REGNO_P to |
| XER_REGNO_P. |
| (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS, |
| REG_CLASS_FROM_LETTER, CLASS_MAX_NREGS): Change FPMEM_REGS to XER_REGS, and remove FLOAT_OR_FPMEM_REGS. |
| (CLASS_CANNOT_CHANGE_SIZE): Change to FLOAT_REGS. |
| |
| 2000-02-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> |
| |
| * aix.h (FP_SAVE_INLINE, ASM_OUTPUT_INTERNAL_LABEL_PREFIX, |
| TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Move here... |
| * rs6000.h: from here. |
| |
| * rs6000-protos.h (rs6000_select_section): Provide prototype. |
| (rs6000_select_rtx_section): Likewise. |
| (rs6000_encode_section_info): Likewise. |
| (sdata_section): Likewise. |
| (sdata2_section): Likewise. |
| (sbss_section): Likewise. |
| * sysv4.h (rs6000_select_section): Delete prototype. |
| (rs6000_select_rtx_section): Likewise. |
| (rs6000_encode_section_info): Likewise. |
| (sdata_section): Likewise. |
| (sdata2_section): Likewise. |
| (sbss_section): Likewise. |
| (REG_SAVE_AREA): Delete definition duplicated in rs6000.h. |
| |
| * sysv4.h: Delete various unnecessary #undef's and put a comment |
| on the remaining ones. |
| Change various comments according to coding standard. |
| |
| 2000-02-29 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * config/rs6000/rs6000.h (MQ_REGNO, CR0_REGNO, CR1_REGNO, CR2_REGNO, |
| CR3_REGNO, CR4_REGNO, MAX_CR_REGNO): Define. |
| (CR0_REGNO_P) Remove. |
| * config/rs6000/rs6000.c (gpc_reg_operand, and64_operand, and_operand, |
| setup_incoming_varargs, mtcrf_operation, print_operand, |
| rs6000_stack_info, rs6000_emit_prologue, rs6000_emit_epilogue): |
| Use the above macros. |
| |
| 2000-02-24 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * config/rs6000/rs6000.md: Added a new alternative for each |
| pattern that had a 'x' alternative but no 'y' alternative. |
| Added a new split for each of the above patterns. |
| |
| 2000-02-18 Geoff Keating <geoffk@cygnus.com> |
| |
| * aix41.h (ASM_CPU_SPEC): Delete. |
| (CPP_CPU_SPEC): Delete. |
| |
| * aix.h (RS6000_OUTPUT_BASENAME): Define. |
| (ASM_OUTPUT_LABEL): Define. |
| (ASM_GLOBALIZE_LABEL): Define. |
| (STRIP_NAME_ENCODING): Define. |
| * rs6000.h (RS6000_OUTPUT_BASENAME): Don't define. |
| (STRIP_NAME_ENCODING): Don't define. |
| (ASM_OUTPUT_LABEL): Don't define. |
| (ASM_GLOBALIZE_LABEL): Don't define. |
| * sysv4.h (ASM_DECLARE_FUNCTION_NAME): Use assemble_name to output |
| names, and ASM_OUTPUT_LABEL to output labels, rather than |
| asm_fprintf. |
| (ASM_OUTPUT_LABEL): Define. |
| (ASM_OUTPUT_INT): Use assemble_name. |
| (ASM_OUTPUT_DWARF_ADDR): Use assemble_name. |
| (STRIP_NAME_ENCODING): Don't undefine first. |
| (RS6000_OUTPUT_BASENAME): Make equivalent to assemble_name for |
| ELF. |
| (ASM_OUTPUT_LABELREF): Don't prepend underscores to labels |
| specified with 'asm' even with -fleading-underscore. |
| * rs6000.c (print_operand): Use assemble_name when !TARGET_AIX. |
| (output_epilog): Likewise. |
| (output_toc): Likewise. |
| * tramp.asm: Handle -fleading-underscore correctly. |
| |
| * rs6000.md (builtin_setjmp_receiver): Also run for -fPIC and |
| -mminimal-toc. |
| (nonlocal_goto_receiver): Delete. |
| * rs6000.h (DONT_ACCESS_GBLS_AFTER_EPILOGUE): Delete. |
| |
| * rs6000.h (ASM_OUTPUT_DEF): Don't define. |
| (SET_ASM_OP): Define. |
| * sysv4.h (ASM_OUTPUT_DEF): Don't undefine. |
| |
| * rs6000.h (ASM_OUTPUT_ADDR_VEC_ELT): Don't define. |
| (ASM_LONG): Define. |
| |
| * rs6000.c (rs6000_dll_import_ref): Delete, not used. |
| * rs6000-protos.h (rs6000_dll_import_ref): Delete. |
| |
| * rs6000.h: Add 'u' to more constants. |
| |
| 2000-02-18 David Edelsohn <edelsohn@gnu.org> |
| |
| * rs6000.md (mfcr+shift): Delete PowerPC64 version. |
| |
| 2000-02-15 David Edelsohn <edelsohn@gnu.org> |
| |
| * rs6000.c (reg_or_u_cint_operand): New function. |
| (logical_operand): Handle 64-bit hosts. |
| (logical_u_operand): New function. |
| (non_logical_cint_operand): Handle 64-bit hosts. |
| (non_logical_u_cint_operand): New function. |
| * rs6000.h (DATA_SECTION_ASM_OP): Add tab. |
| (PREDICATE_CODES): Define new functions. |
| * rs6000-protos.h: Declare new functions. |
| * rs6000.md (iordi3, xordi3): Constant int must be unsigned 32-bits. |
| (movdi_64): Bracket code intended for 64-bit hosts. Create |
| CONST_DOUBLE for 32-bit values. |
| (scc insns): Generate DImode compares. |
| (mfcr insns): Create DImode versions. |
| (sge matchers): New patterns. |
| |
| 2000-02-15 Gabriel Paubert <paubert@iram.es> |
| |
| * rs6000.md: Correct instructions length attributes and |
| constraints on unsigned compare instructions. |
| (*ne0): Disable for PowerPC64. |
| |
| 2000-02-11 Geoff Keating <geoffk@cygnus.com> |
| |
| * rs6000.c (output_function_profiler): Use .long for a 32-bit |
| quantity, fix profile1.C test failure under -fPIC. |
| |
| * rs6000.c: Add 'u' to many constants to suppress warnings. |
| (constant_pool_expr_1): Make static. |
| (rs6000_emit_eh_toc_restore): Remove unused 'r2'. |
| * rs6000.h: Add 'u' to many constants to suppress warnings. |
| |
| * rs6000.c (rs6000_emit_load_toc_table): Use LCTOC..1 under AIX |
| for the start of the TOC, instead of LCTOC..0. |
| * aix.h (toc_section): Use LCTOC..1 under AIX for the start |
| of the TOC. |
| * rs6000.md (load_toc_aix_si): Use LCTOC..1. |
| (load_toc_aix_di): Use LCTOC..1. |
| |
| * rs6000.h (LEGITIMIZE_ADDRESS): Turn into a function. |
| * rs6000.c (rs6000_legitimize_address): New function from |
| LEGITIMIZE_ADDRESS. Only use create_TOC_reference on |
| symbols in the constant pool that really are TOC references. |
| (print_operand_address): For ELF, write TOC offsets under |
| -fPIC as subtractions in the insn. |
| (output_toc): For ELF, define symbols in TOC as normal labels, |
| to match RTL. |
| (create_TOC_reference): Use gen_rtx_PLUS rather than gen_rtx. |
| * rs6000-protos.h (rs6000_legitimize_address): Prototype. |
| (create_TOC_reference): Prototype only when RTX_CODE is defined. |
| * rs6000.md (movsi): Only use create_TOC_reference on |
| symbols in the constant pool that really are TOC references. |
| |
| * rs6000.h (MACHINE_DEPENDENT_REORG): Don't define. |
| * rs6000.c (rs6000_reorg): Delete. |
| * rs6000-protos.h (rs6000_reorg): Delete. |
| |
| 2000-02-09 Geoff Keating <geoffk@cygnus.com> |
| |
| * rs6000.h (INCOMING_RETURN_ADDR_RTX): New macro. |
| |
| * aix.h (SETUP_FRAME_ADDRESSES): Define. |
| * rs6000.c [TARGET_AIX] (insn_after_throw): New static variable. |
| [TARGET_AIX] (rs6000_aix_emit_builtin_unwind_init): New function. |
| [TARGET_AIX] (rs6000_emit_eh_toc_restore): New function. |
| * rs6000-protos.h: Prototype rs6000_emit_eh_toc_restore, |
| rs6000_aix_emit_builtin_unwind_init. |
| * rs6000.md (eh_epilogue) [TARGET_AIX]: Call |
| rs6000_emit_eh_toc_restore on AIX. |
| (return_eh_si): Use r2. |
| (return_eh_di): Use r2. |
| |
| * aix43.h: Turn on HAS_INIT_SECTION and LD_INIT_SWITCH, |
| since we're breaking binary compatibility anyway. |
| |
| 2000-02-09 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * config/rs6000/rs6000-protos.h: (get_TOC_alias_set, uses_TOC, |
| constant_pool_expr_p): Declare them. |
| (constant_pool_expr_p): Declare it. |
| * config/rs6000/rs6000.c (toc_label_name): Define. |
| (rs6000_override_options): Set toc_label_name. |
| (input_operand): Allow any TOC_RELATIVE_EXPR_P. |
| (get_TOC_alias_set, constant_pool_expr_p, constant_pool_expr_1, |
| uses_TOC): New functions. |
| (print_operand): Delete old '*' case. |
| (print_operand_address): Use LEGITIMATE_CONSTANT_POOL_ADDRESS_P, |
| and strip off rtl for TOC before calling output_addr_const. |
| (rs6000_emit_load_toc_table): Use toc_label_name. |
| * config/rs6000/rs6000.h (TARGET_SWITCHES): Make msched-prolog |
| the default. |
| (LEGITIMATE_CONSTANT_POOL_BASE_P): Delete. |
| (CONSTANT_POOL_EXPR_P, TOC_RELATIVE_EXPR_P): New macros. |
| (LEGITIMATE_CONSTANT_POOL_ADDRESS_P): Use CONSTANT_POOL_EXPR_P. |
| (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Turn symbol_refs |
| into explicit TOC_REGISTER offsets. |
| (TOC_REGISTER): New macro. |
| * config/rs6000/rs6000.md (movsi, movdi): Emit rtl under |
| TARGET_TOC to reference TOC_REGISTER. |
| (load_toc_v4_PIC_1b): Add 4 to offset for toc reload. |
| * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Call |
| uses_TOC before emitting label references. |
| |
| 2000-02-05 Geoff Keating <geoffk@cygnus.com> |
| |
| * rs6000.md (stack_tie): Fix warning. |
| |
| * eabi-ctors.c: Use 'asm' names for the start/end variables, |
| to handle -fleading-underscore. |
| * sysv4.h (ASM_DECLARE_FUNCTION_NAME): Use asm_fprintf and %U. |
| (USER_LABEL_PREFIX): New macro. |
| (ASM_OUTPUT_INTERNAL_LABEL_PREFIX): Use asm_fprintf and %L. |
| (ASM_OUTPUT_LABELREF): Use asm_fprintf and %U. |
| * t-ppccomm (MULTILIB_MATCHES_SYSV): Note that call-sysv and |
| call-linux can use the same multilibs. |
| * t-ppcgas (MULTILIB_OPTIONS): Don't need to have separate call-sysv |
| and call-linux multilibs. Do multilib with -fleading-underscore. |
| (MULTILIB_DIRNAMES): Follow MULTILIB_OPTIONS change. |
| (MULTILIB_EXCEPTIONS): Remove call-linux exceptions. Add restrictions |
| to call-aix. |
| |
| * sysv4.h (CPP_SYSV_SPEC): Define _SOFT_FLOAT for all those CPUs that |
| have MASK_SOFT_FLOAT set. |
| (CPP_FLOAT_DEFAULT_SPEC): New macro. |
| (SUBTARGET_EXTRA_SPECS): Set `cpp_float_default' to the value of |
| CPP_FLOAT_DEFAULT_SPEC. |
| |
| * rs6000.c (ccr_bit): Add some consistency checks and a variable 'reg'. |
| * rs6000.md: Whitespace change. |
| * sysv4.h (LINK_TARGET_SPEC): Whitespace change. |
| * sysv4le.h (LINK_TARGET_SPEC): Whitespace change. |
| |
| 2000-02-05 Geoff Keating <geoffk@cygnus.com> |
| |
| * rs6000.md (eh_epilogue): New expander. |
| (eh_reg_restore): New expand/split/insn combination. |
| (return_eh_si): New insn. |
| (return_eh_di): New insn. |
| |
| * eabi-ci.asm: Put a label at the start of the .eh_frame section. |
| * eabi-cn.asm: Put a zero at the end of the .eh_frame section. |
| * eabi-ctors.c (__do_global_ctors): Register this object's |
| frame. Clean up. Call atexit() after the constructors. |
| (__do_global_dtors): Deregister this object's frame. Clean up. |
| Allow for recursive calls to exit(). |
| * rs6000.c (fixuplabelno): New variable. |
| * sysv4.h (ASM_OUTPUT_INT): Don't do .fixup if not |
| TARGET_RELOCATABLE, it slows down exec() under linux. |
| (ASM_OUTPUT_DWARF_ADDR): Do .fixup if TARGET_RELOCATABLE. |
| |
| * aix.h (ASM_OUTPUT_DWARF_ADDR_VAR): New macro. |
| (ASM_OUTPUT_DWARF_DELTA_VAR): New macro. |
| (ASM_OUTPUT_DWARF_DELTA2): New macro. |
| (ASM_OUTPUT_DWARF_DELTA4): New macro. |
| (ASM_OUTPUT_DWARF_ADDR_DELTA): New macro. |
| (ASM_OUTPUT_DWARF_ADDR): New macro. |
| (ASM_OUTPUT_DWARF_DATA4): New macro. |
| (ASM_OUTPUT_DWARF_DATA2): New macro. |
| (ASM_OUTPUT_DWARF_OFFSET4): New macro. |
| (ASM_OUTPUT_DWARF_OFFSET): New macro. |
| (UNALIGNED_INT_ASM_OP): New macro, fake definition. |
| |
| 2000-02-03 Geoff Keating <geoffk@cygnus.com> |
| |
| * rs6000.c (rs6000_sr_alias_set): New variable. |
| (rs6000_override_options): Initialize rs6000_sr_alias_set. |
| (rs6000_emit_stack_tie): New function. |
| (rs6000_emit_allocate_stack): Specify RTX_FRAME_RELATED_P |
| in a way that dwarf2out can understand. |
| (rs6000_frame_related): New function. |
| (rs6000_emit_prologue): Use rs6000_sr_alias_set. Specify |
| RTX_FRAME_RELATED_P in a way that dwarf2out can understand. |
| Use rs6000_emit_stack_tie when needed. |
| (rs6000_emit_epilogue): Use rs6000_sr_alias_set. Don't set |
| RTX_FRAME_RELATED_P. Use rs6000_emit_stack_tie when needed. |
| * rs6000.md (stack_tie): New insn. |
| (return_internal_si): Allow return value to be in the count |
| register. |
| (return_internal_di): Likewise. |
| |
| * rs6000.c (output_mi_thunk): Remove unused variable `sp'. |
| |
| 2000-02-03 Geoff Keating <geoffk@cygnus.com> |
| |
| * sysv4.h (LOCAL_LABEL_PREFIX): Define, for the use of dbxelf.h. |
| |
| 2000-01-31 Geoff Keating <geoffk@cygnus.com> |
| |
| * rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): New macro. |
| |
| * rs6000.md (stmw): Use the right POWER opcode. |
| (lmw): Likewise. |
| |
| 2000-01-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * rs6000-protos.h: New file. |
| |
| * rs6000.c: Include tm_p.h. Fix compile time warnings. |
| |
| * rs6000.h: Move prototypes to rs6000-protos.h. Fix compile time |
| warnings. |
| |
| * sysv4.h: Likewise. |
| |
| 2000-01-28 Geoff Keating <geoffk@cygnus.com> |
| |
| * ../../configure.in: Delete powerpcle-*-winnt* |
| and powerpcle-*-pe|powerpcle-*-cygwin*. |
| * ../../configure: Regenerated. |
| * cygwin.h: Delete. |
| * rs6000.h (OBJECT_WINDOWS_NT): Delete. |
| (TARGET_WINDOWS_NT): Delete. |
| (ABI_NT): Delete. |
| (CALL_NT_DLLIMPORT): Delete. |
| Delete NT-specific code. |
| * rs6000.md, rs6000.c, sysv4.h: Delete NT-specific code. |
| * win-nt.h: Delete. |
| * t-winnt: Delete. |
| * nt-ci.asm: Delete. |
| * nt-cn.asm: Delete. |
| * ntstack.asm: Delete. |
| |
| 2000-01-27 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> |
| |
| * rs6000.h (SELECT_RTX_SECTION): Move to aix.h. |
| (ASM_FILE_START): Likewise. |
| (ASM_DECLARE_FUNCTION_NAME): Likewise. |
| (ASM_OUTPUT_LABELREF): Likewise. |
| (ASM_OUTPUT_SKIP): Likewise. |
| (ASM_OUTPUT_INTERNAL_LABEL): Likewise. |
| (ASM_GENERATE_INTERNAL_LABEL): Likewise. |
| (ASM_OUTPUT_CASE_LABEL): Likewise. |
| (ASM_OUTPUT_ALIGNED_COMMON): Likewise. |
| (ASM_OUTPUT_ASCII): Likewise. |
| |
| 2000-01-27 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * rs6000.c (rs6000_emit_load_toc_table): Use "LCG" and |
| reload_toc_labelno for non-prologue TOC reloads. Also, don't |
| increment rs6000_pic_labelno here. |
| (rs6000_emit_prologue): Pass TRUE to rs6000_emit_load_toc_table, |
| and increment rs6000_pic_labelno here. |
| |
| 2000-01-24 Geoffrey Keating <geoffk@cygnus.com> |
| |
| * rs6000.md (fctiwz): Use (set (reg) (unspec:DI [(fix:SI ...)])) |
| rather than (set (subreg:SI (reg)) (fix:SI ...)) so that register |
| allocation knows (reg) is dead before the insn. |
| |
| 2000-01-21 Geoff Keating <geoffk@cygnus.com> |
| |
| * rs6000.md (movsi_to_cr): Correct typo in output template. |
| |
| 2000-01-19 Geoffrey Keating <geoffk@cygnus.com> |
| |
| * rs6000.c (rs6000_pic_labelno): Always define. |
| (rs6000_pic_func_labelno): Delete. |
| (lmw_operation): Check for a zero base register, |
| which doesn't mean what we want. |
| (stmw_operation): New function. |
| (print_operand): Define new 'l' modifier. |
| (rs6000_stack_info): We must save all 64 bits of the registers |
| if TARGET_POWERPC64. |
| (rs6000_output_load_toc_table): Delete. |
| (rs6000_emit_load_toc_table): New function. |
| (rs6000_allocate_stack_space): Delete. |
| (rs6000_emit_allocate_stack): New function. |
| (rs6000_emit_prologue): New function. |
| (output_prolog): Use rs6000_emit_prologue. |
| (rs6000_emit_epilogue): Change a few variable names to be |
| more accurate. Restore all 64 bits of the registers if |
| TARGET_POWERPC64. Only restore the FP registers which were used |
| if they are being saved/restored one-at-a-time. |
| (output_mi_thunk): Delete inefficient code generation. |
| (output_function_profiler): Don't use rs6000_output_load_toc_table. |
| * rs6000.h: Declare rs6000_emit_load_toc_table, |
| rs6000_allocate_stack_space, stmw_operation. Don't declare |
| rs6000_output_load_toc_table. |
| * rs6000.md (elf_high): Allow register 0, but discourage it |
| heavily. |
| (elf_low): Support loading into register 0. |
| (load_toc_aix_si): New pattern. |
| (load_toc_aix_di): New pattern. |
| (load_toc_v4_pic_si): New pattern. |
| (load_toc_v4_pic_di): New pattern. |
| (load_toc_v4_PIC_1): New pattern. |
| (load_toc_v4_PIC_1b): New pattern. |
| (load_toc_v4_PIC_2): New pattern. |
| (builtin_setjmp_receiver): Use rs6000_emit_load_toc_table. |
| (nonlocal_goto_receiver): Use rs6000_emit_load_toc_table. |
| (prologue): New expander. |
| (movesi_from_cr): New pattern. |
| (stmw): New pattern. |
| (save_fpregs_si): New pattern. |
| (save_fpregs_di): New pattern. |
| |
| 2000-01-19 Geoff Keating <geoffk@cygnus.com> |
| |
| * rs6000.md (movsi): Don't use force_reg when no_new_pseudos. |
| (movdi): Likewise. |
| (movhi): Likewise. |
| (movqi): Likewise. |
| |
| 2000-01-19 Geoff Keating <geoffk@cygnus.com> |
| |
| * rs6000.md (movsi_got): 'unspec 8' returns a SImode result, |
| at present. |
| (movsi_got_internal): Likewise. |
| (movsi_got_internal+1): Likewise. |
| (set_sp): 'unspec 7' does a SImode clobber. |
| |
| 2000-01-19 Geoff Keating <geoffk@cygnus.com> |
| |
| * rs6000.md (floatsidf2): Don't use the fpmem "register", just |
| allocate a stack temporary. |
| (floatsidf2_internal): Likewise. |
| (floatsidf2_internal+1): Likewise. Don't do bizzare hacks |
| with unspec. |
| (floatunssidf2): Don't use the fpmem "register", just |
| allocate a stack temporary. |
| (floatunssidf2_internal): Likewise. |
| (floatunssidf2_internal+1): Likewise. Don't do bizzare hacks |
| with unspec. |
| (floatsidf2_loadaddr): Delete. |
| (floatsidf2_store1): Delete. |
| (floatsidf2_store2): Delete. |
| (floatsidf2_load): Delete. |
| (fix_truncdfsi2): Don't use the fpmem "register", just |
| allocate a stack temporary. |
| (fix_truncdfsi2_internal_si): Delete. |
| (fix_truncdfsi2_internal_di): Delete. |
| (fix_truncdfsi2_internal): New insn. |
| (fix_truncdfsi2_internal+1): Don't use the fpmem "register". |
| (fix_truncdfsi2_store): Delete. |
| (fix_truncdfsi2_load): Delete. |
| (fctiwz): Produce gen_fctiwz. |
| |
| 2000-01-19 Geoffrey Keating <geoffk@cygnus.com> |
| |
| * eabi.h (INVOKE__main): Define. |
| * rs6000.c (rs6000_stack_info): Don't handle call to NAME__MAIN |
| specially. |
| (rs6000_emit_prologue): Likewise. |
| * rs6000.h (struct rs6000_stack): Don't keep track of whether |
| this is the main program. |
| |
| 2000-01-19 Geoff Keating <geoffk@cygnus.com> |
| |
| * rs6000.c (rs6000_va_arg): Delete some unused variables. |
| |
| 2000-01-19 Geoff Keating <geoffk@cygnus.com> |
| |
| * rs6000.c (rs6000_va_arg): On AIX, padding for small arguments |
| goes after the argument. |
| |
| 2000-01-12 Geoff Keating <geoffk@cygnus.com> |
| |
| * rs6000.md: Document 'unspec' values used. |
| (epilogue): New expander. |
| (movesi_to_cr_one): New expander. |
| (movesi_to_cr and following): New pattern. |
| (lmw): New pattern. |
| (return_internal_si): New pattern. |
| (return_internal_di): New pattern. |
| (return_and_restore_fpregs_si): New pattern. |
| (return_and_restore_fpregs_di): New pattern. |
| * rs6000.h: Declare new functions. |
| * rs6000.c (rs6000_stack_info): Use current_function_is_leaf |
| rather than rs6000_calls_p. |
| (rs6000_makes_calls): Delete. |
| (lmw_operation): New function. |
| (mtcrf_operation): New function. |
| (rs6000_emit_epilogue): New function. |
| (output_epilog): Call rs6000_emit_epilogue and final if |
| !TARGET_SCHED_PROLOG, instead of writing text unconditionally. |
| |
| 2000-01-12 Geoff Keating <geoffk@cygnus.com> |
| |
| * aix43.h (SUBSUBTARGET_SWITCHES): Document switches. |
| * aix41.h (SUBSUBTARGET_SWITCHES): Document switches. |
| * aix.h (SUBTARGET_SWITCHES): Document switches. |
| * rs6000.h: (TARGET_SWITCHES): Don't print options twice. Make |
| sched-prolog and sched-epilog the same. Document all the |
| switches. |
| (TARGET_OPTIONS): No longer allow -mdebug-. |
| |
| 2000-01-12 Geoff Keating <geoffk@cygnus.com> |
| |
| * rs6000.h (ASM_FILE_END): Move to aix.h. |
| (EXTRA_SECTIONS): Move to aix.h. |
| (READONLY_DATA_SECTION): Move to aix.h. |
| (EXTRA_SECTION_FUNCTIONS): Move to aix.h. |
| (SELECT_SECTION): Move to aix.h. |
| (JUMP_TABLES_IN_TEXT_SECTION): Move to aix.h. |
| (INT_REGNO_P): Use symbolic name for ARG_POINTER_REGNUM. |
| (LINK_REGISTER_REGNUM): New definition. |
| (RETURN_ADDR_RTX): Use symbolic name for LINK_REGISTER_REGNUM. |
| (SLOW_UNALIGNED_ACCESS): Define in a way suitable for both |
| AIX and SVR4. |
| * sysv4.h: Delete the code between the inclusion of rs6000.h |
| and svr4.h. |
| (DWARF_DEBUGGING_INFO): Don't define, it's defined in elfos.h. |
| (FP_ARG_MAX_REG): Move generic definition to rs6000.h. |
| (RS6000_REG_SAVE): Move generic definition to rs6000.h. |
| (RS6000_SAVE_AREA): Move generic definition to rs6000.h. |
| * rs6000.md (floatsidf2_loadaddr): The first arg here is Pmode. |
| (fix_truncdfsi2_internal): Rename to fix_truncdfsi2_internal_si. |
| (fix_truncdfsi2_internal_di): New pattern. |
| (fix_truncdfsi2_store): The second arg here is Pmode too. |
| (fix_truncdfsi2_load): The second arg here is Pmode too. |
| (tablejumpdi): Now that switch tables hold only SImode values, |
| gcc needs to know how to add them to the pc which is DImode. |
| * rs6000.c (rs6000_stack_info): Use symbolic name for |
| LINK_REGISTER_REGNUM. |
| (output_mi_thunk) [!TARGET_ELF]: Don't define sp, it's not used. |
| (output_toc): Delete unused variables s1 and s2. |
| (output_ascii): Use fputs not fprintf on a variable string. |
| |
| 2000-01-07 David Edelsohn <edelsohn@gnu.org> |
| |
| * rs6000.c (processor_target_table): Add power3 as alias for 630. |
| * aix43.h: Revert Aug 2 change. |
| (HAS_INIT_SECTION): Define, not visible yet. |
| (LD_INIT_SWITCH): Define, not visible yet. |
| * t-aix43 (MULTILIB_OPTIONS): Revert Aug 2 change. |
| |
| 2000-01-04 Joel Sherrill (joel@OARcorp.com> |
| |
| * config/rs6000/rtems.h: Include config/rtems.h. |
| |
| 2000-01-04 David Edelsohn <edelsohn@gnu.org> |
| |
| * rs6000.h (HANDLE_PRAGMA_PACK): Define. |
| (SLOW_UNALIGNED_ACCESS): Define. |
| (CASE_VECTOR_MODE): Always use 32-bit offsets. |
| (ASM_FILE_END): Generate 64-bit symbol in 64-bit mode. |
| (EXTRA_SECTOIN_FUNCTIONS): Indent .csect pseudo-op. |
| (toc_section): Likewise and .toc pseudo-op. |
| (ASM_DECLARE_FUNCTION): Likewise. Align text more strictly in |
| 64-bit mode. |
| (TEXT_SECTION_ASM_OP): Likewise. |
| (ASM_OUTPUT_ADD_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Always use |
| 32-bit offsets. |
| |
| 1999-12-17 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/rs6000/rs6000.h (TARGET_POWERPC64): Make sure |
| UNITS_PER_WORD and BITS_PER_WORD are compile time constants when |
| compiling libgcc2. |
| |
| 2000-01-06 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> |
| |
| * rs6000.h: Move more stuff from here... |
| * aix.h: to here. |
| * sysv4.h: Cleanup accordingly. |
| * netware.h: Likewise |
| |
| 2000-01-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> |
| |
| * rs6000.h: Continue cleanup. |
| * aix.h: Likewise. |
| * lynx.h: Likewise. |
| * netware.h: Likewise. |
| * sol2.h: Likewise. |
| * sysv4.h: Likewise. |
| * win-nt.h: Likewise. |
| |
| * rs6000.h (TARGET_SWITCHES): Add descriptions. |
| (TARGET_OPTIONS): Likewise. |
| |
| * sysv4.h (SUBTARGET_SWITCHES): Add descriptions. |
| (SUBTARGET_OPTIONS): Likewise. |
| |
| * rs6000.md: Fix compile time warnings. |
| |
| 2000-01-04 Geoff Keating <geoffk@cygnus.com> |
| |
| vxworks patches from the Cygnus tree originally by |
| Michael Meissner <meissner@cygnus.com> and Vladimir Makarov |
| <vmakarov@cygnus.com>. |
| * sysv4.h (SUBTARGET_SWITCHES): Add vxworks. |
| (ENDFILE_SPEC): Likewise. |
| (LIB_VXWORKS_SPEC): New macro. |
| (STARTFILE_VXWORKS_SPEC): New macro. |
| (ENDFILE_VXWORKS_SPEC): New macro. |
| (LINK_START_VXWORKS_SPEC): New macro. |
| (LINK_OS_VXWORKS_SPEC): New macro. |
| (CPP_OS_VXWORKS_SPEC): New macro. |
| (SUBTARGET_EXTRA_SPECS): Add all the vxworks specs. |
| * vxppc.h: Rewrite to use proper configuration method. |
| * vxppcle.h: New file. |
| * ../../configure.in: Add powerpcle-wrs-vxworks*. |
| * ../../configure: Rebuilt. |
| |
| 2000-01-04 Geoff Keating <geoffk@cygnus.com> |
| |
| Lots of changes to rs6000.h, sysv4.h, aix.h, |
| aix31.h, aix3newas.h, aix41.h, aix43.h, beos.h, |
| with the aim that rs6000.h is the first header |
| included and the others override it. |
| * aix.h: New file. |
| |
| * x-aix41-gld: Remove. |
| * x-aix43: Remove. |
| * x-aix41: Remove target-specific switches, and don't specify |
| -Wl,-bbigtoc as we don't need it any more. |
| * ../../configure.in: Use x-aix41 for ppc AIX 4.1 and above. |
| Use t-aix43 for AIX 4.3 and above. |
| * ../../configure: Regenerated. |
| |
| * rs6000.h (TARGET_SWITCHES): Add some initial prolog-scheduling |
| options, that don't do anything yet. |
| (MASK_SCHED_PROLOG): New macro. |
| (MASK_SCHED_EPILOG): New macro. |
| (TARGET_SCHED_PROLOG): New macro. |
| (TARGET_SCHED_EPILOG): New macro. |
| |
| 2000-01-04 Geoff Keating <geoffk@cygnus.com> |
| |
| * rs6000.c: Correct comment, the `minimal' TOCs are actually |
| one per translation unit, not one per function. |
| (output_toc): Also do duplicate constant elimination |
| for per-translation-unit TOCs. |
| |
| * rs6000.md (nonlocal_goto_receiver): Put it back as before. Add |
| a comment explaining _exactly_ when this pattern gets used. |
| (builtin_setjmp_receiver): New pattern for better clarity. |
| (init_v4_pic): Move it into a section dealing with TOC registers. |
| |
| 1999-12-30 Geoff Keating <geoffk@cygnus.com> |
| |
| * rs6000.c (toc_hash_table): New variable. |
| (rs6000_hash_constant): New function. |
| (toc_hash_function): New function. |
| (toc_hash_eq): New function. |
| (toc_hash_mark_entry): New function. |
| (toc_hash_mark_table): New function. |
| (output_toc): Don't output duplicate TOC entries in |
| a single file. |
| (rs6000_add_gc_roots): Add the hash table as a GC root. |
| * t-aix43: Move AR_FOR_TARGET and CLIB here from x-aix43, |
| where they clearly shouldn't be. This may need to be fixed |
| later when there is a GNU ar for AIX. |
| * x-aix43: Don't define CLIB or AR_FOR_TARGET. |
| Don't define BOOT_LDFLAGS as it is now not necessary. |
| |
| 1999-12-29 Geoff Keating <geoffk@cygnus.com> |
| |
| * rs6000.c (rs6000_build_va_list): Use 'char *' rather than 'void *' |
| for va_list on AIX. Use unsigned_char_type_node rather than |
| constructing our own version on svr4. |
| |
| 1999-12-17 Geoff Keating <geoffk@cygnus.com> |
| |
| * tramp.asm (__trampoline_size): Delete CYGNUS LOCAL comment, |
| since patently it's not. |
| |
| 1999-12-08 Geoff Keating <geoffk@cygnus.com> |
| |
| * config/rs6000/rs6000.md (nonlocal_goto_receiver): Turn into |
| define_expand/define_insn pair, and handle restore of the |
| SVR4 -fpic register. |
| |
| Wed Mar 15 15:43:38 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * acconfig.h (HAVE_GAS_WEAK): New define. |
| * configure.in (assembler weak support): Check for .weak support. |
| * config.in, configure: Rebuilt. |
| * pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Only define if |
| HAVE_GAS_WEAK is defined. |
| |
| 2000-03-15 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/arm.c (arm_output_epilogue): Do not pass %c to |
| asm_fprintf(). |
| |
| 2000-03-15 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppfiles.c (open_include_file): New function. |
| (find_include_file, cpp_read_file): Use it. |
| |
| 2000-03-15 Jason Merrill <jason@casey.cygnus.com> |
| |
| * cpphash.c (dump_hash_helper): Take the slot, not the element. |
| |
| Wed Mar 15 14:28:54 2000 Jason Eckhardt <jle@cygnus.com> |
| |
| * flow.c (verify_flow_info): Check for unconditional return. |
| |
| Wed Mar 15 11:34:27 2000 Jim Wilson <wilson@cygnus.com> |
| |
| * config/ia64/ia64.md (restore_stack_nonlocal): New. |
| * config/ia64/lib1funcs.asm (__ia64_nonlocal_goto): Delete padding nop. |
| (__ia64_restore_stack_nonlocal): New. |
| * config/ia64/t-ia64 (LIB1ASMFUNCS): Add __restore_stack_nonlocal. |
| |
| 2000-03-15 Alexandre Oliva <oliva@lsd.ic.unicamp.br> |
| |
| * cpphash.c (collect_formal_parameters): Do not complain about |
| parameter names that just start with `__VA_ARGS__'. |
| |
| Wed Mar 15 13:26:58 MET 2000 Jan Hubicka <jh@suse.cz> |
| |
| * i386.md (movhi_1): Promote movw imm, reg to movl imm, reg and |
| movw reg, reg to movzwl reg, reg on PARTIAL_REGISTER_STALL machines. |
| * i386.c (pentiumpro_cost): Set mul cost to 4. |
| (x86_use_movx): Set for PPro. |
| |
| Wed Mar 15 13:07:05 MET 2000 Jan Hubicka <jh@suse.cz> |
| |
| * i386.md (ix86_compute_frame_size): stack_alignment_needed is |
| STACK_BOUNDARY for empty frames now. |
| |
| 2000-03-14 Mark Mitchell <mark@codesourcery.com> |
| |
| * stor-layout.c (layout_union): Remove. |
| (layout_union_field): New function, split out from layout_union. |
| (finish_union_layout): Likewise. |
| (layout_field): Handle unions by calling layout_union_field. |
| (finish_record_layout): Handle unions. |
| (layout_type): Combine RECORD_TYPE, UNION_TYPE, and |
| QUAL_UNION_TYPE handling. |
| |
| Wed Feb 23 13:00:06 CET 2000 Jan Hubicka <jh@suse.cz> |
| |
| * flow.c (fixup_reorder_chain): Avoid double labels in the basic block; |
| end of basic block is jump_insn, not barrier; use create_basic_block |
| instead of creating basic block by hand. |
| |
| 2000-03-14 Jason Eckhardt <jle@cygnus.com> |
| |
| * flow.c (reorder_basic_blocks): Account for barriers when writing |
| over NEXT_INSN (last_bb->end). |
| (verify_flow_info): Add check for missing barriers. |
| |
| 2000-03-14 Greg McGary <gkm@gnu.org> |
| |
| * c-lex.h (enum rid): Add RID_BOUNDED & RID_UNBOUNDED. |
| * c-lex.c (init_lex): Handle RID_BOUNDED & RID_UNBOUNDED. |
| * c-parse.gperf (__bounded, __bounded__, __ptrbase, __ptrbase__, |
| __ptrextent, __ptrextent__, __ptrvalue, __ptrvalue__, |
| __unbounded, __unbounded__): New keywords. |
| * c-parse.in (PTR_VALUE PTR_BASE PTR_EXTENT): New tokens. |
| * c-parse.y, c-parse.c, c-parse.h: Regenerate. |
| * objc/objc-parse.y, objc/objc-parse.c: Regenerate. |
| |
| 2000-03-14 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * cselib.h: New file. |
| * alias.c: Include "cselib.h". |
| (fixed_scalar_and_varying_struct_p): Accept the addresses of the |
| MEMs as two new arguments. |
| (get_addr): New static function. |
| (find_base_term): Handle VALUEs. |
| (memrefs_conflict_p): Likewise. |
| (true_dependence): Call get_addr on the addresses. |
| Call fixed_scalar_and_varying_struct_p with addresses that have been |
| passed through get_addr and canon_rtx. |
| (write_dependence_p): Move DIFFERENT_ALIAS_SETS_P test for consistency |
| with true_dependence. |
| Call get_addr on the addresses; don't call canon_rtx on the MEMs. |
| * loop.c: Include "cselib.h". |
| (load_mems): Process extended basic block that enters the loop with |
| cselib. Use that information to change initialization of the shadow |
| register so that a constant equivalence is seen by later passes. |
| * reload1.c: Include "cselib.h". |
| (reload_cse_invalidate_regno): Delete function. |
| (reload_cse_mem_conflict_p): Likewise. |
| (reload_cse_invalidate_mem): Likewise. |
| (reload_cse_invalidate_rtx): Likewise. |
| (reload_cse_regno_equal_p): Likewise. |
| (reload_cse_check_clobber): Likewise. |
| (reload_cse_record_set): Likewise. |
| (reg_values): Delete static variable. |
| (invalidate_regno_rtx): Likewise. |
| (reload_cse_delete_noop_set): New static function. |
| (reload_cse_simplify): New static function, broken out of |
| reload_cse_regs_1. |
| (reload_cse_noop_set_p): Delete unused argument INSN. |
| Just call rtx_equal_for_cselib_p on set source and destination. |
| (reload_cse_regs_1): Break out some code into reload_cse_simplify and |
| reload_cse_delete_noop_set. Delete code to keep track of values; use |
| cselib functions instead. Delete code to push/pop obstacks. |
| (reload_cse_simplify_set): Use cselib to find equivalent values. |
| Delete code to push/pop obstacks. |
| (reload_cse_simplify_operands): Likewise. |
| * rtl.def (VALUE): New rtx code. |
| * rtl.h (union rtunion_def): New elt rt_cselib. |
| (X0CSELIB, CSELIB_VAL_PTR): New macros. |
| * simplify_rtx.c: Include "ggc.h", "obstack.h", "cselib.h". |
| (new_elt_list, new_elt_loc_list, unchain_one_value, clear_table, |
| unchain_one_elt_list, unchain_one_elt_loc_list, check_useless_values, |
| discard_useless_locs, discard_useless_values, entry_and_rtx_equal_p, |
| hash_rtx, new_cselib_val, add_mem_for_addr, get_value_hash, |
| cselib_lookup_mem, cselib_subst_to_values, cselib_invalidate_regno, |
| cselib_mem_conflict_p, cselib_invalidate_mem, cselib_invalidate_rtx, |
| cselib_record_set, cselib_record_sets): New static functions. |
| (cselib_lookup, cselib_update_varray_sizes, cselib_init, |
| cselib_finish, cselib_process_insn, rtx_equal_for_cselib_p, |
| references_value_p): New functions. |
| (MAX_USELESS_VALUES, REG_VALUES): New macros. |
| (table, cselib_current_insn, next_unknown_value, cselib_nregs, |
| n_useless_values, reg_values, callmem, cselib_obstack, |
| cselib_startobj, empty_vals, empty_elt_lists, empty_elt_loc_lists): |
| New static variables. |
| * varray.h (union varray_data_tag): New elt te. |
| (VARRAY_ELT_LIST_INIT, VARRAY_ELT_LIST): New macros. |
| * Makefile.in (reload1.o, loop.o, simplify-rtx.o, alias.o): Update |
| dependencies. |
| |
| 2000-03-14 Nick Clifton <nickc@cygnus.com> |
| |
| * gcc.c (do_spec_1): Catch the case where %* is used in a |
| substitution pattern, but it has not been initialized. |
| Issue a meaningful error message if an unrecognized operator |
| is encountered in a spec string. |
| |
| 2000-03-14 Richard Earnshaw <rearnsha@arm.com> |
| |
| * function.c (prepare_function_start): Correctly initialize |
| cfun->stack_alignment_needed. |
| |
| 2000-03-14 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppfiles.c (find_include_file): Don't assume nshort is a |
| substring of name. |
| |
| Tue Mar 14 08:42:21 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * configure.in (hppa configurations): Add pa32-regs.h to the |
| list of tm files as appropriate. |
| * configure: Rebuilt. |
| * pa.c (compute_frame_size): Remove explicit knowledge about FP |
| register numbering. |
| (hppa_expand_prologue, hppa_expand_epilogue): Likewise. |
| (fmpyaddoperands, fmpysuboperands): Likewise. |
| * pa.h: Remove various definitions which depend on knowing |
| how registers are numbered. |
| * pa32-regs.h: New file with PA32 register numbering specific |
| definitions. |
| |
| 2000-03-14 Richard Henderson <rth@cygnus.com> |
| |
| * regmove.c (combine_stack_adjustments): New. |
| (stack_memref_p, single_set_for_csa): New. |
| (free_csa_memlist, record_one_stack_memref): New. |
| (try_apply_stack_adjustment): New. |
| (combine_stack_adjustments_for_block): New. |
| * rtl.h (combine_stack_adjustments): Declare. |
| * toplev.c (rest_of_compilation): Call it. |
| |
| * i386.md: Revert 2000-01-16 change. |
| |
| 2000-03-14 Martin v. Löwis <loewis@informatik.hu-berlin.de> |
| |
| * gccbug.in: Add web category, gcc specific classes. |
| |
| 2000-03-14 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * stor-layout.c (finalize_record_size): Fix typo. |
| |
| 2000-03-14 Stan Shebs <shebs@apple.com> |
| |
| * c-typeck.c (c_alignof): Error on incomplete types. |
| * extend.texi (Alignment): Document this. |
| |
| 2000-03-13 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppfiles.c: Include mkdeps.h. |
| (find_include_file, read_include_file): Remove _cpp_ prefix |
| from name, make static. |
| (_cpp_execute_include): New function, broken out of |
| do_include. |
| |
| * cpplib.c: Don't include mkdeps.h. |
| (struct directive): Remove type field. Reorder entries. The |
| function takes only one argument. |
| (struct if_stack): Make type field an int. |
| (directive_table): Rename to dtable. Generate it, the |
| prototypes of the directive handlers, and the enum for the |
| directive numbers, from a template macro. |
| (do_ifndef, do_include_next, do_import): New functions. |
| (do_define, do_include, do_endif, do_ifdef, do_if, do_else, |
| do_undef, do_line, do_elif, do_error, do_pragma, do_warning, |
| do_ident, do_assert, do_unassert, do_sccs): Take only one |
| argument. |
| (do_sccs): Define always, but alter behavior based on |
| SCCS_DIRECTIVE. |
| (_cpp_handle_directive, consider_directive_while_skipping): |
| Restructure for new directive table layout. |
| |
| (pass_thru_directive): Take a directive number, not a pointer |
| to a struct directive. |
| (parse_include): New function, broken out of do_include. |
| (do_include, do_import, do_include_next): Use parse_include |
| and _cpp_execute_include. |
| (do_elif, do_else): Test for T_ELSE specifically when checking |
| for #elif/#else after #else. |
| (parse_ifdef): New function, broken out of do_ifdef. |
| (validate_else): Expect a name arg without a leading #. |
| (if_directive_name): Delete. |
| (cpp_define, cpp_assert, cpp_undef, cpp_unassert): Call |
| directive handlers with only one argument. |
| |
| * cpphash.h: Update prototypes. |
| (enum node_type): Remove entries for directives. |
| * Makefile.in: Update dependencies. |
| |
| * cpphash.c (dump_hash_helper): Only dump nodes of type |
| T_MACRO. Emit a newline after each definition. |
| |
| 2000-03-14 Martin v. Löwis <loewis@informatik.hu-berlin.de> |
| |
| * gccbug.in: New file. |
| * configure.in (all_outputs): Add gccbug. |
| * Makefile.in (install-common): Install gccbug. |
| (GCCBUG_INSTALL_NAME): New variable. |
| * configure: Rebuilt. |
| |
| 2000-03-13 Jason Merrill <jason@casey.cygnus.com> |
| |
| * function.c (put_var_into_stack): Use type_for_mode to calculate |
| part_type. Use MEM_SET_IN_STRUCT_P. |
| * expr.c (store_field): Handle CONCAT. |
| (store_constructor): Use fields_length. |
| * tree.c (fields_length): New fn. |
| * tree.h: Declare it. |
| |
| 2000-03-13 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * Makefile.in (LIBCPP_OBJS): Add cpplex.o. |
| (cpplex.o): New target. |
| * po/POTFILES.in: Add cpplex.c. |
| |
| * cpplex.c (_cpp_grow_token_buffer, null_cleanup, |
| cpp_push_buffer, cpp_pop_buffer, cpp_scan_buffer, |
| cpp_expand_to_buffer, cpp_buf_line_and_col, cpp_file_buffer, |
| skip_block_comment, skip_line_comment, skip_comment, |
| copy_comment, _cpp_skip_hspace, _cpp_skip_rest_of_line, |
| _cpp_parse_name, skip_string, parse_string, |
| _cpp_parse_assertion, cpp_get_token, cpp_get_non_space_token, |
| _cpp_get_directive_token, find_position, |
| _cpp_read_and_prescan, _cpp_init_input_buffer): Move here. |
| (maybe_macroexpand, _cpp_lex_token): New functions. |
| |
| * cpplib.c (SKIP_WHITE_SPACE, eval_if_expr, parse_set_mark, |
| parse_goto_mark): Delete. |
| (_cpp_handle_eof): New function. |
| (_cpp_handle_directive): Rename from handle_directive. |
| (_cpp_output_line_command): Rename from output_line_command. |
| (do_if, do_elif): Call _cpp_parse_expr directly. |
| * cppfiles.c (_cpp_read_include_file): Don't call |
| init_input_buffer here. |
| * cpphash.c (quote_string): Move here, rename _cpp_quote_string. |
| * cppexp.c (_cpp_parse_expr): Diddle parsing_if_directive |
| here; pop the token_buffer and skip the rest of the line here. |
| * cppinit.c (cpp_start_read): Call _cpp_init_input_buffer |
| here. |
| |
| * cpphash.h (CPP_RESERVE, CPP_IS_MACRO_BUFFER, ACTIVE_MARK_P): |
| Define here. |
| (CPP_SET_BUF_MARK, CPP_GOTO_BUF_MARK, CPP_SET_MARK, |
| CPP_GOTO_MARK): New macros. |
| (_cpp_quote_string, _cpp_parse_name, _cpp_skip_rest_of_line, |
| _cpp_skip_hspace, _cpp_parse_assertion, _cpp_lex_token, |
| _cpp_read_and_prescan, _cpp_init_input_buffer, |
| _cpp_grow_token_buffer, _cpp_get_directive_token, |
| _cpp_handle_directive, _cpp_handle_eof, |
| _cpp_output_line_command): Prototype them here. |
| * cpplib.h (enum cpp_token): Add CPP_MACRO. |
| (CPP_RESERVE, get_directive_token, cpp_grow_buffer, |
| quote_string, output_line_command): Remove. |
| |
| 2000-03-13 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * stmt.c (expand_end_case): RANGE may be signed, and when checking |
| whether it is too large we must also verify that it isn't negative. |
| |
| 2000-03-13 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/sparc.md: Remove all traces of TARGET_LIVE_G0. |
| (movsi_zero_liveg0): Remove. |
| (movsf_insn_novis_liveg0): Remove. |
| (negsi2): Remove. |
| (negsi2_not_liveg0): Rename to negsi2. |
| (one_cmplsi2): Remove. |
| (one_cmplsi2_not_liveg0): Rename to one_cmplsi2. |
| (one_cmplsi2_liveg0): Remove. |
| * config/sparc/sparc.h (TARGET_LIVE_G0, TARGET_BROKEN_SAVERESTORE, |
| MASK_LIVE_G0, MASK_BROKEN_SAVERESTORE): Remove. |
| (CONDITIONAL_REGISTER_USAGE): Remove TARGET_LIVE_G0 if. |
| (PREDICATE_CODES): Remove zero_operand. |
| * config/sparc/sparc.c: Remove all traces of TARGET_LIVE_G0 and |
| TARGET_BROKEN_SAVERESTORE. |
| (zero_operand): Remove. |
| * config/sparc/splet.h (SUBTARGET_SWITCHES): Remove -mlive-g0, |
| -mno-live-g0, -mbroken-saverestore and -mno-broken-saverestore |
| options. |
| (SUBTARGET_OVERRIDE_OPTIONS): Remove. |
| * config/sparc/linux-aout.h (TARGET_LIVE_G0, |
| TARGET_BROKEN_SAVERESTORE): Remove. |
| * config/sparc/linux.h (TARGET_LIVE_G0, TARGET_BROKEN_SAVERESTORE): |
| Remove. |
| * config/sparc/linux64.h (TARGET_LIVE_G0, TARGET_BROKEN_SAVERESTORE): |
| Remove. |
| * config/sparc/sol2.h (TARGET_LIVE_G0, TARGET_BROKEN_SAVERESTORE): |
| Remove. |
| |
| * config/sparc/sparc.md (return_df_no_fpu): New pattern. |
| |
| 2000-03-13 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplib.c (do_pragma_implementation): Fix off-by-one error |
| truncating a string. Don't assume tokens are nul terminated. |
| Problem noted by Andreas Jaeger <aj@suse.de> |
| |
| 2000-03-13 Jason Merrill <jason@casey.cygnus.com> |
| |
| * dwarf2out.c (add_name_and_src_coords_attributes): Only add |
| DW_AT_MIPS_linkage_name for TREE_PUBLIC decls. |
| (ASM_OUTPUT_DWARF_ADDR_CONST): Don't output trailing newline. |
| |
| 2000-03-13 Richard Earnshaw <rearnsha@arm.com> |
| |
| * stor-layout.c (new_record_layout_info): Fix typo inside ifdef |
| STRUCTURE_SIZE_BOUNDARY. |
| |
| 2000-03-13 Mark Mitchell <mark@codesourcery.com> |
| |
| * tree.h (record_layout_info_s): New structure. |
| (record_layout_info): New type. |
| (new_record_layout_info): New function. |
| (layout_field): Likewise. |
| (finish_record_layout): Likewise. |
| * stor-layout.c (layout_record): Remove. |
| (new_record_layout_info): New function. |
| (layout_field): New function, broken out from layout_record. |
| (finalize_record_size): Likewise. |
| (compute_record_mode): Likewise. |
| (finalize_type_size): New function, broken out from layout_type. |
| (finish_record_layout): Likewise. |
| (layout_type): Use them. |
| |
| 2000-03-12 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpphash.c: Don't include version.h. |
| (special_symbol) [case T_VERSION]: Look for the string in |
| hp->value.cpval; don't use version_string. |
| * cppinit.c (initialize_builtins): Set hp->value.cpval for |
| __VERSION__ to version_string. |
| * Makefile.in (cpphash.o): Update deps. |
| |
| 2000-03-12 Zack Weinberg <zack@wolery.cumb.org> |
| |
| Convert cpplib to use libiberty/hashtab.c. |
| |
| * cpplib.h (struct cpp_reader): Make hashtab and |
| all_include_files of type 'struct htab *'. Delete HASHSIZE |
| and ALL_INCLUDE_HASHSIZE macros. |
| |
| * cpphash.h: Update prototypes. |
| (struct hashnode): Remove next, prev, and bucket_hdr members. |
| Make length a size_t. Add hash member. |
| (struct ihash): Remove next member. Add hash member. Make |
| name a flexible array member. |
| |
| * cppfiles.c: Include hashtab.h. |
| (include_hash): Delete. |
| (IHASHSIZE): New macro. |
| (hash_IHASH, eq_IHASH, _cpp_init_include_hash): New functions. |
| (cpp_included): Do the hash lookup here. |
| (_cpp_find_include_file): Rewrite. |
| (cpp_read_file): Put the "fake" hash entry into the hash |
| table. Honor the control_macro, if it turns out we've seen |
| the file before. Don't push the buffer here. |
| (_cpp_read_include_file): Push the buffer here. |
| (OMODES): New macro. Use it whenever we call open(2). |
| |
| * cpphash.c: Include hashtab.h. |
| (hash_HASHNODE, eq_HASHNODE, del_HASHNODE, dump_hash_helper, |
| _cpp_init_macro_hash, _cpp_dump_macro_hash, _cpp_make_hashnode, |
| _cpp_lookup_slot): New functions. |
| (HASHSIZE): new macro. |
| (hashf, _cpp_install, _cpp_delete_macro): Delete. |
| (_cpp_lookup): Use hashtab.h routines. |
| |
| * cppinit.c: Include hashtab.h. |
| (cpp_reader_init): Call _cpp_init_macro_hash and |
| _cpp_init_include_hash. Don't allocate hashtab directly. |
| (cpp_cleanup): Just call htab_delete on pfile->hashtab and |
| pfile->all_include_files. |
| (initialize_builtins): Use _cpp_make_hashnode and |
| htab_find_slot to add hash entries. |
| (cpp_finish): Just call _cpp_dump_macro_hash. |
| * cpplib.c: Include hashtab.h. |
| (do_define): Use _cpp_lookup_slot and _cpp_make_hashnode to |
| create hash entries. |
| (do_pragma_poison, do_assert): Likewise. |
| (do_include): Don't push the buffer here. Don't increment |
| system_include_depth unless _cpp_read_include_file succeeds. |
| (do_undef, do_unassert): Use _cpp_lookup_slot and htab_clear_slot |
| or htab_remove_elt. |
| (do_pragma_implementation): Use alloca to create copy. |
| |
| * Makefile.in: Update dependencies. |
| |
| 2000-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * cppinit.c (cl_directive_handler): More K&R fixing. |
| |
| Sat Mar 11 23:54:26 2000 Jim Wilson <wilson@cygnus.com> |
| |
| * config/ia64/ia64.c (ia64_compute_frame_size): Align size to |
| STACK_BOUNDARY. |
| * config/ia64/ia64.h (REGISTER_MOVE_COST): Add missing parentheses. |
| |
| 2000-03-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * cppinit.c (no_arg, no_ass, no_dir, no_fil, no_mac, no_pth): |
| Change from char[] to macros. |
| |
| 2000-03-12 Neil Booth <NeilB@earthling.net> |
| |
| * cppinit.c (cpp_start_read): Update indirect function |
| call to K&R C. |
| |
| Sat Mar 11 16:18:12 2000 Jim Wilson <wilson@cygnus.com> |
| |
| * config/ia64/ia64.h (ADDITIONAL_REGISTER_NAMES): Fix typo in loc79 |
| entry. |
| |
| * config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h, |
| config/ia64/ia64.md, config/ia64/xm-ia64.h: Fix copyright messages. |
| |
| 2000-03-11 Neil Booth <NeilB@earthling.net> |
| |
| * cppinit.c (struct pending option): Replace undef with a |
| pointer to a directive handling routine. |
| (struct cpp_pending): Replace separate assert_ and define_ |
| lists with one directive_ list. |
| (new_pending_define): Rename new_pending_directive. Extra |
| argument is the directive's handling routine. |
| (handle_option): Update to use new_pending_directive. |
| |
| 2000-03-11 Neil Booth <NeilB@earthling.net> |
| |
| * cppfiles.c (file_cleanup, _cpp_find_include_file, |
| remap_filename, _cpp_read_include_file, actual_directory, |
| hack_vms_include_specification): Replace bcopy(), index() etc |
| calls. Add casts to some allocations. Make some variables |
| pointers to const [unsigned] char. |
| * cpphash.c (_cpp_install, macro_cleanup, collect_expansion, |
| collect_formal_parameters): Similarly. |
| * cppinit.c (struct pending_option, append_include_chain, |
| cpp_options_init, cpp_reader_init, initialize_standard_includes, |
| cpp_start_read, new_pending_define, handle_option): Similarly. |
| * cpplib.c (cpp_define, copy_comment, do_define, do_include, |
| do_undef, do_error, do_warning, do_pragma, do_pragma_once, |
| do_pragma_implementation, detect_if_not_defined, |
| do_ifdef, skip_if_group, cpp_get_token, parse_string, |
| do_assert, do_unassert): Similarly. |
| * cpplib.h (cpp_buffer, cpp_options): Update types. Update |
| function prototypes. |
| * mkdeps.c (deps_add_target, deps_add_dep): cast allocations. |
| |
| 2000-03-10 Richard Henderson <rth@cygnus.com> |
| |
| * builtins.c (expand_builtin_strlen): Revert last change. |
| Use emit_insn_before if we're at the beginning of a sequence. |
| |
| 2000-03-10 Jason Merrill <jason@casey.cygnus.com> |
| |
| * builtins.c (expand_builtin_strlen): Make sure that we have something |
| at the beginning of the sequence. |
| |
| * toplev.c (rest_of_compilation): Also set TREE_NOTHROW for |
| deferred inlines. |
| |
| * invoke.texi (C++ Dialect Options): Document -fno-enforce-eh-specs. |
| |
| 2000-03-10 Richard Henderson <rth@cygnus.com> |
| |
| * except.c (can_throw): Use INTVAL on a CONST_INT. |
| (reachable_handlers): Likewise. |
| * flow.c (count_basic_blocks, find_basic_blocks_1): Likewise. |
| |
| 2000-03-10 Andreas Jaeger <aj@suse.de> |
| |
| * config/mips/linux.h: Undefine MD_EXEC_PREFIX and |
| MD_STARTFILE_PREFIX since those are not needed on linux. |
| (ASM_FILE_START): New, from mips/gnu.h. |
| |
| 2000-03-09 Richard Henderson <rth@cygnus.com> |
| Alex Samuel <samuel@codesourcery.com> and others |
| |
| * Makefile.in (ssa.o): New rule. |
| (OBJS): Add ssa.o. |
| (STAGESTUFF): Add *.ssa and *.ussa. |
| (mostlyclean): Delete *.ssa, *.ussa, */*.ssa, */*.ussa. |
| * rtl.def (PHI): New RTL expression. |
| * rtl.h (clear_log_links): New declaration. |
| (convert_to_ssa): Likewise. |
| (convert_from_ssa): Likewise. |
| * flow.c (split_edge): If the entry node falls through to the |
| split edge's source block, split the entry edge. |
| (clear_log_links): New function. |
| * toplev.c (ssa_dump): New variable. |
| (flag_ssa): Likewise. |
| (f_options): Add "ssa". |
| (compile_file): Create SSA dump files. |
| (rest_of_compilation): Go to and from SSA if enabled. |
| (decide_d_option): Handle -de for SSA dump files. |
| * ssa.c: New file. |
| |
| Thu Mar 9 20:01:38 2000 Jim Wilson <wilson@cygnus.com> |
| |
| * expr.c (expand_assignment): For a CALL_EXPR, special case PARM_DECL |
| same as VAR_DECL. |
| |
| 2000-03-09 Benjamin Kosnik <bkoz@cygnus.com> |
| |
| * config/alpha/linux.h (WCHAR_TYPE): Make consistent. |
| |
| Thu Mar 9 18:10:02 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * config/pa/pa-hpux10.h (LIB_SPEC): Correct typo in !p case. |
| (MD_STARTFILE_PREFIX_1): New macro. |
| |
| 2000-03-09 Robert Lipe <robertl@sco.com> |
| |
| * config/ia64/ia64.c: Include system.h. |
| |
| 2000-03-09 Jason Merrill <jason@casey.cygnus.com> |
| |
| * except.c (nothrow_function_p): If -fno-exceptions, just return. |
| (init_eh_nesting_info): Likewise. |
| |
| * tree.h (struct tree_common): Rename raises_flag to nothrow_flag. |
| (TREE_NOTHROW): Rename from TREE_RAISES. |
| * toplev.c (rest_of_compilation): Set it. |
| * print-tree.c (print_node): Adjust. |
| * tree.c (stabilize_reference, build, build1): Don't set TREE_RAISES. |
| (stabilize_reference_1, get_unwidened, get_narrower): Likewise. |
| * calls.c (emit_call_1): Add 'nothrow' parm. Add |
| REG_EH_REGION note as appropriate. |
| (libfunc_nothrow): New fn. |
| (emit_library_call, emit_library_call_value): Use it. |
| (expand_call): Check TREE_NOTHROW. |
| |
| * varasm.c (make_decl_rtl): Skip initial '*' when setting |
| DECL_ASSEMBLER_NAME. |
| |
| 2000-03-09 Andreas Jaeger <aj@suse.de> |
| |
| * mips/linux.h (NO_IMPLICIT_EXTERN_C): Define. |
| (TARGET_MEM_FUNCTIONS): Define. |
| |
| 2000-03-09 Jason Merrill <jason@casey.cygnus.com> |
| |
| * i386.c (ix86_valid_type_attribute_p): Use compare_tree_int. |
| |
| * except.c (can_throw): See through a SEQUENCE. |
| (nothrow_function_p): New fn. |
| * except.h: Declare it. |
| * function.c (current_function_nothrow): New var. |
| (prepare_function_start): Initialize it. |
| * output.h: Declare it. |
| * toplev.c (rest_of_compilation): Set it. |
| * dwarf2out.c (dwarf2out_begin_prologue): Use it. |
| |
| 2000-03-09 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpphash.c (collect_formal_parameters): strncmp returns 0 for |
| match. (cpp_compare_defs): Count the nul separator when |
| advancing over argument names. |
| |
| 2000-03-09 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * recog.c (preprocess_constraints): Matching constraints affect |
| same alternative/different operand, not same operand/different |
| alternative. |
| |
| * reload1.c (eliminate_regs_in_insn): Handle additions of eliminable |
| register and a constant specially. |
| |
| 2000-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * libgcc2.h: New file. |
| * libgcc2.c: Move macros, typedefs and prototypes to libgcc2.h. |
| |
| Wed Mar 8 16:19:42 2000 Jim Wilson <wilson@cygnus.com> |
| |
| * configure.in (ia64*-*-elf*, ia64*-*-linux*): New. |
| * configure: Regenerate. |
| * config/ia64: New. |
| |
| 2000-03-08 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * Makefile.in (LIBCPP_DEPS): New macro. |
| (cpplib.o, cpphash.o, cpperror.o, cppexp.o, cppfiles.o): Use |
| it to declare deps. |
| * cpperror.c: Include cpphash.h. |
| * cppexp.c: Include cpphash.h. Remove MULTIBYTE_CHARS |
| dingleberry. |
| (lex): Don't use CPP_WARN_UNDEF. |
| (_cpp_parse_expr): Return an int, the truth value. |
| * cppfiles.c: Include cpphash.h. |
| (_cpp_merge_include_chains): Move to cppinit.c and make static. |
| * cppinit.c (include_defaults_array): Disentangle. |
| (cpp_cleanup): Don't free the if stack here. |
| (cpp_finish): Pop off all buffers, not just one. |
| * cpplib.c (eval_if_expr): Return int. |
| (do_xifdef): Rename do_ifdef. |
| (handle_directive): Don't use CPP_PREPROCESSED. |
| (cpp_get_token): Don't use CPP_C89. |
| * fix-header.c: Don't use CPP_OPTIONS. |
| |
| * cpplib.h: Move U_CHAR, enum node_type, struct |
| file_name_list, struct ihash, is_idchar, is_idstart, |
| is_numchar, is_numstart, is_hspace, is_space, CPP_BUF_PEEK, |
| CPP_BUF_GET, CPP_FORWARD, CPP_PUTS, CPP_PUTS_Q, CPP_PUTC, |
| CPP_PUTC_Q, CPP_NUL_TERMINATE, CPP_NUL_TERMINATE_Q, |
| CPP_BUMP_BUFFER_LINE, CPP_BUMP_LINE, CPP_PREV_BUFFER, |
| CPP_PRINT_DEPS, CPP_TRADITIONAL, CPP_PEDANTIC, and prototypes |
| of _cpp_simplify_pathname, _cpp_find_include_file, |
| _cpp_read_include_file, and _cpp_parse_expr to cpphash.h. |
| Move struct if_stack to cpplib.c. Move struct cpp_pending to |
| cppinit.c. |
| Change all uses of U_CHAR to be unsigned char instead. |
| Delete CPP_WARN_UNDEF, CPP_C89, and CPP_PREPROCESSED. |
| |
| 2000-03-08 Jason Merrill <jason@casey.cygnus.com> |
| |
| * dwarf2out.c (dw_fde_struct): Add 'nothrow'. |
| (dwarf2out_begin_prologue): Set it. |
| (output_call_frame_info): Don't emit EH unwind info for leaves. |
| |
| * flow.c (count_basic_blocks, find_basic_blocks_1): A rethrow |
| can occur outside of an EH region. |
| * except.c: Correct comments about rethrow behavior. |
| (rethrow_symbol_map): Do nothing if !flag_new_exceptions. |
| |
| 2000-03-08 Andrew MacLeod <amacleod@cygnus.com> |
| |
| * flow.c (make_edges): Always call make_eh_edge for calls. |
| |
| 2000-03-08 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplib.h (parse_underflow_t, CPP_NULL_BUFFER): Delete. |
| (struct cpp_buffer): Remove fname and underflow fields. |
| (struct cpp_reader): Remove get_token field. |
| (struct include_hash): Rename to struct ihash. Add typedef to |
| IHASH. |
| (struct if_stack): Remove fname field. |
| (IF_STACK_FRAME): Rename to IF_STACK. |
| |
| * cpperror.c (print_containing_files): Trust that there are no |
| macro buffers below the top file buffer. |
| * cppfiles.c: Replace all references to 'struct include_hash' |
| with 'IHASH'. Rename initialize_input_buffer to |
| init_input_buffer. Don't set or reference cpp_buffer->fname, |
| use buffer->ihash->name instead. |
| * cpphash.c (special_symbol): Use cpp_file_buffer. Use NULL |
| not CPP_NULL_BUFFER. |
| * cppinit.c: Use NULL not CPP_NULL_BUFFER, IF_STACK not |
| IF_STACK_FRAME, IHASH not struct include_hash. |
| * cpplib.c: Rename eval_if_expression to eval_if_expr. Remove |
| null_underflow. Use IF_STACK not IF_STACK_FRAME, IHASH not |
| struct include_hash, NULL not CPP_NULL_BUFFER. Remove all |
| references to cpp_buffer->fname (delete entirely, or use |
| ->ihash->name instead) and IF_STACK->fname. |
| (cpp_push_buffer): Don't set new->underflow. |
| (do_include): Use cpp_file_buffer. |
| |
| * cpphash.c (collect_formal_parameters): Remove duplicate |
| increment of argslen. Pedwarn in C99 mode if __VA_ARGS__ is |
| used as a macro argument name. Don't append "..." to namebuf |
| for varargs macros. After we're done scanning, go through |
| namebuf and make it NUL separated, not comma separated. |
| (_cpp_compare_defs): Remove register tag from variables. |
| Expect defn->argnames to be NUL separated. |
| (_cpp_dump_definition): Expect defn->argnames to be NUL |
| separated and in forward order. |
| * cpphash.h: Update documentation of argnames field. |
| |
| 2000-03-08 Richard Henderson <rth@cygnus.com> |
| |
| * builtins.c (expand_builtin_strlen): Be prepared for strlensi |
| to fail. Don't pre-expand the source operand. |
| |
| * i386.md (strlensi): Initialize eoschar and align before use. |
| |
| 2000-03-08 Jason Merrill <jason@casey.cygnus.com> |
| |
| * expr.c (expand_expr, case ARRAY_REF): Still check for missing |
| CONSTRUCTOR element. |
| |
| 2000-03-08 Gavin Romig-Koch <gavin@cetus.cygnus.com> |
| |
| * mips.c (mips_expand_prologue): If the last |
| named argument is the vararg marker "va_list", treat it as |
| an unnamed argument. |
| |
| 2000-03-08 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * dbxout.c (dbxout_parms): When correcting for promoted |
| big-endian parameters, use the mode of the DECL_RTL rather |
| than UNITS_PER_WORD. |
| |
| 2000-03-08 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * c-common.h (make_fname_decl): Declare. |
| * c-common.c (make_fname_decl): Define. |
| (declare_hidden_char_array): Remove. |
| (declare_function_name): Use make_fname_decl. |
| * c-decl.c (c_make_fname_decl): New function. |
| (init_decl_processing): Set make_fname_decl. |
| |
| Tue Mar 7 23:50:31 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * cccp.c (handle_directive): Initialize backslash_newlines_p. |
| |
| 2000-03-07 Philipp Thomas <pthomas@suse.de> |
| |
| * po/POTFILES.in: Remove cppalloc.c from file list. |
| |
| 2000-03-07 Steve Chamberlain <sac@pobox.com> |
| |
| * pj.c (pj_expand_prologue): current_function->args_info is |
| now current_function_args_info. |
| |
| * pj.h (STORE_FLAG_VALUE, USER_LABEL_PREFIX, |
| LOCAL_LABEL_PREFIX, ASM_GENERATE_INTERNAL_LABEL, |
| ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Define. |
| |
| 2000-03-08 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x/c4x.h (PUT_SDB_TYPE): Define so that the type info is |
| output as hexadecimal rather than the default octal. |
| |
| 2000-03-07 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpphash.c (special_symbol): Fix thinko in previous commit. |
| |
| 2000-03-07 Neil Booth <NeilB@earthling.net> |
| |
| * cppexp.c (struct operation, left_shift, right_shift, |
| cpp_parse_expr): Change some "char"s to "U_CHAR"s, and some |
| "int"s to "unsigned int"s. |
| * cpplib.c (detect_if_not_defined, do_assert, do_unassert): |
| Similarly. |
| * cpplib.h: Update for above. |
| * mkdeps.c (deps_init, deps_calc_target): Cast pointers |
| returned from allocations. |
| |
| * cppinit.c (opt_comp, parse_options): New functions. |
| (handle_option): Use parse_option to parse a single command |
| line option, that possibly takes an argument. |
| (cpp_handle_options): Sort the array of command line options on |
| first invocation (non-ASCII hosts only). |
| (print_help): Update. |
| |
| 2000-03-07 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * mkdeps.c (munge): Fix off-by-one bug and inconsistencies in |
| backslash counting loops. Problem noted by Matt Kraai <kraai@ghs.com>. |
| |
| * cppfiles.c (_cpp_find_include_file): Make sure ih->name is |
| initialized. |
| * cppinit.c (cpp_cleanup): Free imp->nshort also. |
| |
| * cpperror.c (cpp_print_containing_files, |
| cpp_print_file_and_line, v_cpp_message): Rename to |
| print_containing_files, print_file_and_line, and v_message. |
| * cppexp.c (cpp_parse_expr, cpp_parse_escape, cpp_lex): Rename |
| to _cpp_parse_expr, parse_escape, and lex. |
| (parse_charconst): Remove broken multibyte support. |
| * cppfiles.c (include_hash): Make static. |
| (cpp_included): New function. |
| (merge_include_chains, find_include_file, finclude, |
| simplify_pathname): Rename to _cpp_merge_include_chains, |
| _cpp_find_include_file, _cpp_read_include_file, and |
| _cpp_simplify_pathname. |
| * cpphash.c (cpp_lookup, free_definition, delete_macro, |
| cpp_install, create_definition, macroexpand, compare_defs, |
| dump_definition): Rename to _cpp_lookup, _cpp_free_definition, |
| _cpp_delete_macro, _cpp_install, _cpp_create_definition, |
| _cpp_macroexpand, _cpp_compare_defs, and _cpp_dump_definition. |
| * cppinit.c (cpp_handle_option): Rename to handle_option, make |
| static. |
| * cpplib.c: Remove extern prototype of cpp_parse_expr. |
| |
| * cpphash.h: Update prototypes. |
| * cpplib.h: Likewise. Prototype _cpp_parse_expr here. |
| |
| 2000-03-07 Andrew Haley <aph@cygnus.com> |
| |
| * config/mips/mips.h (PTRDIFF_TYPE): Revert broken change; |
| PTRDIFF_TYPE should be based solely on Pmode. |
| (SIZE_TYPE): ditto. |
| |
| 2000-03-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * rtl.h (rtunion_def): Constify member `rtstr'. |
| (emit_line_note_after, emit_line_note, emit_line_note_force, |
| emit_note, decode_asm_operands): Constify. |
| |
| * cse.c (canon_hash): Likewise. |
| |
| * dbxout.c (dbxout_block): Likewise. |
| |
| * diagnostic.c (file_and_line_for_asm, v_error_for_asm, |
| v_warning_for_asm): Likewise. |
| |
| * dwarfout.c (function_start_label): Likewise. |
| |
| * emit-rtl.c (emit_line_note_after, emit_line_note, emit_note, |
| emit_line_note_force): Likewise. |
| |
| * final.c (last_filename, asm_insn_count, final_scan_insn, |
| output_source_line): Likewise. |
| |
| * function.h (struct emit_status): Likewise. |
| |
| * gcse.c (hash_expr_1): Likewise. |
| |
| * genattr.c (gen_attr, main): Likewise. |
| |
| * genattrtab.c (struct function_unit, current_alternative_string, |
| write_attr_valueq, n_comma_elts, next_comma_elt, attr_eq, |
| attr_numeral, check_attr_test, check_attr_value, |
| convert_set_attr_alternative, convert_set_attr, |
| compute_alternative_mask, simplify_by_exploding, gen_attr, |
| gen_unit): Likewise. |
| |
| * genflags.c (gen_insn): Likewise. |
| |
| * gengenrtl.c (type_from_format): Likewise. |
| |
| * genopinit.c (gen_insn): Likewise. |
| |
| * genoutput.c (n_occurrences, process_template, process_template): |
| Likewise. |
| |
| * ggc-page.c (ggc_set_mark, ggc_mark_if_gcable, ggc_get_size): |
| Likewise. |
| |
| * ggc-simple.c (ggc_set_mark, ggc_mark_if_gcable, ggc_get_size): |
| Likewise. |
| |
| * ggc.h (ggc_mark_string, ggc_mark, ggc_mark_if_gcable, |
| ggc_set_mark, ggc_get_size): Likewise. |
| |
| * objc/objc-act.c (build_module_descriptor, finish_objc): Likewise. |
| |
| * optabs.c (init_one_libfunc): Likewise. |
| |
| * output.h (assemble_start_function): Likewise. |
| |
| * recog.c (decode_asm_operands): Likewise. |
| |
| * toplev.c (rest_of_compilation): Likewise. |
| |
| * tree.h (emit_line_note_after, emit_line_note, |
| emit_line_note_force): Likewise. |
| |
| * varasm.c (asm_output_bss, asm_output_aligned_bss, |
| asm_emit_uninitialised, assemble_start_function, |
| assemble_variable, const_hash, compare_constant_1, |
| find_pool_constant, mark_constant_pool, assemble_alias): Likewise. |
| |
| * xcoffout.h (DBX_FINISH_SYMBOL): Likewise. |
| |
| * alpha/alpha.md (call_vms, call_value_vms): Likewise. |
| |
| * arm/aof.h (ASM_OUTPUT_ASCII): Likewise. |
| |
| * arm/aout.h (ASM_OUTPUT_ASCII): Likewise. |
| |
| * arm/arm-protos.h (output_ascii_pseudo_op, arm_dllexport_name_p, |
| arm_dllimport_name_p): Likewise. |
| |
| * arm/arm.c (arm_encode_call_attribute, output_ascii_pseudo_op): |
| Likewise. |
| |
| * arm/arm.h (ASM_OUTPUT_MI_THUNK): Likewise. |
| |
| * arm/elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise. |
| |
| * arm/pe.c (arm_dllexport_name_p, arm_dllimport_name_p, |
| arm_mark_dllexport, arm_mark_dllimport, |
| arm_pe_encode_section_info): Likewise. |
| |
| * arm/telf.h (ASM_OUTPUT_DEF_FROM_DECLS, |
| ASM_FINISH_DECLARE_OBJECT): Likewise. |
| |
| * arm/thumb.c (thumb_function_prologue): Likewise. |
| |
| * arm/thumb.h (ASM_OUTPUT_ASCII): Likewise. |
| |
| * avr/avr.h (ASM_FINISH_DECLARE_OBJECT): Likewise. |
| |
| * clipper/clix.h (ASM_OUTPUT_ASCII): Likewise. |
| |
| * fx80/fx80.h (ASM_OUTPUT_ASCII): Likewise. |
| |
| * i386/cygwin.h (ASM_OUTPUT_SECTION_NAME): Likewise. |
| |
| * i386/freebsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise. |
| |
| * i386/i386-interix.h (ASM_OUTPUT_LIMITED_STRING, |
| ASM_OUTPUT_ASCII, ASM_OUTPUT_SECTION_NAME): Likewise. |
| |
| * i386/i386-protos.h (asm_output_function_prefix): Likewise. |
| |
| * i386/i386.c (asm_output_function_prefix): Likewise. |
| |
| * i386/i386elf.h (ASM_OUTPUT_ASCII): Likewise. |
| |
| * i386/osfrose.h (ASM_FINISH_DECLARE_OBJECT): Likewise. |
| |
| * i386/ptx4-i.h (ASM_OUTPUT_ASCII): Likewise. |
| |
| * i386/sco5.h (ASM_FINISH_DECLARE_OBJECT, |
| ASM_OUTPUT_LIMITED_STRING, ASM_OUTPUT_ASCII, |
| ASM_OUTPUT_SECTION_NAME): Likewise. |
| |
| * i386/sysv4.h (ASM_OUTPUT_ASCII): Likewise. |
| |
| * i860/paragon.h (ASM_OUTPUT_ASCII): Likewise. |
| |
| * i860/sysv3.h (ASM_OUTPUT_ASCII): Likewise. |
| |
| * m32r/m32r.c (m32r_encode_section_info): Likewise. |
| |
| * mcore-elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise. |
| |
| * mcore/mcore.c (mcore_encode_section_info): Likewise. |
| |
| * mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise. |
| |
| * mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Likewise. |
| |
| * mips/iris6.h (ASM_FINISH_DECLARE_OBJECT): Likewise. |
| |
| * mips/mips.h (ASM_OUTPUT_IDENT): Likewise. |
| |
| * mips/mips.md (movdi, movsi): Likewise. |
| |
| * mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise. |
| |
| * netbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise. |
| |
| * openbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise. |
| |
| * ptx4.h (ASM_FINISH_DECLARE_OBJECT, ASM_OUTPUT_LIMITED_STRING, |
| ASM_OUTPUT_ASCII): Likewise. |
| |
| * rs6000/rs6000.c (rs6000_allocate_stack_space, output_epilog, |
| output_mi_thunk, output_toc): Likewise. |
| |
| * rs6000/rs6000.md (movsi): Likewise. |
| |
| * rs6000/sysv4.h (ASM_OUTPUT_INT, ASM_OUTPUT_SECTION_NAME): Likewise. |
| |
| * tahoe/harris.h (ASM_OUTPUT_ASCII): Likewise. |
| |
| * v850/v850.c (print_operand, print_operand_address, |
| v850_encode_data_area): Likewise. |
| |
| 2000-03-07 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * config/mips/mips.md (zero_extendsidi2): Always force operand |
| one to memory for mips16. |
| |
| Mon Mar 6 15:22:29 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * tree.h (INT_CST_LT, INT_CST_LT_UNSIGNED): Remove unneeded casts. |
| (struct tree_int_cst): int_cst_low is now unsigned HOST_WIDE_INT. |
| (attribute_hash_list, type_hash_canon): hashcode is now unsigned. |
| (type_hash_lookup, type_hash_add, type_hash_list): Likewise. |
| (min_precision): Result is unsigned. |
| (add_double, neg_double, mul_double): Low word is unsigned. |
| (lshift_double, rshift_double, lrotate_double): Likewise. |
| (rrotate_double, div_and_round_double): Likewise. |
| (tree_floor_log2, compare_tree_int): New functions. |
| (preserve_rtl_expr_temps): New declaration. |
| * c-common.c (declare_hidden_char_array): Use compare_tree_int. |
| (decl_attributes): Use tree_log2 to find alignment. |
| Check for TREE_INT_CST_HIGH for format args. |
| (min_precision): Now unsigned. |
| Use tree_floor_log2. |
| (truthvalue_conversion): Delete long-disabled code. |
| * c-decl.c (finish_struct): Clean up tests on field width. |
| (finish_function): Use compare_tree_int. |
| * c-pragma.c (handle_pragma_token): Use tree_log2 for alignment. |
| * c-typeck.c (comptypes): Use tree_int_cst_equal. |
| (default_conversion, digest_init): Use compare_tree_int. |
| (build_binary_op): Use integer_all_onesp and compare_tree_int. |
| Fix type errors in forming masks. |
| * calls.c (initialize_argument_information): Use compare_tree_int. |
| * dbxout.c (dbxout_type): Cast TREE_INT_CST_LOW to HOST_WIDE_INT. |
| * except.c (expand_eh_region_start_tree): Use compare_tree_int. |
| * expr.c (is_zeros_p, case INTEGER_CST): Use integer_zerop. |
| (store_field): Use compare_tree_int. |
| (expand_expr, case CONSTRUCTOR): Use TYPE_SIZE_UNIT. |
| (expand_expr, case ARRAY_REF): Use compare_tree_int. |
| (do_jump, case BIT_AND_EXPR): Use tree_floor_log2. |
| (do_store_flag): Use compare_tree_int. |
| * fold-const.c (encode, decode): Low part is always unsigned. |
| (force_fit_type, add_double, neg_double, mul_double): Likewise. |
| (lshift_double, rshift_double, lrotate_double): Likewise. |
| (rrotate_double, div_and_round_double, int_const_binop): Likewise. |
| (fold_convert): Use compare_tree_int. |
| (operand_equal_p, case INTEGER_CST): Use tree_int_cst_equal. |
| (invert_truthvalue, case INTEGER_CST): Likewise. |
| (fold): Use compare_tree_int; add casts for unsigned TREE_INT_CST_LOW. |
| * mkdeps.c (deps_dummy_targets): Make I unsigned. |
| * rtl.h (add_double, neg_double, mul_double): Low words are unsigned. |
| (lshift_double, rshift_double, lrotate_double, rrotate_double): |
| Likewise. |
| * stmt.c (expand_decl): Use compare_tree_int and mode_for_size_tree. |
| (expand_end_case): Use compare_tree_int. |
| (estimate_case_costs): Cast TREE_INT_CST_LOW to HOST_WIDE_INT. |
| * stor-layout.c (mode_for_size_tree): Use compare_tree_int. |
| (layout_decl): Likewise. |
| (layout_record, layout_union): Make sizes unsigned. |
| (layout_type, case VOID_TYPE): TYPE_SIZE must be bitsizetype. |
| (layout_type, case QUAL_UNION_TYPE): Use compare_tree_int. |
| * tree.c (struct type_hash): hashcode is unsigned. |
| (build_type_attribute_variant, type_hash_list): Likewise. |
| (type_hash_lookup, type_hash_add, type_hash_canon): Likewise. |
| (attribute_hash_list, build_array_type, build_method_type): Likewise. |
| (build_complex_type): Likewise. |
| (real_value_from_int_cst): Remove unneeded casts. |
| (integer_all_onesp): Add casts. |
| (tree_floor_log2, compare_tree_int): New functions. |
| (build_index_type): Use tree_int_cst_sgn. |
| * varasm.c (assemble_variable): Use compare_tree_int. |
| |
| 2000-03-06 Jason Merrill <jason@casey.cygnus.com> |
| |
| * cpphash.c (collect_expansion): Also catch ## at start of macro. |
| |
| * varasm.c (make_decl_rtl): Don't add a number to members of |
| local classes. |
| (make_function_rtl): Likewise. |
| |
| 2000-03-06 Alexandre Oliva <oliva@lsd.ic.unicamp.br> |
| |
| * gcse.c (compute_can_copy): Adjust if/else blocks from rth's |
| patch from 2000-01-28. |
| |
| 2000-03-06 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * config/sh/sh.c: (barrier_align): Handle a delay slot that is |
| filled with an insn from the jump target. |
| |
| 2000-03-07 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x/c4x-protos.h (c4x_global_name): Constify char *. |
| (c4x_external_ref): Likewise. |
| * config/c4x/c4x.c (struct name_list): Likewise. |
| |
| 1999-12-16 Ben Collins <bcollins@debian.org> |
| |
| * Makefile.in: Pass a new MULTILIB_EXCLUSIONS option as the sixth |
| argument to genmultilib. |
| * genmultilib: accept new MULTILIB_EXCLUSIONS option and output |
| the contents into the multilib.h header. |
| * gcc.c: Declare multilib_exclusions for the specs file. |
| (set_multilib_dir): Use it. |
| (print_multilib_info): Likewise. |
| * t-linux64: Declare arguments for new MULTILIB_EXCLUSIONS option |
| to pass to genmultilib. |
| |
| 2000-03-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * builtins.c (built_in_class_names, built_in_names): Constify a |
| char*. |
| |
| * gmon-sol2.c (monstartup, moncontrol): Cast ptrs to long, not |
| int. |
| (_mcleanup): Ensure value matches format specifier in sprintf. |
| |
| * cpphash.c (special_symbol): Don't needlessly cast away |
| const-ness. |
| |
| * cppinit.c (base_name): Delete unused prototype. |
| |
| * mkdeps.c (deps_init): Make definition K&R safe. |
| |
| * tree.h (built_in_class_names, built_in_names): Constify a |
| char*. |
| |
| 2000-03-06 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/sparc.c (eligible_for_epilogue_delay): Accept |
| floating point instructions for epilogue delay. |
| |
| * config/sparc/sparc.h (ASM_ARCH64_SPEC): Pass -no-undeclared-regs |
| to gas if it supports .register pseudo. |
| |
| * real.h (MAX_LONG_DOUBLE_TYPE_SIZE): Define to |
| LONG_DOUBLE_TYPE_SIZE if not defined. |
| Use MAX_LONG_DOUBLE_TYPE_SIZE instead of |
| LONG_DOUBLE_TYPE_SIZE in preprocessor if clauses. |
| * real.c: Likewise. |
| * gengenrtl.c: Likewise. |
| * print-rtl.c: Likewise. |
| * rtl.c: Likewise. |
| * config/sparc/sol2-sld-64.h (TARGET_DEFAULT): Set |
| MASK_LONG_DOUBLE_128. |
| * config/sparc/sol2.h (TARGET_DEFAULT): Likewise. |
| * config/sparc/sp64-elf.h (TARGET_DEFAULT): Likewise. |
| * config/sparc/linux64 (TARGET_DEFAULT): Likewise. |
| (SUBTARGET_SWITCHES): Define. |
| (CPP_ARCH32_SPEC): Define __LONG_DOUBLE_128__ if compiling |
| with -mlong-double-128. |
| (LONG_DOUBLE_TYPE_SIZE): Define depending on target_flags. |
| (MAX_LONG_DOUBLE_TYPE_SIZE): Define. |
| (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define depending on CPP macros. |
| (CC1_SPEC): Include -mlong-double-{64,128} as needed. |
| * config/sparc/linux.h (SUBTARGET_SWITCHES): Define. |
| (CPP_SUBTARGET_SPEC): Define __LONG_DOUBLE_128__ if compiling |
| with -mlong-double-128. |
| (LONG_DOUBLE_TYPE_SIZE): Define depending on target_flags. |
| (MAX_LONG_DOUBLE_TYPE_SIZE): Define. |
| (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define depending on CPP macros. |
| * config/sparc/sparc.h (MASK_LONG_DOUBLE_128, |
| TARGET_LONG_DOUBLE_128): Define. |
| * config/sparc/linux-aout.h (LONG_DOUBLE_TYPE_SIZE): Remove. |
| * config/sparc/sparc.c (sparc_override_options): Disallow 64bit |
| long double on TARGET_ARCH64. |
| |
| 2000-03-06 Mark Mitchell <mark@codesourcery.com> |
| |
| * function.c (free_temps_for_rtl_expr): Don't free slots |
| that have been pushed into a higher level. |
| |
| Revert this patch: |
| 2000-03-05 Mark Mitchell <mark@codesourcery.com> |
| |
| 2000-03-05 Mark Mitchell <mark@codesourcery.com> |
| |
| * basic-block.h (ALLOCA_REG_SET): Remove. |
| (INITIALIZE_REG_SET): New macro. |
| * flow.c (update_life_info): Use it. |
| (calculate_global_regs_live): Likewise. |
| (propagate_block): Likewise. |
| * global.c (build_insn_chain): Likewise. |
| * haifa-sched.c (schedule_region): Likewise. |
| |
| 2000-03-05 Stephane Carrez <stcarrez@worldnet.fr> |
| |
| * dwarf2out.c (UNALIGNED_WORD_ASM_OP): Support 2 bytes pointer. |
| (ASM_OUTPUT_DWARF_ADDR_CONST): Use UNALIGNED_WORD_ASM_OP. |
| (DWARF_ARANGES_PAD_SIZE): New define. |
| (output_aranges): Use it to pad the address range header. |
| (DWARF_ROUND): Fix for non power of 2 rounding. |
| |
| 2000-03-05 Jason Merrill <jason@casey.cygnus.com> |
| |
| * mkdeps.c (deps_calc_target): Remove incorrect 'const'. |
| |
| 2000-03-05 Mark Mitchell <mark@codesourcery.com> |
| |
| * tree.def (RTL_EXPR): Update documentation. |
| * tree.h (RTL_EXPR_HAS_NO_SCOPE): New macro. |
| * expr.c (expand_expr): Handle RTL_EXPR_HAS_NO_SCOPE. |
| * function.c (preserve_rtl_expr_temp): New function. |
| (preserve_rtl_expr_temps): Likewise. |
| (preserve_rtl_expr_result): Use it. |
| |
| Revert this patch: |
| 2000-03-04 Mark Mitchell <mark@codesourcery.com> |
| |
| 2000-03-04 Thomas Schuster <Thomas.Schuster@gmx.net> |
| |
| * regmove.c (copy_src_to_dest) Do not create src->dest move |
| for unchanging destination. |
| |
| 2000-03-04 Mark Mitchell <mark@codesourcery.com> |
| |
| * function.h (struct sequence_stack): Remove rtl_expr. |
| (struct emit_staus): Likewise. |
| (seq_rtl_expr): Remove. |
| * tree.h (free_temps_for_rtl_expr): Don't declare. |
| (start_sequence_for_rtl_expr): Likewise. |
| * rtl.h (preserve_rtl_expr_result): Likewise. |
| * emit-rtl.c (start_sequence): Don't set sequence_rtl_expr. |
| (start_sequence_for_rtl_expr): Remove. |
| (push_topmost_sequence): Don't save sequence_rtl_expr. |
| (pop_topmost_sequence): Remove comment about not restoring it. |
| (end_sequence): Don't set seq_rtl_expr. |
| (init_emit): Don't initialize it. |
| (mark_sequence_stack): Don't mark it. |
| (mark_emit_status): Likewise. |
| * except.c (protect_with_terminate): Use |
| start_sequence_for_rtl_expr, not start_sequence. |
| * expr.c (expand_expr, case RTL_EXPR): Don't call |
| preserve_rtl_expr_result or free_temps_for_rtl_expr. |
| * function.c (assign_stack_temp_for_type): Don't set rtl_expr. |
| (preserve_rtl_expr_result): Remove. |
| (free_temps_for_rtl_expr): Likewise. |
| (pop_temp_slots): Likewise. |
| (mark_temp_slot): Don't mark the rtl_expr. |
| * stmt.c (expand_start_stmt_expr): Use start_sequence, not |
| start_sequence_for_rtl_expr. |
| |
| 2000-03-04 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * mkdeps.c, mkdeps.h: New files. |
| * po/POTFILES.in: Add them. |
| * Makefile.in (LIBCPP_OBJS): Add mkdeps.o. |
| (cpplib.o, cppinit.o): Depend on mkdeps.h. |
| (mkdeps.o): New target. |
| |
| * cppfiles.c: Delete deps_output. |
| * cppinit.c: Include mkdeps.h. Delete known_suffixes, |
| OBJECT_SUFFIX, and base_name. |
| (cpp_cleanup): Use deps_free. Free ihash->name when clearing |
| the include hash. |
| (initialize_dependency_output): Use deps_init, |
| deps_add_target, deps_calc_target, and deps_add_dep. Remove |
| all the unnecessary string bashing. |
| (cpp_finish): Use deps_write. Remove an unnecessary nesting |
| level. |
| * cpplib.c (do_include): Use deps_add_dep. |
| * cpplib.h (struct cpp_reader): Replace deps_buffer, |
| deps_allocated_size, deps_size, deps_column members with |
| single pointer to a struct deps. Delete prototype of |
| deps_output. |
| |
| * cppinit.c: Fix thinko in previous patch. |
| |
| Sat Mar 4 11:32:30 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * machmode.h (mode_for_size, smallest_mode_for_size): SIZE now signed. |
| * stor-layout.c (mode_for_size, smallest_mode_for_size): Likewise. |
| (mode_for_size_tree): New function. |
| (layout_decl, layout_type): Call it and clean up BLKmode checks. |
| * tree.h (mode_for_size_tree): New declaration. |
| |
| * toplev.c (debug_ignore_block): Mark arg BLOCK as possibly unused. |
| |
| 2000-03-04 Jason Merrill <jason@casey.cygnus.com> |
| |
| * stmt.c (is_body_block): Move... |
| * dwarfout.c, dwarf2out.c: ...from here. |
| * tree.h: Declare it. |
| * emit-rtl.c (remove_unnecessary_notes): Don't remove the body block. |
| * final.c (final_start_function): Do call remove_unnecessary_notes |
| when scheduling. |
| |
| 2000-03-03 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * config/vax/xm-vms.h: Define OBJECT_SUFFIX and EXECUTABLE_SUFFIX. |
| |
| * cpplib.h (_dollar_ok): New macro. |
| (is_idchar, is_idstart): Use it. |
| (IStable): Rename to _cpp_IStable. Declare it const if |
| gcc >=2.7 or C99. Delete all references to FAKE_CONST. |
| (is_idchar, is_idstart, is_numchar, is_numstart, is_hspace, |
| is_space): Update for renamed IStable. |
| |
| * cppinit.c: Delete all references to FAKE_CONST and CAT |
| macros. Define init_IStable as empty macro if gcc >=2.7 or |
| C99. Change TABLE() to ISTABLE and hardcode name of table. |
| (cpp_start_read): Don't change the IStable based on |
| dollars_in_ident. |
| |
| * cpphash.c (unsafe_chars): Add pfile argument. All callers |
| changed. Handle '$' for char1 correctly. |
| * cpplib.c (cpp_get_token): Use is_numchar when parsing numbers. |
| |
| * cppexp.c (tokentab2): Make const. |
| (cpp_lex): Make toktab const. |
| * cppinit.c (include_defaults_array): Make const. |
| (initialize_standard_includes): Make default_include const. |
| |
| 2000-03-03 Jason Merrill <jason@casey.cygnus.com> |
| |
| * dwarf2out.c (dwarf2out_frame_debug): Add cast to silence warning. |
| (dwarf2out_decl): Functions can now have DECL_IGNORED_P. |
| (gen_decl_die): Likewise. |
| * dwarfout.c (dwarfout_file_scope_decl): Likewise. |
| (output_decl): Likewise. |
| |
| * varasm.c (make_function_rtl): If we change the name used in the |
| rtl, update DECL_ASSEMBLER_NAME accordingly. |
| (make_decl_rtl): Likewise. |
| |
| * toplev.c (rest_of_compilation): Tweak formatting. |
| |
| * toplev.c (rest_of_compilation): find_loop_tree_blocks before |
| remove_unnecessary_notes. |
| (debug_ignore_block): New fn. |
| * toplev.h: Declare it. |
| * emit-rtl.c (remove_unnecessary_notes): Call it. |
| * dwarf2out.c (dwarf2out_ignore_block): New fn. |
| * dwarf2out.h: Declare it. |
| * final.c (final_start_function): Don't call remove_unnecessary_notes |
| if we did insn scheduling. |
| |
| 2000-03-03 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppinit.c (cpp_handle_option): Set opts->pedantic directly. |
| * cpplib.h: Delete SET_CPP_PEDANTIC. |
| |
| Fri Mar 3 14:56:12 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * expr.c (expand_expr, case COMPONENT_REF): Use bitfield case if |
| result is a RECORD_TYPE. |
| |
| 2000-03-03 Jonathan Larmour <jlarmour@cygnus.co.uk> |
| |
| * mips/elf.h (CTOR_LISTS_DEFINED_EXTERNALLY): Added. |
| |
| 2000-03-03 Richard Henderson <rth@cygnus.com> |
| |
| * alpha.c (alpha_emit_set_const_1): Re-order cases to prefer |
| addition over compliments over shifts. |
| |
| Fri Mar 3 12:49:28 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * reload1.c (reload_combine_note_use): Handle return register USEs. |
| REG case: Handle multi-hard-register hard regs. |
| |
| Fri Mar 3 07:38:34 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * md.texi: Document use of '*' in insn pattern name. |
| |
| 2000-03-03 Jason Merrill <jason@casey.cygnus.com> |
| |
| * calls.c (special_function_p): operator new may not be malloc-like. |
| |
| * gcse.c (dump_hash_table): Really fix error in last change. |
| |
| 2000-03-02 Denis Chertykov <denisc@overta.ru> |
| |
| * avr.c (print_operand): Use print_operand_address instead of |
| output_addr_const. |
| * avr/libgcc.S: Cleanup code. |
| |
| 2000-03-02 Richard Henderson <rth@cygnus.com> |
| |
| * alpha.c (alpha_emit_set_const_1): Also try c + small constant. |
| |
| 2000-03-02 Mark Mitchell <mark@codesourcery.com> |
| |
| * tree.h (TYPE_ALIGN_UNIT): New macro. |
| |
| 2000-03-02 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * i386.c: (constant_call_address_operand): Reject CONST_INT. |
| |
| 2000-03-02 Jason Merrill <jason@casey.cygnus.com> |
| |
| * cpplib.h (CPP_PEDANTIC): Only true if system_header_p is not set |
| for the buffer. |
| (SET_CPP_PEDANTIC): New macro. |
| * cpplib.c (do_include): Don't bother checking system_header_p. |
| (do_warning, do_ident, do_assert, do_unassert): Likewise. |
| * cppinit.c (cpp_handle_option): Use SET_CPP_PEDANTIC. |
| |
| * function.h (struct expr_status): Add x_arg_space_so_far. |
| (arg_space_so_far): New macro. |
| * expr.c (init_expr): Initialize it. |
| * calls.c (emit_call_1): Reset it. |
| (compute_argument_block_size, expand_call): Use it. |
| (expand_call, store_one_arg): Increment it. |
| |
| Thu Mar 2 17:27:13 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * varasm.c (output_constant): Strip off a CONVERT_EXPR to |
| a UNION_TYPE. |
| |
| 2000-03-02 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppfiles.c (cpp_read_file): New function. |
| |
| * cpphash.c (collect_expansion): Make sure to reset last_token |
| to NORM when we hit a string. Handle trailing whitespace |
| properly when the expansion is empty. |
| (create_definition): Disable line commands while parsing the |
| directive line. |
| (dump_definition): If pfile->lineno == 0, output a line |
| command ahead of the dump, and add a trailing newline. |
| |
| * cppinit.c (append_include_chain): Add fifth argument, which |
| indicates whether or not system headers are C++ aware. |
| (initialize_standard_includes): New function, |
| broken out of read_and_prescan. Pass 'cxx_aware' value from |
| the include_defaults_array on to append_include_chain. |
| (dump_special_to_buffer): Const-ify char array. |
| (builtin_array): Don't dump __BASE_FILE__. |
| (cpp_start_read): Use cpp_read_file. Reorder code for |
| clarity. Don't output line commands here for -D/-A/-U |
| switches. Don't call deps_output for files included with |
| -include or -imacros. |
| |
| * cpplib.c (do_define): Don't pay any attention to the second |
| argument. |
| (cpp_expand_to_buffer): Disable line commands while scanning. |
| (output_line_command): Work in the file buffer. |
| * cpplib.h: Remove no_record_file flag from struct cpp_reader. |
| Fix formatting of comments. Prototype cpp_read_file. |
| |
| Thu Mar 2 13:29:46 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * c-common.c (c_common_nodes_and_builtins): Make sizetype_endlink |
| reference the language-equivalent of sizetype. |
| * c-typeck.c (comptypes): Treat sizetype like its language equivalent. |
| * fold-const.c (size_binop, size_diffop): Put back checks. |
| * gcse.c (dump_hash_table): Fix minor error in last change. |
| * stor-layout.c (set_sizetype): Set TYPE_DOMAIN of sizetype. |
| Clear TYPE_{NEXT,MAIN}_VARIANT and TYPE_{POINTER,REFERENCE}_to of |
| all sizetypes. |
| |
| Thu Mar 2 12:48:45 MET 2000 Jan Hubicka <jh@suse.cz> |
| |
| * calls.c (expand_call) Do not attempt to combine stack adjustments |
| with inhibit_defer_pop set. |
| |
| 2000-03-01 Mark Mitchell <mark@codesourcery.com> |
| |
| * stor-layout.c (layout_decl): Allow front-ends to explicitly set |
| the DECL_SIZE for a FIELD_DECL. |
| |
| 2000-03-01 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/inclhack.tpl: remove unused symlinks |
| * fixinc/README: GCC Maintainer info |
| * fixinc/inclhack.sh: regen |
| * fixinc/fixincl.sh: regen |
| |
| 2000-03-01 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpphash.c (collect_expansion): Trim trailing white space |
| from macro definitions, but don't go past the last insertion |
| point. |
| |
| Wed Mar 1 12:14:31 MET 2000 Jan Hubicka <jh@suse.cz> |
| |
| * i386.md (mulqi3): New pattern. |
| |
| 2000-02-29 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplib.h (CPP_ASSERTION, CPP_STRINGIZE, CPP_TOKPASTE): New |
| token types. |
| (struct cpp_reader): Add parsing_if_directive and |
| parsing_define_directive flags. |
| (struct cpp_options): Remove output_conditionals flag. |
| (check_macro_name): Delete prototype. |
| |
| * cpphash.h (struct macrodef): Delete. |
| (struct reflist): Separate from struct definition. |
| (struct definition): Remove unused fields. Add column number. |
| (create_definition): Returns a DEFINITION *. Takes a |
| cpp_reader * and an int. |
| |
| * cpphash.c (SKIP_WHITE_SPACE): Delete. |
| (PEEKC): Copy defn from cpplib.c. |
| (rest_extension, REST_EXTENSION_LENGTH): Delete. |
| (struct arg): New. |
| (struct arglist): Simplify. |
| (collect_expansion): Rewrite. Get tokens by calling |
| cpp_get_token. Add more error checking. |
| (collect_formal_parameters): New function, broken out of |
| create_definition and reworked to use get_directive_token. |
| (create_definition): All real work is now in collect_expansion |
| and collect_formal_parameters. do_define handles finding the |
| macro name. Return a DEFINITION, not a MACRODEF. |
| (macroexpand): Replace bcopy with memcpy throughout. Replace |
| character-at-a-time copy loop with memcpy and pointer increments. |
| (compare-defs): d1->argnames / d2->argnames might be null. |
| |
| * cpplib.c (copy_rest_of_line): Delete function. |
| (skip_rest_of_line): Do all the work ourselves. |
| (skip_string): New function. |
| (parse_string): Use skip_string. |
| (get_macro_name): New function. |
| (check_macro_name): Delete. |
| (copy_comment): Use CPP_RESERVE and CPP_PUTC_Q. |
| (cpp_skip_hspace): Use CPP_BUMP_LINE. |
| (handle_directive): ICE if we're called on a macro buffer. |
| (do_define): Determine macro name and type (funlike/objlike) |
| here. Expunge all uses of MACRODEF. |
| (cpp_push_buffer): Set line_base to NULL. |
| (do_undef, read_line_number): Don't worry about getting a POP token. |
| (eval_if_expression): Set/reset parsing_if_directive around |
| cpp_parse_expr. Don't clear only_seen_white. |
| (skip_if_group): Remove output_conditionals logic. Use |
| skip_rest_of_line. |
| (cpp_get_token): Return ASSERTION, STRINGIZE, and TOKPASTE |
| tokens under appropriate conditions. |
| (cpp_unassert): Call do_unassert not do_assert. Oops. |
| |
| * cppexp.c (parse_defined): New function, break out of |
| cpp_lex. |
| (cpp_lex): We now get CPP_ASSERTION tokens and can check them |
| ourselves, with cpp_defined. |
| * cppinit.c (cpp_handle_option, print_help): Delete -ifoutput. |
| |
| * gcc.dg/20000209-2.c: Turn off -pedantic-errors. |
| * gcc.dg/strpaste-2.c: New. |
| |
| 2000-02-29 Mark Mitchell <mark@codesourcery.com> |
| |
| * fold-const.c (size_binop): Don't asert inputs are the same and |
| have TYPE_IS_SIZETYPE set. |
| (size_diffop): Likewise. |
| |
| 2000-02-29 Jason Merrill <jason@casey.cygnus.com> |
| |
| * dwarfout.c (output_block): Output abstract blocks even if they |
| don't have TREE_ASM_WRITTEN set. |
| |
| * calls.c (emit_library_call): Check for null REG. |
| |
| 2000-03-01 Martin von Löwis <loewis@informatik.hu-berlin.de> |
| |
| * c-decl.c (current_function_decl): Move to toplev.c. |
| (init_decl_processing): Don't add current_function_decl as a ggc |
| root here. |
| * dbxout.c (dbxout_symbol): Change return type to int. |
| (dbxout_symbol_location, dbxout_syms): Likewise. |
| (dbxout_block): Don't emit LBRAC/RBRAC pairs for blocks without |
| any locals. Use current_function_func_begin_label if set. |
| * dbxout.h (dbxout_symbol, dbxout_syms): Change return type. |
| * dwarf2out.c (dwarf2out_begin_prologue): Set |
| current_function_func_begin_label. |
| * final.c (final_start_function): Reset it. |
| * toplev.c (current_function_decl): Define it here. |
| (current_function_func_begin_label): New variable. |
| (main): Add both as ggc roots. |
| * tree.h (current_function_func_begin_label): Declare. |
| |
| Tue Feb 29 14:07:04 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * gcse.c: Cleanups throughout: mostly white-space, but also |
| some minor rearrangement of code. |
| |
| Tue Feb 29 10:45:59 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * calls.c (emit_library_call): Do not abort if FUNCTION_ARG |
| returns a PARALLEL. Use emit_group_load and use_group_regs |
| as needed. |
| (emit_library_call_value): Similarly. |
| |
| * pa/t-pa: Use quadlib.c instead of quadlib.asm. |
| * pa/quadlib.asm: Remove. |
| * pa/quadlib.c: New file. |
| |
| * configure.in (hpux10, hpux11, PA32 mode): Use i128 float format. |
| * configure: Rebuilt. |
| |
| 2000-02-29 Philip Blundell <pb@futuretv.com> |
| |
| * config/arm/conix-elf.h: New file. |
| * configure.in (arm*-*-conix*): New configuration. |
| * configure: Regenerate. |
| |
| 2000-02-28 Jason Merrill <jason@casey.cygnus.com> |
| |
| * dwarf2out.c (gen_block_die): Output abstract blocks even if they |
| don't have TREE_ASM_WRITTEN set. |
| |
| Mon Feb 28 21:07:59 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * Eliminate DECL_FIELD_SIZE. |
| * builtins.c (built_in_class_names, built_in_names): New variables. |
| * c-decl.c (finish_struct): Set specified size in DECL_SIZE. |
| * expr.c (expand_expr, case COMPONENT_REF): Get field size from |
| DECL_SIZE, not DECL_FIELD_SIZE. |
| * print-tree.c (print_node): Remove code that prints extra blank |
| lines in some cases. |
| Properly handle inline and builtin function cases. |
| * stor-layout.c (layout_decl): Get specified size from DEC_SIZE. |
| * tree.h (built_in_class_named, built_in_names): New declarations. |
| (union tree_decl): Rename internal unions to u1 and u2 and change |
| some of their components. |
| Add new field built_in_class. |
| (DECL_ALIGN, DECL_INCOMING_RTL, DECL_SAVED_INSNS, DECL_FRAME_SIZE): |
| Reflect above changes. |
| (DECL_FUNCTION_CODE, DECL_BUILT_IN_CLASS): Likewise. |
| (DECL_SET_FUNCTION_CODE, DECL_FIELD_SIZE): Deleted. |
| * objc/objc-act.c (objc_copy_list): Use DECL_SIZE, not DECL_FIELD_SIZE. |
| (encode_field_decl): Likewise; also remove obsolete test for bitfield. |
| |
| 2000-02-28 Dmitri Makarov <dim@windriver.com> |
| |
| * extend.texi: Document ARM's support for long/short calls. |
| |
| * invoke.texi: Document ARM's -mlong-calls command line switch. |
| |
| * config/arm/arm-protos.h (arm_is_longcall_p): Add prototype. |
| (arm_encode_call_attribute): Add prototype. |
| (arm_set_default_type_attribute): Add prototype. |
| (arm_strip_name_encoding): Add prototype. |
| |
| * config/arm/arm.c (arm_init_cumulative_args): replace |
| initialisation og 'long_calls' field with initialisation of |
| 'call_cookie' field. |
| (enum arm_pragma_enum): New enum. |
| (arm_pragma_long_calls): New static variable. |
| (arm_process_pragma): Also process "#pragma long_calls_off". |
| (arm_valid_type_attribute_p): Accept short_call attribute. |
| (arm_comp_type_attributes): Check long/short call attributes. |
| (arm_encode_call_attribute): New function: Encode long_call |
| or short_call attribute in function name. |
| (arm_set_default_type_attributes): New function: Assign |
| default attributes to newly defined type. |
| (current_file_function_operand): New function: Return true if |
| the symbol is a function which has already been compiled. |
| (arm_is_longcall_p): New function: Return true if the |
| indicated function should be called via a long call. |
| (arm_get_strip_length): New function. Returns number of |
| prefix characters to be stripped from a function's name. |
| (arm_strip_name_encoding): New function. Strip prefix characters |
| from a function's name. |
| |
| * config/arm/arm.h (CUMULATIVE_ARGS): Replace 'long_call' field |
| with 'call_cookie'. |
| (SHORT_CALL_FAG_CHAR): Define. |
| (LONG_CALL_FAG_CHAR): Define. |
| (ENCODED_SHORT_CALL_ATTR_P): Define. |
| (ENCODED_LONG_CALL_ATTR_P): Define. |
| (ARM_NAME_ENCODING_LENGTHS): Define. |
| (STRIP_NAME_ENCODING): Define. |
| (ASM_OUTPUT_LABELREF): Define, and use to strip name encoding. |
| (ARM_ENCODE_CALL_TYPE): Define. |
| (ENCODE_SECTION): Invoke ARM_ENCODE_CALL_TYPE. |
| (ARM_DECLARE_FUNCTION_SIZE): Define. |
| (SET_DEFAULT_TYPE_ATTRIBUTES): Define. |
| |
| * config/arm/arm.md (call): Call arm_is_longcall_p to decide |
| if a long call is needed. |
| (call_value): Ditto. |
| (call_symbol): Ditto. |
| |
| * config/arm/elf.h (ASM_DECLARE_FUNCTION_SIZE): Add invocation of |
| ARM_DECLARE_FUNCTION_SIZE. |
| |
| * config/arm/pe.h (ARM_PE_FLAG_CHAR): Define. |
| (SUBTARGET_NAME_ENCODING_LENGTHS): Define. |
| (ARM_STRIP_NAME_ENCODING): Undefine. |
| (STRIP_NAME_ENCODING): Undefine. |
| (ASM_OUTPUT_LABELREF): Use arm_strip_name_encoding. |
| (ASM_DECLARE_FUNCTION_NAME): Ditto. |
| (ASM_OUTPUT_COMMON): Ditto. |
| (ASM_DECLARE_OBJECT_NAME): Ditto. |
| |
| * config/arm/pe.c (arm_dllexport_name_p): Check for |
| ARM_PE_FLAG_CHAR. |
| (arm_dllimport_name_p): Ditto. |
| (arm_mark_dllexport): Use ARM_PE_FLAG_CHAR. |
| (arm_mark_dllimport): Ditto. |
| |
| Mon Feb 28 22:11:12 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Define. |
| |
| 2000-02-28 Mark Mitchell <mark@codesourcery.com> |
| |
| * xcoffout.c (xcoffout_begin_function): Fix typo in previous change. |
| |
| 2000-02-28 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * tm.texi: Document new target switch, NO_BUILTIN_WCHAR_TYPE. |
| * cppinit.c (builtin_array): Define __WCHAR_TYPE__ only if |
| NO_BUILTIN_WCHAR_TYPE is not defined. |
| (CPP_WCHAR_TYPE): Delete. |
| * cccp.c (main): Don't change wchar_type if cplusplus. |
| (special_symbol, initialize_builtins): Honor NO_BUILTIN_WCHAR_TYPE. |
| |
| 2000-02-28 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/arm-wince-pe.h (SIZE_TYPE): Define to "unsigned long". |
| |
| Mon Feb 28 14:21:15 2000 Catherine Moore <clm@cygnus.com> |
| |
| * config/pa/som.h (MAKE_DECL_ONE_ONLY): Define. |
| (ASM_WEAKEN_LABEL): Define. |
| |
| Mon Feb 28 13:07:19 MET 2000 Jan Hubicka <jh@suse.cz> |
| |
| * expr.c (store_constructor): Do not emit USE. |
| * rtl.h (stupid_life_analysis): Remove. |
| |
| Mon Feb 28 07:03:27 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * function.c (number_blocks): Reset next_block_index based on |
| what debugging format is used, not what is defined. |
| |
| * lcm.c: Minor reformatting throughout. |
| (reg_dies, reg_becomes_live): Properly handle multiple hard regs. |
| |
| * toplev.c (rest_of_compilation): Account for time in |
| optimize_mode_switching. |
| |
| * jump.c (jump_optimize_1): Don't call delete_barrier_successors |
| if only marking labels. |
| |
| Mon Feb 28 12:53:57 MET 2000 Jan Hubicka <jh@suse.cz> |
| |
| * calls.c (expand_call): Attempt to combine stack adjustments with |
| pending stack adjustments. |
| |
| Mon Feb 28 11:34:43 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * loop.c (reg_in_basic_block_p): Don't abort when falling through |
| to the end of the function. |
| |
| 2000-02-27 Mark Mitchell <mark@codesourcery.com> |
| |
| * emit-rtl.c (remove_unnecessary_notes): Remove notes for empty |
| blocks. |
| * final.c (next_block_index): Remove. |
| (max_block_depth): Likewise. |
| (pending_blocks): Likewise. |
| (init_final): Don't initialize them. |
| (final_start_function): Don't set next_block_index. Set up |
| BLOCK_NUMBER. |
| (final_scan_insn): Use BLOCK_NUMBER, not next_block_index. |
| * function.h (number_blocks): New function. |
| * function.c (get_block_vector): New function. |
| (identify_blocks): Use it. |
| (reorder_blocks): Set NOTE_BLOCK. |
| (number_blocks): New function. |
| * tree.def (BLOCK): Add documentation for TREE_ASM_WRITTEN flag. |
| * tree.h (BLOCK_NUMBER): New macro. |
| (tree_block): Add block_num field. |
| * dbxout.c (next_block_number): Remove. |
| (dbxout_init): Don't set it. |
| (dbxout_block): Only output blocks that have TREE_ASM_WRITTEN |
| set. Use BLOCK_NUMBER, rather than next_block_num, to determine |
| block numbers. |
| * toplev.c (rest_of_compilation): Always call |
| find_loop_tree_blocks. Fix indentation. |
| * dwarf2out.c (next_block_number): Remove. |
| (gen_lexical_block_die): Use BLOCK_NUMBER, not next_block_number, |
| to determine block numbers. |
| (gen_inlined_subroutine_die): Likewise. |
| (gen_block_die): Only output blocks that have TREE_ASM_WRITTEN set. |
| (decls_for_scope): Don't increment next_block_number. |
| * dwarfout.c (next_block_number): Remove. |
| (output_lexical_block_die): Use BLOCK_NUMBER, not next_block_number, |
| to determine block numbers. |
| (output_inlined_subroutine_die): Likewise. |
| (output_block): Only output blocks that have TREE_ASM_WRITTEN set. |
| (output_decls_for_scope): Don't increment next_block_number. |
| * sdbout.c (next_block_number): Remove. |
| (sdbout_block): Use BLOCK_NUMBER. |
| (sdbout_begin_block): Simplify. |
| * xcoffout.c (next_block_number): Remove. |
| (xcoffout_block): Use BLOCK_NUMBER, not next_block_number. |
| (xcoffout_begin_block): Don't set next_block_number. |
| (xcoffout_begin_function): Likewise. Use BLOCK_NUMBER, not |
| next_block_number. |
| |
| Sun Feb 27 16:40:33 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * builtins.c (c_strlen): Use size_diffop and return ssizetype value. |
| (expand_builtin_strcpy): Pass correct type to size_binop. |
| (expand_builtin_strcmp): Likewise. |
| Clean up conditional structure. |
| * c-decl.c (init_decl_processing): Don't call set_sizetype twice. |
| (complete_array_type): Don't use size_binop for MAXINDEX. |
| * c-typeck.c (c_sizeof): Use size_one_node and TYPE_SIZE_UNIT. |
| (c_sizeof_nowarn, c_size_in_bytes): Likewise. |
| (c_alignof): Use size_one_node. |
| (build_unary_op): Pass arg of proper type to size_binop. |
| (really_start_incremental_init, push_init_level): Use sizetype for |
| constructor{,_bit,_unfilled}_index. |
| (pop_init_label, output_init_element): Likewise. |
| (output_pending_init_elements, process_init_element): Likewise. |
| * calls.c (compute_argument_block_size): Field VAR is ssizetype. |
| * expr.c (store_expr): Use size_int. |
| (store_constructor): Use proper types for size_binop args. |
| (get_inner_reference, expand_expr, case ARRAY_REF): Likewise. |
| (expand_expr_unaligned): Likewise. |
| (string_contant): Return object of sizetype. |
| * expr.h (SUB_PARM_SIZE): Call size_diffop and pass proper types. |
| (ARGS_SIZE_RTX): Call ARGS_SIZE_TREE. |
| (ARGS_SIZE_TREE): Pass proper types to size_binop. |
| * fold-const.c (int_const_binop): Refine when size_int is called. |
| (fold_convert): Likewise. |
| (size_int_wide): Rework to take KIND as arg, only take low order |
| bits, handle new sizetype_tab datatype, and chain entries in |
| size_table. |
| (size_int_type_wide): New function. |
| (size_binop): Validate types of arguments. |
| (ssize_binop): Deleted. |
| (size_diffop): New function. |
| (extract_muldiv): Only fold division into multiplication for sizetypes. |
| * function.c (assign_parms): Use size_diffop and make sure |
| VAR field is of ssizetype; also pass proper type to size_binop. |
| (locate_and_pad_parm, pad_to_arg_alignment): Likewise. |
| (round_down): Deleted from here. |
| * store-layout.c (sizetype_tab): Now an array. |
| (sizetype_set, early_root_list): New variables. |
| (variable_size): Use size_one_node. |
| (round_up): Pass proper type to size_binop. |
| (round_down): Moved to here and corrected as above. |
| (layout_record): Pass proper arg types to size_binop. |
| (layout_type): Likewise. |
| If sizetype_set is zero, record the type just laid out. |
| (make_unsigned_type): Don't call set_sizetype; |
| (make_signed_type): Likewise; also, call fixup_signed_type. |
| (initialize_sizetypes): New function. |
| (set_sizetype): Make copy of types, set TYPE_IS_SIZETYPE, and |
| set name of bitsizetype to "bit_size_type". |
| Fix up type of sizes of all types made before call. |
| * tm.texi (ROUND_TYPE_SIZE_UNIT): New macro. |
| * tree.c (fix_sizetype): Deleted. |
| (build_common_tree_nodes): Call initialize_sizetypes. |
| (build_common_tree_nodes_2): Don't call fix_sizetype. |
| * tree.h (TYPE_IS_SIZETYPE): New macro. |
| (initialize_sizetype): New declaration. |
| (enum size_type_kind): New type. |
| (struct sizetype_tab): Deleted. |
| (sizetype_tab): Now array; adjust sizetype macros. |
| (size_diffop, size_int_type_wide): New functions. |
| (size_int_wide): Change number of args and type; access macros changed. |
| (ssize_int, sbitsize_int): New macros. |
| * config/i960/i960.h (ROUND_TYPE_SIZE): Use size_int. |
| (ROUND_TYPE_SIZE_UNIT): New macro. |
| |
| 2000-02-27 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * c-lex.c (putback_buffer): Make 'buffer' an unsigned char *. |
| |
| Sun Feb 27 07:44:17 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * gcov-io.h (__fetch_long, __store_long, __read_long, __write_long): |
| Mark as possibly unused. |
| |
| * cse.c (cse_insn): Delete dead code involving tablejump. |
| Pass CODE_LABEL, not LABEL_REF to gen_jump and reset INSN_CODE. |
| |
| * Makefile.in (libcpp.a): Start by deleting it. |
| |
| 2000-02-27 Alexandre Oliva <oliva@lsd.ic.unicamp.br> |
| |
| * cpplib.h (enum file_change_code): Added rename_file. |
| * cpplib.c (do_line): If a filename is given, set file_change to |
| rename_file. |
| (output_line_command): If file_change is rename_file, always |
| output a # directive with the file name. |
| |
| * cpplib.c (do_pragma): Accept #pragma without consecutive token. |
| |
| 2000-02-26 Mark Mitchell <mark@codesourcery.com> |
| |
| * integrate.c (copy_decl_for_inlining): Preserve TREE_ADDRESSABLE |
| when copying a PARM_DECL or RESULT_DECL. |
| |
| 2000-02-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * fix-header.c (recognized_function): Also fix prototypes for |
| functions taking "void". |
| |
| 2000-02-26 Geoff Keating <geoffk@cygnus.com> |
| |
| * reload1.c (do_output_reload): Check reg_reloaded_valid before |
| looking at reg_reloaded_contents. |
| |
| 2000-02-26 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * Makefile.in (STMP_FIXINC): New toggle. |
| (LIBGCC2_DEPS): Delete all references. |
| (stmp-headers): Delete target. All references either deleted |
| or changed to stmp-int-headers. |
| (all.cross): Don't depend on stmp-headers or STMP_FIXPROTO. |
| (LIBCPP_OBJS): Take out cppalloc.o. |
| (cppalloc.o): Delete target. |
| (stmp-int-hdrs): Depend on $(STMP_FIXINC). |
| (gen-protos, fix-header): Link with libiberty.a. |
| * build-make: Don't change FIXINCLUDES. Override STMP_FIXINC |
| to empty. |
| |
| * configure.in: Remove refs to strerror. |
| * acconfig.h: Take out NEED_DECLARATION_STRERROR. |
| * system.h: Take out strerror stanza. |
| |
| * cpperror.c (my_strerror): Delete function. |
| (cpp_error_from_errno, cpp_notice_from_errno): Use xstrerror. |
| * cppmain.c (main): Call xmalloc_set_program_name first thing. |
| * cppalloc.c: Delete file. |
| * gen-protos.c: Don't provide xrealloc. |
| |
| * fixinc/fixincl.c, fixinc/fixlib.c, fixinc/procopen.c: Use |
| xstrerror throughout. |
| |
| 2000-02-26 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/inclhack.def (undefine_null): the bypass pattern needs to |
| match for DOS headers, too. |
| * fixinc/inclhack.sh,fixincl.x: Regenerate. |
| |
| 2000-02-26 Geoff Keating <geoffk@cygnus.com> |
| |
| * config/elfos.h (ASM_OUTPUT_LABELREF): Don't define. The default |
| is right for most ELF targets. |
| * config/ns32k/ns32k.h (ASM_OUTPUT_LABELREF): Don't define. |
| Let the default file use %U properly. |
| * config/sh/elf.h (ASM_OUTPUT_LABELREF): Don't define. Use the |
| default. |
| |
| * config/fp-bit.c (pack_d): Properly handle rounding of denormal |
| numbers. |
| |
| Sat Feb 26 09:39:16 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * toplev.c (documented_lang_options): Correct spelling error. |
| (decode_d_option, decode_f_option, main): Likewise. |
| |
| * toplev.c (print_time): Avoid SIGFPE when all_time is zero. |
| |
| * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Use .set at |
| to tell assembler it is permitted to expand large constants. |
| |
| 2000-02-25 Mumit Khan <khan@xraylith.wisc.edu> |
| |
| * protoize.c: (AUX_INFO_SUFFIX): New macro. |
| (aux_info_suffix): Use. |
| (SAVE_SUFFIX): New macro. |
| (save_suffix): Use. |
| (munge_compile_parms): Fix typo in NUL. DJGPP supports /dev/null. |
| (gen_aux_info_file): Use aux_info_suffix instead of ".X". |
| (edit_file): Handle 8.3 restriction for DOS/DJGPP filenames. |
| |
| * invoke.texi (Running Protoize): Update documentation. |
| |
| 2000-02-25 Mark Elbrecht <snowball3@bigfoot.com> |
| |
| * i386/djgpp.h (CPP_PREDEFINES): Remove Unix defines. |
| |
| 2000-02-25 John Wehle (john@feith.com) |
| |
| * rtlanal.c (find_last_value): Allow NULL_RTX for valid_to. |
| |
| 2000-02-25 Anthony Green <green@cygnus.com> |
| |
| * toplev.c (rest_of_compilation): Rebuild jump labels if |
| combine_instructions has created a new direct jump. |
| * combine.c (try_combine): Add new_direct_jump_p argument. Set it |
| when appropriate. |
| (combine_instructions): Call try_combine with new argument. |
| Return non-null value when new direct jump instruction is created. |
| * rtl.h: combine_instructions returns an int. |
| |
| Fri Feb 25 19:49:08 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * cse.c (cse_insn): Replace the PATTERN of the insn with an new |
| jump when changing a computed jump into a jump to a known |
| target. |
| |
| Fri Feb 25 19:22:44 2000 Graham Stott <grahams@rcp.co.uk> |
| |
| * resource.c (mark_referenced_resources): Changed use SET_DEST (...) |
| to XEXP (..., 0) on RTL nodes which are not SET or CLOBBER. |
| |
| * i386.md (define_expand "clrstrsi"): Fix typo. |
| |
| Fri Feb 25 18:49:39 2000 "K. Richard Pixley" <rich@microunity.com> |
| |
| * rtl.texi: Fix typo. |
| |
| Fri Feb 25 20:02:35 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * sh.c (calc_live_regs): Multiply value assigned to *COUNT_PTR by |
| UNITS_PER_WORD. Change caller initial_elimination_offset. |
| (rounded_frame_size): Take into account that argument pushed has |
| changed. Fix TARGET_ALIGN_DOUBLE problem. |
| |
| 2000-02-25 Geoff Keating <geoffk@cygnus.com> |
| |
| * haifa-sched.c (schedule_block): Explain the real reason |
| we delete REG_SAVE_NOTEs on the first insn of a block. |
| Don't delete REG_SAVE_NOTES for NOTE_INSN_SETJMP. |
| |
| 2000-02-24 Mark Mitchell <mark@codesourcery.com> |
| |
| * input.h (push_srcloc): New function. |
| (pop_srcloc): Likewise. |
| * toplev.c (push_srcloc): Define it. |
| (pop_srcloc): Likewise. |
| |
| 2000-02-24 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (life_analysis): When collecting reg info, clear |
| regs_ever_live. |
| |
| Thu Feb 24 22:06:52 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| Fix bug exposed by reload.c no longer rounding the frame |
| size to BIGGEST_ALIGNMENT: |
| * sh.c (rounded_frame_size): New function. |
| (sh_expand_prologue, sh_expand_epilogue): Use it. |
| (initial_elimination_offset): Likewise. |
| |
| Thu Feb 24 20:04:11 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| Fix breakage from 6th Feb thread_prologue_and_epilogue_insns change: |
| * sh-protos.h (sh_need_epilogue): Declare. |
| * sh.c (sh_need_epilogue_known): New static variable. |
| (sh_need_epilogue): New function. |
| (function_epilogue): Clear need_epilogue_known. |
| * sh.md (return): Split into expander / insn pattern. |
| Make the expander conditional on ! sh_need_epilogue (). |
| |
| 2000-02-24 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * machmode.h (get_mode_alignment): Declare. |
| (GET_MODE_ALIGNMENT): Call it. |
| * stor-layout.c (get_mode_alignment): New function. Make |
| sure alignment is always power of 2. |
| |
| 2000-02-23 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * i386.h: Remove useless definition of "I386" and misleading |
| comment above it. |
| |
| 2000-02-23 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * tree.h (TREE_SET_PERMANENT): New macro. Document conditions |
| under which TREE_PERMANENT will be set. |
| * tree.c (make_node, copy_node, make_tree_vec, tree_cons, |
| build1): Use TREE_SET_PERMANENT. |
| * print-tree.c (print_node): Don't report value of |
| TREE_PERMANENT if ggc_p is true. |
| |
| * c-common.c (c_get_alias_set): Don't use TREE_PERMANENT to |
| decide whether to give a type a new alias set. |
| * objc/objc-act.c (build_objc_string_object): Never copy the string. |
| * tree.c (make_node): Set DECL_IN_SYSTEM_HEADER irrespective |
| of value of 'obstack'. |
| |
| |
| 2000-02-24 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x/c4x.c (c4x_process_after_reload): Split all insns. |
| |
| 2000-02-23 Alexandre Oliva <oliva@lsd.ic.unicamp.br> |
| |
| * cpplib.h (enum cpp_token): Added CPP_WCHAR and CPP_WSTRING. |
| * cpplib.c (cpp_get_token): Produce them. |
| * cppexp.c (cpp_lex): Handle them. |
| |
| 2000-02-23 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/arm.c (arm_comp_type_attributes): Simply and |
| comment tests on type attributes. |
| |
| Wed Feb 23 16:42:21 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * final.c (shorten_branches): Make value passed to LOOP_ALIGN |
| conform to documentation. |
| * sh.h (LOOP_ALIGN): If aligning loops, call sh_loop_align |
| to check for special cases. |
| * sh-protos.h (sh_loop_align): Declare. |
| * sh.c (sh_loop_align): Define. |
| |
| 2000-02-22 Andrew Haley <aph@cygnus.com> |
| |
| * config/mips/mips.h (GAS_ASM_SPEC): Pass -mgp32/-mgp64 to gas. |
| (SIZE_TYPE): Is 32 bits when using -mgp32. |
| (PTRDIFF_TYPE): Ditto. |
| |
| Wed Feb 23 07:26:27 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * diagnostic.c (init_output_buffer): Handle case of null PREFIX. |
| |
| 2000-02-23 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * config/i386/i386.h: If IN_TARGET_LIBS is defined, make |
| BIGGEST_FIELD_ALIGNMENT a constant. |
| |
| 2000-02-21 Jason Merrill <jason@casey.cygnus.com> |
| |
| * dwarf2out.c (output_line_info): Put the marker for the end of |
| the line number info at the actual end. |
| (gen_struct_or_union_type_die): Use decl_function_context |
| to check for local classes. |
| * dwarfout.c (output_type): Likewise. |
| |
| Tue Feb 22 01:38:57 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * pa.h (FUNCTION_ARG_PASS_BY_REFERENCE): Handle pass-by-reference |
| for arguments with a mode, but no type. |
| (FUNCTION_ARG_CALLEE_COPIES): Similarly. |
| * t-pa (LIB2FUNCS_EXTRA): Add quadlib.asm. |
| * pa/long_double.h: New file. |
| * configure.in (hpux10, hpux11 configurations): hpux10 and hpux11 |
| both have 128bit wide long doubles. |
| * configure: Rebuilt. |
| |
| 2000-02-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * defaults.h (ASM_OUTPUT_ASCII): Constify a char*. |
| |
| * flow.c (get_common_dest, chain_reorder_blocks, make_reorder_chain, |
| fixup_reorder_chain, skip_insns_between_block): Add static prototypes. |
| (life_analysis): Wrap variable `i' with macro ELIMINABLE_REGS. |
| |
| * haifa-sched.c (rank_for_schedule): Don't cast away const-ness. |
| |
| * integrate.c (compare_blocks, find_block): Likewise. |
| |
| * rtl.c (fatal_with_file_and_line): Add ATTRIBUTE_PRINTF_2. |
| |
| * rtl.h (set_file_and_line_for_stmt): Constify a char*. |
| |
| * stmt.c (stmt_status, set_file_and_line_for_stmt, |
| expand_asm_operands): Likewise. |
| |
| Mon Feb 21 17:06:27 2000 Jason Eckhardt <jle@cygnus.com> |
| |
| * predict.c (estimate_probability): Added the pointer heuristic to |
| the collection of static branch predictors. |
| |
| 2000-02-21 Catherine Moore <clm@cygnus.com> |
| |
| * config/mips/mips.h (ASM_SPEC): Add -mfix700. |
| * invoke.texi (-mfix7000): Document. |
| |
| 2000-02-21 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * diagnostic.c (init_output_buffer): Make it possible to output at |
| least 32 characters if we're given a too long prefix. |
| |
| 2000-02-20 Mark Mitchell <mark@codesourcery.com> |
| |
| * varasm.c (initializer_constant_valid_p): Call |
| lang_expand_constant to simplify the constant. |
| |
| 2000-02-20 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/inclhack.def(stdio_va_list): |
| typedef needs to be disabled. |
| * fixinc/inclhack.sh: regen |
| * fixinc/fixincl.x: regen |
| |
| 2000-02-20 Geoff Keating <geoffk@cygnus.com> |
| |
| * print-rtl.c (print_rtx): Don't print addresses when |
| flag_dump_unnumbered. |
| |
| 2000-02-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * sparc.c (sparc_output_scratch_registers): Mark parameter with |
| ATTRIBUTE_UNUSED. |
| (sparc_va_arg, sparc_flat_output_function_prologue, |
| sparc_flat_output_function_epilogue): Cast value to unsigned in |
| comparison. |
| (sparc_emit_float_lib_cmp): Remove unused variable `cmp'. |
| |
| * sparc.md: Add default case in switch. |
| |
| 2000-02-19 Richard Henderson <rth@cygnus.com> |
| |
| * c-typeck.c (add_pending_init): Don't abort for multiple |
| fields at the same offset. |
| (pending_init_member): Test the correct member. |
| |
| 2000-02-19 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> |
| |
| * except.c (start_dynamic_handler) : Use TYPE_MODE (integer_type_node) |
| instead of SImode. |
| (start_catch_handler) : Same. |
| |
| 2000-02-19 Brad Lucier (lucier@math.purdue.edu) |
| |
| * Makefile.in: Have flow.o depend on $(EXPR_H) |
| |
| Sat Feb 19 18:43:13 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * c-common.c (decl_attributes): Set DECL_SIZE_UNIT. |
| * c-decl.c (duplicate_decls, finish_enum): Likewise. |
| (finish_decl): Remove -Wlarger-than code from here. |
| * flags.h (id_clash_len): Now int. |
| (larger_than_size): Now HOST_WIDE_INT. |
| * fold-const.c (size_int_wide): No more HIGH parm; NUMBER is signed. |
| Clean up checking to see if in table. |
| (make_bit_field_ref): Remove extra parm to bitsize_int. |
| * ggc-common.c (ggc_mark_tree_children): Mark DECL_SIZE_UNIT. |
| * print-tree.c (print_node): Print DECL_SIZE_UNIT and TYPE_SIZE_UNIT. |
| * stmt.c (expand_decl): Use DECL_SIZE_UNIT for stack checking size |
| and for computing size of decl. |
| * stor-layout.c (layout_decl): Set DECL_SIZE_UNIT. |
| Move -Wlarger-than code to here. |
| (layout_record): Remove extra arg to bitsize_int. |
| Set TYPE_BINFO_SIZE_UNIT. |
| (layout_union): Remove extra arg to bitsize_int. |
| Use proper type for size of QUAL_UNION. |
| (layout_type): Remove extra arg to bitsize_int. |
| * toplev.c (id_clash_len): Now int. |
| (larger_than_size): Now HOST_WIDE_INT. |
| (decode_W_option): Clean up id-clash and larger-than- cases. |
| * tree.c (get_identifier, maybe_get_identifier): Remove unneeded casts. |
| (expr_align, case FUNCTION_DECL): DECL_ALIGN is not defined. |
| * tree.h (BINFO_SIZE_UNIT, TYPE_BINFO_SIZE_UNIT, DECL_SIZE_UNIT): New. |
| (struct tree_decl): New field size_unit. |
| (size_int_wide): No HIGH operand; NUMBER is now signed. |
| (size_int_2): Deleted. |
| (size_int, bitsize_int): Don't use it and rework args. |
| * varasm.c (assemble_variable, output_constructor): Use DECL_SIZE_UNIT. |
| |
| Fri Feb 18 20:01:58 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * pa/quadlib.asm (_U_QFgt, _U_Qfge): Fix flags for _U_Qfcmp call. |
| |
| 2000-02-18 Geoff Keating <geoffk@cygnus.com> |
| |
| * invoke.texi (Warning Options): Add an explanation of why |
| you might want the -Wfloat-equal flag. |
| |
| Fri Feb 18 20:08:57 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * bitmap.c (bitmap_operation): Avoid using -1 for index since unsigned. |
| * cppinit.c (new_pending_define): Add cast to avoid warning. |
| * expmed.c (extract_bit_field): Likewise. |
| * flow.c (enum reorder_skip_type): New type. |
| (skip_insns_between_blcok): New it. |
| Rework to avoid warning about possibly undefined variable. |
| * function.c (assign_parms): Make thisparm_boundary unsigned. |
| * genrecog.c (write_switch): Cast XWINT result to int. |
| * lcm.c: Many static fcns and vars now #ifdef OPTIMIZE_MODE_SWITCHING. |
| * mips-tfile.c (init_file): Make two versions of FDR initializer: |
| one for MIPS and one for Alpha. |
| (get_tag, copy_object): Add casts to avoid warnings. |
| * optabs.c (init_one_libfunc): Cast NAME to (char *). |
| * reload.c (find_reloads): Make TYPE enum reload_type. |
| * sbitmap.c (dump_sbitmap): J is unsigned; don't use "1L". |
| * unroll.c (unroll_loop): Initialize UNROLL_NUMBER. |
| * varasm.c (compare_constant_1): Add cast to avoid warning. |
| * config/alpha/alpha.c (alpha_emit_xfloating_libcall): Cast FUNC |
| to (char *). |
| (alpha_expand_unaligned_load, alpha_expand_unaligned_store): |
| Cast switch operand of size to int. |
| (alpha_expand_epilogue): Always initialize fp_offset and sa_reg. |
| * config/alpha/alpha.h (INITIAL_ELIMINATION_OFFSET): Add abort |
| in unhandled case. |
| |
| 2000-02-18 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/elf.h (ASM_OUTPUT_ALIGN): Do not generate |
| anything for an alignment of zero. |
| |
| * config/arm/thumb.h (ASM_OUTPUT_ALIGN): Do not generate |
| anything for an alignment of zero. |
| |
| 2000-02-18 Martin von Löwis <loewis@informatik.hu-berlin.de> |
| |
| * gcc.texi (Bug Reporting): Refer to bugs.html. |
| (Bug Lists): Likewise. |
| * system.h (GCCBUGURL): New preprocessor define. |
| * rtl.c (fancy_abort): Use it. |
| * gcc.c (main): Likewise. |
| |
| 2000-02-18 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (INSN_VOLATILE, SET_INSN_VOLATILE, uid_volatile): Remove. |
| (life_analysis_1): Subsume into ... |
| (life_analysis): ... here. Force PROP_REG_INFO off after reload. |
| Use update_life_info for the relaxation. |
| (update_life_info): Update REG_BASIC_BLOCK for registers live on |
| entry and regs_live_at_setjmp. |
| (set_noop_p): Simplify. |
| (notice_stack_pointer_modification_1): Renamed from s/_1//. |
| (record_volatile_insns): Split into ... |
| (delete_noop_moves): ... here, |
| (notice_stack_pointer_modification): ... here, |
| (insn_dead_p): ... and here. |
| (propagate_block): Don't query INSN_VOLATILE. |
| (mark_used_regs): Mind !PROP_REG_INFO. |
| * toplev.c (rest_of_compilation): Call mark_constant_function here, |
| not in life_analysis. |
| |
| Fri Feb 18 01:29:22 EST 2000 John Wehle (john@feith.com) |
| |
| * loop.c (canonicalize_condition): New function, |
| broken out of get_condition. |
| (get_condition): Use it. |
| * expr.h (canonicalize_condition): Prototype it. |
| |
| * tree.h (tree_int_cst_msb): Declare. |
| * tree.c (tree_int_cst_msb): New function. |
| |
| 2000-02-17 Mark Mitchell <mark@codesourcery.com> |
| |
| * stmt.c (set_file_and_line_for_stmt): Don't crash if cfun->stmt |
| isn't set. |
| |
| * invoke.texi (-fmessage-length=n): Document. |
| |
| 2000-02-17 Jason Merrill <jason@casey.cygnus.com> |
| |
| * bitmap.c (bitmap_operation): Don't leak bitmap elements. |
| |
| 2000-02-17 Mark Mitchell <mark@codesourcery.com> |
| |
| * function.c (thread_prologue_and_epilogue_insns): Put a line note |
| after the prologue. |
| |
| 2000-02-17 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/thumb.c: Replace includes of system headers with |
| #include "system.h". |
| |
| 2000-02-16 Richard Henderson <rth@cygnus.com> |
| |
| * configure.in (alpha-linux*, alpha-netbsd) [extra_parts]: |
| Add crtbeginS.o and crtendS.o. |
| * alpha/elf.h (STARTFILE_SPEC): Use crtbeginS.o. |
| (ENDFILE_SPEC): Use crtendS.o. |
| * alpha/t-crtbe (crtbeginS.o, crtendS.o): New targets. |
| |
| * alpha/crtbegin.asm (__do_frame_takedown): Merge into ... |
| (__do_global_dtors_aux): ... here. Call __cxa_finalize if |
| shared and present. |
| (__dso_handle): New variable. |
| * alpha/crtend.asm (__do_global_ctors_aux): Remove runtime |
| bias to __CTOR_END__. |
| |
| 2000-02-16 Richard Henderson <rth@cygnus.com> |
| |
| * Makefile.in (s-crtS, crtbeginS, crtendS): Prefix usage with $(T). |
| |
| Wed Feb 16 21:40:04 2000 Hans-Peter Nilsson <hp@bitrange.com> |
| |
| * longlong.h (__clz_tab): Declare as static to match definition. |
| |
| 2000-02-16 Mark Elbrecht <snowball3@bigfoot.com> |
| |
| * i386/xm-djgpp.h (LIBSTDCXX): Delete. Moved to config/i386/djgpp.h. |
| (XREF_FILE_NAME): Define. |
| |
| * i386/djgpp.h (DATA_SECTION_ASM_OP): Define. |
| (EH_FRAME_SECTION_ASM_OP): Define. |
| (IDENT_ASM_OP): Define. |
| (TEXT_SECTION_ASM_OP): Define. |
| (CPP_SPEC): Define. |
| (CTORS_SECTION_ASM_OP): Define. |
| (CTOR_SECTION_FUNCTION): Use it. |
| (DTORS_SECTION_ASM_OP): Define. |
| (DTOR_SECTION_FUNCTION): Use it. |
| |
| 2000-02-16 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * reg-stack.c (emit_swap_insn): Do not put a new insn before a |
| NOTE_BASIC_BLOCK. |
| |
| * flow.c (dump_regset, debug_regset, dump_bb, debug_bb, |
| debug_bb_n): New functions. |
| (dump_flow_info, print_rtl_with_bb): Use dump_regset. |
| * basic-block.h: Prototype new functions. |
| |
| Wed Feb 16 21:07:53 2000 Denis Chertykov <denisc@overta.ru> |
| |
| * configure.in: Add support for avr target. |
| * configure: Rebuilt. |
| |
| * invoke.texi: Add AVR invocation docs. |
| * install.texi: Add information about AVR. |
| * md.texi: Add AVR constraint letters description. |
| * extend.texi: Add description for AVR specific attributes. |
| |
| 2000-02-16 Jason Merrill <jason@casey.cygnus.com> |
| |
| * fixinc/fixinc.svr4: Wrap byteorder.h with extern "C". |
| |
| 2000-02-16 Nick Clifton <nickc@cygnus.com> |
| |
| * emit-rtl.c (emit_insn): Move RTL check into make_insn_raw. |
| (make_insn_raw): Move RTL check here. |
| |
| 2000-02-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * version.c: Include gansidecl.h and version.h. |
| |
| * version.h: Wrap entire file in macro __GCC_VERSION_H__. |
| |
| * configure.in (gcc_version): When setting, narrow search to |
| lines containing `version_string'. |
| |
| * Makefile.in (mainversion): Likewise. |
| (GCC_H): New variable. |
| (gcc.h): Delete target. |
| (gcc.o, gccspec.o, cppspec.o): Depend on $(GCC_H), not gcc.h. |
| (version.o): Depend on version.h. |
| (dbxout.o): Don't depend on gcc.h. |
| |
| Wed Feb 16 15:04:49 2000 Hans-Peter Nilsson <hp@bitrange.com> |
| Michael Meissner <meissner@cygnus.com> |
| |
| * md.texi (Simple Constraints): Add item about whitespace. |
| * genoutput.c (strip_whitespace): New. |
| (scan_operands) [MATCH_OPERAND, MATCH_SCRATCH]: Call |
| strip_whitespace for constraints. |
| Test pointer using NULL, not 0. |
| |
| 2000-02-16 Alexandre Oliva <oliva@lsd.ic.unicamp.br> |
| |
| * cpplib.c (do_line): Pedwarn for #line > 32767. |
| |
| * c-lex.c (readescape): Warn about '\x', but do not reject it. |
| |
| 2000-02-15 Jonathan Larmour <jlarmour@redhat.co.uk> |
| |
| * gcc.c (default_compilers): Add new __GNUC_PATCHLEVEL__ define |
| to default cpp spec. |
| (do_spec_1): Add support for %v3 spec used by __GNUC_PATCHLEVEL__. |
| * cpp.texi: Document __GNUC_PATCHLEVEL__. |
| * cpp.1: Likewise. |
| |
| * objc/lang-specs.h: Add new __GNUC_PATCHLEVEL__ define to |
| default spec. |
| |
| 2000-02-15 Denis Chertykov <denisc@overta.ru> |
| |
| * configure.in: Add support for avr target. |
| |
| Wed Feb 16 03:21:43 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * sh.h (OVERRIDE_OPTIONS): Don't set sh_addr_diff_vec_mode. |
| (sh_addr_diff_vec_mode): Don't declare. |
| * sh.c (sh_addr_diff_vec_mode): Delete. |
| |
| Wed Feb 16 01:27:52 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * sh.md (mulsi3_highpart): Add REG_EQUAL note to last insn. |
| |
| Wed Feb 16 00:58:06 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * sh.md (udivsi3_i1, divsi3_i1, umulhisi3_i, mulhisi3_i): Name. |
| (smulsi3_highpart_i): Name. |
| (udivsi3): Wrap emitted insns in REG_LIBCALL / REG_RETVAL notes. |
| (divsi3, mulhisi3, umulhisi3, mulsidi3, umulsidi3): Likewise. |
| (smulsi3_highpart, umulsi3_highpart): Likewise. |
| |
| (mulsidi3_i, umulsidi3_i): Make rtl describe operation |
| correctly independent of endianness. |
| (mulsidi3, umulsidi3): Now define_insn. Hide details that |
| confuse the optimizers. |
| (mulsidi3+1, umulsidi3+1): New define_split. |
| |
| Tue Feb 15 23:22:26 2000 Andrew Haley <aph@cygnus.com> |
| |
| * config/sh/sh.md: Guard insn splits against illegal registers. |
| * config/sh/sh.h: Correct comment about macros. |
| |
| Tue Feb 15 22:30:36 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| Andrew MacLeod <amacleod@cygnus.com> |
| |
| * Makefile.in (lcm.o): Depend on insn-attr.h. |
| * basic-block.h (optimize_mode_switching): Declare. |
| * lcm.c (tm_p.h, insn-attr.h): #include. |
| (seginfo, bb_info): New structs. |
| (antic, transp, comp, delete, insert) : New file-scope static variables. |
| (new_seginfo, add_seginfo, make_preds_opaque, reg_dies): New functions. |
| (reg_becomes_live, optimize_mode_switching): Likewise. |
| * tm.texi: Add description of mode switching macros. |
| * toplev.c (rest_of_compilation): Call optimize_mode_switching. |
| |
| * sh-protos.h (remove_dead_before_cse): Remove prototype. |
| (fldi_ok, fpscr_set_from_mem): New prototypes. |
| * sh.h (OPTIMIZATION_OPTION): Remove sh_flag_remove_dead_before_cse set. |
| (CONST_DOUBLE_OK_FOR_LETTER_P, SECONDARY_INPUT_RELOAD_CLASS): |
| Disable fldi for (TARGET_SH4 && ! TARGET_FMOVD). |
| (sh_flag_remove_dead_before_cse): Remove declaration. |
| (NUM_MODES_FOR_MODE_SWITCHING, OPTIMIZE_MODE_SWITCHING): New macros. |
| (MODE_USES_IN_EXIT_BLOCK, MODE_NEEDED, MODE_AT_ENTRY): Likewise. |
| (MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise. |
| * sh.c (broken_move): Disable fldi for (TARGET_SH4 && ! TARGET_FMOVD). |
| (barrier_align): Allow for JUMP_INSNS containing a parallel. |
| (machine_dependent_reorg): Remove sh_flag_remove_dead_before_cse set. |
| (fldi_ok): New function. |
| (get_fpscr_rtx): Add fpscr_rtx as GC root. |
| (emit_sf_insn): Only generate fpu switches when optimize < 1. |
| (emit_df_insn): Likewise. |
| (expand_fp_branch, emit_fpscr_use, remove_dead_before_cse): Delete. |
| (sh_flag_remove_dead_before_cse): Delete. |
| (get_free_reg, fpscr_set_from_mem): New functions. |
| * sh.md (movdf, movsf): Remove no_new_pseudos code. |
| (return): Remove emit_fpscr_use / remove_dead_before_cse calls. |
| |
| 2000-02-15 Loren Rittle <ljrittle@acm.org> |
| |
| * ginclude/stddef.h: Correct usage of _BSD_RUNE_T_ for FreeBSD. |
| |
| 2000-02-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * Makefile.in (TREE_H, collect2.o, gcc.h, mips-tfile.o, cccp.o, |
| cpphash.o, cppinit.o, protoize.o, unprotoize.o): Depend on version.h. |
| |
| * cccp.c: Include version.h and/or don't declare `version_string'. |
| * collect2.c: Likewise. |
| * alpha.c: Likewise. |
| * arm/aof.h: Likewise. |
| * arm/coff.h: Likewise. |
| * arm/elf.h: Likewise. |
| * arm/pe.h: Likewise. |
| * arm/tcoff.h: Likewise. |
| * arm/telf.h: Likewise. |
| * arm/tpe.h: Likewise. |
| * arm/vxarm.h: Likewise. |
| * convex/convex.c: Likewise. |
| * i386/dgux.c: Likewise. |
| * i386/sun386.h: Likewise. |
| * m88k/m88k.c: Likewise. |
| * mcore/mcore-pe.h: Likewise. |
| * mips/mips.h: Likewise. |
| * romp/romp.h: Likewise. |
| * sh/sh.c: Likewise. |
| * cpphash.c: Likewise. |
| * cppinit.c: Likewise. |
| * dwarf2out.c: Likewise. |
| * dwarfout.c: Likewise. |
| * gcc.c: Likewise. |
| * gcc.h: Likewise. |
| * mips-tfile.c: Likewise. |
| * protoize.c: Likewise. |
| * toplev.c: Likewise. |
| * tree.h: Likewise. |
| |
| * version.c (version_string): Constify a char*. |
| |
| * version.h: New file. |
| |
| 2000-02-14 Nick Clifton <nickc@cygnus.com> |
| |
| * configure.in: Add mcore-elf and mcore-pe targets. |
| * configure: Regenerate. |
| |
| * NEWS: Add note that MCore port has been contributed. |
| |
| * invoke.texi: Document command line switches for MCore port. |
| * install.texi: Add MCore to list of supported targets. |
| |
| 2000-02-14 Geoff Keating <geoffk@cygnus.com> |
| |
| * collect2.c (main) [COLLECT_EXPORT_LIST]: If we have frames, |
| then we will need to import the frame handling functions. |
| (scan_prog_file) [COLLECT_EXPORT_LIST]: We will also need |
| to import the frames themselves. |
| |
| Mon Feb 14 13:31:01 2000 Stan Cox <scox@cygnus.com> |
| Jason Eckhardt <jle@cygnus.com> |
| |
| * basic_block.h: Added prototype for reorder_basic_blocks. |
| * toplev.c: Changes to add -freorder-blocks and graph dump after |
| block reordering is done. |
| * flow.c (reorder_block_def): New structure for use during block |
| reordering. |
| (REORDER_BLOCK_*): New macros to access members of above structure. |
| (skip_insns_between_block, get_common_dest, chain_reorder_blocks, |
| make_reorder_chain, fixup_reorder_chain, reorder_basic_blocks): New |
| functions for block reordering. |
| |
| Mon Feb 14 11:24:44 2000 Hans-Peter Nilsson <hp@bitrange.com> |
| |
| * gcc.texi (Passes): Fix typo. |
| * md.texi (Standard Names): Ditto. |
| * tm.texi (Storage Layout): Ditto. |
| |
| 2000-02-13 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplib.c (do_define): Only free the old definition if it |
| actually had one. |
| |
| 2000-02-13 Neil Booth <NeilB@earthling.net> |
| |
| * cppfiles.c (read_and_prescan): When emitting deferred |
| newlines, test speccase[] again instead of checking each |
| possible whitespace character in turn. When we encounter \r, |
| look behind for \n first, then ahead. |
| |
| 2000-02-13 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cse.c (cse_altered): New internal flag. |
| (cse_insn): Set it if we changed an insn. |
| (cse_main): Clear cse_altered before each basic block. |
| Only garbage collect if cse_altered is true afterward. |
| |
| Sun Feb 13 14:12:28 2000 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> |
| |
| * sparc/sol2.h (LIB_SPEC): Link -ldl if profiling. |
| |
| Sun Feb 13 13:21:55 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * combine.c (simplify_comparison): Fix typo. |
| |
| Sun Feb 13 12:57:52 2000 Neil Booth <NeilB@earthling.net> |
| |
| * prefix.c (concat, lookup_key): Use xmalloc and xrealloc |
| consistently. |
| |
| 2000-02-13 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * flow.c (flow_loop_tree_node_add): Use better algorithm by passing |
| previously inserted node instead of root node. Caller changed. |
| |
| 2000-02-13 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * basic-block.h (FLOW_LOOP_FIRST_BLOCK, FLOW_LOOP_LAST_BLOCK): Delete. |
| |
| 2000-02-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * crtstuff.c (__do_global_ctors_aux, __reg_frame_ctor, |
| __dereg_frame_dtor): Add prototype argument. |
| |
| * gthr-dce.h (__gthread_active_p, __gthread_once): Likewise. |
| |
| * gthr-posix.h (__gthread_active_p, __gthread_once): Likewise. |
| |
| * gthr-solaris.h (__gthread_active_p, __gthread_once): Likewise. |
| |
| * gthr-vxworks.h (__gthread_once): Likewise. |
| |
| * gthr-win32.h (__gthread_active_p, __gthread_once): Likewise. |
| |
| Sat Feb 12 01:44:26 MET 2000 Jan Hubicka <jh@suse.cz> |
| |
| * i386.c (ix86_emit_restore_regs_using_mov): Break out from ... |
| (ix86_expand_epilogue): ... here. Use mov instead of add to restore |
| stack pointer in functions w/o saved registers, output LEAVE more often |
| on TARGET_USE_LEAVE machines. |
| |
| 2000-02-07 Dmitri Makarov <dim@wrs.com> & Bernd Schmidt <bernds@redhat.com> |
| |
| * config/arm/arm.c (arm_init_cumulative_args); New function: |
| Initlaise the CUMULATIE_ARGS strcuture for a function |
| definition. |
| (arm_function_arg): New function: Determine where to place a |
| function's argument. Also handles deciding the function's |
| call cookie. |
| (current_file_function_operand): New function: Return true if |
| the symbol is a function which has already been compiled. |
| (arm_is_long_call_p): New function: Return true if the |
| indicated function should be called via a long call. |
| (arm_valid_type_attribute_p): New function: Return true if the |
| attribute is a valid, arm specific, attribute. |
| (arm_comp_type_attribute): New function: Return true if the |
| two types have compatible, arm specific, attributes. |
| |
| * config/arm/arm.h (CUMULATIVE_ARGS): Redefine to be a |
| structure. |
| (FUNCTION_ARG): Redefine to call arm_function_arg. |
| (FUNCTION_ARG_PARTIAL_NREGS): Redefine to use correct |
| structure field. |
| (INIT_CUMULATIVE_ARGS): Redefine to call |
| arm_init_cumulative_args. |
| (FUNCTION_ARG_ADVANCE): Redefine to use correct structure |
| field. |
| (SETUP_INCOMING_VARARGS): Redefine to use correct structure |
| field. |
| (ARM_MARK_NEARBY_FUNCTION): New macro: Mark already compiled |
| functions. |
| (ENCODE_SECTION): Add call to ARM_MARK_NEARBY_FUNCTION. |
| (VALID_MACHINE_TYPE_ATTRIBUTE): Define. |
| (COMP_TYPE_ATTRIBUTES): Define. |
| |
| * config/arm/arm.md (call): Call arm_is_long_call_p to decide |
| if a long call is needed. |
| (call_value): Call arm_is_long_call_p to decide if a long call |
| is needed. |
| (call_symbol): Call arm_is_long_call_p to decide if a long call |
| is needed. |
| |
| * config/arm/arm-protos.h: Add prototype for arm_is_long_call_p. |
| |
| 2000-02-11 Denis Chertykov <denisc@overta.ru> |
| |
| * README.AVR: New file with information about the avr ports. |
| * config/avr: New directory with avr port files. |
| |
| 2000-02-11 Andreas Jaeger <aj@suse.de> |
| |
| * fixinc/Makefile.in (FIXINC_DEFS): Remove unneeded @fixinc_defs@. |
| |
| 2000-02-11 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpphash.c: Fix formatting, update commentary. |
| (dump_definition): Take three separate arguments instead of a |
| MACRODEF structure argument. |
| * cpphash.h: Update prototype of dump_definition. |
| * cppinit.c (cpp_finish): Update call of dump_definition. |
| |
| * cpplib.c (do_define): Always create new hash entry with |
| T_MACRO type. Remove redundant check for redefinition of |
| poisoned identifier. Update call of dump_definition. |
| (do_undef): Don't call check_macro_name. Rename sym_length to |
| len. |
| (do_error, do_warning): Don't use copy_rest_of_line or |
| SKIP_WHITE_SPACE. |
| (do_warning): Don't use pedwarn for the actual warning, |
| only the notice about its not being in the standard. (Fixes |
| bug with #warning in system headers.) |
| (do_ident): Stricter argument checking - accept only a single |
| string after #ident. Also, macro-expand the line. |
| (do_xifdef): Use cpp_defined. De-obfuscate. |
| |
| (do_pragma): Split out specific pragma handling to separate |
| functions. Use get_directive_token. Update commentary. Do |
| not pass on #pragma once or #pragma poison to the front end. |
| (do_pragma_once, do_pragma_implementation, do_pragma_poison, |
| do_pragma_default): New. |
| |
| Feb 11 12:30:53 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * jump.c (jump_optimize_1): The first operand in a relational |
| can be a CONST_INT. |
| * optabs.c (emit_conditional_move): Handle relationals which |
| have a known true/false result. |
| |
| 2000-02-11 Geoff Keating <geoffk@cygnus.com> |
| |
| * function.c (thread_prologue_and_epilogue_insns): Don't insert |
| a RETURN insn into a block which already ends with a jump. |
| |
| 2000-02-11 Geoff Keating <geoffk@cygnus.com> |
| |
| * haifa-sched.c (BUF_LEN): Increase a lot. |
| |
| 2000-02-11 Nick Clifton <nickc@cygnus.com> |
| |
| * configure.in: Add tm_p_file specification for thumb targets. |
| * configure: Regenerate. |
| |
| * config/arm/thumb-protos.h: New file: Prototypes for exported |
| functions defined in thumb.c. |
| |
| 2000-02-11 Robert Lipe <robertl@sco.com> |
| |
| * Makefile.in (bootstrap-lean): Remove additional files. |
| (bootstrap2-lean): Likewise. |
| (VOL_FILES): List of files for above. |
| |
| 2000-02-11 Nathan Sidwell <nathan@acm.org> |
| |
| * cpphash.c (special_symbol): Remove spurious argument to |
| cpp_lookup. |
| |
| 2000-02-11 Joel Sherrill (joel@OARcorp.com> |
| |
| * configure.in: (i*86-*-rtems*): Swapped elf and coff |
| stanzas. |
| * configure: Rebuilt. |
| |
| 2000-02-11 Rodney Brown <RodneyBrown@pmsc.com> |
| |
| * pa-protos.h: Wrap function_arg_padding in TREE_CODE #ifdef. |
| |
| Fri Feb 11 02:59:05 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * pa.c, pa.h: Remove trigraph sequences within comments. |
| |
| Fri Feb 11 02:51:56 2000 Pavel Roskin <pavel_roskin@geocities.com> |
| |
| * invoke.texi (PPC Options): -mno-new-mnenomics -> -mold-mnemonics. |
| |
| Fri Feb 11 02:48:30 2000 Brad Lucier (lucier@math.purdue.edu) |
| |
| * sbitmap.h: Make SBITMAP_ELT_BITS unsigned. |
| |
| 2000-02-11 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x/c4x.c (fp_zero_operand): Check for CONST_DOUBLE. |
| |
| 2000-02-11 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x/c4x.h (ASM_GLOBALIZE_LABEL): Use c4x_global_label. |
| (ASM_OUTPUT_EXTERNAL): Use c4x_external_ref. |
| (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise. |
| (ASM_FILE_END): Use c4x_file_end. |
| * config/c4x/c4x.c (c4x_global_label): New function. |
| (c4x_external_ref, c4x_file_end): Likewise. |
| |
| * config/c4x/c4x-protos.h (c4x_global_label): Add prototype. |
| (c4x_external_ref, c4x_end_file): Likewise. |
| |
| 2000-02-10 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppexp.c: Don't include cpphash.h. |
| (parse_charconst, cpp_lex): Use cpp_defined. |
| (cpp_lex): Use get_directive_token throughout. Remove |
| unnecessary cases from switch. Move assertion-handling code |
| down to OTHER case. |
| (cpp_parse_expr): If we see '+' or '-', check the context to |
| determine if they are unary or binary operators. Streamline |
| the jumps a bit. Do not call skip_rest_of_line. |
| |
| * cpplib.c: Make skip_rest_of_line and cpp_skip_hspace |
| static. Export get_directive_token. Update commentary. |
| (cpp_defined): New function. |
| (do_define): Remove reference to T_PCSTRING. Call |
| free_definition to release memory for old definition, when |
| redefining a macro. |
| (eval_if_expression): Set only_seen_white to 0 before calling |
| cpp_parse_expr. Call skip_rest_of_line after it returns. |
| (cpp_read_check_assertion): Don't preserve a pointer into the |
| token buffer across a call to cpp_get_token. |
| |
| * Makefile.in (cppexp.o): Don't depend on cpphash.h. |
| * cppfiles.c (redundant_include_p): Use cpp_defined. |
| * cpphash.c (free_definition): New function. |
| (delete_macro): Use it. Update commentary. |
| * cpphash.h: Typedef HASHNODE here. Prototype cpp_lookup and |
| free_definition. |
| * cpplib.h: Don't typedef HASHNODE here. Delete T_PCSTRING |
| from enum node_type. Prototype cpp_defined and get_directive_token. |
| Don't prototype cpp_lookup, skip_rest_of_line, or cpp_skip_hspace. |
| |
| * fix-header.c (check_macro_names): Use cpp_defined. |
| (read_scan_file): Set inhibit_warnings and inhibit_errors in |
| the options structure. |
| |
| 2000-02-10 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> |
| |
| * c-pragma.c (maximum_field_alignment): Remove duplicate declaration. |
| |
| 2000-02-10 Jason Merrill <jason@casey.cygnus.com> |
| |
| * dwarf2out.c (add_abstract_origin_attribute): Check TREE_CODE (origin) |
| rather than die->die_tag. |
| |
| Thu Feb 10 16:26:49 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * combine.c (make_extraction, force_to_mode): Avoid warning on |
| mixed-signedness conditionals. |
| (make_field_assignment, nonzero_bits): Likewise. |
| * expmed.c (store_fixed_bit_field): ALIGN arg now unsigned. |
| (store_split_bit_field, extract_split_bit_field): Likewise. |
| (extract_fixed_bit_field, store_bit_field, |
| * expr.c: Change alignment to be unsigned everywhere. |
| (move_by_pieces, store_constructor_field, store_constructor): |
| Alignment parm is unsigned. |
| (emit_block_move, emit_group_load, emit_group_store): Likewise. |
| (clear_storage, emit_push_insn, compare_from_rtx): Likewise. |
| (do_compare_rtx_and_jump): Likewise. |
| (move_by_pieces_ninsns, clear_by_pieces): Likewise. |
| Compare align with GET_MODE_ALIGNMENT. |
| (expand_expr_unaligned): Pointer to alignment is pointer to unsigned. |
| (get_inner_reference): Likewise. |
| (copy_blkmode_from_reg, emit_push_insn): Remove unneeded casts. |
| (expand_assignment): Local vars for alignment now unsigned. |
| (store_constructor, store_field, expand_expr, do_jump): Likewise. |
| (do_compare_and_jump): Likewise. |
| (store_field): Call new function expr_align. |
| * expr.h (emit_block_move, emit_group_load, emit_group_store): |
| Alignment arg now unsigned. |
| (clear_storage, emit_push_insn, compare_from_rtx): Likewise. |
| (do_compare_rtx_and_jump, store_bit_field): Likewise. |
| (extract_bit_field): Likewise. |
| * fold-const.c (add_double): Add cast to eliminate signedness warning. |
| * machmode.h (GET_MODE_ALIGNMENT): Result is unsigned. |
| (get_best_mode): Alignment arg is unsigned. |
| * rtl.h (move_by_pieces): Likewise. |
| * store-layout.c (maximum_field_alignment, set_alignment): |
| Now unsigned. |
| (layout_decl): Alignment arg is now unsigned. |
| Remove unneeded casts. |
| (layout_record, layout_union, layout_type): Remove unneeded casts. |
| Local alignment variables now unsigned. |
| (get_best_mode): Alignment arg now unsigned. |
| * tree.c (expr_align): New function. |
| * tree.h (expr_align): Likewise. |
| (maximum_field_alignment, set_alignment): Now unsigned. |
| (get_inner_reference): Alignment argument is now pointer to unsigned. |
| * varasm.c (assemble_variable): Add cast to eliminate warning. |
| |
| Thu Feb 10 12:56:47 2000 Jim Wilson <wilson@cygnus.com> |
| |
| * expmed.c (store_bit_field): If op0 and fieldmode are the same size, |
| then store directly into op0. |
| |
| * calls.c (expand_call): When emitting a NOTE_INSN_SETJMP, search for |
| the CALL_INSN, and emit the note immediately after it. |
| |
| 2000-02-10 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/thumb.md (epilogue): Include a (return) in the |
| generated insn, and emit it using emit_jump_insn not |
| emit_insn. |
| |
| Thu Feb 10 18:28:59 MET 2000 Jan Hubicka <jh@suse.cz> |
| |
| * function.c (assign_temp): Change zero-sized arrays to size 1. |
| * integrate.c (expand_inline_function): Do not update |
| stack_alignment_needed |
| * i386.c (compute_frame_size): Remove #ifdef PREFERRED_FRAME_BOUNDARY, |
| add some sanity checking, remove optimization for function with |
| zero frame size. |
| |
| 2000-02-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * flow.c (mark_regs_live_at_end): Delete unused variables. |
| |
| * ggc-page.c (ggc_page_print_statistics): bzero -> memset. |
| |
| * integrate.c (copy_rtx_and_substitute): Wrap variable `alignment' |
| in macro FRAME_GROWS_DOWNWARD. |
| |
| * stmt.c (expand_end_bindings): Delete unused variable. |
| |
| * unroll.c (iteration_info): Mark parameter `loop' with |
| ATTRIBUTE_UNUSED. |
| |
| 2000-02-10 Alexandre Oliva <oliva@lsd.ic.unicamp.br> |
| |
| * fixinc/server.c (load_data): Return NULL if the marker line is |
| not found. |
| (run_shell): If load_data returns NULL, retry the command once, in |
| a new shell. |
| |
| * configure: Rebuilt. |
| |
| 2000-02-09 Bruce Korb <bkorb@gnu.org> |
| |
| * gcc/fixincludes: ** DELETED ** |
| * gcc/fixcpp: ** DELETED ** |
| * gcc/fixinc-nt.sed: ** DELETED ** |
| * gcc/just-fixinc: ** DELETED ** |
| * gcc/Makefile.in: Removed out-dated commentary |
| * gcc/configure.in: Removed fast-fixincludes disablement. |
| * MAINTAINERS(Ian Taylor) moved to "Write after approval" group. |
| |
| 2000-02-09 Clinton Popetz <cpopetz@cygnus.com> |
| * function.c (thread_prologue_and_epilogue_insns): Uncomment |
| last change. |
| |
| 2000-02-09 Richard Henderson <rth@cygnus.com> |
| |
| * jump.c (delete_insn): Don't delete user labels at -O0. |
| |
| 2000-02-09 Robert Lipe <robertl@sco.com> |
| |
| * Makefile.in (gen-protos): Don't depend on HOST_LIBDEPS. |
| Don't link with HOST_LIBS. |
| |
| 2000-02-09 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * configure.in: Correct --help text for --with-dwarf2. |
| Put tm-dwarf2.h after other tm files, if it's requested. |
| * configure: Regenerate. |
| * config/tm-dwarf2.h: #undef PREFERRED_DEBUGGING_TYPE before |
| defining it. |
| |
| 2000-02-09 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplib.h: Provide HASHNODE typedef and forward decl of |
| struct hashnode only. Kill cpp_hashnode typedef. MACRODEF, |
| DEFINITION, struct hashnode, struct macrodef, struct |
| definition, scan_decls prototype, default defn of |
| INCLUDE_LEN_FUDGE moved elsewhere. |
| |
| * cpphash.h: MACRODEF, DEFINITION, struct macrodef, struct |
| definition, and struct hashnode moved here. Remove the unused |
| 'predefined' field from struct definition. Replace the 'args' |
| union with its sole member. All users updated (cpphash.c). |
| Delete HASHSTEP and MAKE_POS macros, and hashf prototype. Add |
| multiple include guard. |
| |
| * cpphash.c (hashf): Make static; use better algorithm; drop |
| HASHSIZE parameter; return an unsigned int. |
| (cpp_lookup): Drop HASH parameter. PFILE parameter is |
| used. Calculate HASHSIZE modulus here. |
| (cpp_install): Drop HASH parameter. Calculate HASHSIZE modulus |
| here. |
| (create_definition): Drop PREDEFINITION parameter. |
| * cpplib.c (do_define): Don't calculate a hash value here. |
| Don't pass (keyword == NULL) to create_definition. |
| |
| * scan.h: Prototype scan_decls here. |
| * cppfiles.c: Move INCLUDE_LEN_FUDGE default defn here. |
| * cppexp.c, cppfiles.c, cppinit.c, cpplib.c, fix-header.c: All |
| callers of cpp_lookup and cpp_install updated. |
| |
| * cpphash.c (macarg): Hoist all the flag diddling out of the |
| function... |
| (macroexpand): ... and out of the loop that calls macarg. |
| Skip over the initial paren before macro arguments with |
| cpp_get_non_space_token; point may be some distance before |
| that paren. Abort if it's not there. |
| |
| * cpplib.c (parse_clear_mark): Delete function. |
| (parse_set_mark, parse_goto_mark): Make static. |
| (ACTIVE_MARK_P): New macro. |
| (skip_block_comment, skip_line_comment): Do not bump the line |
| if ACTIVE_MARK_P is true. |
| (cpp_pop_buffer): The buffer to be popped may not have an |
| active mark. |
| (cpp_get_token): When looking for the initial paren before |
| macro arguments, only set a mark in a file buffer, Always |
| return to that mark before proceeding to call macroexpand or |
| return a NAME token. |
| |
| * cpplib.h: Remove prototypes of parse_set_mark, |
| parse_clear_mark, parse_goto_mark. |
| (struct cpp_options): Rename 'put_out_comments' to |
| 'discard_comments' and invert its sense. |
| * cppinit.c, cpphash.c, cpplib.c: All users of |
| put_out_comments changed to use discard_comments, with |
| opposite sense. |
| |
| 2000-02-09 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * function.c (thread_prologue_and_epilogue_insns): Don't delete |
| the edge from a block that both jumps and falls through to the |
| fallthru block. |
| |
| 2000-02-09 Scott Bambrough <scottb@netwinder.org> |
| |
| * config/arm/arm.md (movsi): In PIC mode, make sure that a |
| constant source address is legitimate. |
| |
| 2000-02-09 Philip Blundell <pb@futuretv.com> |
| |
| * config/arm/arm.c (legitimize_pic_address): Handle LABEL_REF |
| correctly. |
| |
| * config/arm/arm.h (LEGITIMATE_CONSTANT_P): Allow anything when |
| generating PIC. |
| (LEGITIMATE_PIC_OPERAND): Disallow references to labels. |
| |
| 2000-02-09 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplib.c (cpp_define, cpp_undef): Make sure the stacked buffer |
| ends with a newline and a NUL. Don't be so clever manipulating |
| strings. |
| |
| Wed Feb 9 14:18:08 MET 2000 Jan Hubicka <jh@suse.cz> |
| |
| * reload1.c (reload) Align stack frame to cfun->stack_alignment_needed, |
| not to BIGGEST_ALIGNMENT. |
| |
| 2000-02-08 Geoff Keating <geoffk@cygnus.com> |
| |
| * dwarf2.h (DW_CFA_GNU_negative_offset_extended): New constant. |
| * dwarf2out.c (dwarf_cfi_name): Print name of new constant. |
| (reg_save): Use DW_CFA_GNU_negative_offset_extended when needed. |
| (output_cfi): Handle output of DW_CFA_GNU_negative_offset_extended. |
| * frame.c (execute_cfa_insn): Handle |
| DW_CFA_GNU_negative_offset_extended. |
| |
| 2000-02-08 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (tidy_fallthru_edges): Split out from ... |
| (delete_unreachable_blocks): ... here. |
| (find_basic_blocks): Use it. |
| |
| Tue Feb 8 15:51:50 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * stmt.c (expand_decl): Do set RTX_UNCHANGING_P for TREE_READONLY. |
| |
| 2000-02-08 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * Makefile.in (GEN_PROTOS_OBJS): Remove libcpp.a. |
| (gen_protos.o): Don't depend on cpplib.h or cpphash.h. |
| (fix-header.o): Don't depend on cpphash.h. |
| |
| * scan.c (hashstr): New function. |
| * scan.h: Prototype it. |
| * fix-header.c: Don't include cpphash.h. Use hashstr. |
| * gen-protos.c: Don't include cpphash.h or cpplib.h. Use |
| hashstr. Report hash table statistics. Add private |
| definition of xrealloc. |
| |
| 2000-02-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * i386.h (TARGET_SWITCHES): Fix typo in option name. |
| |
| 2000-02-08 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * function.c (thread_prologue_and_epilogue_insns): Don't replace |
| jumps with returns unless they are jumps to the fallthru block. |
| |
| Tue Feb 8 07:53:55 2000 Jan Hubicka <jh@suse.cz> |
| |
| * i386.md (addqi3_cc): Fix constraints. |
| |
| Tue Feb 8 01:39:45 2000 Hans-Peter Nilsson <hp@bitrange.com> |
| |
| * function.c (emit_return_into_block): Wrap in #ifdef HAVE_return. |
| |
| 2000-02-07 Mark Mitchell <mark@codesourcery.com> |
| |
| * cpplib.c (cpp_get_token): Call CPP_BUMP_LINE after reading a |
| carriage return after a macro name. |
| |
| 2000-02-07 Fred Fish <fnf@be.com> |
| |
| * i386/beos-elf.h: (ASM_IDENTIFY_GCC): Define to nothing |
| so the gcc2_compiled symbol doesn't confuse BeOS debuggers. |
| |
| 2000-02-07 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppfiles.c (deps_output): Count spacers in deps_column. |
| |
| 2000-02-07 Neil Booth <NeilB@earthling.net> |
| |
| * cppinit.c (initialize_dependency_output): If there is no |
| suffix, don't try to look for known suffixes. Use strrchr. |
| (cpp_start_read): Remove duplicate initialization. |
| |
| Mon Feb 7 18:36:41 MET 2000 Jan Hubicka <jh@suse.cz> |
| |
| * calls.c (compute_argument_block_size): New argument |
| preferred_stack_boundary. |
| (expand_call): update cfun->preferred_stack_boundary, update call of |
| compute_argument_block_size |
| (emit_library_call): Increate cfun->preferred_stack_boundary |
| to PREFERRED_STACK_BOUNDARY |
| (emit_library_call_value): Likewise. |
| * explow.c (allocate_dynamic_stack_spave): Likewise. |
| * function.c (prepare_function_start): Set |
| cfun->preferred_stack_boundary |
| * function.h (struct function): Add preferred_stack_boundary field. |
| * integrate.c (expand_inline_function): Update |
| cfun->preferred_stack_boundary and cfun->stack_alignment_needed. |
| (copy_rtx_and_substitute): Align frame to stack_alignment_needed only. |
| * i386.c (compute_frame_size): Use cfun->preferred_stack_boundary. |
| |
| 2000-02-06 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplib.c (my_strerror, cpp_error, cpp_error_with_line, |
| cpp_error_from_errno, cpp_warning, cpp_warning_with_line, |
| cpp_pedwarn, cpp_pedwarn_with_line, |
| cpp_pedwarn_with_file_and_line): Move to cpperror.c. |
| (cpp_print_file_and_line, v_cpp_error, v_cpp_warning, |
| v_cpp_error_with_line, v_cpp_warning_with_line, |
| cpp_message_from_errno, cpp_perror_with_name): Delete. |
| |
| * cpperror.c (cpp_print_containing_files): Take starting |
| buffer as argument. |
| (cpp_file_line_for_message): Rename to cpp_print_file_and_line. |
| (v_cpp_message): Now called directly by all entry points. |
| Remove -1 case. |
| (cpp_pfatal_with_name, cpp_message): Delete. |
| (cpp_notice_from_errno, cpp_ice): New functions. |
| (cpp_notice): Is now for reporting error conditions, just |
| without an associated file. |
| (cpp_error, cpp_error_with_line): Don't do anything if |
| opts->inhibit_errors is on. |
| (cpp_pedwarn_with_file_and_line): Take column argument also. |
| |
| * cpplib.h: Update prototypes of exported functions. |
| (struct cpp_options): Add inhibit_errors. |
| |
| * cppalloc.c, cppfiles.c: Use fprintf not cpp_notice for |
| non-error messages. Include intl.h. |
| |
| * cppinit.c, cppmain.c: Likewise. Also, use |
| cpp_notice_from_errno instead of cpp_perror_with_name or |
| cpp_pfatal_with_name, and cpp_notice instead of cpp_message. |
| |
| * cppexp.c, cpphash.c, cppinit.c, cpplib.c: Use cpp_ice to |
| report internal errors. |
| |
| * cpplib.c (do_define): Switch bcopy to memcpy. |
| Give cpp_pedwarn_with_file_and_line a dummy column argument. |
| |
| * cpplib.c (copy_rest_of_line): Revert previous change: don't |
| bail out early if we hit a line comment. |
| |
| 2000-02-06 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (flow_delete_insn, make_edge, remove_edge): Export. |
| * basic-block.h: Declare them. |
| * emit-rtl.h (active_insn_p): New. |
| (next_active_insn, prev_active_insn): Use it. |
| * rtl.h: Declare it. |
| * function.c (emit_return_into_block): New. |
| (thread_prologue_and_epilogue_insns): Insert return insns instead |
| of epilogues when possible. |
| * jump.c (jump_optimize_1): Remove code to insert a return insn |
| on the fallthru to the exit block. |
| |
| * i386.c (ix86_can_use_return_insn_p): Fail for large poped args |
| and for non-empty stack frames. |
| * i386.md (return): Expand to return-pop as needed. |
| |
| 2000-02-06 Richard Henderson <rth@cygnus.com> |
| |
| * simplify-rtx.c (simplify_relational_operation): Canonicalize |
| constant to op1 for testing. |
| |
| 2000-02-06 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x/c4x.md (*ldi_on_overflow): New pattern. |
| (fixuns_truncqfqi2): Use it. |
| |
| 2000-02-06 Richard Henderson <rth@cygnus.com> |
| |
| * i386.c (ix86_agi_dependant): Handle pro_epilogue_adjust_stack |
| as a TYPE_LEA insn. |
| |
| * i386.md (widening and peepholes): Mask the constant instead of |
| using gen_lowpart. |
| |
| 2000-02-05 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppfiles.c (read_and_prescan) [case SPECCASE_QUESTION]: Bump |
| input pointer before possibly branching off to the backslash |
| code. |
| * cpphash.c (macroexpand): Correctly delete \r escapes when |
| stringifying parameters. |
| * cpplib.c (copy_rest_of_line): Go directly to skip_block_comment |
| if we can; bail out early if we hit a line comment. |
| (handle_directive): Treat '# 123' in an .S file just like |
| '# <punctuation>'. Discard the shifted '#' if we hit '#\n'. |
| Return 1 for '# not_a_directive'. |
| (get_directive_token): Pop macro buffers here, so that |
| cpp_get_token can't sneakily move past a newline. |
| Add sanity checks. |
| (cpp_get_token): goto randomchar if handle_directive returns 0. |
| |
| * cppalloc.c: Update copyright. |
| * cpplib.c: Merge all the static function prototypes into one |
| block. |
| * cpplib.h: Remove #if 0 block. |
| |
| * cpperror.c: Remove #ifdef EMACS block. |
| * cppmain.c: Likewise. |
| * cpphash.c: Remove #if 0 blocks. |
| * cppinit.c: Remove #if 0 blocks, and the -lint option. |
| * cpplib.c: Remove #if 0 blocks and code referencing |
| pcp_inside_if or for_lint. Remove duplicate error message. |
| Fix error messages for #else after #else or #elif. Reformat. |
| Remove archaic TODO list. |
| * cpplib.h: Remove pcp_inside_if and for_lint flags. |
| |
| 2000-02-05 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * i386/osf1elf.h: Add missing backslash to multiline string. |
| |
| 2000-02-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * longlong.h [sparc] (udiv_qrnnd): Avoid stringifying macro arg. |
| |
| 2000-02-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * Makefile.in (c-common.o): Depend on $(EXPR_H). |
| |
| * c-common.c: Include expr.h. |
| |
| * c-pragma.c (mark_align_stack): Add prototype. |
| |
| * caller-save.c (add_stored_regs): Likewise. |
| |
| * combine.c (record_promoted_value): Likewise. |
| |
| * i386.c (ix86_sched_reorder_pentium, ix86_sched_reorder_ppro): |
| Likewise. |
| |
| * cppinit.c (new_pending_define): Likewise. |
| |
| * cpplib.c (skip_block_comment, skip_line_comment): Likewise. |
| |
| * dwarf2out.c (save_rtx, splice_child_die, reverse_die_lists, |
| AT_class, AT_flag, AT_int, AT_unsigned, AT_string, AT_ref, AT_loc, |
| AT_addr, AT_lbl, get_AT_ref, free_AT, free_die, local_scope_p, |
| class_scope_p): Likewise. |
| |
| * dwarf2out.h (dwarf2out_set_demangle_name_func, |
| dwarf2out_add_library_unit_info): Likewise. |
| |
| * ggc.h (ggc_page_print_statistics): Likewise. |
| |
| * haifa-sched.c (propagate_deps): Likewise. |
| |
| * reg-stack.c (next_flags_user, record_label_references): Likewise. |
| |
| * rtl.h (set_stack_check_libfunc): Likewise. |
| |
| * toplev.h (set_fatal_function): Likewise. |
| |
| * toplev.c (set_fatal_function): Delete prototype. |
| |
| * diagnostic.c: Deconstify functions returning malloc'ed ptrs. |
| |
| 2000-02-05 Geoff Keating <geoffk@cygnus.com> |
| |
| * ginclude/ppc-asm.h (FUNC_START): Use USER_LABEL_PREFIX. |
| (FUNC_END): Likewise. |
| |
| 2000-02-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * caller-save.c: Include tm_p.h. |
| |
| 2000-02-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * Makefile.in (libgcc.a): Add $(LIBGCC1) to libgcc.a after $(LIBGCC2). |
| |
| 2000-02-04 Neil Booth <NeilB@earthling.net> |
| |
| * cccp.c (main): Check 'dir' for a NULL pointer before passing |
| it to strcmp. |
| |
| 2000-02-04 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * recog.h: Remove NO_MD_PROTOTYPES ifdefs. |
| * genflags.c: Use the max_operand_1 logic from genemit.c to |
| calculate how many arguments gen_insn prototypes have. Remove |
| NO_MD_PROTOTYPES ifdefs from the generated file. |
| * genoutput.c: Don't define NO_MD_PROTOTYPES in the generated |
| file. Cast gen_insn initializers to insn_gen_fn. |
| * config/alpha/vms.h: Don't define NO_MD_PROTOTYPES. |
| * gcc.texi: Remove documentation of NO_MD_PROTOTYPES. |
| |
| 2000-02-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * fixinc/Makefile.in (HDR): Add machname.h. |
| (clean): Likewise. |
| |
| 2000-02-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x/c4x.h (c4x_compare_op0, c4x_compare_op1): Move ... |
| (c4x_regclass_map, c4x_caller_save_map, c4x_rpts_cycles): Ditto. |
| (c4x_cpu_version): Ditto. |
| * config/c4x/c4x-protos.h: ... here. |
| |
| 2000-02-04 Jason Merrill <jason@casey.cygnus.com> |
| |
| * dwarf2out.c (add_abstract_origin_attribute): Don't call |
| gen_abstract_function on our context if we're a nested function. |
| |
| 2000-02-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x/c4x.md (fixuns_truncqfqi2): Rewrite. |
| * config/c4x/libgcc.S (ufix_truncqfhi2n): Fix. |
| |
| 2000-02-04 Bruce Korb <bkorb@gnu.org> |
| |
| * fixinc/genfixes(machname.h): |
| Move the functionality from gen-machine.h into this file. |
| UNdef MN_NAME_PAT if there are no names to change. |
| Also, be a little kinder when AutoGen is not present. |
| |
| * fixinc/Makefile.in(machname.h): |
| Change the generation rule to use genfixes. |
| |
| * fixinc/fixfixes.c(machine_name): |
| machine_name_fix's functionality now dependent upon whether |
| MN_NAME_PAT is defined. |
| |
| * fixinc/fixtests.c(machine_name): |
| ditto. |
| |
| * fixinc/fixlib.c(mn_get_regexps): conditional on definition |
| of MN_NAME_PAT. |
| |
| * fixinc/fixlib.h(mn_get_regexps): |
| ditto |
| |
| * fixinc/gen-machine.h: DELETED |
| |
| 2000-02-04 Jan Hubicka <jh@suse.cz> |
| Richard Henderson <rth@cygnus.com> |
| |
| * i386.c (SAVE_REGS_FIRST): Remove. |
| (ix86_initial_elimination_offset): Handle only SAVE_REGS_FIRST mode. |
| (ix86_compute_frame_size): Likewise. |
| (ix86_expand_prologue): Likewise. Use pro_epilogue_adjust_stack. |
| (ix86_emit_restore_regs): Remove. |
| (ix86_emit_epilogue_esp_adjustment): Use pro_epilogue_adjust_stack |
| when a frame pointer is in use. |
| (ix86_expand_epilogue): Handle only SAVE_REGS_FIRST mode. Use mov |
| instead of pop to restore a register when profitable; emit leave |
| when profitable. |
| (ix86_attr_length_default): Handle pro_epilogue_adjust_stack |
| as a TYPE_LEA insn. |
| (ix86_adjust_cost): Handle pro_epilogue_adjust_stack as TYPE_ALU. |
| * i386.md (prologue_allocate_stack): Remove. |
| (epilogue_deallocate_stack): Remove. |
| (pro_epilogue_adjust_stack): New. |
| |
| 2000-02-04 Richard Henderson <rth@cygnus.com> |
| |
| * function.c (diddle_return_value): Rework to use a callback function. |
| Use current_function_return_rtx if it's been set up. |
| (do_clobber_return_reg, clobber_return_register): New. |
| (do_use_return_reg, use_return_register): New. |
| (expand_function_end): Use them. |
| * stmt.c (expand_null_return): Likewise. |
| * function.h: Declare them. |
| * flow.c (mark_regs_live_at_end): Use diddle_return_value. |
| (mark_reg): Change arguments as appropriate for callback. |
| * integrate.c (expand_inline_function): Revert 19 Jan change. |
| |
| Fri Feb 4 20:25:42 2000 Hans-Peter Nilsson <hp@bitrange.com> |
| |
| * tm.texi (Values in Registers): Fix typo: "fo" "for". |
| (Misc): Say the scheduler, not the Haifa scheduler. |
| |
| 2000-02-04 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * jump.c (mark_jump_label): Add in_mem param, check SYMBOL_REFs |
| when in_mem is set. Update all callers. |
| |
| 2000-02-04 Richard Henderson <rth@cygnus.com> |
| |
| * i386/openbsd.h (INT_ASM_OP): Define. |
| |
| Fri Feb 4 10:51:30 2000 Hans-Peter Nilsson <hp@bitrange.com> |
| |
| * tm.texi: Fix various typos. |
| |
| Thu Feb 3 17:17:32 2000 Steve Ellcey <sje@cup.hp.com> |
| |
| * config/pa/pa-hpux11.h (LIB_SPEC): Correct typo in !p case. |
| (MD_STARTFILE_PREFIX_1): New macro. |
| |
| Thu Feb 3 15:08:13 MET 2000 Jan Hubicka <jh@suse.cz> |
| |
| * i386.md (movstrsi, clrstrsi): Support variable sized copies, align |
| destination when needed. |
| (strmovsi, strsetsi): New expander. |
| (strmovsi_1, strsetsi_1): New pattern. |
| * i386.h (MASK_NO_ALIGN_STROP, MASK_INLINE_ALL_STROP, |
| TARGET_ALIGN_STRINGOPS, TARGET_INLINE_ALL_STRINGOPS): New macros. |
| (TARGET_SWITCHES) Add align-stringops and inline-all-stringops. |
| * invoke.texi (align-stringops, inline-all-stringops): Document. |
| |
| Wed Feb 2 23:04:47 2000 Krister Walfridsson <cato@df.lth.se> |
| |
| * i386/netbsd.h (INT_ASM_OP): Define. |
| |
| 2000-02-02 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplib.h (cpp_reader): Add new flag, no_directives. |
| * cpphash.c (macarg): Set it. |
| * cpplib.c (handle_directive): If no_directives is on and we |
| find a directive, issue an error and discard the line. |
| |
| Wed Feb 2 13:07:10 2000 Jim Wilson <wilson@cygnus.com> |
| |
| * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Delete 'E' check for |
| FP constants. Add ! TARGET_FPU check for FP constants. |
| |
| 2000-02-02 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * flow.c (find_basic_blocks): Don't kill label_value_list |
| here. |
| (cleanup_cfg): Kill it here. |
| |
| Wed Feb 2 08:12:30 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * expr.c (store_field): Ensure ALIGN is no stricter than the |
| alignment of EXP. |
| |
| 2000-02-02 Richard Henderson <rth@cygnus.com> |
| |
| * jump.c (delete_insn): Partially revert 19 Jan change; |
| don't convert unused code labels to notes at -O0. |
| |
| 2000-02-02 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> |
| |
| * toplev.c (rest_of_compilation): Run rebuild_jump_labels after |
| split_all_insns to recreate REG_LABEL notes for flow2 pass. |
| |
| 2000-02-01 Richard Henderson <rth@cygnus.com> |
| |
| * i386.c (general_no_elim_operand): New. |
| (nonmemory_no_elim_operand): New. |
| (ix86_expand_move): Copy eliminable operands before a push. |
| * i386-protos.h: Declare new functions. |
| * i386.h (CAN_ELIMINATE): Simplify. |
| (PREDICATE_CODES): Update. |
| * i386.md (push insns): Don't allow eliminable register operands. |
| |
| 2000-02-01 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (mark_regs_live_at_end): Follow expand_function_end and |
| replace BLKmode with DECL_RTL's mode. |
| |
| 2000-02-01 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * frame.c (find_fde): Convert for loop to do-while so compiler |
| sees it's always executed at least once. |
| * libgcc2.c (BBINBUFSIZE): Kill. |
| (__bb_init_prg): Use fgets. |
| (__bb_exit_trace_func): Don't paste strings. |
| * unroll.c (unroll_loop): Initialize unroll_type, not |
| unroll_number, and tweak logic to match. |
| |
| * i386.c (ix86_expand_int_movcc): Add explicit 'return 0' in |
| all failure paths. |
| (ix86_flags_dependant): Likewise. Disentangle control flow. |
| (ix86_sched_reorder): Break guts out to |
| ix86_sched_reorder_pentium and ix86_sched_reorder_ppro. |
| (ix86_sched_reorder_ppro): Initialize pair2 and insnp before |
| any possible use. |
| |
| * i386.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Don't |
| use string concatenation. Don't save and restore esi. |
| |
| * fixinc/Makefile.in (fixincl.sh): Don't depend on inclhack.def. |
| (machname.h): Remove script to separate file. Use two-step |
| sequence so target is not created if script fails. |
| * fixinc/gen-machname.h: New file. Handle case where no non-reserved |
| identifiers are defined. |
| * fixinc/fixlib.c (mn_get_regexps): Return a flag: if MN_NAME_PAT is |
| an empty string, machine_name doesn't need to do anything at |
| all. |
| (is_cxx_header): Add more cases to regexp. |
| * fixinc/fixlib.h: Update prototype. |
| * fixinc/fixtests.c, fixinc/fixfixes.c: Update callers of |
| mn_get_regexps. |
| * fixinc/fixincl.c: Define NO_BOGOSITY. |
| |
| * fixinc/inclhack.def (no_double_slash, else_endif_label): Ifdef out. |
| (hp_sysfile): Add missing comma. |
| (math_exception): Put the wrapper ifdefs at the beginning and |
| the end of the file. |
| * fixinc/fixincl.x, fixinc/inclhack.sh: Regenerate. |
| |
| 2000-02-01 Richard Henderson <rth@cygnus.com> |
| |
| * sparc.c (fp_zero_operand): Turn into a normal predicate. |
| Use CONST0_RTX. Update all callers. |
| * sparc.h, sparc-protos.h: Update accordingly. |
| * sparc.md (fp mov insns): Use fp_zero_operand directly |
| where applicable. |
| |
| Wed Feb 2 02:59:45 2000 Hans-Peter Nilsson <hp@bitrange.com> |
| |
| * tm.texi (Values in Registers): Fix typo in HARD_REGNO_NREGS |
| example. |
| |
| 2000-02-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * Makefile.in (specs.ready): New target. |
| (fixinc.sh): Depend on `specs.ready' instead of `specs'. |
| |
| 2000-02-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * fixinc.irix: Use unique filenames for writing into /tmp, |
| * fixinc.ptx: Likewise. |
| * fixinc.sco: Likewise. |
| * fixinc.svr4: Likewise. |
| * fixinc.winnt: Likewise. |
| |
| 2000-02-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * tsystem.h: New file. |
| |
| * Makefile.in (libgcc2.a, stmp-multilib, crtbegin.o, crtend.o, |
| s-crtS): Depend on tsystem.h. |
| |
| * crtstuff.c: Include tsystem.h. |
| * frame.c: Likewise. |
| * libgcc2.c: Likewise. |
| |
| Tue Feb 1 19:53:27 CET 2000 Jan Hubicka <jh@suse.cz> |
| |
| * builtins.c (expand_builtin_memset): Expand for variable sized |
| lengths too. |
| |
| 2000-02-01 David Billinghurst <David.Billinghurst@riotinto.com.au> |
| |
| * config/mips/iris6.h (SUBTARGET_ASM_SPEC) : Default ISA based |
| on ABI. |
| |
| Tue Feb 1 00:57:40 2000 Hans-Peter Nilsson <hp@bitrange.com> |
| |
| * dwarfout.c (SHORT_TYPE_SIZE): Correct default. |
| |
| * tm.texi (Type Layout): Correct entry for CHAR_TYPE_SIZE. |
| |
| 2000-01-31 Chandra Chavva <cchavva@cygnus.com> |
| |
| * combine.c (try_combine) [HAVE_cc0]: Trying to check the missed |
| case 3->2 combining (combining with splitting) in which 2 is CC0 |
| setter/user and 3 is user. The rest of cases 2->1 and 3->2 are |
| checked at the begining of the function with the aid of calling |
| function 'can_combine_p'. |
| |
| 2000-01-31 Dave Brolley <brolley@redhat.com> |
| |
| * cccp.c (struct argdata): Redeclare 'newlines' field as 'int'. |
| |
| 2000-01-31 Jason Merrill <jason@casey.cygnus.com> |
| |
| * jump.c (redirect_jump): Move a NOTE_INSN_FUNCTION_END to the |
| new label. |
| |
| 2000-01-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * gansidecl.h (PROTO, VPROTO, PVPROTO): Delete macros. |
| |
| * sbitmap.h (sbitmap_first_set_bit, sbitmap_last_set_bit): |
| PROTO -> PARAMS. |
| |
| 2000-01-30 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * i386/386bsd.h, i386/beos-pe.h, i386/bsd386.h, i386/crtdll.h, |
| i386/cygwin.h, i386/dgux.h, i386/djgpp-rtems.h, i386/djgpp.h, |
| i386/freebsd.h, i386/gnu.h, i386/i386-aout.h, i386/i386-coff.h, |
| i386/i386-interix.h, i386/i386elf.h, i386/linux.h, i386/lynx-ng.h, |
| i386/lynx.h, i386/mach.h, i386/mingw32.h, i386/moss.h, |
| i386/netbsd.h, i386/next.h, i386/openbsd.h, i386/osf1elf.h, |
| i386/ptx4-i.h, i386/rtems.h, i386/rtemself.h, i386/sco.h, |
| i386/sequent.h, i386/sun.h, i386/sysv4.h, i386/uwin.h, i386/vsta.h, |
| i386/vxi386.h, i386/win-nt.h, i386/win32.h: |
| Remove -Di386 -Acpu(i386) -Amachine(i386) from CPP_PREDEFINES. |
| |
| * i386/osf1elf.h, i386/scodbx.h, i386/seq-sysv3.h, i386/sysv5.h: |
| Add %(cpp_cpu) to CPP_SPEC. |
| |
| * i386/osf1elf.h, i386/osfelf.h, i386/osfrose.h: |
| Add %(cc1_cpu) to CC1_SPEC. |
| |
| 2000-01-28 Ulrich Drepper <drepper@redhat.com> |
| |
| * c-decl.c (c_decode_option): Accept optional numeric argument to |
| -Wformat and set warn_format. |
| * c-common.c: Don't emit warning about non-constant printf format |
| string unless warn_format > 1. |
| |
| 2000-01-30 Richard Henderson <rth@cygnus.com> |
| |
| * alpha.md (return_internal): Allow after reload only. |
| |
| 2000-01-30 Richard Henderson <rth@cygnus.com> |
| |
| * i386.c (ix86_compute_frame_size): Omit padding1 if the |
| local frame size is zero. |
| |
| 2000-01-30 Richard Henderson <rth@cygnus.com> |
| |
| * alpha.c (alpha_expand_epilogue): Don't emit the return insn. |
| * alpha.h (EPILOGUE_USES): New. Mark $26 live. |
| * alpha.md (return): Turn into an expander. |
| (return_internal): Don't use $26. |
| (epilogue): Emit the return insn. |
| |
| 2000-01-30 Richard Henderson <rth@cygnus.com> |
| |
| * alpha.md (negtf2, abstf2): Fix word order thinko. |
| (extendsftf2): New. |
| (trunctfsf2): Avoid intermediate rounding errors. |
| |
| 2000-01-30 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppfiles.c (find_position): Drop 'colp' argument, return the |
| new line base. |
| (read_and_prescan): Adjust to match. Don't ever manipulate |
| line or line_base except via find_position. |
| |
| 2000-01-29 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * c-parse.in: Apply Ulrich's changes from c-parse.y. |
| * c-parse.y, objc/objc-parse.y, c-parse.c, objc/objc-parse.c: |
| Regenerate. |
| |
| 2000-01-29 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpperror.c (cpp_file_line_for_message): If 'line' is zero, |
| just print "<command line>". If 'filename' is null or an |
| empty string, print "<stdin>" for the filename. |
| * cpplib.c (do_define): Don't print the 'location of the |
| previous definition' message if we're still parsing the |
| command line. |
| (cpp_pedwarn_with_file_and_line): Always call |
| cpp_file_line_for_message. |
| |
| 2000-01-29 Mark Mitchell <mark@codesourcery.com> |
| |
| * flow.c (mark_regs_live_at_end): Fix typo. |
| |
| 2000-01-28 Ulrich Drepper <drepper@redhat.com> |
| |
| * c-common.c: Adjust variable names, comments, help strings to c99. |
| * c-lex.c: Likewise. |
| * c-parse.y: Likewise. |
| * c-tree.h: Likewise. |
| * cccp.c: Likewise. |
| * cpplib.h: Likewise. |
| * c-decl.c: Likewise. Recognize options with names "*99" as well. |
| * cppinit.c: Likewise. |
| |
| 2000-01-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> |
| |
| * c4x.h (INIT_TARGET_OPTABS): Add all missing local optab entries. |
| * c4x.c: Define the optab rtx values. |
| (c4x_add_gc_roots): Add the ggc roots for these optab rtx values. |
| (c4x_emit_libcall): Use new optab rtx values. |
| (c4x_emit_libcall3): Likewise. |
| (c4x_emit_libcall_mulhi): Likewise. |
| * c4x-protos.h: Add prototypes for optab rtx values and change |
| prototypes for above c4x_emit_libcall functions. |
| |
| 2000-01-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> |
| |
| * c4x.c (c4x_output_ascii): Restrict line length of output when TI |
| syntax is used. |
| (c4x_function_prologue): Use regnames intead of float_reg_names when |
| TI syntax is used. |
| (c4x_function_epilogue): Likewise. |
| (c4x_print_operand): Likewise. |
| * c4x.h (HOST_WIDE_INT_PRINT_HEX): Redefine. |
| * c4x.md (set_high): Disable for TARGET_TI. |
| |
| 2000-01-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> |
| |
| * c4x.h (PREFERRED_RELOAD_CLASS): Change to restrict the reloading |
| of framepointer + constant to ADDR_REGS class. |
| * c4x.md (addqi3, addqi3_noclobber_reload): Update. |
| * c4x.c (std_or_reg_operand): New function. |
| * c4x-protos.h (std_or_reg_operand): Prototype it. |
| |
| 2000-01-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> |
| |
| * t-c4x: Change qi,qf,di,df into si,sf,hi,hf to generate same |
| object names as libgcc2.c. |
| * libgcc.S: Use newly defined names. |
| |
| Fri Jan 7 19:48:04 CET 2000 Jan Hubicka <jh@suse.cz> |
| * sbitmap.c (sbitmap_first_set_bit, sbitmap_last_set_bit): New |
| function. |
| * sbitmap.h (sbitmap_first_set_bit, sbitmap_last_set_bit): Declare. |
| * basic_block.h (FLOW_LOOP_FIRST_BLOCK): New macro. |
| (FLOW_LOOP_LAST_BLOCK): Likewise. |
| |
| 2000-01-21 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * basic-block.h (struct loop): New fields 'first' and 'last'. |
| * flow.c (flow_loops_find): Compute loop->first and loop->last. |
| (flow_loops_dump): Use loop->first to check for NOTE_INSN_LOOP_BEG |
| and loop->last to check for NOTE_INSN_LOOP_END. |
| |
| Fri Jan 28 10:57:58 2000 Jason Eckhardt <jle@cygnus.com> |
| |
| * predict.c (estimate_probability): Use the new FIRST and LAST fields |
| of the loop descriptor rather than HEADER and LATCH. Also added |
| missing break statements as well making some coding style modifications |
| as suggested by Michael Hayes. |
| |
| 2000-01-28 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (find_basic_blocks): Remove do_cleanup argument. |
| Break out that code ... |
| (cleanup_cfg): ... here. |
| (commit_one_edge_insertion): Detect a return instruction being |
| emitted to an edge. Emit a barrier following; clear fallthru. |
| (commit_edge_insertions): Verify CFG consistency. |
| * function.c (expand_function_start): Kill unused variable. |
| (expand_function_end): Likewise. |
| (thread_prologue_and_epilogue_insns): Use insert_insn_on_edge |
| to insert the epilogue. |
| |
| * gcse.c (gcse_main): Adjust for find_basic_blocks change. |
| (delete_null_pointer_checks): Likewise. |
| * output.h: Likewise. |
| * reg-stack.c (reg_to_stack): Likewise. |
| * toplev.c (rest_of_compilation): Likewise. Run |
| thread_prologue_and_epilogue_insns after rebuilding the CFG. |
| |
| 2000-01-28 Richard Henderson <rth@cygnus.com> |
| |
| * Makefile.in (flow.o): Revert 24 Jan change. |
| * flow.c (mark_regs_live_at_end): Likewise. Force BLKmode |
| FUNCTION_VALUE result to DECL_RESULT's mode. |
| |
| * haifa-sched.c (schedule_insns): Don't recompute reg info |
| after reload. |
| |
| 2000-01-28 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * configure.in: Make --enable-cpplib the default. |
| * configure: Regenerate. |
| * gcc.dg/990119-1.c: No longer expected to fail. |
| |
| 2000-01-28 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * jump.c (jump_optimize_1): Delete an optimization that is also done |
| by merge_blocks in flow. |
| |
| 2000-01-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * diagnostic.c (build_message_string, output_printf, |
| line_wrapper_printf): Add ATTRIBUTE_PRINTF_*. |
| (build_location_prefix): Fix non-literal format string. |
| |
| 2000-01-27 Richard Henderson <rth@cygnus.com> |
| |
| * alpha.md (trunctfsf2): New. |
| |
| 2000-01-27 Andrew Hobson <ahobson@eng.mindspring.net> |
| |
| * configure.in (alpha-dec-osf5): Enable MASK_SUPPORT_ARCH. |
| |
| 2000-01-27 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppinit.c (cpp_handle_option): Recognize C++ comments under |
| -std=gnu89. |
| * cpplib.c (skip_block_comment, skip_line_comment): Split code |
| out of... |
| (skip_comment) ... here. Permit C++ comments in system |
| headers always. Warn about C++ comments in user code under |
| -std=gnu89 -pedantic. |
| (copy_comment): Use skip_comment. |
| (cpp_skip_hspace, cpp_get_token): skip_comment can no longer |
| return EOF. |
| (consider_directive_while_skipping, do_else, do_endif): Call |
| validate_else unconditionally. |
| (validate_else): Check CPP_PEDANTIC here. Accept non-comment |
| text after the conditional in a system header. |
| * cpplib.h (struct cpp_buffer): Add flag |
| warned_cplusplus_comments. |
| |
| 2000-01-27 Geoffrey Keating <geoffk@cygnus.com> |
| |
| * emit-rtl.c (unshare_all_rtl): Unshare virtual parameters too. |
| Use unshare_all_rtl_1. |
| (unshare_all_rtl_again): New function. |
| (unshare_all_rtl_1): New function split out of unshare_all_rtl. |
| |
| * function.c (purge_addressof_1): Use unshare_all_rtl_again |
| rather than resetting the 'used' flags ourself. |
| |
| * toplev.c (rest_of_compilation): Add current_function_decl |
| to the unshare_all_rtl call. |
| * tree.h: Prototype unshare_all_rtl. |
| * rtl.h: Prototype unshare_all_rtl_again here. |
| |
| 2000-01-27 Geoffrey Keating <geoffk@cygnus.com> |
| |
| * genoutput.c (output_prologue): Include ggc.h in generated |
| files. |
| * Makefile.in (insn-output.o): Depends on ggc.h. |
| |
| 2000-01-27 Ian Dall <ian@sibyl.beware.dropbear.id.au> |
| Hans-Peter Nilsson <hp@bitrange.com> |
| |
| * ns32k/xm-ns32k.h (memcpy, memset, memcmp): Delete. |
| Remove redundant include of xm-ns32k.h. |
| * ns32k/xm-genix.h (memcpy, memset, memcmp): Add definitions. |
| Remove redundant include of xm-ns32k.h. |
| * ns32k/xm-netbsd.h (memcpy, memset, memcmp): No longer undefine. |
| Remove redundant include of xm-ns32k.h. |
| * ns32k/netbsd.h (TARGET_DEFAULT): Enable multiply-add instructions. |
| |
| * ns32k/ns32k.h: Update comment on multiply-add instructions. |
| (TARGET_SWITCHES): Add documentation strings. |
| (DWARF_FRAME_REGNUM): Override default definition. |
| (REG_CLASS_CONTENTS): Add comments. |
| (SUBSET_P): Format to reduce line length. |
| (SMALL_REGISTER_CLASSES): Make a run time option. |
| (GO_IF_NONINDEXED_ADDRESS): Reformat. |
| (GO_IF_LEGITIMATE_ADDRESS): Ensure that cfun is non NULL before |
| dereferencing it. Braces to avoid "ambiguous else" were misplaced. |
| (regclass_map): fix typo in comment. |
| * ns32k/ns32k.c: Add spaces before parentheses for consistant style. |
| Prefer gen_rtx_FOO(...) to gen_rtx(FOO,...). |
| (trace, reg_or_mem_operand): Delete, unused function. |
| (calc_address_cost): Small offsets are cheaper than large ones. |
| (expand_block_move): Generate more efficient code when bytes is a |
| known at compile time. |
| * ns32k/ns32k.md: Alternate constraints for multiply-add instructions. |
| (udivmodsi4, udivmodhi4, udivmodqi4): Use nonimmediate_operand |
| instead of reg_or_mem_operand. |
| |
| * ns32k/ns32k.md: Use nonimmediate_operand or stricter for outputs, |
| not general_operand. Similarly use "=rm" or stricter, not "=g". |
| For input operands, use stricter constraints than "g" if not |
| general_operand. Similarly use stricter predicate than |
| "general_operand" when stricter constraints than "g" are present, |
| except for matching constraints. |
| (movstrsi): Use "memory_operand" for operands 0 and 1. |
| (truncsiqi2, truncsihi2, trunchiqi2): Remove. |
| (udivmoddisi4_internal): Use nonimmediate_operand for operand 0, |
| not reg_or_mem_operand. |
| (udivmoddisi4): Ditto. |
| Use nonimmediate_operand for operand 1, not reg_or_mem_operand. |
| Use nonimmediate_operand for operand 3, not register_operand. |
| (udivmoddiqi4_internal): Use register_operand for operand 1, not |
| reg_or_mem_operand. |
| |
| 2000-01-27 Fred Fish <fnf@be.com> |
| |
| * gthr-posix.h: Fix typo; compatibily -> compatibility. |
| * gthr-single.h: Likewise. |
| * gthr-solaris.h: Likewise. |
| * gthr-vxworks.h: Likewise. |
| * gthr-win32.h: Likewise. |
| * gthr.h: Likewise. |
| |
| 2000-01-27 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cppinit.c: Add " (cpplib)" to end of string printed by |
| -v / --version. |
| |
| 2000-01-27 Richard Henderson <rth@cygnus.com> |
| |
| * alpha.c (alpha_emit_conditional_move): Use VOIDmode when |
| testing for a signed comparison. |
| (alpha_emit_floatuns): New. |
| * alpha-protos.h: Declare it. |
| * alpha.md (floatunsdisf2, floatunsdidf2): New. |
| (extendsfdf2): Tidy. |
| |
| 2000-01-27 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/linux64.h (CC1_SPEC): If compiling -m32 with -g but |
| no -g option specifying debugging format, default to -gstabs+. |
| |
| Wed Jan 26 22:19:14 1999 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * calls.c (special_function_p): New argument fork_or_exec. |
| (expand_call): When profile_arc_flag is set and the function |
| is in the fork_or_exec group, call __bb_fork_func first. |
| * libgcc2.c, _bb module (__bb_fork_func): New function. |
| (__bb_exit_func): If fcntl F_SETLKW is available, use it to lock |
| output file. |
| * config/svr4.h (TARGET_HAS_F_SETLKW): Define. |
| * tree.h (special_function_p): Update prototype. |
| |
| 2000-01-26 Richard Henderson <rth@cygnus.com> |
| |
| * alpha.c (alpha_split_tfmode_pair): New. |
| * alpha-protos.h: Declare it. |
| * alpha.md (abstf2, negtf2): New. |
| (movtf insn): Add input G constraint. |
| (movtf splitter): Use alpha_split_tfmode_pair. |
| |
| 2000-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * i386/cygwin.h: PROTO -> PARAMS. |
| |
| 2000-01-26 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/sparc.c (sparc_emit_float_lib_cmp): Handle |
| TARGET_ARCH32 again. Handle ORDERED, UN* and LTGT comparisons |
| using _Qp_cmp/_Q_cmp and testing the return value. |
| (print_operand): Call reverse_condition_maybe_unordered if |
| we are handling CCFPmode or CCFPEmode. |
| Handle ORDERED, UN* and LTGT comparisons. |
| * config/sparc/sparc.md (cmptf): Use even on TARGET_ARCH32 |
| if not TARGET_HARD_QUAD. |
| (seq, sne, sgt, slt, sge, sle, beq, bne, bgt, blt, bge, ble, |
| bunordered, bordered, bungt, bunlt, buneq, bunge, bunle, bltgt): |
| Call sparc_emit_float_lib_cmp even on TARGET_ARCH32. |
| Adjust gen_b* calls so that they reflect return comparison of |
| sparc_emit_float_lib_cmp. |
| |
| 2000-01-26 Alexandre Oliva <oliva@lsd.ic.unicamp.br> |
| |
| * config/alpha/alpha.c (alpha_emit_xfloating_cvt): Do not assume |
| incoming operands array is large enough for one more operand. |
| (alpha_emit_xfloating_arith): Likewise. |
| |
| 2000-01-25 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * fixinc/Makefile.in (machname.h): SunOS 4 sed can't handle a |
| file with one line and no trailing newline. |
| Patch by Kaveh Ghazi <ghazi@caip.rutgers.edu>. |
| * fixinc/fixtests.c (machine_name_test): Fix fencepost error |
| checking if the match is on the line. |
| * fixinc/gnu-regex.c: Provide regerror not __regerror. |
| |
| 2000-01-25 Richard Henderson <rth@cygnus.com> |
| |
| * sparc.c (output_cbranch): Fix accidental squashing of the |
| fp branch pre-delay nop. |
| |
| 2000-01-25 Richard Henderson <rth@cygnus.com> |
| |
| * tree.def (UNNE_EXPR): Remove. |
| * c-typeck.c (build_binary_op): Don't handle it. |
| * expr.c (expand_expr, do_jump, do_store_flag): Likewise. |
| |
| * rtl.def (UNNE): Remove. |
| (LTGT): Add. |
| * jump.c (reverse_condition): Update accordingly. |
| (swap_condition): Likewise. |
| (comparison_dominates_p): Handle unordered comparisons. |
| (reverse_condition_maybe_unordered): New. |
| * rtl.h (reverse_condition_maybe_unordered): Declare. |
| |
| * sparc.c (select_cc_mode): Update for UNNE/LTGT. |
| (output_cbranch): Use reverse_condition_maybe_unordered and LTGT. |
| * sparc.h (REVERSIBLE_CC_MODE): Always true. Update docs. |
| * sparc.md (bltgt): New. |
| |
| 2000-01-25 Nick Clifton <nickc@redhat.com> |
| |
| * emit-rtl.c (emit_insn): Only check machine class insns for |
| improper emission of a RETURN. |
| |
| 2000-01-25 Richard Henderson <rth@cygnus.com> |
| |
| * Makefile.in (flow.o): Depend on $(EXPR_H). |
| * flow.c (mark_regs_live_at_end): Use hard_function_value, i.e. |
| duplicate the structure of diddle_return_value for keeping regs live. |
| |
| 2000-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * loop.c (current_loop_info): Delete. |
| (consec_sets_invariant_p): Add loop argument, update callers. |
| (get_condition_for_loop): Likewise. |
| (count_nonfixed_reads, update_giv_derive): Likewise. |
| (simplify_giv_expr, general_induction_var): Likewise. |
| (consec_sets_giv, recombine_givs): Likewise. |
| (move_movables): Delete loop_start and loop_end arguments, |
| add loop argument, and update callers. |
| (find_mem_givs, check_final_value): Likewise. |
| (record_giv, maybe_eliminate_biv, maybe_eliminate_biv_1): Likewise. |
| (loop_invariant_p): Rename from invariant_p, add loop argument, and |
| update callers. |
| (basic_induction_var): Add loop argument, delete loop_level argument, |
| and update callers. |
| * unroll.c (iteration_info): Delete loop_start and loop_end arguments, |
| add loop argument, and update callers. |
| (find_splittable_regs, find_splittable_givs): Likewise. |
| (reg_dead_after_loop, loop_find_equiv_value): Likewise. |
| (final_biv_value, final_giv_value, back_branch_in_range_p): Likewise. |
| (biv_total_increment): Delete loop_start and loop_end arguments; |
| update callers. |
| (precondition_loop_p): Delete loop_start and loop_info arguments; |
| update callers. |
| * loop.h (get_condition_for_loop): Add loop argument. |
| (biv_total_increment): Delete loop_start and loop_end arguments. |
| (precondition_loop_p): Delete loop_start and loop_info arguments; |
| add loop argument. |
| (final_biv_value): Delete loop_start and loop_end arguments; |
| add loop argument. |
| (final_giv_value, back_branch_in_range_p): Likewise. |
| |
| 2000-01-25 Gavin Romig-Koch <gavin@cygnus.com> |
| |
| * config/mips/mips.h (LEGITIMATE_CONSTANT_P): Fix for mips16. |
| |
| 2000-01-25 Gavin Romig-Koch <gavin@cygnus.com> |
| |
| * Makefile.in (c-gperf.h) : Change the "See" pointer to |
| point to the new "generated_files" doc. |
| |
| 2000-01-25 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * config/fp-bit.c (_unord_f2): Fix typo. |
| |
| 2000-01-25 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * c-common.c, c-decl.c, c-lang.c, c-lex.c, c-parse.in, c-pragma.c, |
| c-typeck.c, objc/objc-act.c: Remove all references to obstack |
| functions obsoleted by GC, such as push_obstacks_nochange, |
| end_temporary_allocation, savealloc, saveable_tree_cons, etc. |
| and code which existed only to decide whether or not to call |
| them. Remove now-unused NESTED argument from start_function; |
| all callers changed. Do not change behavior based on ggc_p. |
| The use of the ixp_obstack in c-iterate.c and the util_obstack |
| in objc/objc-act.c remain; these are not obsoleted by garbage |
| collection. |
| * c-tree.h: Update prototype for start_function. |
| |
| * c-parse.y, c-parse.c, objc/objc-parse.c, objc/objc-parse.y: Rebuild. |
| |
| 2000-01-25 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * config/mips/mips.md (zero_extendsidi2_internal): Disable for |
| mips16. |
| |
| 2000-01-25 Richard Henderson <rth@cygnus.com> |
| |
| * sparc-protos.h (select_cc_mode): Declare. |
| * sparc.c (select_cc_mode): New. Handle unordered compares. |
| (output_cbranch): Always reverse via code change. Handle |
| unordered compares. Factor tests and string updates. |
| * sparc.h (SELECT_CC_MODE): Split out to select_cc_mode. |
| (REVERSIBLE_CC_MODE): Also exclude CCFPmode. |
| * sparc.md (bunordered, bordered): New. |
| (bungt, bunlt, buneq, bunge, bunle): New. |
| |
| 2000-01-25 Richard Henderson <rth@cygnus.com> |
| |
| * dwarf2out.c (dwarf2out_init): Use ggc_add_rtx_varray_root. |
| * ggc-common.c (ggc_add_rtx_varray_root): New. |
| (ggc_mark_rtx_varray): New. |
| (ggc_mark_rtx_varray_ptr): New. Shift all ggc_mark_foo_ptr |
| functions down below ggc_mark_foo. |
| * ggc.h (ggc_add_rtx_varray_root, ggc_mark_rtx_varray): Declare. |
| |
| 2000-01-25 Richard Henderson <rth@cygnus.com> |
| |
| * alpha.c (secondary_reload_class): Don't allocate a secondary |
| for integral mode memories into FLOAT_REGS. Rearrange the more |
| complicated memory expression inward. |
| |
| 2000-01-25 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * inclhack.def: Fixes to play nicer with FreeBSD, and |
| corrections to comments. |
| (cxx_unready): Add select expression. |
| (irix_sockaddr): Add bypass expression. |
| (machine_ansi_h_va_list): New fix. |
| (stdio_va_list): No need to edit _BSD_VA_LIST_. |
| Split out addition of "#include <stdarg.h>" to... |
| (stdio_stdarg_h): ... here. |
| (systypes_for_aix): Rename to systypes_stdlib_size_t. Apply |
| to stdlib.h also. Do not munge _BSD_SIZE_T_. |
| (sysz_stdlib_for_sun): Delete duplicate fix for unprotected |
| size_t. |
| (ultrix_ifdef): Tighten up select expression. |
| |
| * fixincl.tpl: Exorcise 'exesel'. Rewrite calculations of |
| re_ct and max_mach to avoid use of shell. Make printed names |
| match names in inclhack.def. Use static copyright date. |
| Don't count c_test and test expressions as requiring regex_t |
| slots. Add some commentary. |
| * inclhack.tpl: Do not include the 'This script contains N |
| fixup scripts' line if PROGRAM is defined. Use static |
| copyright date. |
| |
| 2000-01-24 Jason Merrill <jason@casey.cygnus.com> |
| |
| * dwarf2out.c: include "varray.h", not dyn-string.h. |
| (ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_NAME_TO_STRING): Lose. |
| (addr_const_to_string, addr_to_string): Lose. |
| (ASM_OUTPUT_DWARF_ADDR_CONST): Copy from dwarfout.c. |
| (struct dw_val_struct): val_addr is now an rtx. |
| (add_AT_addr, AT_addr, free_AT, output_aranges): Adjust. |
| (used_rtx_varray): New varray. |
| (dwarf2out_init): Initialize it. |
| (save_rtx): New fn. |
| (mem_loc_descriptor, add_const_value_attribute): Call it instead of |
| addr_to_string. |
| * arm/telf.h, arm/unknown-elf.h, mn10200.h, mn10300.h, |
| sparc/sp64-elf.h: Remove definition of ASM_OUTPUT_DWARF2_ADDR_CONST. |
| * Makefile.in (dwarf2out.o): Update dependencies. |
| |
| 2000-01-24 Richard Henderson <rth@cygnus.com> |
| |
| * i386.c (i386_dwarf_output_addr_const): New. |
| * i386.h (ASM_OUTPUT_DWARF_ADDR_CONST): New. |
| |
| * dwarf2out.c (mem_loc_descriptor): Call ASM_SIMPLIFY_DWARF_ADDR |
| if defined. |
| * dwarfout.c (output_mem_loc_descriptor): Likewise. |
| * i386.c (i386_simplify_dwarf_addr): New. |
| * i386.h (ASM_SIMPLIFY_DWARF_ADDR): New. |
| |
| Mon Jan 24 16:56:10 2000 Jim Wilson <wilson@cygnus.com> |
| |
| * dwarf2out.c (gen_struct_or_union_type_die): Set complete if |
| TYPE_STUB_DECL is NULL. |
| |
| 2000-01-24 Richard Henderson <rth@cygnus.com> |
| |
| * builtins.c (expand_tree_builtin): Move ... |
| * c-common.c (expand_tree_builtin): ... here. |
| |
| 2000-01-25 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * loop.h (LOOP_INFO): New accessor macro. |
| * basic-block.h (struct loop): Rename field `info' to `aux'. |
| * loop.c (scan_loop): Replace loop->info with LOOP_INFO (loop). |
| (prescan_loop, strength_reduce, check_dbra_loop, insert_bct): Likewise. |
| * unroll.c (loop_iterations, unroll_loop): Likewise. |
| |
| 2000-01-24 Christopher Faylor <cgf@cygnus.com> |
| |
| * config/i386/t-cygwin: Accommodate new winsup directory layout |
| when searching for include files. |
| |
| 2000-01-24 Richard Henderson <rth@cygnus.com> |
| |
| * rtl.def: Add unordered fp comparisons. |
| * tree.def: Likewise. |
| * tree.h: Add ISO C 9x unordered fp comparison builtins. |
| |
| * builtins.c (expand_tree_builtin): New function. |
| * c-typeck.c (build_function_call): Use it. |
| (build_binary_op): Support unordered compares. |
| * c-common.c (c_common_nodes_and_builtins): Add unordered compares. |
| |
| * combine.c (known_cond): Handle reverse_condition returning UNKNOWN. |
| (reversible_comparison_p): Allow UNORDERED/ORDERED to be reversed. |
| * cse.c (fold_rtx): Check FLOAT_MODE_P before reversing. |
| (record_jump_equiv): Handle reverse_condition returning UNKNOWN. |
| * jump.c (reverse_condition): Don't abort for UNLE etc, but |
| return UNKNOWN. |
| (swap_condition): Handle unordered compares. |
| (thread_jumps): Check can_reverse before reversing. |
| * loop.c (get_condition): Likewise. Allow UNORERED/ORDERED to be |
| reversed for FP. |
| |
| * optabs.c (can_compare_p): New argument CODE. Verify branch or |
| setcc is present before acking for cmp_optab. Update all callers. |
| (prepare_float_lib_cmp, init_optabs): Handle UNORDERED. |
| * expmed.c (do_cmp_and_jump): Update for can_compare_p. |
| * expr.c (expand_expr): Likewise. Support unordered compares. |
| (do_jump, do_store_flag): Likewise. |
| * expr.h (enum libfunc_index): Add unordered compares. |
| |
| * Makefile.in (FPBIT_FUNCS): Add _unord_sf. |
| (DPBIT_FUNCS): Add _unord_df. |
| * config/fp-bit.c (_unord_f2): New. |
| * fp-test.c (main): Try unordered compare builtins. |
| |
| * alpha-protos.h (alpha_fp_comparison_operator): Declare. |
| * alpha.c (alpha_comparison_operator): Check mode properly. |
| (alpha_swapped_comparison_operator): Likewise. |
| (signed_comparison_operator): Likewise. |
| (alpha_fp_comparison_operator): New. |
| (alpha_emit_conditional_branch): Handle unordered compares. |
| * alpha.h (PREDICATE_CODES): Update. |
| * alpha.md (fp compares): Use alpha_fp_comparison_operator. |
| (bunordered, bordered): New. |
| |
| 2000-01-24 Richard Henderson <rth@cygnus.com> |
| |
| * alpha.c (alpha_emit_xfloating_cvt): Thinko in operand manipulation. |
| * alpha.md (movtf): New expander, insn, and splitter. |
| |
| Mon Jan 24 19:49:47 MET 2000 Jan Hubicka <jh@suse.cz> |
| |
| * reg-stack.c (subst_stack_regs_pat): Handle correctly USEs of |
| dead registers. |
| |
| Mon Jan 24 17:37:31 MET 2000 Jan Hubicka <jh@suse.cz> |
| |
| * i386.h (FIRST_PSEUDO_REGISTER): Set to 21. |
| (FIXED_REGISTERS, CALL_USED_REGISTERS, |
| REG_ALLOC_ORDER): Add frame pointer |
| (FRAME_POINTER_REGNUM): Set to 20 |
| (HARD_FRAME_POINTER_REGNUM): New macro. |
| (ELIMINABLE_REGS): Eliminate ARG_POINTER and FRAME_POINTER |
| to HARD_FRAME_POINTER. |
| (REGNO_OK_FOR_BASE_P): Accept FRAME_POINTER_REGNUM |
| (REG_OK_FOR_INDEX_NONSTRICT_P): Likewise. |
| (REG_OK_FOR_BASE_NONSTRICT_P): Likewise. |
| (HI_REGISTER_NAMES): Add "frame". |
| (CAN_ELIMINATE): Handle FRAME_POINTER_REGNUM elimination. |
| (debug_reg): Handle FRAME_POINTER_REGNUM. |
| (reg_class): Add arg pointer and frame pointer to NON_Q_REGS, |
| GENERAL_REGS and INDEX_REGS. |
| * i386.c (SAVED_REGS_FIRST): new macro. |
| (AT_BP): Use hard_frame_pointer_rtx instead of frame_pointer_rtx |
| (ix86_decompose_address, memory_address_length): Likewise. |
| (regclass_map): Add frame pointer. |
| (call_insn_operand): Handle frame_pointer_rtx. |
| (reg_no_sp_operand): Likewise. |
| (ix86_decompose_address): Handle frame_pointer_rtx as stack_pointer_rtx. |
| (print_operand, legitimize_pic_address): Fix formating. |
| (ix86_compute_frame_size): Make static, update prototype, new |
| parameters padding1, padding2, use ix86_nsaved_regs, use |
| stack_alignment_needed. |
| (ix86_initial_elimination_offset): Handle FRAME_POINTER_REGNUM |
| to HARD_FRAME_POINTER_REGNUM conversions. |
| (ix86_expand_prologue): Handle SAVED_REGS_FIRST prologues. |
| (ix86_expand_epilogue): Handle SAVED_REGS_FIRST epilogues. |
| (print_reg): Abort on FRAME_POINTER_REGNUM |
| |
| Mon Jan 24 16:50:08 MET 2000 Jan Hubicka <jh@suse.cz> |
| |
| * i386.h (PREDICATE_CODES): Add aligned_operand. |
| * i386.c (aligned_operand): New function. |
| (ix86_aligned_p): Kill. |
| * i386.md (movhi_1): Emit mov for aligned operands. |
| (promoting peep2s): Use aligned_operand. |
| |
| 2000-01-23 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * fixinc/fixfixes.c (fix_char_macro_uses): Correct regular |
| expression to allow underscores in macro names. |
| (fix_char_macro_defines): Increment scanning pointer. |
| |
| 2000-01-23 Richard Henderson <rth@cygnus.com> |
| |
| * alpha/osf.h (TARGET_HAS_XFLOATING_LIBS): Define. |
| * alpha/osf5.h: New file. |
| * configure.in (alpha-*-osf5): Add it to tm_file. |
| |
| * emit-rtl.c (operand_subword): Support TFmode on a 64-bit target. |
| |
| * alpha-protos.h (alpha_emit_xfloating_arith): Declare. |
| (alpha_emit_xfloating_cvt, function_arg): Declare. |
| * alpha.c (alpha_emit_conditional_branch): Call |
| alpha_emit_xfloating_compare for TFmode compares. |
| (alpha_lookup_xfloating_lib_func): New. |
| (alpha_compute_xfloating_mode_arg): New. |
| (alpha_emit_xfloating_libcall): New. |
| (alpha_emit_xfloating_arith): New. |
| (alpha_emit_xfloating_compare): New. |
| (alpha_emit_xfloating_cvt): New. |
| (print_operand): Add default abort case. |
| (function_arg): Mind FUNCTION_ARG_PASS_BY_REFERENCE. |
| * alpha.h (TARGET_HAS_XFLOATING_LIBS): New. |
| (BIGGEST_ALIGNMENT): Increase to 128 bits. |
| (RETURN_IN_MEMORY): True for TF/TCmode. |
| (ALPHA_ARG_SIZE): TF/TCmode is passed indirect. |
| (FUNCTION_ARG): Move to function_arg. |
| (FUNCTION_ARG_PASS_BY_REFERENCE): New. |
| (ASM_OUTPUT_LONG_DOUBLE): New. |
| (ASM_OUTPUT_DOUBLE): Always output bits. |
| * alpha.md (addtf3, divtf3, multf3, subtf3, cmptf): New. |
| (fix_trunctfdi2, floatditf2, floatunsditf2): New. |
| (extenddftf2, trunctfdf2): New. |
| |
| 2000-01-23 Alexandre Oliva <oliva@lsd.ic.unicamp.br> |
| |
| * config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Moved... |
| * config/sparc/sol2.h: ... here. |
| |
| 2000-01-24 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * basic-block.h (struct loops): New field `levels'. |
| * flow.c (flow_loops_level_compute): Traverse all outer loops. |
| (flow_loop_level_compute): Initialize level to 1. |
| (flow_loops_find): Set loops->levels. |
| (flow_loops_dump): Print loops->levels. |
| |
| 2000-01-23 Richard Henderson <rth@cygnus.com> |
| |
| * libgcc2.c (dwarf_reg_size_table): Size with DWARF_FRAME_REGISTERS. |
| (throw_helper): Iterate over DWARF_FRAME_REGISTERS. |
| |
| 2000-01-23 Richard Henderson <rth@cygnus.com> |
| |
| * i386.c (dbx_register_map, svr4_dbx_register_map): New. |
| * i386.h (DBX_REGISTER_NUMBER): Use them. |
| * i386/beos-elf.h, i386/freebsd-elf.h, i386/i386elf.h: Likewise. |
| * i386/linux.h, i386/osfrose.h, i386/ptx4-i.h: Likewise. |
| * i386/rtemself.h, i386/sco5.h, i386/sysv4.h: Likewise. |
| * i386/sequent.h: Kill incorrect comment. |
| |
| 2000-01-23 Mark Mitchell <mark@codesourcery.com> |
| |
| * ggc-page.c (struct page_entry): Make `context_depth' an |
| `unsigned short'. |
| (struct globals): Likewise. |
| |
| 2000-01-23 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * loop.c (check_dbra_loop): When checking a loop for |
| reversability, check the source of any stores to ensure |
| they don't depend on an initial value. |
| |
| 2000-01-23 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x/c4x.h (ASM_OUTPUT_BSS): Redefine. |
| |
| 2000-01-22 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * fixinc/fixincl.c: Move declarations of 'pz_fname' and |
| 'pz_scan' into scope of entire function. Only affects |
| compiles with -DDEBUG. |
| |
| 2000-01-22 Alan Modra <alan@SPRI.Levels.UniSA.Edu.Au> |
| |
| * config/elfos.h (UNIQUE_SECTION): Restore uninitialized data |
| section naming to that prior to 2000-01-07 patch. |
| * config/mips/elf.h (UNIQUE_SECTION): Ditto. |
| * config/mips/elf64.h (UNIQUE_SECTION): Ditto. |
| * config/mips/iris6gld.h (UNIQUE_SECTION): Ditto. |
| * config/i386/interix.c (UNIQUE_SECTION): Ditto. |
| * config/i386/winnt.c (UNIQUE_SECTION): Ditto. |
| |
| 2000-01-22 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * config/arm/arm.c (soft_df_operand): Reject SUBREGs containing a |
| constant. |
| |
| 2000-01-21 Jim Wilson <wilson@cygnus.com> |
| |
| * fixinc/inclhack.tpl: Test for directory before trying to cd into it. |
| * fixinc/fixincl.sh, fixinc/inclhack.sh: Regenerate. |
| |
| 2000-01-21 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpphash.c (change_newlines): Delete function. |
| (struct argdata): Delete 'newlines' and 'use_count' fields. |
| (macroexpand): Remove code referencing those fields. |
| |
| 2000-01-22 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * loop.c (loops_info): New variable. |
| (loop_optimize): Allocate loops->array and free it on exit. |
| Allocate memory for loops_info and assign to each loop, |
| replacing alloca. |
| (find_and_verify_loops): Do not allocate loops->array. |
| |
| 2000-01-21 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * fixinc/fixfixes.c (machine_name_fix): Don't free 'scratch'. |
| |
| 2000-01-21 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/sparc.md (movsi_pic_label_ref): Avoid creating new |
| pseudos if expanded after first flow. |
| (movdi_pic_label_ref): Likewise. |
| |
| 2000-01-20 Richard Henderson <rth@cygnus.com> |
| |
| * jump.c (jump_optimize_1): Don't do addr_vec optimizations at -O0. |
| |
| 2000-01-20 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * Makefile.in (fixinc.sh): Depend on specs. |
| * fixinc/Makefile.in: Add rule to create machname.h. |
| (fixlib.o): Depend on machname.h. |
| * fixinc/fixtests.c (machine_name): New test. |
| * fixinc/fixfixes.c (machine_name): New fix. |
| * fixinc/fixlib.c (mn_get_regexps): New helper function for |
| the machine_name test and fix. |
| * fixinc/fixlib.h: Prototype it. |
| * fixinc/inclhack.def (machine_name): Use the C test and fix. |
| * fixinc/fixincl.x, fixinc/inclhack.sh: Rebuild. |
| |
| * gcc.c (do_spec_1) [case P]: Take care not to create |
| identifiers with three leading or trailing underscores. |
| |
| * fixinc/Makefile.in (FIXINC_DEFS): Add -DIN_GCC. |
| (fixincl): Don't specify libraries twice on link line. |
| (gnu-regex.o): Remove special rule. |
| * fixinc/gnu-regex.c: Define REGEX_MALLOC if C_ALLOCA was |
| defined by config.h. Do not define _REGEX_RE_COMP. |
| (regcomp): Allocate and initialize a fastmap. |
| * fixinc/gnu-regex.h: Do not define _REGEX_RE_COMP. |
| |
| 2000-01-20 Brad Lucier <lucier@math.purdue.edu> |
| |
| * Makefile.in (predict.o): Depend on $(EXPR_H), not expr.h. |
| |
| 2000-01-19 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (propagate_block): Replace FIRST, LAST and BNUM |
| arguments with BB. Update all callers. Tidy line wrapping. |
| |
| 2000-01-19 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * emit-rtl.c (try_split): Return last_insn if we split the |
| last_insn. |
| |
| Thu Jan 20 01:01:23 MET 2000 Jan Hubicka <jh@suse.cz> |
| |
| * i386-protos.h (ix86_compute_frame_size): Remove prototype. |
| (ix86_initial_elimination_offset): Declare. |
| * i386.c (ix86_nsaved_regs): Break out from ... |
| (ix86_can_use_return_insn_p): ... here. |
| (ix86_emit_save_regs): Break out from ... |
| (ix86_expand_prologue): ... here. |
| (ix86_emit_epilogue_esp_adjustment, ix86_emit_restore_regs): Break |
| out from ... |
| (ix86_expand_epilogue): ... here. |
| (ix86_compute_frame_size): Make static, add prototype. |
| (ix86_initial_elimination_offset): Break out from ... |
| * i386.h (INITIAL_ELIMINATION_OFFSET): ... here. |
| |
| 2000-01-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * recog.h (OUT_FCN): Delete. |
| |
| * vax.md: Call `get_insn_template' instead of OUT_FCN. |
| |
| 2000-01-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * cppalloc.c: PROTO -> PARAMS. |
| * cpperror.c: Likewise. |
| * cppfiles.c: Likewise. |
| * cpplib.c: Likewise. |
| * cpplib.h: Likewise. |
| |
| * config/arm/arm-protos.h: PROTO -> PARAMS. |
| * config/arm/arm.c: Likewise. |
| * config/c4x/c4x.c: Likewise. |
| * config/fr30/fr30-protos.h: Likewise. |
| * config/nextstep.c: Likewise. |
| * config/pa/pa.c: Likewise. |
| * config/pj/pj.c: Likewise. |
| * config/rs6000/rs6000.c: Likewise. |
| * config/v850/v850-protos.h: Likewise. |
| * config/v850/v850.c: Likewise. |
| |
| 2000-01-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * i370-protos.h: New file. |
| |
| * i370.c: Include tm_p.h. Fix compile time warnings. |
| |
| * i370.h: Move prototypes to i370-protos.h. Fix compile time |
| warnings. |
| |
| * i370.md: Likewise. |
| |
| 2000-01-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * real.c (enan, einan, eiisnan, eiisneg, make_nan): Wrap in NANS. |
| (target_isinf, target_isnan, eisnan): Mark parameter with |
| ATTRIBUTE_UNUSED. |
| (eiisinf): Wrap in INFINITY. |
| (etoe113, etoe64, etoe53, etoe24): Wrap label `nonorm' in INFINITY. |
| (ibmtoe): Remove unused variable `rndsav'. |
| |
| Wed Jan 19 20:23:06 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * sh.h (PASS_IN_REG_P): Remove extraneous paranthesis. |
| (GO_IF_LEGITIMATE_ADDRESS): Added missing tab. |
| |
| 2000-01-19 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * fixinc/Makefile.in: Correct dependencies of fixincl and fixincl.o. |
| * fixinc/fixfixes.c (IO_use, CTRL_use, IO_defn, CTRL_defn): New fixes. |
| (fix_char_macro_defines, fix_char_macro_uses): New functions. |
| |
| * fixinc/fixlib.c (is_cxx_header): Do the text scan with a regexp. |
| Recognize Emacs mode markers also. |
| * fixinc/fixtests.c (else_endif_label): Fix bug in recognition of |
| C++ comments in C++ headers. Call is_cxx_header only if |
| necessary. |
| |
| * fixinc/inclhack.def (avoid_bool): Add select for the problem and |
| bypass for ncurses. |
| (bsd43_io_macros, io_def_quotes, ioctl_fix_ctrl): Replace with... |
| (io_def_quotes, io_use_quotes, ctrl_def_quotes, ctrl_use_quotes): |
| ... these, which use the new C fixes. |
| (math_exception): Escape literal '+' in bypass expression. |
| |
| * fixinc/fixincl.x, fixinc/fixincl.sh, fixinc/inclhack.sh: |
| Regenerate. |
| |
| 2000-01-19 Geoff Keating <geoffk@cygnus.com> |
| |
| * rtlanal.c (reg_referenced_p): A CLOBBER of a MEM uses any REGs |
| inside the MEM. |
| |
| 2000-01-20 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * loop.c (loop_optimize): Allocate loop_info structure for each loop |
| prior to calling scan_loop. |
| |
| Wed Jan 19 19:54:38 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * sh.c (find_barrier, gen_block_redirect): Fix indentation. |
| (split_branches, calc_live_regs): Likewise. |
| |
| Wed Jan 19 19:12:36 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * sh.md (fpu_single, fp_mode): New attributes. |
| |
| 2000-01-20 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * loop.c (current_loop_info): Renamed from loop_info_data |
| and changed to a pointer. |
| (loop_optimize): Allocate loop_info structure for each loop |
| and initialize to zero. |
| (scan_loop): Set current_loop_info. |
| |
| * unroll.c (loop_iterations): Don't abort if REG_USERVAR_P set |
| on iteration_var. |
| |
| 2000-01-19 Richard Henderson <rth@cygnus.com> |
| |
| * stupid.c: Die die die. |
| * Makefile.in (OBJS): Remove stupid.o. |
| (stupid.o): Likewise. |
| |
| * except.c (emit_eh_context): Don't emit USEs for stupid. |
| * explow.c (probe_stack_range): Likewise. |
| * flags.h (obey_regdecls): Remove. |
| * flow.c (find_basic_blocks): Don't run try_merge_blocks |
| when not optimizing. |
| (life_analysis): Limit data collection when not optimizing. |
| (mark_regs_live_at_end): Always mark the return value registers. |
| (mark_used_regs): Remove dummy RETURN case. |
| (print_rtl_with_bb): Don't consult obey_regdecls. |
| * function.c (use_variable, use_variable_after): Remove. |
| (assign_parms): Consult optimize not obey_regdecls. |
| (expand_function_start): Don't emit USEs for stupid. |
| (expand_function_end): Likewise. |
| * global.c (build_insn_chain): Export. |
| * integrate.c (expand_inline_function): Kill return-value USE |
| handling code. |
| * jump.c (jump_optimize_1): Do simple jump optimizations and |
| dead code elimination. |
| (calculate_can_reach_end): Remove check_deleted argument. |
| (delete_insn): Patch out insns even when not optimizing. |
| * local-alloc.c (block_alloc): Don't do tying when not optimizing. |
| * rtl.h (use_variable, use_variable_after): Remove declarations. |
| (build_insn_chain): Declare. |
| * stmt.c (expand_value_return): Don't emit USEs for stupid. |
| (expand_end_bindings): Likewise. |
| (expand_decl): Likewise. Consult optimize not obey_regdecls. |
| * toplev.c (obey_regdecls): Remove. |
| (rest_of_compilation): Don't set it. Kill stupid in favor of |
| flow1, local-alloc, and reload. |
| (main): Don't set obey_regdecls. |
| |
| * config/nextstep.c (handle_pragma): Likewise. |
| |
| * alpha/alpha.md (allocate_stack): Don't emit USEs for stupid. |
| |
| * arm/arm.h (CONDITIONAL_REGISTER_USAGE): Don't fix reg 0 for stupid. |
| |
| 2000-01-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * alpha-protos.h: PROTO -> PARAMS. |
| * alpha.c: Likewise. |
| * elf.h: Likewise. |
| * h8300.c: Likewise. |
| * i386-protos.h: Likewise. |
| * i386.c: Likewise. |
| * m32r-protos.h: Likewise. |
| * m32r.c: Likewise. |
| * mips.c: Likewise. |
| * mips.md: Likewise. |
| * gmon-sol2.c: Likewise. |
| * sparc.c: Likewise. |
| |
| 2000-01-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * ns32k-protos.h: New file. |
| |
| * ns32k.c: Fix compile time warnings. |
| |
| * ns32k.h: Move prototypes to ns32k-protos.h. Fix compile time |
| warnings. |
| |
| * ns32k.md: Likewise. |
| |
| 2000-01-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * vax-protos.h: New file. |
| |
| * vax.c: Fix compile time warnings. |
| |
| * vax.h: Move prototypes to vax-protos.h. Fix compile time |
| warnings. |
| |
| * vax.md: Likewise. |
| |
| * vaxv.md: Likewise. |
| |
| 2000-01-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * romp-protos.h: New file. |
| |
| * romp.c: Fix compile time warnings. |
| |
| * romp.h: Move prototypes to romp-protos.h. Fix compile time |
| warnings. |
| |
| * romp.md: Likewise. |
| |
| 2000-01-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * we32k-protos.h: New file. |
| |
| * we32k.c: Fix compile time warnings. |
| |
| * we32k.h: Move prototypes to we32k-protos.h. Fix compile time |
| warnings. |
| |
| 2000-01-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED. |
| |
| * except.c (eh_regs): Likewise. |
| |
| * final.c (output_operand): Likewise. |
| |
| * fold-const.c (target_isinf, target_isnan): Likewise. |
| |
| Tue Jan 18 16:19:55 MET 2000 Jan Hubicka <hubicka@freesoft.cz> |
| |
| * i386.h (BIGGEST_ALIGNMENT): Set to 128. |
| (BIGGEST_FIELD_ALIGNMENT): Set to (TARGET_ALIGN_DOUBLE ? 64 : 32) |
| |
| * i386.md (memstr): Do not use rep stosb for counts divisible by 4 |
| when optimize_size. |
| (clrstrsi): Rewrite. |
| (strsethi, strsetqi): New expanders. |
| (strsethi_1, strsetqi_1, rep_stossi, rep_stosqi): New insn patterns. |
| (cmpstrsi): Emit compare insn before cmpstrsi_1 |
| (cmpstrsi_nz): use flags, set type to str, prefix_length to 1. |
| (strlensi_1): Likewise. |
| (cmpstrsi_1): Likewise; do not output compare. |
| (strlen expander): Do not unroll when optimizing for size. |
| (*subsi3_carry): Rename to subsi3_carry |
| (addqi3_cc): New pattern. |
| * i386.h (processor_costs): Add move_ratio field. |
| (MOVE_RATIO): Use move_ratio field, set to 3 for OPTIMIZE_SIZE |
| * i386.c (*_cost): Set move_ratio. |
| (x86_unroll_strlen): Enable for Athlon, PPro and K6 too. |
| (x86_expand_strlensi_1): Rewrite the main loop. |
| |
| 2000-01-17 Richard Henderson <rth@cygnus.com> |
| |
| * combine.c (combine_simplify_rtx): Give FLOAT_STORE_FLAG_VALUE a mode. |
| * cse.c (find_comparison_args, fold_rtx): Likewise. |
| * integrate.c (subst_constants): Likewise. |
| * loop.c (get_condition): Likewise. |
| |
| * tm.texi (FLOAT_STORE_FLAG_VALUE): Update docs. |
| |
| * alpha.h (FLOAT_STORE_FLAG_VALUE): Use REAL_VALUE_ATOF. |
| |
| 2000-01-18 Martin v. Löwis <loewis@informatik.hu-berlin.de> |
| |
| * c-parse.in (SAVE_WARN_FLAGS): Create an INTEGER_CST. |
| (RESTORE_WARN_FLAGS): Unpack it. |
| Change semantic type of extension to ttype. |
| * c-common.c (split_specs_attrs): Expect an INTEGER_CST. |
| * c-parse.y, c-parse.c, objc/objc-parse.y, |
| objc/objc-parse.c: Regenerate. |
| |
| 2000-01-17 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * fixinc/fixlib.c: Add copyright notice. |
| (compile_re): New function. |
| * fixinc/fixlib.h: Prototype compile_re. |
| |
| * fixinc/fixfixes.c, fixinc/fixtests.c, fixinc/fixincl.c: |
| Use compile_re to compile regular expressions. |
| |
| * fixinc/fixincl.c (egrep_test): Don't bother asking regexec |
| where the pattern matched. |
| |
| * fixinc/inclhack.def (sun_memcpy): Move to AAB_sun_memcpy, |
| use 'replace'. |
| (ultrix_ansi_compat): Likewise. |
| (interactv_add1): Rename to 'isc_omits_with_stdc', remove shell test, |
| add egrep test. |
| (interactv_add2, interactv_add3): Delete. |
| (x11_sprintf): Don't use filename glob. |
| * fixinc/fixincl.x, fixinc/inclhack.sh, fixinc/fixincl.sh: |
| Regenerate. |
| |
| 2000-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * print-rtl.c: PROTO -> PARAMS. |
| * real.c: Likewise. |
| * reg-stack.c: Likewise. |
| * resource.c: Likewise. |
| * sdbout.h: Likewise. |
| * simplify-rtx.c: Likewise. |
| * stor-layout.c: Likewise. |
| * stupid.c: Likewise. |
| * xcoffout.c: Likewise. |
| * xcoffout.h: Likewise. |
| |
| 2000-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * toplev.c: PROTO -> PARAMS. |
| * toplev.h: Likewise. |
| * tree.c: Likewise. |
| * tree.h: Likewise. |
| * unroll.c: Likewise. |
| * varasm.c: Likewise. |
| * varray.c: Likewise. |
| * varray.h: Likewise. |
| |
| 2000-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * reload.c: PROTO -> PARAMS. |
| * reload.h: Likewise. |
| * reload1.c: Likewise. |
| * reorg.c: Likewise. |
| * resource.h: Likewise. |
| * rtl.c: Likewise. |
| * rtl.h: Likewise. |
| * rtlanal.c: Likewise. |
| * sbitmap.h: Likewise. |
| * sdbout.c: Likewise. |
| * stack.h: Likewise. |
| * stmt.c: Likewise. |
| * system.h: Likewise. |
| |
| 2000-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * machmode.h: PROTO -> PARAMS. |
| * mbchar.h: Likewise. |
| * mips-tdump.c: Likewise. |
| * mips-tfile.c: Likewise. |
| * optabs.c: Likewise. |
| * output.h: Likewise. |
| * prefix.c: Likewise. |
| * profile.c: Likewise. |
| * protoize.c: Likewise. |
| * real.h: Likewise. |
| * recog.c: Likewise. |
| * recog.h: Likewise. |
| * regclass.c: Likewise. |
| * regmove.c: Likewise. |
| * regs.h: Likewise. |
| |
| 2000-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * ggc-common.c: PROTO -> PARAMS. |
| * ggc-page.c: Likewise. |
| * ggc-simple.c: Likewise. |
| * ggc.h: Likewise. |
| * global.c: Likewise. |
| * graph.c: Likewise. |
| * gthr-win32.h: Likewise. |
| * haifa-sched.c: Likewise. |
| * halfpic.h: Likewise. |
| * integrate.c: Likewise. |
| * integrate.h: Likewise. |
| * jump.c: Likewise. |
| * lcm.c: Likewise. |
| * local-alloc.c: Likewise. |
| * loop.c: Likewise. |
| * loop.h: Likewise. |
| |
| 2000-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * genattr.c: PROTO -> PARAMS. |
| * genattrtab.c: Likewise. |
| * gencheck.c: Likewise. |
| * gencodes.c: Likewise. |
| * genconfig.c: Likewise. |
| * genemit.c: Likewise. |
| * genextract.c: Likewise. |
| * genflags.c: Likewise. |
| * gengenrtl.c: Likewise. |
| * genopinit.c: Likewise. |
| * genoutput.c: Likewise. |
| * genpeep.c: Likewise. |
| * genrecog.c: Likewise. |
| |
| 2000-01-16 Mark Mitchell <mark@codesourcery.com> |
| |
| * tree.h (BINFO_VPTR_FIELD): Augment documentation. |
| |
| 2000-01-16 Alexandre Oliva <oliva@lsd.ic.unicamp.br> |
| |
| * aclocal.m4 (AC_FUNC_MMAP_ZERO): New macro. |
| * configure.in (AC_FUNC_MMAP_ZERO): Use instead of AC_FUNC_MMAP. |
| * ggc-page.c: Replace HAVE_MMAP with HAVE_MMAP_ZERO. |
| * configure, config.in: Rebuilt. |
| |
| 2000-01-16 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * config/i386/i386.md: Add peephole to merge successive stack |
| adjusts. |
| |
| Sat Jan 15 15:41:14 EST 2000 John Wehle (john@feith.com) |
| |
| * gcse.c (insert_insn_end_bb): Use emit_block_insn_before |
| instead of emit_insn_before. Also handle NOTE_INSN_BASIC_BLOCK |
| when walking backwards to find all the parameter loads when |
| the basic block ends in a call. |
| |
| 2000-01-15 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * loop.c (this_loop_info): Delete. |
| (uid_loop): Add in place of uid_loop_num. All uses updated. |
| (loop_number_exit_count): Delete and replace with entry in loop |
| structure. All uses updated. |
| (loop_number_loop_starts, loop_number_loop_ends): Likewise. |
| (loop_number_loop_cont, loop_number_cont_dominator): Likewise. |
| (loop_outer_loop): Likewise. |
| (loop_invalid, loop_number_exit_labels): Likewise. |
| (loop_used_count_register): Delete and replace with entry in |
| loop_info structure. |
| (find_and_verify_loops): Add loops argument. |
| (verify_dominator, mark_loop_jump, prescan_loop): Replace loop_start, |
| loop_end, etc. arguments with loop structure pointer. All callers |
| changed. |
| (loop_reg_used_before_p, scan_loop, strength_reduce): Likewise. |
| (check_dbra_loop, next_insn_in_loop, try_copy_prop): Likewise. |
| (load_mems_and_recount_loop_regs_set, load_mems): Likewise. |
| (insert_bct): Likewise. |
| (basic_induction_var): New argument level. |
| * loop.h (struct loop_info): Delete fields num, loops_enclosed, |
| vtop, and cont. Add used_count_register. |
| (uid_loop): Delete declaration. |
| (loop_number_exit_count): Likewise. |
| (loop_number_loop_starts, loop_number_loop_ends): Likewise. |
| (loop_number_loop_cont, loop_number_cont_dominator): Likewise. |
| (loop_outer_loop, loop_used_count_register): Likewise. |
| (loop_invalid, loop_number_exit_labels): Likewise. |
| (unroll_loop): Replace loop_start and loop_end arguments |
| with loop structure pointer. |
| (loop_precondition_p, loop_iterations): Likewise. |
| Include basic-block.h. |
| * unroll.c: (unroll_loop): Replace loop_start and loop_end arguments |
| with loop structure pointer. |
| (loop_precondition_p, loop_iterations): Likewise. |
| * basic-block.h (struct loop): New entries vtop, cont, |
| cont_dominator, start, end, top, scan_start, exit_labels, |
| exit_count. |
| * Makefile.in (LOOP_H): Add basic-block.h to dependencies. |
| |
| 2000-01-15 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> |
| |
| * defaults.h (ASM_OUTPUT_ASCII): Use ISDIGIT. |
| |
| 2000-01-14 Nathan Sidwell <sidwell@codesourcery.com> |
| |
| * config.in: Rebuilt for 2000-01-13 change to acconfig.h. |
| |
| 2000-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * pdp11-protos.h: New file. |
| |
| * pdp11.c: Include tm_p.h. Add static prototypes. Fix compile |
| time warnings. |
| |
| * pdp11.h: Move prototypes to pdp11-protos.h. Fix compile time |
| warnings. |
| |
| * pdp11.md: Likewise. |
| |
| * 2bsd.h: Likewise. |
| |
| 2000-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * mn10300-protos.h: New file. |
| |
| * mn10300.c: Include tm_p.h. Add static prototypes. Fix compile |
| time warnings. |
| |
| * mn10300.h: Move prototypes to mn10300-protos.h. Fix compile time |
| warnings. |
| |
| * mn10300.md: Likewise. |
| |
| 2000-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * mn10200-protos.h: New file. |
| |
| * mn10200.c: Include tm_p.h. Add static prototypes. Fix compile |
| time warnings. |
| |
| * mn10200.h: Move prototypes to mn10200-protos.h. Fix compile time |
| warnings. |
| |
| * mn10200.md: Likewise. |
| |
| 2000-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * h8300-protos.h: New file. |
| |
| * h8300.c: Include tm_p.h. Add static prototypes. Fix compile |
| time warnings. |
| |
| * h8300.h: Move prototypes to h8300-protos.h. Fix compile time |
| warnings. |
| |
| * h8300.md: Likewise. |
| |
| 2000-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * varasm.c (asm_output_bss): Mark parameters with ATTRIBUTE_UNUSED. |
| (asm_emit_uninitialised): Likewise. |
| |
| 2000-01-13 Gavin Romig-Koch <gavin@cygnus.com> |
| |
| * config/mips/mips.h (ISA_HAS_INT_CONDMOVE): New. |
| * config/mips/mips.md: Use ISA_HAS_INT_CONDMOVE. |
| |
| 2000-01-14 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * config/mips/mips.c (override_options): Don't turn on extra |
| alignment for mips16. |
| |
| 2000-01-14 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * config/mips/mips.c (mips_va_arg): Fix fprv for the 32 bit |
| eabi, and make sure queued POSTINCREMENT rtl is emitted at |
| the right point. |
| |
| 2000-01-14 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * builtins.c (PAD_VARARGS_DOWN): Define. |
| (std_expand_builtin_va_arg): Use the above macro. |
| * config/mips/mips.h (PAD_VARARGS_DOWN): Define. |
| * tm.texi (Register Arguments): Document the above macro. |
| |
| 2000-01-14 Nick Clifton <nickc@cygnus.com> |
| |
| * emit-rtl.c (emit_insn): If checking is enabled, make sure |
| that this function has not been used to emit a jump |
| instruction. |
| |
| * jump.c (return_jump_1): Cope with being passed a null rtx. |
| |
| 2000-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * eh-common.h: PROTO -> PARAMS. |
| * emit-rtl.c: Likewise. |
| * errors.c: Likewise. |
| * errors.h: Likewise. |
| * except.c: Likewise. |
| * except.h: Likewise. |
| * explow.c: Likewise. |
| * expmed.c: Likewise. |
| * expr.c: Likewise. |
| * expr.h: Likewise. |
| * final.c: Likewise. |
| * fix-header.c: Likewise. |
| * flow.c: Likewise. |
| * fold-const.c: Likewise. |
| * function.c: Likewise. |
| * function.h: Likewise. |
| * gcc.c: Likewise. |
| * gcov-io.h: Likewise. |
| * gcov.c: Likewise. |
| * gcse.c: Likewise. |
| |
| 2000-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * sh-protos.h: New file. |
| |
| * sh.c: Include insn-config.h, toplev.h, recog.h and tm_p.h. |
| Add static prototypes. Fix compile time warnings. |
| |
| * sh.h: Move prototypes to sh-protos.h. Fix compile time warnings. |
| * sh.md: Likewise. |
| * elf.h: Likewise. |
| |
| 2000-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * arc-protos.h: New file. |
| |
| * arc.c: Include tm_p.h. Add static prototypes. Fix compile |
| time warnings. |
| |
| * arc.h: Move prototypes to arc-protos.h. Fix compile time |
| warnings. |
| |
| * arc.md: Likewise. |
| |
| 2000-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * dsp16xx-protos.h: New file. |
| |
| * dsp16xx.c: Include tm_p.h. Add static prototypes. Fix compile |
| time warnings. |
| |
| * dsp16xx.h: Move prototypes to dsp16xx-protos.h. Fix compile time |
| warnings. |
| |
| * dsp16xx.md: Likewise. |
| |
| 2000-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * convex-protos.h: New file. |
| |
| * convex.c: Include tm_p.h. Add static prototypes. Fix compile |
| time warnings. |
| |
| * convex.h: Move prototypes to convex-protos.h. Fix compile time |
| warnings. |
| |
| 2000-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * elxsi-protos.h: New file. |
| |
| * elxsi.c: Include tm_p.h. Add static prototypes. Fix compile |
| time warnings. |
| |
| * elxsi.h: Move prototypes to elxsi-protos.h. Fix compile time |
| warnings. |
| |
| * elxsi.md: Likewise. |
| |
| 2000-01-14 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * config/mips/mips.h (REGISTER_MOVE_COST): Remove redundant |
| case for moving from HI/LO/HI_LO_REG. This makes the behavior |
| match the comment for MIPS16. |
| |
| Fri Jan 14 00:28:06 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * flow.c (split_edge): Do not call set_block_for_insn if we |
| do not have a basic_block_for_insn structure. |
| |
| * fr30.h (TRAMPOLINE_TEMPLATE): Use nops to ensure the static chain |
| and destination functions are 32bit aligned within the trampoline. |
| (TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE): Corresponding changes. |
| (TRAMPOLINE_ALIGNMENT): Define. |
| |
| * cse.c (cse_insn): When changing (set (pc) (reg)) to |
| (set (pc) (label_ref)), verify the change creates a valid insn. |
| |
| * fr30.c (call_operand): Tighten and rework to match rules for |
| call RTL expressions. |
| * fr30.h (PREDICATE_CODES, case call_operand): Only allow MEMs. |
| * fr30.md (call patterns): Improve constraints. |
| |
| Thu Jan 13 23:44:03 2000 Richard Henderson <rth@cygnus.com> |
| |
| * fr30.c (fr30_expand_epilogue): Revert last change. |
| Use emit_jump_insn for the return insn. |
| |
| Thu Jan 13 14:46:03 2000 Jason Eckhardt <jle@cygnus.com> |
| Stan Cox <scox@cygnus.com> |
| |
| * predict.c: New file. Preliminary infrastructure work for static |
| branch prediction and basic block reordering. |
| * basic-block.h: Add prototype for estimate_probability. |
| * Makefile.in: Add rules for predict.o. |
| |
| 2000-01-13 Jason Merrill <jason@yorick.cygnus.com> |
| |
| * fixincludes (va_list): Use __not_va_list__ for the dummy. |
| * fixinc/*: Likewise. |
| |
| 2000-01-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * cccp.c: PROTO -> PARAMS. |
| * cexp.y: Likewise. |
| * collect2.c: Likewise. |
| * combine.c: Likewise. |
| * convert.h: Likewise. |
| * cse.c: Likewise. |
| * dbxout.c: Likewise. |
| * dbxout.h: Likewise. |
| * diagnostic.c: Likewise. |
| * doprint.c: Likewise. |
| * dwarf2out.c: Likewise. |
| * dwarf2out.h: Likewise. |
| * dwarfout.c: Likewise. |
| * dwarfout.h: Likewise. |
| * dyn-string.h: Likewise. |
| |
| 2000-01-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * calls.c (emit_call_1): Wrap varaible `struct_value_size_rtx' in |
| macro conditionals guarding use. |
| |
| * dwarf2out.c: Include "tm_p.h". |
| |
| * function.c (locate_and_pad_parm): Mark parameter with |
| ATTRIBUTE_UNUSED. |
| (expand_function_end): Likewise for variable `context'. |
| |
| * reorg.c (make_return_insns): Wrap prototype in macro HAVE_return. |
| |
| 2000-01-13 Nick Clifton <nickc@cygnus.com> |
| |
| * config/fr30/fr30.c (fr30_expand_epilogue): Emit USEs of pop'ed |
| register to prevent compile time warnings. |
| |
| 2000-01-13 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * longlong.h [i386] (udiv_qrnnd): Rename 'd' argument to 'dv' |
| to avoid -Wtraditional warning. |
| |
| 2000-01-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * 1750a-protos.h: New file. |
| |
| * 1750a.c: Include tm_p.h. Add static prototypes. Fix compile |
| time warnings. |
| |
| * 1750a.h: Move prototypes to 1750a-protos.h. Fix compile time |
| warnings. |
| |
| * 1750a.md: Likewise. |
| |
| 2000-01-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * a29k-protos.h: New file. |
| |
| * a29k.c: Include tm_p.h. Add static prototypes. Fix compile |
| time warnings. |
| |
| * a29k.h: Move prototypes to a29k-protos.h. Fix compile time |
| warnings. |
| |
| 2000-01-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * clipper-protos.h: New file. |
| |
| * clipper.c: Include tm_p.h. Add static prototypes. Fix compile |
| time warnings. |
| |
| * clipper.h: Move prototypes to clipper-protos.h. Fix compile time |
| warnings. |
| |
| Thu Jan 13 16:03:06 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * reload1.c (reload_combine_note_store): Use HARD_REGNO_NREGS. |
| |
| 2000-01-13 Nathan Sidwell <sidwell@codesourcery.com> |
| |
| * configure.in (--enable-new-gxx-abi): New option. |
| * acconfig.h (ENABLE_NEW_GXX_ABI): New define. |
| * Makefile.in (GXX_ABI_FLAG): New variable. |
| * configure: Regenerate. |
| |
| 2000-01-13 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * stor-layout.c (layout_type): Use FORCE_STRUCT_BLK. |
| * tm.texi (FORCE_STRUCT_BLK): Document. |
| * config/c4x/c4x.h (FORCE_STRUCT_BLK): New macro. |
| |
| Wed Jan 12 23:12:47 2000 Hans-Peter Nilsson <hp@axis.com> |
| |
| * config/ns32k/ns32k.md: Revert Jan 9 change. |
| |
| * genrecog.c (maybe_both_true_2): Do not compare a predicate-test |
| to a mode-test, if the predicate is address_operand. |
| |
| Wed Jan 12 22:34:00 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * combine.c (if_then_else_cond): Be careful about what kinds |
| of RTL expressions are passed to operand_subword. |
| |
| * flow.c (split_edge): If we have to insert a new jump, make |
| sure to associate it with a basic block. |
| |
| * flow.c (commit_one_edge_insertion): A block with one successor |
| can end in a JUMP_INSN that is not a simplejump. |
| |
| 2000-01-12 Robert Lipe <robertl@sco.com> |
| |
| * i386/sco5.h (INIT_SECTION_ASM_OP_COFF): Rename section to "ctor". |
| (BUILD_VA_LIST_TYPE): Define. |
| (EH_FRAME_SECTION_ASM_OP): Explictly define to better interact |
| with crtstuff.c. |
| |
| 2000-01-12 Jason Merrill <jason@casey.cygnus.com> |
| |
| * cccp.c (do_pragma): Add cast to (char *). |
| |
| 2000-01-12 Richard Henderson <rth@cygnus.com> |
| Fred Fish <fnf@be.com> |
| Jason Merrill <jason@cygnus.com> |
| |
| * configure.in (i?86-*-beos{pe,elf,}*): Recognize. |
| * i386/t-beos, i386/x-beos, i386/xm-beos.h: New files. |
| * i386/beos-elf.h, i386/beos-pe.h: New files. |
| |
| * Makefile.in (CROSS_SYSTEM_HEADER_DIR): New. |
| * cross-make (SYSTEM_HEADER_DIR): Define using |
| CROSS_SYSTEM_HEADER_DIR. |
| |
| * gcc.c (LIBRARY_PATH_ENV): Provide default. |
| (process_command): Use it. |
| (main): Likewise. Kill trailing = from env vars. |
| (build_search_list): Put it back. |
| * collect2.c (main): Use LIBRARY_PATH_ENV. |
| |
| * configure.in (GCC_NEED_DECLARATIONS): Add environ. |
| * toplev.c: Use NEED_DECLARATION_ENVIRON. |
| |
| * tm.texi (Frame Layout): Document SMALL_STACK. |
| * c-common.c (c_common_nodes_and_builtins): Check it. |
| |
| * system.h: Undef alloca after including glibc's <stdlib.h>, |
| if USE_C_ALLOCA is defined. |
| |
| * gcc.c (set_input): New fn. |
| (main): After all input files are compiled, reset the input file |
| info to the first. |
| |
| * aclocal.m4 (rindex, index): If already defined, don't attempt |
| to redefine. |
| |
| * ginclude/varargs.h: (__va_list__): Define ifndef. |
| * ginclude/stdarg.h: Likewise. |
| |
| * ginclude/stddef.h (__WCHAR_TYPE__) [BEOS]: Use int |
| instead of unsigned char. |
| |
| * hash.h (true, false, boolean): Undef before enum. |
| |
| * expmed.c (choose_multiplier): Cast &mhigh_lo and &mhigh_hi to be |
| proper type of "HOST_WIDE_INT *", rather than their natural type of |
| "unsigned HOST_WIDE_INT *". |
| |
| 2000-01-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * svr3.h (ASM_FILE_START): Wrap if-clause in squigly brackets. |
| |
| * recog.c (memory_address_p): Mark parameter with ATTRIBUTE_UNUSED. |
| |
| * regclass.c (choose_hard_reg_mode): Likewise. |
| |
| * reload.c (find_valid_class, strict_memory_address_p): Likewise. |
| |
| * reorg.c (optimize_skip): Wrap prototype in macro conditionals. |
| |
| 2000-01-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * c-common.c: PROTO -> PARAMS. |
| * c-common.h: Likewise. |
| * c-decl.c: Likewise. |
| * c-iterate.c: Likewise. |
| * c-lang.c: Likewise. |
| * c-lex.c: Likewise. |
| * c-lex.h: Likewise. |
| * c-parse.in: Likewise. |
| * c-pragma.c: Likewise. |
| * c-pragma.h: Likewise. |
| * c-tree.h: Likewise. |
| * c-typeck.c: Likewise. |
| * objc/objc-act.c: Likewise. |
| * objc/objc-act.h: Likewise. |
| |
| 2000-01-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * m88k-protos.h: New file. |
| |
| * m88k.c: Include tm_p.h. Add static prototypes. Fix compile |
| time warnings. |
| |
| * m88k.h: Move prototypes to m88k-protos.h. Fix compile time warnings. |
| |
| * m88k.md: Likewise. |
| |
| * tekXD88.h: Likewise. |
| |
| 2000-01-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * m68k-protos.h: New file. |
| |
| * m68k.c: Include tm_p.h. Add static prototypes. Fix compile |
| time warnings. |
| |
| * m68k.h: Move prototypes to m68k-protos.h. Fix compile time warnings. |
| |
| * mot3300.h: Likewise. |
| |
| 2000-01-12 Richard Earnshaw <rearnsha@arm.com> |
| |
| * haifa-sched.c (split_edges): Pass edgeset_size as second arg to |
| extract_bitlst. |
| (extract_bitlist): Declare bitlen. |
| |
| 2000-01-12 Zack Weinberg <zack@wolery.cumb.org |
| |
| * cccp.c: Accept and ignore -lang-fortran. |
| |
| * c-typeck.c (build_c_cast): Issue -Wcast-qual warnings if the |
| qualifiers don't match at any level of pointerness. |
| |
| 2000-01-12 Robert Lipe <robertl@sco.com> |
| |
| * i386/sysv5.h (CPP_SPEC, LIBSPEC): Add -pthreadT. |
| |
| 2000-01-12 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * reload1.c (reload_reg_unavailable): New static variable. |
| (reload_reg_free_p): Test it. |
| (reload_reg_free_for_value_p): Test it instead of |
| reload_reg_used. |
| (choose_reload_regs_init): Compute it. |
| |
| Wed Jan 12 03:24:41 2000 Toshiyasu Morita (toshi.morita@sega.com) |
| |
| * reorg.c (fill_slots_from_thread): Check modified_in_p |
| before replacing. |
| |
| Wed Jan 12 03:20:31 2000 John Marshall <john_w_marshall@palm.com> |
| |
| * gcc.texi (Funding, GNU/Linux, Copying, Contributors): Format |
| these nodes even if INTERNALS is not set. |
| |
| Wed Jan 12 09:39:22 2000 Nick Burrett <nick.burrett@btinternet.com> |
| |
| * gcse.c (delete_null_pointer_checks_1): Cope when |
| get_condition cannot determine the condition. |
| |
| 2000-01-12 Gabriel Dos Reis <gdr@codesourcery.com> |
| |
| * toplev.h (set_message_length): Declare. |
| |
| * diagnostic.c (obstack_chunk_alloc): Define macro. |
| (obstack_chunk_free): Likewise. |
| (struct output_buffer): New data structure. |
| (vmessage): Remove. |
| (output_maximum_width): New variable. |
| (doing_line_wrapping, set_message_length, init_output_buffer, |
| get_output_prefix, output_space_left, emit_output_prefix, |
| output_newline, output_append, output_puts, dump_output, |
| vbuild_message_string, build_message_string, build_location_prefix, |
| voutput_notice, output_printf, line_wrapper_printf, |
| vline_wrapper_message_with_location): New functions. Implement |
| automatic line wrapping. |
| (v_message_with_decl): Make it handle automatic line wrapping. |
| (v_error_with_file_and_line): Likewise. |
| (v_warning_with_file_and_line): Likewise. |
| (announce_function): Likewise. |
| (default_print_error_function): Likewise. |
| |
| 2000-01-11 16:24 -0800 Zack Weinberg <zack@wolery.cumb.org> |
| |
| * cpplib.h (struct cpp_options): Change lang_asm to char. |
| Add lang_fortran. |
| * cppinit.c (builtin_array): Take out __STDC_VERSION__, it's |
| done in cpp_handle_option now. |
| (initialize_builtins): Take out special case code used only by |
| __STDC_VERSION__. |
| (cpp_handle_option): Turn off trigraphs and trigraph warnings |
| if -traditional. Recognize -lang-fortran and set |
| lang_fortran, also turn off cplusplus_comments. |
| (print_help): Document -lang-fortran. |
| * cpplib.c (handle_directive): Ignore `# 123 "file"' if |
| lang_asm. Ignore all directives other than `# 123 "file"' if |
| CPP_PREPROCESSED. |
| (cpp_get_token): If -traditional, don't recognize directives |
| unless the # is in column 1. |
| (parse_string): If lang_fortran or lang_asm, silently |
| terminate strings ('' or "") at end of line. |
| Remove unnecessary braces. |
| |
| 2000-01-11 Alexandre Oliva <oliva@lsd.ic.unicamp.br> |
| Richard Henderson <rth@cygnus.com> |
| |
| * resource.c (mark_referenced_resources): Mark a set strict_low_part |
| as used. |
| * config/i386/i386.c (ix86_expand_setcc): Re-enable clear + set |
| strict_low_part when possible. |
| |
| 2000-01-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * alias.c: PROTO -> PARAMS. |
| * basic-block.h: Likewise. |
| * bitmap.c: Likewise. |
| * bitmap.h: Likewise. |
| * builtins.c: Likewise. |
| * c-aux-info.c: Likewise. |
| * caller-save.c: Likewise. |
| * calls.c: Likewise. |
| |
| 2000-01-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * Makefile.in (toplev.o): Depend on regs.h. |
| |
| * output.h (tdesc_section): Prototype. |
| |
| * regclass.c (copy_cost): Mark parameters with ATTRIBUTE_UNUSED. |
| |
| * sdbout.c: Include "tm_p.h". |
| |
| * toplev.c: Include "regs.h". |
| |
| Tue Jan 11 11:37:58 2000 Mike Stump <mrs@wrs.com> |
| |
| * unroll.c (unroll_loop): Add EH support. |
| |
| 2000-01-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * pa-protos.h: New file. |
| |
| * pa.c: Include recog.h and tm_p.h. |
| (compute_zdepwi_operands, compute_movstrsi_length, |
| remove_useless_addtr_insns, store_reg, load_reg, set_reg_plus_d, |
| find_addr_reg, import_milli): Add static prototypes. |
| (pa_cpu_string, pa_arch_string): Constify a char*. |
| (legitimize_pic_address): Pass argument `mode' to pic_label_operand. |
| (read_only_operand): Add argument `mode'. |
| (singlemove_string, output_move_double, output_fp_move_double, |
| output_block_move, output_and, output_ior, output_ascii, |
| remove_useless_addtr_insns, milli_names, output_mul_insn, |
| output_div_insn, output_mod_insn, output_arg_descriptor, |
| output_cbranch, output_bb, output_bvb, output_dbra, , |
| output_millicode_call, output_call, hppa_encode_label, |
| output_parallel_movb, output_parallel_addb): Constify a char*. |
| (hppa_va_start): Mark parameter `stdarg_p' with ATTRIBUTE_UNUSED. |
| (output_parallel_addb): Remove extra arg to `constrain_operands' |
| |
| * pa.h: Move all prototypes to pa-protos.h. |
| (pa_cpu_string, pa_arch_string): Constify a char*. |
| (LEGITIMIZE_ADDRESS): Call `symbolic_operand' with mode argument. |
| |
| * pa.md: Call `function_label_operand' with mode argument. |
| Likewise for `read_only_operand'. |
| Fix nesting of parens in call to `symbolic_operand'. |
| |
| 2000-01-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * i860-protos.h: New file. |
| |
| * i860.c: Include tm_p.h. Add static prototypes. Fix compile |
| time warnings. |
| |
| * i860.h: Move prototypes to i860-protos.h. Fix compile time warnings. |
| |
| * i860.md: Likewise. |
| |
| Tue Jan 11 18:59:35 MET 2000 Jan Hubicka <jh@suse.cz> |
| |
| * i386.md (movstrsi expander): Rewrite. |
| (movstrsi_1 insn): Deleted. |
| (strmovhi, strmovqi expander): New expanders. |
| (movshi_1, movsqi_1, rep_movsi, rep_movqi): New patterns. |
| * i386.c (x86_single_stringop): New global variable. |
| * i386.h (x86_single_stringop): Declare. |
| (TARGET_SINGLE_STRINGOP): New macro. |
| |
| 2000-01-11 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * config/mips/mips.c (mips_va_arg): For EABI, emit the queued |
| integer vararg POSTINCREMENT before the destination of the jump |
| for the hard fp case. |
| (function_arg_pass_by_reference): Pass a copy of CUM to |
| FUNCTION_ARG. |
| |
| * config/mips/mips.h (GO_IF_LEGITIMATE_ADDRESS): Move check |
| for CONSTANT_ADDRESS_P above while loop for subreg. |
| |
| 2000-01-11 Clinton Popetz <cpopetz@cygnus.com> |
| |
| * flow.c (propagate_block): When a prologue/epilogue insn |
| is marked dead, unconditionally clear libcall_is_dead and |
| insn_is_dead, and only dump rtl if warnings aren't being |
| suppressed. |
| |
| Tue Jan 11 16:26:47 MET 2000 Jan Hubicka <jh@suse.cz> |
| |
| * i386.c (ix86_attr_length_default): Handle TYPE_STR and TYPE_CLD. |
| * i386.md (FIRST_PSEUDO_REGISTER): Set to 20. |
| (FIXED_REGISTERS): Set dirflag as fixed. |
| (CALL_USED_REGISTERS): Set dirflag as used. |
| (REG_ALLOC_ORDER): Set dirflag as last one. |
| (DIRFLAG_REG): New macro. |
| (MD_ASM_CLOBBERS): Asm clobber dirflag for backward compatibility. |
| (HI_REGISTER_NAMES): Add dirflag. |
| (DEBUF_PRINT_REG): Handle dirflag. |
| * i386.md (type attribute): New cld and str types. |
| (length_opcode attribute): Set cld and str to 1. |
| (memory attribute): Set str to unknown - it is not clear from the |
| patterns. |
| (pent_np function unit): Prefixed string operations takes 12 cycles |
| minimally; cld takes 2 cycles. |
| (ppro_uops attribute): Str is "many" and cld is "few". |
| (ppro_p0 unit): Handle cld here. |
| (k6_alux unit): Handle cld and str types. |
| (k6_load unit): It is ocupied by str opcodes. |
| (k6_store unit): It is ocupied by str opcodes. |
| (athlon_decode): Str is vector decoded. |
| (athlon_ieu): Handle str and cld. |
| (cld pattern): New. |
| (movstrsi, clrstr, cmpstr, strlen expander): Emit cld instruction |
| (movstrsi_1, clrstrsi_1, cmpstrsi_1, strlensi_1, |
| cmpstrsi_nz_1 insn): Do not output cld instruction |
| |
| Tue Jan 11 06:14:39 2000 David Starner <dstarner98@aasaa.ofe.org> |
| |
| * gcc.texi (G++ and GCC): Add Java and Chill. |
| (Bug Critera): Don't list languages. |
| |
| * gcc.texi (Incompatibilities): No longer claim most C compilers |
| are K&R. |
| |
| * gcc.texi (G++ and GCC): Update other front-ends list. |
| |
| Tue Jan 11 05:49:01 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * i386.c (ix86_expand_setcc): Fix typo. |
| (ix86_expand_movcc): Similarly. |
| |
| * Band-aid until haifa's bitset implementation is nuked. |
| * haifa-sched.c (extract_bitlst): New parameter for size of the |
| bitset in bits. All callers changed. Avoid looking at undefined |
| bits in the bitset. |
| (edgeset_bitsize): New variable. |
| (schedule_region): Initialize edgeset_bitsize. |
| |
| 2000-01-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * Makefile.in (optabs.o): Depend on real.h |
| (resource.o): Depend on insn-attr.h |
| |
| * builtins.c (result_vector): Wrap prototype in macro conditions |
| governing definition and use. |
| |
| * c-common.c: Include tm_p.h. |
| |
| * c-lex.c: Likewise. |
| |
| * elfos.h: Constify a char*. |
| |
| * final.c (align_fuzz): Wrap prototype in macro HAVE_ATTR_length. |
| (get_attr_length, shorten_branches, profile_after_prologue): Mark |
| parameter with ATTRIBUTE_UNUSED. |
| |
| * fold-const.c (exact_real_inverse): Wrap variable `i' in |
| CHECK_FLOAT_VALUE. |
| |
| * haifa-sched.c (schedule_insns): Mark parameter with |
| ATTRIBUTE_UNUSED. |
| |
| * optabs.c: Include real.h. |
| |
| * real.h (ereal_atof): Add prototype arguments. |
| |
| * resource.c: Include insn-attr.h. |
| |
| * sdbout.c (sdbout_queue_anonymous_type, |
| sdbout_dequeue_anonymous_types): Wrap in macro |
| SDB_ALLOW_FORWARD_REFERENCES. |
| (sdbout_init, sdbout_start_new_source_file): Mark parameter with |
| ATTRIBUTE_UNUSED. |
| |
| * stmt.c (expand_return): Wrap variable `op0' in macro HAVE_return. |
| |
| * stupid.c: Include tm_p.h. |
| |
| * tree.c (real_value_from_int_cst): Mark parameter with |
| ATTRIBUTE_UNUSED. |
| |
| 2000-01-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * i960-protos.h: New file. |
| |
| * i960.c: Include tm_p.h. Add static prototypes. Fix compile |
| time warnings. |
| |
| * i960.h: Move prototypes to i960-protos.h. Fix compile time warnings. |
| |
| 2000-01-10 Alexandre Oliva <oliva@lsd.ic.unicamp.br> |
| |
| * combine.c (expand_field_assignment): Do not discard SUBREGs |
| while computing nonzero_bits. |
| |
| 2000-01-09 Nick Clifton <nickc@cygnus.com> |
| |
| * config/arm/arm.c: Fix compile time warnings about signed vs |
| unsigned constants. |
| * config/arm/arm.h: Fix compile time warnings about signed vs |
| unsigned constants. |
| |
| 2000-01-09 Philip Blundell <philb@gnu.org> |
| |
| * config/arm/arm.c (output_return_instruction): Use `ldr' rather |
| than `ldm' with only one register. |
| * config/arm/arm.md (push_multi): Use `str' rather than `stm' with |
| only one register. |
| |
| * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Say that R0 is |
| clobbered. |
| |
| Sun Jan 9 17:50:23 2000 Hans-Peter Nilsson <hp@axis.com> |
| |
| * config/ns32k/ns32k.md (load or push effective address): Operand 1 |
| must have SImode. |
| |
| 2000-01-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * elfos.h (ASM_OUTPUT_LIMITED_STRING): Add parentheses around |
| assignment used as truth value. |
| |
| * function.c (assign_temp): Mark parameter `dont_promote' with |
| ATTRIBUTE_UNUSED. Wrap variable `unsignedp' with macro |
| PROMOTE_FOR_CALL_ONLY. |
| |
| * genrecog.c (write_subroutine): Mark variable `operands' with |
| ATTRIBUTE_UNUSED. |
| |
| * optabs.c (prepare_cmp_insn): Mark parameter `align' with |
| ATTRIBUTE_UNUSED. |
| |
| * sdbout.c (sdbout_init): Likewise for parameter `asm_file'. |
| (sdbout_begin_block, sdbout_end_block): Likewise for `file'. |
| |
| * toplev.c (note_deferral_of_defined_inline_function): Likewise |
| for `decl'. |
| |
| 2000-01-09 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x.h: Tidy up comments. |
| * config/c4x.c: Likewise. |
| |
| Sun Jan 9 01:02:55 EST 2000 John Wehle (john@feith.com) |
| |
| * fold-const.c (lshift_double, rshift_double): Handle |
| shifting by 2 * HOST_BITS_PER_WIDE_INT correctly. |
| |
| 2000-01-08 Alexandre Oliva <oliva@lsd.ic.unicamp.br> |
| |
| * toplev.c (rest_of_compilation): Initialize cse_not_expected as |
| in prepare_function_start(). |
| |
| Sat Jan 8 12:12:46 2000 Nick Clifton <nickc@cygnus.com> |
| |
| * config/v850/v850.c (expand_epilogue): Interrupt functions no |
| longer allocate extra stack for function calls. |
| |
| 2000-01-08 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x/c4x.md (*subqf3_set): Fix typo. |
| |
| 2000-01-08 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x/c4x.h (CALLER_SAVE_PROFITABLE): Define as 0. |
| |
| 2000-01-07 David Edelsohn <edelsohn@gnu.org> |
| |
| * rs6000.c (processor_target_table): Add power3 as alias for 630. |
| * aix43.h: Revert Aug 2 change. |
| (HAS_INIT_SECTION): Define, not visible yet. |
| (LD_INIT_SWITCH): Define, not visible yet. |
| * t-aix43 (MULTILIB_OPTIONS): Revert Aug 2 change. |
| |
| * glimits.h (__LONG_MAX__): Recognize 64-bit AIX too. |
| |
| * collect2.c (main): Expand ld2 size further. |
| (export_object_lst): Cast assignment to avoid warning. |
| (main, LD_INIT_SWITCH): Add AIX 4.2+ -binitfini support. |
| (scan_prog_file, COFF): Do not collect initialization or |
| finalization functions generated for entire shared object if |
| init/fini support present. |
| |
| 2000-01-07 Nick Clifton <nickc@cygnus.com> |
| |
| * config/elfos.h: Tidy up formatting of marcos. Make sure |
| that .section directives are always prefixed by a tab. |
| |
| * config/svr4.h: Add #include "elfos.h" and remove duplicate |
| definitions. |
| |
| 2000-01-07 Matt Austern <austern@sgi.com> |
| |
| * fold-const.c (real_hex_to_f): Remove duplicate declaration of |
| expon. |
| |
| Fri Jan 7 01:55:34 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * Makefile.in (crtend.o): Pass @inhibit_libc@ to compilation of |
| crtstuff.c. |
| (crtbegin.o, s-crtS): Likewise. |
| |
| 2000-01-06 Richard Henderson <rth@cygnus.com> |
| |
| * alpha.md (adddi_2+1): Limit offset such that it will be |
| loadable with a single ldah+lda pair. |
| (adddi_2+2): Explicitly fail split if we can't make it work. |
| |
| 2000-01-06 Mumit Khan <khan@xraylith.wisc.edu> |
| |
| * protoize.c: Conditionally include unistd.h. |
| (IS_SAME_PATH_CHAR): New macro. |
| (IS_SAME_PATH): New macro. |
| (CPLUS_FILE_SUFFIX): New macro. |
| (cplus_suffix): New static variable. |
| (is_abspath): New static function. |
| (in_system_include_dir): Handle DOS style pathnames. |
| (file_could_be_converted): Likewise. |
| (file_normally_convertible): Likewise. |
| (directory_specified_p): Likewise. |
| (file_excluded_p): Likewise. |
| (abspath): Likewise. |
| (shortpath): Likewise. |
| (referenced_file_is_newer): Likewise. |
| (save_def_or_dec): Likewise. |
| (do_processing): Likewise. |
| (main): Likewise. |
| (edit_file): Likewise. Use rename instead of link. |
| (rename_c_file): Likewise. Don't rename syscalls file. |
| (munge_compile_params): Define null device for DOS based systems. |
| (process_aux_info_file): Use binary mode if appliable. |
| (edit_file): Likewise. |
| * invoke.texi (Running Protoize): Document C++ suffixes used. |
| |
| * cccp.c: Delete PATH_SEPARATOR, DIR_SEPARATOR and |
| IS_DIR_SEPARATOR macros. |
| * collect2.c: Likewise. |
| * cppinit.c: Likewise. |
| * dwarf2out.c: Likewise. |
| * gcc.c: Likewise. |
| * gcov.c: Likewise. |
| * prefix.c: Likewise. |
| * rtl.c: Likewise. |
| * toplev.c: Likewise. |
| * system.h: And move to here. |
| |
| * prefix.c (update_path): Fix typo in variable name. |
| |
| 2000-01-06 Richard Henderson <rth@cygnus.com> |
| |
| * flow.c (mark_set_1): Use loop_depth+1 as reference weight. |
| (find_auto_inc, mark_used_regs, try_pre_increment_1): Likewise. |
| (count_reg_sets_1, count_reg_references): Likewise. |
| (flow_loops_level_compute): Start counting actual loop depth at 1. |
| (flow_loops_find): Likewise. |
| * local-alloc.c (update_equiv_regs): Likewise. |
| * regclass.c (regclass): Re-instate Jan 4 0-based loop_depth change. |
| |
| 2000-01-06 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr> |
| |
| * defaults.h (DWARF_FRAME_REGISTERS): if not defined, default to |
| FIRST_PSEUDO_REGISTER |
| * dwarf2out.c: Don't include frame.h |
| * dwarfout.c: Likewise |
| * Makefile.in (dwarfout.o, dwarf2out.o): Remove dependence on |
| frame.h |
| |
| Thu Jan 6 13:44:59 CET 2000 Jan Hubicka <jh@suse.cz> |
| |
| * reg-stack.c (subst_stack_regs_pat): Handle correctly USEs of |
| dead registers. |
| |
| * i386.c (movsf splitter): Fix typo in my last checkin. |
| |
| 2000-01-05 Nick Clifton <nickc@cygnus.com> |
| |
| * varasm.c (IN_NAMED_SECTION): Allow targets to provide their |
| own definition of this macro. |
| (asm_emit_uninitialised): Invoke UNIQUE_SECTION if either |
| flag_data_sections or UNIQUE_SECTION_P are true. |
| |
| * tm.texi (UNIQUE_SECTION): Document that it can be called for |
| uninitialized data decls. |
| |
| * config/i386/winnt.c (i386_pe_unique_section): Cope with |
| being called for uninitialized data. |
| |
| * config/i386/interix.c (i386_pe_unique_section): Cope with |
| being called for uninitialized data. |
| |
| * config/mips/elf.h (UNIQUE_SECTION): Cope with being called |
| for uninitialized data. |
| |
| * config/mips/elf64.h (UNIQUE_SECTION): Cope with being called |
| for uninitialized data. |
| |
| * config/mips/iri6gld.h (UNIQUE_SECTION): Cope with being called |
| for uninitialized data. |
| |
| * config/arm/unknown-elf.h (IN_NAMED_SECTION): Define. |
| (UNIQUE_SECTION_P): Always generate a unique section if |
| flag_data_sections is true. |
| (UNIQUE_SECTION): Also generate unique sections for |
| uninitialized data. |
| (ASM_OUTPUT_ALIGNED_BSS): Redefine to use named_section(). |
| (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Redefine to use |
| named_section(). |
| |
| 2000-01-06 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x/t-c4x (TARGET_LIBGCC2_CFLAGS): Don't redefine SF, DF, |
| SI, or DI. |
| |
| 2000-01-06 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x/c4x.md (udivqi3, divqi3): Delete. |
| (umodqi3, modqi3, udivhi3, divhi3, umodhi3, modhi3, ffsqi2): Likewise. |
| (*smulqi3_highpart_noclobber, *umulqi3_highpart_noclobber): New. |
| (*lshrqi3_const_noclobber, *lshrqi3_nonconst_noclobber): Likewise. |
| (*ashrqi3_const_noclobber, *ashrqi3_nonconst_noclobber): Likewise. |
| |
| * c4x.h (INIT_TARGET_OPTABS): Define to init libcalls. |
| |
| 2000-01-05 11:25 -0800 Zack Weinberg <zack@rabi.columbia.edu> |
| |
| * c-decl.c (finish_enum): Simplify code to determine minimum and |
| maximum values of the enum, and calculate the type. Remove check |
| for FUNCTION_DECLs in the values list, which cannot happen. Replace |
| the DECL_INITIAL of each enumeration constant with a copy converted |
| to the enumeration type. When updating variant types, don't bother |
| updating the type itself. |
| |
| * c-typeck.c (build_binary_op): Simplify conditional expressions |
| when weeding out spurious signed-unsigned warnings. Add new |
| spurious warning category: if the unsigned quantity is an enum |
| and its maximum value fits in signed_type(result_type). Update |
| commentary. |
| (build_conditional_expr): Warn here if one alternative is signed |
| and the other is unsigned. |
| |
| 2000-01-05 Nick Clifton <nickc@cygnus.com> |
| |
| * config/fr30/fr30.h: Remove extraneous comments. |
| |
| 2000-01-05 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * reload1.c (choose_reload_regs): When disabling a reload, also |
| set reload_spill_index to -1. |
| |
| 2000-01-04 Joel Sherrill (joel@OARcorp.com> |
| |
| * configure.in (m68*-*-rtemscoff*): New target, formal name for |
| old m68*-*-rtems*. |
| (m68*-*-rtemself*): New target. |
| (mips64orion-*-rtems*): Remove duplicate definition of tm_file. |
| (sparc*-*-rtemsaout*): New target, formal name for old sparc*-*-rtems*. |
| (sparc*-*-rtemself*): New target. |
| (sparc*-*-rtems*): Now elf not a.out. |
| * config/i386/rtems.h: Include config/rtems.h. |
| * config/i386/rtemself.h: Include config/rtems.h. |
| * config/i960/rtems.h: Include config/rtems.h. |
| * config/m68k/rtems.h: Include config/rtems.h. |
| * config/m68k/rtemself.h: Include config/rtems.h. |
| * config/mips/rtems64.h: Include config/rtems.h. |
| * config/pa/rtems.h: Include config/rtems.h. |
| * config/rs6000/rtems.h: Include config/rtems.h. |
| * config/sh/rtems.h: Include config/rtems.h. |
| * config/sh/rtemself.h: Include config/rtems.h. |
| * config/sparc/rtems.h: Include config/rtems.h. |
| * config/sparc/rtemself.h: Include config/rtems.h |
| |
| Tue Jan 4 23:59:26 2000 Denis Chertykov <denisc@overta.ru> |
| |
| * final.c (shorten_branches): Correctly compute length of |
| asms without operands. |
| |
| Tue Jan 4 22:55:41 2000 Steve Chamberlain <sac@pobox.com> |
| |
| * configure.in: Add pj target. |
| * configure: Regenerate. |
| * config/pj: New directory. |
| * config/pj/lib1funcs.S: New file. |
| * config/pj/linux.h: New file. |
| * config/pj/pj.c: New file. |
| * config/pj/pj.md: New file. |
| * config/pj/pjl.h: New file. |
| * config/pj/t-pj: New file. |
| * config/pj/xm-pj.h: New file |
| |
| Tue Jan 4 22:30:16 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * toplev.c (rest_of_compilation): Run shorten-branches before |
| reg-stack for now. |
| |
| 2000-01-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x/c4x.h (IS_XXX_REG, IS_XXX_REGNO): Swap behavior of |
| macros so that they're consistent with their names. |
| * config/c4x/c4x.c (IS_XXX_REG, IS_XXX_REGNO): Likewise. |
| * config/c4x/c4x.md (IS_XXX_REG, IS_XXX_REGNO): Likewise. |
| |
| 2000-01-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz> |
| |
| * config/c4x/c4x.md (*addqi3_noclobber_reload): Ensure that CC never |
| modified inadvertently. |
| |
| 2000-01-04 Joel Sherrill <joel@OARcorp.com> |
| |
| * configure.in (v850*-*-rtems*): New target. |
| * configure: Regenerate. |
| * config/v850/rtems.h: New file. |
| |
| 2000-01-04 Mumit Khan <khan@xraylith.wisc.edu> |
| |
| * gthr-win32.h (__gthread_active_p): Support Mingw MT runtime. |
| (__gthread_key_create): Likewise. |
| (__gthread_key_dtor): Likewise. |
| (__gthread_once): Fix logic. |
| (__gthread_key_delete): Cast away constness. |
| |
| * i386/cygwin.h (SUBTARGET_SWITCHES): Add -mthreads option. |
| * invoke.texi: Document. |
| * i386/mingw32.h (CPP_SPEC): Use. |
| (LIBGCC_SPEC): Likewise. |
| * i386/crtdll.h (LIBGCC_SPEC): Likewise. |
| |
| 2000-01-04 David Edelsohn <edelsohn@gnu.org> |
| |
| * rs6000/sysv4.h (ASM_OUTPUT_DEF): Undefine. |
| (HANDLE_PRAGMA_PACK): Undefine. |
| (SLOW_UNALIGNED_ACCESS): Define. |
| |
| 2000-01-04 David Edelsohn <edelsohn@gnu.org> |
| |
| * expmed.c (SLOW_UNALIGNED_ACCESS): Add mode and align parameters |
| to default definition. |
| (store_bit_field): Call SLOW_UNALIGNED_ACCESS with mode and alignment. |
| (store_fixed_bit_field): Call macro with word_mode and alignment. |
| (extract_bit_field): Call macro with relevant mode and alignment. |
| * expr.c (SLOW_UNALIGNED_ACCESS): Add mode and align parameters |
| to default definition. |
| (move_by_pieces): Call SLOW_UNALIGNED_ACCESS with word_mode |
| and alignment. |
| (move_by_pieces_ninsns): Likewise. |
| (clear_by_pieces): Likewise. |
| (emit_push_insn): Likewise. |
| (store_field): Call macro with relevant mode and alignment. |
| (expand_expr): Likewise. |
| (expand_expr_unaligned): Likewise. |
| |
| * rs6000.h (HANDLE_PRAGMA_PACK): Define. |
| (SLOW_UNALIGNED_ACCESS): Define. |
| (CASE_VECTOR_MODE): Always use 32-bit offsets. |
| (ASM_FILE_END): Generate 64-bit symbol in 64-bit mode. |
| (EXTRA_SECTION_FUNCTIONS): Indent .csect pseudo-op. |
| (toc_section): Likewise and .toc pseudo-op. |
| (ASM_DECLARE_FUNCTION): Likewise. Align text more strictly in |
| 64-bit mode. |
| (TEXT_SECTION_ASM_OP): Likewise. |
| (ASM_OUTPUT_ADD_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Always use |
| 32-bit offsets. |
| |
| * a29k.h (SLOW_UNALIGNED_ACCESS): Add MODE and ALIGN parameters. |
| * alpha.h (SLOW_UNALIGNED_ACCESS): Likewise. |
| * arm/thumb.h (SLOW_UNALIGNED_ACCESS): Likewise. |
| * gmicro.h (SLOW_UNALIGNED_ACCESS): Likewise. |
| * fr30.h (SLOW_UNALIGNED_ACCESS): Likewise. |
| |
| Tue Jan 4 11:44:13 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * regclass.c: Revert my Jan 4 change to loop cost computation. |
| |
| Tue Jan 4 19:22:39 MET 2000 Jan Hubicka <hubicka@freesoft.cz> |
| |
| * regclass.c (regclass): Do not obey REG_N_REFS in non-optimizing |
| compilation. |
| |
| 2000-01-04 Stan Cox <scox@cygnus.com> |
| |
| * haifa-sched.c (build_control_flow): Change unreachable simple |
| loop test to check if current block has only one predecessor. |
| (find_rgns): Initialize degree. Use dest as degree index, not src. |
| |
| 2000-01-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * builtins.c (expand_builtin_strlen): Initialize variable `icode'. |
| |
| * calls.c (expand_call): Likewise for |
| `old_stack_arg_under_construction'. |
| |
| * cpphash.c (macroexpand): Likewise for `args' and `rest_zero'. |
| |
| * function.c (pad_to_arg_alignment): Likewise for `save_var' and |
| `save_constant'. |
| |
| * gcc.c (execute): Likewise for `ut' and `st'. |
| |
| * genattrtab.c (attr_rtx): Likewise for `rt_val'. |
| |
| * genopinit.c (gen_insn): Likewise for `m1', `m2' and `op'. |
| |
| * jump.c (jump_optimize_1): Likewise for `temp2'. |
| |
| * local-alloc.c (block_alloc): Likewise for `r1'. |
| |
| * loop.c (recombine_givs): Likewise for `life_start' and `life_end'. |
| |
| * reg-stack.c (check_asm_stack_operands): Likewise for `clobber_reg'. |
| (subst_asm_stack_regs): Likewise for `clobber_reg' and `clobber_loc'. |
| |
| * regmove.c (fixup_match_1): Likewise for `insn_const', `dst_node' |
| and `set2'. |
| |
| * reload.c (find_reloads): Likewise for `goal_alternative_number' |
| and `goal_earlyclobber'. |
| |
| * scan-decls.c (scan_decls): Likewise for `prev_id_end'. |
| |
| * sdbout.c (sdbout_one_type): Likewise for `member_scl'. |
| |
| * stupid.c (stupid_life_analysis): Likewise for `chain'. |
| |
| * unroll.c (copy_loop_body): Likewise for `copy'. |
| |
| * varasm.c (output_constructor): Likewise for `byte'. |
| |
| Tue Jan 4 15:34:34 MET 2000 Jan Hubicka <hubicka@freesoft.cz> |
| |
| * i386.c (ix86_expand_move): Allow pushes of memory, offload to memory |
| all FP constants for constant->reg moves. |
| (ix86_split_to_parts): Try to convert memory address into immediate |
| when available in the constant pool. |
| * i386.h (PREFERRED_RELOAD_CLASS): Allow CONST_DOUBLE->integer reg |
| moves. |
| (LEGITIMATE_CONSTANT_P): Return 1. |
| * i386.md (pushsf): New splitter to convert constant pool memory |
| reference to immediate. |
| (mov?f): Likewise; do not allow CONST_DOUBLE for reg moves before |
| reload. |
| |
| 2000-01-04 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * i386.md (ashlsi3_cmpno): Don't accept variables shifts. |
| (ashlhi3_cmpno, ashlqi3_cmpno, ashrsi3_cmpno, ashrhi3_cmpno, |
| ashrqi3_cmpno, lshrsi3_cmpno, lshrhi3_cmpno, lshrqi3_cmpno): Likewise. |
| (rotlsi3_cmpno, rotlhi3_cmpno, rotlqi3_cmpno, rotrsi3_cmpno, |
| rotrhi3_cmpno, rotrqi3_cmpno): Likewise. |
| |
| 2000-01-04 Martin von Löwis <loewis@informatik.hu-berlin.de> |
| |
| * ginclude/stdbool.h: Support compilation as C++. |
| |
| Tue Jan 4 01:35:13 2000 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * fold-const.c (make_range): Don't try to reverse an unbounded range. |
| |
| Tue Jan 4 00:18:46 2000 Jeffrey A Law (law@cygnus.com) |
| |
| * regclass.c (regclass): Properly compute loop_cost. Adjust |
| comments. |
| |
| * regclass.c: Fix minor whitespace problems. |
| |
| 2000-01-03 Anthony Green <green@cygnus.com> |
| |
| * config/i386/i386.md (builtin_setjmp_receiver): New pattern. |
| Restore the pic register if required. |
| |
| 2000-01-03 Ulrich Drepper <drepper@cygnus.com> |
| |
| * c-common.c (format_char_info): Update comment. |
| (check_format_info): Recognize 'z' modifier in the same way 'Z' |
| was recognized. Emit warning for formats new in ISO C99 only |
| if flag_isoc9x is not set. |
| |
| Mon Jan 3 12:59:54 2000 Mark P. Mitchell <mark@codesourcery.com> |
| |
| * config/mips/iris6gld.h: Fix typo in -mabi=n32 specs. |
| |
| Mon Jan 3 15:33:37 MET 2000 Jan Hubicka <hubicka@freesoft.cz> |
| |
| * combine.c (expand_compound_operation): Do not convert ZERO_EXTEND to |
| SIGN_EXTEND, convert SIGN_EXTEND to ZERO_EXTEND. |
| (make_compound_operation): Choose cheaper alternative between |
| ZERO_EXTEND and SIGN_EXTEND when sign bit is not set. |
| |
| * regclass.c (op_costs): Remove global variable. |
| (record_reg_classes): New parameter "op_costs" and "reg_pref". |
| (record_operand_costs): Break out from ... |
| (scan_one_insn): ... here. |
| (dump_regclass): Make dumps nicer. |
| (regclass): Dump preferrences choosed and changes done during passes. |
| |
| 2000-01-03 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/sparc.c (gen_df_reg): Fix for 32bit SPARC. |
| |
| 2000-01-03 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/sparc/sparc.c (gen_df_reg): New function. |
| * config/sparc/sparc-protos.h (gen_df_reg): Add prototype. |
| * config/sparc/sparc.md (movtf_no_e_insn_sp64+1, |
| movtf_no_e_insn_sp64+2, movtf_no_e_insn_sp64+3, movtf_cc_sp64+1, |
| movtf_cc_reg_sp64+1): Use it. |
| |
| 2000-01-02 Mark Mitchell <mark@codesourcery.com> |
| |
| * integrate.c (copy_decl_for_inlining): Clear TREE_ADDRESSABLE on |
| copied LABEL_DECLs. |
| |
| Mon Jan 3 02:54:40 2000 Hans-Peter Nilsson <hp@bitrange.com> |
| |
| * config/i386/i386.c (ix86_expand_unary_operator): Function |
| definition made void. |
| (ix86_expand_binary_operator): Update outdated preceding comment. |
| * config/i386/i386-protos.h (ix86_expand_unary_operator): Update |
| prototype. |
| |
| * config/i386/i386.c (override_options): Fix option-name typo. |
| |
| 2000-01-02 Mark Mitchell <mark@codesourcery.com> |
| |
| * system.h (CEIL): Define. |
| * builtins.c (CEIL): Remove. |
| * expmed.c (CEIL): Likewise. |
| * expr.c (CEIL): Likewise. |
| * stor-layout.c (CEIL): Likewise. |
| |
| 2000-01-02 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> |
| |
| * expr.c (store_constructor_field): Fix typo introduced with last |
| gcc2 merge. |
| |
| 2000-01-01 Mark Mitchell <mark@codesourcery.com> |
| |
| * tree.h (BINFO_N_BASETYPES): New macro. |
| |
| 2000-01-01 Bernd Schmidt <bernds@cygnus.co.uk> |
| |
| * expmed.c (emit_store_flag): Prevent losing a pending stack |
| adjust the same way we prevent losing queued increments. |
| |
| |
| Copyright (C) 2000 Free Software Foundation, Inc. |
| |
| Copying and distribution of this file, with or without modification, |
| are permitted in any medium without royalty provided the copyright |
| notice and this notice are preserved. |