platform/upstream/linaro-gcc.git
8 years agoFix small typos in the coding rule enforcement warnings.
ville [Wed, 23 Sep 2015 18:22:21 +0000 (18:22 +0000)]
Fix small typos in the coding rule enforcement warnings.

/cp
2015-09-23  Ville Voutilainen  <ville.voutilainen@gmail.com>

Fix small typos in the coding rule enforcement warnings.
* parser.c (cp_parser_namespace_definition): Replace 'namepace'
with 'namespace'.

/testsuite
2015-09-23  Ville Voutilainen  <ville.voutilainen@gmail.com>

Fix small typos in the coding rule enforcement warnings.
* g++.dg/diagnostic/disable.C: Replace 'namepace'
with 'namespace'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228061 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago runtime: rewrite lfstack packing/unpacking to look more like that in Go
ian [Wed, 23 Sep 2015 17:07:15 +0000 (17:07 +0000)]
runtime: rewrite lfstack packing/unpacking to look more like that in Go

    Reviewed-on: https://go-review.googlesource.com/13037

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228057 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix --enable-offload-targets/-foffload handling, pt. 2
tschwinge [Wed, 23 Sep 2015 14:52:57 +0000 (14:52 +0000)]
Fix --enable-offload-targets/-foffload handling, pt. 2

gcc/
* gcc.c (handle_foffload_option): Don't lose the trailing NUL
character when appending to offload_targets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228054 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix --enable-offload-targets/-foffload handling, pt. 1
tschwinge [Wed, 23 Sep 2015 14:52:50 +0000 (14:52 +0000)]
Fix --enable-offload-targets/-foffload handling, pt. 1

gcc/
* configure.ac (offload_targets, OFFLOAD_TARGETS): Separate
offload targets by commas, not colons.
* config.in: Regenerate.
* configure: Likewise.
* gcc.c (driver::maybe_putenv_COLLECT_LTO_WRAPPER): Due to that,
instead of setting up the default offload targets here...
(process_command): ..., do it here.
libgomp/
* plugin/configfrag.ac (OFFLOAD_TARGETS): Clarify that offload
targets are separated by commas.
* config.h.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228053 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoRefactor omp_reduction_init: omp_reduction_init_op
tschwinge [Wed, 23 Sep 2015 14:46:55 +0000 (14:46 +0000)]
Refactor omp_reduction_init: omp_reduction_init_op

gcc/
* omp-low.h (omp_reduction_init_op): Declare.
* omp-low.c (omp_reduction_init_op): New, broken out of ...
(omp_reduction_init): ... here.  Call it.
* tree-parloops.c (initialize_reductions): Use
omp_reduction_init_op.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228052 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-09-23 Richard Biener <rguenther@suse.de>
rguenth [Wed, 23 Sep 2015 14:09:48 +0000 (14:09 +0000)]
2015-09-23   Richard Biener  <rguenther@suse.de>

PR middle-end/67662
* fold-const.c (fold_binary_loc): Do not reassociate two vars with
undefined overflow unless they will cancel out.

* gcc.dg/ubsan/pr67662.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228051 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoAVX-512. Fix emit in '*<mshift><mode>3' pattern.
kyukhin [Wed, 23 Sep 2015 13:28:12 +0000 (13:28 +0000)]
AVX-512. Fix emit in '*<mshift><mode>3' pattern.

gcc/
 * config/i386/i386.md (define_insn "*<mshift><mode>3"): Fix
 insn emit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228050 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[c-family/49654/49655] reject invalid options in pragma diagnostic
manu [Wed, 23 Sep 2015 13:07:07 +0000 (13:07 +0000)]
[c-family/49654/49655] reject invalid options in pragma diagnostic

Use find_opt instead of linear search through options in
handle_pragma_diagnostic (PR 49654) and reject non-warning options and
options not valid for the current language (PR 49655).

gcc/testsuite/ChangeLog:

2015-09-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/49655
* gcc.dg/pragma-diag-6.c: New test.

gcc/ChangeLog:

2015-09-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/49655
* opts.h (write_langs): Declare.
* opts-global.c (write_langs): Make it extern.

gcc/c-family/ChangeLog:

2015-09-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/49654
PR c/49655
* c-pragma.c (handle_pragma_diagnostic): Detect non-warning
options and options not valid for the current language.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228049 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/
olegendo [Wed, 23 Sep 2015 11:55:45 +0000 (11:55 +0000)]
gcc/
PR target/67391
* config/sh/sh.md (addsi3, *addsi3_compact): Don't check for overlapping
regs when matching the pattern.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228046 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[AArch64] Fix vcvt_high_f64_f32 and vcvt_figh_f32_f64 intrinsics.
jgreenhalgh [Wed, 23 Sep 2015 11:39:48 +0000 (11:39 +0000)]
[AArch64] Fix vcvt_high_f64_f32 and vcvt_figh_f32_f64 intrinsics.

gcc/

* config/aarch64/aarch64-simd.md
(aarch64_float_truncate_hi_v4sf): Rewrite as an expand.
(aarch64_float_truncate_hi_v4sf_le): New.
(aarch64_float_truncate_hi_v4sf_be): Likewise.

gcc/testsuite/

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228044 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoLimit number of symlinks that canonical() will resolve
redi [Wed, 23 Sep 2015 11:26:50 +0000 (11:26 +0000)]
Limit number of symlinks that canonical() will resolve

* src/filesystem/ops.cc (canonical): Simplify error handling and
limit number of symlinks that can be resolved.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228043 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix semantics of Filesystem TS directory iterators
redi [Wed, 23 Sep 2015 11:26:45 +0000 (11:26 +0000)]
Fix semantics of Filesystem TS directory iterators

[class.directory_iterator] p4 and [directory_iterator.members] p4
require that only the default constructor and ignored permission denied
errors can create the end iterator.

* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Remove _GLIBCXX_
prefix from HAVE_STRUCT_DIRENT_D_TYPE.
* config.h.in: Regenerate.
* configure: Regenerate.
* include/experimental/fs_dir.h (operator==, operator==):
Use owner_before instead of pointer equality.
(directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove.
* src/filesystem/dir.cc (ErrorCode): Remove.
(_Dir::advance): Change ErrorCode parameter to error_code*, add
directory_options parameter and check it on error.
(opendir): Rename to open_dir to avoid clashing with macro. Change
ErrorCode parameter to error_code*.
(make_shared_dir): Remove.
(native_readdir) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Don't set errno.
(directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove.
(directory_iterator(const path&, directory_options, error_code*)):
Pass options to _Dir::advance and create non-end iterator on error.
(recursive_directory_iterator(const path&, directory_options,
error_code*)): Clear error_code on ignored error, create non-end
iterator otherwise.
(recursive_directory_iterator::increment): Pass _M_options to
_Dir::advance.
(recursive_directory_iterator::pop): Likewise.
* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
New.
* testsuite/experimental/filesystem/iterators/
recursive_directory_iterator.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228042 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix filesystem::create_directories() function
redi [Wed, 23 Sep 2015 11:25:59 +0000 (11:25 +0000)]
Fix filesystem::create_directories() function

* src/filesystem/ops.cc (is_dot, is_dotdot): Define new helpers.
(create_directories): Fix error handling.
* testsuite/experimental/filesystem/operations/create_directories.cc:
New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228041 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-09-23 Richard Biener <rguenther@suse.de>
rguenth [Wed, 23 Sep 2015 11:11:48 +0000 (11:11 +0000)]
2015-09-23  Richard Biener  <rguenther@suse.de>

* tree-ssa-structalias.c (intra_create_variable_infos): Build
representatives for all restrict qualified pointer destinations.

* g++.dg/tree-ssa/restrict2.C: Un-XFAIL testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228040 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoAVX-512. Add kshift[lr][bwdq]. Fix iterator.
kyukhin [Wed, 23 Sep 2015 07:08:56 +0000 (07:08 +0000)]
AVX-512. Add kshift[lr][bwdq]. Fix iterator.

gcc/
* config/i386/i386.md (define_code_attr mshift): New.
(define_mode_iterator SWI1248_AVX512BW): Rename ...
(SWI1248_AVX512BW): ... to this. Make QI enabled for TARGET_AVX512DQ
only.
(define_insn "*k<logic><mode>"): Use new iterator name.
(define_insn "*<mshift><mode>3"): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228034 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix use of valgrind API
miyuki [Wed, 23 Sep 2015 02:31:14 +0000 (02:31 +0000)]
Fix use of valgrind API

gcc/
PR middle-end/67649
* memory-block.h (memory_block_pool::allocate): Use valgrind API to
mark the block as accessible.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228033 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Wed, 23 Sep 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228031 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix -Wmisleading-indentation false-positive
ppalka [Tue, 22 Sep 2015 23:06:31 +0000 (23:06 +0000)]
Fix -Wmisleading-indentation false-positive

gcc/c-family/ChangeLog:

* c-indentation.c (should_warn_for_misleading_indentation):
Float out and consolidate the calls to get_visual_column that
are passed guard_exploc as an argument.  Compare
next_stmt_vis_column with guard_line_first_nws instead of with
body_line_first_nws.

gcc/testsuite/ChangeLog:

* c-c++-common/Wmisleading-indentation.c: Augment test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228027 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoshrink-wrap: Handle multiple predecessors of prologue
segher [Tue, 22 Sep 2015 20:50:38 +0000 (20:50 +0000)]
shrink-wrap: Handle multiple predecessors of prologue

The caller of try_shrink_wrapping wants to be returned a single edge to
put the prologue on.  To make that work even if there are multiple edges
(all pointing to the PRO block) that need the prologue, add a new block
that becomes the destination of all such edges, and then jumps to PRO.

In the general case, some edges to PRO will need to be redirected, and
not all edges *can* be redirected.  This adds a can_get_prologue function
that detects such cases.  This then happily can also handle the "prologue
clobbers some reg that is live on the edge we want to insert it on" case.

Not all EDGE_CROSSING edges can be redirected, so handle those the same
as EDGE_COMPLEX edges.

2015-09-22  Segher Boessenkool  <segher@kernel.crashing.org>

* function.c (thread_prologue_and_epilogue_insns): Delete
orig_entry_edge argument to try_shrink_wrapping.
* shrink-wrap.c (can_get_prologue): New function.
(can_dup_for_shrink_wrapping): Also handle EDGE_CROSSING.
(try_shrink_wrapping): Delete orig_entry_edge argument.  Use
can_get_prologue where needed.  Remove code that finds a single
edge for the prologue.  Remove code that tests if any reg clobbered
by the prologue is live on the prologue edge.  Remove code that finds
the new prologue edge after duplicating blocks.  Make a new prologue
block and edge.
* shrink-wrap.h (try_shrink_wrapping): Delete orig_entry_edge argument.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228022 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[PATCH] Remove undefined behaviour from hppa backend
law [Tue, 22 Sep 2015 18:39:10 +0000 (18:39 +0000)]
[PATCH] Remove undefined behaviour from hppa backend

* config/pa/pa.h (MIN_LEGIT_64BIT_CONST_INT: Avoid undefined
behavior.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228021 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago c-family/
nathan [Tue, 22 Sep 2015 15:34:49 +0000 (15:34 +0000)]
c-family/
* c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
Wnamespaces): New C++ warnings.

cp/
* decl.c (xref_basetypes): Check virtual and/or multiple
inheritance warning.
* parser.c (cp_parser_namespace_definition): Check namespaces
warning.
* pt.c (push_template_decl_real): Check templates warning.

* doc/invoke.texi  (-Wmultiple-inheritance, -Wvirtual-inheritance,
-Wtemplates, -Wnamespaces): Document.

testsuite/
* g++.dg/diagostic/disable.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228019 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago Disconnect -Wabi=<n> from -fabi-compat-version=<n>.
jason [Tue, 22 Sep 2015 15:18:26 +0000 (15:18 +0000)]
Disconnect -Wabi=<n> from -fabi-compat-version=<n>.

gcc/c-family/
* c-common.h (abi_compat_version_crosses): New.
(warn_abi_version): Declare.
* c-common.c: Define it.
* c-opts.c (c_common_post_options): Handle it.
flag_abi_compat_version defaults to 8.
gcc/cp/
* mangle.c (abi_warn_or_compat_version_crosses): New.
Use it instead of abi_version_crosses.
(mangle_decl): Deal with -fabi-compat-version and -Wabi separately.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228017 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoHandle restrict pointer references as restrict in AA
vries [Tue, 22 Sep 2015 14:14:56 +0000 (14:14 +0000)]
Handle restrict pointer references as restrict in AA

2015-09-22  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/67671
* tree-ssa-structalias.c (create_variable_info_for_1): Handle restrict
pointer references as restrict.

* g++.dg/pr67671.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228015 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoUpdate Andrew Cagney's address.
jason [Tue, 22 Sep 2015 13:31:20 +0000 (13:31 +0000)]
Update Andrew Cagney's address.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228014 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
cltang [Tue, 22 Sep 2015 12:19:27 +0000 (12:19 +0000)]
2015-09-22  Chung-Lin Tang  <cltang@codesourcery.com>

* config/nios2/nios2.c (nios2_legitimize_address): When handling
'reg + reloc' cases, allow first operand to be non-REG, and use
force_reg() to enforce address pattern.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228012 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoPR target/67480
kyukhin [Tue, 22 Sep 2015 11:14:25 +0000 (11:14 +0000)]
PR target/67480

gcc/
* config/i386/sse.md (define_mode_iterator VI48_AVX_AVX512F): New.
(define_mode_iterator VI12_AVX_AVX512F): New.
(define_insn "<mask_codefor><code><mode>3<mask_name>"): Change
all iterators to VI48_AVX_AVX512F. Extract remaining modes ...
(define_insn "*<code><mode>3"): ... Into new pattern using
VI12_AVX_AVX512F iterators without masking.

gcc/testsuite/
* gcc.target/i386/pr67480.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228010 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoAVX-512. Introduce SKylake server CPU.
kyukhin [Tue, 22 Sep 2015 11:10:21 +0000 (11:10 +0000)]
AVX-512. Introduce SKylake server CPU.

gcc/
* config.gcc: Support "skylake-avx512".
        * config/i386/i386-c.c (ix86_target_macros_internal): Handle
        PROCESSOR_SKYLAKE_AVX512.
        * config/i386/i386.c (m_SKYLAKE_AVX512): Define.
        (processor_target_table): Add "skylake-avx512".
        (PTA_SKYLAKE_AVX512): Define.
(ix86_option_override_internal): Add "skylake_avx512".
        (fold_builtin_cpu): Handle "skylake_avx512", add F_AVX512VL
F_AVX512BW, F_AVX512DQ, F_AVX512ER, F_AVX512PF, F_AVX512CD.
        * config/i386/i386.h (TARGET_SKYLAKE_AVX512): Define.
        (processor_type): Add PROCESSOR_SKYLAKE_AVX512.
* doc/invoke.texi (skylake-avx512): New.

libgcc/
* libgcc/config/i386/cpuinfo.c (enum processor_features): Add
FEATURE_AVX512VL, FEATURE_AVX512BW, FEATURE_AVX512DQ,
FEATURE_AVX512CD, FEATURE_AVX512ER, FEATURE_AVX512PF.
(get_available_features): Habdle new features.

gcc/testsuite/
        * gcc.target/i386/funcspec-5.c: Test avx512vl, avx512bw,
avx512dq, avx512cd, avx512er, avx512pf and skylake-avx512.
* gcc.target/i386/builtin_target.c: Test  avx512vl, avx512bw,
avx512dq, avx512cd, avx512er and avx512pf.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228009 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoAVX-512. Fix patterns for kunpck insns.
kyukhin [Tue, 22 Sep 2015 09:47:39 +0000 (09:47 +0000)]
AVX-512. Fix patterns for kunpck insns.

gcc/
* gcc/config/i386/i386.md (define_insn "kunpckhi"): Fix
operand in pattern.
(define_insn "kunpcksi"): Ditto.
(define_insn "kunpckdi"): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228005 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoAVX-512. Fix kxnor insn split.
kyukhin [Tue, 22 Sep 2015 09:42:26 +0000 (09:42 +0000)]
AVX-512. Fix kxnor insn split.

gcc/
* gcc/config/i386/i386.md (define_split not/xor SWI1248x): Use
iterator instead of fixed modes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228003 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[AArch64] Use atomic load-operate instructions for update-fetch patterns.
mwahab [Tue, 22 Sep 2015 09:41:15 +0000 (09:41 +0000)]
[AArch64] Use atomic load-operate instructions for update-fetch patterns.

2015-09-22  Matthew Wahab  <matthew.wahab@arm.com>

* config/aarch64/aarch64-protos.h (aarch64_gen_atomic_ldop):
Adjust declaration.
* config/aarch64/aarch64.c (aarch64_emit_bic): New.
(aarch64_gen_atomic_ldop): Adjust comment.  Add parameter
out_result.  Update to support update-fetch operations.
* config/aarch64/atomics.md (aarch64_atomic_exchange<mode>_lse):
Adjust for change to aarch64_gen_atomic_ldop.
(aarch64_atomic_<atomic_optab><mode>_lse): Likewise.
(aarch64_atomic_fetch_<atomic_optab><mode>_lse): Likewise.
(atomic_<atomic_optab>_fetch<mode>): Change to an expander.
(aarch64_atomic_<atomic_optab>_fetch<mode>): New.
(aarch64_atomic_<atomic_optab>_fetch<mode>_lse): New.

gcc/testsuite
2015-09-22  Matthew Wahab  <matthew.wahab@arm.com>

* gcc.target/aarch64/atomic-inst-ldadd.c: Add tests for
update-fetch operations.
* gcc.target/aarch64/atomic-inst-ldlogic.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228002 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[AArch64] Use atomic load-operate instructions for fetch-update patterns.
mwahab [Tue, 22 Sep 2015 09:35:17 +0000 (09:35 +0000)]
[AArch64] Use atomic load-operate instructions for fetch-update patterns.

gcc/
2015-09-22  Matthew Wahab  <matthew.wahab@arm.com>

* config/aarch64/aarch64-protos.h
(aarch64_atomic_ldop_supported_p): Declare.
* config/aarch64/aarch64.c (aarch64_atomic_ldop_supported_p): New.
(enum aarch64_atomic_load_op_code): New.
(aarch64_emit_atomic_load_op): New.
(aarch64_gen_atomic_ldop): Update to support load-operate
patterns.
* config/aarch64/atomics.md (atomic_<atomic_optab><mode>): Change
to an expander.
(aarch64_atomic_<atomic_optab><mode>): New.
(aarch64_atomic_<atomic_optab><mode>_lse): New.
(atomic_fetch_<atomic_optab><mode>): Change to an expander.
(aarch64_atomic_fetch_<atomic_optab><mode>): New.
(aarch64_atomic_fetch_<atomic_optab><mode>_lse): New.

gcc/testsuite/
2015-09-22  Matthew Wahab  <matthew.wahab@arm.com>

* gcc.target/aarch64/atomic-inst-ldadd.c: New.
* gcc.target/aarch64/atomic-inst-ldlogic.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228001 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[AArch64] Add atomic load-operate instructions.
mwahab [Tue, 22 Sep 2015 09:30:51 +0000 (09:30 +0000)]
[AArch64] Add atomic load-operate instructions.

2015-09-22  Matthew Wahab  <matthew.wahab@arm.com>

* config/aarch64/aarch64/atomics.md (UNSPECV_ATOMIC_LDOP): New.
(UNSPECV_ATOMIC_LDOP_OR): New.
(UNSPECV_ATOMIC_LDOP_BIC): New.
(UNSPECV_ATOMIC_LDOP_XOR): New.
(UNSPECV_ATOMIC_LDOP_PLUS): New.
(ATOMIC_LDOP): New.
(atomic_ldop): New.
(aarch64_atomic_load<atomic_ldop><mode>): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228000 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[AArch64] Make BIC, other logical instructions, available.
mwahab [Tue, 22 Sep 2015 09:24:47 +0000 (09:24 +0000)]
[AArch64] Make BIC, other logical instructions, available.

2015-09-22  Matthew Wahab  <matthew.wahab@arm.com>

* config/aarch64/aarch64.md
(<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Make a named
pattern.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227999 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[AArch64] Use atomic instructions for swap and fetch-update operations.
mwahab [Tue, 22 Sep 2015 09:19:55 +0000 (09:19 +0000)]
[AArch64] Use atomic instructions for swap and fetch-update operations.

gcc/
2015-09-22  Matthew Wahab  <matthew.wahab@arm.com>

* config/aarch64/aarch64-protos.h (aarch64_gen_atomic_ldop):
Declare.
* config/aarch64/aarch64.c (aarch64_emit_atomic_swap): New.
(aarch64_gen_atomic_ldop): New.
(aarch64_split_atomic_op): Fix whitespace and add a comment.
* config/aarch64/atomics.md (UNSPECV_ATOMIC_SWP): New.
(aarch64_compare_and_swap<mode>_lse): Fix some whitespace.
(atomic_exchange<mode>): Replace with an expander.
(aarch64_atomic_exchange<mode>): New.
(aarch64_atomic_exchange<mode>_lse): New.
(aarch64_atomic_<atomic_optab><mode>): Fix some whitespace.
(aarch64_atomic_swp<mode>): New.

gcc/testsuite/
2015-09-22  Matthew Wahab  <matthew.wahab@arm.com>

* gcc.target/aarch64/atomic-inst-ops.inc: (TEST_MODEL): New.
(TEST_ONE): New.
        * gcc.target/aarch64/atomic-inst-swap.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227998 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[PATCH tree-inline] Do not say "called from here" with UNKNOWN_LOCATION
manu [Tue, 22 Sep 2015 09:14:04 +0000 (09:14 +0000)]
[PATCH tree-inline] Do not say "called from here" with UNKNOWN_LOCATION

In https://sourceware.org/ml/libc-alpha/2014-12/msg00300.html, we give a
"called from here" note without actually having a location, which looks
strange. I haven't been able to generate such a testcase. If this happens,
try to at least point to the current function being called. If that location is
also unknown, skip the extra note.

gcc/ChangeLog:

2015-09-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* tree-inline.c (expand_call_inline): Use inform for extra note.
Do not give a note with UNKNOWN_LOCATION.
Replace input_location with gimple_location (stmt).
Use true/false instead of TRUE/FALSE.

gcc/testsuite/ChangeLog:

2015-09-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* gcc.target/i386/inline_error.c (int bar): Use dg-message for note.
* gcc.target/i386/pr57756.c (static __inline int caller): Likewise.
* gcc.target/i386/pr59789.c (f1): Likewise.
* gcc.target/i386/intrinsics_5.c (__m128i foo): Likewise.
* gcc.target/i386/intrinsics_6.c: Likewise.
* gcc.dg/winline-5.c (int t): Likewise.
* gcc.dg/winline-9.c (t): Likewise.
* gcc.dg/always_inline2.c (q): Likewise.
* gcc.dg/winline-2.c (inline int t): Likewise.
* gcc.dg/winline-6.c: Likewise.
* gcc.dg/winline-10.c (void g): Likewise.
* gcc.dg/pr49243.c (void parse): Likewise.
* gcc.dg/always_inline3.c (q2): Likewise.
* gcc.dg/winline-3.c: Likewise.
* gcc.dg/winline-7.c (inline void *t): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227997 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoHandle single restrict pointer in struct in create_variable_info_for_1
vries [Tue, 22 Sep 2015 08:15:32 +0000 (08:15 +0000)]
Handle single restrict pointer in struct in create_variable_info_for_1

2015-09-22  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/67666
* tree-ssa-structalias.c (create_variable_info_for_1): Handle struct
with single field non-conservative.

* g++.dg/pr67666.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227996 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
cltang [Tue, 22 Sep 2015 06:45:22 +0000 (06:45 +0000)]
2015-09-22  Chung-Lin Tang  <cltang@codesourcery.com>

PR libgomp/67141
* oacc-int.h (goacc_host_init): Add declaration.
* oacc-host.c (goacc_host_init): Remove static and constructor attribute.
* oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227994 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoRevert LRA SPARC changes for now.
davem [Tue, 22 Sep 2015 03:52:45 +0000 (03:52 +0000)]
Revert LRA SPARC changes for now.

gcc/

PR/67622
Revert:
2015-09-11  David S. Miller  <davem@davemloft.net>

* config/sparc/constraints.md: Make "U" constraint a real register
constraint.
* config/sparc/sparc.c (TARGET_LRA_P): Define.
(D_MODES, DF_MODES): Add missing cast.
(TF_MODES, TF_MODES_NO_S): Include T_MODE.
(OF_MODES, OF_MODES_NO_S): Include O_MODE.
(sparc_register_move_cost): Decrease Niagara/UltrsSPARC memory
cost to 8.
* config/sparc/sparc.h (PROMOTE_MODE): Define.
* config/sparc/sparc.md (*movsi_lo_sum, *movsi_high): Do not
provide these insn when flag_pic.

2015-09-17  David S. Miller  <davem@davemloft.net>

* config/sparc/sparc-protos.h (sparc_secondary_memory_needed):
Declare.
* config/sparc/sparc.c (sparc_secondary_memory_needed): New
function.
* config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): Use it.
(HARD_REGNO_CALLER_SAVE_MODE): Define.
* config/sparc/sparc.md (sethi_di_medlow, losum_di_medlow, seth44)
(setm44, setl44, sethh, setlm, sethm, setlo, embmedany_sethi)
(embmedany_losum, embmedany_brsum, embmedany_textuhi)
(embmedany_texthi, embmedany_textulo, embmedany_textlo): Do not
provide when flag_pic.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227993 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Tue, 22 Sep 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227992 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[FT32] fixes for the default hardware startup
jamesbowman [Mon, 21 Sep 2015 22:31:53 +0000 (22:31 +0000)]
[FT32] fixes for the default hardware startup

libgcc/
        * config/ft32/crti-hw.S: Use __PMSIZE to allow configurable
        memory layout. Deal correctly with BSS region larger than 32K.
        Handle a watchdog reset like a power-on reset. Clean up unused
        code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227986 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-09-21 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Mon, 21 Sep 2015 21:40:26 +0000 (21:40 +0000)]
2015-09-21  Steven G. Kargl  <kargl@gcc.gnu.org>

* resolve.c (nonscalar_typebound_assign): Fix typos in comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227985 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-09-21 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Mon, 21 Sep 2015 18:09:13 +0000 (18:09 +0000)]
2015-09-21  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/67615
* resolve.c (gfc_resolve_code): Check for scalar expression in
arithmetic-if.

