]>
git.ipfire.org Git - thirdparty/gcc.git/log
rguenth [Mon, 28 Apr 2014 14:01:40 +0000 (14:01 +0000)]
2014-04-28 Richard Biener <rguenther@suse.de>
* configure.ac: Do valgrind header checks unconditionally.
Add --enable-valgrind-annotations.
* system.h: Guard valgrind header inclusion with
ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING.
* alloc-pool.c (pool_alloc, pool_free): Use
ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING
to guard possibly dead code.
* config.in: Regenerated.
* configure: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209861
138bc75d -0d04-0410-961f-
82ee72b054a4
law [Mon, 28 Apr 2014 13:38:19 +0000 (13:38 +0000)]
PR tree-optimization/60902
* tree-ssa-threadedge.c
(record_temporary_equivalences_from_stmts_at_dest): Only iterate
over real defs when invalidating outputs from statements that do not
produce useful outputs for threading.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209860
138bc75d -0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 28 Apr 2014 13:13:50 +0000 (13:13 +0000)]
2014-04-28 Richard Biener <rguenther@suse.de>
PR tree-optimization/60979
* graphite-scop-detection.c (scopdet_basic_block_info): Reject
SCOPs that end in a block with a successor with abnormal
predecessors.
* gcc.dg/graphite/pr60979.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209859
138bc75d -0d04-0410-961f-
82ee72b054a4
ktkachov [Mon, 28 Apr 2014 12:42:54 +0000 (12:42 +0000)]
[ARM/AArch64] Use signed chars in gcc.dg/pr60114.c.
PR c/60983
* gcc.dg/pr60114.c: Use signed chars.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209858
138bc75d -0d04-0410-961f-
82ee72b054a4
paolo [Mon, 28 Apr 2014 12:32:06 +0000 (12:32 +0000)]
/cp
2014-04-28 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/59120
* parser.c (cp_parser_alias_declaration): Check return value of
cp_parser_require.
/testsuite
2014-04-28 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/59120
* g++.dg/cpp0x/alias-decl-43.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209857
138bc75d -0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 28 Apr 2014 11:30:09 +0000 (11:30 +0000)]
2014-04-28 Richard Biener <rguenther@suse.de>
* tree-pass.h (execute_pass_list): Adjust prototype.
* passes.c (pass_manager::execute_early_local_passes):
Adjust.
(do_per_function): Change callback signature, push all actual
work to the callbals.
(do_per_function_toporder): Likewise.
(execute_function_dump): Adjust.
(execute_function_todo): Likewise.
(clear_last_verified): Likewise.
(verify_curr_properties): Likewise.
(update_properties_after_pass): Likewise.
(execute_pass_list_1): Split out from ...
(execute_pass_list): ... here. Adjust.
(execute_ipa_pass_list): Likewise.
* cgraphunit.c (cgraph_add_new_function): Adjust.
(analyze_function): Likewise.
(expand_function): Likewise.
* cgraph.c (release_function_body): Free dominance info
here instead of asserting it was magically freed elsewhere.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209856
138bc75d -0d04-0410-961f-
82ee72b054a4
ebotcazou [Mon, 28 Apr 2014 10:03:46 +0000 (10:03 +0000)]
* configure.ac: Tweak GAS check for LEON instructions on SPARC.
* configure: Regenerate.
* config/sparc/sparc.opt (muser-mode): New option.
* config/sparc/sync.md (atomic_compare_and_swap<mode>_1): Do not enable
for LEON3.
(atomic_compare_and_swap_leon3_1): New instruction for LEON3.
* doc/invoke.texi (SPARC options): Document -muser-mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209850
138bc75d -0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 28 Apr 2014 00:18:40 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209848
138bc75d -0d04-0410-961f-
82ee72b054a4
timshen [Sun, 27 Apr 2014 23:48:47 +0000 (23:48 +0000)]
2014-04-27 Tim Shen <timshen91@gmail.com>
* include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
Add _S_opcode_repeat support to distingush a loop from
_S_opcode_alternative.
* include/bits/regex_automaton.tcc (_State_base::_M_print,
_State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
_StateSeq<>::_M_clone): Likewise.
* include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
Likewise.
* include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
* include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
Uglify local variable __i.
* include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
Use size_t instead of int to compare with vector::size().
2014-04-27 Tim Shen <timshen91@gmail.com>
* include/bits/regex_executor.h: Add _M_rep_count to track how
many times this repeat node are visited.
* include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
_Executor<>::_M_dfs): Use _M_rep_count to prevent entering
infinite loop.
2014-04-27 Tim Shen <timshen91@gmail.com>
* include/bits/regex.tcc (__regex_algo_impl<>): Remove
_GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
_GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
* include/bits/regex_automaton.h: Remove quantifier counting variable.
* include/bits/regex_automaton.tcc (_State_base::_M_dot):
Adjust debug NFA dump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209844
138bc75d -0d04-0410-961f-
82ee72b054a4
rsandifo [Sun, 27 Apr 2014 21:12:18 +0000 (21:12 +0000)]
gcc/
* cselib.c (find_slot_memmode): Delete.
(cselib_hasher): Change compare_type to a struct.
(cselib_hasher::equal): Update accordingly. Don't expect wrapped
constants.
(preserve_constants_and_equivs): Adjust for new compare_type.
(cselib_find_slot): Likewise. Take the mode of the rtx as argument.
(wrap_constant): Delete.
(cselib_lookup_mem, cselib_lookup_1): Update calls to cselib_find_slot.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209843
138bc75d -0d04-0410-961f-
82ee72b054a4
tkoenig [Sun, 27 Apr 2014 10:48:56 +0000 (10:48 +0000)]
2014-03-27 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/59604
PR fortran/58003
* gfortran.h (gfc_convert_mpz_to_signed): Add prototype.
* arith.c (gfc_int2int): Convert number to signed if
arithmetic overflow is not checked.
* simplify.c (convert_mpz_to_unsigned): Only trigger assert for
size if range checking is in force.
(convert_mpz_to_signed): Make non-static, rename to
(gfc_convert_mpz_to_signed).
(simplify_dshift): Use gfc_convert_mpz_to_signed.
(gfc_simplify_ibclr): Likewise.
(gfc_simplify_ibits): Likewise.
(gfc_simplify_ibset): Likewise.
(simplify_shift): Likewise.
(gfc_simplify_ishiftc): Likewise.
(gfc_simplify_maskr): Likewise.
(gfc_simplify_maskl): Likewise.
2014-03-27 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/59604
PR fortran/58003
* gfortran.dg/no_range_check_3.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209836
138bc75d -0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 27 Apr 2014 00:17:03 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209835
138bc75d -0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 26 Apr 2014 23:09:32 +0000 (23:09 +0000)]
* gnatvsn.ads (Library_Version): Bump to 4.10.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209830
138bc75d -0d04-0410-961f-
82ee72b054a4
jvdelisle [Sat, 26 Apr 2014 21:56:48 +0000 (21:56 +0000)]
2014-04-26 Jerry DeLisle <jvdelisle@gcc.gnu>
PR libfortran/52539
* gfortran.dg/namelist_utf8.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209829
138bc75d -0d04-0410-961f-
82ee72b054a4
jvdelisle [Sat, 26 Apr 2014 21:52:26 +0000 (21:52 +0000)]
2014-04-26 Jerry DeLisle <jvdelisle@gcc.gnu>
PR libfortran/52539
* io/list_read.c: Add uchar typedef. (push_char4): New function
to save kind=4 character. (next_char_utf8): New function to read
a single UTF-8 encoded character value. (read_chracter): Update
to use the new functions for reading UTF-8 strings.
(list_formatted_read_scalar): Update to handle list directed
reads of UTF-8 strings. (nml_read_obj): Likewise update for
UTF-8 strings in namelists.
* io/write.c (nml_write_obj): Add kind=4 character support for
namelist writes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209828
138bc75d -0d04-0410-961f-
82ee72b054a4
trippels [Sat, 26 Apr 2014 20:18:21 +0000 (20:18 +0000)]
Parallel profiledbootstrap is now supported
Parallel profiledbootstrap is supported on all maintained releases. So
just remove a misleading outdated sentence, that states the opposite,
from doc/install.texi.
2014-04-26 Markus Trippelsdorf <markus@trippelsdorf.de>
* doc/install.texi (Building with profile feedback): Remove
outdated sentence.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209826
138bc75d -0d04-0410-961f-
82ee72b054a4
vries [Sat, 26 Apr 2014 16:32:56 +0000 (16:32 +0000)]
Fix out-of-bounds array accesses in ldexpxf3.
2014-04-26 Tom de Vries <tom@codesourcery.com>
* config/i386/i386.md (define_expand "ldexpxf3"): Fix out-of-bounds
array accesses.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209824
138bc75d -0d04-0410-961f-
82ee72b054a4
uros [Sat, 26 Apr 2014 14:31:29 +0000 (14:31 +0000)]
* gcc.dg/tree-ssa/alias-30.c (dg-options): Dump only fre1 details.
* gcc.dg/vect/pr60505.c: Cleanup vect tree dump.
* g++.dg/ipa/devirt-27.C (dg-options): Remove -fdump-ipa-devirt.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209823
138bc75d -0d04-0410-961f-
82ee72b054a4
ian [Sat, 26 Apr 2014 03:38:34 +0000 (03:38 +0000)]
compiler: Use backend interface for defining global declarations.
* go-gcc.cc: Include "cgraph.h" and "gimplify.h".
(Gcc_backend::return_statement): Push and pop function.
(Gcc_backend::label): Likewise.
(Gcc_backend::function_defer_statement): Likewise.
(Gcc_backend::switch_statement): Add function parameter.
(Gcc_backend::block): Don't permit function to be NULL.
(Gcc_backend::temporary_variable): Change go_assert to
gcc_assert.
(Gcc_backend::gc_root_variable): New function.
(Gcc_backend::write_global_definitions): New function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209819
138bc75d -0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 26 Apr 2014 00:16:56 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209818
138bc75d -0d04-0410-961f-
82ee72b054a4
ccoutant [Fri, 25 Apr 2014 23:05:14 +0000 (23:05 +0000)]
Fix a few ICEs and other problems with -fdebug-types-sections.
(1) If a function contains a local typedef of an anonymous structure, GCC
will generate a typedef DIE in the function, where the typedef DIE points
to a structure_type DIE at the top level. That structure_type DIE, if
it's a non-POD, can contain ctor and dtor definitions. This causes an
assertion in should_move_die_to_comdat to fail, as we have up to now
assumed that this could never happen.
(2) With --std=c++11, a template parameter can refer to a local type defined
within a function. Because that local type doesn't qualify for its own
type unit, we copy it as an "unworthy" type into the type unit that refers
to it, but we copy too much, leading to a comdat type unit that contains a
DIE with subprogram definitions rather than declarations. These DIEs may
have DW_AT_low_pc/high_pc or DW_AT_ranges attributes, and consequently can
refer to range list entries that don't get emitted because they're not
marked when the compile unit is scanned, eventually causing an undefined
symbol at link time.
(3) When a class template instantiation is moved into a separate type unit,
it can bring along a lot of other referenced types into the type unit,
especially if the template is derived from another (large) type that
does not have an actually have a type definition in a type unit of its
own. When there are many instantiations of the same template, we get
a lot of duplication, and in the worst case (a template with several
parameters, instantiated multiple times along each dimension), GCC
can end up taking a long time and exhausting available memory.
This combinatorial explosion is being caused by copy_decls_walk, where
it finds a type DIE that is referenced by the type unit, but is not
itself a type unit, and copies a declaration for that type into the
type unit in order to resolve the reference within the type unit.
In the process, copy_decls_walk also copies all of the children of
that DIE. In the case of a base class with member function templates,
every one of the instantiated member functions is copied into every
type unit that references the base class.
gcc/
PR debug/60929
* dwarf2out.c (should_move_die_to_comdat): A type definition
can contain a subprogram definition, but don't move it to a
comdat unit.
(clone_as_declaration): Copy DW_AT_abstract_origin attribute.
(generate_skeleton_bottom_up): Remove DW_AT_object_pointer attribute
from original DIE.
(clone_tree_hash): Rename to...
(clone_tree_partial): ...this; change callers. Copy
DW_TAG_subprogram DIEs as declarations.
(copy_decls_walk): Don't copy children of a declaration into a
type unit.
gcc/testsuite/
PR debug/60929
* g++.dg/debug/dwarf2/dwarf4-nested.C: New test case.
* g++.dg/debug/dwarf2/dwarf4-typedef.C: Add
-fdebug-types-section flag.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209812
138bc75d -0d04-0410-961f-
82ee72b054a4
hjl [Fri, 25 Apr 2014 20:52:01 +0000 (20:52 +0000)]
Set MODE to SI for alternative 12 in *movsf_internal
PR target/60969
* config/i386/i386.md (*movsf_internal): Set MODE to SI for
alternative 12.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209811
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Fri, 25 Apr 2014 19:34:42 +0000 (19:34 +0000)]
2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
PR libstdc++/60710
* include/experimental/optional (operator!=): Implement in terms of
operator==.
* testsuite/experimental/optional/relops/1.cc: Remove operator!=.
* testsuite/experimental/optional/relops/2.cc: Likewise.
* testsuite/experimental/optional/relops/3.cc: Likewise.
* testsuite/experimental/optional/relops/4.cc: Likewise.
* testsuite/experimental/optional/relops/5.cc: Likewise.
* testsuite/experimental/optional/relops/6.cc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209810
138bc75d -0d04-0410-961f-
82ee72b054a4
yufeng [Fri, 25 Apr 2014 17:00:33 +0000 (17:00 +0000)]
[ARM] Enable tail call optimization for long call
gcc/
* config/arm/predicates.md (call_insn_operand): Add long_call check.
* config/arm/arm.md (sibcall, sibcall_value): Force the address to
reg for long_call.
* config/arm/arm.c (arm_function_ok_for_sibcall): Remove long_call
restriction.
gcc/testsuite
* gcc.target/arm/tail-long-call.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209808
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Fri, 25 Apr 2014 16:10:25 +0000 (16:10 +0000)]
PR libstdc++/60958
* include/tr1/regex (regex_traits::isctype): Comment out broken code.
* testsuite/util/testsuite_regex.h (regex_match_debug): Improve
comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209807
138bc75d -0d04-0410-961f-
82ee72b054a4
ktkachov [Fri, 25 Apr 2014 14:32:39 +0000 (14:32 +0000)]
[ARM] Initialise T16-related fields in Cortex-A8 tuning struct.
* config/arm/arm.c (arm_cortex_a8_tune): Initialise
T16-related fields.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209806
138bc75d -0d04-0410-961f-
82ee72b054a4
wschmidt [Fri, 25 Apr 2014 14:28:58 +0000 (14:28 +0000)]
[gcc]
2014-04-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/60930
* gimple-ssa-strength-reduction.c (create_mul_imm_cand): Reject
creating a multiply candidate by folding two constant
multiplicands when the result overflows.
[gcc/testsuite]
2014-04-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/60930
* gcc.dg/torture/pr60930.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209805
138bc75d -0d04-0410-961f-
82ee72b054a4
jakub [Fri, 25 Apr 2014 13:52:52 +0000 (13:52 +0000)]
PR tree-optimization/60960
* tree-vect-generic.c (expand_vector_operation): Only call
expand_vector_divmod if type's mode satisfies VECTOR_MODE_P.
* gcc.c-torture/execute/pr60960.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209802
138bc75d -0d04-0410-961f-
82ee72b054a4
mpolacek [Fri, 25 Apr 2014 13:22:13 +0000 (13:22 +0000)]
* gcc.dg/pr18079-2.c: Fix quoting in dg-warning.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209801
138bc75d -0d04-0410-961f-
82ee72b054a4
vries [Fri, 25 Apr 2014 11:21:40 +0000 (11:21 +0000)]
Add clobber_reg
2014-04-25 Tom de Vries <tom@codesourcery.com>
* expr.c (clobber_reg_mode): New function.
* expr.h (clobber_reg): New function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209800
138bc75d -0d04-0410-961f-
82ee72b054a4
vries [Fri, 25 Apr 2014 11:21:29 +0000 (11:21 +0000)]
Register CALL_INSN_FUNCTION_USAGE in find_all_hard_reg_sets
2014-04-25 Tom de Vries <tom@codesourcery.com>
* rtlanal.c (find_all_hard_reg_sets): Note INSN_CALL_FUNCTION_USAGE
clobbers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209799
138bc75d -0d04-0410-961f-
82ee72b054a4
vries [Fri, 25 Apr 2014 11:21:18 +0000 (11:21 +0000)]
Add implicit parameter to find_all_hard_reg_sets
2014-04-25 Radovan Obradovic <robradovic@mips.com>
Tom de Vries <tom@codesourcery.com>
* rtlanal.c (find_all_hard_reg_sets): Add bool implicit parameter and
handle.
* rtl.h (find_all_hard_reg_sets): Add bool parameter.
* haifa-sched.c (recompute_todo_spec, check_clobbered_conditions): Add
new argument to find_all_hard_reg_sets call.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209798
138bc75d -0d04-0410-961f-
82ee72b054a4
ktkachov [Fri, 25 Apr 2014 11:09:03 +0000 (11:09 +0000)]
[ARM] Wrap long literals in HOST_WIDE_INT_C in aarch-common.c
* config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p):
Use HOST_WIDE_INT_C for mask literal.
(aarch_rev16_shleft_mask_imm_p): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209797
138bc75d -0d04-0410-961f-
82ee72b054a4
mpolacek [Fri, 25 Apr 2014 11:04:40 +0000 (11:04 +0000)]
PR c/18079
c/
* c-decl.c (diagnose_mismatched_decls): Warn for mismatched
always_inline/noinline and hot/cold attributes.
c-family/
* c-common.c (handle_noinline_attribute): Warn if the attribute
conflicts with always_inline attribute.
(handle_always_inline_attribute): Warn if the attribute conflicts
with noinline attribute.
testsuite/
* gcc.dg/pr18079.c: New test.
* gcc.dg/pr18079-2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209796
138bc75d -0d04-0410-961f-
82ee72b054a4
uros [Fri, 25 Apr 2014 10:51:24 +0000 (10:51 +0000)]
* c-c++-common/gomp/pr60823-2.c: Require effective target
vect_simd_clones.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209795
138bc75d -0d04-0410-961f-
82ee72b054a4
mpolacek [Fri, 25 Apr 2014 10:49:56 +0000 (10:49 +0000)]
PR c/60114
c/
* c-parser.c (c_parser_initelt): Pass input_location to
process_init_element.
(c_parser_initval): Pass loc to process_init_element.
* c-tree.h (process_init_element): Adjust declaration.
* c-typeck.c (push_init_level): Pass input_location to
process_init_element.
(pop_init_level): Likewise.
(set_designator): Likewise.
(output_init_element): Add location_t parameter. Pass loc to
digest_init.
(output_pending_init_elements): Pass input_location to
output_init_element.
(process_init_element): Add location_t parameter. Pass loc to
output_init_element.
testsuite/
* gcc.dg/pr60114.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209794
138bc75d -0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 25 Apr 2014 10:39:14 +0000 (10:39 +0000)]
PR target/60941
* config/sparc/sparc.md (ashlsi3_extend): Delete.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209790
138bc75d -0d04-0410-961f-
82ee72b054a4
glisse [Fri, 25 Apr 2014 09:23:15 +0000 (09:23 +0000)]
2014-04-25 Marc Glisse <marc.glisse@inria.fr>
PR preprocessor/56540
* config/i386/i386-c.c (ix86_target_macros): Define
__SIZEOF_FLOAT80__ and __SIZEOF_FLOAT128__.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209789
138bc75d -0d04-0410-961f-
82ee72b054a4
mpolacek [Fri, 25 Apr 2014 08:22:47 +0000 (08:22 +0000)]
PR c/60156
* c-common.c (check_main_parameter_types): Warn about variadic main.
* c-c++-common/pr60156.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209787
138bc75d -0d04-0410-961f-
82ee72b054a4
glisse [Fri, 25 Apr 2014 08:20:24 +0000 (08:20 +0000)]
2014-04-25 Marc Glisse <marc.glisse@inria.fr>
* testsuite/util/testsuite_abi.cc (check_version): Update for
CXXABI_1.3.9.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209786
138bc75d -0d04-0410-961f-
82ee72b054a4
ro [Fri, 25 Apr 2014 08:08:41 +0000 (08:08 +0000)]
Remove LIB_TLS_SPEC on Solaris
* configure.ac (tga_func): Remove.
(LIB_TLS_SPEC): Remove.
* configure: Regenerate.
* config.in: Regenerate.
* config/sol2.h (LIB_SPEC): Don't use LIB_TLS_SPEC.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209785
138bc75d -0d04-0410-961f-
82ee72b054a4
glisse [Fri, 25 Apr 2014 08:03:08 +0000 (08:03 +0000)]
2014-04-25 Marc Glisse <marc.glisse@inria.fr>
PR target/43538
* mt-gnu: Don't reset CXXFLAGS_FOR_TARGET.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209784
138bc75d -0d04-0410-961f-
82ee72b054a4
ro [Fri, 25 Apr 2014 08:01:09 +0000 (08:01 +0000)]
Remove SSE execution test in crtfastmath.c
* config/i386/crtfastmath.c [!__x86_64__ && __sun__ && __svr4__]
(sigill_caught, sigill_hdlr): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209783
138bc75d -0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 25 Apr 2014 07:47:22 +0000 (07:47 +0000)]
2014-04-25 Richard Biener <rguenther@suse.de>
PR ipa/60912
* tree-ssa-structalias.c (ipa_pta_execute): Compute direct
call stmt use/clobber sets during stmt walk instead of
walking the possibly incomplete set of caller edges.
* g++.dg/opt/pr60912.C: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209780
138bc75d -0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 25 Apr 2014 07:44:40 +0000 (07:44 +0000)]
2014-04-25 Richard Biener <rguenther@suse.de>
PR ipa/60911
* passes.c (apply_ipa_transforms): Inline into only caller ...
(execute_one_pass): ... here. Properly bring in function
bodies for nodes we want to apply IPA transforms to.
* gcc.dg/lto/pr60911_0.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209779
138bc75d -0d04-0410-961f-
82ee72b054a4
ian [Fri, 25 Apr 2014 04:29:07 +0000 (04:29 +0000)]
PR go/60931
runtime: Fix garbage collector issue with non 4kB system page size
The go garbage collector tracks memory in terms of 4kB pages.
Most of the code checks getpagesize() at runtime and does the
right thing.
On a 64kB ppc64 box I see SEGVs in long running processes
which has been diagnosed as a bug in scavengelist.
scavengelist does a madvise(MADV_DONTNEED) without rounding
the arguments to the system page size. A strace of one of the
failures shows the problem:
madvise(0xc211030000, 4096, MADV_DONTNEED) = 0
The kernel rounds the length up to 64kB and we mark 60kB of
valid data as no longer needed.
Round start up to a system page and end down before calling
madvise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209777
138bc75d -0d04-0410-961f-
82ee72b054a4
mrs [Fri, 25 Apr 2014 00:53:34 +0000 (00:53 +0000)]
* c.opt (Wshadow-ivar): Default to on.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209774
138bc75d -0d04-0410-961f-
82ee72b054a4
congh [Fri, 25 Apr 2014 00:20:44 +0000 (00:20 +0000)]
2014-04-24 Cong Hou <congh@google.com>
PR tree-optimization/60896
* tree-vect-patterns.c (vect_recog_dot_prod_pattern): Pick up
all statements in PATTERN_DEF_SEQ in recognized widen-mult pattern.
(vect_mark_pattern_stmts): Set the def type of all statements in
PATTERN_DEF_SEQ as vect_internal_def.
2014-04-24 Cong Hou <congh@google.com>
PR tree-optimization/60896
* g++.dg/vect/pr60896.cc: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209773
138bc75d -0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 25 Apr 2014 00:16:40 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209772
138bc75d -0d04-0410-961f-
82ee72b054a4
meissner [Thu, 24 Apr 2014 22:42:25 +0000 (22:42 +0000)]
[gcc]
2014-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
* doc/extend.texi (PowerPC Built-in Functions): Document new
powerpc extended divide, bcd, pack/unpack 128-bit, builtin
functions.
(PowerPC AltiVec/VSX Built-in Functions): Likewise.
* config/rs6000/predicates.md (const_0_to_3_operand): New
predicate to match 0..3 integer constants.
* config/rs6000/rs6000-builtin.def (BU_DFP_MISC_1): Add new macros
to support adding miscellaneous builtin functions.
(BU_DFP_MISC_2): Likewise.
(BU_P7_MISC_1): Likewise.
(BU_P7_MISC_2): Likewise.
(BU_P8V_MISC_3): Likewise.
(BU_MISC_1): Likewise.
(BU_MISC_2): Likewise.
(DIVWE): Add extended divide builtin functions.
(DIVWEO): Likewise.
(DIVWEU): Likewise.
(DIVWEUO): Likewise.
(DIVDE): Likewise.
(DIVDEO): Likewise.
(DIVDEU): Likewise.
(DIVDEUO): Likewise.
(DXEX): Add decimal floating-point builtin functions.
(DXEXQ): Likewise.
(DDEDPD): Likewise.
(DDEDPDQ): Likewise.
(DENBCD): Likewise.
(DENBCDQ): Likewise.
(DIEX): Likewise.
(DIEXQ): Likewise.
(DSCLI): Likewise.
(DSCLIQ): Likewise.
(DSCRI): Likewise.
(DSCRIQ): Likewise.
(CDTBCD): Add new BCD builtin functions.
(CBCDTD): Likewise.
(ADDG6S): Likewise.
(BCDADD): Likewise.
(BCDADD_LT): Likewise.
(BCDADD_EQ): Likewise.
(BCDADD_GT): Likewise.
(BCDADD_OV): Likewise.
(BCDSUB): Likewise.
(BCDSUB_LT): Likewise.
(BCDSUB_EQ): Likewise.
(BCDSUB_GT): Likewise.
(BCDSUB_OV): Likewise.
(PACK_TD): Add new pack/unpack 128-bit type builtin functions.
(UNPACK_TD): Likewise.
(PACK_TF): Likewise.
(UNPACK_TF): Likewise.
(UNPACK_TF_0): Likewise.
(UNPACK_TF_1): Likewise.
(PACK_V1TI): Likewise.
(UNPACK_V1TI): Likewise.
* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
support for decimal floating point builtin functions.
(rs6000_expand_ternop_builtin): Add checks for the new builtin
functions that take constant arguments.
(rs6000_invalid_builtin): Add decimal floating point builtin
support.
(rs6000_init_builtins): Setup long double, _Decimal64, and
_Decimal128 types for new builtin functions.
(builtin_function_type): Set the unsigned flags appropriately for
the new builtin functions.
(rs6000_opt_masks): Add support for decimal floating point builtin
functions.
* config/rs6000/rs6000.h (RS6000_BTM_DFP): Add support for decimal
floating point builtin functions.
(RS6000_BTM_COMMON): Likewise.
(RS6000_BTI_long_double): Likewise.
(RS6000_BTI_dfloat64): Likewise.
(RS6000_BTI_dfloat128): Likewise.
(long_double_type_internal_node): Likewise.
(dfloat64_type_internal_node): Likewise.
(dfloat128_type_internal_node): Likewise.
* config/rs6000/altivec.h (UNSPEC_BCDADD): Add support for ISA
2.07 bcd arithmetic instructions.
(UNSPEC_BCDSUB): Likewise.
(UNSPEC_BCD_OVERFLOW): Likewise.
(UNSPEC_BCD_ADD_SUB): Likewise.
(bcd_add_sub): Likewise.
(BCD_TEST): Likewise.
(bcd<bcd_add_sub>): Likewise.
(bcd<bcd_add_sub>_test): Likewise.
(bcd<bcd_add_sub>_test2): Likewise.
(bcd<bcd_add_sub>_<code>): Likewise.
(peephole2 for combined bcd ops): Likewise.
* config/rs6000/dfp.md (UNSPEC_DDEDPD): Add support for new
decimal floating point builtin functions.
(UNSPEC_DENBCD): Likewise.
(UNSPEC_DXEX): Likewise.
(UNSPEC_DIEX): Likewise.
(UNSPEC_DSCLI): Likewise.
(UNSPEC_DSCRI): Likewise.
(D64_D128): Likewise.
(dfp_suffix): Likewise.
(dfp_ddedpd_<mode>): Likewise.
(dfp_denbcd_<mode>): Likewise.
(dfp_dxex_<mode>): Likewise.
(dfp_diex_<mode>): Likewise.
(dfp_dscli_<mode>): Likewise.
(dfp_dscri_<mode>): Likewise.
* config/rs6000/rs6000.md (UNSPEC_ADDG6S): Add support for new BCD
builtin functions.
(UNSPEC_CDTBCD): Likewise.
(UNSPEC_CBCDTD): Likewise.
(UNSPEC_DIVE): Add support for new extended divide builtin
functions.
(UNSPEC_DIVEO): Likewise.
(UNSPEC_DIVEU): Likewise.
(UNSPEC_DIVEUO): Likewise.
(UNSPEC_UNPACK_128BIT): Add support for new builtin functions to
pack/unpack 128-bit types.
(UNSPEC_PACK_128BIT): Likewise.
(idiv_ldiv): New mode attribute to set the 32/64-bit divide type.
(udiv<mode>3): Use idiv_ldiv mode attribute.
(div<mode>3): Likewise.
(addg6s): Add new BCD builtin functions.
(cdtbcd): Likewise.
(cbcdtd): Likewise.
(UNSPEC_DIV_EXTEND): Add support for new extended divide
instructions.
(div_extend): Likewise.
(div<div_extend>_<mode>"): Likewise.
(FP128_64): Add support for new builtin functions to pack/unpack
128-bit types.
(unpack<mode>): Likewise.
(unpacktf_0): Likewise.
(unpacktf_1): Likewise.
(unpack<mode>_dm): Likewise.
(unpack<mode>_nodm): Likewise.
(pack<mode>): Likewise.
(unpackv1ti): Likewise.
(packv1ti): Likewise.
[gcc/testsuite]
2014-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/pack01.c: New test to test the new pack and
unpack builtin functionss for 128-bit types.
* gcc.target/powerpc/pack02.c: Likewise.
* gcc.target/powerpc/pack03.c: Likewise.
* gcc.target/powerpc/extend-divide-1.c: New test to test extended
divide builtin functionss.
* gcc.target/powerpc/extend-divide-2.c: Likewise.
* gcc.target/powerpc/bcd-1.c: New test for the new BCD builtin
functions.
* gcc.target/powerpc/bcd-2.c: Likewise.
* gcc.target/powerpc/bcd-3.c: Likewise.
* gcc.target/powerpc/dfp-builtin-1.c: New test for the new DFP
builtin functionss.
* gcc.target/powerpc/dfp-builtin-2.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209768
138bc75d -0d04-0410-961f-
82ee72b054a4
law [Thu, 24 Apr 2014 22:05:07 +0000 (22:05 +0000)]
2014-04-24 Vishnu K S <Vishnu.k_s@atmel.com>
* gcc/config/avr/avr.c: Add comment on why -fdelete-null-pointer-checks
is disabled.
2014-04-24 Vishnu K S <Vishnu.k_s@atmel.com>
* gcc/testsuite/gcc.dg/tree-ssa/isolate-1.c: Skip test if
keeps_null_pointer_checks.
* gcc/testsuite/gcc.dg/tree-ssa/isolate-2.c: Ditto
* gcc/testsuite/gcc.dg/tree-ssa/isolate-3.c: Ditto
* gcc/testsuite/gcc.dg/tree-ssa/isolate-4.c: Ditto
* gcc/testsuite/gcc.dg/tree-ssa/isolate-5.c: Ditto
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209767
138bc75d -0d04-0410-961f-
82ee72b054a4
law [Thu, 24 Apr 2014 21:29:45 +0000 (21:29 +0000)]
* c-parser.c (c_parser_sizeof_expression): Reorganize slightly to
avoid goto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209765
138bc75d -0d04-0410-961f-
82ee72b054a4
jakub [Thu, 24 Apr 2014 21:20:28 +0000 (21:20 +0000)]
gcc/c/
* c-parser.c (c_parser_omp_atomic): Allow seq_cst before
atomic-clause, allow comma in between atomic-clause and
seq_cst.
gcc/cp/
* parser.c (cp_parser_omp_atomic): Allow seq_cst before
atomic-clause, allow comma in between atomic-clause and
seq_cst.
gcc/testsuite/
* c-c++-common/gomp/atomic-16.c: Remove all dg-error directives.
Replace load with read and store with write.
libgomp/
* testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
atomic type clauses in any order and optional comma in between.
* testsuite/libgomp.c++/atomic-15.C: Likewise.
* testsuite/libgomp.c/atomic-17.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209762
138bc75d -0d04-0410-961f-
82ee72b054a4
jakub [Thu, 24 Apr 2014 21:17:32 +0000 (21:17 +0000)]
* tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define.
* gimplify.c (omp_is_private): Change last argument's type to int.
Only diagnose lastprivate if the simd argument is 1, only diagnose
linear if the simd argument is 2.
(gimplify_omp_for): Adjust omp_is_private callers. When adding
lastprivate or private, add the clause to OMP_FOR_CLAUSES. Pass
GOVD_EXPLICIT to omp_add_variable. For simd with collapse == 1
create OMP_CLAUSE_LINEAR rather than OMP_CLAUSE_PRIVATE for var.
If var != decl and decl is in OMP_CLAUSE_LINEAR, gimplify decl
increment to OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
* omp-low.c (scan_sharing_clauses, lower_lastprivate_clauses): Handle
OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
* tree-nested.c (convert_nonlocal_omp_clauses,
convert_local_omp_clauses): Handle OMP_CLAUSE_LINEAR.
* testsuite/libgomp.c/simd-7.c: New test.
* testsuite/libgomp.c/simd-8.c: New test.
* testsuite/libgomp.c/simd-9.c: New test.
* testsuite/libgomp.c/loop-16.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209760
138bc75d -0d04-0410-961f-
82ee72b054a4
law [Thu, 24 Apr 2014 20:45:10 +0000 (20:45 +0000)]
2014-04-24 Segher Boessenkool <segher@kernel.crashing.org>
PR target/60822
* config/m68k/m68k.md (extendplussidi): Don't allow memory for
operand 1.
2014-04-24 Jeff Law <law@redhat.com>
PR target/60822
* gcc.c-torture/pr60822.c: New test.
* gcc.c-torture/pr60822.x: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209759
138bc75d -0d04-0410-961f-
82ee72b054a4
dinar [Thu, 24 Apr 2014 18:51:29 +0000 (18:51 +0000)]
add recored to gcc/testsuite/ChangeLog for PR c++/57958
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209757
138bc75d -0d04-0410-961f-
82ee72b054a4
timshen [Thu, 24 Apr 2014 18:29:21 +0000 (18:29 +0000)]
2014-04-24 Tim Shen <timshen91@gmail.com>
* include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
Do _M_alt before _M_next.
* testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209756
138bc75d -0d04-0410-961f-
82ee72b054a4
mrs [Thu, 24 Apr 2014 16:03:39 +0000 (16:03 +0000)]
Link to bug report.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209754
138bc75d -0d04-0410-961f-
82ee72b054a4
mrs [Thu, 24 Apr 2014 15:58:44 +0000 (15:58 +0000)]
2014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
* flag-types.h (enum ivar_visibility): Add.
c-family:
* c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
objc:
* objc-act.c (objc_ivar_visibility, objc_default_ivar_visibility): Add.
(objc_init): Initialize objc_default_ivar_visibility.
(objc_start_class_interface): Use objc_default_ivar_visibility.
(objc_start_class_implementation): Likewise.
(objc_lookup_ivar): Implement -fno-local-ivars.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209753
138bc75d -0d04-0410-961f-
82ee72b054a4
law [Thu, 24 Apr 2014 15:44:13 +0000 (15:44 +0000)]
2014-04-24 Jincheng Miao <jincheng.miao@gmail.com>
* zh_CN.po: Fix typo for -mfentry.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209752
138bc75d -0d04-0410-961f-
82ee72b054a4
tbsaunde [Thu, 24 Apr 2014 15:33:30 +0000 (15:33 +0000)]
fixup sh bustage after r209483
When making pass::execute functions take a function * argument I missed
the sh_treg_combine pass, so fix that here.
gcc/
* config/sh/sh_treg_combine.c (sh_treg_combine::execute): Take
function * argument.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209751
138bc75d -0d04-0410-961f-
82ee72b054a4
belagod [Thu, 24 Apr 2014 14:18:48 +0000 (14:18 +0000)]
[AArch64] Enable TBL for big-endian.
gcc/ChangeLog:
2014-04-11 Alan Lawrence <alan.lawrence@arm.com>
* config/aarch64/aarch64.c (aarch64_evpc_tbl): Enable for bigendian.
gcc/testsuite/ChangeLog:
2014-04-11 Alan Lawrence <alan.lawrence@arm.com>
* lib/target-supports.exp (check_effective_target_vect_perm): Return
true for aarch64_be.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209749
138bc75d -0d04-0410-961f-
82ee72b054a4
glisse [Thu, 24 Apr 2014 13:58:36 +0000 (13:58 +0000)]
2014-04-24 Marc Glisse <marc.glisse@inria.fr>
PR libstdc++/43622
gcc/cp/
* rtti.c (emit_support_tinfos): Do not iterate on
registered_builtin_types (partial revert).
libstdc++/
* config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
* config/abi/pre/gnu-versioned-namespace.ver: Likewise.
* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209748
138bc75d -0d04-0410-961f-
82ee72b054a4
ktkachov [Thu, 24 Apr 2014 11:03:56 +0000 (11:03 +0000)]
Fix warning in libgfortran configure script
* configure.ac: Quote usage of ac_cv_func_clock_gettime in if test.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209747
138bc75d -0d04-0410-961f-
82ee72b054a4
schwab [Thu, 24 Apr 2014 10:44:57 +0000 (10:44 +0000)]
Update libstdc++ baseline symbols for ia64
* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
new CXXABI_1.3.9 symbols.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209746
138bc75d -0d04-0410-961f-
82ee72b054a4
vries [Thu, 24 Apr 2014 10:27:16 +0000 (10:27 +0000)]
-fuse-caller-save - Add test-case
2014-04-24 Radovan Obradovic <robradovic@mips.com>
Tom de Vries <tom@codesourcery.com>
* gcc.dg/fuse-caller-save.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209745
138bc75d -0d04-0410-961f-
82ee72b054a4
vries [Thu, 24 Apr 2014 09:34:15 +0000 (09:34 +0000)]
-fuse-caller-save - Add new reg-note REG_CALL_DECL
2014-04-24 Radovan Obradovic <robradovic@mips.com>
Tom de Vries <tom@codesourcery.com>
* reg-notes.def (REG_NOTE (CALL_DECL)): New reg-note REG_CALL_DECL.
* calls.c (expand_call, emit_library_call_value_1): Add REG_CALL_DECL
reg-note.
* combine.c (distribute_notes): Handle REG_CALL_DECL reg-note.
* emit-rtl.c (try_split): Same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209744
138bc75d -0d04-0410-961f-
82ee72b054a4
vries [Thu, 24 Apr 2014 09:34:06 +0000 (09:34 +0000)]
-fuse-caller-save - Add command line option
2014-04-24 Radovan Obradovic <robradovic@mips.com>
Tom de Vries <tom@codesourcery.com>
* common.opt (fuse-caller-save): New option.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209743
138bc75d -0d04-0410-961f-
82ee72b054a4
belagod [Thu, 24 Apr 2014 09:08:48 +0000 (09:08 +0000)]
[AArch64] Reverse TBL indices for big-endian.
2014-04-24 Tejas Belagod <tejas.belagod@arm.com>
* config/aarch64/aarch64.c (aarch64_evpc_tbl): Reverse order of elements
for big-endian.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209742
138bc75d -0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 24 Apr 2014 08:55:05 +0000 (08:55 +0000)]
2014-04-24 Richard Biener <rguenther@suse.de>
* expr.c (expand_expr_real_1): Avoid gimple_assign_rhs_to_tree
during TER and instead use the sepops interface for expanding
non-GIMPLE_SINGLE_RHS.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209741
138bc75d -0d04-0410-961f-
82ee72b054a4
ro [Thu, 24 Apr 2014 08:48:34 +0000 (08:48 +0000)]
Only redefine ASM_PREFERRED_EH_DATA_FORMAT if necessary on Solaris/x86
* config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Only redefine
if not HAVE_AS_IX86_DIFF_SECT_DELTA.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209740
138bc75d -0d04-0410-961f-
82ee72b054a4
ro [Thu, 24 Apr 2014 08:38:06 +0000 (08:38 +0000)]
Fix gcc_cv_as_cfi_directive test for Solaris as
* configure.ac (gcc_cv_as_cfi_directive): Support Solaris/x86
assembler 64-bit option.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209739
138bc75d -0d04-0410-961f-
82ee72b054a4
jye2 [Thu, 24 Apr 2014 08:24:37 +0000 (08:24 +0000)]
2014-04-24 Joey Ye <joey.ye@arm.com>
* g++.dg/cpp0x/nsdmi-union5.C: Change to runtime test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209738
138bc75d -0d04-0410-961f-
82ee72b054a4
ktkachov [Thu, 24 Apr 2014 08:22:43 +0000 (08:22 +0000)]
[AArch64] Wire up TARGET_SIMD and TARGET_FLOAT properly
* config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Check
TARGET_SIMD rather than TARGET_GENERAL_REGS_ONLY.
(TARGET_SIMD): Take AARCH64_ISA_SIMD into account.
(TARGET_FLOAT): Take AARCH64_ISA_FP into account.
(TARGET_CRYPTO): Take TARGET_SIMD into account.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209737
138bc75d -0d04-0410-961f-
82ee72b054a4
ktkachov [Thu, 24 Apr 2014 08:05:07 +0000 (08:05 +0000)]
[AArch64] Vectorise bswap[16,32,64]
* config/aarch64/aarch64-builtins.c
(aarch64_builtin_vectorized_function): Handle BUILT_IN_BSWAP16,
BUILT_IN_BSWAP32, BUILT_IN_BSWAP64.
* config/aarch64/aarch64-simd.md (bswap<mode>): New pattern.
* config/aarch64/aarch64-simd-builtins.def: Define vector bswap
builtins.
* config/aarch64/iterator.md (VDQHSD): New mode iterator.
(Vrevsuff): New mode attribute.
* lib/target-supports.exp (check_effective_target_vect_bswap): New.
* gcc.dg/vect/vect-bswap16: New test.
* gcc.dg/vect/vect-bswap32: Likewise.
* gcc.dg/vect/vect-bswap64: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209736
138bc75d -0d04-0410-961f-
82ee72b054a4
xguo [Thu, 24 Apr 2014 06:40:24 +0000 (06:40 +0000)]
2014-04-24 Terry Guo <terry.guo@arm.com>
* config/arm/arm.h (machine_function): Define variable
after_arm_reorg here.
* config/arm/arm.c (after_arm_reorg): Remove the definition.
(arm_split_constant): Update the way to access variable
after_arm_reorg.
(arm_reorg): Ditto.
(arm_output_function_epilogue): Remove the reset of after_arm_reorg.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209735
138bc75d -0d04-0410-961f-
82ee72b054a4
lauras [Thu, 24 Apr 2014 03:45:14 +0000 (03:45 +0000)]
2014-04-24 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* MAINTAINERS: Move myself from Reviewers to Write After Approval
section.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209732
138bc75d -0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 24 Apr 2014 00:17:09 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209731
138bc75d -0d04-0410-961f-
82ee72b054a4
vries [Wed, 23 Apr 2014 21:29:08 +0000 (21:29 +0000)]
Fix DEFHOOKPOD argument order in target-hooks-macros.h comment
2014-04-23 Tom de Vries <tom@codesourcery.com>
* target-hooks-macros.h: Fix DEFHOOKPOD argument order in comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209725
138bc75d -0d04-0410-961f-
82ee72b054a4
dinar [Wed, 23 Apr 2014 19:34:08 +0000 (19:34 +0000)]
Fix for c++/PR57958
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209721
138bc75d -0d04-0410-961f-
82ee72b054a4
dmalcolm [Wed, 23 Apr 2014 19:06:40 +0000 (19:06 +0000)]
Change is-a.h to support typedefs of pointers
gcc/
* is-a.h: Update comments to reflect the following changes to the
"pointerness" of the API, making the template parameter match the
return type, allowing use of is-a.h with typedefs of pointers.
(is_a_helper::cast): Return a T rather then a pointer to a T, so
that the return type matches the parameter to the is_a_helper.
(as_a): Likewise.
(dyn_cast): Likewise.
* cgraph.c (cgraph_node_for_asm): Update for removal of implicit
pointer from the is-a.h API.
* cgraph.h (is_a_helper <cgraph_node>::test): Convert to...
(is_a_helper <cgraph_node *>::test): ...this, matching change to
is-a.h API.
(is_a_helper <varpool_node>::test): Likewise, convert to...
(is_a_helper <varpool_node *>::test): ...this.
(varpool_first_variable): Update for removal of implicit pointer
from the is-a.h API.
(varpool_next_variable): Likewise.
(varpool_first_static_initializer): Likewise.
(varpool_next_static_initializer): Likewise.
(varpool_first_defined_variable): Likewise.
(varpool_next_defined_variable): Likewise.
(cgraph_first_defined_function): Likewise.
(cgraph_next_defined_function): Likewise.
(cgraph_first_function): Likewise.
(cgraph_next_function): Likewise.
(cgraph_first_function_with_gimple_body): Likewise.
(cgraph_next_function_with_gimple_body): Likewise.
(cgraph_alias_target): Likewise.
(varpool_alias_target): Likewise.
(cgraph_function_or_thunk_node): Likewise.
(varpool_variable_node): Likewise.
(symtab_real_symbol_p): Likewise.
* cgraphunit.c (referred_to_p): Likewise.
(analyze_functions): Likewise.
(handle_alias_pairs): Likewise.
* gimple-fold.c (can_refer_decl_in_current_unit_p): Likewise.
* gimple-ssa.h (gimple_vuse_op): Likewise.
(gimple_vdef_op): Likewise.
* gimple-streamer-in.c (input_gimple_stmt): Likewise.
* gimple.c (gimple_build_asm_1): Likewise.
(gimple_build_try): Likewise.
(gimple_build_resx): Likewise.
(gimple_build_eh_dispatch): Likewise.
(gimple_build_omp_for): Likewise.
(gimple_omp_for_set_clauses): Likewise.
* gimple.h (is_a_helper <gimple_statement_asm>::test): Convert to...
(is_a_helper <gimple_statement_asm *>::test): ...this.
(is_a_helper <gimple_statement_bind>::test): Convert to...
(is_a_helper <gimple_statement_bind *>::test): ...this.
(is_a_helper <gimple_statement_call>::test): Convert to...
(is_a_helper <gimple_statement_call *>::test): ...this.
(is_a_helper <gimple_statement_catch>::test): Convert to...
(is_a_helper <gimple_statement_catch *>::test): ...this.
(is_a_helper <gimple_statement_resx>::test): Convert to...
(is_a_helper <gimple_statement_resx *>::test): ...this.
(is_a_helper <gimple_statement_eh_dispatch>::test): Convert to...
(is_a_helper <gimple_statement_eh_dispatch *>::test): ...this.
(is_a_helper <gimple_statement_eh_else>::test): Convert to...
(is_a_helper <gimple_statement_eh_else *>::test): ...this.
(is_a_helper <gimple_statement_eh_filter>::test): Convert to...
(is_a_helper <gimple_statement_eh_filter *>::test): ...this.
(is_a_helper <gimple_statement_eh_mnt>::test): Convert to...
(is_a_helper <gimple_statement_eh_mnt *>::test): ...this.
(is_a_helper <gimple_statement_omp_atomic_load>::test): Convert to...
(is_a_helper <gimple_statement_omp_atomic_load *>::test): ...this.
(is_a_helper <gimple_statement_omp_atomic_store>::test): Convert to...
(is_a_helper <gimple_statement_omp_atomic_store *>::test): ...this.
(is_a_helper <gimple_statement_omp_return>::test): Convert to...
(is_a_helper <gimple_statement_omp_return *>::test): ...this.
(is_a_helper <gimple_statement_omp_continue>::test): Convert to...
(is_a_helper <gimple_statement_omp_continue *>::test): ...this.
(is_a_helper <gimple_statement_omp_critical>::test): Convert to...
(is_a_helper <gimple_statement_omp_critical *>::test): ...this.
(is_a_helper <gimple_statement_omp_for>::test): Convert to...
(is_a_helper <gimple_statement_omp_for *>::test): ...this.
(is_a_helper <gimple_statement_omp_taskreg>::test): Convert to...
(is_a_helper <gimple_statement_omp_taskreg *>::test): ...this.
(is_a_helper <gimple_statement_omp_parallel>::test): Convert to...
(is_a_helper <gimple_statement_omp_parallel *>::test): ...this.
(is_a_helper <gimple_statement_omp_target>::test): Convert to...
(is_a_helper <gimple_statement_omp_target *>::test): ...this.
(is_a_helper <gimple_statement_omp_sections>::test): Convert to...
(is_a_helper <gimple_statement_omp_sections *>::test): ...this.
(is_a_helper <gimple_statement_omp_single>::test): Convert to...
(is_a_helper <gimple_statement_omp_single *>::test): ...this.
(is_a_helper <gimple_statement_omp_teams>::test): Convert to...
(is_a_helper <gimple_statement_omp_teams *>::test): ...this.
(is_a_helper <gimple_statement_omp_task>::test): Convert to...
(is_a_helper <gimple_statement_omp_task *>::test): ...this.
(is_a_helper <gimple_statement_phi>::test): Convert to...
(is_a_helper <gimple_statement_phi *>::test): ...this.
(is_a_helper <gimple_statement_transaction>::test): Convert to...
(is_a_helper <gimple_statement_transaction *>::test): ...this.
(is_a_helper <gimple_statement_try>::test): Convert to...
(is_a_helper <gimple_statement_try *>::test): ...this.
(is_a_helper <gimple_statement_wce>::test): Convert to...
(is_a_helper <gimple_statement_wce *>::test): ...this.
(is_a_helper <const gimple_statement_asm>::test): Convert to...
(is_a_helper <const gimple_statement_asm *>::test): ...this.
(is_a_helper <const gimple_statement_bind>::test): Convert to...
(is_a_helper <const gimple_statement_bind *>::test): ...this.
(is_a_helper <const gimple_statement_call>::test): Convert to...
(is_a_helper <const gimple_statement_call *>::test): ...this.
(is_a_helper <const gimple_statement_catch>::test): Convert to...
(is_a_helper <const gimple_statement_catch *>::test): ...this.
(is_a_helper <const gimple_statement_resx>::test): Convert to...
(is_a_helper <const gimple_statement_resx *>::test): ...this.
(is_a_helper <const gimple_statement_eh_dispatch>::test):
Convert to...
(is_a_helper <const gimple_statement_eh_dispatch *>::test):
...this.
(is_a_helper <const gimple_statement_eh_filter>::test): Convert
to...
(is_a_helper <const gimple_statement_eh_filter *>::test): ...this.
(is_a_helper <const gimple_statement_omp_atomic_load>::test):
Convert to...
(is_a_helper <const gimple_statement_omp_atomic_load *>::test):
...this.
(is_a_helper <const gimple_statement_omp_atomic_store>::test):
Convert to...
(is_a_helper <const gimple_statement_omp_atomic_store *>::test):
...this.
(is_a_helper <const gimple_statement_omp_return>::test): Convert
to...
(is_a_helper <const gimple_statement_omp_return *>::test): ...this.
(is_a_helper <const gimple_statement_omp_continue>::test): Convert
to...
(is_a_helper <const gimple_statement_omp_continue *>::test): ...this.
(is_a_helper <const gimple_statement_omp_critical>::test): Convert
to...
(is_a_helper <const gimple_statement_omp_critical *>::test): ...this.
(is_a_helper <const gimple_statement_omp_for>::test): Convert to...
(is_a_helper <const gimple_statement_omp_for *>::test): ...this.
(is_a_helper <const gimple_statement_omp_taskreg>::test): Convert
to...
(is_a_helper <const gimple_statement_omp_taskreg *>::test): ...this.
(is_a_helper <const gimple_statement_omp_parallel>::test): Convert
to...
(is_a_helper <const gimple_statement_omp_parallel *>::test): ...this.
(is_a_helper <const gimple_statement_omp_target>::test): Convert
to...
(is_a_helper <const gimple_statement_omp_target *>::test): ...this.
(is_a_helper <const gimple_statement_omp_sections>::test): Convert
to...
(is_a_helper <const gimple_statement_omp_sections *>::test): ...this.
(is_a_helper <const gimple_statement_omp_single>::test): Convert
to...
(is_a_helper <const gimple_statement_omp_single *>::test): ...this.
(is_a_helper <const gimple_statement_omp_teams>::test): Convert
to...
(is_a_helper <const gimple_statement_omp_teams *>::test): ...this.
(is_a_helper <const gimple_statement_omp_task>::test): Convert
to...
(is_a_helper <const gimple_statement_omp_task *>::test): ...this.
(is_a_helper <const gimple_statement_phi>::test): Convert to...
(is_a_helper <const gimple_statement_phi *>::test): ...this.
(is_a_helper <const gimple_statement_transaction>::test): Convert
to...
(is_a_helper <const gimple_statement_transaction *>::test): ...this.
(is_a_helper <const gimple_statement_with_ops>::test): Convert
to...
(is_a_helper <const gimple_statement_with_ops *>::test): ...this.
(is_a_helper <gimple_statement_with_ops>::test): Convert to...
(is_a_helper <gimple_statement_with_ops *>::test): ...this.
(is_a_helper <const gimple_statement_with_memory_ops>::test):
Convert to...
(is_a_helper <const gimple_statement_with_memory_ops *>::test):
...this.
(is_a_helper <gimple_statement_with_memory_ops>::test): Convert
to...
(is_a_helper <gimple_statement_with_memory_ops *>::test): ...this.
(gimple_use_ops): Update for removal of implicit pointer from the
is-a.h API.
(gimple_set_use_ops): Likewise.
(gimple_vuse): Likewise.
(gimple_vdef): Likewise.
(gimple_vuse_ptr): Likewise.
(gimple_vdef_ptr): Likewise.
(gimple_set_vuse): Likewise.
(gimple_set_vdef): Likewise.
(gimple_omp_return_set_lhs): Likewise.
(gimple_omp_return_lhs): Likewise.
(gimple_omp_return_lhs_ptr): Likewise.
(gimple_call_fntype): Likewise.
(gimple_call_set_fntype): Likewise.
(gimple_call_set_internal_fn): Likewise.
(gimple_call_use_set): Likewise.
(gimple_call_clobber_set): Likewise.
(gimple_bind_vars): Likewise.
(gimple_bind_set_vars): Likewise.
(gimple_bind_body_ptr): Likewise.
(gimple_bind_set_body): Likewise.
(gimple_bind_add_stmt): Likewise.
(gimple_bind_block): Likewise.
(gimple_bind_set_block): Likewise.
(gimple_asm_ninputs): Likewise.
(gimple_asm_noutputs): Likewise.
(gimple_asm_nclobbers): Likewise.
(gimple_asm_nlabels): Likewise.
(gimple_asm_input_op): Likewise.
(gimple_asm_input_op_ptr): Likewise.
(gimple_asm_output_op): Likewise.
(gimple_asm_output_op_ptr): Likewise.
(gimple_asm_set_output_op): Likewise.
(gimple_asm_clobber_op): Likewise.
(gimple_asm_set_clobber_op): Likewise.
(gimple_asm_label_op): Likewise.
(gimple_asm_set_label_op): Likewise.
(gimple_asm_string): Likewise.
(gimple_catch_types): Likewise.
(gimple_catch_types_ptr): Likewise.
(gimple_catch_handler_ptr): Likewise.
(gimple_catch_set_types): Likewise.
(gimple_catch_set_handler): Likewise.
(gimple_eh_filter_types): Likewise.
(gimple_eh_filter_types_ptr): Likewise.
(gimple_eh_filter_failure_ptr): Likewise.
(gimple_eh_filter_set_types): Likewise.
(gimple_eh_filter_set_failure): Likewise.
(gimple_eh_must_not_throw_fndecl): Likewise.
(gimple_eh_must_not_throw_set_fndecl): Likewise.
(gimple_eh_else_n_body_ptr): Likewise.
(gimple_eh_else_e_body_ptr): Likewise.
(gimple_eh_else_set_n_body): Likewise.
(gimple_eh_else_set_e_body): Likewise.
(gimple_try_eval_ptr): Likewise.
(gimple_try_cleanup_ptr): Likewise.
(gimple_try_set_eval): Likewise.
(gimple_try_set_cleanup): Likewise.
(gimple_wce_cleanup_ptr): Likewise.
(gimple_wce_set_cleanup): Likewise.
(gimple_phi_capacity): Likewise.
(gimple_phi_num_args): Likewise.
(gimple_phi_result): Likewise.
(gimple_phi_result_ptr): Likewise.
(gimple_phi_set_result): Likewise.
(gimple_phi_arg): Likewise.
(gimple_phi_set_arg): Likewise.
(gimple_resx_region): Likewise.
(gimple_resx_set_region): Likewise.
(gimple_eh_dispatch_region): Likewise.
(gimple_eh_dispatch_set_region): Likewise.
(gimple_omp_critical_name): Likewise.
(gimple_omp_critical_name_ptr): Likewise.
(gimple_omp_critical_set_name): Likewise.
(gimple_omp_for_clauses): Likewise.
(gimple_omp_for_clauses_ptr): Likewise.
(gimple_omp_for_set_clauses): Likewise.
(gimple_omp_for_collapse): Likewise.
(gimple_omp_for_index): Likewise.
(gimple_omp_for_index_ptr): Likewise.
(gimple_omp_for_set_index): Likewise.
(gimple_omp_for_initial): Likewise.
(gimple_omp_for_initial_ptr): Likewise.
(gimple_omp_for_set_initial): Likewise.
(gimple_omp_for_final): Likewise.
(gimple_omp_for_final_ptr): Likewise.
(gimple_omp_for_set_final): Likewise.
(gimple_omp_for_incr): Likewise.
(gimple_omp_for_incr_ptr): Likewise.
(gimple_omp_for_set_incr): Likewise.
(gimple_omp_for_pre_body_ptr): Likewise.
(gimple_omp_for_set_pre_body): Likewise.
(gimple_omp_parallel_clauses): Likewise.
(gimple_omp_parallel_clauses_ptr): Likewise.
(gimple_omp_parallel_set_clauses): Likewise.
(gimple_omp_parallel_child_fn): Likewise.
(gimple_omp_parallel_child_fn_ptr): Likewise.
(gimple_omp_parallel_set_child_fn): Likewise.
(gimple_omp_parallel_data_arg): Likewise.
(gimple_omp_parallel_data_arg_ptr): Likewise.
(gimple_omp_parallel_set_data_arg): Likewise.
(gimple_omp_task_clauses): Likewise.
(gimple_omp_task_clauses_ptr): Likewise.
(gimple_omp_task_set_clauses): Likewise.
(gimple_omp_task_child_fn): Likewise.
(gimple_omp_task_child_fn_ptr): Likewise.
(gimple_omp_task_set_child_fn): Likewise.
(gimple_omp_task_data_arg): Likewise.
(gimple_omp_task_data_arg_ptr): Likewise.
(gimple_omp_task_set_data_arg): Likewise.
(gimple_omp_taskreg_clauses): Likewise.
(gimple_omp_taskreg_clauses_ptr): Likewise.
(gimple_omp_taskreg_set_clauses): Likewise.
(gimple_omp_taskreg_child_fn): Likewise.
(gimple_omp_taskreg_child_fn_ptr): Likewise.
(gimple_omp_taskreg_set_child_fn): Likewise.
(gimple_omp_taskreg_data_arg): Likewise.
(gimple_omp_taskreg_data_arg_ptr): Likewise.
(gimple_omp_taskreg_set_data_arg): Likewise.
(gimple_omp_task_copy_fn): Likewise.
(gimple_omp_task_copy_fn_ptr): Likewise.
(gimple_omp_task_set_copy_fn): Likewise.
(gimple_omp_task_arg_size): Likewise.
(gimple_omp_task_arg_size_ptr): Likewise.
(gimple_omp_task_set_arg_size): Likewise.
(gimple_omp_task_arg_align): Likewise.
(gimple_omp_task_arg_align_ptr): Likewise.
(gimple_omp_task_set_arg_align): Likewise.
(gimple_omp_single_clauses): Likewise.
(gimple_omp_single_clauses_ptr): Likewise.
(gimple_omp_single_set_clauses): Likewise.
(gimple_omp_target_clauses): Likewise.
(gimple_omp_target_clauses_ptr): Likewise.
(gimple_omp_target_set_clauses): Likewise.
(gimple_omp_target_child_fn): Likewise.
(gimple_omp_target_child_fn_ptr): Likewise.
(gimple_omp_target_set_child_fn): Likewise.
(gimple_omp_target_data_arg): Likewise.
(gimple_omp_target_data_arg_ptr): Likewise.
(gimple_omp_target_set_data_arg): Likewise.
(gimple_omp_teams_clauses): Likewise.
(gimple_omp_teams_clauses_ptr): Likewise.
(gimple_omp_teams_set_clauses): Likewise.
(gimple_omp_sections_clauses): Likewise.
(gimple_omp_sections_clauses_ptr): Likewise.
(gimple_omp_sections_set_clauses): Likewise.
(gimple_omp_sections_control): Likewise.
(gimple_omp_sections_control_ptr): Likewise.
(gimple_omp_sections_set_control): Likewise.
(gimple_omp_for_set_cond): Likewise.
(gimple_omp_for_cond): Likewise.
(gimple_omp_atomic_store_set_val): Likewise.
(gimple_omp_atomic_store_val): Likewise.
(gimple_omp_atomic_store_val_ptr): Likewise.
(gimple_omp_atomic_load_set_lhs): Likewise.
(gimple_omp_atomic_load_lhs): Likewise.
(gimple_omp_atomic_load_lhs_ptr): Likewise.
(gimple_omp_atomic_load_set_rhs): Likewise.
(gimple_omp_atomic_load_rhs): Likewise.
(gimple_omp_atomic_load_rhs_ptr): Likewise.
(gimple_omp_continue_control_def): Likewise.
(gimple_omp_continue_control_def_ptr): Likewise.
(gimple_omp_continue_set_control_def): Likewise.
(gimple_omp_continue_control_use): Likewise.
(gimple_omp_continue_control_use_ptr): Likewise.
(gimple_omp_continue_set_control_use): Likewise.
(gimple_transaction_body_ptr): Likewise.
(gimple_transaction_label): Likewise.
(gimple_transaction_label_ptr): Likewise.
(gimple_transaction_set_body): Likewise.
(gimple_transaction_set_label): Likewise.
* ipa-devirt.c (build_type_inheritance_graph): Likewise.
* ipa-inline-analysis.c (inline_write_summary): Likewise.
* ipa-ref.c (ipa_record_reference): Likewise.
* ipa-reference.c (analyze_function): Likewise.
(ipa_reference_write_optimization_summary): Likewise.
* ipa.c (symtab_remove_unreachable_nodes): Likewise.
(address_taken_from_non_vtable_p): Likewise.
(comdat_can_be_unshared_p_1): Likewise.
* lto-cgraph.c (lto_output_ref): Likewise.
(add_references): Likewise.
(compute_ltrans_boundary): Likewise.
(output_symtab): Likewise.
(input_ref): Likewise.
(input_cgraph_1): Likewise.
(output_cgraph_opt_summary): Likewise.
* lto-streamer-out.c (lto_output): Likewise.
(output_symbol_p): Likewise.
* lto-streamer.h (lsei_next_function_in_partition): Likewise.
(lsei_start_function_in_partition): Likewise.
(lsei_next_variable_in_partition): Likewise.
(lsei_start_variable_in_partition): Likewise.
* symtab.c (insert_to_assembler_name_hash): Likewise.
(unlink_from_assembler_name_hash): Likewise.
(symtab_unregister_node): Likewise.
(symtab_remove_node): Likewise.
(dump_symtab_node): Likewise.
(verify_symtab_base): Likewise.
(verify_symtab_node): Likewise.
(symtab_make_decl_local): Likewise.
(symtab_alias_ultimate_target): Likewise.
(symtab_resolve_alias): Likewise.
(symtab_get_symbol_partitioning_class): Likewise.
* tree-phinodes.c (allocate_phi_node): Likewise.
(reserve_phi_args_for_new_edge): Likewise.
(remove_phi_args): Likewise.
* varpool.c (varpool_node_for_asm): Likewise.
(varpool_remove_unreferenced_decls): Likewise.
gcc/lto/
* lto-partition.c (add_references_to_partition): Update for
removal of implicit pointer from the is-a.h API.
(add_symbol_to_partition_1): Likewise.
(contained_in_symbol): Likewise.
(undo_partition): Likewise.
(lto_balanced_map): Likewise.
(promote_symbol): Likewise.
* lto-symtab.c (lto_symtab_merge_symbols_1): Likewise.
(lto_symtab_merge_symbols): Likewise.
* lto.c (lto_wpa_write_files): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209719
138bc75d -0d04-0410-961f-
82ee72b054a4
law [Wed, 23 Apr 2014 18:04:46 +0000 (18:04 +0000)]
PR tree-optimization/60902
* tree-ssa-threadedge.c
(record_temporary_equivalences_from_stmts_at_dest): Make sure to
invalidate outputs from statements that do not produce useful
outputs for threading.
PR tree-optimization/60902
* gcc.target/i386/pr60902.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209716
138bc75d -0d04-0410-961f-
82ee72b054a4
mshawcroft [Wed, 23 Apr 2014 17:02:49 +0000 (17:02 +0000)]
[AArch64] VDUP Testcases
This patch adds vdup intrinsic testcases for AArch64. those testcases
are nice to have, as it allows to reason about vdup consistency for
both LE and BE compiler flavors.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209713
138bc75d -0d04-0410-961f-
82ee72b054a4
mshawcroft [Wed, 23 Apr 2014 17:01:39 +0000 (17:01 +0000)]
[AARCH64] Use standard patterns for stack protection.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209712
138bc75d -0d04-0410-961f-
82ee72b054a4
mshawcroft [Wed, 23 Apr 2014 17:00:40 +0000 (17:00 +0000)]
[AArch64] Fully support rotate on logical operations.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209711
138bc75d -0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Wed, 23 Apr 2014 16:37:05 +0000 (16:37 +0000)]
[ARM] Initialize new tune_params values
gcc/
* config/arm/arm.c (arm_cortex_a57_tune): Initialize all fields.
(arm_cortex_a12_tune): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209710
138bc75d -0d04-0410-961f-
82ee72b054a4
ktkachov [Wed, 23 Apr 2014 15:30:53 +0000 (15:30 +0000)]
[AArch64] Add handling of bswap operations in rtx costs
* config/aarch64/aarch64.c (aarch64_rtx_costs): Handle BSWAP.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209706
138bc75d -0d04-0410-961f-
82ee72b054a4
ktkachov [Wed, 23 Apr 2014 15:29:06 +0000 (15:29 +0000)]
[ARM][3/3] Recognise bitwise operations leading to SImode rev16
* config/arm/arm.md (arm_rev16si2): New pattern.
(arm_rev16si2_alt): Likewise.
* config/arm/arm.c (arm_new_rtx_costs): Handle rev16 case.
* gcc.target/arm/rev16.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209705
138bc75d -0d04-0410-961f-
82ee72b054a4
ktkachov [Wed, 23 Apr 2014 15:26:28 +0000 (15:26 +0000)]
[AArch64][2/3] Recognise rev16 operations on SImode and DImode data
* config/aarch64/aarch64.md (rev16<mode>2): New pattern.
(rev16<mode>2_alt): Likewise.
* config/aarch64/aarch64.c (aarch64_rtx_costs): Handle rev16 case.
* config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p): New.
(aarch_rev16_shleft_mask_imm_p): Likewise.
(aarch_rev16_p_1): Likewise.
(aarch_rev16_p): Likewise.
* config/arm/aarch-common-protos.h (aarch_rev16_p): Declare extern.
(aarch_rev16_shright_mask_imm_p): Likewise.
(aarch_rev16_shleft_mask_imm_p): Likewise.
* gcc.target/aarch64/rev16_1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209704
138bc75d -0d04-0410-961f-
82ee72b054a4
ktkachov [Wed, 23 Apr 2014 15:23:14 +0000 (15:23 +0000)]
[ARM][1/3] Add rev field to rtx cost tables
* config/arm/aarch-common-protos.h (alu_cost_table): Add rev field.
* config/arm/aarch-cost-tables.h (generic_extra_costs): Specify
rev cost.
(cortex_a53_extra_costs): Likewise.
(cortex_a57_extra_costs): Likewise.
* config/arm/arm.c (cortexa9_extra_costs): Likewise.
(cortexa7_extra_costs): Likewise.
(cortexa8_extra_costs): Likewise.
(cortexa12_extra_costs): Likewise.
(cortexa15_extra_costs): Likewise.
(v7m_extra_costs): Likewise.
(arm_new_rtx_costs): Handle BSWAP.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209703
138bc75d -0d04-0410-961f-
82ee72b054a4
ktkachov [Wed, 23 Apr 2014 15:20:25 +0000 (15:20 +0000)]
[ARM] Cortex-A8 rtx cost table
* config/arm/arm.c (cortexa8_extra_costs): New table.
(arm_cortex_a8_tune): New tuning struct.
* config/arm/arm-cores.def (cortex-a8): Use cortex_a8 tuning struct.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209702
138bc75d -0d04-0410-961f-
82ee72b054a4
ktkachov [Wed, 23 Apr 2014 15:17:54 +0000 (15:17 +0000)]
[ARM] Handle FMA code in rtx costs.
* config/arm/arm.c (arm_new_rtx_costs): Handle FMA.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209701
138bc75d -0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 23 Apr 2014 13:48:12 +0000 (13:48 +0000)]
2014-04-23 Richard Biener <rguenther@suse.de>
* Makefile.in (OBJS): Remove loop-unswitch.o.
* loop-unswitch.c: Delete.
* tree-pass.h (make_pass_rtl_unswitch): Remove.
* passes.def (pass_rtl_unswitch): Likewise.
* loop-init.c (gate_rtl_unswitch): Likewise.
(rtl_unswitch): Likewise.
(pass_data_rtl_unswitch): Likewise.
(pass_rtl_unswitch): Likewise.
(make_pass_rtl_unswitch): Likewise.
* rtl.h (reversed_condition): Likewise.
(compare_and_jump_seq): Likewise.
* loop-iv.c (reversed_condition): Move here from loop-unswitch.c
and make static.
* loop-unroll.c (compare_and_jump_seq): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209698
138bc75d -0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 23 Apr 2014 11:25:27 +0000 (11:25 +0000)]
2014-04-23 Richard Biener <rguenther@suse.de>
PR tree-optimization/60903
* tree-ssa-loop-im.c (analyze_memory_references): Remove
commented code block.
(execute_sm_if_changed): Properly apply IRREDUCIBLE_LOOP
loop flags to newly created BBs and edges.
* gcc.dg/torture/pr60903.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209694
138bc75d -0d04-0410-961f-
82ee72b054a4
mpolacek [Wed, 23 Apr 2014 10:54:53 +0000 (10:54 +0000)]
* c-common.c (handle_tm_wrap_attribute): Tweak error message.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209693
138bc75d -0d04-0410-961f-
82ee72b054a4
nickc [Wed, 23 Apr 2014 10:35:49 +0000 (10:35 +0000)]
* config/msp430/msp430.c (msp430_handle_option): Move function
to msp430-common.c
(msp430_option_override): Simplify mcu and mcpu option handling.
(msp430_is_f5_mcu): Rename to msp430_use_f5_series_hwmult. Add
support for -mhwmult command line option.
(has_32bit_hwmult): Rename to use_32bit_hwmult. Add support for
-mhwmult command line option.
(msp430_hwmult_enabled): Delete.
(msp43o_output_labelref): Add support for -mhwmult command line
option.
* config/msp430/msp430.md (mulhisi3, umulhisi3, mulsidi3)
(umulsidi3): Likewise.
* config/msp430/msp430.opt (mmcu): Add Report attribute.
(mcpu, mlarge, msmall): Likewise.
(mhwmult): New option.
* config/msp430/msp430-protos.h (msp430_hwmult_enabled): Remove
prototype.
(msp430_is_f5_mcu): Remove prototype.
(msp430_use_f5_series_hwmult): Add prototype.
* config/msp430/msp430-opts.h: New file.
* common/config/msp430: New directory.
* common/config/msp430/msp430-common.c: New file.
* config.gcc (msp430): Remove target_has_targetm_common.
* doc/invoke.texi: Document -mhwmult command line option.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209685
138bc75d -0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 23 Apr 2014 10:29:47 +0000 (10:29 +0000)]
Revert
2014-04-22 Richard Henderson <rth@redhat.com>
* gcc-interface/Makefile.in: Support aarch64-linux.
2014-04-22 Eric Botcazou <ebotcazou@adacore.com>
* fe.h (Compiler_Abort): Replace Fat_Pointer with String_Pointer.
(Error_Msg_N): Likewise.
(Error_Msg_NE): Likewise.
(Get_External_Name_With_Suffix): Likewise.
* types.h (Fat_Pointer): Delete.
(String_Pointer): New type.
(DECLARE_STRING_POINTER): New macro.
* gcc-interface/decl.c (create_concat_name): Adjust.
* gcc-interface/trans.c (post_error): Likewise.
(post_error_ne): Likewise.
* gcc-interface/misc.c (internal_error_function): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209684
138bc75d -0d04-0410-961f-
82ee72b054a4
schwab [Wed, 23 Apr 2014 10:07:06 +0000 (10:07 +0000)]
Update libstdc++ baseline symbols for m68k
* config/abi/post/m68k-linux-gnu/baseline_symbols.txt
(CXXABI_1.3.9): New version.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209683
138bc75d -0d04-0410-961f-
82ee72b054a4
nickc [Wed, 23 Apr 2014 09:42:40 +0000 (09:42 +0000)]
* config/i386/cygwin.h (ENDFILE_SPEC): Include
default-manifest.o if it can be found in the search path.
* config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209681
138bc75d -0d04-0410-961f-
82ee72b054a4
xguo [Wed, 23 Apr 2014 08:59:07 +0000 (08:59 +0000)]
2014-04-23 Terry Guo <terry.guo@arm.com>
* config/arm/arm.h (ASM_APP_OFF): Re-define it in a cleaner way.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209678
138bc75d -0d04-0410-961f-
82ee72b054a4