Commit Graph

137780 Commits

Author SHA1 Message Date
Jim Wilson
46bf0b0a60 Makefile-lan.in (ada.mostlyclean): Remove gnatbind and gnat1.
ada/
* gcc-interface/Makefile-lan.in (ada.mostlyclean): Remove gnatbind
and gnat1.
cp/
* Make-lang.in (c++.mostlyclean): Remove xg++, g++-cross, and cc1plus.
fortran/
* Make-lang.in (fortran.mostlyclean): Remove gfortran and
gfortran-cross.
go/
* Make-lang.in (go.mostlyclean): Remove gccgo, gccgo-cross, and go1.
jit/
* Make-lang.in (jit.mostlyclean): Remove shared libraries and object
files.
objc/
* Make-lang.in (objc.mostlyclean): Remove cc1obj.
objcp/
* Make-lang.in (obj-c++.mostlyclean): Remove cc1objplus.

From-SVN: r222492
2015-04-27 15:59:06 -07:00
Federico Lenarduzzi
03e73da676 eh_catch.cc (uncaught_exception, [...]): Return false or zero if the library is built without exceptions.
2015-04-27  Federico Lenarduzzi  <federico.lenarduzzi@tallertechnologies.com>
	    Jonathan Wakely  <jwakely@redhat.com>

	* libsupc++/eh_catch.cc (uncaught_exception, uncaught_exceptions):
	Return false or zero if the library is built without exceptions.
	* libsupc++/eh_term_handler.cc: Disable verbose terminate handler if
	the library is built without exceptions.

Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>

From-SVN: r222484
2015-04-27 22:06:17 +01:00
Ville Voutilainen
913ae610c2 gnu.ver: Fix comment.
2015-04-27  Ville Voutilainen  <ville.voutilainen@gmail.com>

	* config/abi/pre/gnu.ver: Fix comment.

From-SVN: r222483
2015-04-27 21:52:14 +01:00
Ville Voutilainen
03a16cc404 Add support for std::uncaught_exceptions.
2015-04-27  Ville Voutilainen  <ville.voutilainen@gmail.com>

	Add support for std::uncaught_exceptions.
	* acinclude.m4: Bump libtool_VERSION.
	* config/abi/pre/gnu.ver: Export the new symbol.
	* configure: Regenerate.
	* libsupc++/eh_catch.cc (uncaught_exceptions): New.
	* libsupc++/exception (uncaught_exceptions): New.
	* testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: New.
	* testsuite/util/testsuite_abi.cc: Add 3.4.22 as the latest version.

