platform/upstream/gcc.git
10 years agore PR middle-end/52478 (-ftrapv calls the wrong functions in libgcc)
Richard Biener [Mon, 28 Jul 2014 08:47:38 +0000 (08:47 +0000)]
re PR middle-end/52478 (-ftrapv calls the wrong functions in libgcc)

2014-07-28  Richard Biener  <rguenther@suse.de>

PR middle-end/52478
* optabs.c (gen_int_libfunc): For -ftrapv libfuncs make
sure to register SImode ones, not only >= word_mode ones.
* expr.c (expand_expr_real_2): When expanding -ftrapv
binops do not use OPTAB_LIB_WIDEN.

* gcc.dg/torture/ftrapv-1.c: New testcase.

From-SVN: r213117

10 years agore PR middle-end/61919 (FAIL: gfortran.dg/fmt_g0_6.f08 -O2 execution test)
Richard Sandiford [Mon, 28 Jul 2014 08:41:34 +0000 (08:41 +0000)]
re PR middle-end/61919 (FAIL: gfortran.dg/fmt_g0_6.f08   -O2  execution test)

gcc/
PR middle-end/61919
* tree-outof-ssa.c (insert_partition_copy_on_edge)
(insert_value_copy_on_edge, insert_rtx_to_part_on_edge)
(insert_part_to_rtx_on_edge): Copy partition_to_pseudo rtxes before
inserting them in the insn stream.

From-SVN: r213116

10 years agore PR middle-end/61913 (ICE in common_handle_option with -Wodr)
Marek Polacek [Mon, 28 Jul 2014 08:33:33 +0000 (08:33 +0000)]
re PR middle-end/61913 (ICE in common_handle_option with -Wodr)

PR middle-end/61913
* common.opt (Wodr): Add Var.

From-SVN: r213115

