Commit Graph

147145 Commits

Author SHA1 Message Date
Thomas Koenig
36b54ce08e re PR fortran/71783 (ICE on valid code in gimplify_var_or_parm_decl at gimplify.c:1801)
2016-07-09  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/71783
	* frontend-passes.c (create_var):  Always allocate a charlen
	for character variables.

2016-07-09  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/71783
	* gfortran.dg/dependency_46.f90:  New test.

From-SVN: r238192
2016-07-09 22:18:29 +00:00
GCC Administrator
08a357ce0e Daily bump.
From-SVN: r238191
2016-07-09 00:16:18 +00:00
Steven G. Kargl
98d4439c04 re PR fortran/68426 (Simplification of SPREAD with a derived type element is unimplemented)
2016-07-08  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/68426
	* simplify (gfc_simplify_spread): Adjust locus.

From-SVN: r238186
2016-07-08 22:24:44 +00:00
James Bowman
f0f649c33c FT32: apply unbias to references to RAM symbols.
The FT32 binutils use a bias to distinguish between RAM and flash
addresses.

This fix adds an ASM_OUTPUT_SYMBOL_REF() that unbiases references to
RAM symbols.

Only references to RAM objects have the bias applied. Flash objects
(that is, objects in ADDR SPACE 1) are not biased, so for these no bias
should be applied. Likewise references in the gdb section need to use
the biased address, so references in debug sections are not unbiased.

gcc/ChangeLog:

2016-07-08  James Bowman  <james.bowman@ftdichip.com>

	* config/ft32/ft32.c (ft32_elf_encode_section_info): New function.
	* config/ft32/ft32.h (ASM_OUTPUT_SYMBOL_REF): New function.

From-SVN: r238185
2016-07-08 22:11:30 +00:00
Jason Merrill
72b3e20335 Use lvalue_p instead of real_lvalue_p.
* cp-tree.h: Unpoison lvalue_p.
	* call.c, class.c, constexpr.c, cvt.c, init.c, lambda.c, pt.c,
	tree.c, typeck.c, typeck2.c: Use lvalue_p instead of
	real_lvalue_p.

From-SVN: r238183
2016-07-08 17:32:18 -04:00
Jason Merrill
bb19d4af73 Rename lvalue_p to obvalue_p.
* tree.c (obvalue_p): Rename from lvalue_p.
	(lvalue_p): Define for c-common.
	* call.c, cp-tree.h, cvt.c, init.c: Adjust.
	* typeck.c: Adjust.
	(cp_build_addr_expr_1): Remove obsolete code.

From-SVN: r238182
2016-07-08 17:32:12 -04:00
Jason Merrill
c3edc63382 Rename lvalue_or_rvalue_with_address_p to glvalue_p.
* tree.c (glvalue_p): Rename from lvalue_or_rvalue_with_address_p.
	* call.c, cp-tree.h, typeck.c: Adjust.

From-SVN: r238181
2016-07-08 17:32:06 -04:00
Jason Merrill
0596c4485c * lambda.c (maybe_add_lambda_conv_op): Fix null object argument.
From-SVN: r238180
2016-07-08 17:31:59 -04:00
Vladimir Makarov
d13835b668 re PR rtl-optimization/71621 (ICE in assign_by_spills, at lra-assigns.c:1417 (error: unable to find a register to spill) w/ -O2 -mavx2 -ftree-vectorize)
2016-07-08  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/71621
	* lra-constraints.c (process_alt_operands): Check combination of
	reg class and mode.

2016-07-08  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/71621
	* gcc.target/i386/pr71621-1.c: New.
	* gcc.target/i386/pr71621-2.c: New.

From-SVN: r238178
2016-07-08 20:29:12 +00:00
Jason Merrill
65a550b46e P0145R2: Refining Expression Order for C++ (assignment 2).
* cp-gimplify.c (lvalue_has_side_effects): New.
	(cp_gimplify_expr): Implement assignment ordering.