From-SVN: r222482
2015-04-27 21:40:29 +01:00
Dmitry Prokoptsev
f5eedc3915 re PR libstdc++/62258 (uncaught_exception() equals to `true' after rethrow_exception())
2015-04-27  Dmitry Prokoptsev  <dprokoptsev@gmail.com>
	    Michael Hanselmann  <public@hansmi.ch>

	PR libstdc++/62258
	* libsupc++/eh_ptr.cc (rethrow_exception): Increment count of
	uncaught exceptions.
	* testsuite/18_support/exception_ptr/62258.cc: New.

Co-Authored-By: Michael Hanselmann <public@hansmi.ch>

From-SVN: r222480
2015-04-27 20:44:30 +01:00
Yoshinori Sato
2f6bd6eb67 config.gcc: Add h8300-*-linux.
gcc/
	* config.gcc: Add h8300-*-linux.
	* config/h8300/linux.h: New.
	* config/h8300/t-linux: New.
	* config/h8300/h8300.c (h8300_option_override): Normal mode
	is not supported for h8300-*-linux.
	(h8300_file_start): Target priority change.
	(get_shift_alg): Likewise.
	(h8300_shift_need_scratch_p): Likewise.
	* config/h8300/h8300.h (TARGET_CPU_CPP_BUILTINS): Likewise.
	* config/h8300/h8300.md (define_peephole2): Remove duplicate condition.

libgcc/

	* config.host: Add h8300-*-linux
	* config/h8300/t-linux: New file.
	* config/h8300/lib1funs.s: Change symbol prefix.
	* config/h8300/sfp-machine.h: 64bit double support.

From-SVN: r222479
2015-04-27 13:16:27 -06:00
Andre Vehreschild
d5302f06b8 re PR fortran/60322 ([OOP] Incorrect bounds on polymorphic dummy array)
2015-04-27  Andre Vehreschild  <vehre@gmx.de>

        PR fortran/60322
        Add tests forgotten to svn-add.
        * gfortran.dg/class_allocate_19.f03: New test.
        * gfortran.dg/class_array_20.f03: New test.
        * gfortran.dg/class_array_21.f03: New test.
        * gfortran.dg/finalize_29.f08: New test.

From-SVN: r222478
2015-04-27 19:41:01 +02:00
Andre Vehreschild
fc7d0afb9c re PR fortran/59678 ([F03] Segfault on equalizing variables of a complex derived type)
gcc/fortran
2015-04-27  Andre Vehreschild  <vehre@gmx.de>

        PR fortran/59678
        PR fortran/65841
        * trans-array.c (duplicate_allocatable): Fixed deep copy of
        allocatable components, which are liable for copy only, when
        they are allocated.
        (gfc_duplicate_allocatable): Add deep-copy code into if
        component allocated block. Needed interface change for that.
        (gfc_copy_allocatable_data): Supplying NULL_TREE for code to
        add into if-block for checking whether a component was
        allocated.
        (gfc_duplicate_allocatable_nocopy): Likewise.
        (structure_alloc_comps): Likewise.
        * trans-array.h: Likewise.
        * trans-expr.c (gfc_trans_alloc_subarray_assign): Likewise.
        * trans-openmp.c (gfc_walk_alloc_comps): Likewise.

gcc/testsuite
2015-04-27  Andre Vehreschild  <vehre@gmx.de>

        PR fortran/59678
        PR fortran/65841
        * gfortran.dg/alloc_comp_deep_copy_1.f03: New test.
        * gfortran.dg/alloc_comp_deep_copy_2.f03: New test.

From-SVN: r222477
2015-04-27 19:34:11 +02:00
Caroline Tice
16d710b164 Give proper type and size to named cold partitions.
2015-04-27  Caroline Tice  <cmtice@google.com>

	* final.c (final_scan_insn):  Output cold_function_nmae as function
	type.
	* varasm.c (cold_function_name):  Make gloval.
	(assemble_start_function):  Re-set cold_function_name.
	(assemble_end_function): Output cold partition size.
	* varasm.h (cold_fun ction_name):  Declare global.

2015-04-27  Caroline Tice  <cmtice@google.com>

	* gcc.dg/tree-prof/cold_partition_label.c (main): Check for cold
	partition size.

From-SVN: r222473
2015-04-27 09:44:35 -07:00
Ilya Tocar
0a48088a0b i386.h (EXT_REX_SSE_REG_P): New.
2015-04-27  Ilya Tocar  <ilya.tocar@intel.com>

	* config/i386/i386.h (EXT_REX_SSE_REG_P): New.
	* config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed): Use "v"
	constraint.
	(*movxi_internal_avx512f): Ditto.
	(define_split): Check for xmm16+, when splitting scalar float_extend.
	(*extendsfdf2_mixed): Use "v" constraint.
	(define_split): Check for xmm16+, when splitting scalar float_truncate.
	(*truncdfsf_fast_sse): Use "v" constraint.
	(fix_trunc<MODEF:mode><SWI48:mode>_sse): Ditto.
	(*float<SWI48:mode><MODEF:mode>2_sse): Ditto.
	(define_peephole2): Check for xmm16+, when converting scalar
	float_truncate.
	(define_peephole2): Check for xmm16+, when converting scalar
	float_extend.
	(*fop_<mode>_comm_mixed): Use "v" constraint.
	(*fop_<mode>_comm_sse): Ditto.
	(*fop_<mode>_1_mixed): Ditto.
	(*sqrt<mode>2_sse): Ditto.
	(*ieee_s<ieee_maxmin><mode>3): Ditto.

From-SVN: r222470
2015-04-27 18:24:48 +03:00
Steven Noonan
8abf301803 configure.ac: Drop AC_PROG_CXX and friends, since libmpx has no C++ sources.
libmpx/

	* configure.ac: Drop AC_PROG_CXX and friends, since libmpx has no C++
	sources.
	* configure: Regenerate.

From-SVN: r222469
2015-04-27 15:02:46 +00:00
Kyrylo Tkachov
fefcf53279 [combine][obvious] Use std::swap instead of manually swapping
* combine.c (simplify_if_then_else): Use std::swap instead
	of manually swapping.
	(known_cond): Likewise.
	(simplify_comparison): Likewise.

From-SVN: r222468
2015-04-27 14:56:10 +00:00
Peter Bergner
01f61a78c6 re PR target/64579 (__TM_end __builtin_tend failed to return transactional state)
gcc/
	PR target/64579
	* config/rs6000/htm.md: Remove all define_expands.
	(UNSPECV_HTM_TABORTDC, UNSPECV_HTM_TABORTDCI, UNSPECV_HTM_TABORTWC,
	UNSPECV_HTM_TABORTWCI): Remove.
	(UNSPECV_HTM_TABORTXC, UNSPECV_HTM_TABORTXCI, UNSPECV_HTM_TTEST): New.
	(tabort_internal, tbegin_internal, tcheck_internal, tend_internal,
	trechkpt_internal, treclaim_internal, tsr_internal): Rename from this...
	(tabort, tbegin, tcheck, tend, trechkpt, treclaim, tsr): ...to this.
	(tabortdc_internal, tabortdci_internal, tabortwc_internal,
	tabortwci_internal): Remove define_insns.
	(tabort<wd>c, tabort<wd>ci): New define_insns.
	(tabort): Use gpc_reg_operand.
	(tcheck): Remove operand.
	(htm_mfspr_<mode>, htm_mtspr_<mode>): Use GPR mode macro.
	* config/rs6000/htmxlintrin.h (__TM_end): Use _HTM_TRANSACTIONAL as
	expected value.
	* config/rs6000/rs6000-builtin.def (BU_HTM_SPR0): Remove.
	(BU_HTM_SPR1): Rename to BU_HTM_V1.  Remove use of RS6000_BTC_SPR.
	(tabort, tabortdc, tabortdci, tabortwc, tabortwci, tbegin,
	tcheck, tend, tendall, trechkpt, treclaim, tresume, tsuspend,
	tsr, ttest): Pass in the RS6000_BTC_CR attribute.
	(get_tfhar, set_tfhar, get_tfiar, set_tfiar, get_texasr, set_texasr,
	get_texasru, set_texasru): Pass in the RS6000_BTC_SPR attribute.
	(tcheck): Remove builtin argument.
	* config/rs6000/rs6000.c (rs6000_htm_spr_icode): Use TARGET_POWERPC64
	not TARGET_64BIT.
	(htm_expand_builtin): Fix usage of expandedp.  Disallow usage of the
	tabortdc and tabortdci builtins when not in 64-bit mode.
	Modify code to handle the loss of the HTM define_expands.
	Emit code to copy the CR register to TARGET.
	(htm_init_builtins): Modify code to handle the loss of the HTM
	define_expands.
	* config/rs6000/rs6000.h (RS6000_BTC_32BIT): Delete.
	(RS6000_BTC_64BIT): Likewise.
	(RS6000_BTC_CR): New macro.
	* doc/extend.texi: Update documentation for htm builtins.

gcc/testsuite/

	PR target/64579
	* gcc.target/powerpc/htm-1.c: New test.
	* gcc.target/powerpc/htm-builtin-1.c (__builtin_tabortdc): Only test
	on 64-bit compiles.
	(__builtin_tabortdci): Likewise.
	(__builtin_tcheck): Remove operand.
	* lib/target-supports.exp (check_htm_hw_available): New function.

From-SVN: r222467
2015-04-27 09:52:50 -05:00
Kyrylo Tkachov
e2be0590fc [simplify-rtx][trivial] Use std::swap instead of manually swapping
* simplify-rtx.c (simplify_gen_binary): Use std::swap instead
	of manually swapping.
	(simplify_associative_operation): Likewise.
	(simplify_binary_operation): Likewise.
	(simplify_plus_minus): Likewise.
	(simplify_relational_operation): Likewise.
	(simplify_ternary_operation): Likewise.

From-SVN: r222465
2015-04-27 13:45:26 +00:00
Richard Sandiford
60a4dfd65e predicates.md (xs_hi_general_operand): Delete.
gcc/
	* config/stormy16/predicates.md (xs_hi_general_operand): Delete.
	(xs_hi_nonmemory_operand): Remove error.
	* config/stormy16/stormy16.md (movhi, movhi_internal): Use
	general_operand rather than xs_hi_general_operand.

From-SVN: r222464
2015-04-27 13:25:56 +00:00
Richard Biener
05b7b5a4a1 tree-ssa-dom.c (record_equivalences_from_phis): Valueize PHI arg.
2015-04-27  Richard Biener  <rguenther@suse.de>

	* tree-ssa-dom.c (record_equivalences_from_phis): Valueize PHI arg.
	(record_equivalences_from_stmt): Valueize rhs.
	(record_equality): Canonicalize x and y order via
	tree_swap_operands_p.  Do not swap operands for same loop depth.

	* gcc.target/i386/pr65217.c: XFAIL.

From-SVN: r222463
2015-04-27 12:46:58 +00:00
Jonathan Wakely
991607ab25 extensions.xml: Add cross-reference.
* doc/xml/manual/extensions.xml: Add cross-reference.
	* doc/html/manual/ext_compile_checks.html: Regenerate.

From-SVN: r222462
2015-04-27 13:30:26 +01:00
Georg-Johann Lay
2e3a3cc869 re PR target/65296 ([avr] fix various issues with specs file generation)
PR target/65296
	PR target/65895
	* config/avr/gen-avr-mmcu-specs.c (print_mcu): Close file.
	Add hint how to use own spec file.

From-SVN: r222459
2015-04-27 11:43:20 +00:00
Jakub Jelinek
9c3cb36079 re PR tree-optimization/65875 (ICE: Segmentation fault)
PR tree-optimization/65875
	* tree-vrp.c (update_value_range): If in is_new case setting
	old_vr to VR_VARYING, also set new_vr to it.  Remove
	old_vr->type == VR_VARYING test.
	(vrp_visit_phi_node): Return SSA_PROP_VARYING instead of
	SSA_PROP_INTERESTING if update_value_range returned true,
	but new range is VR_VARYING.

	* gcc.c-torture/compile/pr65875.c: New test.

From-SVN: r222458
2015-04-27 13:26:12 +02:00
Thomas Preud'homme
97d87f7502 combine.c (sign_extend_short_imm): New.
2015-04-27  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    * combine.c (sign_extend_short_imm): New.
    (set_nonzero_bits_and_sign_copies): Use above new function for sign
    extension of src short immediate.
    (reg_nonzero_bits_for_combine): Likewise for tem.

From-SVN: r222457
2015-04-27 11:02:34 +00:00
Eric Botcazou
232f1f97ad stor-layout.c (self_referential_component_ref_p): New predicate.
* stor-layout.c (self_referential_component_ref_p): New predicate.
	(copy_self_referential_tree_r): Use it.
	(self_referential_size): Punt for simple operations directly involving
	self-referential component references.
	* tree-cfg.c (dump_function_to_file): Add missing final curly bracket.

From-SVN: r222456
2015-04-27 10:29:07 +00:00
Eric Botcazou
e5115cf9bc * ipa-icf.c (icf_handled_component_p): Remove redundant tests.
From-SVN: r222455
2015-04-27 10:10:47 +00:00
Richard Sandiford
9e3a513193 vec.h (vec): Make splice arguments const.
gcc/
	* vec.h (vec): Make splice arguments const.  Update definitions
	accordingly.

From-SVN: r222454
2015-04-27 09:55:21 +00:00
Yvan Roux
c55d8b0bee arm.md (*arm_subsi3_insn): Fixed redundant alternatives.
2015-04-27  Yvan Roux  <yvan.roux@linaro.org>

	* config/arm/arm.md (*arm_subsi3_insn): Fixed redundant
	alternatives.

From-SVN: r222453
2015-04-27 09:08:11 +00:00
GCC Administrator
70581f5a90 Daily bump.
From-SVN: r222452
2015-04-27 00:16:19 +00:00
Tom de Vries
b8b2ab0621 Mark ifn_va_arg as ECF_LEAF
2015-04-26  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/65826
	* internal-fn.def: Mark VA_ARG with ECF_LEAF.

From-SVN: r222446
2015-04-26 07:13:13 +00:00
GCC Administrator
822f686d3f Daily bump.
From-SVN: r222444
2015-04-26 00:16:22 +00:00
Marek Polacek
6c1db78eca re PR c/52085 (incomplete enum not completed correctly if packed was used)
PR c/52085
	* c-decl.c (finish_enum): Copy over TYPE_ALIGN.  Also check for "mode"
	attribute.

	* gcc.dg/enum-incomplete-2.c: New test.
	* gcc.dg/enum-mode-1.c: New test.

From-SVN: r222440
2015-04-25 10:12:01 +00:00
GCC Administrator
5962171edd Daily bump.
From-SVN: r222438
2015-04-25 00:16:18 +00:00
Steve Ellcey
7f8dede8d9 mips.md: (*madd4<mode>) Remove accum_in attribute.
2015-04-24  Steve Ellcey  <sellcey@imgtec.com>

	* config/mips/mips.md: (*madd4<mode>) Remove accum_in attribute.
	(*madd3<mode>): Ditto.
	(*msub4<mode>): Ditto.
	(*msub3<mode>): Ditto.
	(*nmadd4<mode>): Ditto.
	(*nmadd3<mode>): Ditto.
	(*nmadd4<mode>_fastmath): Ditto.
	(*nmadd3<mode>_fastmath): Ditto.
	(*nmsub4<mode>): Ditto.
	(*nmsub3<mode>): Ditto.
	(*nmsub4<mode>_fastmath): Ditto.
	(*nmsub3<mode>_fastmath): Ditto.

From-SVN: r222432
2015-04-24 23:07:53 +00:00
Ian Lance Taylor
bddc11a8ff re PR go/65616 (libgobegin.a not compiled with -fPIC)
PR go/65616
libgo: Compile go-main, in libgobegin, with -fPIC.

From-SVN: r222431
2015-04-24 22:08:32 +00:00
Jason Merrill
67739d3bd5 re PR c++/50800 (Internal compiler error in finish_member_declarations, possibly related to may_alias attribute)
PR c++/50800
	* g++.dg/ext/alias-canon2.C: Remove clashing fn definitions.

From-SVN: r222426
2015-04-24 16:53:28 -04:00
Jason Merrill
c6f044f766 re PR c++/50800 (Internal compiler error in finish_member_declarations, possibly related to may_alias attribute)
PR c++/50800
gcc/
	* tree.c (build_reference_type_for_mode): Don't pass can_alias_all
	down when building TYPE_CANONICAL.
	(build_pointer_type_for_mode): Likewise.
gcc/cp/
	* typeck.c (structural_comptypes): Don't check TYPE_REF_CAN_ALIAS_ALL.

From-SVN: r222419
2015-04-24 15:11:45 -04:00
Chen Gang
6f96dcebb2 genrecog.c (validate_pattern): Check matching constraint refers to a lower numbered operand.
* genrecog.c (validate_pattern): Check matching constraint refers
        to a lower numbered operand.

From-SVN: r222418
2015-04-24 12:40:43 -06:00
Michael Meissner
6d7d9f0eae re PR target/65849 (Add missing tuning knobs to #pragma target/attribute target support)
[gcc]
2015-04-24  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/65849
	* config/rs6000/rs6000.opt (-mvsx-align-128): Make options that
	save to independent variables use the Save attribute.  This will
	allow these options to be modified with the #pragma/attribute
	target support.
	(-mallow-movmisalign): Likewise.
	(-mallow-df-permute): Likewise.
	(-msched-groups): Likewise.
	(-malways-hint): Likewise.
	(-malign-branch-targets): Likewise.
	(-mvectorize-builtins): Likewise.
	(-msave-toc-indirect): Likewise.

	* config/rs6000/rs6000.c (rs6000_opt_masks): Add more options that
	can be set via the #pragma/attribute target support.
	(rs6000_opt_vars): Likewise.
	(rs6000_inner_target_options): If VSX was set, also set
	-mno-avoid-indexed-addresses.

[gcc/testsuite]
2015-04-24  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/65849
	* gcc.target/powerpc/pr65849-1.c: New test to verify being able to
	set new options.
	* gcc.target/powerpc/pr65849-2.c: Likewise.

From-SVN: r222417
2015-04-24 17:24:05 +00:00
Kyrylo Tkachov
728dc15380 [ARM][trivial] Use uppercase for code iterator names
* config/arm/iterators.md (shiftable_ops): Rename to...
	(SHIFTABLE_OPS): ... This.  Update use in comments.
	(ior_xor): Rename to...
	(IOR_XOR): ... This.
	(vqh_ops): Rename to...
	(VQH_OPS): ... This.
	(vqhs_ops): Rename to...
	(VQHS_OPS): ... This.
	(rshifts): Rename to...
	(RSHIFTS): ... This.
	(returns): Rename to...
	(RETURNS): ... This.
	* config/arm/arm.md: Update uses of the above.
	* config/arm/neon.md: Likewise.

From-SVN: r222416
2015-04-24 15:01:32 +00:00
Kyrylo Tkachov
7e1bcce371 [AArch64] Implement -m{cpu,tune,arch}=native using only /proc/cpuinfo
* config.host (case ${host}): Add aarch64*-*-linux case.
	* config/aarch64/aarch64-cores.def: Add IMPLEMENTER_ID and PART_NUMBER
	fields to all the cores.
	* config/aarch64/aarch64-elf.h (DRIVER_SELF_SPECS):
	Add MCPU_MTUNE_NATIVE_SPECS.
	* config/aarch64/aarch64-option-extensions.def: Add FEATURE_STRING
	field to all extensions.
	* config/aarch64/aarch64-opts.h: Adjust definition of AARCH64_CORE.
	* config/aarch64/aarch64.c: Adjust definition of AARCH64_CORE.
	Adjust definition of AARCH64_OPT_EXTENSION.
	* config/aarch64/aarch64.h: Adjust definition of AARCH64_CORE.
	(MCPU_MTUNE_NATIVE_SPECS): Define.
	* config/aarch64/driver-aarch64.c: New file.
	* config/aarch64/x-arch64: New file.
	* doc/invoke.texi (AArch64 Options): Document native value for -mcpu,
	-mtune and -march.

From-SVN: r222415
2015-04-24 14:52:47 +00:00
Jason Merrill
f8815f7a48 constexpr.c (potential_constant_expression_1): Remove obsolete code.
* constexpr.c (potential_constant_expression_1) [MINUS_EXPR]:
	Remove obsolete code.
	[NE_EXPR]: Likewise.

From-SVN: r222414
2015-04-24 10:50:51 -04:00
Tom de Vries
1c3f3851dd Replace g++.dg/pr65802.C with gcc.dg/pr65802.c
2015-04-24  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/65802
	* g++.dg/pr65802.C: Move to ...
	* gcc.dg/pr65802.c: ... here.  Add -fexceptions to dg-options. Include
	stdarg.h.  Rewrite for C.
	(fn1): Use va_list and va_arg.  Make variable args function.  Add use of
	va_start and va_end.  Remove unnecessary inline asm.

From-SVN: r222413
2015-04-24 14:18:57 +00:00
Uros Bizjak
97afef00ba i386-protos.h (ix86_operands_ok_for_move_multiple): New.
* config/i386/i386-protos.h (ix86_operands_ok_for_move_multiple): New.
	* config/i386/i386.c (extract_base_offset_in_addr): New function.
	(ix86_operands_ok_for_move_multiple): Ditto.
	* config/i386/sse.md (movsd/movhpd to movupd peephole2): New pattern.
	(movlpd/movhpd to movupd peephole2): Ditto.

testsuite/ChangeLog:

	* gcc.target/i386/sse2-load-multi.c: New test.
	* gcc.target/i386/sse2-store-multi.c: Ditto.


Co-Authored-By: Wei Mi <wmi@google.com>

From-SVN: r222410
2015-04-24 15:05:50 +02:00
Marek Polacek
8c2b7f7972 re PR c/63357 (Warn for P && P and P || P (same expression used multiple times in a condition))
PR c/63357
	* c-common.c (warn_logical_operator): Warn if the operands have the
	same expressions.

	* doc/invoke.texi: Update description of -Wlogical-op.

	* c-c++-common/Wlogical-op-1.c: New test.

From-SVN: r222408
2015-04-24 12:10:52 +00:00
Marek Polacek
4853031ec8 re PR c/65830 (-Wno-shift-count-negative -Wno-shift-count-overflow don't work with const ints)
PR c/65830
	* c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
	and OPT_Wshift_count_overflow.

	* c-c++-common/pr65830.c: New test.

From-SVN: r222407
2015-04-24 11:53:27 +00:00
Marek Polacek
b878781346 re PR c/61534 (Wlogical-op should not warn when either operand comes from macro expansion)
PR c/61534
	* input.h (from_macro_expansion_at): Define.

	* c-common.c (warn_logical_operator): Bail if either operand comes
	from a macro expansion.

	* c-c++-common/pr61534-1.c: New test.

From-SVN: r222406
2015-04-24 11:49:52 +00:00
Uros Bizjak
841e98017e sse.md (*vec_widen_smult_even_v8si<mask_name>): Mark operand1 commutative.
* config/i386/sse.md (*vec_widen_smult_even_v8si<mask_name>):
	Mark operand1 commutative.

From-SVN: r222403
2015-04-24 09:43:42 +02:00
Thomas Preud'homme
6a61f9bf33 unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): fix ternary operator in fprintf and harmonize spacing.
2015-04-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): fix
    ternary operator in fprintf and harmonize spacing.

From-SVN: r222401
2015-04-24 06:02:10 +00:00
Uros Bizjak
ee768d85a8 sse.md (*vec_concatv2sf_sse4_1): Do not allow both input operands in memory.
* config/i386/sse.md (*vec_concatv2sf_sse4_1): Do not allow both
	input operands in memory.
	(*vec_concatv2si_sse4_1): Ditto.
	(*vec_concatv2df): Ditto, except for SSE3 and equal input operands.
	(vec_extract_lo_<mode><mask_name>): Change operand 1 predicate to
	register_operand.
	(vec_extract_hi_v32hi): Ditto.
	(vec_extract_hi_v64hi): Ditto.
	(<mask_codefor>avx512f_unpckhpd512<mask_name>): Ditto.

From-SVN: r222400
2015-04-24 08:01:34 +02:00
Thomas Preud'homme
8fceae614f re PR rtl-optimization/34503 (Issues with constant/copy propagation implementation in gcse.c)
2015-04-24  Thomas Preud'homme  <thomas.preudhomme@arm.com>
            Steven Bosscher <steven@gcc.gnu.org>

    gcc/
    PR rtl-optimization/34503
    * cprop.c (cprop_reg_p): New.
    (hash_scan_set): Use above function to check if register can be
    propagated.
    (find_avail_set): Return up to two sets, one whose source is a
    register and one whose source is a constant.  Sets are returned in an
    array passed as parameter rather than as a return value.
    (cprop_insn): Use a do while loop rather than a goto.  Try each of the
    sets returned by find_avail_set, starting with the one whose source is
    a constant. Use cprop_reg_p to check if register can be propagated.
    (do_local_cprop): Use cprop_reg_p to check if register can be
    propagated.
    (implicit_set_cond_p): Likewise.

    gcc/testsuite/
    PR rtl-optimization/34503
    * gcc.target/arm/pr64616.c: New file.

Co-Authored-By: Steven Bosscher <steven@gcc.gnu.org>

From-SVN: r222398
2015-04-24 04:49:34 +00:00
Bin Cheng
62d47a8827 pr42172-1.c: Check str instead of ldr.
gcc/testsuite/ChangeLog
	* gcc.target/arm/pr42172-1.c: Check str instead of ldr.

From-SVN: r222396
2015-04-24 03:44:53 +00:00
Terry Guo
ea39708ac1 pr65710.c: Update the options.
2015-04-24  Terry Guo  <terry.guo@arm.com>

	* gcc.target/arm/pr65710.c: Update the options.

From-SVN: r222393
2015-04-24 02:07:30 +00:00
Jan Hubicka
fb5c322ed1 ipa-icf.c (sem_function::equals_wpa): Compare thunk info.
* ipa-icf.c (sem_function::equals_wpa): Compare thunk info.
	(sem_function::equals): IGNORED_NODES parameter is now unused;
	update call of equals_private.
	(sem_function::equals_private): Do not call equals_wpa; skip
	gimple body matching if there is no body.
	(sem_function::init): Add logic to hash tthunk info.
	(sem_function::parse): Also parse thunks.
	* ipa-icf.h (equals_private): Update declaration.

From-SVN: r222392
2015-04-24 00:58:25 +00:00