133031 Commits

Author SHA1 Message Date
Ilya Tocar
cd91371c5f re PR target/62120 ([ICE] ADDITIONAL_REGISTER_NAMES for [YZ]MMs, regno>8 should be disable in 32-bit)
Fix PR 62120.

gcc/
2014-09-30  Ilya Tocar  <ilya.tocar@intel.com>

       PR middle-end/62120
       * varasm.c (decode_reg_name_and_count): Check availability for
       registers from ADDITIONAL_REGISTER_NAMES.

testsuite/
2014-09-30  Ilya Tocar  <ilya.tocar@intel.com>

       PR middle-end/62120
       * gcc.target/i386/avx512f-additional-reg-names.c: Use register valid
       in 32-bit mode.
       * gcc.target/i386/pr62120.c: New.

From-SVN: r215729
2014-09-30 20:04:15 +04:00
David Malcolm
b355f52ed1 PR plugins/63410: Fix missing headers for plugins
gcc/
	PR plugins/63410
	* Makefile.in (PRETTY_PRINT_H): Add wide-int-print.h.
	(PLUGIN_HEADERS): Add pass-instances.def.

From-SVN: r215727
2014-09-30 15:41:11 +00:00
Siva Chandra Reddy
b073d15fe5 hook.in: Only import libstdcxx.v6.
2014-09-30  Siva Chandra Reddy  <sivachandra@google.com>

	* python/hook.in: Only import libstdcxx.v6.
	* python/libstdcxx/v6/__init__.py: Load printers and xmethods.

From-SVN: r215726
2014-09-30 16:33:27 +01:00
James Greenhalgh
f6a55c069e Fix ChangeLog entry for r215715 (Take 2).
There should be two spaces between the name and email address.

From-SVN: r215724
2014-09-30 14:07:17 +00:00
James Greenhalgh
c080c5a86e Fix ChangeLog entry for r215715.
ChangeLog dates should be YYYY-MM-DD.

From-SVN: r215723
2014-09-30 13:59:57 +00:00
James Greenhalgh
2ef16e3e4f [AArch64] Wire up vqdmullh_laneq_s16 and vqdmullh_laneq_s32
gcc/

	* config/aarch64/aarch64-simd-builtins.def (sqdmull_laneq): Expand
	iterator.
	* config/aarch64/aarch64-simd.md
	(aarch64_sqdmull_laneq<mode>): Expand iterator.
	* config/aarch64/arm_neon.h (vqdmullh_laneq_s16): New.
	(vqdmulls_lane_s32): Fix return type.
	(vqdmulls_laneq_s32): New.

gcc/testsuite/

	* gcc.target/aarch64/simd/vqdmullh_laneq_s16.c: New.
	* gcc.target/aarch64/simd/vqdmulls_laneq_s32.c: Likewise.
	* gcc.target/aarch64/simd/vqdmulls_lane_s32.c: Fix return type.
	* gcc.target/aarch64/scalar_intrinsics.c (test_vqdmulls_s32):  Fix
	return type.

From-SVN: r215722
2014-09-30 13:58:25 +00:00
Dominique d'Humieres
c95e85637d coarray_collectives_9.f90: Fix some dg-error.
2014-30-09  Dominique d'Humieres <dominiq@lps.ens.fr>

	* gfortran.dg/coarray_collectives_9.f90: Fix some dg-error.

From-SVN: r215715
2014-09-30 12:55:20 +02:00
Jakub Jelinek
b58fd59ad5 re PR inline-asm/63282 (ICE in redirect_jump_1)
PR inline-asm/63282
	* ifcvt.c (dead_or_predicable): Don't call redirect_jump_1
	or invert_jump_1 if jump isn't any_condjump_p.

	* gcc.c-torture/compile/pr63282.c: New test.