2015-09-21  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/67615
* gfortran.dg/pr67615.f90: new test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227981 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[PATCH] Fix undefined behavior in h8300 backend
law [Mon, 21 Sep 2015 17:09:53 +0000 (17:09 +0000)]
[PATCH] Fix undefined behavior in h8300 backend

* config/h8300/h8300.md (andsi3_ashift_n_lower): Avoid undefined
behavior.

* gcc.target/h8300/andsi3_ashift_n_lower.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227978 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago/c-family
ville [Mon, 21 Sep 2015 15:50:30 +0000 (15:50 +0000)]
/c-family
2015-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>

Complete the implementation of N4230, Nested namespace definition.
* c-cppbuiltin.c: Add __cpp_namespace_attributes and
__cpp_nested_namespace_definitions.

/cp
2015-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>

Complete the implementation of N4230, Nested namespace definition.
* parser.c (cp_parser_namespace_definition): Support namespace
attributes both before and after the namespace identifier.

/testsuite
2015-09-21  Ville Voutilainen  <ville.voutilainen@gmail.com>

Complete the implementation of N4230, Nested namespace definition.
* g++.dg/cpp1y/feat-cxx11-neg.C: Add tests for C++17 namespace
attributes and nested namespace definitions.
* g++.dg/cpp1y/feat-cxx98-neg.C: Likewise.
* g++.dg/cpp1z/feat-cxx1z.C: Likewise.
* g++.dg/cpp1y/feat-cxx14-neg.C: New.
* g++.dg/cpp1z/namespace-attribs.C: Likewise.
* g++.dg/cpp1z/nested-namespace-def1.C: Add tests for attributes
appearing before the namespace identifier.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227977 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoHandle lines encoded into several maps in linemap_position_for_loc_and_offset
manu [Mon, 21 Sep 2015 14:52:09 +0000 (14:52 +0000)]
Handle lines encoded into several maps in linemap_position_for_loc_and_offset

