Age | Commit message (Collapse) | Author |
|
Merge from trunk r161633.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/mem-ref2@161638 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* coretypes.h [!USED_FOR_TARGET] (reg_class_t): Define.
* target.def (struct gcc_target): Replace enum reg_class with
reg_class_t in hook argument / return types.
* doc/tm.texi.in (TARGET_SECONDARY_RELOAD): Likewise.
(TARGET_IRA_COVER_CLASSES, TARGET_MEMORY_MOVE_COST): Likewise.
(TARGET_BRANCH_TARGET_REGISTER_CLASS): Likewise.
* targhooks.h (default_branch_target_register_class): Likewise.
(default_ira_cover_classes, default_secondary_reload): Likewise.
(default_memory_move_cost, default_register_move_cost): Likewise.
* targhooks.c (default_branch_target_register_class): Likewise.
(default_ira_cover_classes, default_secondary_reload): Likewise.
(default_memory_move_cost, default_register_move_cost): Likewise.
* reload.c (push_secondary_reload, secondary_reload_class): Likewise.
* bt-load.c (branch_target_load_optimize): Likewise.
* ira.c (setup_cover_and_important_classes): Likewise.
* ira-costs.c (copy_cost): Likewise.
* reload1.c (emit_input_reload_insns): Likewise.
* config/alpha/alpha.c (alpha_secondary_reload): Likewise.
* config/frv/frv.c (frv_secondary_reload): Likewise.
* config/s390/s390.c (s390_secondary_reload): Likewise.
* config/i386/i386.c (i386_ira_cover_classes): Likewise.
(ix86_secondary_reload, ix86_memory_move_cost): Likewise.
(ix86_register_move_cost): Likewise.
* config/sh/sh-protos.h (sh_secondary_reload): Likewise.
* config/sh/sh.c (sh_target_reg_class, sh_secondary_reload): Likewise.
* config/xtensa/xtensa.c (xtensa_secondary_reload): Likewise.
* config/xtensa/xtensa-protos.h (xtensa_secondary_reload): Likewise.
* config/rs6000/rs6000.c (rs6000_secondary_reload): Likewise.
(rs6000_ira_cover_classes): Likewise.
* config/picochip/picochip.c (picochip_secondary_reload): Likewise.
* config/picochip/picochip-protos.h (picochip_secondary_reload):
Likewise.
* config/pa/pa.c (pa_secondary_reload): Likewise.
* config/mips/mips.c (mips_ira_cover_classes): Likewise.
* config/bfin/bfin.c (bfin_secondary_reload): Likewise.
* config/ia64/ia64.c (ia64_register_move_cost): Likewise.
* doc/tm.texi: Regenerate.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161633 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
PR bootstrrap/44726
* graphite-sese-to-poly.c (build_poly_dr): Avoid uninitialized
use.
(build_alias_set_optimal_p): Likewise.
(build_base_obj_set_for_drs): Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161631 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
(print_operand_punct_valid_p): Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161629 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
last-sched_cycle to last_clock, cur_cycle to clock.
* doc/tm.texi.in: Use @hook.
* doc/tm.texi: Regenerate.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161628 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* doc/tm.texi.in (TARGET_RETURN_POPS_ARGS): Use @hook.
Rename stack-size to size.
* doc/tm.texi: Regenerate.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161627 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
Use DEFHOOK.
* doc/tm.texi.in (TARGET_RESOLVE_OVERLOADED_BUILTIN): Use @hook.
* doc/tm.texi: Regenerate.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161626 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* doc/tm.texi.in (TARGET_PASS_BY_REFERENCE): Use @hook.
* doc/tm.texi: Regenerate.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161625 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* doc/tm.texi.in (TARGET_OPTION_PRAGMA_PARSE): Use @hook.
s/TARGET_VALID_OPTION_ATTRIBUTE_P/TARGET_OPTION_VALID_ATRIBUTE_P/ .
* doc/tm.texi: Regenerate.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161624 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* doc/tm.texi.in (TARGET_MEMORY_MOVE_COST): Use @hook.
Rename regclass AKA class to rclass.
* doc/tm.texi: Regenerate.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161623 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* doc/tm.texi.in (TARGET_FOLD_BUILTIN): Use @hook.
* doc/tm.texi: Regenerate.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161622 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* doc/tm.texi.in (TARGET_ENUM_VA_LIST_P): Use @hook.
Rename ptype to ptree.
* doc/tm.texi: Regenerate.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161621 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* doc/tm.texi.in (TARGET_BUILTIN_RECIPROCAL): Use @hook.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161620 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* doc/tm.texi.in (TARGET_ASM_DECLARE_CONSTANT_NAME): Use @hook.
* doc/tm.texi: Regenerate.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161619 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
declaration.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161618 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* toplev.h (_fatal_insn_not_found, _fatal_insn): Move declarations
to rtl.h.
(error_for_asm, warning_for_asm): Move declarations to rtl-error.h.
* rtl.h (_fatal_insn_not_found, _fatal_insn): Move declarations
here.
* rtl-error.h: New.
* regrename.c: Do not include toplev.h. Include rtl-error.h.
* rtl-error.c: Likewise.
* reload.c: Likewise.
* recog.c: Likewise.
* sel-sched.c: Likewise.
* function.c: Likewise.
* reg-stack.c: Likewise.
* cfgrtl.c: Likewise.
* reload1.c: Likewise.
* final.c: Include rtl-error.
* Makefile.in: Adjust dependencies.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161617 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161616 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* ipa-split (split_function): Refine conditions when to use DECL_RESULT
to return the value.
* gcc.dg/tree-ssa/ipa-split-4.c: New testcase.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161615 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* tree-vrp.c (vrp_finalize): Deal with changing num_ssa_names.
* gimple-fold.c (gimplify_and_update_call_from_tree): If LHS is
a gimple reg, attach the original VDEF to the last store in the
sequence.
testsuite/
PR bootstrap/44699
* gcc.dg/pr44699.c: New test.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161614 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161612 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* config/darwin.c (darwin_override_options): Use renamed
targetm.asm_out.emit_unwind_label.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161606 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* tree-inline.c (remap_ssa_name): Initialize variable only if
SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
testsuite/
PR tree-optimization/39799
* c-c++-common/uninit-17.c: New test.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161605 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
Merge from trunk r161597.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/mem-ref2@161601 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* c-parser.c (c_parser_omp_for_loop): Use a VEC for for_block.
gcc/cp/
* parser.c (cp_parser_omp_for_loop): Use a VEC for for_block.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161599 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
(finish_repo): Adjust for new type of pending_repo.
(repo_emit_p): Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161598 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
PR target/44722
* config/i386/i386.md (peephole2 for fix:SSEMODEI24): Guard
against oscillation with reverse peephole2.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161597 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
PR target/44721
* config/i386/i386.md (peephole2 for arithmetic ops with memory):
Fix last commit.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161594 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* config/rx/rx.h (FIRST_PSEUDO_REGISTER): Increase to 17.
(CC_REGNUM): Define.
(FIXED_REGISTERS, CALL_USED_REGISTERS, REGISTER_NAMES): Add cc
register.
(CC_NO_CARRY, NOTICE_UPDATE_CC): Delete.
(SELECT_CC_MODE): Define.
* config/rx/rx.md (CC_REG): Define. Update all patterns to use
(reg:CC CC_REG) instead of (cc0).
(attr "cc"): Delete.
(cbranchsi4): Do not split compare and branch here. Instead move
it to...
(cbranchsi4_<code>): ... here. New patterns.
(cmpsi): Call rx-compare_redundant to find out if it is necessary
to emit the compare instruction.
* config/rx/rx.c (rx_gen-cond_branch_template): Remove tests of
cc_status flags.
(rx_get_stack_layout): Iterate up to before CC_REGNUM not
FIRST_PSEUDO_REGNUM.
(rx_expand_prologue, rx_expand_epilogue): Likewise.
(rx_notice_update_cc): Delete.
(rx_cc_modes_compatible): New function.
(flags_needed_for_conditional): New function.
(flags_from_mode): New function.
(rx_compare_redundant): New function - scans backwards through
insn list to find out if condition flags are already set
correctly.
(TARGET_CC_MODES_COMPATIBLE): Define.
* config/rx/rx-protos.h (rx_compare_redundant): Prototype.
* config/rx/rx.h (BRANCH_COST): Define.
(REGISTER_MOVE_COST): Define.
* config/rx/predicates (rx_source_operand): Allow all constant
types.
* config/rx/rx.md (addsi3): Add alternative for swapped operands.
(tstsi4): New pattern.
* config/rx/rx.c (rx_memory_move_cost): Define.
(TARGET_MEMORY_MOVE_COST): Define.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161592 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* tree.h (block_may_fallthru): Declare here.
* tree-flow.h (block_may_fallthru): Do not declare here.
* c-typeck.c: Do not include tree-flow.h. Include gimple.h and
bitmap.h
* Makefile.in (c-typeck.o): Update dependencies.
c-family/
* c-gimplify.c: Do not include tree-flow.h
cp/
* tree.c: Include gimple.h. Do not include tree-flow.h
* decl.c: Do not include tree-flow.h
* Make-lang.in: Adjust dependencies.
ada/
* gcc-interface/trans.c: Do not include tree-flow.h.
* gcc-interface/Make-lang.in: Adjust dependencies.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161591 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* cselib.h (cselib_preserve_cfa_base_value): Add regno argument.
* cselib.c (cfa_base_preserved_regno): New static variable.
(cselib_reset_table): Don't reset cfa_base_preserved_regno instead
of REGNO (cfa_base_preserved_val->locs->loc).
(cselib_preserve_cfa_base_value): Add regno argument, set
cfa_base_preserved_regno to it.
(cselib_invalidate_regno): Allow removal of registers other than
cfa_base_preserved_regno from cfa_base_preserved_val.
(cselib_finish): Set cfa_base_preserved_regno to INVALID_REGNUM.
* var-tracking.c (adjust_mems): Replace sp or hfp even outside
of MEM addresses, if not on LHS.
(reverse_op): Don't add reverse ops for cfa_base_rtx.
(vt_init_cfa_base): Adjust cselib_preserve_cfa_base_value caller.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161587 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
PR libfortran/43298
* gfortran.dg/read_infnan_1.f90: New test.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161586 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
PR libfortran/43298
* io/read.c: Add code to parse and read Inf, Infinity, NaN, and Nan with
optional parenthesis.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161585 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
(incomplete_vars): Adjust comment. Change type to a VEC.
(maybe_register_incomplete_var): Adjust for new type.
(complete_vars): Adjust iteration over incomplete_vars.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161584 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
to a VEC.
(poplevel_named_label_1): Adjust for new type of bad_decls.
(check_goto): Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161583 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
gcc/cp/
* class.c (add_implicitly_declared_members): A class with no
explicitly declared copy or move constructor gets both declared
implicitly, and similarly for operator=.
(check_bases): A type with no copy ctor does not inhibit
a const copy ctor in a derived class.
(check_field_decl): Likewise.
(check_bases_and_members): A nonexistent copy ctor/op= is non-trivial.
* tree.c (type_has_nontrivial_copy_init): Adjust semantics.
(trivially_copyable_p): Likewise.
* call.c (convert_like_real): Use type_has_nontrivial_copy_init.
* class.c (finish_struct_bits): Likewise.
* tree.c (build_target_expr_with_type): Likewise.
* typeck2.c (store_init_value): Likewise.
libstdc++-v3/
* include/bits/unordered_map.h: Explicitly default copy constructors.
* include/bits/unordered_set.h: Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161582 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* class.c (check_bases_and_members): Adjust lambda flags.
* method.c (implicitly_declare_fn): Set DECL_DELETED_FN if appropriate.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161581 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161580 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* cp-tree.h: (struct lang_type_class): Add lazy_move_assign,
has_complex_move_ctor, has_complex_move_assign bitfields.
(CLASSTYPE_LAZY_MOVE_ASSIGN): New.
(TYPE_HAS_COMPLEX_MOVE_ASSIGN): New.
(TYPE_HAS_COMPLEX_MOVE_CTOR): New.
(enum special_function_kind): Add sfk_move_assignment.
(LOOKUP_SPECULATIVE): New.
* call.c (build_over_call): Return early if it's set.
(build_over_call): Use trivial_fn_p.
* class.c (check_bases): If the base has no default constructor,
the derived one is non-trivial. Handle move ctor/op=.
(check_field_decl): Likewise.
(check_bases_and_members): Handle move ctor/op=.
(add_implicitly_declared_members): Handle CLASSTYPE_LAZY_MOVE_ASSIGN.
(type_has_move_constructor, type_has_move_assign): New.
* decl.c (grok_special_member_properties): Handle move ctor/op=.
* method.c (type_has_trivial_fn, type_set_nontrivial_flag): New.
(trivial_fn_p): New.
(do_build_copy_constructor): Use it.
(do_build_assign_ref): Likewise. Handle move assignment.
(build_stub_type, build_stub_object, locate_fn_flags): New.
(locate_ctor): Use locate_fn_flags.
(locate_copy, locate_dtor): Remove.
(get_dtor, get_default_ctor, get_copy_ctor, get_copy_assign): New.
(process_subob_fn, synthesized_method_walk): New.
(maybe_explain_implicit_delete): New.
(implicitly_declare_fn): Use synthesized_method_walk,
type_has_trivial_fn, and type_set_nontrivial_flag.
(defaulted_late_check): Set DECL_DELETED_FN.
(defaultable_fn_check): Handle sfk_move_assignment.
(lazily_declare_fn): Clear CLASSTYPE_LAZY_* early. Don't declare
implicitly deleted move ctor/op=.
* search.c (lookup_fnfields_1): Handle sfk_move_assignment.
(lookup_fnfields_slot): New.
* semantics.c (omp_clause_info_fndecl): Remove.
(cxx_omp_create_clause_info): Use get_default_ctor, get_copy_ctor,
get_copy_assign, trivial_fn_p.
(trait_expr_value): Adjust call to locate_ctor.
* tree.c (special_function_p): Handle sfk_move_assignment.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161579 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* cp-tree.h: Declare it.
* semantics.c (trait_expr_value): Use it.
* call.c (build_over_call): Only give warnings with tf_warning.
* name-lookup.c (pop_scope): Handle NULL_TREE.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161578 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
(TYPE_HAS_CONST_ASSIGN_REF): Rename to TYPE_HAS_CONST_COPY_ASSIGN.
(TYPE_HAS_INIT_REF): Rename to TYPE_HAS_COPY_CTOR.
(TYPE_HAS_CONST_INIT_REF): Rename to TYPE_HAS_CONST_COPY_CTOR.
(TYPE_HAS_COMPLEX_ASSIGN_REF): Rename to TYPE_HAS_COMPLEX_COPY_ASSIGN.
(TYPE_HAS_COMPLEX_INIT_REF): Rename to TYPE_HAS_COMPLEX_COPY_CTOR.
(TYPE_HAS_TRIVIAL_ASSIGN_REF): Rename to TYPE_HAS_TRIVIAL_COPY_ASSIGN.
(TYPE_HAS_TRIVIAL_INIT_REF): Rename to TYPE_HAS_TRIVIAL_COPY_CTOR.
(CLASSTYPE_LAZY_ASSIGNMENT_OP): Rename to CLASSTYPE_LAZY_COPY_ASSIGN.
(sfk_assignment_operator): Rename to sfk_copy_assignment.
* decl.c, call.c, class.c, init.c, method.c, pt.c, ptree.c: Adjust.
* search.c, semantics.c, tree.c: Adjust.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161577 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161574 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
static variables.
(peep2_buf_position): New static function.
(peep2_regno_dead_p, peep2_reg_dead_p, peep2_find_free_register,
peephole2_optimize): Use it.
(peep2_attempt, peep2_update_life): New static functions, broken out
of peephole2_optimize.
(peep2_fill_buffer): New static function.
(peephole2_optimize): Change the main loop to try to fill the buffer
with the maximum number of insns before matching them against
peepholes. Use a forward scan. Remove special case for targets with
conditional execution.
* genrecog.c (change_state): Delete dead code.
* config/i386/i386.md (peephole2 for arithmetic ops with memory):
Rewrite so as not to expect the second insn to have had a peephole
applied yet.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161570 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
PR fortran/44718
* resolve.c (is_external_proc): Prevent procedure pointers from being
regarded as external procedures.
2010-06-29 Janus Weil <janus@gcc.gnu.org>
PR fortran/44718
* gfortran.dg/proc_ptr_28.f90: New.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161569 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
(emit_documentation): Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161568 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* cgraph.c (cgraph_create_virtual_clone): Clear DECL_SECTION_NAME
if old_decl was DECL_ONE_ONLY.
* g++.dg/torture/pr43801.C: New test.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161564 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* dwarf2out.c (add_accessibility_attribute): New function.
(gen_subprogram_die, gen_variable_die, gen_field_die): Use it
instead of adding DW_AT_accessibility manually.
(gen_enumeration_type_die, gen_struct_or_union_type_die,
gen_typedef_die): Use it.
* g++.dg/debug/dwarf2/accessibility1.C: New test.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161563 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
(value_dependent_expression_p): Don't call it.
(type_dependent_expression_p): Here either.
* init.c (build_offset_ref): Set TREE_TYPE on a qualified-id
if the scope isn't dependent.
* pt.c (convert_nontype_argument): Use mark_lvalue_use if we want
a reference.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161560 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* pt.c (has_value_dependent_address): New.
(value_dependent_expression_p): Check it.
(convert_nontype_argument): Likewise. Call decay_conversion before
folding if we want a pointer.
* semantics.c (finish_id_expression): Don't add SCOPE_REF if the
scope is the current instantiation.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161559 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
(targetm.sched.init): Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161558 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@161557 138bc75d-0d04-0410-961f-82ee72b054a4
|