From-SVN: r215712
2014-09-30 12:30:45 +02:00
Terry Guo
2f6403f133 arm-cores.def (cortex-m7): New core name.
2014-09-30  Terry Guo  <terry.guo@arm.com>

	* config/arm/arm-cores.def (cortex-m7): New core name.
	* config/arm/arm-fpus.def (fpv5-sp-d16): New fpu name.
	(fpv5-d16): Ditto.
	* config/arm/arm-tables.opt: Regenerated.
	* config/arm/arm-tune.md: Regenerated.
	* config/arm/arm.h (TARGET_VFP5): New macro.
	* config/arm/bpabi.h (BE8_LINK_SPEC): Include cortex-m7.
	* config/arm/vfp.md (<vrint_pattern><SDF:mode>2,
	smax<mode>3, smin<mode>3): Enabled for FPU FPv5.
	* doc/invoke.texi: Document new cpu and fpu names.

From-SVN: r215711
2014-09-30 10:02:39 +00:00
Jonathan Wakely
24f21354f8 status_cxx2011.xml: Update.
* doc/xml/manual/status_cxx2011.xml: Update.
	* doc/html/manual/status.html: Regenerate.

From-SVN: r215710
2014-09-30 10:24:53 +01:00
Jiong Wang
2cfc4ade7a Should not sink instructions which may cause trap
2014-09-30  Jiong Wang  <jiong.wang@arm.com>

  gcc/
    * shrink-wrap.c (move_insn_for_shrink_wrap): Check "can_throw_internal"
    before sinking insn.

From-SVN: r215709
2014-09-30 08:44:14 +00:00
David Sherwood
d1bb282efb ira-int.h (ira_allocno): Add "wmode" field.
gcc/
2014-09-26  David Sherwood  <david.sherwood@arm.com>

	* ira-int.h (ira_allocno): Add "wmode" field.
	* ira-build.c (create_insn_allocnos): Add new "parent" function
	parameter.
	* ira-conflicts.c (ira_build_conflicts): Add conflicts for registers
	that cannot be accessed in wmode.

From-SVN: r215707
2014-09-30 08:04:32 +00:00
Markus Trippelsdorf
4176084b61 Fix signed integer overflow in data-streamer.c
Running the testsuite with a -fsanitize=undefined instrumented compiler
shows:
 % gcc -O2 -flto -fno-use-linker-plugin -flto-partition=none testsuite/gcc.dg/torture/pr28045.c
gcc/data-streamer.c:113:45: runtime error: negation of -9223372036854775808 cannot be represented in type 'long int'; cast to an unsigned type to negate this value to itself

The fix is obvious.

From-SVN: r215706
2014-09-30 07:07:55 +00:00
Andi Kleen
ff5101bf0d Make -Q --help print param defaults and min/max values
Make -Q --help print the --param default, min, max values, similar
to how it does print the defaults for other flags. This is useful
to let a option auto tuner automatically query all needed information
abourt gcc params (previously it needed to access the .def file in
the source)

gcc/:

2014-09-29  Andi Kleen  <ak@linux.intel.com>

	* opts.c (print_filtered_help): Print --param min/max/default
	with -Q.

From-SVN: r215704
2014-09-30 04:10:12 +00:00
GCC Administrator
b3b1547f19 Daily bump.
From-SVN: r215702
2014-09-30 00:16:56 +00:00
Ian Lance Taylor
a819231d57 libgo/configure: Use -Qunused-arguments for asm tests if supported.
This supports clang, which by default issues warnings about
unused command line arguments, a habit that interacts poorly
with configure scripts.

From-SVN: r215699
2014-09-29 23:37:27 +00:00
Kaz Kojima
150dfa34a3 sh.md: Use define_c_enum for "unspec" and "unspecv".
* config/sh/sh.md: Use define_c_enum for "unspec" and "unspecv".

From-SVN: r215698
2014-09-29 23:13:32 +00:00
Eric Botcazou
e76340be8f tree-vrp.c (get_single_symbol): New function.
* tree-vrp.c (get_single_symbol): New function.
	(build_symbolic_expr): Likewise.
	(symbolic_range_based_on_p): New predicate.
	(extract_range_from_binary_expr_1): Deal with single-symbolic ranges
	for PLUS and MINUS.  Do not drop symbolic ranges at the end.
	(extract_range_from_binary_expr): Try harder for PLUS and MINUS if
	operand is symbolic and based on the other operand.

