gcc.git
9 years agogimplify.c (gimplify_function_tree): Check the no_sanitize_thread decl attribute.
Bernd Edlinger [Wed, 21 Jan 2015 18:08:42 +0000 (18:08 +0000)]
gimplify.c (gimplify_function_tree): Check the no_sanitize_thread decl attribute.

gcc/ChangeLog:
2015-01-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * gimplify.c (gimplify_function_tree): Check the no_sanitize_thread
        decl attribute.

gcc/testsuite/ChangeLog
2015-01-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * gcc/testsuite/c-c++-common/tsan/step.c: New testcase.

From-SVN: r219961

9 years agoaarch64.h (CANNOT_CHANGE_MODE_CLASS): Removed.
David Sherwood [Wed, 21 Jan 2015 17:53:55 +0000 (17:53 +0000)]
aarch64.h (CANNOT_CHANGE_MODE_CLASS): Removed.

gcc/
2015-01-21  David Sherwood  <david.sherwood@arm.com>
    Tejas Belagod <Tejas.Belagod@arm.com>

* config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Removed.
* config/aarch64/aarch64.c (aarch64_cannot_change_mode_class): Removed.
* config/aarch64/aarch64-protos.h (aarch64_cannot_change_mode_class):
Removed.

Co-Authored-By: Tejas Belagod <tejas.belagod@arm.com>
From-SVN: r219960

9 years agogcc/
David Sherwood [Wed, 21 Jan 2015 17:53:44 +0000 (17:53 +0000)]
gcc/
2015-01-21  David Sherwood  <david.sherwood@arm.com>
    Tejas Belagod <Tejas.Belagod@arm.com>

* config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_rglist)
(aarch64_reverse_mask): New decls.
* config/aarch64/iterators.md (UNSPEC_REV_REGLIST): New enum.
(insn_count): New mode_attr.
* config/aarch64/aarch64-simd.md (vec_store_lanesoi, vec_store_lanesci)
(vec_store_lanesxi, vec_load_lanesoi, vec_load_lanesci)
(vec_load_lanesxi): Made ABI compliant for Big Endian targets.
(aarch64_rev_reglist, aarch64_simd_ld2, aarch64_simd_ld3)
(aarch64_simd_ld4, aarch64_simd_st2, aarch64_simd_st3)
(aarch64_simd_st4): New patterns.
* config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist)
(aarch64_reverse_mask): New functions.

Co-Authored-By: Tejas Belagod <tejas.belagod@arm.com>
From-SVN: r219959

9 years agoaarch64-protos.h (aarch64_simd_disambiguate_copy): Declare.
Alan Hayward [Wed, 21 Jan 2015 17:53:31 +0000 (17:53 +0000)]
aarch64-protos.h (aarch64_simd_disambiguate_copy): Declare.

gcc/
* config/aarch64/aarch64-protos.h (aarch64_simd_disambiguate_copy):
Declare.
* config/aarch64/aarch64.c (aarch64_classify_address): Allow extra
addressing modes for BE.
(aarch64_print_operand): Add 'R' specifier.
(aarch64_simd_disambiguate_copy): Delete.
(aarch64_simd_emit_reg_reg_move): New function.
* config/aarch64/aarch64-simd.md: Use aarch64_simd_emit_reg_reg_move
in define_splits for structural moves.
(mov<mode>): Use less restrictive predicates.
(*aarch64_mov<mode>): Simplify and only allow for LE.
(*aarch64_be_movoi, *aarch64_be_movci, *aarch64_be_movxi): New.

From-SVN: r219958

9 years agortlanal.c (subreg_get_info): Exit early for simple and common cases.
Alan Hayward [Wed, 21 Jan 2015 17:53:04 +0000 (17:53 +0000)]
rtlanal.c (subreg_get_info): Exit early for simple and common cases.

gcc/
2015-01-25  Alan Hayward  <alan.hayward@arm.com>

* rtlanal.c (subreg_get_info): Exit early for simple and common
cases.

From-SVN: r219957

9 years agoAvoid misaligned atomic operations
Andrew Waterman [Wed, 21 Jan 2015 17:17:03 +0000 (17:17 +0000)]
Avoid misaligned atomic operations

 Andrew Waterman <waterman@cs.berkeley.edu>

 * fop_n.c (libat_fetch_op): Align address to word boundary.
 (libat_op_fetch): Likewise.

From-SVN: r219954

9 years ago* config/abi/pre/gnu.ver: Use [jmy] for size_t parameters.
Jonathan Wakely [Wed, 21 Jan 2015 16:17:31 +0000 (16:17 +0000)]
* config/abi/pre/gnu.ver: Use [jmy] for size_t parameters.

From-SVN: r219953

9 years ago* testsuite/29_atomics/atomic/64658.cc: Test stored value.
Jonathan Wakely [Wed, 21 Jan 2015 16:17:17 +0000 (16:17 +0000)]
* testsuite/29_atomics/atomic/64658.cc: Test stored value.

From-SVN: r219952

9 years agore PR target/64669 (aarch64-linux profiledbootstrap failure)
Richard Henderson [Wed, 21 Jan 2015 15:47:49 +0000 (07:47 -0800)]
re PR target/64669 (aarch64-linux profiledbootstrap failure)

PR target/64669

 * ccmp.c (used_in_cond_stmt_p): Remove.
 (expand_ccmp_expr): Don't use it.

From-SVN: r219951

9 years ago[ARM/AArch64][testsuite] Add vqdmull_n tests.
Christophe Lyon [Wed, 21 Jan 2015 11:32:32 +0000 (11:32 +0000)]
[ARM/AArch64][testsuite] Add vqdmull_n tests.

2015-01-21  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vqdmull_n.c: New file.

From-SVN: r219950

9 years ago[ARM/AArch64][testsuite] Add vqdmull_lane tests.
Christophe Lyon [Wed, 21 Jan 2015 11:31:20 +0000 (11:31 +0000)]
[ARM/AArch64][testsuite] Add vqdmull_lane tests.

2015-01-21  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vqdmull_lane.c: New file.

From-SVN: r219949

9 years ago[ARM/AArch64][testsuite] Add vqdmull tests.
Christophe Lyon [Wed, 21 Jan 2015 11:30:16 +0000 (11:30 +0000)]
[ARM/AArch64][testsuite] Add vqdmull tests.

2015-01-21  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vqdmull.c: New file.

From-SVN: r219948

9 years ago[ARM/AArch64][testsuite] Add vqdmulh_n tests.
Christophe Lyon [Wed, 21 Jan 2015 11:28:55 +0000 (11:28 +0000)]
[ARM/AArch64][testsuite] Add vqdmulh_n tests.

2015-01-21  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vqdmulh_n.c: New file.

From-SVN: r219947

9 years ago[ARM/AArch64][testsuite] Add vqdmulh_lane tests.
Christophe Lyon [Wed, 21 Jan 2015 11:26:06 +0000 (11:26 +0000)]
[ARM/AArch64][testsuite] Add vqdmulh_lane tests.

2015-01-21  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vqdmulh_lane.c: New file.

From-SVN: r219946

9 years ago[ARM/AArch64][testsuite] Add vqdmulh tests.
Christophe Lyon [Wed, 21 Jan 2015 11:25:11 +0000 (11:25 +0000)]
[ARM/AArch64][testsuite] Add vqdmulh tests.

2015-01-21  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vqdmulh.c: New file.

From-SVN: r219945