10 years agore PR ipa/61921 (ICE: SIGSEGV in varpool_node::get_constructor(), at varpool.c:275...
Richard Biener [Mon, 28 Jul 2014 08:25:34 +0000 (08:25 +0000)]
re PR ipa/61921 (ICE: SIGSEGV in varpool_node::get_constructor(), at varpool.c:275 with -O2 -fipa-pta)

2014-07-28  Richard Biener  <rguenther@suse.de>

PR tree-optimization/61921
* tree-ssa-structalias.c (create_variable_info_for_1): Check
if there is a varpool node before dereferencing it.

* gfortran.dg/pr61921.f90: New testcase.

From-SVN: r213114

10 years agore PR rtl-optimization/61801 (sched2 miscompiles syscall sequence with -g)
Richard Biener [Mon, 28 Jul 2014 07:54:08 +0000 (07:54 +0000)]
re PR rtl-optimization/61801 (sched2 miscompiles syscall sequence with -g)

2014-07-28  Richard Biener  <rguenther@suse.de>

PR rtl-optimization/61801
* gcc.target/i386/pr61801.c: New testcase.

From-SVN: r213111

10 years ago[gcc/]
Roman Gareev [Mon, 28 Jul 2014 06:01:24 +0000 (06:01 +0000)]
[gcc/]

* graphite-sese-to-poly.c:
(new_pbb_from_pbb): Set a new id of pbb1->domain (instead of using the
id of the pbb), which contains pointer to the pbb1.

[gcc/testsuite]

* gcc.dg/graphite/isl-ast-gen-if-2.c: New testcase.

From-SVN: r213110

10 years ago[gcc/]
Roman Gareev [Mon, 28 Jul 2014 05:49:05 +0000 (05:49 +0000)]
[gcc/]

* graphite-isl-ast-to-gimple.c:
(graphite_create_new_guard): New function.
(translate_isl_ast_node_if): New function.
(translate_isl_ast): Add calling of translate_isl_ast_node_if.

[gcc/testsuite]

* gcc.dg/graphite/isl-ast-gen-if-1.c: New testcase.

From-SVN: r213109

10 years agoAdd missing change from moxiebox patch posted earlier today.
Anthony Green [Mon, 28 Jul 2014 04:36:29 +0000 (04:36 +0000)]
Add missing change from moxiebox patch posted earlier today.

From-SVN: r213108

10 years agoDaily bump.
GCC Administrator [Mon, 28 Jul 2014 00:17:32 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r213107

10 years ago* MAINTAINERS: Remove my MIPS maintainer entry.
Richard Sandiford [Sun, 27 Jul 2014 18:05:39 +0000 (18:05 +0000)]
* MAINTAINERS: Remove my MIPS maintainer entry.

From-SVN: r213103

10 years agore PR c/61861 (Incorrect column number for -Wdiscarded-qualifiers)
Marek Polacek [Sun, 27 Jul 2014 17:09:38 +0000 (17:09 +0000)]
re PR c/61861 (Incorrect column number for -Wdiscarded-qualifiers)

PR c/61861
* macro.c (builtin_macro): Add location parameter.  Set
location of builtin macro to the expansion point.
(enter_macro_context): Pass location to builtin_macro.

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

From-SVN: r213102

10 years agoAdd moxiebox target.
Anthony Green [Sun, 27 Jul 2014 13:17:38 +0000 (13:17 +0000)]
Add moxiebox target.

From-SVN: r213098

10 years agore PR libobjc/61920 (libobjc has undefined symbols on powerpc*-linux-gnu)
Alan Modra [Sun, 27 Jul 2014 13:15:17 +0000 (22:45 +0930)]
re PR libobjc/61920 (libobjc has undefined symbols on powerpc*-linux-gnu)

2014-07-27  Alan Modra  <amodra@gmail.com>
            Matthias Klose  <doko@ubuntu.com>

        PR libobjc/61920

        * encoding.c: Define rs6000_special_adjust_field_align_p.

Co-Authored-By: Matthias Klose <doko@ubuntu.com>
From-SVN: r213097

10 years agoavx512f-vbroadcastf64x4-2.c: Fix the uninitialized variable problem.
Petr Murzin [Sun, 27 Jul 2014 12:38:02 +0000 (12:38 +0000)]
avx512f-vbroadcastf64x4-2.c: Fix the uninitialized variable problem.

gcc/testsuite/
* gcc.target/i386/avx512f-vbroadcastf64x4-2.c: Fix the uninitialized
variable problem.

From-SVN: r213096

10 years agore PR rtl-optimization/61926 (const-anchor optimisation is sensitive to ordering)
Richard Sandiford [Sun, 27 Jul 2014 09:50:56 +0000 (09:50 +0000)]
re PR rtl-optimization/61926 (const-anchor optimisation is sensitive to ordering)

gcc/testsuite/
PR rtl-optimization/61926
* gcc.target/mips/const-anchor-1.c, gcc.target/mips/const-anchor-2.c:
Reverse argument order.
* gcc.target/mips/const-anchor-3.c, gcc.target/mips/const-anchor-4.c:
New XFAILed tests that match the original order.

From-SVN: r213093

10 years agolibgcov-driver.c (struct gcov_filename_aux): Rename ...
Nathan Sidwell [Sun, 27 Jul 2014 07:22:47 +0000 (07:22 +0000)]
libgcov-driver.c (struct gcov_filename_aux): Rename ...

* libgcov-driver.c (struct gcov_filename_aux): Rename ...
(struct gcov_filename): ... here.  Include buffer and max length
fields.
(gcov_max_filename): Remove.
(gi_filename): Remove.
(gcov_exit_compute_summary): Compute max filename here.
(gcov_exit_merge_gcda): Add filename parm, adjust.
(gcov_exit_merge_summary): Likewise.
(gcov_exit_dump_gcov): Adjust for struct gcov_filename changes.
(gcov_exit): Likewise.
(__gcov_init): Don't calculate max length here.
* libgcov_util.c (max_filename_len): Remove.
(read_gcda_file): Don't calculate max length here.
(gcov_read_profile_dir): Don't propagate here.
* libgcov-driver-system.c (alloc_filename_struct): Adjust for
struct gcov_filename changes.
(gcov_exit_open_gcda_file): Likewise.

From-SVN: r213092

10 years agoaarch64.md (*extr_insv_lower_reg<mode>): Remove + from the read only register.
Andrew Pinski [Sun, 27 Jul 2014 02:13:58 +0000 (02:13 +0000)]
aarch64.md (*extr_insv_lower_reg<mode>): Remove + from the read only register.

2014-07-26  Andrew Pinski  <apinski@cavium.com>

        * config/aarch64/aarch64.md (*extr_insv_lower_reg<mode>): Remove +
        from the read only register.

From-SVN: r213090

10 years agoDaily bump.
GCC Administrator [Sun, 27 Jul 2014 00:16:51 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r213089

10 years agoFollow up to r213079.
Tobias Burnus [Sat, 26 Jul 2014 17:56:39 +0000 (19:56 +0200)]
Follow up to r213079.

2014-07-26  Tobias Burnus  <burnus@net-b.de>

        PR fortran/61881
        PR fortran/61888
        PR fortran/57305
        * intrinsic.texi (SIZEOF): Document changed behavior
        for polymorphic arrays.

From-SVN: r213085

10 years agore PR c/61077 (_Atomic in the return type or argument types of main not diagnosed)
Marek Polacek [Sat, 26 Jul 2014 16:33:19 +0000 (16:33 +0000)]
re PR c/61077 (_Atomic in the return type or argument types of main not diagnosed)

PR c/61077
* gcc.dg/pr61077.c: Use \[^\n\]* instead of .* in the regexp.

From-SVN: r213084

10 years agore PR target/47230 (gcc fails to bootstrap on alpha in stage2 with "relocation trunca...
Uros Bizjak [Sat, 26 Jul 2014 15:11:14 +0000 (17:11 +0200)]
re PR target/47230 (gcc fails to bootstrap on alpha in stage2 with "relocation truncated to fit: GPREL16 against ...")

PR target/47230
* configure.ac (alpha*-*-linux*): Use mh-alpha-linux.
* configure: Regenerate.

config/ChangeLog:

PR target/47230
* mh-alpha-linux: New file.

From-SVN: r213081

10 years agoMinor tweaks.
Eric Botcazou [Sat, 26 Jul 2014 10:16:49 +0000 (10:16 +0000)]
Minor tweaks.

From-SVN: r213080

10 years agocheck.c (gfc_check_sizeof): Permit for assumed type if and only if it has an array...
Tobias Burnus [Sat, 26 Jul 2014 09:49:00 +0000 (11:49 +0200)]
check.c (gfc_check_sizeof): Permit for assumed type if and only if it has an array descriptor.

2014-07-26  Tobias Burnus  <burnus@net-b.de>

        * check.c (gfc_check_sizeof): Permit for assumed type if and
        only if it has an array descriptor.
        * intrinsic.c (do_ts29113_check): Permit SIZEOF.
        (add_functions): SIZEOF is an Inquiry function.
        * intrinsic.texi (SIZEOF): Add note that only contiguous
        arrays are permitted.
        * trans-expr.c (gfc_conv_intrinsic_to_class): Handle assumed
        rank.
        * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Handle
        assumed type + array descriptor, CLASS and assumed rank.
        (gfc_conv_intrinsic_storage_size): Handle class arrays.

2014-07-26  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/sizeof_2.f90: Change dg-error.
        * gfortran.dg/sizeof_4.f90: New.
        * gfortran.dg/storage_size_1.f08: Correct expected
        value.

From-SVN: r213079

10 years agoira-costs.c (find_costs_and_classes): For -O0...
Richard Sandiford [Sat, 26 Jul 2014 09:48:24 +0000 (09:48 +0000)]
ira-costs.c (find_costs_and_classes): For -O0...

gcc/
* ira-costs.c (find_costs_and_classes): For -O0, use the best class
as the allocation class if it isn't likely to be spilled.

From-SVN: r213078

10 years agortl.h (tls_referenced_p): Declare.
Richard Sandiford [Sat, 26 Jul 2014 09:47:33 +0000 (09:47 +0000)]
rtl.h (tls_referenced_p): Declare.

gcc/
* rtl.h (tls_referenced_p): Declare.
* rtlanal.c (tls_referenced_p_1, tls_referenced_p): New functions.
* config/mips/mips.c (mips_tls_symbol_ref_1): Delete.
(mips_cannot_force_const_mem): Use tls_referenced_p.
* config/pa/pa-protos.h (pa_tls_referenced_p): Delete.
* config/pa/pa.h (CONSTANT_ADDRESS_P): Use tls_referenced_p
instead of pa_tls_referenced_p.
* config/pa/pa.c (hppa_legitimize_address, pa_cannot_force_const_mem)
(pa_emit_move_sequence, pa_emit_move_sequence): Likewise.
(pa_legitimate_constant_p): Likewise.
(pa_tls_symbol_ref_1, pa_tls_referenced_p): Delete.
* config/rs6000/rs6000.c (rs6000_tls_referenced_p): Delete.
(rs6000_cannot_force_const_mem, rs6000_emit_move)
(rs6000_address_for_altivec): Use tls_referenced_p instead of
rs6000_tls_referenced_p.
(rs6000_tls_symbol_ref_1): Delete.

From-SVN: r213077

10 years agore PR target/44551 ([missed optimization] AVX vextractf128 after vinsertf128)
Marc Glisse [Sat, 26 Jul 2014 09:00:31 +0000 (11:00 +0200)]
re PR target/44551 ([missed optimization] AVX vextractf128 after vinsertf128)

2014-07-26  Marc Glisse  <marc.glisse@inria.fr>

PR target/44551
gcc/
* simplify-rtx.c (simplify_binary_operation_1) <VEC_SELECT>:
Optimize inverse of a VEC_CONCAT.
gcc/testsuite/
* gcc.target/i386/pr44551-1.c: New file.

From-SVN: r213076

10 years agoDaily bump.
GCC Administrator [Sat, 26 Jul 2014 00:17:02 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r213071

10 years agoMake FDO more tolerant to source changes
Xinliang David Li [Sat, 26 Jul 2014 00:06:56 +0000 (00:06 +0000)]
Make FDO more tolerant to source changes

From-SVN: r213068

10 years agoImplement N4051 - Allow typename in a template template parameter
Edward Smith-Rowland [Fri, 25 Jul 2014 22:35:24 +0000 (22:35 +0000)]
Implement N4051 - Allow typename in a template template parameter

cp/

2014-07-25  Edward Smith-Rowland  <3dw4rd@verizon.net>

Implement N4051 - Allow typename in a template template parameter
* parser.c (cp_parser_type_parameter_key): New funtion;
(cp_parser_token_is_type_parameter_key): Ditto;
(cp_parser_type_parameter): Look for type-parameter-key for all versions
but pedwarn for less than cxx1z.

testsuite/

2014-07-25  Edward Smith-Rowland  <3dw4rd@verizon.net>

Implement N4051 - Allow typename in a template template parameter
* lib/target-supports.exp (check_effective_target_c++1y): Now
means C++1y and up.
(check_effective_target_c++1y_down): New.
(check_effective_target_c++1z_only): New.
(check_effective_target_c++1z): New.
* g++.dg/cpp1z/typename-tmpl-tmpl-parm.C: New.
* g++.dg/cpp1z/typename-tmpl-tmpl-parm-neg.C: New.
* g++.dg/cpp1z/typename-tmpl-tmpl-parm-.C: New.

From-SVN: r213065

10 years agosimplify.c (gfc_simplify_storage_size): Use proper integer kind for the returned...
Tobias Burnus [Fri, 25 Jul 2014 19:09:56 +0000 (21:09 +0200)]
simplify.c (gfc_simplify_storage_size): Use proper integer kind for the returned value.

2014-07-25  Tobias Burnus  <burnus@net-b.de>

        * simplify.c (gfc_simplify_storage_size): Use proper
        integer kind for the returned value.

2014-07-25  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/storage_size_5.f90: New.

From-SVN: r213060

10 years agolto-streamer-out.c (struct sccs): Turn to ...
Jan Hubicka [Fri, 25 Jul 2014 16:58:21 +0000 (18:58 +0200)]
lto-streamer-out.c (struct sccs): Turn to ...

* lto-streamer-out.c (struct sccs): Turn to ...
(class DFS): ... this one; refactor the DFS walk so it can
be re-done on per-SCC basis.
(DFS::DFS): New constructor.
(DFS::~DFS): New destructor.
(hash_tree): Add new MAP argument holding in-SCC hash values;
remove POINTER_TYPE hashing hack.
(scc_entry_compare): Rename to ...
(DFS::scc_entry_compare): ... this one.
(hash_scc): Rename to ...
(DFS::hash_scc): ... this one; pass output_block instead
of streamer_cache; work harder to get unique and stable SCC
hashes.
(DFS_write_tree): Rename to ...
(DFS::DFS_write_tree): ... this one; add SINGLE_P parameter.
(lto_output_tree): Update.

Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r213059

10 years agolibgcov-driver.c (set_gcov_dump_complete, [...]): Remove global functions polluting...
Nathan Sidwell [Fri, 25 Jul 2014 15:02:17 +0000 (15:02 +0000)]
libgcov-driver.c (set_gcov_dump_complete, [...]): Remove global functions polluting user's namespace.

* libgcov-driver.c (set_gcov_dump_complete,
reset_gcov_dump_complete, get_gcov_dump_complete): Remove global
functions polluting user's namespace.
(gcov_exit): Set variable directly.
(gcov_clear): Reset variable directly.
* libgcov-interface.c (get_gcov_dymp_complete,
reset_gov_dump_complete): Remove declarations.
(__gcov_reset, __gcov_dump): Don't call them.

From-SVN: r213058

10 years agoConvert lto streamer out hashing to inchash
Andi Kleen [Fri, 25 Jul 2014 13:39:49 +0000 (13:39 +0000)]
Convert lto streamer out hashing to inchash

No substantial changes, although the hash values will be slightly
different.

v2: add_flag moved to inchash. Some minor changes.

gcc/:

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

* lto-streamer-out.c (hash_tree): Convert to inchash.

From-SVN: r213057

10 years agoConvert the tree.c type hashing over to inchash
Andi Kleen [Fri, 25 Jul 2014 13:39:36 +0000 (13:39 +0000)]
Convert the tree.c type hashing over to inchash

v2: Use commutative interface. Be much nearer to the old
code.

gcc/:

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

* tree.c (build_type_attribute_qual_variant): Use inchash.
(type_hash_list): Dito.
(attribute_hash_list): Dito
(iterative_hstate_expr): Dito.
(iterative_hash_expr): Dito.
(build_range_type_1): Dito.
(build_array_type_1): Dito.
(build_function_type): Dito.
(build_method_type_directly): Dito.
(build_offset_type): Dito.
(build_complex_type): Dito.
(make_vector_type): Dito.
* tree.h (iterative_hash_expr): Add compat wrapper.
(iterative_hstate_expr): Add.

gcc/lto/:

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

* lto.c (hash_canonical_type): Call iterative_hstate_expr.

From-SVN: r213056

10 years agoConvert LTO type hashing to the new inchash interface
Andi Kleen [Fri, 25 Jul 2014 13:39:24 +0000 (13:39 +0000)]
Convert LTO type hashing to the new inchash interface

Should not really change any behavior, it's just a more abstract
interface, but uses the same underlying hash functions.

gcc/lto/:

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

* lto.c (hash_canonical_type): Convert to inchash.
(iterative_hash_canonical_type): Dito.

From-SVN: r213055

10 years agoAdd an abstract incremental hash data type
Andi Kleen [Fri, 25 Jul 2014 13:39:05 +0000 (13:39 +0000)]
Add an abstract incremental hash data type

Some files in gcc, like lto or tree, do large scale incremential hashing.
The current jhash implementation of this could be likely improved
by using an incremential hash that does not do a full rehashing
for every new value added.

This patch adds a new "inchash" class that abstracts the internal
state of the hash. This makes it easier to plug in new hashes
and also cleans up the code a bit.

Right now it is just implemented in the same way as the old
iterative hash in tree.c. The previous iterative hash code
from tree.c moved into a new separate file. Also I fixed up all
users to include the new header.

It should not really significantly change any hashing by itself,
it's mostly a cleanup at this point.

v2: Remove begin. Add commutative interface.
Add merge hash interface.  Add add_flag.

gcc/:

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

* Makefile.in (OBJS): Add inchash.o.
(PLUGIN_HEADERS): Add inchash.h.
* ipa-devirt.c: Include inchash.h.
* lto-streamer-out.c: Dito.
* tree-ssa-dom.c: Dito.
* tree-ssa-pre.c: Dito.
* tree-ssa-sccvn.c: Dito.
* tree-ssa-tail-merge.c: Dito.
* asan.c: Dito.
* tree.c (iterative_hash_hashval_t): Move to ...
(iterative_hash_host_wide_int): Move to ...
* inchash.c: Here. New file.
* tree.h (iterative_hash_hashval_t): Move to ...
(iterative_hash_host_wide_int): Move to ...
* inchash.h: Here. New file.

gcc/lto/:

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

* lto.c: Include inchash.h

From-SVN: r213054

10 years agoffi.c: Do not include stdlib.h.
Uros Bizjak [Fri, 25 Jul 2014 09:01:45 +0000 (11:01 +0200)]
ffi.c: Do not include stdlib.h.

* src/alpha/ffi.c: Do not include stdlib.h.
(ffi_closure_osf_inner) <default>: Use FFI_ASSERT instead of abort.

From-SVN: r213049

10 years agore PR middle-end/61762 (failure to optimize memcpy from constant string)
Richard Biener [Fri, 25 Jul 2014 07:44:57 +0000 (07:44 +0000)]
re PR middle-end/61762 (failure to optimize memcpy from constant string)

2014-07-25  Richard Biener  <rguenther@suse.de>

PR middle-end/61762
PR middle-end/61894
* fold-const.c (native_encode_int): Add and handle offset
parameter to do partial encodings of expr.
(native_encode_fixed): Likewise.
(native_encode_real): Likewise.
(native_encode_complex): Likewise.
(native_encode_vector): Likewise.
(native_encode_string): Likewise.
(native_encode_expr): Likewise.
* fold-const.c (native_encode_expr): Add offset parameter
defaulting to -1.
* gimple-fold.c (fold_string_cst_ctor_reference): Remove.
(fold_ctor_reference): Handle all reads from tcc_constant
ctors.

* gcc.dg/pr61762.c: New testcase.
* gcc.dg/fold-cstring.c: Likewise.
* gcc.dg/fold-cvect.c: Likewise.

From-SVN: r213045

10 years agotree-inline.c (estimate_move_cost): Mark speed_p argument as possibly unused.
Richard Biener [Fri, 25 Jul 2014 07:28:32 +0000 (07:28 +0000)]
tree-inline.c (estimate_move_cost): Mark speed_p argument as possibly unused.

2014-07-25  Richard Biener  <rguenther@suse.de>

* tree-inline.c (estimate_move_cost): Mark speed_p argument
as possibly unused.

From-SVN: r213043

10 years agobaseline_symbols.txt: Update.
Uros Bizjak [Fri, 25 Jul 2014 06:47:47 +0000 (08:47 +0200)]
baseline_symbols.txt: Update.

* config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.

From-SVN: r213040

10 years agoChangeLog entry moved from config/ChangeLog to gcc/ChangeLog.
Martin Liska [Fri, 25 Jul 2014 06:23:42 +0000 (06:23 +0000)]
ChangeLog entry moved from config/ChangeLog to gcc/ChangeLog.

From-SVN: r213039

10 years agostring_view: Make the literal operators constexpr like the ctors they call.
Ed Smith-Rowland [Fri, 25 Jul 2014 03:47:46 +0000 (03:47 +0000)]
string_view: Make the literal operators constexpr like the ctors they call.

2014-07-25  Ed Smith-Rowland  <3dw4rd@verizon.net>

* include/experimental/string_view: Make the literal operators
constexpr like the ctors they call.

From-SVN: r213037

10 years agolibitm: Improve aarch64 _ITM_beginTransaction
Richard Henderson [Fri, 25 Jul 2014 02:58:06 +0000 (19:58 -0700)]
libitm: Improve aarch64 _ITM_beginTransaction

        * config/aarch64/sjlj.S (_ITM_beginTransaction): Use post-inc
        addressing mode in epilogue.

From-SVN: r213035

10 years agoDaily bump.
GCC Administrator [Fri, 25 Jul 2014 00:17:09 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r213034

10 years agoavr-c.c (avr_cpu_cpp_builtins): Add __AVR_DEVICE_NAME__.
Senthil Kumar Selvaraj [Thu, 24 Jul 2014 18:41:03 +0000 (18:41 +0000)]
avr-c.c (avr_cpu_cpp_builtins): Add __AVR_DEVICE_NAME__.

* config/avr/avr-c.c (avr_cpu_cpp_builtins): Add __AVR_DEVICE_NAME__.

From-SVN: r213031

10 years agoAArch64: emit .note.GNU-stack
Kyle McMartin [Thu, 24 Jul 2014 18:28:36 +0000 (18:28 +0000)]
AArch64: emit .note.GNU-stack

2014-07-24  Kyle McMartin  <kyle@redhat.com>
* config/aarch64/aarch64-linux.h (TARGET_ASM_FILE_END): Define.

From-SVN: r213028

10 years agointrinsic.texi (Intrinsic Procedures): Move to correct menu position to match sectioning.
Uros Bizjak [Thu, 24 Jul 2014 18:15:53 +0000 (20:15 +0200)]
intrinsic.texi (Intrinsic Procedures): Move to correct menu position to match sectioning.

* intrinsic.texi (Intrinsic Procedures) <ATOMIC_DEFINE>: Move to
correct menu position to match sectioning.

From-SVN: r213027

10 years agogo-gcc.cc (Gcc_backend::global_variable_set_init): Rename symtab_get_node to symtab_n...
Uros Bizjak [Thu, 24 Jul 2014 17:58:45 +0000 (19:58 +0200)]
go-gcc.cc (Gcc_backend::global_variable_set_init): Rename symtab_get_node to symtab_node::get.

* go-gcc.cc (Gcc_backend::global_variable_set_init): Rename
symtab_get_node to symtab_node::get.

From-SVN: r213026

10 years agors6000-protos.h (rs6000_special_adjust_field_align_p): Add prototype.
Ulrich Weigand [Thu, 24 Jul 2014 17:15:12 +0000 (17:15 +0000)]
rs6000-protos.h (rs6000_special_adjust_field_align_p): Add prototype.

gcc/

* config/rs6000/rs6000-protos.h (rs6000_special_adjust_field_align_p):
Add prototype.
* config/rs6000/rs6000.c (rs6000_special_adjust_field_align_p): New
function.
* config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Call it.
* config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Likewise.
* config/rs6000/freebsd64.h (ADJUST_FIELD_ALIGN): Likewise.

gcc/testsuite/

* gcc.target/powerpc/ppc64-abi-warn-3.c: New test.

* gcc.c-torture/execute/20050316-1.x: Add -Wno-psabi.
* gcc.c-torture/execute/20050604-1.x: Add -Wno-psabi.
* gcc.c-torture/execute/20050316-3.x: New file.  Add -Wno-psabi.
* gcc.c-torture/execute/pr23135.x: Likewise.

From-SVN: r213017

10 years agors6000.c (rs6000_function_arg_boundary): In the AIX and ELFv2 ABI...
Ulrich Weigand [Thu, 24 Jul 2014 17:12:45 +0000 (17:12 +0000)]
rs6000.c (rs6000_function_arg_boundary): In the AIX and ELFv2 ABI...

gcc/

* config/rs6000/rs6000.c (rs6000_function_arg_boundary): In the AIX
and ELFv2 ABI, do not use the "mode == BLKmode" check to test for
aggregate types.  Instead, *all* aggregate types, except for single-
element or homogeneous float/vector aggregates, are quadword-aligned
if required by their type alignment.  Issue -Wpsabi note when a type
is now treated differently than before.

gcc/testsuite/

* gcc.target/powerpc/ppc64-abi-warn-2.c: New test.

From-SVN: r213016

10 years agors6000.c (rs6000_function_arg): If a float argument does not fit fully into floating...
Ulrich Weigand [Thu, 24 Jul 2014 17:11:02 +0000 (17:11 +0000)]
rs6000.c (rs6000_function_arg): If a float argument does not fit fully into floating-point registers...

gcc/

* config/rs6000/rs6000.c (rs6000_function_arg): If a float argument
does not fit fully into floating-point registers, and there is still
space in the register parameter area, use GPRs to pass those parts
of the argument.  Issue -Wpsabi note if any parameter is now treated
differently than before.
(rs6000_arg_partial_bytes): Update.

gcc/testsuite/

* gcc.target/powerpc/ppc64-abi-warn-1.c: New test.

From-SVN: r213015

10 years agostruct-layout-1.exp: Load g++-dg.exp.
Ulrich Weigand [Thu, 24 Jul 2014 17:09:10 +0000 (17:09 +0000)]
struct-layout-1.exp: Load g++-dg.exp.

gcc/testsuite/

* g++.dg/compat/struct-layout-1.exp: Load g++-dg.exp.

From-SVN: r213014

10 years agoelf.h: Define TARGET_UNWIND_TABLES_DEFAULT.
Uros Bizjak [Thu, 24 Jul 2014 16:44:24 +0000 (18:44 +0200)]
elf.h: Define TARGET_UNWIND_TABLES_DEFAULT.

* config/alpha/elf.h: Define TARGET_UNWIND_TABLES_DEFAULT.

From-SVN: r213010

10 years agocygming-crtbegin.c (deregister_frame_fn): Newly public.
DJ Delorie [Thu, 24 Jul 2014 16:41:01 +0000 (12:41 -0400)]
cygming-crtbegin.c (deregister_frame_fn): Newly public.

* config/i386/cygming-crtbegin.c (deregister_frame_fn): Newly public.
(__gcc_deregister_frame): Move logic to detect deregister function to...
(__gcc_register_frame): here, so it's consistent with the register logic.

From-SVN: r213009

10 years agoADA fixed for symtab_node issues.
Martin Liska [Thu, 24 Jul 2014 16:14:39 +0000 (18:14 +0200)]
ADA fixed for symtab_node issues.

        * gcc-interface/trans.c (finalize_nrv): Correct cgraph_node (symtab_node)
function used.
* gcc-interface/utils.c (rest_of_subprog_body_compilation): Likewise.
(gnat_write_global_declarations): Likewise.

From-SVN: r213007

10 years agortl.h (target_rtl): Remove lang_dependent_initialized.
Richard Sandiford [Thu, 24 Jul 2014 15:18:09 +0000 (15:18 +0000)]
rtl.h (target_rtl): Remove lang_dependent_initialized.

gcc/
* rtl.h (target_rtl): Remove lang_dependent_initialized.
* toplev.c (initialize_rtl): Don't use it.  Move previously
"language-dependent" calls to...
(backend_init): ...here.
(lang_dependent_init_target): Don't set lang_dependent_initialized.
Assert that RTL initialization hasn't happend yet.

From-SVN: r213004

10 years agore PR rtl-optimization/61629 (FAIL: gcc.dg/20020312-2.c (internal compiler error))
Richard Sandiford [Thu, 24 Jul 2014 15:17:54 +0000 (15:17 +0000)]
re PR rtl-optimization/61629 (FAIL: gcc.dg/20020312-2.c (internal compiler error))

gcc/
PR rtl-optimization/61629
* reginfo.c (reinit_regs): Only call ira_init and recog_init if
they have already been initialized.

From-SVN: r213003

10 years agore PR middle-end/61268 (ICE in vt_expand_var_loc_chain, at var-tracking.c:8262)
Richard Sandiford [Thu, 24 Jul 2014 15:17:35 +0000 (15:17 +0000)]
re PR middle-end/61268 (ICE in vt_expand_var_loc_chain, at var-tracking.c:8262)

gcc/
PR middle-end/61268
* function.c (assign_parm_setup_reg): Prevent invalid sharing of
DECL_INCOMING_RTL and entry_parm.
(get_arg_pointer_save_area): Likewise arg_pointer_save_area.
* calls.c (load_register_parameters): Likewise argument values.
(emit_library_call_value_1, store_one_arg): Likewise argument
save areas.
* config/i386/i386.c (assign_386_stack_local): Likewise the local
stack slot.
* explow.c (validize_mem): Modify the argument in-place.

From-SVN: r213002

10 years ago[AArch64] Optimize epilogue when there is no frame pointer.
Jiong Wang [Thu, 24 Jul 2014 14:43:15 +0000 (14:43 +0000)]
[AArch64] Optimize epilogue when there is no frame pointer.

From-SVN: r213000

10 years ago[AArch64] Optimize prologue when there is no frame pointer.
Jiong Wang [Thu, 24 Jul 2014 14:41:49 +0000 (14:41 +0000)]
[AArch64] Optimize prologue when there is no frame pointer.

From-SVN: r212999

10 years ago[AArch64] Infrastructure to allow optional use of write back.
Jiong Wang [Thu, 24 Jul 2014 14:39:07 +0000 (14:39 +0000)]
[AArch64] Infrastructure to allow optional use of write back.

From-SVN: r212997

10 years ago[AArch64] Extend frame state to track WB candidates.
Jiong Wang [Thu, 24 Jul 2014 14:32:54 +0000 (14:32 +0000)]
[AArch64] Extend frame state to track WB candidates.

From-SVN: r212996

10 years agoAnother MIPS/R6000 IPA C++ refactoring fix.
Martin Liska [Thu, 24 Jul 2014 14:17:57 +0000 (16:17 +0200)]
Another MIPS/R6000 IPA C++ refactoring fix.

* mips.c (mips_start_unique_function): Correct cgraph_node function
used.
* rs6000.c (call_ABI_of_interest): Likewise.
(rs6000_code_end): Likewise.

From-SVN: r212995

10 years ago[gcc/]
Roman Gareev [Thu, 24 Jul 2014 14:08:29 +0000 (14:08 +0000)]
[gcc/]

* graphite-isl-ast-to-gimple.c:
(graphite_create_new_loop): Add calling of isl_id_free to properly
decrement reference counts.

[gcc/testsuite]

* gcc.dg/graphite/isl-ast-gen-blocks-4.c: New testcase.

From-SVN: r212994

10 years agoIPA C++ refactoring fix.
Martin Liska [Thu, 24 Jul 2014 13:54:06 +0000 (15:54 +0200)]
IPA C++ refactoring fix.

* cgraphunit.c (compile): Correct function used.
        * rs6000.c (rs6000_xcoff_declare_function_name): Correct symtab_node funtion used.
        (rs6000_xcoff_declare_object_name): Likewise.

From-SVN: r212993

10 years agolto-streamer-out.c (tree_is_indexable): Consider IMPORTED_DECL as non-indexable.
Jan Hubicka [Thu, 24 Jul 2014 13:52:49 +0000 (15:52 +0200)]
lto-streamer-out.c (tree_is_indexable): Consider IMPORTED_DECL as non-indexable.

* lto-streamer-out.c (tree_is_indexable): Consider IMPORTED_DECL
as non-indexable.

From-SVN: r212992

10 years agore PR lto/61802 (AArch64 execute.exp failures with LTO after r212467)
Jan Hubicka [Thu, 24 Jul 2014 13:50:31 +0000 (15:50 +0200)]
re PR lto/61802 (AArch64 execute.exp failures with LTO after r212467)

PR lto/61802
* varasm.c (bss_initializer_p): Handle offlined ctors.
(align_variable, get_variable_align): Likewise.
(make_decl_one_only): Likewise.
(default_binds_local_p_1): Likewise.
(decl_binds_to_current_def_p): Likewise.
(get_variable_section): Get constructor if it is offlined.
(assemble_variable_contents): Sanity check that the caller
streamed in the ctor in LTO.

From-SVN: r212991

10 years ago[gcc/]
Roman Gareev [Thu, 24 Jul 2014 13:35:27 +0000 (13:35 +0000)]
[gcc/]

* graphite-isl-ast-to-gimple.c:
(binary_op_to_tree): Add calling of translate_isl_ast_node_block.
(gcc_expression_from_isl_expr_op): Move isl_ast_op_pdiv_q,
isl_ast_op_pdiv_r to the different case.

[gcc/testsuite]

* gcc.dg/graphite/isl-ast-gen-blocks-3.c: New testcase.

From-SVN: r212990

10 years agoPR 61876: Do not convert cast + __builtin_round into __builtin_lround unless -fno...
Kyrylo Tkachov [Thu, 24 Jul 2014 13:23:05 +0000 (13:23 +0000)]
PR 61876: Do not convert cast + __builtin_round into __builtin_lround unless -fno-math-errno is used.

PR middle-end/61876
* convert.c (convert_to_integer): Do not convert BUILT_IN_ROUND and cast
when flag_errno_math is on.

From-SVN: r212989

10 years agore PR ipa/61160 (wrong code with -O3 (or ICE: verify_cgraph_node failed: edge points...
Martin Jambor [Thu, 24 Jul 2014 13:03:22 +0000 (15:03 +0200)]
re PR ipa/61160 (wrong code with -O3 (or ICE: verify_cgraph_node failed: edge points to wrong declaration))

2014-07-24  Martin Jambor  <mjambor@suse.cz>

PR ipa/61160
* g++.dg/ipa/pr61160-2.C (main): Always return zero.

From-SVN: r212987

10 years ago* MAINTAINERS (Write After Approval): Add myself.
James Norris [Thu, 24 Jul 2014 12:52:18 +0000 (12:52 +0000)]
* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r212986

10 years agoChangeLog formatting fixed.
Martin Liska [Thu, 24 Jul 2014 12:33:46 +0000 (12:33 +0000)]
ChangeLog formatting fixed.

From-SVN: r212985

10 years agoIPA C++ refactoring 2/N
Martin Liska [Thu, 24 Jul 2014 12:25:27 +0000 (14:25 +0200)]
IPA C++ refactoring 2/N

  * cgraph.h (varpool_node):
  (availability get_availability (void)):
    created from cgraph_variable_initializer_availability
  (inline varpool_node *ultimate_alias_target (availability *availability = NULL)
    creted from: cgraph_variable_initializer_availability
  (inline varpool_node *get_alias_target (void)): created from varpool_alias_target
  (void finalize_named_section_flags (void)):
    created from varpool_finalize_named_section_flags
  (bool assemble_decl (void)): created from varpool_assemble_decl
  (void analyze (void)): created from varpool_analyze_node
  (bool call_for_node_and_aliases (bool (*callback) (varpool_node *, void *),
    void *data, bool include_overwritable)): created fromvarpool_for_node_and_aliases
  (void remove_initializer (void)): created from varpool_remove_initializer
  (tree get_constructor (void)): created from varpool_get_constructor
  (bool externally_visible_p (void)): created from varpool_externally_visible_p
  (bool ctor_useable_for_folding_p (void)): created from varpool_ctor_useable_for_folding_p
  (inline bool all_refs_explicit_p ()): created from varpool_all_refs_explicit_p
  (inline bool can_remove_if_no_refs_p (void)): created from varpool_can_remove_if_no_refs
  (static inline varpool_node *get (const_tree decl)): created from varpool_get_node
  (static void finalize_decl (tree decl)): created from varpool_finalize_decl
  (static bool output_variables (void)): created from varpool_output_variables
  (static varpool_node * create_extra_name_alias (tree alias, tree decl)):
    created from varpool_extra_name_alias
  (static varpool_node * create_alias (tree, tree)): created from varpool_create_variable_alias
  (static void dump_varpool (FILE *f)): created from dump_varpool
  (static void DEBUG_FUNCTION debug_varpool (void)): created from debug_varpool
  (static varpool_node *create_empty (void)): created from varpool_create_empty_node
  (static varpool_node *get_create (tree decl)): created from varpool_node_for_decl
  (static varpool_node *get_for_asmname (tree asmname)): created from varpool_node_for_asm
  (void assemble_aliases (void)): created from assemble_aliases

From-SVN: r212984

10 years agoChangeLog entries were fixed.
Roman Gareev [Thu, 24 Jul 2014 12:12:23 +0000 (12:12 +0000)]
ChangeLog entries were fixed.

From-SVN: r212983

10 years agoIPA C++ refactoring 1/N
Martin Liska [Thu, 24 Jul 2014 12:07:13 +0000 (14:07 +0200)]
IPA C++ refactoring 1/N

  * cgraph.h (symtab_node):
  (void register_symbol (void)): created from symtab_register_node
  (void remove (void)): created from symtab_remove_node
  (void dump (FILE *f)): created from dump_symtab_node
  (void DEBUG_FUNCTION debug (void)): created from debug_symtab_node
  (void DEBUG_FUNCTION verify (void)): created from verify_symtab_node
  (struct ipa_ref *add_reference (symtab_node *referred_node,
    enum ipa_ref_use use_type)): created from add_reference
  (struct ipa_ref *add_reference (symtab_node *referred_node,
    enum ipa_ref_use use_type, gimple stmt)): created from add_reference
  (struct ipa_ref *maybe_add_reference (tree val, enum ipa_ref_use use_type,
    gimple stmt)): created from maybe_add_reference
  (bool semantically_equivalent_p (symtab_node *target)): created from
    symtab_semantically_equivalent_p
  (void remove_from_same_comdat_group (void)): created from
    remove_from_same_comdat_group
  (void add_to_same_comdat_group (symtab_node *old_node)): created from
    symtab_add_to_same_comdat_group
  (void dissolve_same_comdat_group_list (void)): created from
    symtab_dissolve_same_comdat_group_list
  (bool used_from_object_file_p (void)): created from symtab_used_from_object_file_p
  (symtab_node *ultimate_alias_target (enum availability *avail = NULL)):
    created from symtab_alias_ultimate_target
  (inline symtab_node *next_defined_symbol (void)): created from
    symtab_next_defined_symbol
  (bool resolve_alias (symtab_node *target)): created from
    symtab_resolve_alias
  (bool call_for_symbol_and_aliases (bool (*callback) (symtab_node *, void *),
    void *data, bool include_overwrite)): created from symtab_for_node_and_aliases
  (symtab_node *noninterposable_alias (void)): created from symtab_nonoverwritable_alias
  (inline symtab_node *get_alias_target (void)): created from symtab_alias_target
  (void set_section (const char *section)): created from set_section_1
  (enum availability get_availability (void)): created from symtab_node_availability
  (void make_decl_local (void)): created from symtab_make_decl_local
  (bool real_symbol_p (void)): created from symtab_read_node
  (can_be_discarded_p (void)): created from symtab_can_be_discarded
  (inline bool comdat_local_p (void)): created from symtab_comdat_local_p
  (inline bool in_same_comdat_group_p (symtab_node *target)): created from
    symtab_in_same_comdat_p;
  (bool address_taken_from_non_vtable_p (void)): created from
    address_taken_from_non_vtable_p
  (static inline symtab_node *get (const_tree decl)): created from symtab_get_node
  (static void dump_table (FILE *)): created from dump_symtab
  (static inline DEBUG_FUNCTION void debug_symtab (void)): created from debug_symtab
  (static DEBUG_FUNCTION void verify_symtab_nodes (void)): created from verify_symtab
  (static bool used_from_object_file_p_worker (symtab_node *node)): created from
    symtab_used_from_object_file_p
  (void dump_base (FILE *)): created from dump_symtab_base
  (bool DEBUG_FUNCTION verify_base (void)): created from verify_symtab_base
  (void unregister (void)): created from symtab_unregister_node
  (struct symbol_priority_map *priority_info (void)): created from symtab_priority_info
  (static bool set_implicit_section (symtab_node *n, void *)): created from set_implicit_section
  (static bool noninterposable_alias (symtab_node *node, void *data)): created from
    symtab_nonoverwritable_alias_1
  * cgraph.h (cgraph_node):
  (bool remove_symbol_and_inline_clones (cgraph_node *forbidden_node = NULL)):
    created from cgraph_remove_node_and_inline_clones
  (void record_stmt_references (gimple stmt)): created from ipa_record_stmt_references
  (void set_call_stmt_including_clones (gimple old_stmt, gimple new_stmt,
    bool update_speculative = true)): created from cgraph_set_call_stmt_including_clones
  (cgraph_node *function_symbol (enum availability *avail = NULL)):
    created from cgraph_function_node
  (cgraph_node *create_clone (tree decl, gcov_type count, int freq, bool update_original,
    vec<cgraph_edge *> redirect_callers, bool call_duplication_hook,
    struct cgraph_node *new_inlined_to, bitmap args_to_skip)):
    created from cgraph_create_clone
  (cgraph_node *create_virtual_clone (vec<cgraph_edge *> redirect_callers,
    vec<ipa_replace_map *, va_gc> *tree_map, bitmap args_to_skip, const char * suffix)):
    created from cgraph_create_virtual_clone
  (cgraph_node *find_replacement (void)): created from cgraph_find_replacement_node
  (cgraph_node *create_version_clone (tree new_decl, vec<cgraph_edge *> redirect_callers,
    bitmap bbs_to_copy)): created from cgraph_copy_node_for_versioning
  (cgraph_node *create_version_clone_with_body (vec<cgraph_edge *> redirect_callers,
    vec<ipa_replace_map *, va_gc> *tree_map, bitmap args_to_skip, bool skip_return,
    bitmap bbs_to_copy, basic_block new_entry_block, const char *clone_name)):
    created from cgraph_function_version_info
  (struct cgraph_function_version_info *insert_new_function_version (void)):
    created from insert_new_cgraph_node_version
  (struct cgraph_function_version_info *function_version (void)): created from
    get_cgraph_node_version
  (void analyze (void)): created from analyze_function
  (cgraph_node * create_thunk (tree alias, tree, bool this_adjusting,
    HOST_WIDE_INT fixed_offset, HOST_WIDE_INT virtual_value, tree virtual_offset,
    tree real_alias) cgraph_add_thunk
  (inline cgraph_node *get_alias_target (void)): created from cgraph_alias_target
  (cgraph_node *ultimate_alias_target (availability *availability = NULL)):
    created from cgraph_function_or_thunk_node
  (bool expand_thunk (bool output_asm_thunks, bool force_gimple_thunk)):
    created from expand_thunk
  (void reset (void)): created from cgraph_reset_node
  (void create_wrapper (cgraph_node *target)): created from cgraph_make_wrapper
  (void DEBUG_FUNCTION verify_node (void)): created from verify_cgraph_node
  (void remove (void)): created from cgraph_remove_node
  (void dump (FILE *f)): created from dump_cgraph_node
  (void DEBUG_FUNCTION debug (void)): created from debug_cgraph_node
  (bool get_body (void)): created from cgraph_get_body
  (void release_body (void)): created from cgraph_release_function_body
  (void unnest (void)): created from cgraph_unnest_node
  (void make_local (void)): created from cgraph_make_node_local
  (void mark_address_taken (void)): created from cgraph_mark_address_taken_node
  (struct cgraph_edge *create_edge (cgraph_node *callee, gimple call_stmt,
    gcov_type count, int freq)): created from cgraph_create_edge
  (struct cgraph_edge *create_indirect_edge (gimple call_stmt, int ecf_flags,
    gcov_type count, int freq)): created from cgraph_create_indirect_edge
  (void create_edge_including_clones (struct cgraph_node *callee, gimple old_stmt,
    gimple stmt, gcov_type count, int freq, cgraph_inline_failed_t reason)):
    created from cgraph_create_edge_including_clones
  (cgraph_edge *get_edge (gimple call_stmt)): created from cgraph_edge
  (vec<cgraph_edge *> collect_callers (void)): created from collect_callers_of_node
  (void remove_callers (void)): created from cgraph_node_remove_callers
  (void remove_callees (void)): created from cgraph_node_remove_callees
  (enum availability get_availability (void)): created from cgraph_function_body_availability
  (void set_nothrow_flag (bool nothrow)): created from cgraph_set_nothrow_flag
  (void set_const_flag (bool readonly, bool looping)): created from cgraph_set_const_flag
  (void set_pure_flag (bool pure, bool looping)): created from cgraph_set_pure_flag
  (void call_duplication_hooks (cgraph_node *node2)): created from
    cgraph_call_node_duplication_hooks
  (bool call_for_symbol_and_aliases (bool (*callback) (cgraph_node *, void *),
    void *data, bool include_overwritable)): created from cgraph_for_node_and_aliases
  (bool call_for_symbol_thunks_and_aliases (bool (*callback) (cgraph_node *node, void *data),
    void *data, bool include_overwritable)): created from cgraph_for_node_thunks_and_aliases
  (void call_function_insertion_hooks (void)):
    created from cgraph_call_function_insertion_hooks
  (inline void mark_force_output (void)): created from cgraph_mark_force_output_node
  (bool local_p (void)): created from cgraph_local_node
  (bool can_be_local_p (void)): created from cgraph_node_can_be_local_p
  (bool cannot_return_p (void)): created from cgraph_node_cannot_return
  (bool only_called_directly_p (void)): created from cgraph_only_called_directly_p
  (inline bool only_called_directly_or_aliased_p (void)):
    created from cgraph_only_called_directly_or_aliased_p
  (bool will_be_removed_from_program_if_no_direct_calls_p (void)):
    created from cgraph_will_be_removed_from_program_if_no_direct_calls
  (bool can_remove_if_no_direct_calls_and_refs_p (void)):
    created from cgraph_can_remove_if_no_direct_calls_and_refs_p
  (bool can_remove_if_no_direct_calls_p (void)):
    created from cgraph_can_remove_if_no_direct_calls_p
  (inline bool has_gimple_body_p (void)):
    created from cgraph_function_with_gimple_body_p
  (bool optimize_for_size_p (void)): created from cgraph_optimize_for_size_p
  (static void dump_cgraph (FILE *f)): created from dump_cgraph
  (static inline void debug_cgraph (void)): created from debug_cgraph
  (static void record_function_versions (tree decl1, tree decl2)):
    created from record_function_versions
  (static void delete_function_version (tree decl)):
    created from delete_function_version
  (static void add_new_function (tree fndecl, bool lowered)):
    created from cgraph_add_new_function
  (static inline cgraph_node *get (const_tree decl)): created from cgraph_get_node
  (static cgraph_node * create (tree decl)): created from cgraph_create_node
  (static cgraph_node * create_empty (void)): created from cgraph_create_empty_node
  (static cgraph_node * get_create (tree)): created from cgraph_get_create_node
  (static cgraph_node *get_for_asmname (tree asmname)):
    created from cgraph_node_for_asm
  (static cgraph_node * create_same_body_alias (tree alias, tree decl)):
    created from cgraph_same_body_alias
  (static bool used_from_object_file_p_worker (cgraph_node *node,
    void *): new function
  (static bool non_local_p (cgraph_node *node, void *)):
    created from cgraph_non_local_node_p_1
  (static void DEBUG_FUNCTION verify_cgraph_nodes (void)):
    created from verify_cgraph
  (static bool make_local (cgraph_node *node, void *)):
    created from cgraph_make_node_local
  (static cgraph_node *create_alias (tree alias, tree target)):
    created from cgraph_create_function_alias
  (static cgraph_edge * create_edge (cgraph_node *caller, cgraph_node *callee,
    gimple call_stmt, gcov_type count, int freq, bool indir_unknown_callee)):
    created from cgraph_create_edge_1
  * cgraph.h (varpool_node):
  (void remove (void)): created from varpool_remove_node
  (void dump (FILE *f)): created from dump_varpool_node

From-SVN: r212982

10 years agore PR ipa/61823 (gcc.dg/torture/pr43879_[12].c FAILs with -fno-inline)
Richard Biener [Thu, 24 Jul 2014 12:01:31 +0000 (12:01 +0000)]
re PR ipa/61823 (gcc.dg/torture/pr43879_[12].c FAILs with -fno-inline)

2014-07-24  Richard Biener  <rguenther@suse.de>

PR ipa/61823
* tree-ssa-structalias.c (create_variable_info_for_1):
Use varpool_get_constructor.
(create_variable_info_for): Likewise.

* gcc.dg/torture/pr43879_1.c: Add -fno-inline.

From-SVN: r212980

10 years agotarget-supports.exp (check_effective_target_arm_nothumb): Also check for __arm__.
Andreas Schwab [Thu, 24 Jul 2014 11:03:30 +0000 (11:03 +0000)]
target-supports.exp (check_effective_target_arm_nothumb): Also check for __arm__.

* lib/target-supports.exp (check_effective_target_arm_nothumb):
Also check for __arm__.

From-SVN: r212978

10 years ago[AArch64] Optimize epilogue in the presence of an outgoing args area.
Jiong Wang [Thu, 24 Jul 2014 10:58:28 +0000 (10:58 +0000)]
[AArch64] Optimize epilogue in the presence of an outgoing args area.

From-SVN: r212976

10 years agorx.md (stack_push): Adjust RTL to account for the fact that operations are taking...
Nick Clifton [Thu, 24 Jul 2014 09:05:27 +0000 (09:05 +0000)]
rx.md (stack_push): Adjust RTL to account for the fact that operations are taking place in parallel.

* config/rx/rx.md (stack_push): Adjust RTL to account for the fact
that operations are taking place in parallel.
* config/rx.h (FRAME_POINTER_CFA_OFFSET): Delete.

From-SVN: r212973

10 years agore PR c/57653 (filename information discarded when using -imacros)
Marek Polacek [Thu, 24 Jul 2014 09:00:13 +0000 (09:00 +0000)]
re PR c/57653 (filename information discarded when using -imacros)

PR c/57653
* c-opts.c (c_finish_options): If -imacros is in effect, return.

* c-c++-common/pr57653.c: New test.
* c-c++-common/pr57653.h: New file.
* c-c++-common/pr57653-2.c: New test.
* c-c++-common/pr57653-2.h: New file.

From-SVN: r212972

10 years agoAdd missing break statement.
Thomas Schwinge [Thu, 24 Jul 2014 08:27:34 +0000 (10:27 +0200)]
Add missing break statement.

gcc/
* omp-low.c (extract_omp_for_data): Add missing break statement.

From-SVN: r212971

10 years agotree-inline.h (estimate_move_cost): Add speed_p parameter.
Richard Biener [Thu, 24 Jul 2014 08:08:26 +0000 (08:08 +0000)]
tree-inline.h (estimate_move_cost): Add speed_p parameter.

2014-07-24  Richard Biener  <rguenther@suse.de>

* tree-inline.h (estimate_move_cost): Add speed_p parameter.
* tree-inline.c (estimate_move_cost): Add speed_p parameter
and adjust MOVE_RATIO query accordingly.
(estimate_num_insns): Adjust callers.
* ipa-prop.c (ipa_populate_param_decls): Likewise.
* ipa-cp.c (gather_context_independent_values,
estimate_local_effects): Likewise.
* ipa-split.c (consider_split): Likewise.

From-SVN: r212970

10 years agoremove useless unused attributes in i386 code
Trevor Saunders [Thu, 24 Jul 2014 04:56:29 +0000 (04:56 +0000)]
remove useless unused attributes in i386 code

gcc/

* config/i386/driver-i386.c: Remove names of unused arguments and
unnecessary unused attributes.
* config/i386/host-mingw32.c: Likewise.
* config/i386/i386.c: Likewise.
* config/i386/winnt-stubs.c: Likewise.
* config/i386/winnt.c: Likewise.

From-SVN: r212968

10 years agoDaily bump.
GCC Administrator [Thu, 24 Jul 2014 00:16:54 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r212967

10 years agoAdd a blank line
H.J. Lu [Wed, 23 Jul 2014 22:17:32 +0000 (15:17 -0700)]
Add a blank line

From-SVN: r212964

10 years agoUpdate x32 baseline_symbols.txt
H.J. Lu [Wed, 23 Jul 2014 22:16:52 +0000 (22:16 +0000)]
Update x32 baseline_symbols.txt

* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.

From-SVN: r212963

10 years ago[AArch64] Prologue and epilogue test cases.
Jiong Wang [Wed, 23 Jul 2014 16:45:18 +0000 (16:45 +0000)]
[AArch64] Prologue and epilogue test cases.

From-SVN: r212959

10 years ago[AArch64] Simplify epilogue expansion using new helper functions.
Jiong Wang [Wed, 23 Jul 2014 16:34:12 +0000 (16:34 +0000)]
[AArch64] Simplify epilogue expansion using new helper functions.

From-SVN: r212958

10 years ago[AArch64] Simplify prologue expand using new helper functions.
Jiong Wang [Wed, 23 Jul 2014 16:26:10 +0000 (16:26 +0000)]
[AArch64] Simplify prologue expand using new helper functions.

From-SVN: r212957

10 years ago[AArch64] Split save restore path.
Jiong Wang [Wed, 23 Jul 2014 16:22:17 +0000 (16:22 +0000)]
[AArch64] Split save restore path.

From-SVN: r212956

10 years ago[AArch64] Unify vector and core register save/restore code.
Jiong Wang [Wed, 23 Jul 2014 16:20:38 +0000 (16:20 +0000)]
[AArch64] Unify vector and core register save/restore code.

From-SVN: r212955

10 years ago[AArch64] Use helper functions to handle multiple modes.
Jiong Wang [Wed, 23 Jul 2014 16:17:08 +0000 (16:17 +0000)]
[AArch64] Use helper functions to handle multiple modes.

From-SVN: r212954

10 years ago[AArch64] Refactor code out into aarch64_next_callee_save
Jiong Wang [Wed, 23 Jul 2014 16:14:20 +0000 (16:14 +0000)]
[AArch64] Refactor code out into aarch64_next_callee_save

From-SVN: r212952

10 years ago[AArch64] Hoist calculation of register rtx.
Jiong Wang [Wed, 23 Jul 2014 16:11:50 +0000 (16:11 +0000)]
[AArch64] Hoist calculation of register rtx.

From-SVN: r212951

10 years ago[AArch64] Remove useless variable 'increment'
Jiong Wang [Wed, 23 Jul 2014 16:06:52 +0000 (16:06 +0000)]
[AArch64] Remove useless variable 'increment'

From-SVN: r212950

10 years ago[AArch64] Use register offset in cfun->machine->frame.reg_offset
Jiong Wang [Wed, 23 Jul 2014 16:04:39 +0000 (16:04 +0000)]
[AArch64] Use register offset in cfun->machine->frame.reg_offset

From-SVN: r212949

10 years agoRevert r212893:
Bin Cheng [Wed, 23 Jul 2014 16:02:15 +0000 (16:02 +0000)]
Revert r212893:

PR target/55701
* config/arm/arm.md (setmem): New pattern.
* config/arm/arm-protos.h (struct tune_params): New fields.
(arm_gen_setmem): New prototype.
* config/arm/arm.c (arm_slowmul_tune): Initialize new fields.
(arm_fastmul_tune, arm_strongarm_tune, arm_xscale_tune): Ditto.
(arm_9e_tune, arm_v6t2_tune, arm_cortex_tune): Ditto.
(arm_cortex_a8_tune, arm_cortex_a7_tune): Ditto.
(arm_cortex_a15_tune, arm_cortex_a53_tune): Ditto.
(arm_cortex_a57_tune, arm_cortex_a5_tune): Ditto.
(arm_cortex_a9_tune, arm_cortex_a12_tune): Ditto.
(arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune): Ditto.
(arm_const_inline_cost): New function.
(arm_block_set_max_insns): New function.
(arm_block_set_non_vect_profit_p): New function.
(arm_block_set_vect_profit_p): New function.
(arm_block_set_unaligned_vect): New function.
(arm_block_set_aligned_vect): New function.
(arm_block_set_unaligned_non_vect): New function.
(arm_block_set_aligned_non_vect): New function.
(arm_block_set_vect, arm_gen_setmem): New functions.

PR target/55701
* gcc.target/arm/memset-inline-1.c: New test.
* gcc.target/arm/memset-inline-2.c: New test.
* gcc.target/arm/memset-inline-3.c: New test.
* gcc.target/arm/memset-inline-4.c: New test.
* gcc.target/arm/memset-inline-5.c: New test.
* gcc.target/arm/memset-inline-6.c: New test.
* gcc.target/arm/memset-inline-7.c: New test.
* gcc.target/arm/memset-inline-8.c: New test.
* gcc.target/arm/memset-inline-9.c: New test.

Revert r212892:
* config/arm/arm.c (output_move_neon): Handle REG explicitly.

From-SVN: r212948

10 years ago[AArch64] Remove useless parameter base_rtx.
Jiong Wang [Wed, 23 Jul 2014 15:58:30 +0000 (15:58 +0000)]
[AArch64] Remove useless parameter base_rtx.

From-SVN: r212947

10 years ago[AArch64] Remove useless local variable.
Jiong Wang [Wed, 23 Jul 2014 15:57:43 +0000 (15:57 +0000)]
[AArch64] Remove useless local variable.

From-SVN: r212946

10 years ago[AArch64] Consistent parameter types in prologue/epilogue generation.
Jiong Wang [Wed, 23 Jul 2014 15:56:42 +0000 (15:56 +0000)]
[AArch64] Consistent parameter types in prologue/epilogue generation.

From-SVN: r212945