From-SVN: r238177
2016-07-08 16:25:38 -04:00
Jason Merrill
d0cf395a99 P0145: Refining Expression Order for C++ (-fstrong-eval-order).
gcc/c-family/
	* c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
	* c-opts.c: Adjust.
gcc/cp/
	* call.c (op_is_ordered, build_over_call): Adjust for
	-fargs-in-order renaming to -fstrong-eval-order.
	* cp-gimplify.c (cp_gimplify_expr): Likewise.

From-SVN: r238176
2016-07-08 16:25:31 -04:00
Jason Merrill
8a1b7b7fd7 P0145: Refining Expression Order for C++ (assignment)
* gimplify.c (initial_rhs_predicate_for): New.
	(gimplfy_modify_expr): Gimplify RHS before LHS.

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

From-SVN: r238175
2016-07-08 16:23:40 -04:00
Cesar Philippidis
642bcbdf1d parse.c (matcha): Define.
gcc/fortran/
	* parse.c (matcha): Define.
	(decode_oacc_directive): Add spec_only local var and set it.  Use
	matcha to parse acc directives except for routine and declare.  Return
	ST_GET_FCN_CHARACTERISTICS if a non-declarative directive could be
	matched.

	gcc/testsuite/
	* gfortran.dg/goacc/pr71704.f90: New test.

From-SVN: r238171
2016-07-08 11:34:55 -07:00
Jonathan Wakely
d81102f473 * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
From-SVN: r238169
2016-07-08 17:35:10 +01:00
Bill Schmidt
02eb5b8bf3 re PR target/71297 (ICE on invalid code in altivec_resolve_overloaded_builtin (rs6000-c.c:5106) on powerpc64le-linux)
[gcc]

2016-07-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR target/71297
	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
	Allow standard error handling to take over when a wrong number
	of arguments is presented to __builtin_vec_ld () or
	__builtin_vec_st ().

[gcc/testsuite]

2016-07-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR target/71297
	* gcc.target/powerpc/pr71297.c: New.

From-SVN: r238168
2016-07-08 15:42:47 +00:00
Jiong Wang
8beb9a0dc9 [AArch64] Use fmin/fmax for v[min|max]nm{q} intrinsics
smin/smax will actually honor quiet NaN.

gcc/
	* config/aarch64/aarch64-simd-builtins.def (smax): Remove float
	variants.
	(smin): Likewise.
	(fmax): New entry.
	(fmin): Likewise.
	* config/aarch64/arm_neon.h (vmaxnm_f32): Use
	__builtin_aarch64_fmaxv2sf.
	(vmaxnmq_f32): Likewise.
	(vmaxnmq_f64): Likewise.
	(vminnm_f32): Likewise.
	(vminnmq_f32): Likewise.
	(vminnmq_f64): Likewise.

gcc/testsuite/

	* gcc.target/aarch64/simd/vminmaxnm_1.c: New.

From-SVN: r238166
2016-07-08 15:26:51 +00:00
Michael Meissner
cef4b65070 re PR target/71806 (PowerPC -mcpu=power9 enables __float128 without an explicit -mfloat128)
[gcc]
2016-07-08  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/71806
	* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Do not
	enable -mfloat128-hardware by default.
	(ISA_3_0_MASKS_IEEE): New macro to give all of the VSX options
	that IEEE 128-bit hardware support needs.
	* config/rs6000/rs6000.c (rs6000_option_override_internal): If
	-mcpu=power9 -mfloat128, enable -mfloat128-hardware by default.
	Use ISA_3_0_MASKS_IEEE as the set of options that IEEE 128-bit
	floating point requires.
	* doc/invoke.texi (RS/6000 and PowerPC Options): Document
	-mfloat128 and -mfloat128-hardware changes.

[gcc/testsuite]
2016-07-08  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/71806
	* gcc.target/powerpc/p9-lxvx-stxvx-3.c: Add -mfloat128 option.

From-SVN: r238164
2016-07-08 14:49:37 +00:00
Alan Hayward
3c3ecf52a6 re PR debug/71667 (ICE in as_a, at is-a.h:192 w/ -g -O2 -ftree-vectorize)
2016-07-08  Alan Hayward  <alan.hayward@arm.com>

