- 27 May, 2000 5 commits
-
-
* 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. From-SVN: r34204
Richard Henderson committed -
* 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. * ch/lang.c (deep_const_expr): Use first_rtl_op. * ch/satisfy.c (satisfy): Use TREE_CODE_LENGTH. * cp/method.c (mangle_expression): Use TREE_CODE_LENGTH. * cp/tree.c (break_out_calls, build_min_nt): Use TREE_CODE_LENGTH. (built_min, cp_tree_equal): Likewise. From-SVN: r34203
Richard Kenner committed -
From-SVN: r34202
Jeff Law committed -
* config/rs6000/rs6000.md (movsi_internal1): Use '%a1' rather than '%1(%*)'. (movdi_internal64): Likewise. From-SVN: r34201
Geoff Keating committed -
* 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 behaviour. (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. From-SVN: r34200
Geoff Keating committed
-
- 26 May, 2000 18 commits
-
-
* 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'. * class.c (layout_nonempty_base_or_field): Replace `record_layout_info' with `record_layout_info_s'. From-SVN: r34199
Mark Mitchell committed -
* cp-tree.h (struct language_function): x_named_labels is now a struct named_label_list*. * decl.c (struct named_label_use_list): Renamed from... (struct named_label_list): ...this. New struct. (push_binding_level): Don't set eh_region. (note_level_for_eh): New fn. (pop_label): Take label and old value directly. (pop_labels): Adjust for new named_labels format. (lookup_label): Likewise. (poplevel): Note characteristics of a binding level containing a named label. Mess with named label lists earlier. (mark_named_label_lists): New fn. (mark_lang_function): Call it. (use_label): New fn, split out from... (make_label_decl): ...here. Don't call it. (decl_jump_unsafe, check_previous_goto, check_previous_goto_1, check_previous_gotos): New fns, split out from... (define_label): ...here. (check_switch_goto): New fn. (define_case_label): Call it. (check_goto): New fn. * semantics.c (finish_goto_stmt): Call it and use_label. (begin_compound_stmt): If we're a try block, call note_level_for_eh. (expand_stmt): Never pass 1 as DONT_JUMP_IN to expand_end_bindings. From-SVN: r34198
Jason Merrill committed -
2000-05-26 Phil Edwards <pme@sourceware.cygnus.com> * acinclude.m4 (GLIBCPP_ENABLE_LONG_LONG): If strtoll isn't available, force --disable. Need to flesh this out; make smarter. * aclocal.m4: Regenerate. * configure: Regenerate. * mkcheck.in: Minor tweaks. * docs/download.html: Fix typo. From-SVN: r34197
Phil Edwards committed -
2000-05-26 Zack Weinberg <zack@wolery.cumb.org> * java/parse.y (find_applicable_accessible_methods_list): Don't add an uninitialized value to the list. From-SVN: r34196
Zack Weinberg committed -
* class.c (build_vtable_entry_ref): Correct usage of get_vtbl_decl_for_binfo. From-SVN: r34195
Mark Mitchell committed -
* decl2.c (grokclassfn): Set DECL_LANGUAGE here. * method.c (implicitly_declare_fn): Not here. From-SVN: r34194
Mark Mitchell committed -
* flow.c (find_label_refs): New function. (find_basic_blocks_1): Call it for each alternative of a call placeholder. From-SVN: r34193
Richard Earnshaw committed -
* ifcvt.c (cond_exec_get_condition): Set test_if to the SET_SRC of get_pc. From-SVN: r34192
Richard Earnshaw committed -
* cp-tree.h (CPTI_PTMD_DESC_TYPE): Rename to ... (CPTI_PTMD_DESC_TYPE): ... here. (ptmd_desc_type_node): Rename to ... (ptm_desc_type_node): ... here. * decl.c: Likewise. * rtti.c (ptmd_initializer): Rename to ... (ptm_initializer): ... here. (sythesize_tinfo_var): Adjust. Deal with pointer to member function. (create_tinfo_types): Adjust. From-SVN: r34190
Nathan Sidwell committed -
From-SVN: r34189
Jeff Law committed -
* 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. From-SVN: r34188
Richard Henderson committed -
2000-05-25 J. David Anglin <dave@hiauly1.hia.nrc.ca> * vax.h (CPP_SPEC): Define __GFLOAT and GFLOAT when -mg is specified. From-SVN: r34187
J. David Anglin committed -
* 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. From-SVN: r34186
Richard Henderson committed -
From-SVN: r34185
Alexandre Oliva committed -
* emit-rtl.c (reset_used_decls): New function. (unshare_all_rtl_again): Call it. From-SVN: r34184
Alexandre Oliva committed -
cpplex.c (maybe_macroexpand): Warn about function-like macros used in non-function context, if -Wtraditional. * cpplex.c (maybe_macroexpand): Warn about function-like macros used in non-function context, if -Wtraditional. From-SVN: r34183
Zack Weinberg committed -
* parse.y (resolve_field_access): Don't check DECL_LANG_SPECIFIC when trying to see if field's class should be initialized. Always initialize field's declaring class, not qualified class. For PR gcj/162. From-SVN: r34182
Tom Tromey committed -
* parse.y (array_constructor_check_entry): Pass `wfl_value', not `wfl_operator', to maybe_build_primttype_type_ref. Fixes PR gcj/235. From-SVN: r34181
Tom Tromey committed
-
- 25 May, 2000 17 commits
-
-
From-SVN: r34180
Mark Mitchell committed -
* 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. From-SVN: r34179
Richard Henderson committed -
* except.h (can_throw): Declare it. * except.c (can_throw): Give it external linkage. * resource.c (find_dead_or_set_registers): Use can_throw. From-SVN: r34178
Mark Mitchell committed -
* cp-tree.h (cp_tree_index): Add CPTI_VTT_PARM_TYPE and CPTI_VTT_PARM_IDENTIFIER. (vtt_parm_identifier): New macro. (vtt_parm_type): Likewise. (BINFO_SUBVTT_INDEX): Likewise. (BINFO_VPTR_INDEX): Likewise. (struct lang_decl): Add vtt_parm. (DECL_VTT_PARM): New macro. (DECL_USE_VTT_PARM): Likewise. (DECL_NEEDS_VTT_PARM_P): Likewise. (get_vtt_name): Declare. (build_artifical_parm): Likewise. (fixup_all_virtual_upcast_offsets): Likewise. (expand_indirect_vtbls_init): Remove. * call.c (build_new_method_call): Pass the vtt to subobject constructors and destructors. * class.c (get_vtt_name): Give it external linkage. (build_clone): Handle the magic VTT parameters for clones. (clone_function_decl): Fix typo in comment. (build_vtt): Keep track of the indices in the VTTs where various entities are stored. (build_vtt_inits): Likewise. (dfs_build_vtt_inits): Likewise. (build_ctor_vtbl_group): Tweak type of construction vtables. (dfs_accumulate_vtbl_inits): Build vtables for all bases, even primary bases, when building construction vtables. * decl.c (duplicate_decls): Handle DECL_VTT_PARM. (initialize_predefined_identifiers): Add vtt_parm_identifier. (init_decl_processing): Initialize vtt_parm_type. (grokfndecl): Use DECL_OVERLOADED_OPERATOR_P. (lang_mark_tree): Make vtt_parm. * decl2.c (build_artificial_parm): New function. (maybe_retrofit_in_chrg): Use it. Add VTT parameters. (grokclassfn): Use build_artificial_parm. * init.c (initialize_vtbl_ptrs): Call fixup_all_virtual_upcast_offsets directly. (perform_member_init): Use the complete subobject destructor for member cleanups. (build_vtbl_address): New function. (expand_virtual_init): Handle VTTs. * optimize (maybe_clone_body): Likewise. * search.c (fixup_all_virtual_upcast_offsets): Give it external linkage. (expand_indirect_vtbls_init): Remove. * semantics.c (setup_vtbl_ptr): Fix typos in comment. * tree.c (make_binfo): Make them bigger. From-SVN: r34177
Mark Mitchell committed -
From-SVN: r34176
Richard Henderson committed -
* 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. From-SVN: r34175
Jan Hubicka committed -
* 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. From-SVN: r34174
David Edelsohn committed -
From-SVN: r34173
Phil Edwards committed -
From-SVN: r34172
Nathan Sidwell committed -
* 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. From-SVN: r34171
Jan Hubicka committed -
From-SVN: r34170
Richard Henderson committed -
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. Co-Authored-By: Andrew Haley <aph@cygnus.com> From-SVN: r34169
Andrew MacLeod committed -
2000-05-25 Benjamin Kosnik <bkoz@milou.soma.redhat.com> * inclosure: Change to... * mkinclosure: This. Fix paths to bash. * mkcshadow: Fix paths to bash. * src/Makefile.am: Tweaks. Do cshadow header trickery at build time. * src/Makefile.in: Regnerate. * acinclude.m4 (GLIBCPP_COMPILER_VERSION): Fix typo. (GLIBCPP_ENABLE_SHADOW): Do a less gross hack. * aclocal.m4: Regenerate. * mkcheck.in (INC_PATH): Tweak. * configure.in: Enable long long by default. * configure: Regenerate. * mkcheck.in (LIB_PATH): Revert. From-SVN: r34168
Benjamin Kosnik committed -
2000-05-25 Benjamin Kosnik <bkoz@milou.soma.redhat.com> * inclosure: Change to... * mkinclosure: This. Fix paths to bash. * mkcshadow: Fix paths to bash. * src/Makefile.am: Tweaks. Do cshadow header trickery at build time. * src/Makefile.in: Regnerate. * acinclude.m4 (GLIBCPP_COMPILER_VERSION): Fix typo. (GLIBCPP_ENABLE_SHADOW): Do a less gross hack. * aclocal.m4: Regenerate. * mkcheck.in (INC_PATH): Tweak. * configure.in: Enable long long by default. * configure: Regenerate. * mkcheck.in (LIB_PATH): Revert. From-SVN: r34167
Benjamin Kosnik committed -
2000-05-25 Benjamin Kosnik <bkoz@milou.soma.redhat.com> * inclosure: Change to... * mkinclosure: This. Fix paths to bash. * mkcshadow: Fix paths to bash. * src/Makefile.am: Tweaks. Do cshadow header trickery at build time. * src/Makefile.in: Regnerate. * acinclude.m4 (GLIBCPP_COMPILER_VERSION): Fix typo. (GLIBCPP_ENABLE_SHADOW): Do a less gross hack. * aclocal.m4: Regenerate. * configure.in: Enable long long by default. * configure: Regenerate. * mkcheck.in (LIB_PATH): Revert. From-SVN: r34166
Benjamin Kosnik committed -
* inc/cxxabi.h (__pbase_type_info): Define, based on __pointer_type_info. (__pointer_type_info): Derive from __pbase_type_info. Adjust. (__pointer_to_member_type_info): Likewise. * tinfo2.cc (__pbase_type_info::~__pbase_type_info): Implement. (__pointer_to_member_type_info::__is_pointer_p): Remove. (__pointer_type_info::__do_catch): Rename to ... (__pbase_type_info::__do_catch): ... here. Adjust. (__pbase_type_info::__pointer_catch): Implement. (__pointer_type_info::__pointer_catch): Adjust. (__pointer_to_member_type_info::__pointer_catch): Adjust. From-SVN: r34165
Nathan Sidwell committed -
* g++.old-deja/g++.eh/catch11.C: New test. * g++.old-deja/g++.eh/catch12.C: New test. From-SVN: r34164
Nathan Sidwell committed
-