rsandifo [Tue, 22 Apr 2014 12:56:47 +0000 (12:56 +0000)]
Merge from trunk.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@209623
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 22 Apr 2014 12:46:07 +0000 (12:46 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209622
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209621
138bc75d-0d04-0410-961f-
82ee72b054a4
vp [Tue, 22 Apr 2014 11:34:52 +0000 (11:34 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209620
138bc75d-0d04-0410-961f-
82ee72b054a4
mshawcroft [Tue, 22 Apr 2014 11:02:20 +0000 (11:02 +0000)]
[AArch64] Add a space to memory asm code between base register and offset.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209618
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209617
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 22 Apr 2014 10:21:32 +0000 (10:21 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209616
138bc75d-0d04-0410-961f-
82ee72b054a4
mshawcroft [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209615
138bc75d-0d04-0410-961f-
82ee72b054a4
ibolton [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209614
138bc75d-0d04-0410-961f-
82ee72b054a4
ibolton [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209613
138bc75d-0d04-0410-961f-
82ee72b054a4
ibolton [Tue, 22 Apr 2014 09:33:00 +0000 (09:33 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209561
138bc75d-0d04-0410-961f-
82ee72b054a4
mshawcroft [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209559
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 22 Apr 2014 08:23:08 +0000 (08:23 +0000)]
* gennews (files): Add files for GCC 4.9.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209557
138bc75d-0d04-0410-961f-
82ee72b054a4
zqchen [Tue, 22 Apr 2014 08:12:22 +0000 (08:12 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209556
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 22 Apr 2014 07:25:12 +0000 (07:25 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209555
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 22 Apr 2014 05:55:40 +0000 (05:55 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209554
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 22 Apr 2014 00:16:28 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209553
138bc75d-0d04-0410-961f-
82ee72b054a4
dmalcolm [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209548
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Mon, 21 Apr 2014 20:51:37 +0000 (20:51 +0000)]
[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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209546
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Mon, 21 Apr 2014 18:34:10 +0000 (18:34 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209545
138bc75d-0d04-0410-961f-
82ee72b054a4
espindola [Mon, 21 Apr 2014 13:38:17 +0000 (13:38 +0000)]
* MAINTAINERS (Write After Approval): Delete myself.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209544
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 21 Apr 2014 00:16:49 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209542
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 20 Apr 2014 00:16:47 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209534
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 19 Apr 2014 00:16:44 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209530
138bc75d-0d04-0410-961f-
82ee72b054a4
congh [Fri, 18 Apr 2014 19:53:14 +0000 (19:53 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209525
138bc75d-0d04-0410-961f-
82ee72b054a4
congh [Fri, 18 Apr 2014 19:46:49 +0000 (19:46 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209524
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 18 Apr 2014 19:36:01 +0000 (19:36 +0000)]
* ipa-inline.h (INLINE_HINT_known_hot): New hint.
* ipa-inline-analysis.c (dump_inline_hints): Dump it.
(do_estimate_edge_time): Compute it.
* ipa-inline.c (want_inline_small_function_p): Bypass
INLINE_INSNS_AUTO/SINGLE limits for calls that are known
to be hot.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209523
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 18 Apr 2014 18:30:45 +0000 (18:30 +0000)]
* ipa-inline.c (spec_rem): New static variable.
(dump_overall_stats): New function.
(dump_inline_stats): New function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209522
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 18 Apr 2014 18:13:53 +0000 (18:13 +0000)]
DR 1571
* call.c (reference_binding): Recurse on user-defined conversion.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209521
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 18 Apr 2014 18:11:22 +0000 (18:11 +0000)]
PR c++/60872
* call.c (standard_conversion): Don't try to apply restrict to void.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209520
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Fri, 18 Apr 2014 15:52:50 +0000 (15:52 +0000)]
aarch64: Fix build error in aarch64_register_move_cost
* config/aarch64/aarch64.c (aarch64_register_move_cost): Pass a mode
to GET_MODE_SIZE, not a reg_class_t.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209517
138bc75d-0d04-0410-961f-
82ee72b054a4
wschmidt [Fri, 18 Apr 2014 13:31:57 +0000 (13:31 +0000)]
[gcc]
2014-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/vsx.md (vsx_xxmrghw_<mode>): Adjust for
little-endian.
(vsx_xxmrglw_<mode>): Likewise.
[gcc/testsuite]
2014-04-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.dg/vmx/merge-vsx.c: Add V4SI and V4SF tests.
* gcc.dg/vmx/merge-vsx-be-order.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209516
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 18 Apr 2014 00:16:28 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209513
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Thu, 17 Apr 2014 23:39:23 +0000 (23:39 +0000)]
gofrontend: deduplicate C syscall function declarations
A gccgo language extension allows a function to be declared multiple
times. Avoid the use of this extension by dedeplicating declarations
in mksyscall.awk.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209508
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Thu, 17 Apr 2014 23:27:31 +0000 (23:27 +0000)]
runtime: remove use of obsolete map deletion syntax
The use of this syntax was eliminated upstream in Go
992248b2adc2,
but this particular use slipped through somehow.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209506
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Thu, 17 Apr 2014 23:13:39 +0000 (23:13 +0000)]
gofrontend: avoid use of unsafe.Sizeof extension
Avoid the use of a gccgo language extension which allows unsafe.Sizeof
to accept a type by passing an expression of the relevant type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209503
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Thu, 17 Apr 2014 21:56:46 +0000 (21:56 +0000)]
2014-04-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/59200
* g++.dg/cpp0x/alias-decl-42.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209499
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Thu, 17 Apr 2014 21:50:58 +0000 (21:50 +0000)]
2014-04-17 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/60876
* config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Make sure
GET_MODE_SIZE gets passed an enum machine_mode type and not
integer.
(rs6000_init_hard_regno_mode_ok): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209498
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Thu, 17 Apr 2014 20:42:31 +0000 (20:42 +0000)]
compiler: Use backend interface for constant expressions.
* go-gcc.cc (Gcc_backend::named_constant_expression): New
function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209495
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Thu, 17 Apr 2014 19:27:22 +0000 (19:27 +0000)]
PR go/60870
compiler: Don't convert function type for an interface method.
For an interface method the function type is the type without
the receiver, which is wrong since we are passing a receiver.
The interface method will always have the correct type in this
case, so no type conversion is necessary.
Also don't do the type conversion when calling a named
function, since in that case the type is also always correct.
The type can be wrong, and the conversion required, when the
function type refers to itself recursively.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209494
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Thu, 17 Apr 2014 19:10:27 +0000 (19:10 +0000)]
compiler: Define immutability for numeric, constant, type info, type conversion, and addressof expressions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209493
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Thu, 17 Apr 2014 18:35:54 +0000 (18:35 +0000)]
* ipa-inline.c (inline_small_functions): Account only non-cold
functions.
* doc/invoke.texi (inline-unit-growth): Update documentation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209490
138bc75d-0d04-0410-961f-
82ee72b054a4
pthaugen [Thu, 17 Apr 2014 18:26:47 +0000 (18:26 +0000)]
* config/rs6000/rs6000.md (addti3, subti3): New.
* gcc.target/powerpc/ti_math1.c: New.
* gcc.target/powerpc/ti_math2.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209489
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Thu, 17 Apr 2014 15:19:34 +0000 (15:19 +0000)]
Generate "xor reg, reg" if optimizing for size
PR target/60863
* config/i386/i386.c (ix86_expand_clear): Remove outdated
comment. Check optimize_insn_for_size_p instead of
optimize_insn_for_speed_p.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209488
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Thu, 17 Apr 2014 13:53:59 +0000 (13:53 +0000)]
2014-04-17 Martin Jambor <mjambor@suse.cz>
* gimple-iterator.c (gsi_start_edge): New function.
* gimple-iterator.h (gsi_start_edge): Declare.
* tree-sra.c (single_non_eh_succ): New function.
(disqualify_ops_if_throwing_stmt): Renamed to
disqualify_if_bad_bb_terminating_stmt. Allow throwing statements
having one non-EH successor BB.
(sra_modify_expr): If stmt ends bb, use single non-EH successor to
generate loads into replacements.
(sra_modify_assign): Likewise and and also use the simple path for
such statements.
(sra_modify_function_body): Commit statements on edges.
testsuite/
* gnat.dg/opt34.adb: New.
* gnat.dg/opt34_pkg.ads: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209487
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 17 Apr 2014 13:50:55 +0000 (13:50 +0000)]
2014-04-17 Richard Biener <rguenther@suse.de>
PR middle-end/60849
* tree-ssa-propagate.c (valid_gimple_rhs_p): Allow vector
comparison results and add clarifying comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209486
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Thu, 17 Apr 2014 13:19:46 +0000 (13:19 +0000)]
Merge from trunk.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@209485
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 17 Apr 2014 12:49:49 +0000 (12:49 +0000)]
* genmodes.c (struct mode_data): Add need_bytesize_adj field.
(blank_mode): Initialize it.
(emit_mode_size_inline, emit_mode_nunits_inline,
emit_mode_inner_inline): New functions.
(emit_insn_modes_h): Call them and surround their output with
#if GCC_VERSION >= 4001 ... #endif.
* machmode.h (GET_MODE_SIZE, GET_MODE_NUNITS, GET_MODE_INNER):
For GCC_VERSION >= 4001 use mode_*_inline routines instead of
mode_* arrays if the argument is __builtin_constant_p.
* lower-subreg.c (dump_choices): Make sure GET_MODE_SIZE argument
is enum machine_mode.
fortran/
* trans-types.c (gfc_init_kinds): Make sure GET_MODE_BITSIZE
argument is enum machine_mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209484
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Thu, 17 Apr 2014 12:37:34 +0000 (12:37 +0000)]
pass cfun to pass::execute
gcc/
* passes.c (opt_pass::execute): Adjust.
(pass_manager::execute_pass_mode_switching): Likewise.
(early_local_passes::execute): Likewise.
(execute_one_pass): Pass cfun to the pass's execute method.
* tree-pass.h (opt_pass::execute): Add function * argument.
* asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
config/sparc/sparc.c, cprop.c, dce.c, df-core.c, dse.c, dwarf2cfi.c,
except.c, final.c, function.c, fwprop.c, gcse.c, gimple-low.c,
gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
ipa-inline-analysis.c, ipa-inline.c, ipa-profile.c, ipa-pure-const.c,
ipa-reference.c, ipa-split.c, ipa.c, ira.c, jump.c, loop-init.c,
lower-subreg.c, mode-switching.c, omp-low.c, postreload-gcse.c,
postreload.c, predict.c, recog.c, ree.c, reg-stack.c, regcprop.c,
reginfo.c, regrename.c, reorg.c, sched-rgn.c, stack-ptr-mod.c,
store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-ssa-ccp.c,
tree-ssa-copy.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209482
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Thu, 17 Apr 2014 12:37:16 +0000 (12:37 +0000)]
pass current function to opt_pass::gate ()
gcc/
* passes.c (opt_pass::gate): Take function * argument.
(gate_all_early_local_passes): Merge into
(early_local_passes::gate): this.
(gate_all_early_optimizations): Merge into
(all_early_optimizations::gate): this.
(gate_all_optimizations): Mege into
(all_optimizations::gate): this.
(gate_all_optimizations_g): Merge into
(all_optimizations_g::gate): this.
(gate_rest_of_compilation): Mege into
(rest_of_compilation::gate): this.
(gate_postreload): Merge into
(postreload::gate): this.
(dump_one_pass): Pass cfun to the pass's gate method.
(execute_ipa_summary_passes): Likewise.
(execute_one_pass): Likewise.
(ipa_write_summaries_2): Likewise.
(ipa_write_optimization_summaries_1): Likewise.
(ipa_read_summaries_1): Likewise.
(ipa_read_optimization_summaries_1): Likewise.
(execute_ipa_stmt_fixups): Likewise.
* tree-pass.h (opt_pass::gate): Add function * argument.
* asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c,
combine-stack-adj.c, combine.c, compare-elim.c,
config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
config/rl78/rl78.c, config/sh/sh_optimize_sett_clrt.cc,
config/sh/sh_treg_combine.cc, config/sparc/sparc.c, cprop.c, cse.c,
dce.c, df-core.c, dse.c, dwarf2cfi.c, except.c, fwprop.c, gcse.c,
gimple-ssa-isolate-paths.c, gimple-ssa-strength-reduction.c,
graphite.c, ifcvt.c, init-regs.c, ipa-cp.c, ipa-devirt.c,
ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
loop-init.c, lower-subreg.c, mode-switching.c, modulo-sched.c,
omp-low.c, postreload-gcse.c, postreload.c, predict.c, recog.c, ree.c,
reg-stack.c, regcprop.c, regrename.c, reorg.c, sched-rgn.c,
store-motion.c, tracer.c, trans-mem.c, tree-call-cdce.c, tree-cfg.c,
tree-cfgcleanup.c, tree-complex.c, tree-eh.c, tree-emutls.c,
tree-if-conv.c, tree-into-ssa.c, tree-loop-distribution.c,
tree-nrv.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
tree-ssa.c, tree-stdarg.c, tree-switch-conversion.c, tree-tailcall.c,
tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c, tsan.c, ubsan.c,
var-tracking.c, vtable-verify.c, web.c: Adjust.
gcc/testsuite/
* g++.dg/plugin/dumb_plugin.c, g++.dg/plugin/selfasign.c,
gcc.dg/plugin/one_time_plugin.c, gcc.dg/plugin/selfasign.c: Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209481
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Thu, 17 Apr 2014 12:37:05 +0000 (12:37 +0000)]
enable -Woverloaded-virtual when available
gcc/
* configure.ac: Check for -Woverloaded-virtual and enable it if found.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209480
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Thu, 17 Apr 2014 12:36:56 +0000 (12:36 +0000)]
remove has_gate
gcc/
* passes.c (dump_one_pass): don't check pass->has_gate.
(execute_ipa_summary_passes): Likewise.
(execute_one_pass): Likewise.
(ipa_write_summaries_2): Likewise.
(ipa_write_optimization_summaries_1): Likewise.
(ipa_read_optimization_summaries_1): Likewise.
(execute_ipa_stmt_fixups): Likewise.
* tree-pass.h (pass_data::has_gate): Remove.
* asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
config/sh/sh_optimize_sett_clrt.cc, config/sh/sh_treg_combine.cc,
config/sparc/sparc.c, cprop.c, cse.c, dce.c, df-core.c, dse.c,
dwarf2cfi.c, except.c, final.c, function.c, fwprop.c, gcse.c,
gimple-low.c, gimple-ssa-isolate-paths.c,
gimple-ssa-strength-reduction.c, graphite.c, ifcvt.c, init-regs.c,
ipa-cp.c, ipa-devirt.c, ipa-inline-analysis.c, ipa-inline.c,
ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa.c,
ira.c, jump.c, loop-init.c, lower-subreg.c, mode-switching.c,
modulo-sched.c, omp-low.c, postreload-gcse.c, postreload.c, predict.c,
recog.c, ree.c, reg-stack.c, regcprop.c, reginfo.c, regrename.c,
reorg.c, sched-rgn.c, stack-ptr-mod.c, store-motion.c, tracer.c,
trans-mem.c, tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c,
tree-complex.c, tree-eh.c, tree-emutls.c, tree-if-conv.c,
tree-into-ssa.c, tree-loop-distribution.c, tree-nrv.c,
tree-object-size.c, tree-parloops.c, tree-predcom.c, tree-profile.c,
tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c, web.c:
Adjust.
gcc/testsuite/
* g++.dg/plugin/dumb_plugin.c, g++.dg/plugin/selfassign.c,
gcc.dg/plugin/one_time_plugin.c, gcc.dg/plugin/selfassign.c: Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209479
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Thu, 17 Apr 2014 12:36:41 +0000 (12:36 +0000)]
merge register_dump_files_1 into register_dump_files and remove more fiddling with properties
gcc/
* pass_manager.h (pass_manager::register_dump_files_1): Remove declaration.
* passes.c (pass_manager::register_dump_files_1): Merge into
(pass_manager::register_dump_files): this, and remove its handling of
properties since the pass always has the properties anyway.
(pass_manager::pass_manager): Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209478
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Thu, 17 Apr 2014 12:36:35 +0000 (12:36 +0000)]
remove properties stuff from register_dump_files_1
gcc/
* pass_manager.h (pass_manager::register_dump_files_1): Adjust.
* passes.c (pass_manager::register_dump_files_1): Remove dead code
dealing with properties.
(pass_manager::register_dump_files): Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209477
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 17 Apr 2014 12:25:25 +0000 (12:25 +0000)]
PR sanitizer/56781
lto-plugin/
* Makefile.am (CFLAGS, LDFLAGS): Filter out -fsanitize=address.
(liblto_plugin_la_LIBADD, liblto_plugin_la_LDFLAGS,
liblto_plugin_la_DEPENDENCIES): Prefer ../libiberty/noasan/libiberty.a
over ../libiberty/pic/libiberty.a if the former exists.
* Makefile.in: Regenerated.
libiberty/
* maint-tool: Also emit rule for noasan/ subdirectory.
* configure.ac (NOASANFLAG): Set and substitute.
* Makefile.in: Regenerated.
(NOASANFLAG): Set.
(all, $(TARGETLIB), mostlyclean): Handle noasan subdir like pic
subdir.
(stamp-noasandir): New goal.
* configure: Regenerated.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209476
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 17 Apr 2014 12:23:28 +0000 (12:23 +0000)]
PR sanitizer/56781
* libtool-ldflags: Also prefix -static-lib*, -shared-lib*
and -B* options with -Xcompiler.
lto-plugin/
* Makefile.am (LTLDFLAGS, liblto_plugin_la_LINK): New variables.
* Makefile.in: Regenerated.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209475
138bc75d-0d04-0410-961f-
82ee72b054a4
mark [Thu, 17 Apr 2014 10:36:21 +0000 (10:36 +0000)]
dwarf2out: Use normal constant values in bound_info if possible.
* dwarf2out.c (add_bound_info): If HOST_WIDE_INT is big enough,
then represent the bound as normal constant value.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209473
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 17 Apr 2014 10:02:36 +0000 (10:02 +0000)]
PR target/60847
Forward port from 4.8 branch
2013-07-19 Kirill Yukhin <kirill.yukhin@intel.com>
* config/i386/bmiintrin.h (_blsi_u32): New.
(_blsi_u64): Ditto.
(_blsr_u32): Ditto.
(_blsr_u64): Ditto.
(_blsmsk_u32): Ditto.
(_blsmsk_u64): Ditto.
(_tzcnt_u32): Ditto.
(_tzcnt_u64): Ditto.
* gcc.target/i386/bmi-1.c: Extend with new instrinsics.
Fix scan patterns.
* gcc.target/i386/bmi-2.c: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209471
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Thu, 17 Apr 2014 09:01:22 +0000 (09:01 +0000)]
* gcc.c (used_arg): Prevent out of bound access for multilib_options.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209470
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 17 Apr 2014 08:13:53 +0000 (08:13 +0000)]
2014-04-17 Richard Biener <rguenther@suse.de>
PR middle-end/60849
* tree-ssa-propagate.c (valid_gimple_rhs_p): Only allow effective
boolean results for comparisons.
* g++.dg/opt/pr60849.C: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209469
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 17 Apr 2014 08:12:58 +0000 (08:12 +0000)]
2014-04-17 Richard Biener <rguenther@suse.de>
PR tree-optimization/60836
* tree-vect-loop.c (vect_create_epilog_for_reduction): Force
initial PHI args to be gimple values.
* g++.dg/vect/pr60836.cc: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209468
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 17 Apr 2014 08:09:02 +0000 (08:09 +0000)]
2014-04-17 Richard Biener <rguenther@suse.de>
PR tree-optimization/60841
* tree-vect-data-refs.c (vect_analyze_data_refs): Count stmts.
* tree-vect-loop.c (vect_analyze_loop_2): Pass down number
of stmts to SLP build.
* tree-vect-slp.c (vect_slp_analyze_bb_1): Likewise.
(vect_analyze_slp): Likewise.
(vect_analyze_slp_instance): Likewise.
(vect_build_slp_tree): Limit overall SLP tree growth.
* tree-vectorizer.h (vect_analyze_data_refs,
vect_analyze_slp): Adjust prototypes.
* gcc.dg/vect/pr60841.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209467
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Thu, 17 Apr 2014 07:47:37 +0000 (07:47 +0000)]
gcc/
* config/i386/i386.c (x86_add_stmt_cost): Fix vector cost model for
Silvermont.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209466
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Thu, 17 Apr 2014 07:46:45 +0000 (07:46 +0000)]
gcc/
* config/i386/x86-tune.def (TARGET_SLOW_PSHUFB): New tune definition.
* config/i386/i386.h (TARGET_SLOW_PSHUFB): New tune flag.
* config/i386/i386.c (expand_vec_perm_even_odd_1): Avoid byte shuffles
for TARGET_SLOW_PSHUFB
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209465
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Thu, 17 Apr 2014 07:45:42 +0000 (07:45 +0000)]
gcc/
* config/i386/i386.c (slm_cost): Adjust vec_to_scalar_cost.
* config/i386/i386.c (intel_cost): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209464
138bc75d-0d04-0410-961f-
82ee72b054a4
jye2 [Thu, 17 Apr 2014 07:09:56 +0000 (07:09 +0000)]
2014-04-17 Joey Ye <joey.ye@arm.com>
* opts.c (OPT_fif_conversion, OPT_fif_conversion2): Disable for Og.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209463
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Thu, 17 Apr 2014 05:59:03 +0000 (05:59 +0000)]
* opts.c (common_handle_option): Disable -fipa-reference coorectly
with -fuse-profile.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209462
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Thu, 17 Apr 2014 02:43:53 +0000 (02:43 +0000)]
* ipa-devirt.c (odr_type_d): Add field all_derivations_known.
(type_all_derivations_known_p): New predicate.
(type_all_ctors_visible_p): New predicate.
(type_possibly_instantiated_p): New predicate.
(get_odr_type): Compute all_derivations_known.
(dump_odr_type): Dump the flag.
(maybe_record_type): Cleanup.
(record_target_from_binfo): Add bases_to_consider array;
record bases for types w/o instances and skip CXX destructor.
(possible_polymorphic_call_targets_1): Add bases_to_consider
and consider_construction parameters; check if type may
have instance.
(get_polymorphic_call_info): Set maybe_in_construction to true
when we know nothing.
(record_targets_from_bases): Skip CXX destructors; they are
never called for types in construction.
(possible_polymorphic_call_targets): Do not record target when
type may not have instance.
* g++.dg/ipa/devirt-31.C: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209461
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Thu, 17 Apr 2014 02:32:26 +0000 (02:32 +0000)]
PR lto/60820
* gcc.dg/lto/pr60820_0.c: New testcase.
* gcc.dg/lto/pr60820_1.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209460
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Thu, 17 Apr 2014 02:22:57 +0000 (02:22 +0000)]
PR ipa/60854
* ipa.c (symtab_remove_unreachable_nodes): Mark targets of
external aliases alive, too.
* g++.dg/torture/pr60854.C: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209459
138bc75d-0d04-0410-961f-
82ee72b054a4
pinskia [Thu, 17 Apr 2014 00:18:29 +0000 (00:18 +0000)]
2014-04-16 Andrew Pinski <apinski@cavium.com>
* config/host-linux.c (TRY_EMPTY_VM_SPACE): Change aarch64 ilp32
definition.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209457
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 17 Apr 2014 00:17:05 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209456
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 16 Apr 2014 23:31:30 +0000 (23:31 +0000)]
* final.c (compute_alignments): Do not apply loop alignment to a block
falling through to the exit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209451
138bc75d-0d04-0410-961f-
82ee72b054a4
clm [Wed, 16 Apr 2014 21:09:30 +0000 (21:09 +0000)]
2014-04-16 Catherine Moore <clm@codesourcery.com>
gcc/
* mips.md (*mov<mode>_internal, *movhi_internal, *movqi_internal):
Adjust constraints for microMIPS store patterns.
testsuite/
* gcc.target/mips/umips-store16-2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209450
138bc75d-0d04-0410-961f-
82ee72b054a4
glisse [Wed, 16 Apr 2014 20:46:47 +0000 (20:46 +0000)]
2014-04-16 Marc Glisse <marc.glisse@inria.fr>
gcc/cp/
* decl.c (reshape_init_r): Handle a single element of vector type.
gcc/testsuite/
* g++.dg/cpp0x/initlist-vect.C: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209449
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Wed, 16 Apr 2014 20:33:57 +0000 (20:33 +0000)]
libgo: Remove Solaris 8 & 9 support.
From Rainer Orth.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209448
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Wed, 16 Apr 2014 20:17:46 +0000 (20:17 +0000)]
2014-04-16 Patrick Palka <patrick@parcs.ath.cx>
PR c++/60765
* decl2.c (cplus_decl_attributes): Handle
pointer-to-member-function declarations.
2014-04-16 Patrick Palka <patrick@parcs.ath.cx>
PR c++/60764
* call.c (build_user_type_coversion): Use build_dummy_object
to create the placeholder object for a constructor method call.
(build_special_member_call): Likewise.
(build_over_call): Check for the placeholder object with
is_dummy_object.
(build_new_method_call_1): Likewise. Don't attempt to resolve
a dummy object for a constructor method call.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209447
138bc75d-0d04-0410-961f-
82ee72b054a4
denisc [Wed, 16 Apr 2014 18:26:30 +0000 (18:26 +0000)]
* config/avr/avr-mcus.def: Correct typo for atxmega256a3bu macro.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209446
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Wed, 16 Apr 2014 17:46:13 +0000 (17:46 +0000)]
* include/std/functional (__is_location_invariant): Use __or_ helper.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209445
138bc75d-0d04-0410-961f-
82ee72b054a4
ppluzhnikov [Wed, 16 Apr 2014 17:39:45 +0000 (17:39 +0000)]
2014-04-16 Paul Pluzhnikov <ppluzhnikov@google.com>
PR c++/59295
* friend.c (add_friend, make_friend_class): Move repeated friend
warning under Wredundant_decls.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209444
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 16 Apr 2014 10:50:58 +0000 (10:50 +0000)]
* tree-ssa-operands.c (create_vop_var): Set DECL_IGNORED_P.
(append_use): Run at -O0.
(append_vdef): Likewise.
* tree-ssa-ter.c (ter_is_replaceable_p): Do not special-case -O0.
* tree-ssa-uninit.c (warn_uninitialized_vars): Remove obsolete comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209443
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 16 Apr 2014 09:25:52 +0000 (09:25 +0000)]
PR tree-optimization/60844
* tree-ssa-reassoc.c (reassoc_remove_stmt): New function.
(propagate_op_to_single_use, remove_visited_stmt_chain,
linearize_expr, repropagate_negates, reassociate_bb): Use it
instead of gsi_remove.
* gcc.dg/pr60844.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209442
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Wed, 16 Apr 2014 09:20:43 +0000 (09:20 +0000)]
2014-04-16 Martin Jambor <mjambor@suse.cz>
* cgraphclones.c (cgraph_create_virtual_clone): Duplicate
ipa_transforms_to_apply.
(cgraph_function_versioning): Assert that old_node has empty
ipa_transforms_to_apply.
* trans-mem.c (ipa_tm_create_version): Likewise.
* tree-inline.c (tree_function_versioning): Do not duplicate
ipa_transforms_to_apply.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209441
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Wed, 16 Apr 2014 09:09:42 +0000 (09:09 +0000)]
Correctly detect native TLS support with 64-bit gas on Solaris/x86 (PR target/60817)
PR target/60817
* configure.ac (set_have_as_tls): Merge i[34567]86-*-* and
x86_64-*-* cases.
Pass necessary as flags on 64-bit Solaris/x86.
Use lowercase relocs for x86_64-*-*.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209440
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 16 Apr 2014 00:17:04 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209439
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Tue, 15 Apr 2014 21:01:04 +0000 (21:01 +0000)]
* ipa-devirt.c (referenced_from_vtable_p): New predicate.
(maybe_record_node, likely_target_p): Use it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209435
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Tue, 15 Apr 2014 20:15:38 +0000 (20:15 +0000)]
* include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
Remove name of unused parameter.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209434
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Tue, 15 Apr 2014 19:05:57 +0000 (19:05 +0000)]
* include/experimental/string_view: Fix inconsistent exception specs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209433
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Tue, 15 Apr 2014 19:05:52 +0000 (19:05 +0000)]
* testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
not use uninitialized members in mem-initializers.
* testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
* testsuite/util/testsuite_common_types.h: Update comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209432
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Tue, 15 Apr 2014 19:05:45 +0000 (19:05 +0000)]
PR c++/60786
* testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1.cc: Fix invalid explicit instantiations with unqualified names.
* testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
2.cc: Likweise.
* testsuite/20_util/tuple/53648.cc: Likweise.
* testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
Likewise.
* testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
Likewise.
* testsuite/23_containers/unordered_map/requirements/
debug_container.cc: Likewise.
* testsuite/23_containers/unordered_map/requirements/
explicit_instantiation/3.cc: Likewise.
* testsuite/23_containers/unordered_multimap/requirements/debug.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/requirements/
explicit_instantiation/3.cc: Likewise.
* testsuite/23_containers/unordered_multiset/requirements/debug.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/requirements/
explicit_instantiation/3.cc: Likewise.
* testsuite/23_containers/unordered_set/requirements/
debug_container.cc: Likewise.
* testsuite/23_containers/unordered_set/requirements/
explicit_instantiation/3.cc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209431
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Tue, 15 Apr 2014 18:28:57 +0000 (18:28 +0000)]
* include/std/atomic: Uglify parameter names.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209429
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Tue, 15 Apr 2014 18:28:50 +0000 (18:28 +0000)]
* include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
delegating constructor.
* include/bits/shared_ptr_base.h
(__shared_ptr::__shared_ptr(nullptr_t)): Likewise
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209428
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Tue, 15 Apr 2014 18:28:41 +0000 (18:28 +0000)]
* include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
const to constexpr member functions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209427
138bc75d-0d04-0410-961f-
82ee72b054a4
wschmidt [Tue, 15 Apr 2014 18:20:01 +0000 (18:20 +0000)]
2014-04-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/60839
Revert following patch
2014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/60735
* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
software floating point or no floating point registers, do not
allow any type in the FPRs. Eliminate a test for SPE SIMD types
in GPRs that occurs after we tested for GPRs that would never be
true.
* config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE,
specifically allow DDmode, since that does not use the SPE SIMD
instructions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209425
138bc75d-0d04-0410-961f-
82ee72b054a4
mark [Tue, 15 Apr 2014 17:18:20 +0000 (17:18 +0000)]
Add DW_AT_const_value as unsigned or int depending on type and value used.
As the comment in the code already indicated DWARF2 does provide
DW_FORM_sdata/DW_FORM_udata to represent signed/unsigned data.
Enumeration constants wider than HOST_WIDE_INT are already handled
separately. Those constant values that do fit a HOST_WIDE_INT can
be encoded as signed or unsigned depending on type and value for
more efficient encoding.
* dwarf2out.c (gen_enumeration_type_die): Add DW_AT_const_value
as unsigned or int depending on type and value used.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209424
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 15 Apr 2014 16:04:11 +0000 (16:04 +0000)]
2014-04-15 Richard Biener <rguenther@suse.de>
PR rtl-optimization/56965
* alias.c (ncr_compar, nonoverlapping_component_refs_p): Move ...
* tree-ssa-alias.c (ncr_compar, nonoverlapping_component_refs_p):
... here.
* alias.c (true_dependence_1): Do not call
nonoverlapping_component_refs_p.
* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Call
nonoverlapping_component_refs_p.
(indirect_refs_may_alias_p): Likewise.
* gcc.dg/torture/pr56965-1.c: New testcase.
* gcc.dg/torture/pr56965-2.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209423
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Tue, 15 Apr 2014 15:25:52 +0000 (15:25 +0000)]
PR libstdc++/60594
* include/std/functional (function::_Callable): Exclude own type
from the callable checks.
* testsuite/20_util/function/60594.cc: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209422
138bc75d-0d04-0410-961f-
82ee72b054a4
tejohnson [Tue, 15 Apr 2014 15:12:00 +0000 (15:12 +0000)]
2014-04-15 Teresa Johnson <tejohnson@google.com>
* cfg.c (dump_bb_info): Fix flags check.
* tree-cfg.c (remove_bb): Only dump TDF_BLOCKS when removing.
2014-04-15 Teresa Johnson <tejohnson@google.com>
* gcc.dg/tree-prof/update-loopch.c: Update expected output.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209421
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 15 Apr 2014 14:31:40 +0000 (14:31 +0000)]
2014-04-15 Paolo Carlini <paolo.carlini@oracle.com>
* decl.c (duplicate_decls): Remove redundant TYPE_NAME use.
* name-lookup.c (pushdecl_maybe_friend_1): Likewise.
(do_class_using_decl): Likewise.
* mangle.c (dump_substitution_candidates): Use TYPE_NAME_STRING.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209420
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [Tue, 15 Apr 2014 14:04:06 +0000 (14:04 +0000)]
PR rtl-optimization/60663
* config/arm/arm.c (arm_new_rtx_costs): Improve ASM_OPERANDS case,
avoid 0 cost.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209419
138bc75d-0d04-0410-961f-
82ee72b054a4