9 years ago[ARM/AArch64][testsuite] Add vmull_n tests.
Christophe Lyon [Wed, 21 Jan 2015 11:23:31 +0000 (11:23 +0000)]
[ARM/AArch64][testsuite] Add vmull_n tests.

2015-01-21  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vmull_n.c: New file.

From-SVN: r219944

9 years ago[ARM/AArch64][testsuite] Add vmull_lane tests.
Christophe Lyon [Wed, 21 Jan 2015 11:21:53 +0000 (11:21 +0000)]
[ARM/AArch64][testsuite] Add vmull_lane tests.

2015-01-21  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vmull_lane.c: New file.

From-SVN: r219943

9 years ago[ARM/AArch64][testsuite] Add vmull tests.
Christophe Lyon [Wed, 21 Jan 2015 11:18:57 +0000 (11:18 +0000)]
[ARM/AArch64][testsuite] Add vmull tests.

2015-01-21  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vmull.c: New file.

From-SVN: r219942

9 years ago[[ARM/AArch64][testsuite] 24/36] Add vmul_n tests.
Christophe Lyon [Wed, 21 Jan 2015 11:17:34 +0000 (11:17 +0000)]
[[ARM/AArch64][testsuite] 24/36] Add vmul_n tests.

2015-01-21  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vmul_n.c: New file.

From-SVN: r219941

9 years ago[ARM/AArch64][testsuite] Add vmul_lane tests.
Christophe Lyon [Wed, 21 Jan 2015 11:16:23 +0000 (11:16 +0000)]
[ARM/AArch64][testsuite] Add vmul_lane tests.

2015-01-21  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vmul_lane.c: New file.

From-SVN: r219940

9 years ago[ARM/AArch64][testsuite] Add vmovn tests.
Christophe Lyon [Wed, 21 Jan 2015 11:14:57 +0000 (11:14 +0000)]
[ARM/AArch64][testsuite] Add vmovn tests.

2015-01-21  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vmovn.c: New file.

From-SVN: r219939

9 years ago[ARM/AArch64][testsuite] Add vsubw tests, putting most of the code in common with...
Christophe Lyon [Wed, 21 Jan 2015 11:13:21 +0000 (11:13 +0000)]
[ARM/AArch64][testsuite] Add vsubw tests, putting most of the code in common with vaddw through vXXWw.inc.

2015-01-21  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vXXXw.inc: New file.
* gcc.target/aarch64/advsimd-intrinsics/vsubw.c: New file.
* gcc.target/aarch64/advsimd-intrinsics/vaddw.c: Use code from
vXXXw.inc.

From-SVN: r219938

9 years ago[ARM/AArch64][testsuite] Add vsubl tests, put most of the code in common with vaddl...
Christophe Lyon [Wed, 21 Jan 2015 11:11:47 +0000 (11:11 +0000)]
[ARM/AArch64][testsuite] Add vsubl tests, put most of the code in common with vaddl in vXXXl.inc.

2015-01-21  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vXXXl.inc: New file.
* gcc.target/aarch64/advsimd-intrinsics/vsubl.c: New file.
* gcc.target/aarch64/advsimd-intrinsics/vaddl.c: Use code from
vXXXl.inc.

From-SVN: r219937

9 years ago* MAINTAINER: Added myself.
Andre Vehreschild [Wed, 21 Jan 2015 10:54:37 +0000 (11:54 +0100)]
* MAINTAINER: Added myself.

From-SVN: r219936

9 years ago[PATCH]Skip g++.dg/tls testes on target using status wrapper
Renlin Li [Wed, 21 Jan 2015 10:25:42 +0000 (10:25 +0000)]
[PATCH]Skip g++.dg/tls testes on target using status wrapper

/testsuite
2015-01-21 Renlin Li <renlin.li@arm.com>

* g++.dg/tls/thread_local5.C: Skip when dejagnu wrapper is used.
* g++.dg/tls/thread_local5g.C: Likewise.
* g++.dg/tls/thread_local6g.C: Likewise.

From-SVN: r219935

9 years ago[ARM/AArch64][testsuite] Add vsli_n and vsri_n tests.
Christophe Lyon [Wed, 21 Jan 2015 10:23:42 +0000 (10:23 +0000)]
[ARM/AArch64][testsuite] Add vsli_n and vsri_n tests.

2015-01-21  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vsXi_n.inc: New file.
* gcc.target/aarch64/advsimd-intrinsics/vsli_n.c: New file.
* gcc.target/aarch64/advsimd-intrinsics/vsri_n.c: New file.

From-SVN: r219934

9 years agolibtool-version: Bump soversion.
Matthias Klose [Wed, 21 Jan 2015 10:17:59 +0000 (10:17 +0000)]
libtool-version: Bump soversion.

2015-01-21  Matthias Klose  <doko@ubuntu.com>

        * libtool-version: Bump soversion.

From-SVN: r219933

9 years ago[ARM/AArch64][testsuite] Add vqdmlal_n and vqdmlsl_n tests.
Christophe Lyon [Wed, 21 Jan 2015 10:15:13 +0000 (10:15 +0000)]
[ARM/AArch64][testsuite] Add vqdmlal_n and vqdmlsl_n tests.

2015-01-21  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vqdmlXl_n.inc: New file.
* gcc.target/aarch64/advsimd-intrinsics/vqdmlal_n.c: New file.
* gcc.target/aarch64/advsimd-intrinsics/vqdmlsl_n.c: New file.

From-SVN: r219932

9 years ago[ARM/AArch64][testsuite] Add vqdmlal_lane and vqdmlsl_lane tests.
Christophe Lyon [Wed, 21 Jan 2015 10:13:47 +0000 (10:13 +0000)]
[ARM/AArch64][testsuite] Add vqdmlal_lane and vqdmlsl_lane tests.

2015-01-21  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vqdmlXl_lane.inc: New file.
* gcc.target/aarch64/advsimd-intrinsics/vqdmlal_lane.c: New file.
* gcc.target/aarch64/advsimd-intrinsics/vqdmlsl_lane.c: New file.

From-SVN: r219931

9 years ago[ARM/AArch64][testsuite] Add vqdmlal and vqdmlsl tests.
Christophe Lyon [Wed, 21 Jan 2015 10:11:44 +0000 (10:11 +0000)]
[ARM/AArch64][testsuite] Add vqdmlal and vqdmlsl tests.

2015-01-21  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vqdmlXl.inc: New file.
* gcc.target/aarch64/advsimd-intrinsics/vqdmlal.c: New file.
* gcc.target/aarch64/advsimd-intrinsics/vqdmlsl.c: New file.

From-SVN: r219930

9 years agorl78.c (rl78_calculate_death_notes): Look inside PARALLELs.
Nick Clifton [Wed, 21 Jan 2015 09:34:38 +0000 (09:34 +0000)]
rl78.c (rl78_calculate_death_notes): Look inside PARALLELs.

* config/rl78/rl78.c (rl78_calculate_death_notes): Look inside
PARALLELs.

From-SVN: r219929

9 years agore PR middle-end/64313 (gcc.dg/torture/builtin-explog-1.c fails on bare-metal targets)
Richard Biener [Wed, 21 Jan 2015 09:04:53 +0000 (09:04 +0000)]
re PR middle-end/64313 (gcc.dg/torture/builtin-explog-1.c fails on bare-metal targets)

2015-01-21  Richard Biener  <rguenther@suse.de>

