- 30 Nov, 2016 15 commits
-
-
From-SVN: r243002
Martin Liska committed -
2016-11-30 Christophe Lyon <christophe.lyon@linaro.org> * testsuite/experimental/type_erased_allocator/2.cc: Add dg-require-thread-fence. From-SVN: r243001
Christophe Lyon committed -
The comment for the added case to simplify_truncation reads /* Turn (truncate:M1 (*_extract:M2 (reg:M2) (len) (pos))) into (*_extract:M1 (truncate:M1 (reg:M2)) (len) (pos')) if possible without changing len. */ but I forgot to check the two modes M2 are actually the same. PR rtl-optimization/78583 * simplify-rtx.c (simplify_truncation): Add check missing from the previous commit. From-SVN: r243000
Segher Boessenkool committed -
PR78590 shows a problem in change_zero_ext, where we change a zero_extend of a subreg to a logical and. We should only do this if the thing we are taking the subreg of is a scalar integer, otherwise we will take a subreg of (e.g.) a float in a different size, which is nonsensical and hits an assert. PR rtl-optimization/78590 * combine.c (change_zero_ext): Transform zero_extend of subregs only if the subreg_reg is a scalar integer mode. From-SVN: r242999
Segher Boessenkool committed -
PR tree-optimization/78586 * gimple-ssa-sprintf.c (format_integer): Use TYPE_MAX_VALUE or TYPE_MIN_VALUE or build_all_ones_cst instead of folding LSHIFT_EXPR. Don't build_int_cst min/max twice. Formatting fix. * gcc.c-torture/execute/pr78586.c: New test. From-SVN: r242998
Jakub Jelinek committed -
Fix PR78588 - rtlanal.c:5210:38: runtime error: shift exponent 4294967295 is too large for 64-bit type Building gcc with -fsanitize=undefined shows: rtlanal.c:5210:38: runtime error: shift exponent 4294967295 is too large for 64-bit type 'long unsigned int' This happens because if_then_else_cond() in combine.c calls num_sign_bit_copies() in rtlanal.c with mode==BLKmode. 5205 bitwidth = GET_MODE_PRECISION (mode); 5206 if (bitwidth > HOST_BITS_PER_WIDE_INT) 5207 return 1; 5208 5209 nonzero = nonzero_bits (x, mode); 5210 return nonzero & (HOST_WIDE_INT_1U << (bitwidth - 1)) 5211 ? 1 : bitwidth - floor_log2 (nonzero) - 1; This causes (bitwidth - 1) to wrap around. PR rtl-optimization/78588 * combine.c (if_then_else_cond): Also guard against BLKmode. * rtlanal.c (num_sign_bit_copies1): Add assert. From-SVN: r242997
Markus Trippelsdorf committed -
2016-11-30 Janus Weil <janus@gcc.gnu.org> PR fortran/78573 * decl.c (build_struct): On error, return directly and do not build class symbol. 2016-11-30 Janus Weil <janus@gcc.gnu.org> PR fortran/78573 * gfortran.dg/class_61.f90: New test case. From-SVN: r242996
Janus Weil committed -
* common/config/arc/arc-common.c (arc_handle_option): Remove unused variables. From-SVN: r242994
Jeff Law committed -
lra-constraints.c (check_and_process_move): Constrain the range of DCLASS and SCLASS to avoid false positive out of bounds... * lra-constraints.c (check_and_process_move): Constrain the range of DCLASS and SCLASS to avoid false positive out of bounds array index warning. From-SVN: r242993
Jeff Law committed -
With -buildmode=c-archive, initsig is called before the memory allocator has been initialized. The code was doing a memory allocation because of the call to funcPC(sigtramp). When escape analysis is fully implemented, that call should not allocate. For now, finesse the issue by calling a C function to get the C function pointer value of sigtramp. When returning from a call from C to a Go function, a deferred function is run to go back to syscall mode. When the call occurs on a non-Go thread, that call sets g to nil, making it impossible to add the _defer struct back to the pool. Just drop it and let the garbage collector clean it up. Reviewed-on: https://go-review.googlesource.com/33675 From-SVN: r242992
Ian Lance Taylor committed -
gcc/ChangeLog: * doc/install.texi (--with-target-bdw-gc): Remove stray '@'. From-SVN: r242991
David Malcolm committed -
The ICE in PR preprocessor/78569 appears to be due to an attempt to generate substring locations in a .i file where the underlying .c file has changed since the .i file was generated. This can't work, so it seems safest for the on-demand substring locations to be unavailable for such files, falling back to "whole string" locations for such cases. gcc/ChangeLog: PR preprocessor/78569 * input.c (get_substring_ranges_for_loc): Fail gracefully if line directives were present. gcc/testsuite/ChangeLog: PR preprocessor/78569 * gcc.dg/format/pr78569.c: New test case. From-SVN: r242990
David Malcolm committed -
From-SVN: r242988
GCC Administrator committed -
<toplevel> 2016-11-30 Matthias Klose <doko@ubuntu.com> * Makefile.def: Remove reference to boehm-gc target module. * configure.ac: Include pkg.m4, check for --with-target-bdw-gc options and for the bdw-gc pkg-config module. * configure: Regenerate. * Makefile.in: Regenerate. gcc/ 2016-11-30 Matthias Klose <doko@ubuntu.com> * doc/install.texi: Document configure options --enable-objc-gc and --with-target-bdw-gc. config/ 2016-11-30 Matthias Klose <doko@ubuntu.com> * pkg.m4: New file. libobjc/ 2016-11-30 Matthias Klose <doko@ubuntu.com> * configure.ac (--enable-objc-gc): Allow to configure with a system provided boehm-gc. * configure: Regenerate. * Makefile.in (OBJC_BOEHM_GC_LIBS): Get value from configure. * gc.c: Include system bdw-gc headers. * memory.c: Likewise * objects.c: Likewise boehm-gc/ 2016-11-30 Matthias Klose <doko@ubuntu.com> Remove From-SVN: r242985
Matthias Klose committed -
2016-11-29 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/78594 * config/rs6000/rs6000.md (mov<mode>_internal, QHI iterator): Add 'x' to stxsi<wd>x print pattern, so that QImode and HImode values residing in traditional altivec registers can be stored correctly. From-SVN: r242983
Michael Meissner committed
-
- 29 Nov, 2016 25 commits
-
-
2016-11-29 Max Filippov <jcmvbkbc@gmail.com> gcc/ * config/xtensa/xtensa.c (hwloop_optimize): Don't emit zero overhead loop start between a call and its CALL_ARG_LOCATION note. From-SVN: r242979
Max Filippov committed -
gcc/testsuite/ChangeLog: avoid false positives on ILP32 targets. * gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Same. From-SVN: r242977
Martin Sebor committed -
From-SVN: r242976
Waldemar Brodkorb committed -
gcc/ChangeLog: PR tree-optimization/78512 * config/linux.h (TARGET_PRINTF_POINTER_FORMAT): Remove. * config/rs6000/linux.h: Same. * config/rs6000/linux64.h: Same. * config/sol2.h: Same. * config/sol2.c (solaris_printf_pointer_format): Remove. * doc/tm.texi.in (TARGET_PRINTF_POINTER_FORMAT): Remove. * doc/tm.texi: Regenerate. * gimple-ssa-sprintf.c (format_pointer): Rempove. (pass_sprintf_length::compute_format_length): Return bool. (pass_sprintf_length::handle_gimple_call): Adjust. * target.def (printf_pointer_format): Remove. * targhooks.c (default_printf_pointer_format): Remove. (linux_printf_pointer_format): Same. * targhooks.h (default_printf_pointer_format): Remove. (linux_printf_pointer_format, solaris_printf_pointer_format): Same. gcc/testsuite/ChangeLog: PR tree-optimization/78512 * gcc.dg/tree-ssa/builtin-sprintf-6.c: Add test cases. * gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Remove test cases. From-SVN: r242975
Martin Sebor committed -
* config/i386/sse.md (UNSPEC_MASKOP): Move from i386.md. (mshift): Ditto. (SWI1248_AVX512BWDQ): Ditto. (SWI1248_AVX512BW): Ditto. (k<any_logic:code><mode>): Ditto. (kandn<mode>): Ditto. (kxnor<mode>): Ditto. (knot<mode>): Ditto. (*k<any_lshift:code><mode>): Ditto. (kortestzhi, kortestchi): Ditto. (kunpckhi, kunpcksi, kunpckdi): Ditto. testsuite/ChangeLog: * gcc.target/i386/avx512f-kmovw-1.c (avx512f_test): Force value through k register. From-SVN: r242971
Uros Bizjak committed -
2016-11-29 Andrew Pinski <apinski@cavium.com> * tree-vrp.c (simplify_stmt_using_ranges): Use boolean_type_node for the EQ_EXPR. From-SVN: r242970
Andrew Pinski committed -
re PR target/71331 (target-tilegx: nested-function-4.c: r10 is conflict which is both in function frame and in parameter.) PR target/71331 * config/tilegx/tilegx.c (tilegx_function_profiler): Save r10 to stack before call mcount. (tilegx_can_use_return_insn_p): Clean up code. From-SVN: r242969
Chen Gang committed -
PR libstdc++/68838 * testsuite/lib/libstdc++.exp (DEFAULT_CXXFLAGS): Add -Wl,-bmaxdata on AIX. * testsuite/23_containers/vector/profile/vector.cc: Remove dg-additional-options. From-SVN: r242967
David Edelsohn committed -
* config/avr/avr-arch.h (avr_mcu_t): Add flash_size member. * config/avr/avr-devices.c(avr_mcu_types): Add flash size info. * config/avr/avr-mcu.def: Likewise. * config/avr/gen-avr-mmcu-specs.c (print_mcu): Remove hard-coded prefix check to find wrap-around value, instead use MCU flash size. For 8k flash devices, update link_pmem_wrap spec string to add --pmem-wrap-around=8k. * config/avr/specs.h: Remove link_pmem_wrap from LINK_RELAX_SPEC and add to linker specs (LINK_SPEC) directly. From-SVN: r242966
Pitchumani Sivanupandi committed -
gcc/cp/ChangeLog: PR c++/77922 * name-lookup.c (lookup_name_fuzzy): Filter out reserved words that were filtered out by init_reswords. gcc/ChangeLog: PR c++/72774 PR c++/72786 PR c++/77922 PR c++/78313 * spellcheck.c (selftest::test_find_closest_string): Verify that we don't offer the goal string as a suggestion. * spellcheck.h (best_match::get_best_meaningful_candidate): Don't offer the goal string as a suggestion. gcc/testsuite/ChangeLog: PR c++/72774 PR c++/72786 PR c++/77922 PR c++/78313 * g++.dg/spellcheck-c++-11-keyword.C: New test case. * g++.dg/spellcheck-macro-ordering.C: New test case. * g++.dg/spellcheck-pr78313.C: New test case. From-SVN: r242965
David Malcolm committed -
From-SVN: r242963
Nathan Sidwell committed -
* gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h (AARCH64_ONLY, CHECK_CRYPTO): New macros. (Poly64x1_t, Poly64x2_t): Added types. * gcc.target/aarch64/advsimd-intrinsics/p64_p128.c (vmov_n_p64, vmovq_n_p64): Added. (vld2_lane_p64, vld2q_lane_p64): Likewise. (vld3_lane_p64, vld3q_lane_p64): Likewise. (vld4_lane_p64, vld4q_lane_p64): Likewise. (vst2_lane_p64, vst2q_lane_p64): Likewise. (vst3_lane_p64, vst3q_lane_p64): Likewise. (vst4_lane_p64, vst4q_lane_p64): Likewise. (vget_lane_p64, vgetq_lane_p64): Likewise. (vget_high_p64): Likewise. * gcc.target/aarch64/advsimd-intrinsics/vreinterpret_p128.c: Added AArch64 flags. (vreint_vector, vreint_vector_res): Moved to header. * gcc.target/aarch64/advsimd-intrinsics/vreinterpret_p64.c: Added Aarch64 flags. (vreint_vector, vreint_vector_res): Moved to header. From-SVN: r242962
Tamar Christina committed -
gcc/ 2016-11-29 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.c (arc_override_options): Avoid selection of compact casesi for ARCv2. From-SVN: r242961
Claudiu Zissulescu committed -
2016-11-29 Tobias Burnus <burnus@net-b.de> PR fortran/58175 * resolve.c (gfc_resolve_finalizers): Properly detect scalar finalizers. 2016-11-29 Janus Weil <janus@gcc.gnu.org> PR fortran/58175 * gfortran.dg/finalize_30.f90: New test case. From-SVN: r242960
Janus Weil committed -
2016-11-29 Richard Biener <rguenther@suse.de> * tree-cfg.c (lower_phi_internal_fn): Do not look for further PHIs after a regular stmt. (stmt_starts_bb_p): PHIs not preceeded by a PHI or a label start a new BB. From-SVN: r242959
Richard Biener committed -
PR gcov-profile/78582 * gcc.dg/pr78582.c: New test. PR gcov-profile/78582 * tree-profile.c (gimple_gen_time_profiler): Make one extra BB to prevent PHI argument clash. From-SVN: r242958
Martin Liska committed -
The fix is now upstream. * LOCAL_PATCHES: Remove r242480. From-SVN: r242957
Markus Trippelsdorf committed -
gcc/ 2016-11-29 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.opt (marclinux): Fix typo. (marclinux_prof): Likewise. From-SVN: r242956
Claudiu Zissulescu committed -
gcc/ * target.def (stack_protect_runtime_enabled_p): New. * function.c (expand_function_end): Guard stack_protect_epilogue with targetm.stack_protect_runtime_enabled_p. * cfgexpand.c (pass_expand::execute): Likewise. * calls.c (expand_call): Likewise. * doc/tm.texi.in (TARGET_STACK_PROTECT_RUNTIME_ENABLED_P): Add it. * doc/tm.texi: Regenerate. From-SVN: r242955
Jiong Wang committed -
The dump expects literals which would only be present if the target's int size is 32 bits. Fix by explicitly using 32 bit ints for targets with __SIZEOF_INT__ < 4. gcc/testsuite/ 2016-11-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> * testsuite/gcc.dg/pr31096-1.c: Use __{U,}INT32_TYPE__ for targets with sizeof(int) < 4. From-SVN: r242954
Senthil Kumar Selvaraj committed -
2016-11-29 Richard Biener <rguenther@suse.de> PR middle-end/78546 * match.pd: Add CST1 - (CST2 - A) -> CST3 + A missing case. * gcc.dg/tree-ssa/forwprop-36.c: New testcase. From-SVN: r242953
Richard Biener committed -
2016-11-29 Janus Weil <janus@gcc.gnu.org> * doc/contrib.texi: Add a few missing gfortran contributors. From-SVN: r242952
Janus Weil committed -
These testcases test that we generate the expected code for all of the rl*i* instructions, that is, rotate-and-mask and rotate-and-mask-insert for immediate rotation counts. All the testcases do rotate, shift left, as well as shift right; if that results in an instruction that does not exist the testcases generate a multiplication instead, so that we can detect if this is handled properly. Many 32-bit instructions zero-extend their result properly in 64-bit mode, but the rs6000 port does not yet know. These testcases test the status quo, so they will need updating when ever we handle this. gcc/testsuite/ * gcc.target/powerpc/rldic-0.c: New testcase. * gcc.target/powerpc/rldic-1.c: New testcase. * gcc.target/powerpc/rldic-2.c: New testcase. * gcc.target/powerpc/rldicl-0.c: New testcase. * gcc.target/powerpc/rldicl-1.c: New testcase. * gcc.target/powerpc/rldicl-2.c: New testcase. * gcc.target/powerpc/rldicr-0.c: New testcase. * gcc.target/powerpc/rldicr-1.c: New testcase. * gcc.target/powerpc/rldicr-2.c: New testcase. * gcc.target/powerpc/rldicx.h: New file. * gcc.target/powerpc/rldimi-0.c: New testcase. * gcc.target/powerpc/rldimi-1.c: New testcase. * gcc.target/powerpc/rldimi-2.c: New testcase. * gcc.target/powerpc/rldimi.h: New file. * gcc.target/powerpc/rlwimi-0.c: New testcase. * gcc.target/powerpc/rlwimi-1.c: New testcase. * gcc.target/powerpc/rlwimi-2.c: New testcase. * gcc.target/powerpc/rlwimi.h: New file. * gcc.target/powerpc/rlwinm-0.c: New testcase. * gcc.target/powerpc/rlwinm-1.c: New testcase. * gcc.target/powerpc/rlwinm-2.c: New testcase. * gcc.target/powerpc/rlwinm.h: New file. From-SVN: r242951
Segher Boessenkool committed -
change_zero_ext handles (zero_extend:M1 (subreg:M2 (reg:M1) ...)) already; this patch extends it to also deal with any (zero_extend:M1 (subreg:M2 (reg:M3) ...)) where the subreg is not paradoxical. * combine.c (change_zero_ext): Also handle extends from a subreg to a mode bigger than that of the operand of the subreg. From-SVN: r242950
Segher Boessenkool committed -
If we use ABI_V4 and we have a big stack frame, we end the epilogue with a "mr 1,11" (or similar) instruction. This instruction however has no dependencies on the earlier restores from stack (done via r11), so sched2 can end up reordering the insns, which is bad because we have no red zone so that you then restore from stack that is already deallocated. This fixes it by making that restore depend on the memory accesses. PR target/77687 * config/rs6000/rs6000.c (rs6000_emit_stack_reset): Emit the stack_restore_tie insn instead of stack_tie, for the SVR4 and SPE ABIs. * config/rs6000/rs6000.md (stack_restore_tie): New define_insn. From-SVN: r242949
Segher Boessenkool committed
-