- 15 Sep, 2015 22 commits
-
-
re PR tree-optimization/67470 (ICE at -O3 on x86_64-linux-gnu in compute_live_loop_exits, at tree-ssa-loop-manip.c:235) 2015-09-15 Richard Biener <rguenther@suse.de> PR tree-optimization/67470 * tree-ssa-loop-im.c (execute_sm_if_changed): Preserve PHI structure for PHI hoisting by inserting a forwarder block if appropriate. * gcc.dg/torture/pr67470.c: New testcase. From-SVN: r227797
Richard Biener committed -
2015-09-15 Christian Bruel <christian.bruel@st.com> * config/arm/arm.c (TARGET_OPTION_PRINT): Define. (arm_option_print): New function. From-SVN: r227796
Christian Bruel committed -
re PR target/52144 (ARM should support arm/thumb function attribute to permit different instruction sets in the same source) 2015-09-15 Christian Bruel <christian.bruel@st.com> PR target/52144 * config/arm/arm.c (arm_option_params_internal): Remove opts parameter. * config/arm/arm-c.c (arm_cpu_builtins): Declare static. Remove flags parameter. * config/arm/arm.h (TARGET_32BIT_P, TARGET_ARM_QBIT_P) (TARGET_ARM_SAT_P, TARGET_IDIV_P, TARGET_HAVE_LDREX_P) (TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P, TARGET_DSP_MULTIPLY_P) (TARGET_ARM_FEATURE_LDREX_P, TARGET_INT_SIMD_P): Redefine macros with... (TARGET_ARM_SAT, TARGET_IDIV, TARGET_HAVE_LDREX) (TARGET_HAVE_LDREXBH, TARGET_HAVE_LDREXD, TARGET_ARM_FEATURE_LDREX) (TARGET_DSP_MULTIPLY, TARGET_INT_SIMD): Redefined macros. * gcc/config/arm/arm-protos.h (arm_cpu_builtins): Remove declaration. From-SVN: r227795
Christian Bruel committed -
gcc/: * config/aarch64/aarch64.h (AARCH64_VALID_SIMD_DREG_MODE): New. * config/aarch64/aarch64.c (aarch64_array_mode_supported_p): Add AARCH64_VALID_SIMD_DREG_MODE. gcc/testsuite/: * gcc.target/aarch64/vect_int32x2x4_1.c: New. From-SVN: r227794
Alan Lawrence committed -
* config/aarch64/aarch64-simd.md (aarch64_ld2r<mode>, aarch64_ld3r<mode>, aarch64_ld4r<mode>): Combine together, making... (aarch64_simd_ld<VSTRUCT:nregs>r<VALLDIF:mode>): ...this. (aarch64_ld2_lane<mode>, aarch64_ld3_lane<mode>, aarch64_ld4_lane<mode>): Combine together, making... (aarch64_ld<VSTRUCT:nregs>_lane<VALLDIF:mode>): ...this. (aarch64_st2_lane<mode>, aarch64_st3_lane<mode>, aarch64_st4_lane<mode>): Combine together, making... (aarch64_st<VSTRUCT:nregs>_lane<VALLDIF:mode>): ...this. * config/aarch64/iterators.md (nregs): Add comment. From-SVN: r227793
Alan Lawrence committed -
* c-decl.c (lookup_label): Return NULL_TREE instead of 0. (lookup_tag): Change the type of THISLEVEL_ONLY to bool. Return NULL_TREE instead of 0. (lookup_name): Return NULL_TREE instead of 0. (lookup_name_in_scope): Likewise. (shadow_tag_warned): Use true instead of 1 and NULL_TREE instead of 0. (parser_xref_tag): Use false instead of 0. (start_struct): Use true instead of 1. (start_enum): Use true instead of 1 and NULL_TREE instead of 0. From-SVN: r227791
Marek Polacek committed -
* config/aarch64/aarch64-simd.md (aarch64_simd_ld2r<mode>): Change operand mode from <V_TWO_ELEM> to BLK. (aarch64_vec_load_lanesoi_lane<mode>): Likewise. (aarch64_vec_store_lanesoi_lane<mode): Likewise (aarch64_ld2r<mode>): Generate MEM rtx with BLKmode, call set_mem_size. (aarch64_ld2_lane<mode>): Likewise. (aarch64_st2_lane<VQ:mode>): Likewise. * config/aarch64/iterators.md (V_TWO_ELEM): Remove. From-SVN: r227790
Alan Lawrence committed -
* config/aarch64/aarch64-simd.md (aarch64_simd_ld4r<mode>): Change operand mode from <V_FOUR_ELEM> to BLK. (aarch64_vec_load_lanesxi_lane<mode>): Likewise. (aarch64_vec_store_lanesxi_lane<mode): Likewise. (aarch64_ld4r<mode>): Generate MEM rtx with BLKmode, call set_mem_size. (aarch64_ld4_lane<mode>): Likewise. (aarch64_st4_lane<mode>): Likewise. * config/aarch64/iterators.md (V_FOUR_ELEM): Remove. From-SVN: r227789
Alan Lawrence committed -
2015-09-15 Richard Biener <rguenther@suse.de> PR middle-end/67563 * gimple-fold.c (gimplify_and_update_call_from_tree): Do not transfer EH info from old to new stmt. (replace_call_with_value): Likewise. (replace_call_with_call_and_fold): Likewise. (gimple_fold_builtin_memory_op): Likewise. (gimple_fold_builtin_memset): Likewise. (gimple_fold_builtin_stpcpy): Likewise. (gimple_fold_call): Likewise. * gcc.dg/pr67563.c: New testcase. From-SVN: r227788
Richard Biener committed -
* config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist): Update comment. * config/aarch64/aarch64-builtins.c (ei_UP): Remove. (aarch64_simd_intEI_type_node): Likewise. (aarch64_simd_builtin_std_type): Remove EImode case. (aarch64_init_simd_builtin_types): Don't create/add intEI_type_node. * config/aarch64/aarch64-modes.def: Remove EImode. From-SVN: r227787
Alan Lawrence committed -
This restores https://golang.org/cl/6081043 which was lost accidentally when updating a new version of libgo in https://golang.org/cl/22440043 . Reviewed-on: https://go-review.googlesource.com/14569 From-SVN: r227784
Ian Lance Taylor committed -
* config/aarch64/aarch64-simd.md (aarch64_simd_ld3r<mode>): Change operand mode from <V_THREE_ELEM> to BLK. (aarch64_vec_load_lanesci_lane<mode>): Likewise. (aarch64_vec_store_lanesci_lane<mode>): Likewise. (aarch64_ld3r<mode>): Generate MEM rtx with BLKmode, call set_mem_size. (aarch64_ld3_lane<mode>): Likewise. (aarch64_st3_lane<mode>): Likewise. * config/aarch64/iterators.md (V_THREE_ELEM): Remove. From-SVN: r227783
Alan Lawrence committed -
* config/aarch64/aarch64-simd.md (aarch64_ld2<mode>_dreg VD & DX, aarch64_st2<mode>_dreg VD & DX ): Change all TImode operands to BLKmode. (aarch64_ld3<mode>_dreg VD & DX, aarch64_st3<mode>_dreg VD & DX): Change all EImode operands to BLKmode. (aarch64_ld4<mode>_dreg VD & DX, aarch64_st4<mode>_dreg VD & DX): Change all OImode operands to BLKmode. (aarch64_ld<VSTRUCT:nregs><VDC:mode>): Generate MEM rtx with BLKmode and call set_mem_size. (aarch64_st<VSTRUCT:nregs><VDC:mode>): Likewise * config/aarch64/iterators.md (VSTRUCT_DREG): Remove. From-SVN: r227782
Alan Lawrence committed -
* config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): Rename to... (aarch64_vec_store_lanesoi_lane<mode>): ...this. (vec_store_lanesci_lane<mode>): Rename to... (aarch64_vec_store_lanesci_lane<mode>): ...this. (vec_store_lanesxi_lane<mode>): Rename to... (aarch64_vec_store_lanesxi_lane<mode>): ...this. (aarch64_st2_lane<mode>, aarch64_st3_lane<mode>, aarch64_st4_lane<mode>): Follow renaming. From-SVN: r227781
Alan Lawrence committed -
gcc/ChangeLog: 2015-09-15 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * config/s390/s390.c (s390_const_operand_ok): Add missing brackets. From-SVN: r227780
Andreas Krebbel committed -
re PR lto/67568 (lto-streamer-in.c sanitizer runtime error: load of value 255, which is not a valid value for type 'bool') 2015-09-15 Richard Biener <rguenther@suse.de> PR lto/67568 * lto-streamer.h (lto_location_cache::current_sysp): Properly initialize. * lto-streamer-out.c (clear_line_info): Likewise. From-SVN: r227779
Richard Biener committed -
2015-09-15 Richard Biener <rguenther@suse.de> * doc/match-and-simplify.texi: Fix wording. From-SVN: r227778
Richard Biener committed -
This avoids linker warnings when linking against glibc, as apparently arm64 GNU/Linux does not support the ustat system call. Also update to automake 1.11.6, as that is the new GCC standard. Reviewed-on: https://go-review.googlesource.com/14567 From-SVN: r227777
Ian Lance Taylor committed -
* tree-ssa-loop-ivopts.c (get_shiftadd_cost): Strip unnecessary type conversion in op1. From-SVN: r227776
Bin Cheng committed -
This patch rewrites the shrink-wrapping algorithm, allowing non-linear pieces of CFG to be duplicated for use without prologue instead of just linear pieces. * shrink-wrap.c (requires_stack_frame_p): Fix formatting. (dup_block_and_redirect): Delete function. (can_dup_for_shrink_wrapping): New function. (fix_fake_fallthrough_edge): New function. (try_shrink_wrapping): Rewrite function. (convert_to_simple_return): Call fix_fake_fallthrough_edge. From-SVN: r227775
Segher Boessenkool committed -
* configure.ac: [SH] Fix target pattern for TLS support test so to enable more arches. From-SVN: r227774
Rich Felker committed -
From-SVN: r227773
GCC Administrator committed
-
- 14 Sep, 2015 18 commits
-
-
PR tree-optimization/47679 * tree-ssa-dom.c (avail_expr_hash): Pass a pointer to a real type rather than void *. From-SVN: r227762
Jeff Law committed -
PR c++/44282 * mangle.c (write_CV_qualifiers_for_type): Also warn about regparm mangling with lower -fabi-version. From-SVN: r227761
Jason Merrill committed -
The flag diagnostic_context::some_warnings_are_errors controls whether to give the message "all warnings being treated as errors". However, when warnings are buffered and then discarded, this flag is not reset. It turns out we do not need this flag at all, since we already count explicitly how many warnings were converted into errors, and this number is kept up to date for the buffered diagnostics used by Fortran. gcc/ChangeLog: 2015-09-14 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/67460 * diagnostic.c (diagnostic_initialize): Do not set some_warnings_are_errors. (diagnostic_finish): Use DK_WERROR count instead. (diagnostic_report_diagnostic): Do not set some_warnings_are_errors. * diagnostic.h (struct diagnostic_context): Remove some_warnings_are_errors. gcc/testsuite/ChangeLog: 2015-09-14 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/67460 * gfortran.dg/pr67460.f90: New test. From-SVN: r227760
Manuel López-Ibáñez committed -
When evaluating a constant expression, the gofrontend would incorrectly force each operand to be represented as the resulting type before checking if the operation was valid with the untyped constants. According to the language specification on constant expressions(http://golang.org/ref/spec#Constant_expressions): "Untyped boolean, numeric, and string constants may be used as operands wherever it is legal to use an operand of boolean, numeric, or string type, respectively." Fixes golang/go#11566. Reviewed-on: https://go-review.googlesource.com/12716 From-SVN: r227758
Ian Lance Taylor committed -
gen_rtx_CONST_VECTOR ensures that there is a single instance of: (const_vector:M [(const_int -1) ... (const_int -1)]) for each M, so pointer equality with CONSTM1_RTX is enough. Also, HOST_BITS_PER_WIDE_INT == 32 is doubly dead: HOST_WIDE_INT is always 64 bits now, and we always use const_int rather than const_double or const_wide_int for all-ones values (or any other value that fits in a signed HOST_WIDE_INT). gcc/ * config/sparc/predicates.md (const_all_ones_operand): Use CONSTM1_RTX to simplify definition. From-SVN: r227757
Richard Sandiford committed -
* ChangeLog: Fix shitespace. * testsuite/ChangeLog: Ditto. From-SVN: r227756
Uros Bizjak committed -
* gcc.dg/gomp/dump-new-function-3.c (dg-final): Also scan for $loopfn. * gcc.dg/gomp/notify-new-function-3.c (dg-final): Ditto. From-SVN: r227755
Uros Bizjak committed -
/cp 2015-09-14 Paolo Carlini <paolo.carlini@oracle.com> PR c++/51911 * parser.c (cp_parser_new_expression): Enforce 5.3.4/2 (as amended per the spirit of DR 1467). /testsuite 2015-09-14 Paolo Carlini <paolo.carlini@oracle.com> PR c++/51911 * g++.dg/cpp0x/new-auto1.C: New. From-SVN: r227753
Paolo Carlini committed -
re PR target/67061 (sh64-elf: internal compiler error: in sh_find_set_of_reg, at config/sh/sh-protos.h:235) gcc/ PR target/67061 * config/sh/sh-protos.h (sh_find_set_of_reg): Simplfiy for-loop. Handle call insns. From-SVN: r227750
Oleg Endo committed -
2015-09-14 Chung-Lin Tang <cltang@codesourcery.com> * lto-wrapper.c (merge_and_complain): Add OPT_fdiagnostics_show_caret, OPT_fdiagnostics_show_option, OPT_fdiagnostics_show_location_, and OPT_fshow_column to handled saved option cases. (append_compiler_options): Do not skip the above added options. From-SVN: r227749
Chung-Lin Tang committed -
This patch fixes the issue in PR63304 where we have functions that are > 1MiB. The idea is to use adrp / ldr or adrp / add instructions to address the literal pools under the use of a command line option. I would like to turn this on by default on trunk but keep this disabled by default for the release branches in order to get some serious testing for this feature while it bakes on trunk. As a follow-up I would like to try and see if estimate_num_insns or something else can give us a heuristic to turn this on for "large" functions. After all the number of incidences of this are quite low in real life, so may be we should look to restrict this use as much as possible on the grounds that this code generation implies an extra integer register for addressing for every floating point and vector constant and I don't think that's great in code that already may have high register pressure. Tested on aarch64-none-elf with no regressions. A previous version was bootstrapped and regression tested. Applied to trunk. regards Ramana 2015-09-14 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> PR target/63304 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Handle nopcrelative_literal_loads. (aarch64_classify_address): Likewise. (aarch64_constant_pool_reload_icode): Define. (aarch64_secondary_reload): Handle secondary reloads for literal pools. (aarch64_override_options): Handle nopcrelative_literal_loads. (aarch64_classify_symbol): Handle nopcrelative_literal_loads. * config/aarch64/aarch64.md (aarch64_reload_movcp<GPF_TF:mode><P:mode>): Define. (aarch64_reload_movcp<VALL:mode><P:mode>): Likewise. * config/aarch64/aarch64.opt (mpc-relative-literal-loads): New option. * config/aarch64/predicates.md (aarch64_constant_pool_symref): New predicate. * doc/invoke.texi (mpc-relative-literal-loads): Document. From-SVN: r227748
Ramana Radhakrishnan committed -
re PR middle-end/67401 (Incorrect expand of __atomic_compare_exchange_8 using __sync_val_compare_and_swap_8) PR middle-end/67401 * optabs.c (expand_atomic_compare_and_swap): Move result of emitting sync_compare_and_swap_optab libcall to target_oval. From-SVN: r227746
John David Anglin committed -
* c-opts.c (c_common_post_options): Set C++ standard earlier, before setting various warnings. From-SVN: r227744
Marek Polacek committed -
* c-common.c (warn_for_sign_compare): Cast to unsigned when shifting a negative value. * c-typeck.c (set_nonincremental_init_from_string): Use HOST_WIDE_INT_M1U when shifting a negative value. * rtlanal.c (split_double): Cast to unsigned when shifting a negative value. * sched-int.h (UNKNOWN_DEP_COST): Likewise. From-SVN: r227743
Marek Polacek committed -
12 years ago it was decided that -Wunused-variable shouldn't warn about static const variables because some code used const static char rcsid[] strings which were never used but wanted in the code anyway. But as the bug points out this hides some real bugs. These days the usage of rcsids is not very popular anymore. So this patch changes the default to warn about unused static const variables in C with -Wunused-variable. And it adds a new option -Wno-unused-const-variable to turn this warning off. For C++ this new warning is off by default, since const variables can be used as #defines in C++. New testcases for the new defaults in C and C++ are included testing the new warning and suppressing it with an unused attribute or using -Wno-unused-const-variable. gcc/ChangeLog PR c/28901 * toplev.c (check_global_declaration): Check and use warn_unused_const_variable. * doc/invoke.texi (Warning Options): Add -Wunused-const-variable. (-Wunused-variable): Remove non-constant. For C implies -Wunused-const-variable. (-Wunused-const-variable): New. gcc/c-family/ChangeLog PR c/28901 * c.opt (Wunused-variable): Option from common.opt. (Wunused-const-variable): New option. gcc/cp/ChangeLog PR c/28901 * cp-objcp-common.c (cxx_warn_unused_global_decl): Remove hard-coded VAR_P TREE_READONLY override. gcc/testsuite/ChangeLog PR c/28901 * g++.dg/warn/unused-variable-1.C: New test. * g++.dg/warn/unused-variable-2.C: Likewise. * gcc.dg/unused-4.c: Adjust warning for static const. * gcc.dg/unused-variable-1.c: New test. * gcc.dg/unused-variable-2.c: Likewise. From-SVN: r227742
Mark Wielaard committed -
2015-09-14 Richard Biener <rguenther@suse.de> * doc/match-and-simplify.texi: Update for changed syntax of inner ifs and the new switch expression. From-SVN: r227741
Richard Biener committed -
* config/i386/haswell.md: New file describing Haswell pipeline. * config/i386/i386.c (processor_alias_table): Use CPU_HASWELL for haswell-like processors. (ix86_reassociation_width): Increase reassociation width for 64-bit Haswell processor family. * config/i386/i386.md: Introduce haswell cpu and include new md file. From-SVN: r227740
Yuri Rumyantsev committed -
2015-09-14 Richard Biener <rguenther@suse.de> * doc/match-and-simplify.texi: Fixup some formatting issues and document the 's' flag. From-SVN: r227739
Richard Biener committed
-