forked from gcc-mirror/gcc
-
Notifications
You must be signed in to change notification settings - Fork 1
Merge upstream gcc-mirror/gcc into sourceryinstitute/gcc #7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* tree-scalar-evolution.c (get_scalar_evolution): Handle default-defs and types we do not want to analyze. (interpret_loop_phi): Replace unreachable code with an assert. (compute_scalar_evolution_in_loop): Remove and inline ... (analyze_scalar_evolution_1): ... here, replacing condition with what makes the intent clearer. Remove handling of cases get_scalar_evolution now handles. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253629 138bc75d-0d04-0410-961f-82ee72b054a4
PR c++/81299 * g++.dg/cpp1y/lambda-generic-ice7.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253630 138bc75d-0d04-0410-961f-82ee72b054a4
PR c++/82230 * g++.dg/cpp1y/lambda-generic-ice8.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253631 138bc75d-0d04-0410-961f-82ee72b054a4
PR c++/80412 * g++.dg/cpp1z/class-deduction44.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253632 138bc75d-0d04-0410-961f-82ee72b054a4
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253634 138bc75d-0d04-0410-961f-82ee72b054a4
Similar to other architectures with IFUNC binutils/glibc support, this patch enables the ifunc attribute for ARM GNU/Linux. Although not required for build master GLIBC, the intention is to allow refactor its assembly implementation to C. Tested compilation of glibc (in conjunction with a glibc patch to support using the attribute on ARM) with build-many-glibcs.py (with a patch to add a armv7 variant which enables multiarch). I have not run the GCC tests for ARM. * config.gcc (default_gnu_indirect_function): Default to yes for arm*-*-linux* with glibc. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253635 138bc75d-0d04-0410-961f-82ee72b054a4
2017-10-11 Martin Liska <[email protected]> * c-c++-common/ubsan/ptr-overflow-sanitization-1.c: Scan optimized dump rather than assembly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253636 138bc75d-0d04-0410-961f-82ee72b054a4
2017-10-11 Martin Liska <[email protected]> PR sanitizer/82484 * sanopt.c (sanitize_rewrite_addressable_params): Do not handle volatile arguments. 2017-10-11 Martin Liska <[email protected]> PR sanitizer/82484 * gcc.dg/asan/pr82484.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253637 138bc75d-0d04-0410-961f-82ee72b054a4
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253638 138bc75d-0d04-0410-961f-82ee72b054a4
2017-10-11 Martin Liska <[email protected]> * print-rtl.c (print_insn): Move declaration of idbuf to same scope as name. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253639 138bc75d-0d04-0410-961f-82ee72b054a4
2017-10-11 Martin Liska <[email protected]> PR sanitizer/82490 * opts.c (parse_no_sanitize_attribute): Do not use error_value variable. * opts.h (parse_no_sanitize_attribute): Remove last argument. 2017-10-11 Martin Liska <[email protected]> PR sanitizer/82490 * c-attribs.c (handle_no_sanitize_attribute): Report directly Wattributes warning. 2017-10-11 Martin Liska <[email protected]> PR sanitizer/82490 * c-c++-common/ubsan/attrib-5.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253640 138bc75d-0d04-0410-961f-82ee72b054a4
* tree-loop-distribution.c (sort_partitions_by_post_order): Refine comment. (break_alias_scc_partitions): Update postorder number. gcc/testsuite * gcc.dg/tree-ssa/pr82472.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253641 138bc75d-0d04-0410-961f-82ee72b054a4
2017-10-11 Marc Glisse <[email protected]> gcc/ * fold-const.c (fold_binary_loc) [X +- Y CMP X]: Move ... * match.pd: ... here. ((T) X == (T) Y): Relax condition. gcc/testsuite/ * gcc.dg/Wstrict-overflow-7.c: Xfail. * gcc.dg/pragma-diag-3.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253642 138bc75d-0d04-0410-961f-82ee72b054a4
* tree.def (POLYNOMIAL_CHREC): Remove CHREC_VARIABLE tree operand. * tree-core.h (tree_base): Add chrec_var union member. * tree.h (CHREC_VAR): Remove. (CHREC_LEFT, CHREC_RIGHT, CHREC_VARIABLE): Adjust. * tree-chrec.h (build_polynomial_chrec): Adjust. * tree-chrec.c (reset_evolution_in_loop): Use build_polynomial_chrec. * tree-pretty-print.c (dump_generic_node): Use CHREC_VARIABLE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253643 138bc75d-0d04-0410-961f-82ee72b054a4
* tree-ssa-loop-niter.c (infer_loop_bounds_from_pointer_arith): Properly call analyze_scalar_evolution with the loop of the stmt. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253644 138bc75d-0d04-0410-961f-82ee72b054a4
* pretty-print.c [_WIN32] (colorize_init): Remove. Use the generic version below instead. (should_colorize): Recognize Windows consoles as terminals for MinGW targets. * pretty-print.c [__MINGW32__] (write_all): New function. [__MINGW32__] (find_esc_head): Likewise. [__MINGW32__] (find_esc_terminator): Likewise. [__MINGW32__] (eat_esc_sequence): Likewise. [__MINGW32__] (mingw_ansi_fputs): New function that handles ANSI escape codes. (pp_write_text_to_stream): Use mingw_ansi_fputs instead of fputs for MinGW targets. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253645 138bc75d-0d04-0410-961f-82ee72b054a4
* config.gcc (i386, x86_64): Add extra objects. * i386/i386-protos.h (ix86_rip_relative_addr_p): Declare. (ix86_min_insn_size): Declare. (ix86_issue_rate): Declare. (ix86_adjust_cost): Declare. (ia32_multipass_dfa_lookahead): Declare. (ix86_macro_fusion_p): Declare. (ix86_macro_fusion_pair_p): Declare. (ix86_bd_has_dispatch): Declare. (ix86_bd_do_dispatch): Declare. (ix86_core2i7_init_hooks): Declare. (ix86_atom_sched_reorder): Declare. * i386/i386.c Move all CPU cost tables to x86-tune-costs.h. (COSTS_N_BYTES): Move to x86-tune-costs.h. (DUMMY_STRINGOP_ALGS):x86-tune-costs.h. (rip_relative_addr_p): Rename to ... (ix86_rip_relative_addr_p): ... this one; export. (memory_address_length): Update. (ix86_issue_rate): Move to x86-tune-sched.c. (ix86_flags_dependent): Move to x86-tune-sched.c. (ix86_agi_dependent): Move to x86-tune-sched.c. (exact_dependency_1): Move to x86-tune-sched.c. (exact_store_load_dependency): Move to x86-tune-sched.c. (ix86_adjust_cost): Move to x86-tune-sched.c. (ia32_multipass_dfa_lookahead): Move to x86-tune-sched.c. (ix86_macro_fusion_p): Move to x86-tune-sched.c. (ix86_macro_fusion_pair_p): Move to x86-tune-sched.c. (do_reorder_for_imul): Move to x86-tune-sched-atom.c. (swap_top_of_ready_list): Move to x86-tune-sched-atom.c. (ix86_sched_reorder): Move to x86-tune-sched-atom.c. (core2i7_first_cycle_multipass_init): Move to x86-tune-sched-core.c. (core2i7_dfa_post_advance_cycle): Move to x86-tune-sched-core.c. (min_insn_size): Rename to ... (ix86_min_insn_size): ... this one; export. (core2i7_first_cycle_multipass_begin): Move to x86-tune-sched-core.c. (core2i7_first_cycle_multipass_issue): Move to x86-tune-sched-core.c. (core2i7_first_cycle_multipass_backtrack): Move to x86-tune-sched-core.c. (core2i7_first_cycle_multipass_end): Move to x86-tune-sched-core.c. (core2i7_first_cycle_multipass_fini): Move to x86-tune-sched-core.c. (ix86_sched_init_global): Break up logic to ix86_core2i7_init_hooks. (ix86_avoid_jump_mispredicts): Update. (TARGET_SCHED_DISPATCH): Move to ix86-tune-sched-bd.c. (TARGET_SCHED_DISPATCH_DO): Move to ix86-tune-sched-bd.c. (TARGET_SCHED_REORDER): Move to ix86-tune-sched-bd.c. (DISPATCH_WINDOW_SIZE): Move to ix86-tune-sched-bd.c. (MAX_DISPATCH_WINDOWS): Move to ix86-tune-sched-bd.c. (MAX_INSN): Move to ix86-tune-sched-bd.c. (MAX_IMM): Move to ix86-tune-sched-bd.c. (MAX_IMM_SIZE): Move to ix86-tune-sched-bd.c. (MAX_IMM_32): Move to ix86-tune-sched-bd.c. (MAX_IMM_64): Move to ix86-tune-sched-bd.c. (MAX_LOAD): Move to ix86-tune-sched-bd.c. (MAX_STORE): Move to ix86-tune-sched-bd.c. (BIG): Move to ix86-tune-sched-bd.c. (enum dispatch_group): Move to ix86-tune-sched-bd.c. (enum insn_path): Move to ix86-tune-sched-bd.c. (get_mem_group): Move to ix86-tune-sched-bd.c. (is_cmp): Move to ix86-tune-sched-bd.c. (dispatch_violation): Move to ix86-tune-sched-bd.c. (is_branch): Move to ix86-tune-sched-bd.c. (is_prefetch): Move to ix86-tune-sched-bd.c. (init_window): Move to ix86-tune-sched-bd.c. (allocate_window): Move to ix86-tune-sched-bd.c. (init_dispatch_sched): Move to ix86-tune-sched-bd.c. (is_end_basic_block): Move to ix86-tune-sched-bd.c. (process_end_window): Move to ix86-tune-sched-bd.c. (allocate_next_window): Move to ix86-tune-sched-bd.c. (find_constant): Move to ix86-tune-sched-bd.c. (get_num_immediates): Move to ix86-tune-sched-bd.c. (has_immediate): Move to ix86-tune-sched-bd.c. (get_insn_path): Move to ix86-tune-sched-bd.c. (get_insn_group): Move to ix86-tune-sched-bd.c. (count_num_restricted): Move to ix86-tune-sched-bd.c. (fits_dispatch_window): Move to ix86-tune-sched-bd.c. (add_insn_window): Move to ix86-tune-sched-bd.c. (add_to_dispatch_window): Move to ix86-tune-sched-bd.c. (debug_dispatch_window_file): Move to ix86-tune-sched-bd.c. (debug_dispatch_window): Move to ix86-tune-sched-bd.c. (debug_insn_dispatch_info_file): Move to ix86-tune-sched-bd.c. (debug_ready_dispatch): Move to ix86-tune-sched-bd.c. (do_dispatch): Move to ix86-tune-sched-bd.c. (has_dispatch): Move to ix86-tune-sched-bd.c. * i386/t-i386: Add new object files. * i386/x86-tune-costs.h: New file. * i386/x86-tune-sched-atom.c: New file. * i386/x86-tune-sched-bd.c: New file. * i386/x86-tune-sched-core.c: New file. * i386/x86-tune-sched.c: New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253646 138bc75d-0d04-0410-961f-82ee72b054a4
https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00582.html * tree.h (DECL_ASSEMBLER_NAME_RAW): New. (SET_DECL_ASSEMBLER_NAME): Use it. (DECL_ASSEMBLER_NAME_SET_P): Likewise. (COPY_DECL_ASSEMBLER_NAME): Likewise. * tree.c (decl_assembler_name): Use DECL_ASSEMBLER_NAME_RAW. lto/ * lto.c (mentions_vars_p_decl_with_vis): Use DECL_ASSEMBLER_NAME_RAW. (lto_fixup_prevailing_decls): Likewise. cp * decl2.c (struct mangled_decl_hash): Use DECL_ASSEMBLER_NAME_RAW. (record_mangling): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253647 138bc75d-0d04-0410-961f-82ee72b054a4
https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00582.html * tree.h (DECL_ASSEMBLER_NAME_SET_P): Don't check HAS_DECL_ASSEMBLER_NAME_P. * gimple-expr.c (gimple_decl_printable_name: Check HAS_DECL_ASSEMBLER_NAME_P too. * ipa-utils.h (type_in_anonymous_namespace_p): Check DECL_ASSEMBLER_NAME_SET_P of TYPE_NAME. (odr_type_p): No need to assert TYPE_NAME is a TYPE_DECL. * passes.c (rest_of_decl_compilation): Check HAS_DECL_ASSEMBLER_NAME_P too. * recog.c (verify_changes): Likewise. * tree-pretty-print.c (dump_decl_name): Likewise. * tree-ssa-structalias.c (alias_get_name): Likewise. Reimplement. c/ * c-decl.c (grokdeclarator): Check HAS_DECL_ASSEMBLER_NAME_P too. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253649 138bc75d-0d04-0410-961f-82ee72b054a4
address computation of end of complex_attrib_array_types. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253650 138bc75d-0d04-0410-961f-82ee72b054a4
(safe_scale_64bit): New inline. (profile_count::max_safe_multiplier): Remove; use safe_scale_64bit. * profile-count.c: Include wide-int.h (slow_safe_scale_64bit): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253652 138bc75d-0d04-0410-961f-82ee72b054a4
Do not use float_operator operator predicate. (*cmp<X87MODEF:mode>_<SWI24:mode>_cc_i387): Ditto. * config/i386/predicates.md (float_operator): Remove predicate. * config/i386/i386.md (*jcc<mode>_0_i387): Remove insn pattern. (*jccxf_i387): Ditto. (*jcc<mode>_i387): Ditto. (*jccu<mode>_i387): Ditto. (*jcc<X87MODEF:mode>_<SWI24:mode>_i387): Ditto. (*jcc_*_i387 splitters): Remove. * config/i386/i386-protos.h (ix86_split_fp_branch): Remove prototype. * config/i386/i386.c (ix86_split_fp_branch): Remove. * config/i386/predicates.md (ix86_swapped_fp_comparison_operator): Remove predicate. testsuite/ChangeLog: * gcc.target/i386/387-ficom-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253653 138bc75d-0d04-0410-961f-82ee72b054a4
https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00693.html gcc/ * incpath.h (enum incpath_kind): Name enum, prefix values. (add_path, add_cpp_dir_path, get_added_cpp_dirs): Use incpath_kind. * incpath.c (heads, tails): Use INC_MAX. (add_env_var_paths, add_standard_paths): Use incpath_kind. (merge_include_chains, split_quote_chain, register_include_chains): Update incpath_kind names. (add_cpp_dir_path, add_path, get_added_cpp_dirs): Use incpath_kind. * config/darwin-c.c (add_system_framework_path): Update incpath_kind names. (add_framework_path, darwin_register_objc_includes): Likewise. * config/vms/vms-c.c (vms_c_register_includes): Likewise. gcc/c-family/ * c-opts.c (add_prefixed_path): Change chain to incpath_kind. (c_common_handle_option): Update incpath_kind names. gcc/fortran/ * cpp.c (gfc_cpp_add_include_path): Update incpath_e names. (gfc_cpp_add_include_path_after): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253654 138bc75d-0d04-0410-961f-82ee72b054a4
PR sanitizer/82353 * lra.c (collect_non_operand_hard_regs): Don't ignore operator locations. * lra-lives.c (bb_killed_pseudos, bb_gen_pseudos): Move up. (make_hard_regno_born, make_hard_regno_dead): Update bb_killed_pseudos and bb_gen_pseudos. 2017-10-11 Vladimir Makarov <[email protected]> PR sanitizer/82353 * gcc.target/i386/i386.exp (tests): Permit '.C' extension. * gcc.target/i386/pr82353.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253656 138bc75d-0d04-0410-961f-82ee72b054a4
2017-10-11 Qing Zhao <[email protected]> PR target/81422 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Check whether the dest is REG before adding REG_EQUIV note. /gcc/testsuite 2017-10-11 Qing Zhao <[email protected]> PR target/81422 * gcc.target/aarch64/pr81422.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253657 138bc75d-0d04-0410-961f-82ee72b054a4
* g++.dg/cpp1y/pr80194.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253658 138bc75d-0d04-0410-961f-82ee72b054a4
* g++.dg/cpp1y/pr78523.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253659 138bc75d-0d04-0410-961f-82ee72b054a4
* g++.dg/lto/pr82414_0.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253660 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc.dg/vect/pr78558.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253661 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc.c-torture/execute/pr80421.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253662 138bc75d-0d04-0410-961f-82ee72b054a4
* exp_ch6.adb (Is_Build_In_Place_Result_Type): Fix silly bug -- "Typ" should be "T". Handle case of a subtype of a class-wide type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253916 138bc75d-0d04-0410-961f-82ee72b054a4
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253919 138bc75d-0d04-0410-961f-82ee72b054a4
PR c++/82308 * g++.dg/cpp1z/class-deduction45.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253920 138bc75d-0d04-0410-961f-82ee72b054a4
-fdelete-null-pointer-checks. * doc/invoke.text (-fdelete-null-pointer-checks): Document that. * lib/target-supports.exp (check_effective_target_keeps_null_pointer_checks): Add msp430 to the list. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253921 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ * common/config/i386/i386-common.c (OPTION_MASK_ISA_GFNI_SET, (OPTION_MASK_ISA_GFNI_UNSET): New. (ix86_handle_option): Handle OPT_mgfni. * config/i386/cpuid.h (bit_GFNI): New. * config/i386/driver-i386.c (host_detect_local_cpu): Detect gfni. * config/i386/i386-c.c (ix86_target_macros_internal): Define __GFNI__. * config/i386/i386.c (ix86_target_string): Add -mgfni. (ix86_valid_target_attribute_inner_p): Add OPT_mgfni. * config/i386/i386.h (TARGET_GFNI, TARGET_GFNI_P): New. * config/i386/i386.opt: Add mgfni. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253922 138bc75d-0d04-0410-961f-82ee72b054a4
* config/i386/sse.md (*andnot<mode>3, <mask_codefor><code><mode>3<mask_name>, *<code><mode>3): Split (=v,v,vm) alternative into (=x,x,xm) and (=v,v,vm), for 128-bit and 256-bit vectors, the (=x,x,xm) alternative and when mask is not applied use empty suffix even for TARGET_AVX512VL. * config/i386/subst.md (mask_prefix3, mask_prefix4): When mask is applied, supply evex,evex or evex,evex,evex instead of just evex. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253923 138bc75d-0d04-0410-961f-82ee72b054a4
* config/i386/sse.md (VI248_AVX2, VI248_AVX512BW, VI248_AVX512BW_2): New mode iterators. (<shift_insn><mode>3<mask_name>): Change the last of the 3 define_insns for logical vector shifts to use VI248_AVX512BW iterator instead of VI48_AVX512, remove <mask_mode512bit_condition> condition, useless isa and prefix attributes. Change the first 2 of these define_insns to ... (<mask_codefor><shift_insn><mode>3<mask_name>): ... this, new define_insn for avx512vl. (<shift_insn><mode>3): ... and this, new define_insn without masking for non-avx512vl. * gcc.target/i386/avx-pr82370.c: New test. * gcc.target/i386/avx2-pr82370.c: New test. * gcc.target/i386/avx512f-pr82370.c: New test. * gcc.target/i386/avx512bw-pr82370.c: New test. * gcc.target/i386/avx512vl-pr82370.c: New test. * gcc.target/i386/avx512vlbw-pr82370.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253924 138bc75d-0d04-0410-961f-82ee72b054a4
* config/gnu-user.h (LIBTSAN_EARLY_SPEC): Add libtsan_preinit.o for -fsanitize=thread link of executables. (LIBLSAN_EARLY_SPEC): Add liblsan_preinit.o for -fsanitize=leak link of executables. * lsan/lsan.h (__lsan_init): Add SANITIZER_INTERFACE_ATTRIBUTE. * lsan/Makefile.am (nodist_toolexeclib_HEADERS): Add liblsan_preinit.o. (lsan_files): Remove lsan_preinit.cc. (liblsan_preinit.o): New rule. * lsan/Makefile.in: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253925 138bc75d-0d04-0410-961f-82ee72b054a4
* tree-cfg.c (pass_warn_function_return::execute): In noreturn functions when optimizing replace GIMPLE_RETURN stmts with calls to __builtin_unreachable (). * gcc.dg/tree-ssa/noreturn-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253926 138bc75d-0d04-0410-961f-82ee72b054a4
* configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253928 138bc75d-0d04-0410-961f-82ee72b054a4
2017-10-20 Tom de Vries <[email protected]> * gcc.dg/tree-ssa/ldist-27.c: Remove dg-require-stack-size. (main): Move s ... (s): ... here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253929 138bc75d-0d04-0410-961f-82ee72b054a4
* graphite-isl-ast-to-gimple.c (translate_isl_ast_to_gimple::graphite_copy_stmts_from_block): Remove return value and simplify, dump copied stmt after lhs adjustment. (translate_isl_ast_to_gimple::translate_isl_ast_node_user): Reduce dump verbosity. (gsi_insert_earliest): Likewise. (translate_isl_ast_to_gimple::copy_bb_and_scalar_dependences): Adjust. * graphite.c (print_global_statistics): Adjust dumping. (print_graphite_scop_statistics): Likewise. (print_graphite_statistics): Do not dump loops here. (graphite_transform_loops): But here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253930 138bc75d-0d04-0410-961f-82ee72b054a4
PR tree-optimization/82603 * tree-if-conv.c (predicate_mem_writes): Make sure to only remove false predicated stores. * gcc.dg/torture/pr82603.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253933 138bc75d-0d04-0410-961f-82ee72b054a4
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253934 138bc75d-0d04-0410-961f-82ee72b054a4
…ic FPU selection Libatomic builds a few functions for Arm with an explicit -march option. This option does not specify an FPU, which can lead to problems when targeting a hard-float or softfp environment since the architecture appears to be incompatible with the selected ABI. The fix is simple enough, just add +fp (the minimum floating point option) to the architecture. We don't use anything from the FP architecture, so it shouldn't really change anything; and if we are building for -mfloat-abi=soft the canonicalization process will remove the unnecessary fp attributes anyway. * Makefile.am: (IFUNC_OPTIONS): Set the architecture to -march=armv7-a+fp on Linux/Arm. * Makefile.in: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253935 138bc75d-0d04-0410-961f-82ee72b054a4
https://software.intel.com/sites/default/files/managed/4d/2a/control-flow-enforcement-technology-preview.pdf A proposal is to introduce a target independent flag -fcf-protection=[none|branch|return|full] with a semantic to instrument a code to control validness or integrity of control-flow transfers using jump and call instructions. The main goal is to detect and block a possible malware execution through transfer the execution to unknown target address. Implementation could be either software or target based. Any target platforms can provide their implementation for instrumentation under this option. The compiler should instrument any control-flow transfer points in a program (ex. call/jmp/ret) as well as any landing pads, which are targets of control-flow transfers. A new 'nocf_check' attribute is introduced to provide hand tuning support. The attribute directs the compiler to skip a call to a function and a function's landing pad from instrumentation. The attribute can be used for function and pointer to function types, otherwise it will be ignored. Currently all platforms except i386 will report the error and do no instrumentation. i386 will provide the implementation based on a specification published by Intel for a new technology called Control-flow Enforcement Technology (CET). gcc/c-family/ * c-attribs.c (handle_nocf_check_attribute): New function. (c_common_attribute_table): Add 'nocf_check' handling. gcc/c/ * gimple-parser.c: Add second argument NULL to gimple_build_call_from_tree. gcc/ * attrib.c (comp_type_attributes): Check nocf_check attribute. * cfgexpand.c (expand_call_stmt): Set REG_CALL_NOCF_CHECK for call insn. * combine.c (distribute_notes): Add REG_CALL_NOCF_CHECK handling. * common.opt: Add fcf-protection flag. * emit-rtl.c (try_split): Add REG_CALL_NOCF_CHECK handling. * flag-types.h: Add enum cf_protection_level. * gimple.c (gimple_build_call_from_tree): Add second parameter. Add 'nocf_check' attribute propagation to gimple call. * gimple.h (gf_mask): Add GF_CALL_NOCF_CHECK. (gimple_build_call_from_tree): Update prototype. (gimple_call_nocf_check_p): New function. (gimple_call_set_nocf_check): Likewise. * gimplify.c: Add second argument to gimple_build_call_from_tree. * ipa-icf.c: Add nocf_check attribute in statement hash. * recog.c (peep2_attempt): Add REG_CALL_NOCF_CHECK handling. * reg-notes.def: Add REG_NOTE (CALL_NOCF_CHECK). * toplev.c (process_options): Add flag_cf_protection handling. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253936 138bc75d-0d04-0410-961f-82ee72b054a4
PR tree-optimization/82473 * tree-vect-loop.c (vectorizable_reduction): Properly get at the largest input type. * gcc.dg/torture/pr82473.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253937 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/doc/ * extend.texi: Add 'nocf_check' documentation. * gimple.texi: Add second parameter to gimple_build_call_from_tree. * invoke.texi: Add -fcf-protection documentation. * rtl.texi: Add REG_CALL_NOTRACK documenation. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253938 138bc75d-0d04-0410-961f-82ee72b054a4
* config/i386/sse.md (<avx512>_fmadd_<mode>_mask<round_name>, <avx512>_fmadd_<mode>_mask3<round_name>, <avx512>_fmsub_<mode>_mask<round_name>, <avx512>_fmsub_<mode>_mask3<round_name>, <avx512>_fnmadd_<mode>_mask<round_name>, <avx512>_fnmadd_<mode>_mask3<round_name>, <avx512>_fnmsub_<mode>_mask<round_name>, <avx512>_fnmsub_<mode>_mask3<round_name>, <avx512>_fmaddsub_<mode>_mask<round_name>, <avx512>_fmaddsub_<mode>_mask3<round_name>, <avx512>_fmsubadd_<mode>_mask<round_name>, <avx512>_fmsubadd_<mode>_mask3<round_name>): Remove isa attribute. (*vec_widen_umult_even_v16si<mask_name>, *vec_widen_smult_even_v16si<mask_name>): Likewise. (<mask_codefor>avx512bw_dbpsadbw<mode><mask_name>): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253939 138bc75d-0d04-0410-961f-82ee72b054a4
* sinfo.ads, sinfo.adb (Alloc_For_BIP_Return): New flag to indicate that an allocator came from a b-i-p return statement. * exp_ch4.adb (Expand_Allocator_Expression): Avoid adjusting the return object of a nonlimited build-in-place function call. * exp_ch6.adb (Expand_N_Extended_Return_Statement): Set the Alloc_For_BIP_Return flag on generated allocators. * sem_ch5.adb (Analyze_Assignment): Move Assert to where it can't fail. If the N_Assignment_Statement has been transformed into something else, then Should_Transform_BIP_Assignment won't work. * exp_ch3.adb (Expand_N_Object_Declaration): A previous revision said, "Remove Adjust if we're building the return object of an extended return statement in place." Back out that part of the change, because the Alloc_For_BIP_Return flag is now used for that. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253940 138bc75d-0d04-0410-961f-82ee72b054a4
2017-10-20 Bob Duff <[email protected]> * exp_aggr.adb (Initialize_Array_Component): Avoid adjusting a component of an array aggregate if it is initialized by a build-in-place function call. * exp_ch6.adb (Is_Build_In_Place_Result_Type): Use -gnatd.9 to disable bip for nonlimited types. * debug.adb: Document -gnatd.9. 2017-10-20 Bob Duff <[email protected]> * sem_ch12.adb: Remove redundant setting of Parent. 2017-10-20 Eric Botcazou <[email protected]> * sem_ch4.adb (Find_Concatenation_Types): Filter out operators if one of the operands is a string literal. 2017-10-20 Bob Duff <[email protected]> * einfo.ads: Comment fix. 2017-10-20 Clement Fumex <[email protected]> * switch-c.adb: Remove -gnatwm from the switches triggered by -gnateC. 2017-10-20 Ed Schonberg <[email protected]> * sem_dim.adb (Extract_Power): Accept dimension values that are not non-negative integers when the dimensioned base type is an Integer type. gcc/testsuite/ 2017-10-20 Ed Schonberg <[email protected]> * gnat.dg/dimensions.adb, gnat.dg/dimensions.ads: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253941 138bc75d-0d04-0410-961f-82ee72b054a4
2017-10-20 Yannick Moy <[email protected]> * sem_dim.adb (Analyze_Dimension_Binary_Op): Accept with a warning to compare a dimensioned expression with a literal. (Dim_Warning_For_Numeric_Literal): Do not issue a warning for the special value zero. * doc/gnat_ugn/gnat_and_program_execution.rst: Update description of dimensionality system in GNAT. * gnat_ugn.texi: Regenerate. 2017-10-20 Yannick Moy <[email protected]> * sem_ch6.adb (Analyze_Expression_Function.Freeze_Expr_Types): Remove inadequate silencing of errors. * sem_util.adb (Check_Part_Of_Reference): Do not issue an error when checking the subprogram body generated from an expression function, when this is done as part of the preanalysis done on expression functions, as the subprogram body may not yet be attached in the AST. The error if any will be issued later during the analysis of the body. (Is_Aliased_View): Trivial rewrite with Is_Formal_Object. 2017-10-20 Arnaud Charlet <[email protected]> * sem_ch8.adb (Update_Chain_In_Scope): Add missing [-gnatwu] marker for warning on ineffective use clause. 2017-10-20 Eric Botcazou <[email protected]> * exp_ch11.ads (Warn_If_No_Local_Raise): Declare. * exp_ch11.adb (Expand_Exception_Handlers): Use Warn_If_No_Local_Raise to issue the warning on the absence of local raise. (Possible_Local_Raise): Do not issue the warning for Call_Markers. (Warn_If_No_Local_Raise): New procedure to issue the warning on the absence of local raise. * sem_elab.adb: Add with and use clauses for Exp_Ch11. (Record_Elaboration_Scenario): Call Possible_Local_Raise in the cases where a scenario could give rise to raising Program_Error. * sem_elab.adb: Typo fixes. * fe.h (Warn_If_No_Local_Raise): Declare. * gcc-interface/gigi.h (get_exception_label): Change return type. * gcc-interface/trans.c (gnu_constraint_error_label_stack): Change to simple vector of Entity_Id. (gnu_storage_error_label_stack): Likewise. (gnu_program_error_label_stack): Likewise. (gigi): Adjust to above changes. (Raise_Error_to_gnu): Likewise. (gnat_to_gnu) <N_Goto_Statement>: Set TREE_USED on the label. (N_Push_Constraint_Error_Label): Push the label onto the stack. (N_Push_Storage_Error_Label): Likewise. (N_Push_Program_Error_Label): Likewise. (N_Pop_Constraint_Error_Label): Pop the label from the stack and issue a warning on the absence of local raise. (N_Pop_Storage_Error_Label): Likewise. (N_Pop_Program_Error_Label): Likewise. (push_exception_label_stack): Delete. (get_exception_label): Change return type to Entity_Id and adjust. * gcc-interface/utils2.c (build_goto_raise): Change type of first parameter to Entity_Id and adjust. Set TREE_USED on the label. (build_call_raise): Adjust calls to get_exception_label and also build_goto_raise. (build_call_raise_column): Likewise. (build_call_raise_range): Likewise. * doc/gnat_ugn/building_executable_programs_with_gnat.rst (-gnatw.x): Document actual default behavior. 2017-10-20 Piotr Trojanek <[email protected]> * einfo.ads: Minor consistent punctuation in comment. All numbered items in the comment of Is_Internal are now terminated with a period. 2017-10-20 Piotr Trojanek <[email protected]> * exp_util.adb (Build_Temporary): Mark created temporary entity as internal. 2017-10-20 Piotr Trojanek <[email protected]> * sem_type.adb (In_Generic_Actual): Simplified. 2017-10-20 Justin Squirek <[email protected]> * sem_ch12.adb (Check_Formal_Package_Instance): Add sanity check to verify a renaming exists for a generic formal before comparing it to the actual as defaulted formals will not have a renamed_object. 2017-10-20 Javier Miranda <[email protected]> * exp_ch6.adb (Replace_Returns): Fix wrong management of N_Block_Statement nodes. gcc/testsuite/ 2017-10-20 Justin Squirek <[email protected]> * gnat.dg/default_pkg_actual.adb, gnat.dg/default_pkg_actual2.adb: New testcases. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253945 138bc75d-0d04-0410-961f-82ee72b054a4
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253946 138bc75d-0d04-0410-961f-82ee72b054a4
* sinfo.ads: Fix a comment typo. 2017-10-20 Eric Botcazou <[email protected]> * doc/gnat_ugn/building_executable_programs_with_gnat.rst (-flto): Add warning against usage in conjunction with -gnatn. (-fdump-xref): Delete entry. * doc/gnat_ugn/gnat_utility_programs.rst (--ext): Remove mention of -fdump-xref switch. * gnat_ugn.texi: Regenerate. 2017-10-20 Hristian Kirtchev <[email protected]> * sem_type.adb, exp_util.adb, sem_util.adb, sem_dim.adb, sem_elab.adb: Minor reformatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253947 138bc75d-0d04-0410-961f-82ee72b054a4
2017-10-20 Doug Rupp <[email protected]> * libgnarl/s-osinte__linux.ads (Relative_Timed_Wait): Add variable needed for using monotonic clock. * libgnarl/s-taprop__linux.adb: Revert previous monotonic clock changes. * libgnarl/s-taprop__linux.adb, s-taprop__posix.adb: Unify and factor out monotonic clock related functions body. (Timed_Sleep, Timed_Delay, Montonic_Clock, RT_Resolution, Compute_Deadline): Move to... * libgnarl/s-tpopmo.adb: ... here. New separate package body. 2017-10-20 Ed Schonberg <[email protected]> * sem_util.adb (Is_Controlling_Limited_Procedure): Handle properly the case where the controlling formal is an anonymous access to interface type. * exp_ch9.adb (Extract_Dispatching_Call): If controlling actual is an access type, handle properly the the constructed dereference that designates the object used in the rewritten synchronized call. (Parameter_Block_Pack): If the type of the actual is by-copy, its generated declaration in the parameter block does not need an initialization even if the type is a null-excluding access type, because it will be initialized with the value of the actual later on. (Parameter_Block_Pack): Do not add controlling actual to parameter block when its type is by-copy. 2017-10-20 Justin Squirek <[email protected]> * sem_ch8.adb (Update_Use_Clause_Chain): Add sanity check to verify scope stack traversal into the context clause. gcc/testsuite/ 2017-10-20 Ed Schonberg <[email protected]> * gnat.dg/sync_iface_call.adb, gnat.dg/sync_iface_call_pkg.ads, gnat.dg/sync_iface_call_pkg2.adb, gnat.dg/sync_iface_call_pkg2.ads: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253948 138bc75d-0d04-0410-961f-82ee72b054a4
* c-c++-common/fcf-protection-1.c: New test. * c-c++-common/fcf-protection-2.c: Likewise. * c-c++-common/fcf-protection-3.c: Likewise. * c-c++-common/fcf-protection-4.c: Likewise. * c-c++-common/fcf-protection-5.c: Likewise. * c-c++-common/attr-nocf-check-1.c: Likewise. * c-c++-common/attr-nocf-check-2.c: Likewise. * c-c++-common/attr-nocf-check-3.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253949 138bc75d-0d04-0410-961f-82ee72b054a4
* include/c_global/cstddef: Define __cpp_lib_byte feature-test macro. * testsuite/18_support/byte/requirements.cc: Check macro. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253952 138bc75d-0d04-0410-961f-82ee72b054a4
https://gcc.gnu.org/ml/gcc-patches/2017-10/msg01376.html * class.c (layout_class_type): Cleanup as-base creation, determine mode here. (finish_struct_1): ... not here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253954 138bc75d-0d04-0410-961f-82ee72b054a4
Also fix 64-bit DWARF to read a 64-bit abbrev offset in the compilation unit. This is a backport of https://golang.org/cl/71171, which will be in the Go 1.10 release, to the gofrontend copy. Doing it now because AIX is pretty much the only system that uses 64-bit DWARF. Reviewed-on: https://go-review.googlesource.com/72250 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253955 138bc75d-0d04-0410-961f-82ee72b054a4
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.