From-SVN: r215697
2014-09-29 23:01:17 +00:00
Andreas Schwab
ff5fdf6746 baseline_symbols.txt: New file.
* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: New
file.

From-SVN: r215696
2014-09-29 22:35:22 +00:00
Andreas Schwab
2529c937df configure.host (abi_baseline_pair): If try_cpu is generic use host_cpu for the default.
* configure.host (abi_baseline_pair): If try_cpu is generic use
host_cpu for the default.

From-SVN: r215695
2014-09-29 22:33:41 +00:00
François Dumont
ebd4c354b3 re PR libstdc++/62313 (Data race in debug iterators)
2014-09-29  François Dumont  <fdumont@gcc.gnu.org>

	PR libstdc++/62313
	* include/debug/safe_base.h
	(_Safe_iterator_base(const _Safe_iterator_base&)): Delete declaration.
	(_Safe_iterator_base& operator=(const _Safe_iterator_base&)): Likewise.
	* include/debug/safe_iterator.h (_Safe_iterator<>): Move normal iterator
	before _Safe_iterator_base in memory. Lock before modifying the iterator
	in numerous places.
	* include/debug/safe_local_iterator.h
	(_Safe_local_iterator_base(const _Safe_local_iterator_base&)): Delete
	declaration.
	(_Safe_local_iterator_base& operator=(const _Safe_local_iterator_base&)):
	Likewise.
	* include/debug/safe_unordered_base.h (_Safe_local_iterator<>):  Move
	normal iterator before _Safe_iterator_base in memory. Lock before
	modifying the iterator in numerous places.
	* include/debug/forward_list (_Safe_forward_list<>::_M_swap_aux): Adapt.
	* include/debug/safe_sequence.tcc
	(_Safe_sequence<>::_M_transfer_from_if): Adapt.

From-SVN: r215693
2014-09-29 21:22:17 +00:00
François Dumont
a3052d316c MAINTAINERS: Add myself as libstdc++ special modes maintainer.
2014-09-29  François Dumont  <fdumont@gcc.gnu.org>

	* MAINTAINERS:  Add myself as libstdc++ special modes maintainer.

From-SVN: r215692
2014-09-29 19:50:16 +00:00
Bill Schmidt
5d06fbc109 ops.c: Remove calls to vec_splat...
2014-09-29  Bill Schmidt  <wschmidt@vnet.linux.ibm.com>

	* gcc.dg/vmx/ops.c: Remove calls to vec_splat, vec_vsplth,
	vec_vspltw, and vec_vspltb for which the second argument is out of
	range.

From-SVN: r215691
2014-09-29 18:41:26 +00:00
Chen Gang
d03efd2a58 Fix ICE.
Fix ICE.  Need use VOID instead of SI, or when real VOIDmode comes, it does not
match SImode, so cause issue.

2014-09-25  Chen Gang  <gang.chen.5i5j@gmail.com>

gcc:
	* config/microblaze/microblaze.md (call_internal1): Use VOID
	instead of SI to fix "((void (*)(void)) 0)()" issue
gcc/testsuite:
	* gcc.c-torture/compile/calls-void.c: New test.

From-SVN: r215684
2014-09-29 16:40:10 +00:00
Nick Clifton
f642a8b72f msp430.c (msp430_expand_prologue): Return a CLOBBER rtx for naked functions.
* config/msp430/msp430.c (msp430_expand_prologue): Return a
	CLOBBER rtx for naked functions.
	(msp430_expand_epilogue): Likewise.
	(msp430_use_f5_series_hwmult): Cache result.
	(use_32bit_hwmult): Cache result.
	(msp430_no_hwmult): New function.
	(msp430_output_labelref): Use it.

From-SVN: r215683
2014-09-29 16:00:58 +00:00
Catherine Moore
b2a1b26147 MAINTAINERS: Add myself as MIPS maintainer.
2014-09-29  Catherine Moore  <clm@codesourcery.com>

	* MAINTAINERS:  Add myself as MIPS maintainer.

