Age | Commit message (Collapse) | Author | Files | Lines |
|
* cp-tree.h (struct lang_type): Remove vfield_parent. Add
primary_base.
(CLASSTYPE_VFIELD_PARENT): Remove.
(CLASSTYPE_PRIMARY_BINFO): Reimplement.
(BINFO_PRIMARY_BINFO): Remove.
(CLASSTYPE_HAS_PRIMARY_BASE_P): Reimplement.
(BINFO_VBASE_PRIMARY_P): Likewise.
(BINFO_PRIMARY_BASE_OF): New macro.
(BINFO_INDIRECT_PRIMARY_P): Likewise.
(get_primary_binfo): New function.
* decl.c (lang_mark_tree): Make lang_type::primary_base.
* class.c (vcall_offset_data_s): Rename to ...
(vtbl_init_data_s): ... this. Rename primary_p to primary_vtbl_p,
and add ctor_vtbl_p.
(get_derived_offset): Use get_primary_binfo.
(dfs_mark_primary_bases): Adjust handling of virtual primary
bases.
(mark_primary_bases): Likewise.
(set_primary_base): Take a binfo, not an integer, as a
representation of the primary base.
(indirect_primary_base_p): Remove.
(determine_primary_base): Adjust for indirect primary bases.
(dfs_find_final_overrider): Fix typo in coment.
(update_vtable_entry_for_fn): Use get_primary_binfo.
(layout_nonempty_base_or_field): Tweak.
(build_base_fields): Adjust for new primary base semantics.
(dfs_propagate_binfo_offsets): Remove.
(propagate_binfo_offsets): Rewrite.
(dfs_set_offset_for_shared_vbases): Remove.
(layout_virtual_bases): Don't use it.
(layout_class_type): Set CLASSTYPE_SIZE correctly under the new
ABI.
(finish_struct_1): Set CLASSTYPE_PRIMARY_BINFO, not
CLASSTYPE_VFIELD_PARENT.
(dfs_get_primary_binfo): New function.
(get_primary_binfo): Likewise.
(dump_class_hierarchy_r): Tweak printing of primary bases.
(build_vtbl_initializer): Fix typo in comments. Use
vtbl_init_data.
(build_vcall_and_vbase_vtbl_entries): Likewise.
(build_vbaes_offset_vtbl_entries): Likewise.
(dfs_build_vcall_offset_vtbl_entries): Adjust setting of
BV_VCALL_INDEX to handle indirect primary bases.
(build_vcall_offset_vtbl_entries): Use vtbl_init_data.
(build_rtti_vtbl_entries): Likewise.
* search.c (get_shared_vbase_if_not_primary): Tweak.
(find_vbase_instance): Likewise.
(binfo_for_vtable): Simplify.
* tree.c (unshare_base_binfos): Clear BINFO_PRIMARY_BASE_OF.
(make_binfo): Make it have 11 entries.
From-SVN: r35360
|
|
From-SVN: r35359
|
|
* 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.
From-SVN: r35358
|
|
* gcc.dg/c90-digraph-1.c: Don't xfail.
* gcc.dg/compare2.c (case 10): Xfail.
* gcc.dg/noncompile/redecl-1.c: Fix expected error message.
From-SVN: r35357
|
|
* 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.
From-SVN: r35356
|
|
* mangle.c (DECL_TEMPLATE_ID_P): Remove.
(CLASSTYEP_TEMPLATE_ID_P): Check template info, and context when
ascertaining primaryness.
(G): Remove template_args.
(decl_is_template_id): New function.
(write_encoding): Use decl_is_template_id.
(write_name): Likewise. Handle type_decls. Get main variant of
type decls.
(write_nested_name): Likewise.
(write_prefix): Likewise.
(write_template_prefix): Likewise.
(write_special_name_constructor): Remove defunct production from
comment.
(write_bare_function_type): Remove comment about absent parameter.
(write_template_template_arg): Add missing grammar production to
comment.
From-SVN: r35355
|
|
From-SVN: r35353
|
|
(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.
From-SVN: r35351
|
|
operands.
* recog.c (general_operand, nonimmediate_operand): Accept
any mode for VOIDmode CONSTANT_P operands.
From-SVN: r35350
|
|
replace_rtx.
* 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.
From-SVN: r35349
|
|
(mode) as force_to_mode argument.
* 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.
From-SVN: r35348
|
|
From-SVN: r35347
|
|
HOST_BITS_PER_WISE_INT.
* combine.c (record_promoted_value): Allow bitsize of mode
to be equivalent to HOST_BITS_PER_WISE_INT.
From-SVN: r35346
|
|
when mode is BLKmode.
* function.c (assign_stack_local_1, assign_stack_temp_for_type):
Do not call gen_mode_alignment when mode is BLKmode.
From-SVN: r35345
|
|
From-SVN: r35344
|
|
implies both operands to be VOIDmode.
* 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.
From-SVN: r35343
|
|
* 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.
From-SVN: r35342
|
|
* 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.
Co-Authored-By: Michael Hayes <m.hayes@elec.canterbury.ac.nz>
From-SVN: r35341
|
|
loadhi_big_constant if applicable.
* 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
From-SVN: r35339
|
|
From-SVN: r35338
|
|
From-SVN: r35337
|
|
From-SVN: r35336
|
|
From-SVN: r35335
|
|
From-SVN: r35334
|
|
From-SVN: r35333
|
|
From-SVN: r35331
|
|
* Makefile.in: Generate objc parser along with the C parser.
* objc/Make-lang.in: Remove generation of objc parser.
From-SVN: r35330
|
|
add tmake_file.
* 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>.
From-SVN: r35328
|
|
From-SVN: r35327
|
|
* config/ia64/ia64.c (ia64_print_operand): Fix typos.
Sign extend mode size before negating.
From-SVN: r35324
|
|
* 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.
From-SVN: r35321
|
|
From-SVN: r35320
|
|
* 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'.
From-SVN: r35319
|
|
split =rf constraints into =r,f
From-SVN: r35318
|
|
configure options to match the...
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 '.'.
From-SVN: r35317
|
|
From-SVN: r35314
|
|
2000-07-27 Tom Tromey <tromey@cygnus.com>
Anthony Green <green@cygnus.com>
Alexandre Petit-Bianco <apbianco@cygnus.com>
* class.c (make_class_data): Create vtable for abstract classes.
(get_dispatch_table): Changed to cope with abstract classes.
Co-Authored-By: Alexandre Petit-Bianco <apbianco@cygnus.com>
Co-Authored-By: Anthony Green <green@cygnus.com>
From-SVN: r35313
|
|
From-SVN: r35312
|
|
typedef, just use the old type.
* decl.c (duplicate_decls): If common_type produces a non-typedef
type for a typedef, just use the old type.
* pt.c (for_each_template_parm_r, case RECORD_TYPE): Use
TYPE_PTRMEMFUNC_P.
* cp-tree.h (TYPE_TEMPLATE_INFO): Check for TYPE_LANG_SPECIFIC.
From-SVN: r35311
|
|
* dwarf2out.c (gen_decl_die): Don't call gen_abstract_function if
DECL_INITIAL (decl) == NULL_TREE.
From-SVN: r35310
|
|
* 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.
From-SVN: r35307
|
|
From-SVN: r35305
|
|
* 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.
From-SVN: r35304
|
|
2000-07-27 Tom Tromey <tromey@cygnus.com>
* parse.y (patch_method_invocation): Don't reverse the argument
list when dealing with anonymous class constructors. Fixed typo in
comment.
2000-07-27 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (build_alias_initializer_parameter_list): Reverse
crafted list when building aliases for anonymous class
constructors.
(http://gcc.gnu.org/ml/gcc-patches/2000-07/msg01146.html)
From-SVN: r35303
|
|
* cp-tree.h (function_depth): Declare.
(verify_stmt_tree): Likewise.
(find_tree): Likewise.
* decl.c (function_depth): Give it external linkage.
* optimize.c (optimize_function): Increment and decrement it.
* tree.c (verify_stmt_tree_r): New function.
(verify_stmt_tree): Likewise.
(find_tree_r): Likewise.
(find_tree): Likewise.
From-SVN: r35301
|
|
* 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.
From-SVN: r35300
|
|
From-SVN: r35299
|
|
DECL_ORIGINAL_TYPE on a typedef.
* dwarf2out.c (gen_typedef_die): Abort if we get identical
TREE_TYPE and DECL_ORIGINAL_TYPE on a typedef.
* typeck.c (common_type): If we're just returning one of our
arguments, don't strip typedef types.
From-SVN: r35297
|
|
* 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.
From-SVN: r35296
|
|
* fini.c (main): Avoid automatic aggregate initialization.
* proj.h: Indent #error directive.
From-SVN: r35294
|