- 10 Aug, 2016 7 commits
-
-
Cherry picked (and modified) from google-4_7 branch 2012-12-26 Rong Xu <xur@google.com> * common.opt (fprofile-update): Add new flag. * coretypes.h: Define enum profile_update. * doc/invoke.texi: Document -fprofile-update. * gcov-io.h: Declare GCOV_TYPE_ATOMIC_FETCH_ADD and GCOV_TYPE_ATOMIC_FETCH_ADD_FN. * tree-profile.c (gimple_init_edge_profiler): Generate also atomic profiler update. (gimple_gen_edge_profiler): Likewise. * g++.dg/gcov/gcov-threads-1.C: New test. From-SVN: r239323
Martin Liska committed -
gcc/ChangeLog: * toplev.c (finalize): Set aux_info_file, asm_out_file, and stack_usage_file to NULL after fclose calls. From-SVN: r239322
David Malcolm committed -
Extend computation of subreg_in_class to constants and plus expressions inside SUBREGs, before recursively calling push_reload. SYMBOL_REFs are also CONSTANT_P, so remove explicit handling of SYMBOL_REFs. gcc/ChangeLog PR target/71873 * reload.c (push_reload): Compute subreg_in_class for subregs of constants and plus expressions. Remove special handling of SYMBOL_REFs. gcc/testsuite/ChangeLog PR target/71873 * gcc.target/avr/pr71873.c: New test. From-SVN: r239321
Senthil Kumar Selvaraj committed -
The fallback part of HARD_REGNO_CALLER_SAVE_MODE, choose_hard_reg_mode, returns DFmode for SImode when TARGET_E500_DOUBLE. This confuses lra when attempting to save ctr around a call. PR target/71680 * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Return SImode for TARGET_E500_DOUBLE when given SImode. From-SVN: r239317
Alan Modra committed -
* gccgo.texi (Invoking gccgo): Document -fgo-optimize-allocs and -fgo-debug-escae. (Compiler Directives): New chapter. (Function Names): Describe using //go:linkname. Suggest using -fgo-pkgpath rather than -fgo-prefix. From-SVN: r239316
Ian Lance Taylor committed -
Reviewed-on: https://go-review.googlesource.com/26652 From-SVN: r239315
Ian Lance Taylor committed -
From-SVN: r239314
GCC Administrator committed
-
- 09 Aug, 2016 33 commits
-
-
Implement the go:linkname compiler directive for functions (both function definitions and function declarations). At least for now, give an error for code that tries to use go:linkname with a non-function. Reviewed-on: https://go-review.googlesource.com/26651 From-SVN: r239311
Ian Lance Taylor committed -
* config/i3836/avx512fintrin.h (_mm512_cvtsepi64_epi32): Remove unused variable __O. From-SVN: r239310
David Wohlferd committed -
gcc/c-family/ * c-common.c (c_common_attribute_table): vector_size affects type identity. gcc/cp/ * decl2.c (any_dependent_type_attributes_p): New. * pt.c (dependent_type_p_r, type_dependent_expression_p): Check it. * semantics.c (finish_id_expression): Check it. * typeck.c (finish_class_member_access_expr): Check it. From-SVN: r239309
Jason Merrill committed -
* g++.dg/gcov/gcov-dump-1.C: New test. * g++.dg/gcov/gcov-dump-2.C: New test. From-SVN: r239308
Martin Liska committed -
* doc/gcov.texi: Change _gcov_dump to __gcov_dump and _gcov_reset to __gcov_reset. * doc/gcov-tool.texi: Fix typo. * libgcov-util.c: Fix typo and GNU coding style. From-SVN: r239307
Martin Liska committed -
* Makefile.in: Remove __gcov_indirect_call_profiler. * libgcov-profiler.c (__gcov_indirect_call_profiler): Remove function. * libgcov.h: And the declaration of the function. From-SVN: r239306
Martin Liska committed -
* value-prof.c (gimple_divmod_values_to_profile): Do not instrument MOD histogram if a value is not a SSA name. * gcc.dg/tree-prof/val-prof-9.c: New test. From-SVN: r239305
Martin Liska committed -
* gcc.dg/tree-prof/val-prof-8.c: New test. * value-prof.c (dump_histogram_value): Swap pow2 and non-pow2 values. * libgcov-profiler.c (__gcov_pow2_profiler): Consider 0 as not power of two. From-SVN: r239304
Martin Liska committed -
From-SVN: r239303
Martin Liska committed -
2016-08-09 Bernd Edlinger <bernd.edlinger@hotmail.de> PR bootstrap/72833 * fixincl.tpl (version-compare): Fix generation with autogen 5.18. * inclhack.def (darwin_longjmp_noreturn): New fix. * fixincl.x: Regenerated. * tests/base/i386/setjmp.h [DARWIN_LONGJMP_NORETURN_CHECK]: new test. From-SVN: r239301
Bernd Edlinger committed -
gcc/ 2016-08-04 Renlin Li <renlin.li@arm.com> PR middle-end/64971 * calls.c (prepare_call_address): Convert funexp to Pmode when necessary. * config/aarch64/aarch64.md (sibcall): Remove fix for PR 64971. (sibcall_value): Likewise. From-SVN: r239300
Renlin Li committed -
* class.c (check_abi_tags): Don't duplicate tags for conversion ops. From-SVN: r239299
Jason Merrill committed -
* class.c (missing_abi_tags): New. (check_abi_tags): Don't check template. Add just_checking mode. * mangle.c (abi_flag_at_least, any_abi_below, equal_abi_tags): New. (sorted_abi_tags): Split out from write_abi_tags. (struct releasing_vec): New. (write_unqualified_name): Only look for the primary template for types. Implement backward compatibility. From-SVN: r239298
Jason Merrill committed -
PR c/7652 gcc/c-family/ * c-ada-spec.c (dump_generic_ada_node): Add return. gcc/ * cselib.c (cselib_expand_value_rtx_1): Add return. * gengtype.c (dbgprint_count_type_at): Likewise. * hsa-gen.c (gen_hsa_insn_for_internal_fn_call): Likewise. * reg-stack.c (get_true_reg): Restructure to avoid fallthrough warning. From-SVN: r239297
Marek Polacek committed -
CLONE_NEWNET is needed to compile the syscall tests on GNU/Linux. The symbol is not defined in the CentOS 5.11 header files. Patch from Uros Bizjak. Reviewed-on: https://go-review.googlesource.com/26630 From-SVN: r239296
Ian Lance Taylor committed -
2016-08-09 Martin Jambor <mjambor@suse.cz> PR ipa/71981 * ipa-polymorphic-call.c (get_dynamic_type): Bail out gracefully if instance is a MEM_REF. testsuite/ PR ipa/71981 * gcc.dg/ipa/pr71981.c: New test. From-SVN: r239294
Martin Jambor committed -
PR target/72843 * config/i386/i386.md (*movtf_internal): Use lra_in_progress || reload_completed instead of !can_create_pseudo_p in the insn constraint. (*movxf_internal): Ditto. (*movdf_internal): Ditto. (*movsf_internal): Ditto. From-SVN: r239293
Uros Bizjak committed -
gcc/testsuite PR tree-optimization/33707 * gcc.dg/vect/pr33707.c: New test. From-SVN: r239292
Bin Cheng committed -
PR tree-optimization/72772 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Check equality for expanded base. gcc/testsuite PR tree-optimization/pr72772 * gcc.dg/tree-ssa/pr72772.c: New test. From-SVN: r239291
Bin Cheng committed -
PR tree-optimization/72772 * tree-ssa-loop-niter.h (simplify_using_initial_conditions): Delete parameter STOP. * tree-ssa-loop-niter.c (tree_simplify_using_condition_1): Delete parameter STOP and update calls. Move expand_simple_operations function call from here... (simplify_using_initial_conditions): ...to here. Delete parameter STOP. (tree_simplify_using_condition): Delete parameter STOP. * tree-scalar-evolution.c (simple_iv_with_niters): Update call to simplify_using_initial_conditions. From-SVN: r239290
Bin Cheng committed -
* constexpr.c (cxx_eval_constant_expression): Check COMPLETE_TYPE_P before calling is_really_empty_class. * class.c (is_really_empty_class): Don't call complete_type. From-SVN: r239289
Jason Merrill committed -
gcc/ PR rtl-optimization/66669 * gcc.dg/loop-8.c: Skip for MIPS due to extra invariants. From-SVN: r239288
Matthew Fortune committed -
* typeck.c (cp_build_addr_expr_1): Remove special *this handling. From-SVN: r239285
Jason Merrill committed -
Rewrite the compiler directive support to recognize all the compiler directives implemented by the current gc compiler. The directives other than go:linkname are now turned into GOPRAGMA flags attached to a function or function declaration. The go:linkname directive is turned into a map attached to the Lex object. No new directives are actually implemented yet, they are just recognized. Reviewed-on: https://go-review.googlesource.com/26610 From-SVN: r239282
Ian Lance Taylor committed -
gcc/ PR c/65345 * config/mips/mips.c (mips_atomic_assign_expand_fenv): Use create_tmp_var_raw instead of create_tmp_var. From-SVN: r239278
Matthew Fortune committed -
2016-08-09 Richard Biener <rguenther@suse.de> * tree-ssa-threadbackward.c (profitable_jump_thread_path): Treat same SSA names related. From-SVN: r239276
Richard Biener committed -
re PR tree-optimization/72824 (Signed floating point zero semantics broken at optimization level -O3 (tree-loop-distribute-patterns)) PR tree-optimization/72824 * tree-loop-distribution.c (const_with_all_bytes_same): Verify real_zerop is not negative. * gcc.c-torture/execute/ieee/pr72824.c: New test. From-SVN: r239275
Jakub Jelinek committed -
re PR tree-optimization/71802 (gcc ICE at -O3 on valid code on x86_64-linux-gnu in expand_LOOP_VECTORIZED) 2016-08-09 Richard Biener <rguenther@suse.de> PR tree-optimization/71802 * tree-cfgcleanup.c (cleanup_tree_cfg_bb): Make sure to catch all merge opportunities with the predecessor. * gcc.dg/torture/pr71802.c: New testcase. From-SVN: r239274
Richard Biener committed -
re PR target/68273 (Wrong code on mips/mipsel due to (invalid?) peeking at alignments in function_arg.) 2016-08-09 Richard Biener <rguenther@suse.de> PR ipa/68273 * ipa-prop.c (ipa_modify_formal_parameters): Build parameter types with natural alignment also for the over-aligned case. From-SVN: r239273
Richard Biener committed -
PR c++/72809 * rtti.c (get_pseudo_ti_index): Return TK_CLASS_TYPE for builtin aggregate types without TYPE_BINFO. * g++.dg/eh/stdarg1.C: New test. From-SVN: r239272
Jakub Jelinek committed -
gcc/c-family/ * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for C++17 constexpr lambdas. gcc/cp/ * class.c (finalize_literal_type_property): Handle lambdas. * constexpr.c (is_valid_constexpr_fn): Likewise. No longer static. (explain_invalid_constexpr_fn, cxx_eval_call_expression): Handle lambdas. (cxx_eval_constant_expression): Handle capture proxy. (var_in_constexpr_fn): Don't check for C++14. (var_in_maybe_constexpr_fn): New. (potential_constant_expression_1): Use it. Check DECL_EXPR for declarations not allowed in constexpr function. * decl.c (make_rtl_for_nonlocal_decl): Use var_in_maybe_constexpr_fn. (finish_function): Set DECL_DECLARED_CONSTEXPR_P on lambda members. * lambda.c (begin_lambda_type): Set CLASSTYPE_LITERAL_P. (maybe_add_lambda_conv_op): Clear thunk CALL_EXPR location. (lambda_static_thunk_p): New. * parser.c (cp_keyword_starts_decl_specifier_p): Add RID_CONSTEXPR. (CP_PARSER_FLAGS_ONLY_MUTABLE_OR_CONSTEXPR): New enumerator. (cp_parser_decl_specifier_seq): Handle it. (cp_parser_lambda_declarator_opt): Use cp_parser_decl_specifier_seq. * pt.c (instantiate_class_template_1): Set CLASSTYPE_LITERAL_P. (tsubst_copy_and_build) [CALL_EXPR]: Propagate CALL_FROM_THUNK_P. * error.c (dump_function_decl): Check TFF_NO_TEMPLATE_BINDINGS. (dump_expr) [FUNCTION_DECL]: Pass it. From-SVN: r239268
Jason Merrill committed -
PR c++/67131 * class.c (is_really_empty_class): Call complete_type. * constexpr.c (cxx_eval_constant_expression): Check is_really_empty_class. (potential_constant_expression_1): Likewise. Check for error type. From-SVN: r239267
Jason Merrill committed -
This patch fixes an bootstrap error with autoprofiledbootstrap due to uninitiliazed variables, because the compiler cannot figure out they don't need to be initialized in an error path. Just always initialize them. gcc/: 2016-08-08 Andi Kleen <ak@linux.intel.com> * tree-vrp.c (get_single_symbol): Always initialize inv and neg. From-SVN: r239266
Andi Kleen committed
-