From-SVN: r215682
2014-09-29 09:08:53 -04:00
Richard Biener
f764304c46 typeck.c (enum_cast_to_int): Use CONVERT_EXPR_P to check for conversions.
2014-09-29  Richard Biener  <rguenther@suse.de>

	cp/
	* typeck.c (enum_cast_to_int): Use CONVERT_EXPR_P to check
	for conversions.

From-SVN: r215681
2014-09-29 10:42:16 +00:00
Paolo Carlini
f1d6f49466 re PR c++/51385 (Unnecessary instantiation converting to pointer to template class instance)
2014-09-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51385
	* g++.dg/template/pr51385.C: New.

From-SVN: r215680
2014-09-29 09:06:31 +00:00
Jakub Jelinek
0fe81a0f05 re PR middle-end/63247 (fortran array alignment in omp target map)
PR middle-end/63247
	* omp-low.c (lower_omp_target): For OMP_CLAUSE_MAP_POINTER
	of ARRAY_TYPE, if not OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION
	use the alignment of avar rather than ovar.

From-SVN: r215678
2014-09-29 07:20:52 +02:00
GCC Administrator
32a5d2f15c Daily bump.
From-SVN: r215675
2014-09-29 00:16:27 +00:00
John David Anglin
501fcaf556 pa.c (pa_output_function_epilogue): Only update last_address when a nonnote insn is found.
* config/pa/pa.c (pa_output_function_epilogue): Only update
	last_address when a nonnote insn is found.

From-SVN: r215669
2014-09-28 15:39:23 +00:00
Matthew Fortune
05342e105f Update MIPS maintainers.
/

	* MAINTAINERS: Move myself to MIPS maintainers.

From-SVN: r215664
2014-09-28 09:03:18 +00:00
Robert Suchanek
fcf239c09b Test to cover LRA fix in r215119.
gcc/testsuite/

	* gcc.target/mips/20140928.c: New test.

From-SVN: r215663
2014-09-28 08:54:36 +00:00
GCC Administrator
b69f0860bb Daily bump.
From-SVN: r215662
2014-09-28 00:16:45 +00:00
Andi Kleen
e8447fa68c Run new mcount tests only on Linux and not on PIC
gcc/testsuite/:

2014-09-27  Andi Kleen  <ak@linux.intel.com>

	* gcc.target/i386/nop-mcount.c: Only run on Linux.
	* gcc.target/i386/record-mcount.c: dito.

Signed-off-by: Andi Kleen <ak@linux.intel.com>

From-SVN: r215659
2014-09-27 18:50:59 +00:00
Jan-Benedict Glaw
3f6bb7e591 MAINTAINERS: Put all email addresses between '<' and '>'.
2014-09-23  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

	* MAINTAINERS: Put all email addresses between '<' and '>'.

From-SVN: r215657
2014-09-27 11:51:20 +00:00
Jan Hubicka
b2d82f2df1 re PR ipa/60665 (gcc/ipa-devirt.c:1510:7: warning: variable 'can_refer' is used uninitialized whenever '?:' condition is false)
PR ipa/60665
	* ipa-devirt.c (possible_polymorphic_call_targets): Silence clang warning.

From-SVN: r215656
2014-09-27 00:21:33 +00:00
Jan Hubicka
ec1d732bc6 re PR ipa/62121 (ICE: Segmentation fault in ipa-devirt.c:997)
PR ipa/62121
	* ipa-polymorphic-call.c (ipa_polymorphic_call_context::restrict_to_inner_class):
	fix pasto in checking array size.

	* g++.dg/torture/pr62121.C: New testcase.

From-SVN: r215655
2014-09-27 00:19:06 +00:00
GCC Administrator
ee5bd6c8fd Daily bump.
From-SVN: r215654
2014-09-27 00:16:37 +00:00
Jan Hubicka
8cce4dbf90 re PR middle-end/35545 (tracer pass is run too late)
PR middle-end/35545
	* passes.def (pass_tracer): Move before last dominator pass.
	* g++.dg/tree-prof/pr35545.C: New testcase.

From-SVN: r215651
2014-09-27 00:03:23 +00:00
Jason Merrill
00eaaa5056 mangle.c (is_std_substitution): Check for abi_tag.
gcc/cp/
	* mangle.c (is_std_substitution): Check for abi_tag.