PR middle-end/64313
* tree-core.h (builtin_info, builtin_info_type): Turn from
an object with two arrays into an array of an object with
decl and two flags, implicit_p and declared_p.
* tree.h (builtin_decl_explicit, builtin_decl_implicit,
set_builtin_decl, set_builtin_decl_implicit_p,
builtin_decl_explicit_p, builtin_decl_implicit_p): Adjust.
(set_builtin_decl_declared_p, builtin_decl_declared_p): New functions.
* builtins.c (builtin_info): Adjust.
* gimplify.c (gimplify_addr_expr): References to builtins
that have been declared by the user makes them eligible for
use by the compiler.  Call set_builtin_decl_implicit_p on them.

c/
* c-decl.c (merge_decls): Call set_builtin_decl_declared_p
for builtins the user declared correctly.

cp/
* decl.c (duplicate_decls): Call set_builtin_decl_declared_p
for builtins the user declared correctly.

From-SVN: r219928

9 years agore PR target/59946 (-mpcrel -O2 produces illegal asm code)
Jeff Law [Wed, 21 Jan 2015 06:17:50 +0000 (23:17 -0700)]
re PR target/59946 (-mpcrel -O2 produces illegal asm code)

2015-01-20  Jeff Law  <law@redhat.com>

PR target/59946
* config/m68k/m68k.md (Comparison expanders and patterns): Do not
allow pc-relative addresses in operand predicates or constraints.

PR target/59946
* gcc.target/m68k/pr59946.c: New test.

From-SVN: r219927

9 years agoarm.c (arm_cortex_a53_tune, [...]): Prefer neon on aarch32 processors for stringops.
Bin Cheng [Wed, 21 Jan 2015 05:57:05 +0000 (05:57 +0000)]
arm.c (arm_cortex_a53_tune, [...]): Prefer neon on aarch32 processors for stringops.

* config/arm/arm.c (arm_cortex_a53_tune, arm_cortex_a57_tune): Prefer
neon on aarch32 processors for stringops.

From-SVN: r219926