linemap_position_for_loc_and_offset() tries to generate a location_t
encoding a column offset from the current location, for example, point
to a certain character inside a string. This is trivial to do when the
new location "fits within" the map of the original location. However,
it may happen that the (long) line corresponding to the original
location is encoded in several maps, thus the new location should
actually be encoded in a subsequent map from the original location.
This patch detects this case and adjusts the map correspondingly.

(This shows that the line-map representation is quite wasteful in this
case, because line-maps always start at column 0. That is, map[0]
highest location may encode up to line 8 column 80, then
map[1]->start_location starts encoding at line 8 column 0. Thus, there
are two location_t values that point to the same source location.)

libcpp/ChangeLog:

2015-09-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/66415
* line-map.c (linemap_position_for_loc_and_offset): Handle the
case of long lines encoded in multiple maps.

gcc/testsuite/ChangeLog:

2015-09-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/66415
* gcc.dg/cpp/pr66415-1.c: Test column number.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227975 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/spu/spu.c (spu_expand_insv): Avoid undefined behavior.
uweigand [Mon, 21 Sep 2015 14:41:10 +0000 (14:41 +0000)]
* config/spu/spu.c (spu_expand_insv): Avoid undefined behavior.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227974 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-09-21 Richard Biener <rguenther@suse.de>
rguenth [Mon, 21 Sep 2015 14:12:58 +0000 (14:12 +0000)]
2015-09-21  Richard Biener  <rguenther@suse.de>

* passes.c (rest_of_decl_compilation): Do not call
dwarf2out_early_global_decl for aliases.

* g++.dg/ext/attr-alias-3.C: Add -g.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227973 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-09-21 Richard Biener <rguenther@suse.de>
rguenth [Mon, 21 Sep 2015 14:02:27 +0000 (14:02 +0000)]
2015-09-21  Richard Biener  <rguenther@suse.de>

PR debug/67664
* dwarf2out.c (add_location_or_const_value_attribute): Remove
attribute parameter.  Early exit if either DW_AT_const_value
or DW_AT_location are present already.
(gen_variable_die): Adjust caller.
(dwarf2out_late_global_decl): Likewise.

* g++.dg/debug/dwarf2/pr67764.C: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227972 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agotestsuite/
olegendo [Mon, 21 Sep 2015 13:49:07 +0000 (13:49 +0000)]
testsuite/
PR target/64345
* gcc.target/sh/pr64345-1.c: Adjust expected insn counts for SH2A.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227971 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/
olegendo [Mon, 21 Sep 2015 12:57:31 +0000 (12:57 +0000)]
gcc/
PR target/67657
* config/sh/sh.c (sh_remove_overlapping_post_inc,
sh_peephole_emit_move_insn): Add new functions.
* config/sh/sh-protos.h (sh_remove_overlapping_post_inc,
sh_peephole_emit_move_insn): Declere them.
* config/sh/sh.md: Use them in various peephole2 patterns.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227969 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-09-21 Richard Biener <rguenther@suse.de>
rguenth [Mon, 21 Sep 2015 12:33:23 +0000 (12:33 +0000)]
2015-09-21  Richard Biener  <rguenther@suse.de>

PR middle-end/67651
* rtlanal.c (nonzero_address_p): SYMBOL_REFs may have zero
address with -fno-delete-null-pointer-checks.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227968 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoCatch excess warning in gcc.dg/pragma-diag-5.c
manu [Mon, 21 Sep 2015 12:26:18 +0000 (12:26 +0000)]
Catch excess warning in gcc.dg/pragma-diag-5.c

We xfail at emitting the correct location, but we still need to catch the
warning.

2015-09-21 Manuel López-Ibáñez <manu@gcc.gnu.org>

* gcc.dg/pragma-diag-5.c: Catch excess warning.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227967 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix bootstrap error introduced in r227870
redi [Mon, 21 Sep 2015 11:44:08 +0000 (11:44 +0000)]
Fix bootstrap error introduced in r227870

