Vishnu K S [Thu, 24 Apr 2014 22:05:07 +0000 (22:05 +0000)]
avr.c: Add comment on why -fdelete-null-pointer-checks is disabled.
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
From-SVN: r209767
Prathamesh Kulkarni [Thu, 24 Apr 2014 21:29:45 +0000 (21:29 +0000)]
c-parser.c (c_parser_sizeof_expression): Reorganize slightly to avoid goto.
* c-parser.c (c_parser_sizeof_expression): Reorganize slightly to
avoid goto.
From-SVN: r209765
Jakub Jelinek [Thu, 24 Apr 2014 21:20:28 +0000 (23:20 +0200)]
c-parser.c (c_parser_omp_atomic): Allow seq_cst before atomic-clause...
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.
From-SVN: r209762
Jakub Jelinek [Thu, 24 Apr 2014 21:17:32 +0000 (23:17 +0200)]
tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define.
* 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.
From-SVN: r209760
Jeff Law [Thu, 24 Apr 2014 20:45:10 +0000 (14:45 -0600)]
[multiple changes]
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.
From-SVN: r209759
Dinar Temirbulatov [Thu, 24 Apr 2014 18:51:29 +0000 (22:51 +0400)]
add recored to gcc/testsuite/ChangeLog for PR c++/57958
From-SVN: r209757
Tim Shen [Thu, 24 Apr 2014 18:29:21 +0000 (18:29 +0000)]
regex_automaton.tcc (_StateSeq<>::_M_clone()): Do _M_alt before _M_next.
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.
From-SVN: r209756
Mike Stump [Thu, 24 Apr 2014 16:03:39 +0000 (16:03 +0000)]
Link to bug report.
From-SVN: r209754
Dimitris Papavasiliou [Thu, 24 Apr 2014 15:58:44 +0000 (15:58 +0000)]
flag-types.h (enum ivar_visibility): Add.
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.
From-SVN: r209753
Jincheng Miao [Thu, 24 Apr 2014 15:44:13 +0000 (15:44 +0000)]
zh_CN.po: Fix typo for -mfentry.
2014-04-24 Jincheng Miao <jincheng.miao@gmail.com>
* zh_CN.po: Fix typo for -mfentry.
From-SVN: r209752
Trevor Saunders [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.
From-SVN: r209751
Alan Lawrence [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.
From-SVN: r209749
Marc Glisse [Thu, 24 Apr 2014 13:58:36 +0000 (15:58 +0200)]
re PR libstdc++/43622 (Incomplete C++ library support for __float128)
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.
From-SVN: r209748
Kyrylo Tkachov [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.
From-SVN: r209747
Andreas 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.
From-SVN: r209746
Radovan Obradovic [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.
Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r209745
Radovan Obradovic [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.
Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r209744
Radovan Obradovic [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.
Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r209743
Tejas Belagod [Thu, 24 Apr 2014 09:08:48 +0000 (10:08 +0100)]
[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.
From-SVN: r209742
Richard Biener [Thu, 24 Apr 2014 08:55:05 +0000 (08:55 +0000)]
expr.c (expand_expr_real_1): Avoid gimple_assign_rhs_to_tree during TER and instead use the sepops interface...
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.
From-SVN: r209741
Rainer Orth [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.
From-SVN: r209740
Rainer Orth [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.
From-SVN: r209739
Joey Ye [Thu, 24 Apr 2014 08:24:37 +0000 (08:24 +0000)]
nsdmi-union5.C: Change to runtime test.
2014-04-24 Joey Ye <joey.ye@arm.com>
* g++.dg/cpp0x/nsdmi-union5.C: Change to runtime test.
From-SVN: r209738
Kyrylo Tkachov [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.
From-SVN: r209737
Kyrylo Tkachov [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.
From-SVN: r209736
Terry Guo [Thu, 24 Apr 2014 06:40:24 +0000 (06:40 +0000)]
arm.h (machine_function): Define variable after_arm_reorg here.
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.
From-SVN: r209735
Laurynas Biveinis [Thu, 24 Apr 2014 03:45:14 +0000 (03:45 +0000)]
MAINTAINERS: Move myself from Reviewers to Write After Approval section.
2014-04-24 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* MAINTAINERS: Move myself from Reviewers to Write After Approval
section.
From-SVN: r209732
GCC Administrator [Thu, 24 Apr 2014 00:17:09 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r209731
Tom de 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.
From-SVN: r209725
Dinar Temirbulatov [Wed, 23 Apr 2014 19:34:08 +0000 (23:34 +0400)]
Fix for c++/PR57958
From-SVN: r209721
David Malcolm [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.
From-SVN: r209719
Jeff Law [Wed, 23 Apr 2014 18:04:46 +0000 (12:04 -0600)]
re PR tree-optimization/60902 (ffmpeg built with gcc 4.9 RC produces incorrect flac playback code)
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.
From-SVN: r209716
Alex Velenko [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.
From-SVN: r209713
Venkataramanan Kumar [Wed, 23 Apr 2014 17:01:39 +0000 (17:01 +0000)]
[AARCH64] Use standard patterns for stack protection.
From-SVN: r209712
Richard Earnshaw [Wed, 23 Apr 2014 17:00:40 +0000 (17:00 +0000)]
[AArch64] Fully support rotate on logical operations.
From-SVN: r209711
James Greenhalgh [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.
From-SVN: r209710
Kyrylo Tkachov [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.
From-SVN: r209706
Kyrylo Tkachov [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.
From-SVN: r209705
Kyrylo Tkachov [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.
From-SVN: r209704
Kyrylo Tkachov [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.
From-SVN: r209703
Kyrylo Tkachov [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.
From-SVN: r209702
Kyrylo Tkachov [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.
From-SVN: r209701
Richard Biener [Wed, 23 Apr 2014 13:48:12 +0000 (13:48 +0000)]
Makefile.in (OBJS): Remove loop-unswitch.o.
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.
From-SVN: r209698
Richard Biener [Wed, 23 Apr 2014 11:25:27 +0000 (11:25 +0000)]
re PR tree-optimization/60903 (ICE: in verify_loop_structure, at cfgloop.c:1647: : edge from 13 to 14 should be marked irreducible)
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.
From-SVN: r209694
Marek Polacek [Wed, 23 Apr 2014 10:54:53 +0000 (10:54 +0000)]
c-common.c (handle_tm_wrap_attribute): Tweak error message.
* c-common.c (handle_tm_wrap_attribute): Tweak error message.
From-SVN: r209693
Nick Clifton [Wed, 23 Apr 2014 10:35:49 +0000 (10:35 +0000)]
msp430.c (msp430_handle_option): Move function to msp430-common.c
* 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.
From-SVN: r209685
Eric Botcazou [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.
From-SVN: r209684
Andreas 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.
From-SVN: r209683
Nick Clifton [Wed, 23 Apr 2014 09:42:40 +0000 (09:42 +0000)]
cygwin.h (ENDFILE_SPEC): Include default-manifest.o if it can be found in the search path.
* 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.
From-SVN: r209681
Terry Guo [Wed, 23 Apr 2014 08:59:07 +0000 (08:59 +0000)]
arm.h (ASM_APP_OFF): Re-define it in a cleaner way.
2014-04-23 Terry Guo <terry.guo@arm.com>
* config/arm/arm.h (ASM_APP_OFF): Re-define it in a cleaner way.
From-SVN: r209678
Richard Biener [Wed, 23 Apr 2014 08:27:00 +0000 (08:27 +0000)]
re PR tree-optimization/60895 (error: address taken, but ADDRESSABLE bit not set)
2014-04-23 Richard Biener <rguenther@suse.de>
PR middle-end/60895
* tree-inline.c (declare_return_variable): Use mark_addressable.
* g++.dg/torture/pr60895.C: New testcase.
From-SVN: r209675
Richard Biener [Wed, 23 Apr 2014 08:23:33 +0000 (08:23 +0000)]
re PR tree-optimization/60891 (ICE: SIGSEGV (Invalid write/read) in pre_and_rev_post_order_compute_fn with -O -fno-tree-ch -fno-tree-cselim -fno-tree-dominator-opts)
2014-04-23 Richard Biener <rguenther@suse.de>
PR middle-end/60891
* loop-init.c (loop_optimizer_init): Make sure to apply
LOOPS_MAY_HAVE_MULTIPLE_LATCHES before fixing up loops.
* gcc.dg/torture/pr60891.c: New testcase.
From-SVN: r209673
Jakub Jelinek [Wed, 23 Apr 2014 08:20:12 +0000 (10:20 +0200)]
re PR sanitizer/60275 ([UBSAN] Add -f[no-]sanitize-recover/-fsanitize-undefined-trap-on-error to make UBSAN's runtime errors fatal)
PR sanitizer/60275
* common.opt (fsanitize-recover, fsanitize-undefined-trap-on-error):
New options.
* gcc.c (sanitize_spec_function): Don't return "" for "undefined"
if flag_sanitize_undefined_trap_on_error.
* sanitizer.def (BUILT_IN_UBSAN_HANDLE_DIVREM_OVERFLOW_ABORT,
BUILT_IN_UBSAN_HANDLE_SHIFT_OUT_OF_BOUNDS_ABORT,
BUILT_IN_UBSAN_HANDLE_VLA_BOUND_NOT_POSITIVE_ABORT,
BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH_ABORT,
BUILT_IN_UBSAN_HANDLE_ADD_OVERFLOW_ABORT,
BUILT_IN_UBSAN_HANDLE_SUB_OVERFLOW_ABORT,
BUILT_IN_UBSAN_HANDLE_MUL_OVERFLOW_ABORT,
BUILT_IN_UBSAN_HANDLE_NEGATE_OVERFLOW_ABORT,
BUILT_IN_UBSAN_HANDLE_LOAD_INVALID_VALUE_ABORT): New builtins.
* ubsan.c (ubsan_instrument_unreachable): Return
__builtin_trap () if flag_sanitize_undefined_trap_on_error.
(ubsan_expand_null_ifn): Emit __builtin_trap ()
if flag_sanitize_undefined_trap_on_error and
__ubsan_handle_type_mismatch_abort if !flag_sanitize_recover.
(ubsan_expand_null_ifn, ubsan_build_overflow_builtin,
instrument_bool_enum_load): Emit __builtin_trap () if
flag_sanitize_undefined_trap_on_error and
__builtin_handle_*_abort () if !flag_sanitize_recover.
* doc/invoke.texi (-fsanitize-recover,
-fsanitize-undefined-trap-on-error): Document.
c-family/
* c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
if flag_sanitize_undefined_trap_on_error.
(ubsan_instrument_division, ubsan_instrument_shift,
ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
if !flag_sanitize_recover.
testsuite/
* g++.dg/ubsan/return-2.C: Revert 2014-03-24 changes, add
-fno-sanitize-recover to dg-options.
* g++.dg/ubsan/cxx11-shift-1.C: Remove c++11 target restriction,
add -std=c++11 to dg-options.
* g++.dg/ubsan/cxx11-shift-2.C: Likewise.
* g++.dg/ubsan/cxx1y-vla.C: Remove c++1y target restriction,
add -std=c++1y to dg-options.
* c-c++-common/ubsan/undefined-1.c: Revert 2014-03-24 changes, add
-fno-sanitize-recover to dg-options.
* c-c++-common/ubsan/overflow-sub-1.c: Likewise.
* c-c++-common/ubsan/vla-4.c: Likewise.
* c-c++-common/ubsan/pr59503.c: Likewise.
* c-c++-common/ubsan/vla-3.c: Likewise.
* c-c++-common/ubsan/save-expr-1.c: Likewise.
* c-c++-common/ubsan/overflow-add-1.c: Likewise.
* c-c++-common/ubsan/shift-3.c: Likewise.
* c-c++-common/ubsan/overflow-1.c: Likewise.
* c-c++-common/ubsan/overflow-negate-2.c: Likewise.
* c-c++-common/ubsan/vla-2.c: Likewise.
* c-c++-common/ubsan/overflow-mul-1.c: Likewise.
* c-c++-common/ubsan/pr60613-1.c: Likewise.
* c-c++-common/ubsan/shift-6.c: Likewise.
* c-c++-common/ubsan/overflow-mul-3.c: Likewise.
* c-c++-common/ubsan/overflow-add-3.c: New test.
* c-c++-common/ubsan/overflow-add-4.c: New test.
* c-c++-common/ubsan/div-by-zero-6.c: New test.
* c-c++-common/ubsan/div-by-zero-7.c: New test.
From-SVN: r209672
Christian Bruel [Wed, 23 Apr 2014 07:30:12 +0000 (09:30 +0200)]
sh.md (mov<mode>): Replace movQIHI.
2014-04-22 Christian Bruel <christian.bruel@st.com>
* config/sh/sh.md (mov<mode>): Replace movQIHI.
Force immediates to SImode.
From-SVN: r209671
Sandra Loosemore [Wed, 23 Apr 2014 02:14:42 +0000 (22:14 -0400)]
nios2.md (UNSPEC_ROUND): New.
2014-04-22 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* config/nios2/nios2.md (UNSPEC_ROUND): New.
(lroundsfsi2): New.
* config/nios2/nios2.opt (mno-custom-round, mcustom-round=): New.
* config/nios2/nios2-opts.h (N2FPU_ALL_CODES): Add round.
* config/nios2/nios2.c (N2F_NO_ERRNO): Define.
(nios2_fpu_insn): Add entry for round.
(N2FPU_NO_ERRNO_P): Define.
(nios2_custom_check_insns): Add check for N2F_NO_ERRNO and
flag_errno_math.
* doc/invoke.texi (Nios II Options): Document -mcustom-round.
gcc/testsuite/
* gcc.target/nios2/custom-fp-conversion.c: Adjust to test that
lroundf generates custom round instruction, too.
From-SVN: r209670
GCC Administrator [Wed, 23 Apr 2014 00:17:11 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r209669
Chris Manghane [Tue, 22 Apr 2014 23:46:30 +0000 (23:46 +0000)]
compiler: Use backend interface for initialization functions.
* go-gcc.cc (Gcc_backend::temporary_variable): Push cfun around
call to create_tmp_var. Require that function be non-NULL.
From-SVN: r209665
Richard Henderson [Tue, 22 Apr 2014 20:31:29 +0000 (13:31 -0700)]
AArch64 add, sub, mul in TImode
* config/aarch64/aarch64.md (multi3): New expander.
(madd<GPI>): Remove leading * from name.
* config/aarch64/aarch64.md (<su_optab>mulditi3): New expander.
* config/aarch64/aarch64 (addti3, subti3): New expanders.
(add<GPI>3_compare0): Remove leading * from name.
(add<GPI>3_carryin): Likewise.
(sub<GPI>3_compare0): Likewise.
(sub<GPI>3_carryin): Likewise.
From-SVN: r209659
Tobias Burnus [Tue, 22 Apr 2014 19:28:43 +0000 (21:28 +0200)]
re PR fortran/60881 (ICE on dummy argument that extends a type with scalar and scalar coarry components)
2014-04-22 Tobias Burnus <burnus@net-b.de>
PR fortran/60881
* trans-expr.c (gfc_trans_subcomponent_assign): Fix handling
of scalar coarrays.
2014-04-22 Tobias Burnus <burnus@net-b.de>
PR fortran/60881
* coarray/alloc_comp_3.f90: New.
From-SVN: r209657
Richard Henderson [Tue, 22 Apr 2014 16:54:25 +0000 (09:54 -0700)]
Add ada configuration for aarch64-linux
* gcc-interface/Makefile.in: Support aarch64-linux.
From-SVN: r209654
Richard Henderson [Tue, 22 Apr 2014 16:51:14 +0000 (09:51 -0700)]
Enable __gnat_alternate_stack for most linux
* init.c [__linux__] (HAVE_GNAT_ALTERNATE_STACK): New define.
(__gnat_alternate_stack): Enable for all linux except ia64.
From-SVN: r209653
Marc Glisse [Tue, 22 Apr 2014 16:44:46 +0000 (18:44 +0200)]
re PR libstdc++/43622 (Incomplete C++ library support for __float128)
2014-04-22 Marc Glisse <marc.glisse@inria.fr>
PR libstdc++/43622
gcc/c-family/
* c-common.c (registered_builtin_types): Make non-static.
* c-common.h (registered_builtin_types): Declare.
gcc/cp/
* rtti.c (emit_support_tinfo_1): New function, extracted from
emit_support_tinfos.
(emit_support_tinfos): Call it and iterate on registered_builtin_types.
libstdc++-v3/
* config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
* config/abi/pre/gnu-versioned-namespace.ver: New symbols.
* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
From-SVN: r209652
Martin Jambor [Tue, 22 Apr 2014 16:33:29 +0000 (18:33 +0200)]
cgraphclones.c (cgraph_function_versioning): Copy ipa_transforms_to_apply instead of asserting it is empty.
2014-04-22 Martin Jambor <mjambor@suse.cz>
* cgraphclones.c (cgraph_function_versioning): Copy
ipa_transforms_to_apply instead of asserting it is empty.
From-SVN: r209650
Yufeng Zhang [Tue, 22 Apr 2014 16:31:45 +0000 (16:31 +0000)]
Merge longlong.h from glibc tree.
From-SVN: r209649
H.J. Lu [Tue, 22 Apr 2014 16:31:41 +0000 (16:31 +0000)]
Use counter_mode on count_exp to get mode
gcc/
PR target/60868
* config/i386/i386.c (ix86_expand_set_or_movmem): Call counter_mode
on count_exp to get mode.
gcc/testsuite/
PR target/60868
* gcc.target/i386/pr60868.c: New testcase.
From-SVN: r209648
Jakub Jelinek [Tue, 22 Apr 2014 16:22:22 +0000 (18:22 +0200)]
re PR c/59073 (ICE with missing increment in OpenMP for-loop)
PR c/59073
c/
* c-parser.c (c_parser_omp_parallel): If c_parser_omp_for
fails, don't set OM_PARALLEL_COMBINED and return NULL.
cp/
* parser.c (cp_parser_omp_parallel): If cp_parser_omp_for
fails, don't set OM_PARALLEL_COMBINED and return NULL.
testsuite/
* c-c++-common/gomp/pr59073.c: New test.
From-SVN: r209646
Andrew Pinski [Tue, 22 Apr 2014 16:18:49 +0000 (16:18 +0000)]
[AArch64] Fix TLS for ILP32.
From-SVN: r209645
Eric Botcazou [Tue, 22 Apr 2014 16:16:25 +0000 (16:16 +0000)]
fe.h (Compiler_Abort): Replace Fat_Pointer with String_Pointer.
* 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.
From-SVN: r209644
Ramana Radhakrishnan [Tue, 22 Apr 2014 16:08:33 +0000 (16:08 +0000)]
[AArch64] Define TARGET_FLAGS_REGNUM
Ramana noted:
This defines TARGET_FLAGS_REGNUM for AArch64 to be CC_REGNUM. Noticed
this turns on the cmpelim pass after reload and in a few examples and
a couple of benchmarks I noticed a number of comparisons getting
deleted.
From-SVN: r209643
Alex Velenko [Tue, 22 Apr 2014 16:06:05 +0000 (16:06 +0000)]
[AArch64] 64-bit float vreinterpret implemention
This patch introduces vreinterpret implementation for vectors with
64-bit float lanes and adds testcase for those intrinsics.
From-SVN: r209642
Alex Velenko [Tue, 22 Apr 2014 16:02:39 +0000 (16:02 +0000)]
[AArch64] Vreinterpret re-implemention.
This patch re-implements vreinterpret intrinsics to directly call a
cast. The aim is to forward as much information to front-end as
possible.
From-SVN: r209641
Alex Velenko [Tue, 22 Apr 2014 15:55:53 +0000 (15:55 +0000)]
[AArch64] vqneg and vqabs intrinsics implementation.
This patch implements vqneg_s64, vqnegd_s64, vqabs_s64 and vqabsd_s64
AArch64 intrinsics.
From-SVN: r209640
Richard Henderson [Tue, 22 Apr 2014 14:48:47 +0000 (07:48 -0700)]
Improve sparc_init_modes readability
* config/sparc/sparc.c (sparc_init_modes): Hoist GET_MODE_SIZE
computation to the top of the loop.
From-SVN: r209637
Renlin Li [Tue, 22 Apr 2014 14:35:33 +0000 (14:35 +0000)]
[AArch64] Fix aarch64_initial_elimination_offset calculation.
This patch fixes the elimination offset calculation. This is a latent
bug hidden by the frame alignment calculation.
Co-Authored-By: Jiong Wang <jiong.wang@arm.com>
From-SVN: r209636
Marcus Shawcroft [Tue, 22 Apr 2014 13:19:44 +0000 (13:19 +0000)]
[AArch64] Fix indentation.
From-SVN: r209627
Richard Sandiford [Tue, 22 Apr 2014 12:46:07 +0000 (12:46 +0000)]
machmode.h (bitwise_mode_for_mode): Declare.
gcc/
* machmode.h (bitwise_mode_for_mode): Declare.
* stor-layout.h (bitwise_type_for_mode): Likewise.
* stor-layout.c (bitwise_mode_for_mode): New function.
(bitwise_type_for_mode): Likewise.
* builtins.c (fold_builtin_memory_op): Use it instead of
int_mode_for_mode and build_nonstandard_integer_type.
gcc/testsuite/
* gcc.dg/memcpy-5.c: New test.
From-SVN: r209622
Rainer Orth [Tue, 22 Apr 2014 12:30:59 +0000 (12:30 +0000)]
Remove obsolete Solaris 9 support
libstdc++-v3:
* configure.host: Remove solaris2.9 handling.
Change os_include_dir to os/solaris/solaris2.10.
* acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
* crossconfig.m4: Remove *-solaris2.9 handling, simplify.
* configure: Regenerate.
* config/abi/post/solaris2.9: Remove.
* config/os/solaris/solaris2.9: Rename to ...
* config/os/solaris/solaris2.10: ... this.
* config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
Remove.
* doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
Remove Solaris 9 reference.
* doc/html/manual/configure.html: Regenerate.
* testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
Remove *-*-solaris2.9 xfail.
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
Likewise.
* testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
xfail.
libjava:
* configure.ac (THREADLIBS, THREADSPEC): Remove *-*-solaris2.9
handling.
* configure: Regenerate.
libgfortran:
* config/fpu-387.h [__sun__ && __svr4__]: Remove SSE execution
check.
libgcc:
* config/i386/crtfastmath.c (set_fast_math): Remove SSE execution
check.
* config/i386/sol2-unwind.h (x86_fallback_frame_state): Remove
Solaris 9 single-threaded support.
* config/sparc/sol2-unwind.h (sparc64_is_sighandler): Remove
Solaris 9 single-threaded support. Add call_user_handler code
sequences.
(sparc_is_sighandler): Likewise.
libcpp:
* lex.c: Remove Solaris 9 reference.
gcc/testsuite:
* gcc.c-torture/compile/pr28865.c: Remove dg-xfail-if.
* gcc.dg/c99-stdint-6.c: Remove dg-options for *-*-solaris2.9.
* gcc.dg/lto/20090210_0.c: Remove dg-extra-ld-options for
*-*-solaris2.9.
* gcc.dg/torture/pr47917.c: Remove dg-options for *-*-solaris2.9.
* gcc.target/i386/pr22076.c: Remove i?86-*-solaris2.9 handling
from dg-options.
* gcc.target/i386/pr22152.c: Remove i?86-*-solaris2.9 handling
from dg-additional-options.
* gcc.target/i386/vect8-ret.c: Remove i?86-*-solaris2.9 handling
from dg-options.
* gcc.dg/vect/tree-vect.h (check_vect): Remove Solaris 9 SSE2
execution check.
* gcc.target/i386/sse-os-support.h [__sun__ && __svr4__]
(sigill_hdlr): Remove.
(sse_os_support) [__sun__ && __svr4__]: Remove SSE execution
check.
* gfortran.dg/erf_3.F90: Remove sparc*-*-solaris2.9* handling.
* gfortran.dg/fmt_en.f90: Remove i?86-*-solaris2.9* handling.
* gfortran.dg/round_4.f90: Remove *-*-solaris2.9* handling.
* lib/target-supports.exp (add_options_for_tls): Remove
*-*-solaris2.9* handling.
gcc:
* config.gcc (enable_obsolete): Remove *-*-solaris2.9*.
(*-*-solaris2.[0-9] | *-*-solaris2.[0-9].*): Mark unsupported.
(*-*-solaris2*): Simplify.
(i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Likewise.
(i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Remove
*-*-solaris2.9* handling.
* configure.ac (gcc_cv_as_hidden): Remove test for Solaris 9/x86
as bug.
(gcc_cv_ld_hidden): Remove *-*-solaris2.9* handling.
(ld_tls_support): Remove i?86-*-solaris2.9, sparc*-*-solaris2.9
handling, simplify.
(gcc_cv_as_gstabs_flag): Remove workaround for Solaris 9/x86 as bug.
* configure: Regenerate.
* config/i386/sol2-9.h: Remove.
* doc/install.texi (Specific, i?86-*-solaris2.9): Remove.
(Specific, *-*-solaris2*): Mention Solaris 9 support removal.
Remove Solaris 9 references.
fixincludes:
* inclhack.def (math_exception): Bypass on *-*-solaris2.1[0-9]*.
(solaris_int_types): Remove.
(solaris_longjmp_noreturn): Remove.
(solaris_mutex_init_2): Remove.
(solaris_once_init_2): Remove.
(solaris_sys_va_list): Remove.
* fixincl.x: Regenerate.
* tests/base/iso/setjmp_iso.h: Remove.
* tests/base/pthread.h [SOLARIS_MUTEX_INIT_2_CHECK]: Remove.
[SOLARIS_ONCE_INIT_1_CHECK]: Remove wrapping done by
solaris_once_init_2.
[SOLARIS_ONCE_INIT_2_CHECK]: Remove.
* tests/base/sys/int_types.h: Remove.
* tests/base/sys/va_list.h: Remove.
contrib:
* config-list.mk (LIST): Remove sparc-sun-solaris2.9, i686-solaris2.9.
From-SVN: r209621
Vidya Praveen [Tue, 22 Apr 2014 11:34:52 +0000 (12:34 +0100)]
aarch64.md (float<GPI:mode><GPF:mode>2): Remove.
gcc/ChangeLog:
2014-04-22 Vidya Praveen <vidyapraveen@arm.com>
* aarch64.md (float<GPI:mode><GPF:mode>2): Remove.
(floatuns<GPI:mode><GPF:mode>2): Remove.
(<optab><fcvt_target><GPF:mode>2): New pattern for equal width float
and floatuns conversions.
(<optab><fcvt_iesize><GPF:mode>2): New pattern for inequal width float
and floatuns conversions.
* iterators.md (fcvt_target, FCVT_TARGET): Support SF and DF modes.
(w1,w2): New mode attributes for inequal width conversions.
gcc/testsuite/ChangeLog:
2014-04-22 Vidya Praveen <vidyapraveen@arm.com>
* gcc.target/aarch64/vect_cvtf_1.c: New.
From-SVN: r209620
Renlin Li [Tue, 22 Apr 2014 11:02:20 +0000 (11:02 +0000)]
[AArch64] Add a space to memory asm code between base register and offset.
From-SVN: r209618
James Greenhalgh [Tue, 22 Apr 2014 10:49:48 +0000 (10:49 +0000)]
Re: [AArch64] Fix possible wrong code generation when comparing DImode values.
gcc/
* config/aarch64/aarch64-simd.md
(aarch64_cm<optab>di): Always split.
(*aarch64_cm<optab>di): New.
(aarch64_cmtstdi): Always split.
(*aarch64_cmtstdi): New.
From-SVN: r209617
Jakub Jelinek [Tue, 22 Apr 2014 10:21:32 +0000 (12:21 +0200)]
re PR tree-optimization/60823 (ICE in gimple_expand_cfg, at cfgexpand.c:5644)
PR tree-optimization/60823
* omp-low.c (ipa_simd_modify_function_body): Go through
all SSA_NAMEs and for those refering to vector arguments
which are going to be replaced adjust SSA_NAME_VAR and,
if it is a default definition, change it into a non-default
definition assigned at the beginning of function from new_decl.
(ipa_simd_modify_stmt_ops): Rewritten.
* tree-dfa.c (set_ssa_default_def): When removing default def,
check for NULL loc instead of NULL *loc.
* c-c++-common/gomp/pr60823-1.c: New test.
* c-c++-common/gomp/pr60823-2.c: New test.
* c-c++-common/gomp/pr60823-3.c: New test.
From-SVN: r209616
Ramana Radhakrishnan [Tue, 22 Apr 2014 10:05:48 +0000 (10:05 +0000)]
[ARM] Allow any register for DImode values in Thumb2
Ramana commented in the submission email:
I noticed that for T32 we don't allow any old register for DImode
values. The restriction of an even register is true only for ARM state
because the ISA doesn't allow any old register in this place. In a few
large .i files that I had knocking about, noticed a nice drop in stack
usage and a generally improved register allocation strategy.
From-SVN: r209615
Ian Bolton [Tue, 22 Apr 2014 09:59:50 +0000 (09:59 +0000)]
Optimise NotDI AND/OR ZeroExtendSI for ARMv7A
[gcc]
* config/arm/arm.md (*anddi_notdi_zesidi): New pattern.
* config/arm/thumb2.md (*iordi_notdi_zesidi): New pattern.
[gcc/testsuite]
* gcc.target/arm/anddi_notdi-1.c: New test.
* gcc.target/arm/iordi_notdi-1.c: New test case.
From-SVN: r209614
Ian Bolton [Tue, 22 Apr 2014 09:50:33 +0000 (09:50 +0000)]
AArch32 Support ORN for DIMode
[gcc]
* config/arm/thumb2.md (*iordi_notdi_di): New pattern.
(*iordi_notzesidi_di): Likewise.
(*iordi_notsesidi_di): Likewise.
[gcc/testsuite]
* gcc.target/arm/iordi_notdi-1.c: New test.
From-SVN: r209613
Ian Bolton [Tue, 22 Apr 2014 09:33:00 +0000 (09:33 +0000)]
arm-protos.h (tune_params): New struct members.
* config/arm/arm-protos.h (tune_params): New struct members.
* config/arm/arm.c: Initialise tune_params per processor.
(thumb2_reorg): Suppress conversion from t32 to t16 when optimizing
for speed, based on new tune_params.
From-SVN: r209561
Alex Velenko [Tue, 22 Apr 2014 08:39:48 +0000 (08:39 +0000)]
[AArch64] vrnd<*>_f64 patch
This patch adds vrnd<*>_f64 aarch64 intrinsics. A testcase for those
intrinsics is added. Run a complete LE and BE regression run with no
regressions.
From-SVN: r209559
Jakub Jelinek [Tue, 22 Apr 2014 08:23:08 +0000 (10:23 +0200)]
* gennews (files): Add files for GCC 4.9.
From-SVN: r209557
Zhenqiang Chen [Tue, 22 Apr 2014 08:12:22 +0000 (08:12 +0000)]
arm.c (arm_print_operand, thumb_exit): Make sure GET_MODE_SIZE argument is enum machine_mode.
2014-04-22 Zhenqiang Chen <zhenqiang.chen@linaro.org>
* config/arm/arm.c (arm_print_operand, thumb_exit): Make sure
GET_MODE_SIZE argument is enum machine_mode.
From-SVN: r209556
Jakub Jelinek [Tue, 22 Apr 2014 07:25:12 +0000 (09:25 +0200)]
re PR target/60910 (sparc-linux bootstrap failure due to many "invalid conversion from 'int' to 'machine_mode'" errors)
PR target/60910
* config/sparc/sparc.c (sparc_init_modes): Pass enum machine_mode
value instead of int to GET_MODE_CLASS and GET_MODE_SIZE macros.
From-SVN: r209555
Lin Zuojian [Tue, 22 Apr 2014 05:55:40 +0000 (05:55 +0000)]
re PR middle-end/60281 (Address Sanitizer triggers alignment fault in ARM machines)
PR middle-end/60281
* asan.c (asan_emit_stack_protection): Force the base to align to
appropriate bits if STRICT_ALIGNMENT. Set shadow_mem align to
appropriate bits if STRICT_ALIGNMENT.
* cfgexpand.c (expand_stack_vars): Set base_align appropriately
when asan is on.
(expand_used_vars): Leave a space in the stack frame for alignment
if STRICT_ALIGNMENT.
From-SVN: r209554
GCC Administrator [Tue, 22 Apr 2014 00:16:28 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r209553
David Malcolm [Mon, 21 Apr 2014 22:04:01 +0000 (22:04 +0000)]
Const-correctness fixes for some gimple accessors
gcc/
* gimple.h (gimple_assign_single_p): Accept a const_gimple rather
than a gimple.
(gimple_store_p): Likewise.
(gimple_assign_load_p): Likewise.
(gimple_assign_cast_p): Likewise.
(gimple_clobber_p): Likewise.
* doc/gimple.texi (gimple_assign_cast_p): Accept a const_gimple
rather than a gimple.
(gimple_assign_cast_p): Likewise.
From-SVN: r209548
Michael Meissner [Mon, 21 Apr 2014 20:51:37 +0000 (20:51 +0000)]
re PR target/60735 (GCC targeting E500 with SPE has errors with the _Decimal64 type)
[gcc]
2014-04-21 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/60735
* config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64 case):
If mode is DDmode and TARGET_E500_DOUBLE allow move.
* config/rs6000/rs6000.c (rs6000_debug_reg_global): Print some
more debug information for E500 if -mdebug=reg.
[gcc/testsuite]
2014-04-21 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/60735
* gcc.target/powerpc/pr60735.c: New test. Insure _Decimal64 does
not cause errors if -mspe.
From-SVN: r209546
Uros Bizjak [Mon, 21 Apr 2014 18:34:10 +0000 (20:34 +0200)]
re PR target/60909 (ICE: in extract_insn, at recog.c:2202 (unrecognizable insn) with -mrdrnd and __builtin_ia32_rdrand32_step())
PR target/60909
* config/i386/i386.c (ix86_expand_builtin)
<case IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Use temporary
register for target RTX.
<case IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Ditto.
Testsuite/ChangeLog:
PR target/60909
* gcc.target/i386/pr60909-1.c: New test.
* gcc.target/i386/pr60909-2.c: Ditto.
From-SVN: r209545
Rafael Ávila de Espíndola [Mon, 21 Apr 2014 13:38:17 +0000 (13:38 +0000)]
* MAINTAINERS (Write After Approval): Delete myself.
From-SVN: r209544
GCC Administrator [Mon, 21 Apr 2014 00:16:49 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r209542
GCC Administrator [Sun, 20 Apr 2014 00:16:47 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r209534
GCC Administrator [Sat, 19 Apr 2014 00:16:44 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r209530
Cong Hou [Fri, 18 Apr 2014 19:53:14 +0000 (15:53 -0400)]
Correct the discription in ChangLog:
2014-04-18 Cong Hou <congh@google.com>
* tree-vect-patterns.c (vect_recog_widen_mult_pattern): Enhance
the widen-mult pattern by handling two operands with different
sizes, and operands whose size is smaller than half of the result
type.
From-SVN: r209525
Cong Hou [Fri, 18 Apr 2014 19:46:49 +0000 (15:46 -0400)]
tree-vect-patterns.c (vect_recog_widen_mult_pattern): Enhance the widen-mult pattern by handling two operands with different sizes.
2014-04-18 Cong Hou <congh@google.com>
* tree-vect-patterns.c (vect_recog_widen_mult_pattern): Enhance
the widen-mult pattern by handling two operands with different
sizes.
* tree-vect-stmts.c (vectorizable_conversion): Allow multi-steps
conversions after widening mult operation.
(supportable_widening_operation): Likewise.
2014-04-18 Cong Hou <congh@google.com>
* gcc.dg/vect/vect-widen-mult-u8-s16-s32.c: New test.
* gcc.dg/vect/vect-widen-mult-u8-u32.c: New test.
From-SVN: r209524