gcc/
	PR tree-optimization/71667
	* tree-vect-loop.c (vectorizable_live_operation): ignore DEBUG stmts

testsuite/
	PR tree-optimization/71667
	* gcc.dg/vect/pr71667.c: New

From-SVN: r238160
2016-07-08 08:50:24 +00:00
Martin Liska
03e6ca4873 Enhance documentation of Wundefined-do-loop
* invoke.texi (Wundefined-do-loop): Enhance documentation.

From-SVN: r238159
2016-07-08 08:39:56 +00:00
Martin Liska
2660286dca Do not consider COMPLEX_TYPE as fold_convertible_p
PR middle-end/71606
	* fold-const.c (fold_convertible_p): As COMPLEX_TYPE
	folding produces SAVE_EXPRs, thus return false for the type.
	* gcc.dg/torture/pr71606.c: New test.

From-SVN: r238157
2016-07-08 07:52:03 +00:00
Jerry DeLisle
70cdd4ae94 re PR fortran/71764 (ICE in gfc_trans_structure_assign)
2016-07-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/71764
	* trans-expr.c (gfc_trans_structure_assign): Remove assert.

	* gfortran.dg/pr71764.f90: New test.

From-SVN: r238156
2016-07-08 04:36:16 +00:00
GCC Administrator
cb0044dd6b Daily bump.
From-SVN: r238155
2016-07-08 00:16:21 +00:00
Jakub Jelinek
842dc2e6ed re PR c++/70869 (internal compiler error: Segmentation fault on array of pointer to function members)
PR c++/70869
	PR c++/71054
	* cp-gimplify.c (cp_genericize_r): For DECL_EXPR for non-static
	artificial vars, genericize their initializers.

	* g++.dg/cpp0x/pr70869.C: New test.
	* g++.dg/cpp0x/pr71054.C: New test.

Co-Authored-By: Kai Tietz <ktietz70@googlemail.com>