PR libstdc++/67647
* include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
(basic_string::shrink_to_fit): Fix #endif placement.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227966 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[RS6000] Migrate from reduc_xxx to reduc_xxx_scal optabs
alalaw01 [Mon, 21 Sep 2015 10:38:27 +0000 (10:38 +0000)]
[RS6000] Migrate from reduc_xxx to reduc_xxx_scal optabs

* config/rs6000/altivec.md (reduc_splus_<mode>): Rename to...
(reduc_plus_scal_<mode>): ...this, add rs6000_expand_vector_extract.
(reduc_uplus_v16qi): Remove.

* config/rs6000/vector.md (VEC_reduc_name): Change "splus" to "plus".
(reduc_<VEC_reduc_name>_v2df): Remove.
(reduc_<VEC_reduc_name>_v4sf): Remove.
(reduc_<VEC_reduc:VEC_reduc_name>_scal_<VEC_F:name>): New.

* config/rs6000/vsx.md (vsx_reduc_<VEC_reduc_name>_v2df): Declare
gen_ function by removing * prefix.
(vsx_reduc_<VEC_reduc_name>_v4sf): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227965 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[PR middle-end/60832] Do not convert widest_int to tree just for printing it.
manu [Mon, 21 Sep 2015 10:11:24 +0000 (10:11 +0000)]
[PR middle-end/60832] Do not convert widest_int to tree just for printing it.

In do_warn_aggressive_loop_optimizations, we convert to a tree just to print a
widest_int. Apart from overly complicated, this results in printing '3u'
instead of just '3'.

Unfortunately, adding a printf-like conversion specifier would require making
pretty-print.c link with wide-int.cc, which will include a lot of new
dependencies into several other programs (gcov-tool for example). It would be
possible to add the conversion specifier to every FE pretty-printer, but this
still would require updating c-format.c, which is far from trivial. A simpler
approach is to convert to a string rather than to a tree.

In addition, "iteration 3 invokes undefined behavior within this loop" seems to
me clearer than "iteration 3 invokes undefined behavior; containing loop".

gcc/testsuite/ChangeLog:

2015-09-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR middle-end/60832
* gcc.dg/pr53265.c: Update.

gcc/ChangeLog:

2015-09-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR middle-end/60832
* tree-ssa-loop-niter.c (do_warn_aggressive_loop_optimizations):
Print i_bound without converting it to a tree.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227964 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[ARM] Replacing variable swaps that use a temporary variable with a call to std:...
ktkachov [Mon, 21 Sep 2015 10:07:44 +0000 (10:07 +0000)]
[ARM] Replacing variable swaps that use a temporary variable with a call to std::swap in gcc/config/arm/arm.c

On behalf of <bilyan.borisov@arm.com>

2015-09-21  Bilyan Borisov  <bilyan.borisov@arm.com>

* config/arm/arm.c (thumb_output_move_mem_multiple): Replaced
operands[4] operands[5] swap with std::swap, removed tmp variable.
(arm_evpc_neon_vzip): Replaced in0/in1 and
out0/out1 swaps with std::swap, removed x variable.
(arm_evpc_neon_vtrn): Replaced in0/int1 and
out0/out1 swaos with std::swap, removed x variable.
(arm_expand_vec_perm_const_1): Replaced
d->op0/d->op1 swap with std::swap, removed x variable.
(arm_evpc_neon_vuzp): Replaced in0/in1 and
out0/out1 swaps with std::swap, removed x variable.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227963 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-09-21 Jonathan Yong <10walls@gmail.com>
ktietz [Mon, 21 Sep 2015 09:58:44 +0000 (09:58 +0000)]
2015-09-21  Jonathan Yong  <10walls@gmail.com>

        * config/i386/cygwin.h (STARTFILE_SPEC): Explicitly search
        sysroot/usr/lib/32api for additional win32 libraries,
        fixes failing Cygwin bootstrapping.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227962 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * gcc.target/arm/stack-checking.c: Skip for Thumb1.
ebotcazou [Mon, 21 Sep 2015 08:16:32 +0000 (08:16 +0000)]
* gcc.target/arm/stack-checking.c: Skip for Thumb1.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227960 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/
olegendo [Mon, 21 Sep 2015 07:23:23 +0000 (07:23 +0000)]
gcc/
* doc/invoke.texi (SH Options): Undocument SH5/SH64 related options.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227959 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/testsuite/
olegendo [Mon, 21 Sep 2015 01:43:50 +0000 (01:43 +0000)]
gcc/testsuite/
PR target/59478
* gcc.target/sh/pr59478.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227958 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/
olegendo [Mon, 21 Sep 2015 00:17:22 +0000 (00:17 +0000)]
gcc/
PR target/67126
* config/sh/sh.md (*reg_lsb_t): Emit bld insn on SH2A.
(*mov_t_msb_neg): Rewrite negc pattern.

gcc/testsuite/
PR target/67126
* gcc.target/sh/pr51244-12.c: Adjust testcase.
* gcc.target/sh/pr54236-2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227957 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Mon, 21 Sep 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227956 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR middle-end/67619
uros [Sun, 20 Sep 2015 18:07:58 +0000 (18:07 +0000)]
PR middle-end/67619
* lib/target-supports.exp (check_effective_target_builtin_eh_return):
New procedure.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227952 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-09-20 Kai Tietz <ktietz70@googlemail.com>
ktietz [Sun, 20 Sep 2015 17:33:05 +0000 (17:33 +0000)]
2015-09-20  Kai Tietz  <ktietz70@googlemail.com>

* MAINTAINERS: Update email.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227951 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[AArch64][5/5] Cleanup immediate generation code in aarch64_internal_mov_immediate
jiwang [Sun, 20 Sep 2015 16:46:12 +0000 (16:46 +0000)]
[AArch64][5/5] Cleanup immediate generation code in aarch64_internal_mov_immediate

2015-09-20  Wilco Dijkstra  <wdijkstr@arm.com>

* config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Cleanup
immediate generation code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227950 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[AArch64][4/5] Remove redundant code
jiwang [Sun, 20 Sep 2015 16:43:28 +0000 (16:43 +0000)]
[AArch64][4/5] Remove redundant code

2015-09-20  Wilco Dijkstra  <wdijkstr@arm.com>

* config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Remove
redundant immediate generation code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227949 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[AArch64][3/5] Remove dead code
jiwang [Sun, 20 Sep 2015 16:41:26 +0000 (16:41 +0000)]
[AArch64][3/5] Remove dead code

2015-09-20  Wilco Dijkstra  <wdijkstr@arm.com>

* config/aarch64/aarch64.c (aarch64_bitmasks): Remove.
(AARCH64_NUM_BITMASKS): Remove.
(aarch64_bitmasks_cmp): Remove.
(aarch64_build_bitmask_table): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227948 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[AArch64][2/5] Improve aarch64_internal_mov_immediate by using faster algorithm
jiwang [Sun, 20 Sep 2015 16:37:39 +0000 (16:37 +0000)]
[AArch64][2/5] Improve aarch64_internal_mov_immediate by using faster algorithm

2015-09-20  Wilco Dijkstra  <wdijkstr@arm.com>

* config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Replace
slow immediate matching loops with a faster algorithm.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227947 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[AArch64][1/5] Reimplement aarch64_bitmask_imm
jiwang [Sun, 20 Sep 2015 16:34:44 +0000 (16:34 +0000)]
[AArch64][1/5] Reimplement aarch64_bitmask_imm

2015-09-20  Wilco Dijkstra  <wdijkstr@arm.com>