9 years agoDaily bump.
GCC Administrator [Wed, 21 Jan 2015 00:16:57 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r219925

9 years ago[ARM/AArch64][testsuite] Add vmlal_n and vmlsl_n tests.
Christophe Lyon [Tue, 20 Jan 2015 23:25:37 +0000 (23:25 +0000)]
[ARM/AArch64][testsuite] Add vmlal_n and vmlsl_n tests.

2015-01-20  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vmlXl_n.inc: New file.
* gcc.target/aarch64/advsimd-intrinsics/vmlal_n.c: New file.
* gcc.target/aarch64/advsimd-intrinsics/vmlsl_n.c: New file.

From-SVN: r219922

9 years ago[ARM/AArch64][testsuite] Add vmlal_lane and vmlsl_lane tests.
Christophe Lyon [Tue, 20 Jan 2015 23:23:44 +0000 (23:23 +0000)]
[ARM/AArch64][testsuite] Add vmlal_lane and vmlsl_lane tests.

2015-01-20  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vmlXl_lane.inc: New file.
* gcc.target/aarch64/advsimd-intrinsics/vmlal_lane.c: New file.
* gcc.target/aarch64/advsimd-intrinsics/vmlsl_lane.c: New file.

From-SVN: r219921

9 years ago[ARM/AArch64][testsuite] Add vmlal and vmlsl tests.
Christophe Lyon [Tue, 20 Jan 2015 23:21:35 +0000 (23:21 +0000)]
[ARM/AArch64][testsuite] Add vmlal and vmlsl tests.

2015-01-20  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vmlXl.inc: New file.
* gcc.target/aarch64/advsimd-intrinsics/vmlal.c: New file.
* gcc.target/aarch64/advsimd-intrinsics/vmlsl.c: New file.

From-SVN: r219920

9 years ago[ARM/AArch64][testsuite] Add vtrn tests. Refactor vzup and vzip tests.
Christophe Lyon [Tue, 20 Jan 2015 23:19:12 +0000 (23:19 +0000)]
[ARM/AArch64][testsuite] Add vtrn tests. Refactor vzup and vzip tests.

2015-01-20  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vshuffle.inc: New file.
* gcc.target/aarch64/advsimd-intrinsics/vtrn.c: New file.
* gcc.target/aarch64/advsimd-intrinsics/vuzp.c: Use code from
vshuffle.inc.
* gcc.target/aarch64/advsimd-intrinsics/vzip.c: Use code from
vshuffle.inc.

From-SVN: r219919

9 years ago[ARM/AArch64][testsuite] Add vmla_lane and vmls_lane tests.
Christophe Lyon [Tue, 20 Jan 2015 22:21:56 +0000 (22:21 +0000)]
[ARM/AArch64][testsuite] Add vmla_lane and vmls_lane tests.

2015-01-20  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vmlX_lane.inc: New file.
* gcc.target/aarch64/advsimd-intrinsics/vmla_lane.c: New file.
* gcc.target/aarch64/advsimd-intrinsics/vmls_lane.c: New file.

From-SVN: r219918

9 years ago[ARM/AArch64][testsuite] Add vmla and vmls tests.
Christophe Lyon [Tue, 20 Jan 2015 21:44:51 +0000 (21:44 +0000)]
[ARM/AArch64][testsuite] Add vmla and vmls tests.

2015-01-20  Christophe Lyon  <christophe.lyon@linaro.org>

* gcc.target/aarch64/advsimd-intrinsics/vmlX.inc: New file.
* gcc.target/aarch64/advsimd-intrinsics/vmla.c: New file.
* gcc.target/aarch64/advsimd-intrinsics/vmls.c: New file.

From-SVN: r219917

9 years agocompiler: Do not mark unused variables as used inside closures.
Ian Lance Taylor [Tue, 20 Jan 2015 21:29:28 +0000 (21:29 +0000)]
compiler: Do not mark unused variables as used inside closures.

Fixes golang/go#6415.

From-SVN: r219916

9 years agore PR libffi/64581 (libffi/testsuite/libffi.special/special.exp doesn't use newly...
Richard Henderson [Tue, 20 Jan 2015 21:26:04 +0000 (13:26 -0800)]
re PR libffi/64581 (libffi/testsuite/libffi.special/special.exp doesn't use newly built GCC)

PR libffi/64581

 * testsuite/lib/libffi.exp (libffi_target_compile): Don't switch
 to C++ mode when compiling C++ source code.

From-SVN: r219915

9 years ago[ARM/AArch64][testsuite] Add vldX_dup test.
Christophe Lyon [Tue, 20 Jan 2015 21:03:49 +0000 (21:03 +0000)]
[ARM/AArch64][testsuite] Add vldX_dup test.

* gcc.target/aarch64/advsimd-intrinsics/vldX_dup.c: New file.

From-SVN: r219914

9 years ago* gcc.dg/guality/pr49888.c (v): Add __attribute__((used)).
Jakub Jelinek [Tue, 20 Jan 2015 20:41:04 +0000 (21:41 +0100)]
* gcc.dg/guality/pr49888.c (v): Add __attribute__((used)).

From-SVN: r219913

9 years agore PR sanitizer/64632 (runtime error: member call on address 0x0000004318a8 which...
Jakub Jelinek [Tue, 20 Jan 2015 20:39:52 +0000 (21:39 +0100)]
re PR sanitizer/64632 (runtime error: member call on address 0x0000004318a8 which does not point to an object of type 'ios_base')

PR sanitizer/64632
* ubsan/ubsan_type_hash.cc: Cherry pick upstream r224972.

* g++.dg/ubsan/pr64632.C: New test.

From-SVN: r219912

9 years agore PR ipa/63576 (ICE : in ipa_merge_profiles, at ipa-utils.c:540 during Firefox LTO...
Jan Hubicka [Tue, 20 Jan 2015 20:03:23 +0000 (21:03 +0100)]
re PR ipa/63576 (ICE : in ipa_merge_profiles, at ipa-utils.c:540 during Firefox LTO/PGO build)

PR ipa/63576
* ipa-utils.c (ipa_merge_profiles): Merge speculative edges.

From-SVN: r219910

9 years agore PR lto/45375 ([meta-bug] Issues with building Mozilla (i.e. Firefox) with LTO)
Jan Hubicka [Tue, 20 Jan 2015 19:48:59 +0000 (20:48 +0100)]
re PR lto/45375 ([meta-bug] Issues with building Mozilla (i.e. Firefox) with LTO)

PR lto/45375
* ipa-inline.c: Include lto-streamer.h
(report_inline_failed_reason): Output source file differences and
flags on optimization/target node mismatch.
(can_inline_edge_p): Consider caller to be the outer inline function;
be less restrictive about matching opimize and optimize_size attributes.
(inline_account_function_p): Break out from ...
(inline_small_functions): ... here.
* ipa-inline-transform.c (clone_inlined_nodes): Use
inline_account_function_p.
(inline_call): Use optimize attribution; use inline_account_function_p.
(inline_transform): Use opt_for_fn.
* ipa-inline.h (inline_account_function_p): Declare.

From-SVN: r219909

9 years agore PR debug/64663 (ICE at -O1 and above with -g enabled on x86_64-linux-gnu)
Jakub Jelinek [Tue, 20 Jan 2015 18:29:58 +0000 (19:29 +0100)]
re PR debug/64663 (ICE at -O1 and above with -g enabled on x86_64-linux-gnu)

PR debug/64663
* dwarf2out.c (decl_piece_node): Don't put bitsize into
mode if bitsize <= 0.
(decl_piece_bitsize, adjust_piece_list, add_var_loc_to_decl,
dw_sra_loc_expr): Use HOST_WIDE_INT instead of int for bit
sizes and positions.

* gcc.dg/pr64663.c: New test.

From-SVN: r219906

9 years agore PR go/64683 (FAIL: runtime/pprof -- testing.go:278: The entry did not match)
Ian Lance Taylor [Tue, 20 Jan 2015 16:11:36 +0000 (16:11 +0000)]
re PR go/64683 (FAIL: runtime/pprof -- testing.go:278: The entry did not match)

PR go/64683
runtime/pprof: Let memory profiler test pass if value not collected.

Since gccgo's GC is not precise, the transient value may not
be collected.  Let the regexp match that case as well.

From-SVN: r219900

9 years agonios2.c (nios2_asm_file_end): Implement TARGET_ASM_FILE_END hook for adding .note...
Chung-Lin Tang [Tue, 20 Jan 2015 14:49:51 +0000 (14:49 +0000)]
nios2.c (nios2_asm_file_end): Implement TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when needed.

2015-01-20  Chung-Lin Tang  <cltang@codesourcery.com>

gcc/
* config/nios2/nios2.c (nios2_asm_file_end): Implement
TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when
needed.
(TARGET_ASM_FILE_END): Define.

libgcc/
* config/nios2/linux-unwind.h (nios2_fallback_frame_state):
Update rt_sigframe format and address for current Nios II
Linux conventions.

From-SVN: r219898

9 years agore PR c++/64383 (missed warning for unused variable.)
Paolo Carlini [Tue, 20 Jan 2015 14:19:32 +0000 (14:19 +0000)]
re PR c++/64383 (missed warning for unused variable.)

2015-01-20  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/64383
* g++.dg/warn/Wunused-var-23.C: New.

From-SVN: r219896

9 years agore PR c++/59937 ([constexpr] bogus diagnostic "used in its own initializer")
Paolo Carlini [Tue, 20 Jan 2015 13:39:10 +0000 (13:39 +0000)]
re PR c++/59937 ([constexpr] bogus diagnostic "used in its own initializer")

2015-01-20  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/59937
* g++.dg/cpp0x/constexpr-59937-1.C: New.
* g++.dg/cpp0x/constexpr-59937-2.C: Likewise.

From-SVN: r219894

9 years agoUse enum for sched_autopref tune settings
Maxim Kuvyrkov [Tue, 20 Jan 2015 13:37:02 +0000 (13:37 +0000)]
Use enum for sched_autopref tune settings

* config/arm/arm-protos.h (enum arm_sched_autopref): New constants.
(struct tune_params): Use the enum.
* arm.c (arm_*_tune): Update.
(arm_option_override): Update.

From-SVN: r219893

9 years agore PR lto/64684 (wrong code by LTO on x86_64-linux-gnu)
Richard Biener [Tue, 20 Jan 2015 13:26:19 +0000 (13:26 +0000)]
re PR lto/64684 (wrong code by LTO on x86_64-linux-gnu)

2015-01-20  Richard Biener  <rguenther@suse.de>

PR ipa/64684
* ipa-reference.c (add_static_var): Inline ...
(analyze_function): ... here after splitting out from ...
(is_proper_for_analysis): ... this.

* gcc.dg/lto/pr64684_0.c: New testcase.
* gcc.dg/lto/pr64684_1.c: Likewise.
* gcc.dg/lto/pr64684_2.c: Likewise.
* gcc.dg/lto/pr64685_0.c: Likewise.
* gcc.dg/lto/pr64685_1.c: Likewise.

From-SVN: r219892

9 years agostatus_cxx2011.xml: Remove stray dbhtml tags.
Jonathan Wakely [Tue, 20 Jan 2015 12:31:22 +0000 (12:31 +0000)]
status_cxx2011.xml: Remove stray dbhtml tags.

* doc/xml/manual/status_cxx2011.xml: Remove stray dbhtml tags.
* doc/xml/manual/status_cxx2014.xml: Update status.
* doc/html/manual/status.html: Regenerate.

From-SVN: r219891

9 years agore PR c++/62241 (C++14 generalized lambda capture doesn't work with uniform initializ...
Paolo Carlini [Tue, 20 Jan 2015 11:58:43 +0000 (11:58 +0000)]
re PR c++/62241 (C++14 generalized lambda capture doesn't work with uniform initialization syntax.)

2015-01-20  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/62241
* g++.dg/cpp1y/lambda-init12.C: New.

From-SVN: r219890

9 years agore PR libstdc++/64650 (std::experimental::bad_optional_access is not default construc...
Jonathan Wakely [Tue, 20 Jan 2015 11:51:03 +0000 (11:51 +0000)]
re PR libstdc++/64650 (std::experimental::bad_optional_access is not default constructible)

PR libstdc++/64650
* include/experimental/optional (bad_optional_access): Add default
constructor.
* testsuite/experimental/optional/requirements.cc: Test for default
constructor.

From-SVN: r219889

9 years agoImplement N3657: heterogeneous lookup in associative containers.
Jonathan Wakely [Tue, 20 Jan 2015 11:50:58 +0000 (11:50 +0000)]
Implement N3657: heterogeneous lookup in associative containers.

* include/bits/stl_map.h (map::find<>, map::count<>,
map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New
member function templates to perform heterogeneous lookup.
* include/bits/stl_multimap.h (multimap::find<>, multimap::count<>,
multimap::lower_bound<>, multimap::upper_bound<>,
multimap::equal_range<>): Likewise.
* include/bits/stl_multiset.h (multiset::find<>, multiset::count<>,
multiset::lower_bound<>, multiset::upper_bound<>,
multiset::equal_range<>): Likewise.
* include/bits/stl_set.h (set::find<>, set::count<>,
set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
* include/bits/stl_tree.h (_Rb_tree::_S_lower_bound_tr,
_Rb_tree::_S_upper_bound_tr, _Rb_tree::_M_find_tr,
_Rb_tree::_M_count_tr, _Rb_tree::_M_lower_bound_tr,
_Rb_tree::_M_upper_bound_tr, _Rb_tree::_M_equal_range_tr): Likewise.
* testsuite/23_containers/map/operations/2.cc: New.
* testsuite/23_containers/multimap/operations/2.cc: New.
* testsuite/23_containers/multiset/operations/2.cc: New.
* testsuite/23_containers/set/operations/2.cc: New.

From-SVN: r219888

9 years agoAdd C++11 std::string constructors for locales and facets.
Jonathan Wakely [Tue, 20 Jan 2015 11:50:51 +0000 (11:50 +0000)]
Add C++11 std::string constructors for locales and facets.

* config/abi/pre/gnu.ver: Export new constructors.
* include/bits/codecvt.h (codecvt_byname): Add string constructor.
(codecvt_byname<char16_t>, codecvt_byname<char32_t>): Define explicit
specializations and declare explicit instantiations.
* include/bits/locale_classes.h (locale, collate_byname): Add string
constructors.
* include/bits/locale_facets.h (ctype_byname, numpunct_byname):
Likewise.
* include/bits/locale_facets_nonio.h (time_get_byname,
time_put_byname, moneypunct_byname, messages_byname): Likewise.
* src/c++11/codecvt.cc (codecvt_byname<char16_t>,
codecvt_byname<char32_t>): Define explicit instantiations.
* src/c++11/locale-inst.cc (time_put_byname, codecvt_byname):
Instantiate string constructors.
(ctype_byname): Define string constructor.
* testsuite/22_locale/codecvt_byname/1.cc: New.
* testsuite/22_locale/collate_byname/1.cc: New.
* testsuite/22_locale/ctype_byname/2.cc: New.
* testsuite/22_locale/messages_byname/1.cc: New.
* testsuite/22_locale/moneypunct_byname/1.cc: New.
* testsuite/22_locale/numpunct_byname/1.cc: New.

From-SVN: r219887

9 years agore PR libstdc++/64658 (std::atomic_init() undefined)
Jonathan Wakely [Tue, 20 Jan 2015 11:50:43 +0000 (11:50 +0000)]
re PR libstdc++/64658 (std::atomic_init() undefined)

PR libstdc++/64658
* include/std/atomic (atomic_init): Define.
* testsuite/29_atomics/atomic/64658.cc: New.

From-SVN: r219886

9 years agore PR tree-optimization/64410 (gcc 25% slower than clang 3.5 for adding complex numbers)
Richard Biener [Tue, 20 Jan 2015 11:06:13 +0000 (11:06 +0000)]
re PR tree-optimization/64410 (gcc 25% slower than clang 3.5 for adding complex numbers)

2015-01-20  Richard Biener  <rguenther@suse.de>

PR tree-optimization/64410
* g++.dg/vect/pr64410.cc: Require vect_double.

From-SVN: r219885

9 years ago[ARM] PR 64149: Remove -mlra/-mno-lra option for ARM.
Matthew Wahab [Tue, 20 Jan 2015 10:26:18 +0000 (10:26 +0000)]
[ARM] PR 64149: Remove -mlra/-mno-lra option for ARM.

gcc/
2015-01-20  Matthew Wahab  <matthew.wahab@arm.com>

PR target/64149
* config/arm/arm.option: Remove lra option and arm_lra_flag variable.
* config/arm/arm.h (MODE_BASE_REG_CLASS): Remove use of arm_lra_flag,
replace the conditional with it's true branch.
* config/arm/arm.c (TARGET_LRA_P): Set to hook_bool_void_true.
(arm_lra_p): Remove.

gcc/testsuite/
2015-01-20  matthewhew Wahab  <matthew.wahab@arm.com>

PR target/64149
* gcc.target/arm/armthumb1-far-jump-3.c: Remove.

From-SVN: r219884

9 years ago* config/visium/visium.h (LIB_SPEC): Adjust in default case.
Eric Botcazou [Tue, 20 Jan 2015 09:32:07 +0000 (09:32 +0000)]
* config/visium/visium.h (LIB_SPEC): Adjust in default case.

From-SVN: r219883

9 years agoLink with -lrt on Solaris 10
Rainer Orth [Tue, 20 Jan 2015 09:26:50 +0000 (09:26 +0000)]
Link with -lrt on Solaris 10

* configure.ac: Check if sched_yield and/or nanosleep need -lrt.
* configure: Regenerate.
* Makefile.am (go$(EXEEXT), gofmt$(EXEEXT), cgo$(EXEEXT)): Link
with $(LIBS).
* Makefile.in: Regenerate.

From-SVN: r219882

9 years agomul-tables.c: Move symtab.h include after coretypes.h include.
Prathamesh Kulkarni [Tue, 20 Jan 2015 09:02:56 +0000 (09:02 +0000)]
mul-tables.c: Move symtab.h include after coretypes.h include.

2015-01-20  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

* config/tilegx/mul-tables.c: Move symtab.h include after coretypes.h include.
* config/tilepro/mul-tables.c: Add includes hashtab.h, hash-set.h, vec.h,
machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h, flags.h, statistics.h,
double-int.h, real.h, fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h,
insn-config.h, expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.

From-SVN: r219881

9 years agore PR bootstrap/64676 (SEGV in tree-ssa-structalias.c solve_constraint)
Igor Zamyatin [Tue, 20 Jan 2015 08:29:09 +0000 (08:29 +0000)]
re PR bootstrap/64676 (SEGV in tree-ssa-structalias.c solve_constraint)

gcc/

PR bootstrap/64676
Revert:
2015-01-19  Igor Zamyatin  <igor.zamyatin@intel.com>

PR rtl-optimization/64081
* loop-iv.c (def_pred_latch_p): New function.
(latch_dominating_def): Allow specific cases with non-single
definitions.
(iv_get_reaching_def): Likewise.
(check_complex_exit_p): New function.
(check_simple_exit): Use check_complex_exit_p to allow certain cases
with exits not executing on any iteration.

gcc/testsuite/

PR bootstrap/64676
Revert:
2014-01-19  Igor Zamyatin  <igor.zamyatin@intel.com>

PR rtl-optimization/64081
* gcc.dg/pr64081.c: New test.

From-SVN: r219880

9 years agore PR lto/45375 ([meta-bug] Issues with building Mozilla (i.e. Firefox) with LTO)
Jan Hubicka [Tue, 20 Jan 2015 04:39:45 +0000 (05:39 +0100)]
re PR lto/45375 ([meta-bug] Issues with building Mozilla (i.e. Firefox) with LTO)

PR lto/45375
* i386.c (ix86_option_override_internal): Use ix86_tune_cost
to set branch cost.

From-SVN: r219878

9 years agoruntime: No special case for 386 complex in FFI support.
Ian Lance Taylor [Tue, 20 Jan 2015 04:18:12 +0000 (04:18 +0000)]
runtime: No special case for 386 complex in FFI support.

All supported libgo 386 targets now have complex support in
libffi.

From Uros Bizjak.

From-SVN: r219877

9 years agoNew jit API entrypoint: gcc_jit_context_compile_to_file
David Malcolm [Tue, 20 Jan 2015 01:32:48 +0000 (01:32 +0000)]
New jit API entrypoint: gcc_jit_context_compile_to_file

gcc/jit/ChangeLog:
* docs/cp/topics/results.rst: Rename to...
* docs/cp/topics/compilation.rst: ...this, and add section on
ahead-of-time compilation.
* docs/cp/topics/index.rst: Update for renaming of results.rst
to compilation.rst.
* docs/examples/emit-alphabet.bf: New file, a sample "brainf"
script.
* docs/examples/tut05-bf.c: New file, implementing a compiler
for "brainf".
* docs/internals/test-hello-world.exe.log.txt: Update to reflect
changes to logger output.
* docs/intro/index.rst: Add tutorial05.rst
* docs/intro/tutorial05.rst: New file.
* docs/topics/results.rst: Rename to...
* docs/topics/compilation.rst: ...this, and add section on
ahead-of-time compilation.
* docs/topics/index.rst: Update for renaming of results.rst to
compilation.rst.
* jit-playback.c (gcc::jit::playback::context::compile): Convert
return type from result * to void.  Move the code to convert to
dso and dlopen the result to a new pure virtual "postprocess"
method.
(gcc::jit::playback::compile_to_memory::compile_to_memory): New
function.
(gcc::jit::playback::compile_to_memory::postprocess): New
function, based on playback::context::compile.
(gcc::jit::playback::compile_to_file::compile_to_file): New
function.
(gcc::jit::playback::compile_to_file::postprocess): New function.
(gcc::jit::playback::compile_to_file::copy_file): New function.
(gcc::jit::playback::context::convert_to_dso): Move internals
to...
(gcc::jit::playback::context::invoke_driver): New method.  Add
"-shared" and "-c" options to driver's argv as needed.
* jit-playback.h: Include "timevar.h".
(gcc::jit::playback::context::compile): Convert return type from
result * to void.
(gcc::jit::playback::context::postprocess): New pure virtual
function, making this an abstract base class.
(gcc::jit::playback::context::get_tempdir): New accessor.
(gcc::jit::playback::context::invoke_driver): New function.
(class gcc::jit::playback::compile_to_memory): New subclass of
playback::context.
(class gcc::jit::playback::compile_to_file): Likewise.
* jit-recording.c (gcc::jit::recording::context::compile): Use a
playback::compile_to_memory, and extract its result.
(gcc::jit::recording::context::compile_to_file): New function.
* jit-recording.h (gcc::jit::recording::context::compile_to_file):
New function.
* libgccjit++.h (gccjit::context::compile_to_file): New method.
* libgccjit.c (gcc_jit_context_compile): Update log message to
clarify that this is an in-memory compile.
(gcc_jit_context_compile_to_file): New function.
* libgccjit.h (gcc_jit_context): Clarify that you can compile
a context more than once, and that you can compile to a file
as well as to memory.
(gcc_jit_result): Clarify that this is the result of an
in-memory compilation.
(gcc_jit_context_compile): Clarify that you can compile, and that
this is an in-memory compilation.
(enum gcc_jit_output_kind): New enum.
(gcc_jit_context_compile_to_file): New function.
(gcc_jit_context_enable_dump): Clarify comment to cover both forms
of compilation.
* libgccjit.map (gcc_jit_context_compile_to_file): New API
entrypoint.
* notes.txt: Update to show the playback::context::postprocess
virtual function.

gcc/testsuite/ChangeLog:
* jit.dg/harness.h: Include <unistd.h>.
(CHECK_NO_ERRORS): New.
(verify_code): Wrap prototype in #ifndef TEST_COMPILING_TO_FILE.
(test_jit): Support new macro TEST_COMPILING_TO_FILE for exercising
gcc_jit_context_compile_to_file.
* jit.dg/jit.exp (fixed_host_execute): Fix the code for passing on
args to the spawned executable.
(jit-expand-vars): New function.
(jit-exe-params): New variable.
(dg-jit-set-exe-params): New function.
(jit-dg-test): Detect testcases that use
jit-verify-compile-to-file and call jit-setup-compile-to-file.
Set arguments of spawned process to jit-exe-params.
(jit-get-output-filename): New function.
(jit-setup-compile-to-file): New function.
(jit-verify-compile-to-file): New function.
(jit-run-executable): New function.
(jit-verify-executable): New function.
* jit.dg/test-compile-to-assembler.c: New testcase.
* jit.dg/test-compile-to-dynamic-library.c: New testcase.
* jit.dg/test-compile-to-executable.c: New testcase.
* jit.dg/test-compile-to-object.c: New testcase.

From-SVN: r219876

9 years agoDaily bump.
GCC Administrator [Tue, 20 Jan 2015 00:16:59 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r219874

9 years agore PR lto/45375 ([meta-bug] Issues with building Mozilla (i.e. Firefox) with LTO)
Jan Hubicka [Mon, 19 Jan 2015 23:58:19 +0000 (00:58 +0100)]
re PR lto/45375 ([meta-bug] Issues with building Mozilla (i.e. Firefox) with LTO)

PR lto/45375
* i386.c (gate): Check flag_expensive_optimizations and
optimize_size.
(ix86_option_override_internal): Drop optimize_size condition
on MASK_ACCUMULATE_OUTGOING_ARGS, MASK_VZEROUPPER,
MASK_AVX256_SPLIT_UNALIGNED_LOAD, MASK_AVX256_SPLIT_UNALIGNED_STORE,
MASK_PREFER_AVX128.
(ix86_avx256_split_vector_move_misalign,
ix86_avx256_split_vector_move_misalign): Check optimize_insn_for_speed.
* sse.md (all uses of TARGET_PREFER_AVX128): Add
optimize_insn_for_speed_p check.

From-SVN: r219871

9 years agore PR target/64652 ([SH] ICE when using -mdiv=call-fp)
Oleg Endo [Mon, 19 Jan 2015 23:25:03 +0000 (23:25 +0000)]
re PR target/64652 ([SH] ICE when using -mdiv=call-fp)

gcc/testsuite/
PR target/64652
* gcc.target/sh/torture/pr64652.c (test): Rename to test_0.
(test_1): New.

From-SVN: r219870

9 years agoMIPS: Only pass floating-point options to the assembler when necessary
Matthew Fortune [Mon, 19 Jan 2015 23:05:41 +0000 (23:05 +0000)]
MIPS: Only pass floating-point options to the assembler when necessary

gcc/
* config/mips/mips.h (FP_ASM_SPEC): New define.
(ASM_SPEC): Remove floating-point options and use FP_ASM_SPEC
instead.

From-SVN: r219867

9 years agore PR libstdc++/64649 (regex_traits::lookup_classname() only works with random access...
Tim Shen [Mon, 19 Jan 2015 23:00:13 +0000 (23:00 +0000)]
re PR libstdc++/64649 (regex_traits::lookup_classname() only works with random access iterators)

PR libstdc++/64649
* include/bits/regex.tcc (regex_traits<>::lookup_collatename,
regex_traits<>::lookup_classname): Support forward iterators.
* testsuite/28_regex/traits/char/lookup_classname.cc: New testcases.
* testsuite/28_regex/traits/char/lookup_collatename.cc: New testcase.

From-SVN: r219866

9 years agore PR libstdc++/64584 (basic_regex::assign breaks *this if it throws regex_error)
Tim Shen [Mon, 19 Jan 2015 22:56:04 +0000 (22:56 +0000)]
re PR libstdc++/64584 (basic_regex::assign breaks *this if it throws regex_error)

PR libstdc++/64584
PR libstdc++/64585
* include/bits/regex.h (basic_regex<>::basic_regex,
basic_regex<>::assign, basic_regex<>::imbue,
basic_regex<>::swap, basic_regex<>::mark_count): Drop NFA after
imbuing basic_regex; Make assign() transactional against exception.
* include/bits/regex_compiler.h (__compile_nfa<>): Add back
__compile_nfa SFINAE.
* include/std/regex: Adjust include order to avoid __compile_nfa
forward declaration.
* testsuite/28_regex/basic_regex/assign/char/string.cc: New testcase.
* testsuite/28_regex/basic_regex/imbue/string.cc: New testcase.

From-SVN: r219865

9 years agore PR target/53988 ([SH] tst Rm,Rn not used for QI/HImode)
Oleg Endo [Mon, 19 Jan 2015 22:35:53 +0000 (22:35 +0000)]
re PR target/53988 ([SH] tst Rm,Rn not used for QI/HImode)

gcc/
PR target/53988
* config/sh/sh-protos.h (sh_find_set_of_reg): Make sure not to return
nullptr for insn when reaching the first insn.
* config/sh/sh.c (sh_unspec_insn_p): Rewrite using subrtx_iterator.
(sh_insn_operands_modified_between_p): Add nullptr check.
(sh_find_extending_set_of_reg): Fix log message.  Don't accept
sign extending mem load if the insn contains any UNSPEC or
UNSPEC_VOLATILE.

From-SVN: r219864

9 years agoparams.def (inline-unit-growth): Drop to 15%.
Jan Hubicka [Mon, 19 Jan 2015 22:11:03 +0000 (23:11 +0100)]
params.def (inline-unit-growth): Drop to 15%.

* params.def (inline-unit-growth): Drop to 15%.
* invoke.texi (inline-unit-growth): Document change.

From-SVN: r219863

9 years agoAdd attribute unused to dummy arguments in ffi stub
Richard Henderson [Mon, 19 Jan 2015 22:10:59 +0000 (14:10 -0800)]
Add attribute unused to dummy arguments in ffi stub

From-SVN: r219862

9 years agore PR ipa/64668 (internal compiler error: in compare_ssa_name, at ipa-icf-gimple...
Martin Liska [Mon, 19 Jan 2015 22:02:04 +0000 (23:02 +0100)]
re PR ipa/64668 (internal compiler error: in compare_ssa_name, at ipa-icf-gimple.c:120)

Fix PR64668.

* objc/compile/pr64668.m: New test.
PR ipa/64668
* ipa-icf-gimple.c (func_checker::compare_operand): Call proper
function for second argument of OBJ_TYPE_REF.

From-SVN: r219861

9 years agoMerge with upstream libffi 3ac1610aa33c887ea9b14935208943925714a33e
Richard Henderson [Mon, 19 Jan 2015 21:14:59 +0000 (13:14 -0800)]
Merge ... upstream libffi 3ac1610aa33c887ea9b14935208943925714a33e

Includes build fixes for Solaris and Cygwin.

From-SVN: r219860

9 years agore PR ipa/64218 (ICE: Segmentation fault (symtab_node::get_alias_target()) running...
Jan Hubicka [Mon, 19 Jan 2015 20:46:15 +0000 (21:46 +0100)]
re PR ipa/64218 (ICE: Segmentation fault (symtab_node::get_alias_target()) running Boost testsuite)

PR ipa/64218
* ipa-inline.c (want_inline_function_to_all_callers_p): Fix check
whether function is an alias.

From-SVN: r219859

9 years agoipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless cases.
Jan Hubicka [Mon, 19 Jan 2015 20:35:55 +0000 (21:35 +0100)]
ipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless cases.

* ipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless
cases.

From-SVN: r219858

9 years agore PR rtl-optimization/64671 (s390-linux profiledbootstrap failure)
Vladimir Makarov [Mon, 19 Jan 2015 20:13:35 +0000 (20:13 +0000)]
re PR rtl-optimization/64671 (s390-linux profiledbootstrap failure)

2015-01-19  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/64671
* lra-remat.c (operand_to_remat): Don't consider jump and call
insns.

From-SVN: r219857

9 years agoFix int vs bool issue in jit.dg/test-arith-overflow.c
David Malcolm [Mon, 19 Jan 2015 19:15:10 +0000 (19:15 +0000)]
Fix int vs bool issue in jit.dg/test-arith-overflow.c

gcc/testsuite/ChangeLog:
* jit.dg/test-arith-overflow.c: Include stdbool.h.
(create_overflow_fn): Update comment to clarify that
the third param of the created function is a bool *, not
an int *.
(verify_int_overflow_fn): Convert param "expected_ovf" from
int to bool.  Update third param of "overflow_fn_type" from int *
to bool *.  Update local "actual_ovf" from int to bool.
(verify_uint_overflow_fn): Likewise.

From-SVN: r219856

9 years agore PR ada/64640 (Ada build failure on cygwin-32)
Bernd Edlinger [Mon, 19 Jan 2015 19:00:18 +0000 (19:00 +0000)]
re PR ada/64640 (Ada build failure on cygwin-32)

2015-01-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR ada/64640
        * adaint.c: Handle __CYGWIN__ like __MINGW32__ here.
        * mingw32.h: Don't include <tchar.h> under cygwin.
        (_O_U8TEXT, _O_U16TEXT, _O_WTEXT): Set to _O_TEXT if not yet defined.

From-SVN: r219855

9 years agodefault64.h: Include rs6000-cpus.def.
David Edelsohn [Mon, 19 Jan 2015 18:33:24 +0000 (18:33 +0000)]
default64.h: Include rs6000-cpus.def.

        * config/rs6000/default64.h: Include rs6000-cpus.def.
        (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8).
        (TARGET_DEFAULT) [BIG_ENDIAN]: Use POWER4.
        * config/rs6000/driver-rs6000.c (detect_processor_aix): Add POWER7
        and POWER8.
        * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Always default to
        POWER8.
        * config/rs6000/rs6000.c (rs6000_file_start): Emit .machine
        pseudo-op to specify assembler dialect.

From-SVN: r219854

9 years agore PR ipa/64664 (ICE: tree check: expected function_decl, have <invalid tree code...
Martin Liska [Mon, 19 Jan 2015 18:07:08 +0000 (19:07 +0100)]
re PR ipa/64664 (ICE: tree check: expected function_decl, have <invalid tree code> in opts_for_fn, at tree.h:4706)

Fix PR64664.

        PR ipa/64664
* ipa-icf.c (sem_item_optimizer::filter_removed_items):
Handle safe potentially removed nodes during filtering.

From-SVN: r219853

9 years agore PR libffi/64607 (Multilib test stops working in libffi)
Richard Henderson [Mon, 19 Jan 2015 17:58:06 +0000 (09:58 -0800)]
re PR libffi/64607 (Multilib test stops working in libffi)

PR libffi/64607

 * testsuite/lib/libffi.exp (libffi-init): Append -L for the
 just built libstdc++.

From-SVN: r219852

9 years agojit: fix crash in memento_of_new_string_literal::make_debug_string
David Malcolm [Mon, 19 Jan 2015 17:16:37 +0000 (17:16 +0000)]
jit: fix crash in memento_of_new_string_literal::make_debug_string

gcc/jit/ChangeLog:
* jit-recording.c
(gcc::jit::recording::memento_of_new_string_literal::make_debug_string):
Add missing format string.

From-SVN: r219851

9 years agostrerror.c: Do not declare sys_nerr or sys_errlist if already macros
Eli Zaretskii [Mon, 19 Jan 2015 15:28:56 +0000 (15:28 +0000)]
strerror.c: Do not declare sys_nerr or sys_errlist if already macros

This fixes a MinGW warning in libiberty/strerror.c

2015-01-19  Eli Zaretskii  <eliz@gnu.org>

        * strerror.c <sys_nerr, sys_errlist>: Declare only if they aren't
        macros.

From-SVN: r219849

9 years agoIPA ICF: add no_icf attribute.
Martin Liska [Mon, 19 Jan 2015 15:20:16 +0000 (16:20 +0100)]
IPA ICF: add no_icf attribute.

* c-common.c (handle_noicf_attribute): New function.
* doc/extend.texi (no_icf): Add new attribute description.
* ipa-icf.c (sem_item_optimizer::merge_classes): Handle cases
where the pass attempts to merge a function with no_icf attribute.
* gcc.dg/ipa/ipa-icf-33.c: New test.

From-SVN: r219848

9 years agoImprove documentation of register constraints.
Ramana Radhakrishnan [Mon, 19 Jan 2015 14:55:28 +0000 (14:55 +0000)]
Improve documentation of register constraints.

While looking at PR target/64532- I realized we haven't documented all
the register constraints. I'm not documenting the other immediate
constraints as it is not clear to me how much of that is actually
useful yet and I don't have the time this afternoon to clean this up.

Built documentation and looked at it.

Applied.

Ramana

From-SVN: r219847

9 years agorange_access.h (begin, end): Use _GLIBCXX14_CONSTEXPR on overloads for arrays.
Ville Voutilainen [Mon, 19 Jan 2015 14:37:03 +0000 (16:37 +0200)]
range_access.h (begin, end): Use _GLIBCXX14_CONSTEXPR on overloads for arrays.

2015-01-19  Ville Voutilainen  <ville.voutilainen@gmail.com>
    Jonathan Wakely  <jwakely@redhat.com>

* include/bits/range_access.h (begin, end): Use _GLIBCXX14_CONSTEXPR
on overloads for arrays.
(cbegin, cend, rbegin, rend, crbegin, crend): New.
* testsuite/24_iterators/range_access_cpp14.cc: New.

Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r219846

9 years ago* gcc.target/aarch64/advsimd-intrinsics/compute-ref-data.h
Fei Yang [Mon, 19 Jan 2015 14:21:45 +0000 (14:21 +0000)]
* gcc.target/aarch64/advsimd-intrinsics/compute-ref-data.h
       (buffer_float64x2, buffer_pad_float64x2): New helper variables.
       * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h (hfloat64_t,
       result_float64x2, expected_hfloat64x2): New helper type, variable and
       declaration.
       (buffer_float64x2, buffer_pad_float64x2): New helper variables.
       * gcc.target/aarch64/advsimd-intrinsics/vfma.c: Don't run on target
       without the FMA feature and exclude test for vfmaq_f64 on arm*-*-*.
       * gcc.target/aarch64/advsimd-intrinsics/vfms.c: Don't run on target
       without the FMA feature and exclude test for vfmsq_f64 on arm*-*-*.
       * gcc.target/aarch64/advsimd-intrinsics/vfma_n.c: Don't run on arm*-*-*
       and target without the FMA feature.

From-SVN: r219845

9 years ago[AArch64] Remove ashift pattern for QI/HI
Jiong Wang [Mon, 19 Jan 2015 14:13:33 +0000 (14:13 +0000)]
[AArch64] Remove ashift pattern for QI/HI

2015-01-19  Jiong Wang  <jiong.wang@arm.com>
    Andrew Pinski  <apinski@cavium.com>

  gcc/
    PR target/64304
    * config/aarch64/aarch64.md (define_insn "*ashl<mode>3_insn"): Deleted.
    (ashl<mode>3): Don't expand if operands[2] is not constant.

  gcc/testsuite/
    * gcc.target/aarch64/pr64304.c: New testcase.

Co-Authored-By: Andrew Pinski <apinski@cavium.com>
From-SVN: r219844

9 years ago[AArch64] PR 64448: Combine ((x ^ y) & m) ^ x into bsl/bif instruction
Kyrylo Tkachov [Mon, 19 Jan 2015 14:03:23 +0000 (14:03 +0000)]
[AArch64] PR 64448: Combine ((x ^ y) & m) ^ x into bsl/bif instruction

PR target/64448
* config/aarch64/aarch64-simd.md (aarch64_simd_bsl<mode>_internal):
Match xor-and-xor RTL pattern.

From-SVN: r219843

9 years agore PR rtl-optimization/64081 (r217828 prevents RTL loop unroll)
Igor Zamyatin [Mon, 19 Jan 2015 13:58:54 +0000 (13:58 +0000)]
re PR rtl-optimization/64081 (r217828 prevents RTL loop unroll)

gcc/

PR rtl-optimization/64081
* loop-iv.c (def_pred_latch_p): New function.
(latch_dominating_def): Allow specific cases with non-single
definitions.
(iv_get_reaching_def): Likewise.
(check_complex_exit_p): New function.
(check_simple_exit): Use check_complex_exit_p to allow certain cases
with exits not executing on any iteration.

gcc/testsuite/

PR rtl-optimization/64081
* gcc.dg/pr64081.c: New test.

From-SVN: r219842

9 years ago* common.opt (fgraphite): Fix a typo.
Jakub Jelinek [Mon, 19 Jan 2015 13:41:44 +0000 (14:41 +0100)]
* common.opt (fgraphite): Fix a typo.

From-SVN: r219841

9 years agoaarch64-simd.md (aarch64_<maxmin_uns>p<mode>): New pattern.
Felix Yang [Mon, 19 Jan 2015 13:22:41 +0000 (13:22 +0000)]
aarch64-simd.md (aarch64_<maxmin_uns>p<mode>): New pattern.

        * config/aarch64/aarch64-simd.md (aarch64_<maxmin_uns>p<mode>): New
        pattern.
        * config/aarch64/aarch64-simd-builtins.def (smaxp, sminp, umaxp,
        uminp, smax_nanp, smin_nanp): New builtins.
        * config/aarch64/arm_neon.h (vpmax_s8, vpmax_s16, vpmax_s32,
        vpmax_u8, vpmax_u16, vpmax_u32, vpmaxq_s8, vpmaxq_s16, vpmaxq_s32,
        vpmaxq_u8, vpmaxq_u16, vpmaxq_u32, vpmax_f32, vpmaxq_f32, vpmaxq_f64,
        vpmaxqd_f64, vpmaxs_f32, vpmaxnm_f32, vpmaxnmq_f32, vpmaxnmq_f64,
        vpmaxnmqd_f64, vpmaxnms_f32, vpmin_s8, vpmin_s16, vpmin_s32, vpmin_u8,
        vpmin_u16, vpmin_u32, vpminq_s8, vpminq_s16, vpminq_s32, vpminq_u8,
        vpminq_u16, vpminq_u32, vpmin_f32, vpminq_f32, vpminq_f64, vpminqd_f64,
        vpmins_f32, vpminnm_f32, vpminnmq_f32, vpminnmq_f64, vpminnmqd_f64,
        vpminnms_f32): Rewrite using builtin functions.

From-SVN: r219840