libiberty/
	* cp-demangle.c (d_substitution): Handle abi tags on abbreviation.

From-SVN: r215647
2014-09-26 15:57:37 -04:00
Bill Schmidt
20ee26901f pr63335.c: Change effective target to vsx_hw.
2014-09-26  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.target/powerpc/pr63335.c: Change effective target to
	vsx_hw.

From-SVN: r215646
2014-09-26 19:28:36 +00:00
H.J. Lu
6f35fc1b1c Skip gcc.target/i386/shrink_wrap_1.c on ia32
* gcc.target/i386/shrink_wrap_1.c: Skip ia32.

From-SVN: r215645
2014-09-26 08:27:01 -07:00
Thomas Schwinge
1120a85052 Fix -freport-bug patch.
gcc/
	* gcc.c (try_generate_repro): Remove argument "prog".  Change all
	users.
	(run_attempt): Handle errors of "pex_run" invocation.

Fixes bootstrap failure/compiler warnings:

    [...]
    ../../master/gcc/gcc.c: In function 'attempt_status run_attempt(const char**, const char*, const char*, int, int)':
    ../../master/gcc/gcc.c:6319:15: error: variable 'errmsg' set but not used [-Werror=unused-but-set-variable]
       const char *errmsg;
                   ^
    ../../master/gcc/gcc.c: At global scope:
    ../../master/gcc/gcc.c:6412:33: error: unused parameter 'prog' [-Werror=unused-parameter]
     try_generate_repro (const char *prog, const char **argv)
                                     ^
    cc1plus: all warnings being treated as errors
    Makefile:1040: recipe for target 'gcc.o' failed
    make[3]: *** [gcc.o] Error 1
    make[3]: Leaving directory '/media/erich/home/thomas/tmp/gcc/hurd/master.build/gcc'
    Makefile:4285: recipe for target 'all-stage2-gcc' failed
    make[2]: *** [all-stage2-gcc] Error 2
    make[2]: Leaving directory '/media/erich/home/thomas/tmp/gcc/hurd/master.build'
    Makefile:21561: recipe for target 'stage2-bubble' failed
    make[1]: *** [stage2-bubble] Error 2
    make[1]: Leaving directory '/media/erich/home/thomas/tmp/gcc/hurd/master.build'
    Makefile:892: recipe for target 'all' failed
    make: *** [all] Error 2

From-SVN: r215644
2014-09-26 15:43:34 +02:00
Christophe Lyon
a3125fc233 [AArch64] Enable Address Sanitizer.
2014-09-26  Christophe Lyon  <christophe.lyon@linaro.org>

	[AArch64] Enable Address Sanitizer.

	gcc/
	* config/aarch64/aarch64-linux.h (ASAN_CC1_SPEC): Define.
        (CC1_SPEC): Define.
        * config/aarch64/aarch64.c (aarch64_asan_shadow_offset): New function.
        (TARGET_ASAN_SHADOW_OFFSET): Define.

	libsanitzer/
	* configure.tgt: Enable build on aarch64*-linux.

From-SVN: r215642
2014-09-26 15:07:42 +02:00
Martin Liska
bf898b300e cgraph.c (cgraph_node::release_body): New argument keep_arguments introduced.
* cgraph.c (cgraph_node::release_body): New argument keep_arguments
	introduced.
	* cgraph.h: Likewise.
	* cgraphunit.c (cgraph_node::create_wrapper): Usage of new argument introduced.
	* ipa-utils.h (polymorphic_type_binfo_p): Safe check for binfos created by Java.
	* tree-ssa-alias.c (ao_ref_base_alias_set): Static function transformed to global.
	* tree-ssa-alias.h: Likewise.

From-SVN: r215640
2014-09-26 10:37:44 +00:00
Jakub Jelinek
5535b7d6f3 struct-layout-1_generate.c: Add -Wno-abi to default options.
* g++.dg/compat/struct-layout-1_generate.c: Add -Wno-abi
	to default options.

From-SVN: r215635
2014-09-26 10:34:19 +02:00
Jakub Jelinek
dc10fd963f common.opt: New option.
gcc/