* config/aarch64/aarch64.c (aarch64_bitmask_imm): Reimplement using
faster algorithm.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227946 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/testsuite/
olegendo [Sun, 20 Sep 2015 14:36:58 +0000 (14:36 +0000)]
gcc/testsuite/
* gcc.target/sh/pr43417.c: Move target independent test to ...
* gcc.c-torture/compile/pr43417.c: ... here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227945 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/testsuite/
olegendo [Sun, 20 Sep 2015 14:09:36 +0000 (14:09 +0000)]
gcc/testsuite/
* gcc.target/sh/sh.exp (check_effective_target_sh4a,
check_effective_target_big_endian, check_effective_target_little_endian,
check_effective_target_any_fpu, check_effective_target_double_fpu,
check_effective_target_use_single_only_fpu,
check_effective_target_default_single_fpu,
check_effective_target_no_fpu, check_effective_target_has_xf_regs,
check_effective_target_has_fsca, check_effective_target_has_fsrra,
check_effective_target_has_fpchg, check_effective_target_has_dyn_shift,
check_effective_target_fmovd_enabled,
check_effective_target_has_privileged, check_effective_target_has_pref,
check_effective_target_banked_r0r7_isr,
check_effective_target_stack_save_isr): New effective target checks.
* gcc.target/sh/pr51244-16.c: Merge into pr51244-15.c.
* gcc.target/sh/pr51244-20-sh2a.c: Merge into pr51244-20.c.
* gcc.target/sh/pr51244-3.c: Merge into pr51244-2.c
* gcc.target/sh/pr54089-5.c: Merge into pr54089-4.c.
* gcc.target/sh/20080410-1.c: Use new effective target checks.
* gcc.target/sh/attr-isr-nosave_low_regs.c: Likewise.
* gcc.target/sh/attr-isr.c: Likewise.
* gcc.target/sh/fpul-usage-1.c: Likewise.
* gcc.target/sh/hiconst.c: Likewise.
* gcc.target/sh/mfmovd.c: Likewise.
* gcc.target/sh/pr21255-3.c: Likewise.
* gcc.target/sh/pr33135-1.c: Likewise.
* gcc.target/sh/pr33135-2.c: Likewise.
* gcc.target/sh/pr33135-3.c: Likewise.
* gcc.target/sh/pr33135-4.c: Likewise.
* gcc.target/sh/pr39423-2.c: Likewise.
* gcc.target/sh/pr49880-4.c: Likewise.
* gcc.target/sh/pr49880-5.c: Likewise.
* gcc.target/sh/pr50749-sf-postinc-1.c: Likewise.
* gcc.target/sh/pr50749-sf-postinc-2.c: Likewise.
* gcc.target/sh/pr50749-sf-postinc-3.c: Likewise.
* gcc.target/sh/pr50749-sf-postinc-4.c: Likewise.
* gcc.target/sh/pr50749-sf-predec-1.c: Likewise.
* gcc.target/sh/pr50749-sf-predec-2.c: Likewise.
* gcc.target/sh/pr50749-sf-predec-3.c: Likewise.
* gcc.target/sh/pr50749-sf-predec-4.c: Likewise.
* gcc.target/sh/pr50751-2.c: Likewise.
* gcc.target/sh/pr50751-3.c: Likewise.
* gcc.target/sh/pr50751-5.c: Likewise.
* gcc.target/sh/pr50751-6.c: Likewise.
* gcc.target/sh/pr50751-8.c: Likewise.
* gcc.target/sh/pr51244-15.c: Likewise.
* gcc.target/sh/pr51244-2.c: Likewise.
* gcc.target/sh/pr51244-20.c: Likewise.
* gcc.target/sh/pr51244-6.c: Likewise.
* gcc.target/sh/pr52483-4.c: Likewise.
* gcc.target/sh/pr53511-1.c: Likewise.
* gcc.target/sh/pr53512-1.c: Likewise.
* gcc.target/sh/pr53512-2.c: Likewise.
* gcc.target/sh/pr53512-3.c: Likewise.
* gcc.target/sh/pr53512-4.c: Likewise.
* gcc.target/sh/pr53513-1.c: Likewise.
* gcc.target/sh/pr54089-2.c: Likewise.
* gcc.target/sh/pr54089-3.c: Likewise.
* gcc.target/sh/pr54089-4.c: Likewise.
* gcc.target/sh/pr54602-2.c: Likewise.
* gcc.target/sh/pr54602-3.c: Likewise.
* gcc.target/sh/pr54602-4.c: Likewise.
* gcc.target/sh/pr54680.c: Likewise.
* gcc.target/sh/pr55303-1.c: Likewise.
* gcc.target/sh/pr55303-2.c: Likewise.
* gcc.target/sh/pr55303-3.c: Likewise.
* gcc.target/sh/pr56547-1.c: Likewise.
* gcc.target/sh/pr56547-2.c: Likewise.
* gcc.target/sh/pr61195.c: Likewise.
* gcc.target/sh/pr61996.c: Likewise.
* gcc.target/sh/pr6526.c: Likewise.
* gcc.target/sh/pragma-isr-nosave_low_regs.c: Likewise.
* gcc.target/sh/pragma-isr-trapa2.c: Likewise.
* gcc.target/sh/prefetch.c: Likewise.
* gcc.target/sh/rte-delay-slot.c: Likewise.
* gcc.target/sh/sh2a-band.c: Likewise.
* gcc.target/sh/sh2a-bclr.c: Likewise.
* gcc.target/sh/sh2a-bclrmem.c: Likewise.
* gcc.target/sh/sh2a-bld.c: Likewise.
* gcc.target/sh/sh2a-bor.c: Likewise.
* gcc.target/sh/sh2a-bset.c: Likewise.
* gcc.target/sh/sh2a-bsetmem.c: Likewise.
* gcc.target/sh/sh2a-bxor.c: Likewise.
* gcc.target/sh/sh2a-jsrn.c: Likewise.
* gcc.target/sh/sh2a-movi20s.c: Likewise.
* gcc.target/sh/sh2a-movrt.c: Likewise.
* gcc.target/sh/sh2a-resbank.c: Likewise.
* gcc.target/sh/sh2a-rtsn.c: Likewise.
* gcc.target/sh/sh2a-tbr-jump.c: Likewise.
* gcc.target/sh/sh4a-bitmovua.c: Likewise.
* gcc.target/sh/sh4a-cosf.c: Likewise.
* gcc.target/sh/sh4a-fsrra.c: Likewise.
* gcc.target/sh/sh4a-memmovua.c: Likewise.
* gcc.target/sh/sh4a-sincosf.c: Likewise.
* gcc.target/sh/sh4a-sinf.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227944 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[PATCH] Fix 47679 by improving jump threading
law [Sun, 20 Sep 2015 06:37:39 +0000 (06:37 +0000)]
[PATCH] Fix 47679 by improving jump threading

PR tree-optimization/47679
* tree-ssa-dom.c (record_temporary_equivalences): No longer static.
* tree-ssa-dom.h (record_temporary_equivalences): Add prototype.
* tree-ssa-threadedge.c: Include tree-ssa-dom.h.
(thread_through_normal_block): Use record_temporary_equivalences.

        PR tree-optimization/47679
* g++.dg/warn/Wuninitialized-6.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227942 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoswitch from gimple to gimple*
tbsaunde [Sun, 20 Sep 2015 00:52:59 +0000 (00:52 +0000)]
switch from gimple to gimple*

This renames the gimple_statement_base struct to gimple removes the
typedef of gimple_statement_base * to gimple, and then adjusts all of
the places that use the type.

gcc/ChangeLog:

2015-09-19  Trevor Saunders  <tbsaunde@tbsaunde.org>

* coretypes.h (gimple): Change typedef to be a forward
declaration.
* gimple.h (gimple_statement_base): rename to gimple.
* (all functions and types using gimple): Adjust.
* *.[ch]: Likewise.

gcc/cp/ChangeLog:

2015-09-19  Trevor Saunders  <tbsaunde@tbsaunde.org>

* cp-gimplify.c (gimplify_must_not_throw_expr): Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227941 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Sun, 20 Sep 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227940 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-09-19 Andrew Dixie <andrewd@gentrack.com>
dje [Sat, 19 Sep 2015 22:57:47 +0000 (22:57 +0000)]
2015-09-19  Andrew Dixie  <andrewd@gentrack.com>
            David Edelsohn  <dje.gcc@gmail.com>

        * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): Delete.
        (ASM_PREFERRED_EH_DATA_FORMAT): Define.
        (EH_FRAME_THROUGH_COLLECT2): Define.
        (EH_TABLES_CAN_BE_READ_ONLY): Define.
        (ASM_OUTPUT_DWARF_PCREL): Define.
        (ASM_OUTPUT_DWARF_DATAREL): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227937 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR libstdc++/67361
