platform/upstream/linaro-gcc.git
9 years ago2015-04-24 Steve Ellcey <sellcey@imgtec.com>
sje [Fri, 24 Apr 2015 23:07:53 +0000 (23:07 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222432 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR go/65616
ian [Fri, 24 Apr 2015 22:08:32 +0000 (22:08 +0000)]
PR go/65616
libgo: Compile go-main, in libgobegin, with -fPIC.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222431 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/50800
jason [Fri, 24 Apr 2015 20:53:28 +0000 (20:53 +0000)]
PR c++/50800
* g++.dg/ext/alias-canon2.C: Remove clashing fn definitions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222426 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/50800
jason [Fri, 24 Apr 2015 19:11:45 +0000 (19:11 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222419 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * genrecog.c (validate_pattern): Check matching constraint refers
law [Fri, 24 Apr 2015 18:40:43 +0000 (18:40 +0000)]
    * genrecog.c (validate_pattern): Check matching constraint refers
        to a lower numbered operand.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222418 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[gcc]
meissner [Fri, 24 Apr 2015 17:24:05 +0000 (17:24 +0000)]
[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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222417 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[ARM][trivial] Use uppercase for code iterator names
ktkachov [Fri, 24 Apr 2015 15:01:32 +0000 (15:01 +0000)]
[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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222416 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[AArch64] Implement -m{cpu,tune,arch}=native using only /proc/cpuinfo
ktkachov [Fri, 24 Apr 2015 14:52:47 +0000 (14:52 +0000)]
[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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222415 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * constexpr.c (potential_constant_expression_1) [MINUS_EXPR]:
jason [Fri, 24 Apr 2015 14:50:51 +0000 (14:50 +0000)]
* constexpr.c (potential_constant_expression_1) [MINUS_EXPR]:
Remove obsolete code.
[NE_EXPR]: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222414 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoReplace g++.dg/pr65802.C with gcc.dg/pr65802.c
vries [Fri, 24 Apr 2015 14:18:57 +0000 (14:18 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222413 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/i386/i386-protos.h (ix86_operands_ok_for_move_multiple): New.
uros [Fri, 24 Apr 2015 13:05:50 +0000 (13:05 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222410 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c/63357
mpolacek [Fri, 24 Apr 2015 12:10:52 +0000 (12:10 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222408 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c/65830
mpolacek [Fri, 24 Apr 2015 11:53:27 +0000 (11:53 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222407 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c/61534
mpolacek [Fri, 24 Apr 2015 11:49:52 +0000 (11:49 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222406 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/i386/sse.md (*vec_widen_smult_even_v8si<mask_name>):
uros [Fri, 24 Apr 2015 07:43:42 +0000 (07:43 +0000)]
* config/i386/sse.md (*vec_widen_smult_even_v8si<mask_name>):
Mark operand1 commutative.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222403 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
thopre01 [Fri, 24 Apr 2015 06:02:10 +0000 (06:02 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222401 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/i386/sse.md (*vec_concatv2sf_sse4_1): Do not allow both
uros [Fri, 24 Apr 2015 06:01:34 +0000 (06:01 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222400 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
thopre01 [Fri, 24 Apr 2015 04:49:34 +0000 (04:49 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222398 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago gcc/testsuite/ChangeLog
amker [Fri, 24 Apr 2015 03:44:53 +0000 (03:44 +0000)]
gcc/testsuite/ChangeLog
* gcc.target/arm/pr42172-1.c: Check str instead of ldr.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222396 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-24 Terry Guo <terry.guo@arm.com>
xguo [Fri, 24 Apr 2015 02:07:30 +0000 (02:07 +0000)]
2015-04-24  Terry Guo  <terry.guo@arm.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222393 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * ipa-icf.c (sem_function::equals_wpa): Compare thunk info.
hubicka [Fri, 24 Apr 2015 00:58:25 +0000 (00:58 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222392 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Fri, 24 Apr 2015 00:16:16 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222391 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
wschmidt [Thu, 23 Apr 2015 20:18:10 +0000 (20:18 +0000)]
2015-04-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/altivec.md (*altivec_lvx_<mode>_internal): Remove
asterisk from name so this can be generated directly.
(*altivec_stvx_<mode>_internal): Likewise.
* config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Add assert
that this is never called during or after reload/lra.
(rs6000_frame_related): Remove split_reg
argument and logic that references it.
(emit_frame_save): Remove last parameter from call to
rs6000_frame_related.
(rs6000_emit_prologue): Remove last parameter from eight calls to
rs6000_frame_related.  Force generation of stvx instruction for
Altivec register saves.  Remove split_reg handling, which is no
longer needed.
(rs6000_emit_epilogue):  Force generation of lvx instruction for
Altivec register restores.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222385 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoRevert:PR c++/50800
jason [Thu, 23 Apr 2015 19:40:16 +0000 (19:40 +0000)]
Revert:PR c++/50800
       * tree.c (strip_typedefs): Add remove_attributes parm.
       (strip_typedefs_expr): Likewise.
       (apply_identity_attributes): New subroutine of strip_typedefs.
       * pt.c (canonicalize_type_argument): Let strip_typedefs handle attrs.
       (convert_nontype_argument, unify): Likewise.
       * cp-tree.h: Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222384 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoSkip gcc.target/i386/pr65523.c for x32
hjl [Thu, 23 Apr 2015 18:11:57 +0000 (18:11 +0000)]
Skip gcc.target/i386/pr65523.c for x32

* gcc.target/i386/pr65523.c: Skip x32.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222382 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
wschmidt [Thu, 23 Apr 2015 18:07:02 +0000 (18:07 +0000)]
2015-04-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/rs6000.opt (mcrypto): Change option description to
match category changes in ISA 2.07B.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222381 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * tree.h (attribute_value_equal): Declare.
hubicka [Thu, 23 Apr 2015 16:23:26 +0000 (16:23 +0000)]
* tree.h (attribute_value_equal): Declare.
* tree.c (attribute_value_equal): Export.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222380 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[ARM] Rewrite vc<cond> NEON patterns to use RTL operations rather than UNSPECs
ktkachov [Thu, 23 Apr 2015 16:19:26 +0000 (16:19 +0000)]
[ARM] Rewrite vc<cond> NEON patterns to use RTL operations rather than UNSPECs

* config/arm/iterators.md (GTGE, GTUGEU, COMPARISONS): New code
iterators.
(cmp_op, cmp_type): New code attributes.
(NEON_VCMP, NEON_VACMP): New int iterators.
(cmp_op_unsp): New int attribute.
* config/arm/neon.md (neon_vc<cmp_op><mode>): New define_expand.
(neon_vceq<mode>): Delete.
(neon_vc<cmp_op><mode>_insn): New pattern.
(neon_vc<cmp_op_unsp><mode>_insn_unspec): Likewise.
(neon_vcgeu<mode>): Delete.
(neon_vcle<mode>): Likewise.
(neon_vclt<mode>: Likewise.
(neon_vcage<mode>): Likewise.
(neon_vcagt<mode>): Likewise.
(neon_vca<cmp_op><mode>): New define_expand.
(neon_vca<cmp_op><mode>_insn): New pattern.
(neon_vca<cmp_op_unsp><mode>_insn_unspec): Likewise.

* gcc.target/arm/neon/pr51534.c: Update vcg* scan-assembly patterns
to look for vcl* where appropriate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222379 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix testuite for updated ICF dumps.
hubicka [Thu, 23 Apr 2015 16:07:43 +0000 (16:07 +0000)]
Fix testuite for updated ICF dumps.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222378 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/50800
jason [Thu, 23 Apr 2015 15:55:21 +0000 (15:55 +0000)]
PR c++/50800
* tree.c (strip_typedefs): Add remove_attributes parm.
(strip_typedefs_expr): Likewise.
(apply_identity_attributes): New subroutine of strip_typedefs.
* pt.c (canonicalize_type_argument): Let strip_typedefs handle attrs.
(convert_nontype_argument, unify): Likewise.
* cp-tree.h: Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222377 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/65646
jason [Thu, 23 Apr 2015 15:55:11 +0000 (15:55 +0000)]
PR c++/65646
* pt.c (check_explicit_specialization): Don't
SET_DECL_TEMPLATE_SPECIALIZATION for a variable with no template
headers.
* decl.c (grokvardecl): Revert earlier fix.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222376 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoCorrect name and email address in the Changelog commit.
ramana [Thu, 23 Apr 2015 15:30:50 +0000 (15:30 +0000)]
Correct name and email address in the Changelog commit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222375 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * ipa-icf.c (sem_item::compare_attributes): New function.
hubicka [Thu, 23 Apr 2015 15:25:26 +0000 (15:25 +0000)]
* ipa-icf.c (sem_item::compare_attributes): New function.
(sem_item::compare_referenced_symbol_properties): Compare variable
attributes.
(sem_item::hash_referenced_symbol_properties): Record DECL_ALIGN.
(sem_function::param_used_p): New function.
(sem_function::equals_wpa): Fix attribute comparsion; match
parameter type codes; do not compare paremter flags when
they are not used; compare edge flags; compare indirect calls.
(sem_item::update_hash_by_addr_refs): Hash reference type.
(sem_function::equals_private): Do not match DECL_ATTRIBUTES.
(sem_variable::equals_wpa): Do not match DECL_ALIGN; match
reference use type.
(sem_item_optimizer::update_hash_by_addr_refs): Use param_used_p.
* ipa-icf.h (compare_attributes, param_used_p): Declare.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222374 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
wschmidt [Thu, 23 Apr 2015 15:09:19 +0000 (15:09 +0000)]
2015-04-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c: Replace
vect_no_align with vect_no_align && { ! vect_hw_misalign }.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222373 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * ipa-icf.c (symbol_compare_collection::symbol_compare_collection):
hubicka [Thu, 23 Apr 2015 14:55:07 +0000 (14:55 +0000)]
* ipa-icf.c (symbol_compare_collection::symbol_compare_collection):
cleanup.
(sem_function::get_hash): Do not hash DECL_DISREGARD_INLINE_LIMITS,
DECL_DECLARED_INLINE_P and DECL_IS_OPERATOR_NEW.
(sem_item::compare_referenced_symbol_properties): New.
(sem_item::hash_referenced_symbol_properties): New.
(sem_item::compare_cgraph_references): Rename to ...
(sem_item::compare_symbol_references): ... this one; use
compare_referenced_symbol_properties.
(sem_function::equals_wpa): Do not compare
DECL_DISREGARD_INLINE_LIMITS, DECL_DECLARED_INLINE_P,
DECL_IS_OPERATOR_NEW; compare pointer sizes.
(sem_item::update_hash_by_addr_refs): Call
hash_referenced_symbol_properties.
(sem_item::update_hash_by_local_refs): Cleanup.
(sem_function::merge): Do not mix up symbol properties.
(sem_variable::equals_wpa): Use compare_symbol_references.
* ipa-icf.h (sem_item::compare_referenced_symbol_properties): New.
(sem_item::hash_referenced_symbol_properties): New.
(sem_item::compare_symbol_references): New.
(sem_item::compare_cgraph_references): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222372 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix PR target/26702
ramana [Thu, 23 Apr 2015 14:49:45 +0000 (14:49 +0000)]
Fix PR target/26702

For Kwok Cheung Yeung.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222371 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c/65345
mpolacek [Thu, 23 Apr 2015 14:35:12 +0000 (14:35 +0000)]
PR c/65345
* c-decl.c (set_labels_context_r): New function.
(store_parm_decls): Call it via walk_tree_without_duplicates.
* c-typeck.c (convert_lvalue_to_rvalue): Use create_tmp_var_raw
instead of create_tmp_var.  Build TARGET_EXPR instead of
COMPOUND_EXPR.
(build_atomic_assign): Use create_tmp_var_raw instead of
create_tmp_var.  Build TARGET_EXPRs instead of MODIFY_EXPR.

* gcc.dg/pr65345-1.c: New test.
* gcc.dg/pr65345-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222370 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/rl78/rl78.c (rl78_preferred_reload_class): Add
nickc [Thu, 23 Apr 2015 13:41:48 +0000 (13:41 +0000)]
* config/rl78/rl78.c (rl78_preferred_reload_class): Add
ATTRIBUTE_UNUSED to x parameter.
* config/rl78/rl78-opts.h (enum rl78_mul_types): Remove unused MUL_RL78.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222369 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[gcc]
wschmidt [Thu, 23 Apr 2015 12:36:43 +0000 (12:36 +0000)]
[gcc]

2015-04-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/crypto.md (crypto_vpmsum<CR_char>): Change
TARGET_CRYPTO to TARGET_P8_VECTOR>
(crypto_vpermxor_<mode>): Likewise.
* config/rs6000/rs6000-builtin.def (BU_CRYPTO_2A): New #define.
(BU_CRYPTO_3A): Likewise.
(BU_CRYPTO_OVERLOAD_2A): Rename from BU_CRYPTO_OVERLOAD_2.
(BU_CRYPTO_OVERLOAD_3A): New #define.
(VPMSUMB): Change from BU_CRYPTO_2 to BU_CRYPTO_2A.
(VPMSUMH): Likewise.
(VPMSUMW): Likewise.
(VPMSUMD): Likewise.
(VPERMXOR_V2DI): Change from BU_CRYPTO_3 to BU_CRYPTO_3A.
(VPERMXOR_V4SI): Likewise.
(VPERMXOR_V8HI): Likewise.
(VPERMXOR_V16QI): Likewise.
(VPMSUM): Change from BU_CRYPTO_OVERLOAD_2 to
BU_CRYPTO_OVERLOAD_2A.
(VPERMXOR): Change from BU_CRYPTO_OVERLOAD3 to
BU_CRYPTO_OVERLOAD_3A.
* config/rs6000/rs6000.opt (mcrypto): Change description of
option.

[gcc/testsuite]

2015-04-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.target/powerpc/crypto-builtin-2.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222362 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/testsuite/ChangeLog:
vehre [Thu, 23 Apr 2015 11:32:00 +0000 (11:32 +0000)]
gcc/testsuite/ChangeLog:

2015-04-23  Andre Vehreschild  <vehre@gmx.de>

PF fortran/60322
* 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_10.f90: Corrected scan-trees.
* gfortran.dg/finalize_15.f90: Fixing comparision to model
initialization correctly.
* gfortran.dg/finalize_29.f08: New test.

gcc/fortran/ChangeLog:

2015-04-23  Andre Vehreschild  <vehre@gmx.de>

PR fortran/60322
* expr.c (gfc_lval_expr_from_sym): Code to select the regular
or class array added.
* gfortran.h: Add IS_CLASS_ARRAY macro.
* trans-array.c (gfc_add_loop_ss_code): Treat class objects
to be referenced always.
(build_class_array_ref): Adapt retrieval of array descriptor.
(build_array_ref): Likewise.
(gfc_conv_array_ref): Hand the vptr or the descriptor to
build_array_ref depending whether the sym is class or not.
(gfc_trans_array_cobounds):  Select correct gfc_array_spec for
regular and class arrays.
(gfc_trans_array_bounds): Likewise.
(gfc_trans_dummy_array_bias): Likewise.
(gfc_get_dataptr_offset): Correcting call of build_array_ref.
(gfc_conv_expr_descriptor): Set the array's offset to -1 when
lbound in inner most dim is 1 and symbol non-pointer/assoc.
* trans-decl.c (gfc_build_qualified_array): Select correct
gfc_array_spec for regular and class arrays.
(gfc_build_dummy_array_decl): Likewise.
(gfc_get_symbol_decl): Get a dummy array for class arrays.
(gfc_trans_deferred_vars): Tell conv_expr that the descriptor
is desired.
* trans-expr.c (gfc_class_vptr_get): Get the class descriptor
from the correct location for class arrays.
(gfc_class_len_get): Likewise.
(gfc_conv_intrinsic_to_class): Add handling of _len component.
(gfc_conv_class_to_class):  Prevent access to unset array data
when the array is an optional argument. Add handling of _len
component.
(gfc_copy_class_to_class): Check that _def_init is non-NULL
when used in _vptr->copy()
(gfc_trans_class_init_assign): Ensure that the rank of
_def_init is zero.
(gfc_conv_component_ref): Get the _vptr along with _data refs.
(gfc_conv_variable): Make sure the temp array descriptor is
returned for class arrays, too, and that class arrays are
dereferenced correctly.
(gfc_conv_procedure_call): For polymorphic type initialization
the initializer has to be a pointer to _def_init stored in a
dummy variable, which then needs to be used by value.
* trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Use the
temporary array descriptor for class arrays, too.
(gfc_conv_intrinsic_storage_size): Likewise.
(gfc_conv_intrinsic_loc): Add ref to _data for BT_CLASS
expressions.
* trans-stmt.c (trans_associate_var): Use a temporary array for
the associate variable of class arrays, too, making the array
one-based (lbound == 1).
* trans-types.c (gfc_is_nodesc_array): Use the correct
array data.
* trans.c (gfc_build_array_ref): Use the dummy array descriptor
when present.
* trans.h: Add class_vptr to gfc_se for storing a class ref's
vptr.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222361 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-23 Richard Biener <rguenther@suse.de>
rguenth [Thu, 23 Apr 2015 11:19:45 +0000 (11:19 +0000)]
2015-04-23  Richard Biener  <rguenther@suse.de>

* passes.def: Remove copy propagation passes run directly after CCP.
* tree-ssa-ccp.c (get_value_for_expr): Fall back to a COPY for
SSA names.
(ccp_visit_phi_node): Rework to handle first executable edge
specially.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222360 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[ARM] Remove an unused reload hook.
mwahab [Thu, 23 Apr 2015 11:02:47 +0000 (11:02 +0000)]
[ARM] Remove an unused reload hook.

* config/arm/arm.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
(ARM_LEGITIMIZE_RELOAD_ADDRESS): Remove.
(THUMB_LEGITIMIZE_RELOAD_ADDRESS): Remove.
* config/arm/arm.c (arm_legimitimize_reload_address): Remove.
(thumb_legimitimize_reload_address): Remove.
* config/arm/arm-protos.h (arm_legimitimize_reload_address):
Remove.
(thumb_legimitimize_reload_address): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222359 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoRe: [PATCH 02/12] remove some ifdef HAVE_cc0.
ktkachov [Thu, 23 Apr 2015 10:34:58 +0000 (10:34 +0000)]
Re: [PATCH 02/12] remove some ifdef HAVE_cc0.

* conditions.h (CC_STATUS_INIT): Gate on #ifndef CC_STATUS_INIT.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222358 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[ARM] Restrict {load,store}_multiple expanders to MAX_LD_STM_OPS regs
ktkachov [Thu, 23 Apr 2015 10:26:25 +0000 (10:26 +0000)]
[ARM] Restrict {load,store}_multiple expanders to MAX_LD_STM_OPS regs

* config/arm/arm.md (load_multiple): Reject operand 2 greater than
MAX_LDM_STM_OPS.
(store_multiple): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222357 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[ARM] Make issue rate part of per-core tuning structs
ktkachov [Thu, 23 Apr 2015 10:24:07 +0000 (10:24 +0000)]
[ARM] Make issue rate part of per-core tuning structs

* config/arm/arm-protos.h (struct tune_params): Add issue_rate field.
* config/arm/arm.c (arm_slowmul_tune, arm_fastmul_tune,
arm_strongarm_tune, arm_xscale_tune, arm_9e_tune, arm_v6t2_tune,
arm_cortex_tune, arm_cortex_a8_tune, arm_cortex_a7_tune,
arm_cortex_a15_tune, arm_cortex_a53_tune, arm_cortex_a57_tune,
arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune,
arm_fa726te_tune arm_cortex_a5_tune, arm_xgene1_tune):
Specify issue_rate value.
(arm_issue_rate): Look up issue rate from tuning structs. Remove
large switch statement.
(arm_marvell_pj4_tune): New struct.
* config/arm/arm-cores.def (marvell-pj4): Use arm_marvell_pj4_tune
struct.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222356 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-23 Richard Biener <rguenther@suse.de>
rguenth [Thu, 23 Apr 2015 08:43:10 +0000 (08:43 +0000)]
2015-04-23  Richard Biener  <rguenther@suse.de>

* tree-vect-slp.c (vect_find_first_load_in_slp_instance): Remove.
(vect_find_last_store_in_slp_instance): Rename to ...
(vect_find_last_scalar_stmt_in_slp): ... this and generalize.
(vect_analyze_slp_cost_1): Use vector_load for constant defs
and vec_construct for external defs when estimating prologue cost.
(vect_analyze_slp_instance): Do not init SLP_INSTANCE_FIRST_LOAD_STMT.
Compute costs here only when vectorizing loops.
(vect_slp_analyze_bb_1): Compute SLP cost here, after vector types
have been determined.
(vect_schedule_slp_instance): Simplify vectorized code placement
and prepare for in-BB external defs.
* tree-vectorizer.h (struct _slp_instance): Remove first_load member.
(SLP_INSTANCE_FIRST_LOAD_STMT): Remove.
* tree-vect-stmts.c (vect_model_store_cost): Remove PURE_SLP_STMT
guard.
(vect_model_load_cost): Likewise.
(vectorizable_store): Instead add it here.
(vectorizable_load): Likewise.
(vect_is_simple_use): Dump def type textually.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222354 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-23 Richard Biener <rguenther@suse.de>
rguenth [Thu, 23 Apr 2015 08:30:04 +0000 (08:30 +0000)]
2015-04-23  Richard Biener  <rguenther@suse.de>

* cfgexpand.c (expand_gimple_stmt_1): Use ops.code.
* cfgloop.c (verify_loop_structure): Verify the root loop node.
* except.c (duplicate_eh_regions): Call get_eh_region_from_lp_number_fn
instead of get_eh_region_from_lp_number.
* loop-init.c (fix_loop_structure): If we removed a loop, reset
the SCEV cache.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222353 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/rs6000/rs6000.c (rs6000_output_function_prologue): No
amodra [Thu, 23 Apr 2015 05:36:55 +0000 (05:36 +0000)]
* config/rs6000/rs6000.c (rs6000_output_function_prologue): No
need for -mprofile-kernel to save LR to stack.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222352 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[gcc]
wschmidt [Thu, 23 Apr 2015 01:49:08 +0000 (01:49 +0000)]
[gcc]

2015-04-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/rs6000.c (rtx_is_swappable_p): Commentary
adjustments.
(insn_is_swappable_p): Return 1 for a convert from double to
single precision when all of its uses are splats of BE element
zero.

[gcc/testsuite]

2015-04-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.target/powerpc/swaps-p8-18.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222351 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-23 Kugan Vivekanandarajah <kuganv@linaro.org>
kugan [Thu, 23 Apr 2015 00:43:30 +0000 (00:43 +0000)]
2015-04-23  Kugan Vivekanandarajah  <kuganv@linaro.org>

* ira-costs.c (record_operand_costs): Fix typo (remove redundant code).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222350 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[gcc]
wschmidt [Thu, 23 Apr 2015 00:21:39 +0000 (00:21 +0000)]
[gcc]

2015-04-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR target/65456
* config/rs6000/rs6000.c (rs6000_option_override_internal):  For
VSX + POWER8, enable TARGET_ALLOW_MOVMISALIGN and
TARGET_EFFICIENT_UNALIGNED_VSX if not selected by command line
option.
(rs6000_builtin_mask_for_load): Return 0 for targets with
efficient unaligned VSX accesses so that the vectorizer will use
direct unaligned loads.
(rs6000_builtin_support_vector_misalignment): Always return true
for targets with efficient unaligned VSX accesses.
(rs6000_builtin_vectorization_cost): Cost of unaligned loads and
stores on targets with efficient unaligned VSX accesses is almost
always the same as the cost of an aligned load or store, so model
it that way.
* config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Return 0 for
unaligned vectors if we have efficient unaligned VSX accesses.
* config/rs6000/rs6000.opt (mefficient-unaligned-vector): New
undocumented option.

[gcc/testsuite]

2015-04-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR target/65456
* gcc.dg/vect/bb-slp-24.c: Exclude test for POWER8.
* gcc.dg/vect/bb-slp-25.c: Likewise.
* gcc.dg/vect/bb-slp-29.c: Likewise.
* gcc.dg/vect/bb-slp-32.c: Replace vect_no_align with
vect_no_align && { ! vect_hw_misalign }.
* gcc.dg/vect/bb-slp-9.c: Likewise.
* gcc.dg/vect/costmodel/ppc/costmodel-slp-33.c: Exclude test for
vect_hw_misalign.
* gcc.dg/vect/costmodel/ppc/costmodel-vect-31a.c: Likewise.
* gcc.dg/vect/costmodel/ppc/costmodel-vect-76b.c: Adjust tests to
account for POWER8, where peeling for alignment is not needed.
* gcc.dg/vect/costmodel/ppc/costmodel-vect-outer-fir.c: Replace
vect_no_align with vect_no_align && { ! vect_hw_misalign }.
* gcc.dg.vect.if-cvt-stores-vect-ifcvt-18.c: Likewise.
* gcc.dg/vect/no-scevccp-outer-6-global.c: Likewise.
* gcc.dg/vect/no-scevccp-outer-6.c: Likewise.
* gcc.dg/vect/no-vfa-vect-43.c: Likewise.
* gcc.dg/vect/no-vfa-vect-57.c: Likewise.
* gcc.dg/vect/no-vfa-vect-61.c: Likewise.
* gcc.dg/vect/no-vfa-vect-depend-1.c: Likewise.
* gcc.dg/vect/no-vfa-vect-depend-2.c: Likewise.
* gcc.dg/vect/no-vfa-vect-depend-3.c: Likewise.
* gcc.dg/vect/pr16105.c: Likewise.
* gcc.dg/vect/pr20122.c: Likewise.
* gcc.dg/vect/pr33804.c: Likewise.
* gcc.dg/vect/pr33953.c: Likewise.
* gcc.dg/vect/pr56787.c: Likewise.
* gcc.dg/vect/pr58508.c: Likewise.
* gcc.dg/vect/slp-25.c: Likewise.
* gcc.dg/vect/vect-105-bit-array.c: Likewise.
* gcc.dg/vect/vect-105.c: Likewise.
* gcc.dg/vect/vect-27.c: Likewise.
* gcc.dg/vect/vect-29.c: Likewise.
* gcc.dg/vect/vect-33.c: Exclude unaligned access test for
POWER8.
* gcc.dg/vect/vect-42.c: Replace vect_no_align with vect_no_align
&& { ! vect_hw_misalign }.
* gcc.dg/vect/vect-44.c: Likewise.
* gcc.dg/vect/vect-48.c: Likewise.
* gcc.dg/vect/vect-50.c: Likewise.
* gcc.dg/vect/vect-52.c: Likewise.
* gcc.dg/vect/vect-56.c: Likewise.
* gcc.dg/vect/vect-60.c: Likewise.
* gcc.dg/vect/vect-72.c: Likewise.
* gcc.dg/vect/vect-75-big-array.c: Likewise.
* gcc.dg/vect/vect-75.c: Likewise.
* gcc.dg/vect/vect-77-alignchecks.c: Likewise.
* gcc.dg/vect/vect-77-global.c: Likewise.
* gcc.dg/vect/vect-78-alignchecks.c: Likewise.
* gcc.dg/vect/vect-78-global.c: Likewise.
* gcc.dg/vect/vect-93.c: Likewise.
* gcc.dg/vect/vect-95.c: Likewise.
* gcc.dg/vect/vect-96.c: Likewise.
* gcc.dg/vect/vect-cond-1.c: Likewise.
* gcc.dg/vect/vect-cond-3.c: Likewise.
* gcc.dg/vect/vect-cond-4.c: Likewise.
* gcc.dg/vect/vect-cselim-1.c: Likewise.
* gcc.dg/vect/vect-multitypes-1.c: Likewise.
* gcc.dg/vect/vect-multitypes-3.c: Likewise.
* gcc.dg/vect/vect-multitypes-4.c: Likewise.
* gcc.dg/vect/vect-multitypes-6.c: Likewise.
* gcc.dg/vect/vect-nest-cycle-1.c: Likewise.
* gcc.dg/vect/vect-nest-cycle-2.c: Likewise.
* gcc.dg/vect/vect-outer-3a-big-array.c: Likewise.
* gcc.dg/vect/vect-outer-3a.c: Likewise.
* gcc.dg/vect/vect-outer-5.c: Likewise.
* gcc.dg/vect/vect-outer-fir-big-array.c: Likewise.
* gcc.dg/vect/vect-outer-fir-lb-big-array.c: Likewise.
* gcc.dg/vect/vect-outer-fir-lb.c: Likewise.
* gcc.dg/vect/vect-outer-fir.c: Likewise.
* gcc.dg/vect/vect-peel-3.c: Likewise.
* gcc.dg/vect/vect-peel-4.c: Likewise.
* gcc.dg/vect/vect-pre-interact.c: Likewise.
* gcc.target/powerpc/pr65456.c: New test.
* gcc.target/powerpc/vsx-vectorize-2.c: Exclude test for POWER8.
* gcc.target/powerpc/vsx-vectorize-4.c: Likewise.
* gcc.target/powerpc/vsx-vectorize-6.c: Likewise.
* gcc.target/powerpc/vsx-vectorize-7.c: Likewise.
* gfortran.dg/vect/vect-2.f90: Replace vect_no_align with
vect_no_align && { ! vect_hw_misalign }.
* gfortran.dg/vect/vect-3.f90: Likewise.
* gfortran.dg/vect/vect-4.f90: Likewise.
* gfortran.dg/vect/vect-5.f90: Likewise.
* lib/target-supports.exp (check_effective_target_vect_no_align):
Return 1 for POWER8.
(check_effective_target_vect_hw_misalign): Return 1 for POWER8.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222349 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Thu, 23 Apr 2015 00:16:16 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222348 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-22 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Wed, 22 Apr 2015 22:43:46 +0000 (22:43 +0000)]
2015-04-22  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/65429
* decl.c (add_init_expr_to_sym): Set the length type parameter.

PR fortran/65429
* gfortran.dg/pr65429.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222342 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agolibiberty/setenv.c: Do not declare environ if defined as a macro.
brobecke [Wed, 22 Apr 2015 19:34:06 +0000 (19:34 +0000)]
libiberty/setenv.c: Do not declare environ if defined as a macro.

2015-04-22  Eli Zaretskii  <eliz@gnu.org>

        * strerror.c <sys_nerr, sys_errlist>: Declare only if they aren't
        macros.
        * setenv.c <environ>: Declare only if not a macro.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222335 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
aldot [Wed, 22 Apr 2015 18:32:18 +0000 (18:32 +0000)]
2015-04-22  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

* Makefile.tpl: Remove surplus whitespace throughout.
* Makefile.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222334 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago Revert:
ktkachov [Wed, 22 Apr 2015 15:34:46 +0000 (15:34 +0000)]
Revert:
2015-04-22  Gregor Richards  <gregor.richards@uwaterloo.ca>

* config.gcc (LIBC_MUSL): New tm_defines macro.
* config/linux.h (OPTION_MUSL): Define.
(INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
(INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
(INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.

* config/linux.opt (mmusl): New option.
* configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
(gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.

* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222330 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agolibstdc++, libgfortran gthr workaround for musl
ktkachov [Wed, 22 Apr 2015 14:24:11 +0000 (14:24 +0000)]
libstdc++, libgfortran gthr workaround for musl

On behalf of szabolcs.nagy@arm.com

[libstdc++-v3/]
2015-04-22  Szabolcs Nagy  <szabolcs.nagy@arm.com>

* config/os/generic/os_defines.h (_GLIBCXX_GTHREAD_USE_WEAK): Define.
* configure.host (os_include_dir): Set to "os/generic" for linux-musl*.

[libgfortran/]
2015-04-22  Szabolcs Nagy  <szabolcs.nagy@arm.com>

* acinclude.m4 (GTHREAD_USE_WEAK): Define as 0 for *-*-musl*.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222329 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agounwind fix for musl
ktkachov [Wed, 22 Apr 2015 14:20:01 +0000 (14:20 +0000)]
unwind fix for musl

On behalf of szabolcs.nagy@arm.com

2015-04-22  Gregor Richards  <gregor.richards@uwaterloo.ca>
    Szabolcs Nagy  <szabolcs.nagy@arm.com>

* unwind-dw2-fde-dip.c (USE_PT_GNU_EH_FRAME): Define it on
Linux if target provides dl_iterate_phdr.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222328 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agofixincludes update for musl support
ktkachov [Wed, 22 Apr 2015 14:18:16 +0000 (14:18 +0000)]
fixincludes update for musl support

On behalf of Szabolcs.Nagy@arm.com

2015-04-22  Gregor Richards  <gregor.richards@uwaterloo.ca>

* mkfixinc.sh: Add *-musl* with no fixes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222327 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoconfig changes for musl libc support
ktkachov [Wed, 22 Apr 2015 14:16:41 +0000 (14:16 +0000)]
config changes for musl libc support

On behalf of Szabolcs.Nagy@arm.com

2015-04-22  Gregor Richards  <gregor.richards@uwaterloo.ca>

* config.gcc (LIBC_MUSL): New tm_defines macro.
* config/linux.h (OPTION_MUSL): Define.
(INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
(INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
(INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.

* config/linux.opt (mmusl): New option.
* configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
(gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.

* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222326 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agolibitm fixes for musl support
ktkachov [Wed, 22 Apr 2015 14:11:25 +0000 (14:11 +0000)]
libitm fixes for musl support

On behalf of Szabolcs.Nagy@arm.com

2015-04-22  Gregor Richards  <gregor.richards@uwaterloo.ca>

       * config/arm/hwcap.cc: Use fcntl.h instead of sys/fcntl.h.
       * config/linux/x86/tls.h: Only use __GLIBC_PREREQ if defined.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222325 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[PATCH][libstc++v3]Add new dg-require-thread-fence directive.
renlin [Wed, 22 Apr 2015 14:01:02 +0000 (14:01 +0000)]
[PATCH][libstc++v3]Add new dg-require-thread-fence directive.

libstdc++-v3/

2015-04-22  Renlin Li  <renlin.li@arm.com>

* testsuite/lib/dg-options.exp (dg-require-thread-fence): New.
* testsuite/lib/libstdc++.exp (check_v3_target_thread_fence): New.
* testsuite/29_atomics/atomic_flag/clear/1.cc: Use it.
* testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Likewise.
* testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222324 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-22 Yury Gribov <y.gribov@samsung.com>
ygribov [Wed, 22 Apr 2015 11:44:26 +0000 (11:44 +0000)]
2015-04-22  Yury Gribov  <y.gribov@samsung.com>

Allow wildcards in -fsanitize-sections.

gcc/
* asan.c (set_sanitized_sections): Parse incoming arg.
(section_sanitized_p): Support wildcards.
* doc/invoke.texi (-fsanitize-sections): Update description.

gcc/testsuite/
* c-c++-common/asan/user-section-1.c: New test.
* c-c++-common/asan/user-section-2.c: New test.
* c-c++-common/asan/user-section-3.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222322 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix va_arg ap_copy nop detection
vries [Wed, 22 Apr 2015 09:03:01 +0000 (09:03 +0000)]
Fix va_arg ap_copy nop detection

2015-04-22  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/65823
* gimplify.c (gimplify_modify_expr): Use operand_equal_p to test for
equality between ap_copy and ap.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222318 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoPR target/47098 OBSD_LIB_SPEC on i686-openbsd3 missing
aldot [Wed, 22 Apr 2015 08:41:13 +0000 (08:41 +0000)]
PR target/47098 OBSD_LIB_SPEC on i686-openbsd3 missing

config-list.mk for i686-*-openbsd3.0 failed with:

gcc/config/openbsd.h:143:18: error: ‘OBSD_LIB_SPEC’ was not declared in this scope
 #define LIB_SPEC OBSD_LIB_SPEC
                  ^
gcc/gcc.c:879:31: note:
in expansion of macro ‘LIB_SPEC’
 static const char *lib_spec = LIB_SPEC;
                               ^
make[2]: *** [gcc.o] Error 1

i.e. openbsd-oldgas.h is only used on
i?86-*-openbsd2.*|i?86-*openbsd3.[0123] so add the OBSD_LIB_SPEC there

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222315 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoPR target/47122: vax-*-openbsd* config.gcc typo
aldot [Wed, 22 Apr 2015 08:30:15 +0000 (08:30 +0000)]
PR target/47122: vax-*-openbsd* config.gcc typo

Gerald / jsg typoed this in the initial r152218 a.k.a
8e6600a15374f9446d5026e8ef6b68e0d753fb6c

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222314 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoPR target/55144
aldot [Wed, 22 Apr 2015 08:25:40 +0000 (08:25 +0000)]
PR target/55144

building all-gcc for bfin-linux-uclibc resulted in

build/genchecksum cp/cp-lang.o c-family/stub-objc.o ... glibc-c.o \
libbackend.a .. > cc1plus-checksum.c.tmp
opening glibc-c.o: No such file or directory
make[2]: *** [cc1-checksum.c] Error 1

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222313 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
aldot [Wed, 22 Apr 2015 08:20:32 +0000 (08:20 +0000)]
2015-04-22  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

* tree-tailcall.c (suitable_for_tail_opt_p, find_tail_calls):
Remove unneeded forward declarations.
(suitable_for_tail_call_opt_p): Commentary typo fix.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222312 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agovarasm.c (emit_bss): Remove redundant guard.
aldot [Wed, 22 Apr 2015 08:16:17 +0000 (08:16 +0000)]
varasm.c (emit_bss): Remove redundant guard.

The whole emit_bss is wrapped in ifdef ASM_OUTPUT_ALIGNED_BSS

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222311 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gennews (files): Add files for GCC 5.
jakub [Wed, 22 Apr 2015 08:14:03 +0000 (08:14 +0000)]
* gennews (files): Add files for GCC 5.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222309 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoc6x: handle c6x unk_isa in TARGET_CPU_CPP_BUILTINS
aldot [Wed, 22 Apr 2015 08:10:18 +0000 (08:10 +0000)]
c6x: handle c6x unk_isa in TARGET_CPU_CPP_BUILTINS

Fixes all-gcc for c6x config-list.mk that complained about

error: enumeration value ‘unk_isa’ not handled in switch

Maybe seeing unk_isa in the cpu switch statement should
__builtin_abort() but be conservative to just allow all-gcc of config-list.mk
to compile

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222308 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agobfin: handle BFIN_CPU_UNKNOWN in TARGET_CPU_CPP_BUILTINS
aldot [Wed, 22 Apr 2015 08:05:20 +0000 (08:05 +0000)]
bfin: handle BFIN_CPU_UNKNOWN in TARGET_CPU_CPP_BUILTINS

gcc/c-family/c-cppbuiltin.c
In file included from ./tm.h:21:0,
                 from
../../../../../../home/me/src/gcc-5.0.mine/gcc/c-family/c-cppbuiltin.c:23:
../../../../../../home/me/src/gcc-5.0.mine/gcc/c-family/c-cppbuiltin.c:
In function ‘void c_cpp_builtins(cpp_reader*)’:
../../../../../../home/me/src/gcc-5.0.mine/gcc/config/bfin/bfin.h:43:14:
error: enumeration value ‘BFIN_CPU_UNKNOWN’ not handled in switch
[-Werror=switch]
       switch (bfin_cpu_type)   \
              ^
../../../../../../home/me/src/gcc-5.0.mine/gcc/c-family/c-cppbuiltin.c:1243:3:
note: in expansion of macro ‘TARGET_CPU_CPP_BUILTINS’
   TARGET_CPU_CPP_BUILTINS ();
   ^
cc1plus: all warnings being treated as errors
make[2]: *** [c-family/c-cppbuiltin.o] Error 1

Maybe seeing BFIN_CPU_UNKNOWN in the cpu switch statement should
__builtin_abort() but be conservative to just allow all-gcc of config-list.mk
to compile

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222307 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/ChangeLog:
xguo [Wed, 22 Apr 2015 07:21:35 +0000 (07:21 +0000)]
gcc/ChangeLog:
2015-04-22  Hale Wang  <hale.wang@arm.com>
            Terry Guo  <terry.guo@arm.com>

       PR rtl-optimization/64818
       * combine.c (can_combine_p): Don't combine user-specified
       register if it is in an asm input.

gcc/testsuite/ChangeLog
2015-04-22  Hale Wang  <hale.wang@arm.com>
            Terry Guo  <terry.guo@arm.com>

       PR rtl-optimization/64818
       * gcc.target/arm/pr64818.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222306 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR ipa/65076
hubicka [Wed, 22 Apr 2015 01:32:14 +0000 (01:32 +0000)]
PR ipa/65076
* passes.def (early_optimizations): Add pass_dse.

* g++.dg/tree-ssa/pr61034.C: Update template.
* g++.dg/warn/Warray-bounds.C: Harden for DSE.
* gcc.dg/Warray-bounds-11.c: Likewise.
* gcc.dg/Warray-bounds.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222305 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoadd default for INSN_REFERENCES_ARE_DELAYED
tbsaunde [Wed, 22 Apr 2015 00:45:20 +0000 (00:45 +0000)]
add default for INSN_REFERENCES_ARE_DELAYED

gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* defaults.h (INSN_REFERENCES_ARE_DELAYED): New definition.
* reorg.c (redundant_insn): Remove ifdef
INSN_REFERENCES_ARE_DELAYED.
* resource.c (mark_referenced_resources): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222304 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoprovide default for INSN_SETS_ARE_DELAYED
tbsaunde [Wed, 22 Apr 2015 00:45:11 +0000 (00:45 +0000)]
provide default for INSN_SETS_ARE_DELAYED

gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* defaults.h (INSN_SETS_ARE_DELAYED): New definition.
* reorg.c (redundant_insn): Remove ifdef INSN_SETS_ARE_DELAYED.
* resource.c (mark_set_resources): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222303 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoremove more ifdefs for HAVE_cc0
tbsaunde [Wed, 22 Apr 2015 00:45:06 +0000 (00:45 +0000)]
remove more ifdefs for HAVE_cc0

gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* caller-save.c (insert_one_insn): Remove ifdef HAVE_cc0.
* cfgcleanup.c (flow_find_cross_jump): Likewise.
(flow_find_head_matching_sequence): Likewise.
(try_head_merge_bb): Likewise.
* combine.c (can_combine_p): Likewise.
(try_combine): Likewise.
(distribute_notes): Likewise.
* df-problems.c (can_move_insns_across): Likewise.
* final.c (final): Likewise.
* gcse.c (insert_insn_end_basic_block): Likewise.
* ira.c (find_moveable_pseudos): Likewise.
* reorg.c (try_merge_delay_insns): Likewise.
(fill_simple_delay_slots): Likewise.
(fill_slots_from_thread): Likewise.
* sched-deps.c (sched_analyze_2): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222302 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoremove #if for PIC_OFFSET_TABLE_REGNUM
tbsaunde [Wed, 22 Apr 2015 00:44:59 +0000 (00:44 +0000)]
remove #if for PIC_OFFSET_TABLE_REGNUM

gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* df-scan.c (df_get_entry_block_def_set): Remove #ifdef
PIC_OFFSET_TABLE_REGNUM.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222301 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoreduce conditional compilation for HARD_FRAME_POINTER_IS_FRAME_POINTER
tbsaunde [Wed, 22 Apr 2015 00:44:54 +0000 (00:44 +0000)]
reduce conditional compilation for HARD_FRAME_POINTER_IS_FRAME_POINTER

gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* alias.c (init_alias_target): Remove ifdef
* HARD_FRAME_POINTER_IS_FRAME_POINTER.
* df-scan.c (df_insn_refs_collect): Likewise.
(df_get_regular_block_artificial_uses): Likewise.
(df_get_eh_block_artificial_uses): Likewise.
(df_get_entry_block_def_set): Likewise.
(df_get_exit_block_use_set): Likewise.
* emit-rtl.c (gen_rtx_REG): Likewise.
* ira.c (ira_setup_eliminable_regset): Likewise.
* reginfo.c (init_reg_sets_1): Likewise.
* regrename.c (rename_chains): Likewise.
* reload1.c (reload): Likewise.
(eliminate_regs_in_insn): Likewise.
* resource.c (mark_referenced_resources): Likewise.
(init_resource_info): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222300 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoprovide default for MASK_RETURN_ADDR
tbsaunde [Wed, 22 Apr 2015 00:44:48 +0000 (00:44 +0000)]
provide default for MASK_RETURN_ADDR

gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* defaults.h (MASK_RETURN_ADDR): New definition.
* except.c (expand_builtin_extract_return_addr): Remove ifdef
MASK_RETURN_ADDR.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222299 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoprovide default for RETURN_ADDR_OFFSET
tbsaunde [Wed, 22 Apr 2015 00:44:43 +0000 (00:44 +0000)]
provide default for RETURN_ADDR_OFFSET

gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* defaults.h (RETURN_ADDR_OFFSET): New definition.
* except.c (expand_builtin_extract_return_addr): Remove ifdef
RETURN_ADDR_OFFSET.
(expand_builtin_frob_return_addr): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222298 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agomake some HAVE_cc0 code always compiled
tbsaunde [Wed, 22 Apr 2015 00:44:37 +0000 (00:44 +0000)]
make some HAVE_cc0 code always compiled

gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* cfgrtl.c (rtl_merge_blocks): Change #if HAVE_cc0 to if (HAVE_cc0)
(try_redirect_by_replacing_jump): Likewise.
(rtl_tidy_fallthru_edge): Likewise.
* combine.c (insn_a_feeds_b): Likewise.
(find_split_point): Likewise.
(simplify_set): Likewise.
* cprop.c (cprop_jump): Likewise.
* cse.c (cse_extended_basic_block): Likewise.
* df-problems.c (can_move_insns_across): Likewise.
* function.c (emit_use_return_register_into_block): Likewise.
* haifa-sched.c (sched_init): Likewise.
* ira.c (find_moveable_pseudos): Likewise.
* loop-invariant.c (find_invariant_insn): Likewise.
* lra-constraints.c (curr_insn_transform): Likewise.
* postreload.c (reload_combine_recognize_const_pattern):
* Likewise.
* reload.c (find_reloads): Likewise.
* reorg.c (delete_scheduled_jump): Likewise.
(steal_delay_list_from_target): Likewise.
(steal_delay_list_from_fallthrough): Likewise.
(redundant_insn): Likewise.
(fill_simple_delay_slots): Likewise.
(fill_slots_from_thread): Likewise.
(delete_computation): Likewise.
* sched-rgn.c (add_branch_dependences): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222297 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoalways define HAVE_cc0
tbsaunde [Wed, 22 Apr 2015 00:44:27 +0000 (00:44 +0000)]
always define HAVE_cc0

gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* genconfig.c (main): Always define HAVE_cc0.
* caller-save.c (insert_one_insn): Change ifdef HAVE_cc0 to #if
HAVE_cc0.
* cfgcleanup.c (flow_find_cross_jump): Likewise.
(flow_find_head_matching_sequence): Likewise.
(try_head_merge_bb): Likewise.
* cfgrtl.c (rtl_merge_blocks): Likewise.
(try_redirect_by_replacing_jump): Likewise.
(rtl_tidy_fallthru_edge): Likewise.
* combine.c (do_SUBST_MODE): Likewise.
(insn_a_feeds_b): Likewise.
(combine_instructions): Likewise.
(can_combine_p): Likewise.
(try_combine): Likewise.
(find_split_point): Likewise.
(subst): Likewise.
(simplify_set): Likewise.
(distribute_notes): Likewise.
* cprop.c (cprop_jump): Likewise.
* cse.c (cse_extended_basic_block): Likewise.
* df-problems.c (can_move_insns_across): Likewise.
* final.c (final): Likewise.
(final_scan_insn): Likewise.
* function.c (emit_use_return_register_into_block): Likewise.
* gcse.c (insert_insn_end_basic_block): Likewise.
* haifa-sched.c (sched_init): Likewise.
* ira.c (find_moveable_pseudos): Likewise.
* loop-invariant.c (find_invariant_insn): Likewise.
* lra-constraints.c (curr_insn_transform): Likewise.
* optabs.c (prepare_cmp_insn): Likewise.
* postreload.c (reload_combine_recognize_const_pattern):
* Likewise.
* reload.c (find_reloads): Likewise.
(find_reloads_address_1): Likewise.
* reorg.c (delete_scheduled_jump): Likewise.
(steal_delay_list_from_target): Likewise.
(steal_delay_list_from_fallthrough): Likewise.
(try_merge_delay_insns): Likewise.
(redundant_insn): Likewise.
(fill_simple_delay_slots): Likewise.
(fill_slots_from_thread): Likewise.
(delete_computation): Likewise.
(relax_delay_slots): Likewise.
* sched-deps.c (sched_analyze_2): Likewise.
* sched-rgn.c (add_branch_dependences): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222296 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoremove more ifdef HAVE_cc0
tbsaunde [Wed, 22 Apr 2015 00:44:20 +0000 (00:44 +0000)]
remove more ifdef HAVE_cc0

gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* combine.c (find_single_use): Remove HAVE_cc0 ifdef for code
that is trivially ded on non cc0 targets.
(simplify_set): Likewise.
(mark_used_regs_combine): Likewise.
* cse.c (new_basic_block): Likewise.
(fold_rtx): Likewise.
(cse_insn): Likewise.
(cse_extended_basic_block): Likewise.
(set_live_p): Likewise.
* rtlanal.c (canonicalize_condition): Likewise.
* simplify-rtx.c (simplify_binary_operation_1): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222295 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoremove some ifdef HAVE_cc0
tbsaunde [Wed, 22 Apr 2015 00:44:15 +0000 (00:44 +0000)]
remove some ifdef HAVE_cc0

gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* conditions.h: Define macros even if HAVE_cc0 is undefined.
* emit-rtl.c: Define functions even if HAVE_cc0 is undefined.
* final.c: Likewise.
* jump.c: Likewise.
* recog.c: Likewise.
* recog.h: Declare functions even when HAVE_cc0 is undefined.
* sched-deps.c (sched_analyze_2): Always compile case for cc0.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222294 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoadd default definition of EH_RETURN_DATA_REGNO
tbsaunde [Wed, 22 Apr 2015 00:44:08 +0000 (00:44 +0000)]
add default definition of EH_RETURN_DATA_REGNO

gcc/ChangeLog:

2015-04-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* defaults.h: New definition of EH_RETURN_DATA_REGNO.
* except.c: Remove definition of EH_RETURN_DATA_REGNO.
* builtins.c (expand_builtin): Remove check if
EH_RETURN_DATA_REGNO is defined.
* df-scan.c (df_bb_refs_collect): Likewise.
(df_get_exit_block_use_set): Likewise.
* haifa-sched.c (initiate_bb_reg_pressure_info): Likewise.
* ira-lives.c (process_bb_node_lives): Likewise.
* lra-lives.c (process_bb_lives): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222293 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Wed, 22 Apr 2015 00:16:19 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222292 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Tue, 21 Apr 2015 18:28:39 +0000 (18:28 +0000)]
2015-04-21 Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/65234
* gfortran.dg/fmt_unlimited.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222276 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Tue, 21 Apr 2015 18:23:20 +0000 (18:23 +0000)]
2015-04-21 Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/65234
* io/format.c (parse_format_list): Set the seen_dd flag in all
cases where a data descriptor has been seen.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222274 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc.target/i386/avx512bw-vpermi2w-2.c: Fix includes to use actual
andreast [Tue, 21 Apr 2015 16:53:23 +0000 (16:53 +0000)]
* gcc.target/i386/avx512bw-vpermi2w-2.c: Fix includes to use actual
    headers.
    * gcc.target/i386/avx512bw-vpermt2w-2.c: Likewise.
    * gcc.target/i386/avx512bw-vpmaddubsw-2.c: Likewise.
    * gcc.target/i386/avx512bw-vpmaddwd-2.c: Likewise.
    * gcc.target/i386/avx512dq-vfpclasspd-2.c: Likewise.
    * gcc.target/i386/avx512dq-vfpclassps-2.c: Likewise.
    * gcc.target/i386/avx512vbmi-vpermi2b-2.c: Likewise.
    * gcc.target/i386/avx512vbmi-vpermt2b-2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222273 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Tue, 21 Apr 2015 16:33:27 +0000 (16:33 +0000)]
2015-04-21 Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/56743
* gfortran.dg/namelist_87.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222272 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Tue, 21 Apr 2015 16:13:54 +0000 (16:13 +0000)]
2015-04-21 Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/56743
* io/list_read.c (CASE_SEPARATORS): Add case for '!'.
(is_separator): Add condition for '!'.
(eat_separator): Use notify_std to warn or errord if '!' is
encountered before a proper separator.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222271 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/i386/i386.md (ARGP_REG, FRAME_REG, BND2_REG, BND3_REG,
uros [Tue, 21 Apr 2015 13:30:56 +0000 (13:30 +0000)]
* config/i386/i386.md (ARGP_REG, FRAME_REG, BND2_REG, BND3_REG,
FIRST_PSEUDO_REG): New.
* config/i386/i386.h (STACK_POINTER_REGNUM): Define to SP_REG.
(ARG_POINTER_REGNUM): Define to ARGP_REG.
(FRAME_POINTER_REGNUM): Define to FRAME_REG.
(HARD_FRAME_POINTER_REGNUM): Define to BP_REG.
(FIRST_PSEUDO_REGISTER): Define to FIRST_PSEUDO_REG.
(FIRST_INT_REG): New.
(LAST_INT_REG): New.
(FIRST_*_REG): Define using *_REG.
(LAST_*_REG): Ditto.
(QI_REGNO_P): Define using FIRST_QU_REG and LAST_QI_REG.
(LEGACY_INT_REGNO_P): Define using FIRST_INT_REG and LAST_INT_REG.
(FIRST_FLOAT_REG): Define to FIRST_STACK_REG.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222269 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[expmed] Properly account for the cost and latency of shift+add ops when synthesizing...
ktkachov [Tue, 21 Apr 2015 12:56:39 +0000 (12:56 +0000)]
[expmed] Properly account for the cost and latency of shift+add ops when synthesizing mults

        * expmed.c: (synth_mult): Only assume overlapping
        shift with previous steps in alg_sub_t_m2 case.

        * gcc.target/aarch64/mult-synth_1.c: New test.
        * gcc.target/aarch64/mult-synth_2.c: Likewise.
        * gcc.target/aarch64/mult-synth_3.c: Likewise.
        * gcc.target/aarch64/mult-synth_4.c: Likewise.
        * gcc.target/aarch64/mult-synth_5.c: Likewise.
        * gcc.target/aarch64/mult-synth_6.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222268 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-21 Richard Biener <rguenther@suse.de>
rguenth [Tue, 21 Apr 2015 12:52:43 +0000 (12:52 +0000)]
2015-04-21  Richard Biener  <rguenther@suse.de>

PR tree-optimization/65650
* tree-ssa-ccp.c (valid_lattice_transition): Allow lattice
transitions involving copies.
(set_lattice_value): Adjust for copy lattice state.
(ccp_lattice_meet): Do not merge UNDEFINED and a copy to the copy
if that doesn't dominate the merge point.
(bit_value_unop): Adjust what we treat as varying mask.
(bit_value_binop): Likewise.
(bit_value_assume_aligned): Likewise.
(evaluate_stmt): When we simplified to a SSA name record a copy
instead of dropping to varying.
(visit_assignment): Simplify.

* gimple-match.h (gimple_simplify): Add another callback.
* gimple-fold.c (fold_stmt_1): Adjust caller.
(gimple_fold_stmt_to_constant_1): Likewise - pass valueize
for the 2nd callback.
* gimple-match-head.c (gimple_simplify): Add a callback that is
used to valueize the stmt operands and use it that way.

* gcc.dg/tree-ssa/ssa-ccp-37.c: New testcase.
* gcc.dg/tree-ssa/forwprop-11.c: Adjust.
* gcc.dg/tree-ssa/ssa-fre-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-4.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-5.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-32.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222267 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-21 Richard Biener <rguenther@suse.de>
rguenth [Tue, 21 Apr 2015 12:38:32 +0000 (12:38 +0000)]
2015-04-21  Richard Biener  <rguenther@suse.de>

PR tree-optimization/65788
* tree-ssa-ccp.c (evaluate_stmt): Evaluate to UNDEFINED early.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222266 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-21 Richard Biener <rguenther@suse.de>
rguenth [Tue, 21 Apr 2015 12:21:21 +0000 (12:21 +0000)]
2015-04-21  Richard Biener  <rguenther@suse.de>

* config/i386/i386.c (ix86_builtin_vectorization_cost): Scale
vec_construct cost by vec_stmt_cost.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222265 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2015-04-21 Richard Biener <rguenther@suse.de>
rguenth [Tue, 21 Apr 2015 11:40:46 +0000 (11:40 +0000)]
2015-04-21  Richard Biener  <rguenther@suse.de>

* cfghooks.h (create_basic_block): Replace with two overloads
for RTL and GIMPLE.
(split_block): Likewise.
* cfghooks.c (split_block): Rename to ...
(split_block_1): ... this.
(split_block): Add two type-safe overloads for RTL and GIMPLE.
(split_block_after_labels): Call split_block_1.
(create_basic_block): Rename to ...
(create_basic_block_1): ... this.
(create_basic_block): Add two type-safe overloads for RTL and GIMPLE.
(create_empty_bb): Call create_basic_block_1.
* cfgrtl.c (fixup_fallthru_exit_predecessor): Use
split_block_after_labels.
* omp-low.c (expand_parallel_call): Likewise.
(expand_omp_target): Likewise.
(simd_clone_adjust): Likewise.
* tree-chkp.c (chkp_get_entry_block): Likewise.
* cgraphunit.c (init_lowered_empty_function): Use the GIMPLE
create_basic_block overload.
(cgraph_node::expand_thunk): Likewise.
* tree-cfg.c (make_blocks): Likewise.
(handle_abnormal_edges): Likewise.
* tree-inline.c (copy_bb): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222264 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[AArch64] Add zero_extend variants of logical+not ops
ktkachov [Tue, 21 Apr 2015 11:24:05 +0000 (11:24 +0000)]
[AArch64] Add zero_extend variants of logical+not ops

* config/aarch64/aarch64.md (*<NLOGICAL:optab>_one_cmplsidi3_ze):
New pattern.
(*xor_one_cmplsidi3_ze): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222263 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * doc/xml/manual/configure.xml: Update descriptions of options
redi [Tue, 21 Apr 2015 10:38:43 +0000 (10:38 +0000)]
* doc/xml/manual/configure.xml: Update descriptions of options
affecting dual ABI and add cross-references.
* doc/xml/manual/strings.xml: Clarify that string isn't COW now.
* doc/xml/manual/using.xml: Document ABI transition.
* doc/html/*: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222262 138bc75d-0d04-0410-961f-82ee72b054a4