From-SVN: r238124
2016-07-07 20:45:43 +02:00
David Edelsohn
31be42626d * g++.dg/debug/pr71432.C: Fail on AIX.
From-SVN: r238122
2016-07-07 13:59:54 -04:00
Jonathan Wakely
9fc0faf012 Update libstdc++ status docs
* doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
	* doc/html/*: Regenerate.

From-SVN: r238120
2016-07-07 17:35:43 +01:00
Arnaud Charlet
86ec3bfb9f [multiple changes]
2016-07-07  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch6.adb (Expand_Internal_Init_Call): Subsidiary procedure
	to Expand_Protected_ Subprogram_Call, to handle properly a
	call to a protected function that provides the initialization
	expression for a private component of the same protected type.
	* sem_ch9.adb (Analyze_Protected_Definition): Layout must be
	applied to itypes generated for a private operation of a protected
	type that has a formal of an anonymous access to subprogram,
	because these itypes have no freeze nodes and are frozen in place.
	* sem_ch4.adb (Analyze_Selected_Component): If prefix is a
	protected type and it is not a current instance, do not examine
	the first private component of the type.

2016-07-07  Arnaud Charlet  <charlet@adacore.com>

	* exp_imgv.adb, g-dynhta.adb, s-regexp.adb, s-fatgen.adb, s-poosiz.adb:
	Minor removal of extra whitespace.
	* einfo.ads: minor removal of repeated "as" in comment

2016-07-07  Vadim Godunko  <godunko@adacore.com>

	* adaint.c: Complete previous change.

From-SVN: r238117
2016-07-07 15:20:30 +02:00
Arnaud Charlet
0640c7d139 [multiple changes]
2016-07-07  Vadim Godunko  <godunko@adacore.com>

	* adainit.h, adainit.c (__gnat_is_read_accessible_file): New
	subprogram.
	(__gnat_is_write_accessible_file): New subprogram.
	* s-os_lib.ads, s-os_lib.adb (Is_Read_Accessible_File): New subprogram.
	(Is_Write_Accessible_File): New subprogram.

2016-07-07  Justin Squirek  <squirek@adacore.com>

	* sem_ch12.adb (Install_Body): Minor refactoring in the order
	of local functions.
	(In_Same_Scope): Change loop condition to be more expressive.

From-SVN: r238116
2016-07-07 15:17:51 +02:00
Arnaud Charlet
8c519039a6 [multiple changes]
2016-07-07  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch3.adb, sem_prag.adb, sem_prag.ads, prj-ext.adb, freeze.adb,
	sem_attr.adb: Minor reformatting, fix typos.

2016-07-07  Justin Squirek  <squirek@adacore.com>

	* sem_ch12.adb (In_Same_Scope): Created this function to check
	a generic package definition against an instantiation for scope
	dependancies.
	(Install_Body): Add function In_Same_Scope and
	amend conditional in charge of delaying the package instance.
	(Is_In_Main_Unit): Add guard to check if parent is present in
	assignment of Current_Unit.

From-SVN: r238115
2016-07-07 15:16:05 +02:00
Martin Liska
1c122092dc Optimize fortran loops with +-1 step.
* gfortran.dg/do_1.f90: Remove a corner case that triggers
	an undefined behavior.
	* gfortran.dg/do_3.F90: Likewise.
	* gfortran.dg/do_check_11.f90: New test.
	* gfortran.dg/do_check_12.f90: New test.
	* gfortran.dg/do_corner_warn.f90: New test.
	* lang.opt (Wundefined-do-loop): New option.
        * resolve.c (gfc_resolve_iterator): Warn for Wundefined-do-loop.
	(gfc_trans_simple_do): Generate a c-style loop.
	(gfc_trans_do): Fix GNU coding style.
	* invoke.texi: Mention the new warning.

From-SVN: r238114
2016-07-07 13:15:39 +00:00
Eric Botcazou
9cc6b3f86a sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove redundant test, adjust comments and formatting.
2016-07-07  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove redundant test,
	adjust comments and formatting.
	* sem_prag.adb (Inlining_Not_Possible): Do not test Front_End_Inlining
	here but...
	(Make_Inline): ...here before calling Inlining_Not_Possible instead.
	(Set_Inline_Flags): Remove useless test.
	(Analyze_Pragma) <Pragma_Inline>: Add comment about -gnatn switch.

From-SVN: r238113
2016-07-07 15:12:55 +02:00
Martin Liska
7119f1b1a4 Add PRED_FORTRAN_LOOP_PREHEADER to DO loops with step
* trans-stmt.c (gfc_trans_do): Add expect builtin for DO
	loops with step bigger than +-1.
	* gfortran.dg/predict-1.f90: Ammend the test.
	* gfortran.dg/predict-2.f90: Likewise.

From-SVN: r238112
2016-07-07 13:11:05 +00:00
Arnaud Charlet
0e77949e87 [multiple changes]
2016-07-07  Ed Schonberg  <schonberg@adacore.com>

	* sem_prag.ads, sem_prag.adb (Build_Classwide_Expression): Include
	overridden operation as parameter, in order to map formals of
	the overridden and overring operation properly prior to rewriting
	the inherited condition.
	* freeze.adb (Check_Inherited_Cnonditions): Change call to
	Build_Class_Wide_Expression accordingly.  In Spark_Mode, add
	call to analyze the contract of the parent operation, prior to
	mapping formals between operations.

2016-07-07  Arnaud Charlet  <charlet@adacore.com>

	* adabkend.adb (Scan_Back_End_Switches): Ignore -o/-G switches
	as done in back_end.adb.
	(Scan_Compiler_Args): Remove special case for CodePeer/SPARK, no longer
	needed, and prevents proper handling of multi-unit sources.

2016-07-07  Thomas Quinot  <quinot@adacore.com>

	* g-sechas.adb, g-sechas.ads (GNAT.Secure_Hashes.H): Add Hash_Stream
	type with Write primitive calling Update on the underlying context
	(and dummy Read primitive raising P_E).

2016-07-07  Thomas Quinot  <quinot@adacore.com>

	* sem_ch13.adb: Minor reformatting.

From-SVN: r238111
2016-07-07 15:05:08 +02:00
Arnaud Charlet
7dccd19430 [multiple changes]
2016-07-07  Thomas Quinot  <quinot@adacore.com>

	* g-socket.ads: Document performance consideration for stream
	wrapper.

2016-07-07  Arnaud Charlet  <charlet@adacore.com>

	* osint-c.ads (Set_File_Name): Clarify spec.

From-SVN: r238110
2016-07-07 15:02:31 +02:00
Eric Botcazou
c765803988 freeze.adb: Reenable code.
2016-07-07  Eric Botcazou  <ebotcazou@adacore.com>

	* freeze.adb: Reenable code.

From-SVN: r238109
2016-07-07 15:00:54 +02:00
Arnaud Charlet
d1ce5f8c6f minor reformatting.
From-SVN: r238107
2016-07-07 14:59:19 +02:00
Yannick Moy
0bb97bdf5a sem_ch6.adb (Process_Formals): Set ghost flag on formal entities of ghost subprograms.
2016-07-07  Yannick Moy  <moy@adacore.com>

	* sem_ch6.adb (Process_Formals): Set ghost flag
	on formal entities of ghost subprograms.
	* ghost.adb (Check_Ghost_Context.Is_OK_Ghost_Context): Accept ghost
	entities in use type clauses.

From-SVN: r238106
2016-07-07 14:59:06 +02:00
Martin Liska
f965d3dad7 Prevent LTO wrappers to process a recursive execution
* file-find.c (remove_prefix): New function.
	* file-find.h (remove_prefix): Declare the function.
	* gcc-ar.c (main): Skip a folder of the wrapper if
	a wrapped binary would point to the same file.

From-SVN: r238089
2016-07-07 12:03:39 +00:00
Jan Hubicka
019d659835 tree-scalar-evolution.c (iv_can_overflow_p): export.
* tree-scalar-evolution.c (iv_can_overflow_p): export.
	* tree-scalar-evolution.h (iv_can_overflow_p): Declare.
	* tree-ssa-loop-ivopts.c (alloc_iv): Use it.

From-SVN: r238088
2016-07-07 11:50:55 +00:00
Ilya Enkovich
275792f2eb re PR ipa/71624 ([CHKP] internal compiler error: in duplicate_thunk_for_node)
gcc/

	PR ipa/71624
	* ipa-inline-analysis.c (compute_inline_parameters): Set
	local.can_change_signature to false for intrumentation
	thunk callees.

gcc/testsuite/

	PR ipa/71624
	* g++.dg/pr71624.C: New test.

From-SVN: r238086
2016-07-07 11:45:11 +00:00
Thomas Preud'homme
33427b4642 arm.h (TARGET_USE_MOVT): Check MOVT/MOVW availability with TARGET_HAVE_MOVT.
2016-07-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/arm.h (TARGET_USE_MOVT): Check MOVT/MOVW availability
    with TARGET_HAVE_MOVT.
    (TARGET_HAVE_MOVT): Define.
    * config/arm/arm.c (const_ok_for_op): Check MOVT/MOVW
    availability with TARGET_HAVE_MOVT.
    * config/arm/arm.md (arm_movt): Use TARGET_HAVE_MOVT to check MOVT
    availability.
    (addsi splitter): Use TARGET_THUMB && TARGET_HAVE_MOVT rather than
    TARGET_THUMB2.
    (symbol_refs movsi splitter): Remove TARGET_32BIT check.
    (arm_movtas_ze): Use TARGET_HAVE_MOVT to check MOVT availability.
    * config/arm/constraints.md (define_constraint "j"): Use
    TARGET_HAVE_MOVT to check MOVT availability.

From-SVN: r238083
2016-07-07 08:54:59 +00:00
Thomas Preud'homme
3129a32097 arm-protos.h: Reindent FL_FOR_* macro definitions.
2016-07-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/arm-protos.h: Reindent FL_FOR_* macro definitions.

From-SVN: r238082
2016-07-07 08:54:50 +00:00
Thomas Preud'homme
05a437c1f3 arm-arches.def (armv8-m.base): Define new architecture.
2016-07-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/arm-arches.def (armv8-m.base): Define new architecture.
    (armv8-m.main): Likewise.
    (armv8-m.main+dsp): Likewise.
    * config/arm/arm-protos.h (FL_FOR_ARCH8M_BASE): Define.
    (FL_FOR_ARCH8M_MAIN): Likewise.
    * config/arm/arm-tables.opt: Regenerate.
    * config/arm/bpabi.h: Add armv8-m.base, armv8-m.main and
    armv8-m.main+dsp to BE8_LINK_SPEC.
    * config/arm/arm.h (TARGET_HAVE_LDACQ): Exclude ARMv8-M.
    (enum base_architecture): Add BASE_ARCH_8M_BASE and BASE_ARCH_8M_MAIN.
    * config/arm/arm.c (arm_arch_name): Increase size to work with ARMv8-M
    Baseline and Mainline.
    (arm_option_override_internal): Also disable arm_restrict_it when
    !arm_arch_notm.  Update comment for -munaligned-access to also cover
    ARMv8-M Baseline.
    (arm_file_start): Increase buffer size for printing architecture name.
    * doc/invoke.texi: Document architectures armv8-m.base, armv8-m.main
    and armv8-m.main+dsp.
    (mno-unaligned-access): Clarify that this is disabled by default for
    ARMv8-M Baseline architectures as well.

    gcc/testsuite/
    * lib/target-supports.exp: Generate add_options_for_arm_arch_FUNC and
    check_effective_target_arm_arch_FUNC_multilib for ARMv8-M Baseline and
    ARMv8-M Mainline architectures.

    libgcc/
    * config/arm/lib1funcs.S (__ARM_ARCH__): Define to 8 for ARMv8-M.

From-SVN: r238081
2016-07-07 08:54:40 +00:00
Thomas Preud'homme
3d16d9ec3c lib1funcs.S (HAVE_ARM_CLZ): Define for ARMv6* or later and ARMv5t* rather than for a fixed list of...
2016-07-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    libgcc/
    * config/arm/lib1funcs.S (HAVE_ARM_CLZ): Define for ARMv6* or later
    and ARMv5t* rather than for a fixed list of architectures.

From-SVN: r238080
2016-07-07 08:54:28 +00:00
Thomas Preud'homme
6f49395177 elf.h: Use __ARM_ARCH_ISA_THUMB and __ARM_ARCH_ISA_ARM to decide whether to prevent...
2016-07-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/elf.h: Use __ARM_ARCH_ISA_THUMB and __ARM_ARCH_ISA_ARM to
    decide whether to prevent some libgcc routines being included for some
    multilibs rather than __ARM_ARCH_6M__ and add comment to indicate the
    link between this condition and the one in
    libgcc/config/arm/lib1func.S.

    gcc/testsuite/
    * lib/target-supports.exp (check_effective_target_arm_cortex_m): Use
    __ARM_ARCH_ISA_ARM to test for Cortex-M devices.

    libgcc/
    * config/arm/bpabi-v6m.S: Clarify what architectures is the
    implementation suitable for.
    * config/arm/lib1funcs.S (__prefer_thumb__): Define among other cases
    for all Thumb-1 only targets.
    (NOT_ISA_TARGET_32BIT): Define for Thumb-1 only targets.
    (THUMB_LDIV0): Test for NOT_ISA_TARGET_32BIT rather than
    __ARM_ARCH_6M__.
    (EQUIV): Likewise.
    (ARM_FUNC_ALIAS): Likewise.
    (umodsi3): Add check to __ARM_ARCH_ISA_THUMB != 1 to guard the idiv
    version.
    (modsi3): Likewise.
    (clzsi2): Test for NOT_ISA_TARGET_32BIT rather than __ARM_ARCH_6M__.
    (clzdi2): Likewise.
    (ctzsi2): Likewise.
    (L_interwork_call_via_rX): Test for __ARM_ARCH_ISA_ARM rather than
    __ARM_ARCH_6M__ in guard for checking whether it is defined.
    (final includes): Test for NOT_ISA_TARGET_32BIT rather than
    __ARM_ARCH_6M__ and add comment to indicate the connection between
    this condition and the one in gcc/config/arm/elf.h.
    * config/arm/libunwind.S: Test for __ARM_ARCH_ISA_THUMB and
    __ARM_ARCH_ISA_ARM rather than __ARM_ARCH_6M__.
    * config/arm/t-softfp: Likewise.

From-SVN: r238079
2016-07-07 08:54:18 +00:00
Richard Biener
3c5b29f561 tree-ssa-pre.c: Include alias.h.
2016-07-07  Richard Biener  <rguenther@suse.de>

	* tree-ssa-pre.c: Include alias.h.
	(compute_avail): If we have multiple VN_REFERENCEs with the
	same hashtable entry adjust that to make it a valid replacement
	for all of them with respect to alignment and aliasing
	when doing insertion.
	* tree-ssa-sccvn.h (vn_reference_operands_for_lookup): Declare.
	* tree-ssa-sccvn.c (vn_reference_operands_for_lookup): New function.

From-SVN: r238078
2016-07-07 07:43:35 +00:00
Segher Boessenkool
5ddaee94e2 rs6000: Make the ctr* patterns allow ints in vector regs (PR71763)
Similar to PR70098, which is about integers in floating point registers,
we can have the completely analogous problem with vector registers as well
now that we allow integers in vector registers.  So, this patch solves it
in the same way.  This only works for targets with direct move.

To recap: register allocation can decide to put an integer mode value in
a floating point or vector register.  If that register is used in a bd*z
instruction, which is a jump instruction, reload can not do an output
reload on it (it does not do output reloads on any jump insns), so the
float or vector register will remain, and we have to allow it here or
recog will ICE.  Later on we will split this to valid instructions,
including a move from that fp/vec register to an int register; it is this
move that will still fail (PR70098) if we do not have direct move enabled.


	PR target/70098
	PR target/71763
	* config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2,
	*ctr<mode>_internal5, *ctr<mode>_internal6): Add *wi to the output
	constraint.

gcc/testsuite/
	PR target/70098
	PR target/71763
	* gcc.target/powerpc/pr71763.c: New file.

From-SVN: r238076
2016-07-07 05:09:03 +02:00
GCC Administrator
242fab3667 Daily bump.
From-SVN: r238073
2016-07-07 00:16:21 +00:00
Trevor Saunders
1770511a8a remove unused CTOR_LISTS_DEFINED_EXTERNALLY macro
The last target to use this was i386-interix, so since that is gone we
don't need this anymore.

libgcc/ChangeLog:

2016-07-06  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* libgcc2.c (SYMBOL__MAIN): Remove checks for
	CTOR_LISTS_DEFINED_EXTERNALLY.

From-SVN: r238067
2016-07-06 23:55:52 +00:00
Trevor Saunders
e97f62233f make side_effects a vec<rtx>
gcc/ChangeLog:

2016-07-06  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* var-tracking.c (struct adjust_mem_data): Make side_effects a vector.
	(adjust_mems): Adjust.
	(adjust_insn): Likewise.
	(prepare_call_arguments): Likewise.

From-SVN: r238066
2016-07-06 23:53:20 +00:00
Trevor Saunders
0777c850bf make stores rtx_insn_list a vec
gcc/ChangeLog:

2016-07-06  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* gcse.c (struct ls_expr): Make stores field a vector.
	(ldst_entry): Adjust.
	(free_ldst_entry): Likewise.
	(print_ldst_list): Likewise.
	(compute_ld_motion_mems): Likewise.
	(update_ld_motion_stores): Likewise.

From-SVN: r238065
2016-07-06 23:53:15 +00:00