timshen [Sat, 19 Sep 2015 20:56:27 +0000 (20:56 +0000)]
PR libstdc++/67361
* include/bits/regex_error.h: Add __throw_regex_error that
supports string.
* include/bits/regex_automaton.h: Add more specific exception
messages.
* include/bits/regex_automaton.tcc: Likewise.
* include/bits/regex_compiler.h: Likewise.
* include/bits/regex_compiler.tcc: Likewise.
* include/bits/regex_scanner.h: Likewise.
* include/bits/regex_scanner.tcc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227936 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/pa/pa.c (pa_function_ok_for_sibcall): Remove special treatment
danglin [Sat, 19 Sep 2015 18:32:28 +0000 (18:32 +0000)]
* config/pa/pa.c (pa_function_ok_for_sibcall): Remove special treatment
of TARGET_ELF32.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227933 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago/cp
ville [Sat, 19 Sep 2015 04:44:01 +0000 (04:44 +0000)]
/cp
2015-09-18  Ville Voutilainen  <ville.voutilainen@gmail.com>

Implement nested namespace definitions.
* parser.c (cp_parser_namespace_definition): Grok nested namespace
definitions.

/testsuite
2015-09-18  Ville Voutilainen  <ville.voutilainen@gmail.com>

Implement nested namespace definitions.
* g++.dg/cpp1z/nested-namespace-def1.C: New.
* g++.dg/cpp1z/nested-namespace-def2.C: Likewise.
* g++.dg/cpp1z/nested-namespace-def3.C: Likewise.
* g++.dg/lookup/name-clash5.C: Adjust.
* g++.dg/lookup/name-clash6.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227932 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[PATCH] avail_expr_stack is no longer file scoped
law [Sat, 19 Sep 2015 02:56:15 +0000 (02:56 +0000)]
[PATCH] avail_expr_stack is no longer file scoped

       PR tree-optimization/47679
        * tree-ssa-dom.c (avail_exprs_stack): No longer file scoped.  Move
        it here ...
        (dom_opt_dom_walker): New private member holding the avail_exprs_stack
        object.  Update constructor.
        (pass_dominator::execute):  Corresponding chagnes to declaration
        and initialization of avail_exprs_stack.  Update constructor call
        for dom_opt_dom_walker object.
        (lookup_avail_expr, record_cond): Accept additional argument.  Pass
        it down to children as needed.
        (record_equivalences_from_incoming_edge): Likewise.
        (eliminate_redundant_computations): Likewise.
        (record_equivalences_from_stmt): Likewise.
        (simplify_stmt_for_jump_threading): Likewise.
        (record_temporary_equivalences): Likewise.
        (optimize_stmt): Likewise.
        (dom_opt_dom_walker::thread_across_edge): Update access to
        avail_exprs_stack object and pass it to children as needed.
        (dom_opt_dom_walker::before_dom_children): Similarly.
        (dom_opt_dom_walker::after_dom_children): Similarly.
        * tree-ssa-threadedge.c (pfn_simplify): New typedef.
        (record_temporary_equivalences_from_stmts_at_dest): Use new typedef.
        Add avail_expr_stack argument.  Pass it to children as needed.
        (dummy_simplify): Likewise.
        (simplify_control_stmt_condition): Likewise.
        (thread_around_empty_blocks): Likewise.
        (thread_through_normal_block): Likewise.
        (thread_across_edge): Likewise.
        * tree-ssa-threadedge.h (thread_across_edge): Update prototype.
        * tree-vrp.c (simplify_stmt_for_jump_threading): Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227931 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Sat, 19 Sep 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227929 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoMisplaced return in previous commit.
manu [Fri, 18 Sep 2015 22:34:53 +0000 (22:34 +0000)]
Misplaced return in previous commit.

2015-09-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* c-pragma.c (handle_pragma_diagnostic): Fix wrong return.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227924 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoUse explicit locations for some warnings in c-pragma.c.
manu [Fri, 18 Sep 2015 19:36:19 +0000 (19:36 +0000)]
Use explicit locations for some warnings in c-pragma.c.

gcc/cp/ChangeLog:

2015-09-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* parser.c (pragma_lex): Add loc argument. Rearrange the code to
make it more similar to the C version.

gcc/c-family/ChangeLog:

2015-09-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* c-pragma.c (handle_pragma_diagnostic): Use explicit location
when warning.
* c-pragma.h (pragma_lex): Add optional loc argument.

gcc/c/ChangeLog:

2015-09-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* c-parser.c (pragma_lex): Add loc argument.

gcc/testsuite/ChangeLog:

2015-09-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* gcc.dg/pragma-diag-5.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227923 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[PATCH] const_and_copies is no longer file scoped
law [Fri, 18 Sep 2015 19:33:48 +0000 (19:33 +0000)]
[PATCH] const_and_copies is no longer file scoped

        PR tree-optimization/47679
* tree-ssa-dom.c (const_and_copies): No longer file scoped.  Move
it here ...
(dom_opt_dom_walker): New private member holding the const_and_copies
object.  Update constructor.
(pass_dominator::execute): Corresponding changes to declaration
and initialization of const_and_copies.  Update constructor call
for the dom_opt_dom_walker object.
(record_temporary_equivalences): Accept const_and_copies argument
pass it down to children as needed.
(record_equality): Likewise.
(record_equivalences_from_incoming_edge): Likewise.
(cprop_into_successor_phis, optimize_stmt): Likewise.
(eliminate_redundant_computations): Likewise.
(dom_opt_dom_walker::thread_across_edge): Update access to
const_and_copies object and pass it to children as needed.
(dom_opt_dom_walker::before_dom_children): Similarly.
(dom_opt_dom_walker::after_dom_children): Similarly.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227922 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[PATCH] avail_exprs is no longer file scoped
law [Fri, 18 Sep 2015 19:12:22 +0000 (19:12 +0000)]
[PATCH] avail_exprs is no longer file scoped

* tree-ssa-dom.c (avail_exprs): No longer file scoped.  Bury
it into the avail_exprs_stack class.
(pass_dominator::execute): Corresponding changes to declaration
and initialization of avail_exprs.  Pass avail_exprs to
dump_dominator_optimization_stats.
(record_cond): Extract avail_exprs from avail_exprs_stack.
(lookup_avail_expr): Similarly.
(htab_staticstics): Remove unnecessary prototype.  Move to earlier
position in file.
(dump_dominator_optimization_stats): Make static and prototype.
Add argument for the hash table to dump.
(debug_dominator_optimization_stats): Remove.
* tree-ssa-dom.h (dump_dominator_optimization_stats): Remove
prototype.
(debug_dominator_optimization_stats): Similarly.
* tree-ssa-scopedtables.h (class avail_exprs_stack): Add missing
"void" in prototype for pop_to_marker method.  Add accessor method
for the underlying avail_exprs table.

* tree-ssa-threadedge.c: Remove trailing whitespace.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227921 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/pa/pa-protos.h (pa_cint_ok_for_move): Change argument type to
danglin [Fri, 18 Sep 2015 18:56:10 +0000 (18:56 +0000)]
* config/pa/pa-protos.h (pa_cint_ok_for_move): Change argument type to
unsigned.
(pa_ldil_cint_p): Likewise.
* config/pa/pa.c (pa_cint_ok_for_move): likewise.
(pa_ldil_cint_p): Likewise. Change signed casts to unsigned.
Update callers.
* config/pa/pa.md: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227920 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoMove diagnostic_show_locus and friends out into a new source file
dmalcolm [Fri, 18 Sep 2015 18:27:44 +0000 (18:27 +0000)]
Move diagnostic_show_locus and friends out into a new source file

gcc/ChangeLog:
* Makefile.in (OBJS-libcommon): Add diagnostic-show-locus.o.
* diagnostic.c (adjust_line): Move to diagnostic-show-locus.c.
(diagnostic_show_locus): Likewise.
(diagnostic_print_caret_line): Likewise.
* diagnostic-show-locus.c: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227915 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoUpdate copyright.
dje [Fri, 18 Sep 2015 18:14:45 +0000 (18:14 +0000)]
Update copyright.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227912 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * dwarf2out.c (switch_to_eh_frame_section): Add ATTRIBUTE_UNUSED to
dje [Fri, 18 Sep 2015 18:03:26 +0000 (18:03 +0000)]
    * dwarf2out.c (switch_to_eh_frame_section): Add ATTRIBUTE_UNUSED to
        "back" parameter. Declare label in #if block.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227911 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR middle-end/67619