2014-09-26  Jakub Jelinek  <jakub@redhat.com>
	    Max Ostapenko  <m.ostapenko@partner.samsung.com>

	* common.opt: New option.
	* doc/invoke.texi: Describe new option.
	* gcc.c (execute): Don't free first string early, but at the end
	of the function.  Call retry_ice if compiler exited with
	ICE_EXIT_CODE.
	(main): Factor out common code.
	(print_configuration): New function.
	(files_equal_p): Likewise.
	(check_repro): Likewise.
	(run_attempt): Likewise.
	(do_report_bug): Likewise.
	(append_text): Likewise.
	(try_generate_repro): Likewise

Co-Authored-By: Max Ostapenko <m.ostapenko@partner.samsung.com>

From-SVN: r215633
2014-09-26 11:03:09 +03:00
Max Ostapenko
29ce50b031 pex-common.h (struct pex_funcs): Add new parameter for open_write field.
libiberty/

2014-09-26  Max Ostapenko  <m.ostapenko@partner.samsung.com>

	* pex-common.h (struct pex_funcs): Add new parameter for open_write field.
	* pex-unix.c (pex_unix_open_write): Add support for new parameter.
	* pex-djgpp.c (pex_djgpp_open_write): Likewise.
	* pex-win32.c (pex_win32_open_write): Likewise.
	* pex-common.c (pex_run_in_environment): Likewise.


include/

2014-09-26  Max Ostapenko  <m.ostapenko@partner.samsung.com>

	* libiberty.h (PEX_STDOUT_APPEND): New flag.
	(PEX_STDERR_APPEND): Likewise.

From-SVN: r215632
2014-09-26 10:58:04 +03:00
Andi Kleen
ecc81e3312 Add direct support for Linux kernel __fentry__ patching
The Linux kernel dynamically patches in __fentry__ calls in and
out at runtime. This allows using function tracing for debugging
in production kernels without (significant) performance penalty.

For this it needs a table pointing to each __fentry__ call.

The way it is currently implemented is that a special
perl script scans the object file, generates the table in a special
section. When the kernel boots up it nops the calls, and
then later patches in the calls again as needed.

The recordmcount.pl script in the kernel works, but it seems
cleaner and faster to support the code generation of the patch table
directly in gcc.

This also allows to nop the calls directly at code generation
time, which allows to skip a patching step at kernel boot.
I also expect that a patchable production tracing facility is also useful
for other applications.

For example it could be used in ftracer
(https://github.com/andikleen/ftracer)

Having a nop area at the beginning of each function can be also
also useful for other things. For example it can be used to patch
functions at runtime to point to different functions, to do
binary updates without restarting the program (like ksplice or
similar)

This patch implements two new options for the i386 target:

-mrecord-mcount
Generate a __mcount_loc section entry for each __fentry__ or mcount
call. The section is compatible with the kernel convention
and the data is put into a section loaded at runtime.

-mnop-mcount
Generate the mcount/__fentry__ call as 5 byte nop that can be
patched in later. The nop is generated as a single instruction,
as the Linux kernel run time patching relies on this.

Limitations:
- I didn't implement -mnop-mcount for -fPIC. This
would need a good single instruction 6 byte NOP and it seems a
bit pointless, as the patching would prevent text sharing.
- I didn't implement noping for targets that pass a variable
to mcount.
- The facility could be useful on architectures too. Currently
the mcount code is target specific, so I made it a i386 option.

gcc/:

2014-09-25  Andi Kleen  <ak@linux.intel.com>

	* config/i386/i386.c (x86_print_call_or_nop): New function.
	(x86_function_profiler): Support -mnop-mcount and
	-mrecord-mcount.
	* config/i386/i386.opt (-mnop-mcount, -mrecord-mcount): Add
	* doc/invoke.texi: Document -mnop-mcount, -mrecord-mcount.

gcc/testsuite:

2014-09-25  Andi Kleen  <ak@linux.intel.com>

	* gcc.target/i386/nop-mcount.c: New file.
	* gcc.target/i386/record-mcount.c: New file.

From-SVN: r215629
2014-09-26 04:06:40 +00:00