uros [Fri, 18 Sep 2015 16:27:51 +0000 (16:27 +0000)]
PR middle-end/67619
* except.c (expand_builtin_eh_return): Use copy_addr_to_reg to copy
the address to a register.

testsuite/ChangeLog:

PR middle-end/67619
* gcc.dg/torture/pr67619.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227909 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[PATCH] Break out phi-only cprop into its own file
law [Fri, 18 Sep 2015 15:29:01 +0000 (15:29 +0000)]
[PATCH] Break out phi-only cprop into its own file

PR tree-optimization/47679
* Makefile.in (OBJS): Add tree-ssa-phionlycprop.o
* tree-ssa-dom.c: Remove unnecessary header includes.
(remove_stmt_or_phi): Moved from here into tree-ssa-phionlycprop.c
(get_rhs_or_phi_arg, get_lhs_or_phi_result): Likewise.
(propagate_rhs_into_lhs, eliminate_const_or_copy): Likewise.
(eliminate_degenerate_phis_1, pass_phi_only_cprop): Likewise.
(pass_phi_only_cprop::execute): Likewise.
(make_pass_phi_only_cprop): Likewise.
* tree-ssa-phionlycprop.c: New file with moved code.  Eliminate
uses of file scoped statics by passing the required objects
as parameters wherever needed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227908 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/rs6000/aix61.h (STARTFILE_SPEC): Add crtdbase.o.
dje [Fri, 18 Sep 2015 14:20:01 +0000 (14:20 +0000)]
    * config/rs6000/aix61.h (STARTFILE_SPEC): Add crtdbase.o.
        * config/rs6000/rs6000-protos.h (rs6000_asm_output_dwarf_pcrel):
        Declare.
        (rs6000_asm_output_dwarf_datarel): Declare.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227907 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agolibgcc/
dje [Fri, 18 Sep 2015 14:10:36 +0000 (14:10 +0000)]
libgcc/
        * config.host (powerpc-ibm-aix*): Add crtdbase.o to extra_parts.
        * config/rs6000/crtdbase.S: New file.
        * config/rs6000/t-aix-cxa: Build crtdbase.o.

gcc/
        * defaults.h (EH_FRAME_SECTION_NAME): Depend on
        EH_FRAME_THROUGH_COLLECT2.
        * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Add case for
        DW_EH_PE_datarel.
        * dwarf2out.c (switch_to_eh_frame_section): Use a read-only section
        even if EH_FRAME_SECTION_NAME is undefined.  Restrict special
        collect2 labels to EH_FRAME_THROUGH_COLLECT2.
        * except.c (switch_to_exception_section): Use a read-only section
        even if EH_FRAME_SECTION_NAME is undefined.
        * system.h (EH_FRAME_IN_DATA_SECTION): Poison.
        * collect2.c (write_c_file_stat): Provide dbase on AIX.
        (scan_prog_file): Don't export __dso_handle nor
        __gcc_unwind_dbase.
        * config/rs6000/aix.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
        (EH_TABLES_CAN_BE_READ_ONLY): Define.
        (ASM_OUTPUT_DWARF_PCREL): Define.
        (ASM_OUTPUT_DWARF_DATAREL): Define.
        (EH_FRAME_THROUGH_COLLECT2): Define.
        (EH_FRAME_IN_DATA_SECTION): Delete.
        * config/rs6000/rs6000.c (rs6000_aix_asm_output_dwarf_pcrel): New.
        (rs6000_aix_asm_output_dwarf_datarel): New.
        (rs6000_xcoff_asm_init_sections): Don't set exception_section.
        * config/spu/spu-elf.h (EH_FRAME_IN_DATA_SECTION): Delete.
        (EH_FRAME_THROUGH_COLLECT2): Define.
        * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Delete.
        (EH_FRAME_THROUGH_COLLECT2): Define.
        (EH_TABLES_CAN_BE_READ_ONLY): Define.
        * doc/tm.texi.in (EH_FRAME_IN_DATA_SECTION): Delete.
        (EH_FRAME_THROUGH_COLLECT2): New.
        (ASM_OUTPUT_DWARF_DATAREL): New.
        * doc/tm.texi: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227906 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-09-18 Richard Biener <rguenther@suse.de>
rguenth [Fri, 18 Sep 2015 12:59:32 +0000 (12:59 +0000)]
2015-09-18  Richard Biener  <rguenther@suse.de>

* dwarf2out.c (append_entry_to_tmpl_value_parm_die_table): Assert
we're in early phase.
(schedule_generic_params_dies_gen): Likewise.
(gen_remaining_tmpl_value_param_die_attribute): Do only as much
work as possible, retaining unhandled cases.
(gen_scheduled_generic_parms_dies): Set early-dwarf flag and
clear out generic_type_instances at the end.
(dwarf2out_finish): Move call to gen_scheduled_generic_parms_dies...
(dwarf2out_early_finish): ... here.  Do most of
gen_remaining_tmpl_value_param_die_attribute here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227905 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix errors due to extra includes in extc++.h
redi [Fri, 18 Sep 2015 11:21:05 +0000 (11:21 +0000)]
Fix errors due to extra includes in extc++.h

* include/precompiled/extc++.h: Fix bootstrap error due to
unconditional inclusion of <ext/enc_filebuf.h>.
* include/ext/random: Check for definition of UINT32_C.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227902 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agocompletely_scalarize arrays as well as records.
alalaw01 [Fri, 18 Sep 2015 10:55:11 +0000 (10:55 +0000)]
completely_scalarize arrays as well as records.

gcc/:

PR tree-optimization/67283
* tree-sra.c (type_consists_of_records_p): Rename to...
(scalarizable_type_p): ...this, add case for ARRAY_TYPE.
(completely_scalarize_record): Rename to...
(completely_scalarize): ...this, add ARRAY_TYPE case, move some code to:
(scalarize_elem): New.
(analyze_all_variable_accesses): Follow renamings.

gcc/testsuite/:

* gcc.dg/tree-ssa/sra-15.c: New.
* gcc.dg/tree-ssa/sra-16.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227901 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-09-18 Richard Biener <rguenther@suse.de>
rguenth [Fri, 18 Sep 2015 08:42:34 +0000 (08:42 +0000)]
2015-09-18  Richard Biener  <rguenther@suse.de>

* dwarf2out.c (add_location_or_const_value_attribute): Do nothing
in early-dwarf.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227899 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-09-18 Richard Biener <rguenther@suse.de>
rguenth [Fri, 18 Sep 2015 07:57:00 +0000 (07:57 +0000)]
2015-09-18  Richard Biener  <rguenther@suse.de>

PR tree-optimization/66142
* fold-const.c (operand_equal_p): When OEP_ADDRESS_OF
treat MEM[&x] and x the same.
* tree-ssa-sccvn.h (vn_reference_fold_indirect): Remove.
* tree-ssa-sccvn.c (vn_reference_fold_indirect): Return true
when we simplified sth.
(vn_reference_maybe_forwprop_address): Likewise.
(valueize_refs_1): When we simplified through
vn_reference_fold_indirect or vn_reference_maybe_forwprop_address
set valueized_anything to true.
(vn_reference_lookup_3): Use stmt_kills_ref_p to see whether
one ref kills the other instead of just a offset-based test.
* tree-ssa-alias.c (stmt_kills_ref_p): Use OEP_ADDRESS_OF
for the operand_equal_p test to compare bases and also compare
sizes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227896 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Fri, 18 Sep 2015 00:16:14 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227892 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-09-17 Catherine Moore <clm@codesourcery.com>
clm [Thu, 17 Sep 2015 23:16:53 +0000 (23:16 +0000)]
2015-09-17  Catherine Moore  <clm@codesourcery.com>

        * src/c++11/debug.cc: Include <cstdio>.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227888 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoInclude <cerrno> in src/c++11/random.cc
redi [Thu, 17 Sep 2015 21:28:00 +0000 (21:28 +0000)]
Include <cerrno> in src/c++11/random.cc

2015-09-17  Gerald Pfeifer  <gerald@pfeifer.com>

* src/c++11/random.cc: Include <cerrno>.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227887 138bc75d-0d04-0410-961f-82ee72b054a4