platform/upstream/gcc.git
10 years agore PR c++/61556 ([c++11][4.9/4.10 Regression] ‘*(const ValueType*)this’ is not a...
Jason Merrill [Fri, 20 Jun 2014 18:31:53 +0000 (14:31 -0400)]
re PR c++/61556 ([c++11][4.9/4.10 Regression] ‘*(const ValueType*)this’ is not a constant expression with valid code)

PR c++/61556
* call.c (build_over_call): Call build_this in template path.

From-SVN: r211853

10 years agoUpdate definition of call_fusage_contains_non_callee_clobbers
Tom de Vries [Fri, 20 Jun 2014 18:28:12 +0000 (18:28 +0000)]
Update definition of call_fusage_contains_non_callee_clobbers

2014-06-20  Tom de Vries  <tom@codesourcery.com>

* target.def (call_fusage_contains_non_callee_clobbers): Update
definition.
* doc/tm.texi: Regenerate.

From-SVN: r211852

10 years agoMake the tests big-endian friendly.
Yufeng Zhang [Fri, 20 Jun 2014 16:52:29 +0000 (16:52 +0000)]
Make the tests big-endian friendly.

gcc/testsuite/

Make the tests big-endian friendly.

* gcc.target/aarch64/aapcs64/test_25.c: Update.
* gcc.target/aarch64/aapcs64/va_arg-1.c: Ditto.
* gcc.target/aarch64/aapcs64/va_arg-12.c: Ditto.
* gcc.target/aarch64/aapcs64/va_arg-2.c: Ditto.
* gcc.target/aarch64/aapcs64/va_arg-3.c: Ditto.
* gcc.target/aarch64/aapcs64/va_arg-4.c: Ditto.
* gcc.target/aarch64/aapcs64/va_arg-5.c: Ditto.
* gcc.target/aarch64/aapcs64/va_arg-6.c: Ditto.
* gcc.target/aarch64/aapcs64/va_arg-7.c: Ditto.

From-SVN: r211851

10 years agoasan.c (instrument_strlen_call): Fixed instrumentation of trailing byte.
Yury Gribov [Fri, 20 Jun 2014 13:33:28 +0000 (13:33 +0000)]
asan.c (instrument_strlen_call): Fixed instrumentation of trailing byte.

2014-06-18  Yury Gribov  <y.gribov@samsung.com>

gcc/
* asan.c (instrument_strlen_call): Fixed instrumentation of
trailing byte.

gcc/testsuite/
* c-c++-common/asan/strlen-overflow-1.c: New test.

Co-Authored-By: Max Ostapenko <m.ostapenko@partner.samsung.com>
From-SVN: r211849

10 years agore PR ipa/61540 (internal compiler error in try_make_edge_direct_virtual_call)
Martin Jambor [Fri, 20 Jun 2014 11:19:46 +0000 (13:19 +0200)]
re PR ipa/61540 (internal compiler error in try_make_edge_direct_virtual_call)

2014-06-20  Martin Jambor  <mjambor@suse.cz>

PR ipa/61540
* ipa-prop.c (impossible_devirt_target): New function.
(try_make_edge_direct_virtual_call): Use it, also instead of
asserting.

testsuite/
        * g++.dg/ipa/pr61540.C: New test.

From-SVN: r211847

10 years agore PR sanitizer/61530 (segfault with asan)
Yury Gribov [Fri, 20 Jun 2014 10:26:55 +0000 (10:26 +0000)]
re PR sanitizer/61530 (segfault with asan)

2014-06-18  Yury Gribov  <y.gribov@samsung.com>

gcc/
PR sanitizer/61530
* asan.c (build_check_stmt): Add condition.

gcc/testsuite/
* c-c++-common/asan/pr61530.c: New test.

Co-Authored-By: Max Ostapenko <m.ostapenko@partner.samsung.com>
From-SVN: r211846

10 years agore PR ipa/61211 (ICE: verify_cgraph_node failed: edge points to wrong declaration...
Martin Jambor [Fri, 20 Jun 2014 09:54:39 +0000 (11:54 +0200)]
re PR ipa/61211 (ICE: verify_cgraph_node failed: edge points to wrong declaration with -O3 -fno-inline)

2014-06-20  Martin Jambor  <mjambor@suse.cz>

PR ipa/61211
* cgraph.c (clone_of_p): Allow skipped_branch to deal with
expanded clones.

From-SVN: r211844

10 years ago[AArch64] Fix some saturating math NEON intrinsics types.
Kyrylo Tkachov [Fri, 20 Jun 2014 08:51:34 +0000 (08:51 +0000)]
[AArch64] Fix some saturating math NEON intrinsics types.

[gcc/]
* config/aarch64/iterators.md (VCOND): Handle SI and HI modes.
Update comments.
(VCONQ): Make comment more helpful.
(VCON): Delete.
* config/aarch64/aarch64-simd.md
(aarch64_sqdmulh_lane<mode>):
Use VCOND for operands 2.  Update lane checking and flipping logic.
(aarch64_sqrdmulh_lane<mode>): Likewise.
(aarch64_sq<r>dmulh_lane<mode>_internal): Likewise.
(aarch64_sqdmull2<mode>): Remove VCON, use VQ_HSI mode iterator.
(aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal, VD_HSI): Change mode
attribute of operand 3 to VCOND.
(aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal, SD_HSI): Likewise.
(aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
(aarch64_sqdmull_lane<mode>_internal, VD_HSI): Likewise.
(aarch64_sqdmull_lane<mode>_internal, SD_HSI): Likewise.
(aarch64_sqdmull2_lane<mode>_internal): Likewise.
(aarch64_sqdml<SBINQOPS:as>l_laneq<mode>_internal, VD_HSI: New
define_insn.
(aarch64_sqdml<SBINQOPS:as>l_laneq<mode>_internal, SD_HSI): Likewise.
(aarch64_sqdml<SBINQOPS:as>l2_laneq<mode>_internal): Likewise.
(aarch64_sqdmull_laneq<mode>_internal, VD_HSI): Likewise.
(aarch64_sqdmull_laneq<mode>_internal, SD_HSI): Likewise.
(aarch64_sqdmull2_laneq<mode>_internal): Likewise.
(aarch64_sqdmlal_lane<mode>): Change mode attribute of penultimate
operand to VCOND.  Update lane flipping and bounds checking logic.
(aarch64_sqdmlal2_lane<mode>): Likewise.
(aarch64_sqdmlsl_lane<mode>): Likewise.
(aarch64_sqdmull_lane<mode>): Likewise.
(aarch64_sqdmull2_lane<mode>): Likewise.
(aarch64_sqdmlal_laneq<mode>):
Replace VCON usage with VCONQ.
Emit aarch64_sqdmlal_laneq<mode>_internal insn.
(aarch64_sqdmlal2_laneq<mode>): Emit
aarch64_sqdmlal2_laneq<mode>_internal insn.
Replace VCON with VCONQ.
(aarch64_sqdmlsl2_lane<mode>): Replace VCON with VCONQ.
(aarch64_sqdmlsl2_laneq<mode>): Likewise.
(aarch64_sqdmull_laneq<mode>): Emit
aarch64_sqdmull_laneq<mode>_internal insn.
Replace VCON with VCONQ.
(aarch64_sqdmull2_laneq<mode>): Emit
aarch64_sqdmull2_laneq<mode>_internal insn.
(aarch64_sqdmlsl_laneq<mode>): Replace VCON usage with VCONQ.
* config/aarch64/arm_neon.h (vqdmlal_high_lane_s16): Change type
of 3rd argument to int16x4_t.
(vqdmlalh_lane_s16): Likewise.
(vqdmlslh_lane_s16): Likewise.
(vqdmull_high_lane_s16): Likewise.
(vqdmullh_lane_s16): Change type of 2nd argument to int16x4_t.
(vqdmlal_lane_s16): Don't create temporary int16x8_t value.
(vqdmlsl_lane_s16): Likewise.
(vqdmull_lane_s16): Don't create temporary int16x8_t value.
(vqdmlal_high_lane_s32): Change type 3rd argument to int32x2_t.
(vqdmlals_lane_s32): Likewise.
(vqdmlsls_lane_s32): Likewise.
(vqdmull_high_lane_s32): Change type 2nd argument to int32x2_t.
(vqdmulls_lane_s32): Likewise.
(vqdmlal_lane_s32): Don't create temporary int32x4_t value.
(vqdmlsl_lane_s32): Likewise.
(vqdmull_lane_s32): Don't create temporary int32x4_t value.
(vqdmulhh_lane_s16): Change type of second argument to int16x4_t.
(vqrdmulhh_lane_s16): Likewise.
(vqdmlsl_high_lane_s16): Likewise.
(vqdmulhs_lane_s32): Change type of second argument to int32x2_t.
(vqdmlsl_high_lane_s32): Likewise.
(vqrdmulhs_lane_s32): Likewise.

[gcc/testsuite]
* gcc.target/aarch64/simd/vqdmulhh_lane_s16.c: New test.
* gcc.target/aarch64/simd/vqdmulhs_lane_s32.c: Likewise.
* gcc.target/aarch64/simd/vqrdmulhh_lane_s16.c: Likewise.
* gcc.target/aarch64/simd/vqrdmulhs_lane_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmlal_high_lane_s16.c: New test.
* gcc.target/aarch64/simd/vqdmlal_high_lane_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmlal_high_laneq_s16.c: Likewise.
* gcc.target/aarch64/simd/vqdmlal_high_laneq_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmlal_lane_s16.c: Likewise.
* gcc.target/aarch64/simd/vqdmlal_lane_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmlal_laneq_s16.c: Likewise.
* gcc.target/aarch64/simd/vqdmlal_laneq_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmlalh_lane_s16.c: Likewise.
* gcc.target/aarch64/simd/vqdmlals_lane_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmlsl_high_lane_s16.c: Likewise.
* gcc.target/aarch64/simd/vqdmlsl_high_lane_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmlsl_high_laneq_s16.c: Likewise.
* gcc.target/aarch64/simd/vqdmlsl_high_laneq_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmlsl_lane_s16.c: Likewise.
* gcc.target/aarch64/simd/vqdmlsl_lane_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmlsl_laneq_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmlslh_lane_s16.c: Likewise.
* gcc.target/aarch64/simd/vqdmlsls_lane_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmulh_laneq_s16.c: Likewise.
* gcc.target/aarch64/simd/vqdmulh_laneq_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmulhq_laneq_s16.c: Likewise.
* gcc.target/aarch64/simd/vqdmulhq_laneq_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmull_high_lane_s16.c: Likewise.
* gcc.target/aarch64/simd/vqdmull_high_lane_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmull_high_laneq_s16.c: Likewise.
* gcc.target/aarch64/simd/vqdmull_high_laneq_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmull_lane_s16.c: Likewise.
* gcc.target/aarch64/simd/vqdmull_lane_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmull_laneq_s16.c: Likewise.
* gcc.target/aarch64/simd/vqdmull_laneq_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmullh_lane_s16.c: Likewise.
* gcc.target/aarch64/simd/vqdmulls_lane_s32.c: Likewise.
* gcc.target/aarch64/simd/vqrdmulh_laneq_s16.c: Likewise.
* gcc.target/aarch64/simd/vqrdmulh_laneq_s32.c: Likewise.
* gcc.target/aarch64/simd/vqrdmulhq_laneq_s16.c: Likewise.
* gcc.target/aarch64/simd/vqrdmulhq_laneq_s32.c: Likewise.
* gcc.target/aarch64/vector_intrinsics.c: Simplify arm_neon.h include.
(test_vqdmlal_high_lane_s16): Fix parameter type.
(test_vqdmlal_high_lane_s32): Likewise.
(test_vqdmull_high_lane_s16): Likewise.
(test_vqdmull_high_lane_s32): Likewise.
(test_vqdmlsl_high_lane_s32): Likewise.
(test_vqdmlsl_high_lane_s16): Likewise.
* gcc.target/aarch64/scalar_intrinsics.c (test_vqdmlalh_lane_s16):
Fix argument type.
(test_vqdmlals_lane_s32): Likewise.
(test_vqdmlslh_lane_s16): Likewise.
(test_vqdmlsls_lane_s32): Likewise.
(test_vqdmulhh_lane_s16): Likewise.
(test_vqdmulhs_lane_s32): Likewise.
(test_vqdmullh_lane_s16): Likewise.
(test_vqdmulls_lane_s32): Likewise.
(test_vqrdmulhh_lane_s16): Likewise.
(test_vqrdmulhs_lane_s32): Likewise.

From-SVN: r211842

10 years agoFix finding reg-sets of call insn
Tom de Vries [Fri, 20 Jun 2014 08:02:02 +0000 (08:02 +0000)]
Fix finding reg-sets of call insn

2014-06-20  Tom de Vries  <tom@codesourcery.com>

* final.c (collect_fn_hard_reg_usage): Add separate IOR_HARD_REG_SET for
get_call_reg_set_usage.

From-SVN: r211841

10 years agoDon't save function_used_regs if it contains all call_used_regs
Tom de Vries [Fri, 20 Jun 2014 08:01:52 +0000 (08:01 +0000)]
Don't save function_used_regs if it contains all call_used_regs

2014-06-20  Tom de Vries  <tom@codesourcery.com>

* final.c (collect_fn_hard_reg_usage): Don't save function_used_regs if
it contains all call_used_regs.

From-SVN: r211840

10 years agoUse function_used_regs variable in collect_fn_hard_reg_usage
Tom de Vries [Fri, 20 Jun 2014 08:01:41 +0000 (08:01 +0000)]
Use function_used_regs variable in collect_fn_hard_reg_usage

2014-06-20  Tom de Vries  <tom@codesourcery.com>

* final.c (collect_fn_hard_reg_usage): Add and use variable
function_used_regs.

From-SVN: r211839

10 years agocgraph.h (struct symtab_node): Add field in_init_priority_hash (set_init_priority...
Jan Hubicka [Fri, 20 Jun 2014 07:09:27 +0000 (09:09 +0200)]
cgraph.h (struct symtab_node): Add field in_init_priority_hash (set_init_priority...

* cgraph.h (struct symtab_node): Add field in_init_priority_hash
(set_init_priority, get_init_priority, set_fini_priority,
get_fini_priority): New methods.
* tree.c (init_priority_for_decl): Remove.
(init_ttree): Do not initialize init priority.
(decl_init_priority_lookup, decl_fini_priority_lookup): Rewrite.
(decl_priority_info): Remove.
(decl_init_priority_insert): Rewrite.
(decl_fini_priority_insert): Rewrite.
* tree.h (tree_priority_map_eq, tree_priority_map_hash,
tree_priority_map_marked_p): Remove.
* lto-cgraph.c (lto_output_node, input_node): Stream init priorities.
* lto-streamer-out.c (hash_tree): Do not hash priorities.
* tree-streamer-out.c (pack_ts_decl_with_vis_value_fields): Do
not output priorities.
(pack_ts_function_decl_value_fields): Likewise.
* tree-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Do
not input priorities.
(unpack_ts_function_decl_value_fields): Likewise.
* symtab.c (symbol_priority_map): Declare.
(init_priority_hash): Declare.
(symtab_unregister_node): Unregister from priority hash, too.
(symtab_node::get_init_priority, cgraph_node::get_fini_priority):
New methods.
(symbol_priority_map_eq, symbol_priority_map_hash): New functions.
(symbol_priority_info): New function.
(symtab_node::set_init_priority, cgraph_node::set_fini_priority):
New methods.
* tree-core.h (tree_priority_map): Remove.

* lto.c (compare_tree_sccs_1): Do not compare priorities.

From-SVN: r211838

10 years agotree-ssa-math-opts.c (do_shift_rotate, [...]): Cast 0xff to uint64_t before shifting...
Jakub Jelinek [Fri, 20 Jun 2014 06:30:19 +0000 (08:30 +0200)]
tree-ssa-math-opts.c (do_shift_rotate, [...]): Cast 0xff to uint64_t before shifting it up.

* tree-ssa-math-opts.c (do_shift_rotate, find_bswap_or_nop_1): Cast
0xff to uint64_t before shifting it up.

From-SVN: r211837

10 years agoarm.c (arm_output_mi_thunk): Fix offset for TARGET_THUMB1_ONLY.
Julian Brown [Fri, 20 Jun 2014 05:38:40 +0000 (05:38 +0000)]
arm.c (arm_output_mi_thunk): Fix offset for TARGET_THUMB1_ONLY.

2014-06-20  Julian Brown  <julian@codesourcery.com>
    Chung-Lin Tang  <cltang@codesourcery.com>

* config/arm/arm.c (arm_output_mi_thunk): Fix offset for
TARGET_THUMB1_ONLY. Add comments.

Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com>
From-SVN: r211834

10 years agore PR testsuite/61567 (gfortran.dg/coarray_collectives_{5,6}.f90 failure)
Tobias Burnus [Fri, 20 Jun 2014 05:24:09 +0000 (07:24 +0200)]
re PR testsuite/61567 (gfortran.dg/coarray_collectives_{5,6}.f90 failure)

2014-06-20  Tobias Burnus  <burnus@net-b.de>

        PR testsuite/61567
        * gfortran.dg/coarray_collectives_5.f90: Update
        dg-final scan-tree-dump-times.
        * gfortran.dg/coarray_collectives_6.f90: Ditto.

From-SVN: r211833

10 years agore PR lto/61123 (With LTO, -fno-short-enums is ignored, resulting in ABI mis-matching...
Hale Wang [Fri, 20 Jun 2014 04:52:11 +0000 (04:52 +0000)]
re PR lto/61123 (With LTO, -fno-short-enums is ignored, resulting in ABI mis-matching in linking.)

c-family/ChangeLog
2014-06-20 Hale Wang <hale.wang@arm.com>

PR lto/61123
* c.opt (fshort-enums): Add to LTO.
* c.opt (fshort-wchar): Likewise.

testsuite/ChangeLog
2014-06-20 Hale Wang <hale.wang@arm.com>

* gcc.target/arm/lto/: New folder to verify the LTO option.
* gcc.target/arm/lto/pr61123-enum-size_0.c: New test case.
* gcc.target/arm/lto/pr61123-enum-size_1.c: Likewise.
* gcc.target/arm/lto/lto.exp: New exp file used to test LTO option.
* lib/lto.exp (object-readelf): New procedure.

From-SVN: r211832

10 years agoDaily bump.
GCC Administrator [Fri, 20 Jun 2014 00:16:54 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r211831

10 years agoFix aarch64_emit_call_insn return type
Tom de Vries [Thu, 19 Jun 2014 12:21:13 +0000 (12:21 +0000)]
Fix aarch64_emit_call_insn return type

2014-06-19  Tom de Vries  <tom@codesourcery.com>

* config/aarch64/aarch64-protos.h (aarch64_emit_call_insn): Change
return type to void.
* config/aarch64/aarch64.c (aarch64_emit_call_insn): Same.

From-SVN: r211823

10 years agore PR fortran/61454 (ICE in simplification of initialization expression with array)
Francois-Xavier Coudert [Thu, 19 Jun 2014 11:58:55 +0000 (11:58 +0000)]
re PR fortran/61454 (ICE in simplification of initialization expression with array)

PR fortran/61454
* expr.c (scalarize_intrinsic_call): Take care of optional
arguments.
* gfortran.dg/pr61454.f90: New file.

From-SVN: r211822

10 years agore PR c++/59296 ([c++11] ref-qualified member function is ambiguous)
Jason Merrill [Thu, 19 Jun 2014 09:36:09 +0000 (05:36 -0400)]
re PR c++/59296 ([c++11] ref-qualified member function is ambiguous)

PR c++/59296
* call.c (add_function_candidate): Also set LOOKUP_NO_TEMP_BIND.

From-SVN: r211821

10 years agoloop-invariant.c (get_inv_cost): Skip invariants, which are marked as "move", from...
Zhenqiang Chen [Thu, 19 Jun 2014 09:04:58 +0000 (09:04 +0000)]
loop-invariant.c (get_inv_cost): Skip invariants, which are marked as "move", from depends_on.

2014-06-19  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

* loop-invariant.c (get_inv_cost): Skip invariants, which are marked
as "move", from depends_on.

From-SVN: r211818

10 years agothumb1.md (define_split): Split 64bit constant in earlier stage.
Terry Guo [Thu, 19 Jun 2014 07:50:48 +0000 (07:50 +0000)]
thumb1.md (define_split): Split 64bit constant in earlier stage.

gcc/ChangeLog:

2014-06-19  Terry Guo  <terry.guo@arm.com>

* config/arm/thumb1.md (define_split): Split 64bit constant in earlier
stage.

gcc/testsuite/ChangeLog:

2014-06-19  Terry Guo  <terry.guo@arm.com>

* gcc.target/arm/thumb1-load-64bit-constant-1.c: New test.
* gcc.target/arm/thumb1-load-64bit-constant-2.c: Ditto.
* gcc.target/arm/thumb1-load-64bit-constant-3.c: Ditto.

From-SVN: r211817

10 years agotrans-intrinsic.c (conv_co_minmaxsum): Fix argument passing.
Tobias Burnus [Thu, 19 Jun 2014 07:16:34 +0000 (09:16 +0200)]
trans-intrinsic.c (conv_co_minmaxsum): Fix argument passing.

gcc/fortran/
2014-06-19  Tobias Burnus  <burnus@net-b.de>

        * trans-intrinsic.c (conv_co_minmaxsum): Fix argument
        passing.

gcc/testsuite/
2014-06-19  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray/collectives_2.f90: Extend
        and make valid.

libgfortran/
2014-06-19  Tobias Burnus  <burnus@net-b.de>

        * caf/single.c (_gfortran_caf_co_sum, _gfortran_caf_co_max,
        _gfortran_caf_co_min): Fix stat setting.

From-SVN: r211816

10 years agoIgnore gcc_update output
Richard Henderson [Thu, 19 Jun 2014 00:47:18 +0000 (17:47 -0700)]
Ignore gcc_update output

From-SVN: r211815

10 years agoDaily bump.
GCC Administrator [Thu, 19 Jun 2014 00:16:43 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r211814

10 years agors6000: Make cr5 allocatable
Segher Boessenkool [Wed, 18 Jun 2014 23:13:40 +0000 (01:13 +0200)]
rs6000: Make cr5 allocatable

A comment in rs6000.h says "cr5 is not supposed to be used".  I checked
all ABIs, going as far back as PowerOpen (1994), and found no mention
of this.

Also document cr6 is used by some vector instructions.

From-SVN: r211811

10 years agore PR c++/59296 ([c++11] ref-qualified member function is ambiguous)
Jason Merrill [Wed, 18 Jun 2014 22:13:51 +0000 (18:13 -0400)]
re PR c++/59296 ([c++11] ref-qualified member function is ambiguous)

PR c++/59296
* call.c (add_function_candidate): Set LOOKUP_NO_RVAL_BIND for
ref-qualifier handling.

From-SVN: r211809

10 years agore PR c++/61507 (GCC does not compile function with parameter pack.)
Jason Merrill [Wed, 18 Jun 2014 22:13:40 +0000 (18:13 -0400)]
re PR c++/61507 (GCC does not compile function with parameter pack.)

PR c++/61507
* pt.c (resolve_overloaded_unification): Preserve
ARGUMENT_PACK_EXPLICIT_ARGS.

From-SVN: r211808

10 years agore PR target/61550 ([SH] build failure with ICE in gen_reg_rtx, at emit-rtl.c:943)
Kaz Kojima [Wed, 18 Jun 2014 22:11:55 +0000 (22:11 +0000)]
re PR target/61550 ([SH] build failure with ICE in gen_reg_rtx, at emit-rtl.c:943)

PR target/61550
* config/sh/sh.c (prepare_move_operands): Don't process TLS
addresses here if reload in progress or completed.

From-SVN: r211807

10 years agogfortran.texi (OpenMP): Update refs to OpenMP 4.0.
Tobias Burnus [Wed, 18 Jun 2014 20:57:19 +0000 (22:57 +0200)]
gfortran.texi (OpenMP): Update refs to OpenMP 4.0.

2014-06-18  Tobias Burnus  <burnus@net-b.de>

        * gfortran.texi (OpenMP): Update refs to OpenMP 4.0.
        * intrinsic.texi (OpenMP Modules): Ditto.

From-SVN: r211806

10 years agoEnable LRA for MIPS
Robert Suchanek [Wed, 18 Jun 2014 20:40:34 +0000 (20:40 +0000)]
Enable LRA for MIPS

gcc/

* config/mips/constraints.md ("d"): BASE_REG_CLASS replaced by
"TARGET_MIPS16 ? M16_REGS : GR_REGS".
* config/mips/mips.c (mips_regno_to_class): Update for M16_SP_REGS.
(mips_regno_mode_ok_for_base_p): Remove use of !strict_p for MIPS16.
(mips_register_priority): New function that implements the target
hook TARGET_REGISTER_PRIORITY.
(mips_spill_class): Likewise for TARGET_SPILL_CLASS.
(mips_lra_p): Likewise for TARGET_LRA_P.
(TARGET_REGISTER_PRIORITY): Define macro.
(TARGET_SPILL_CLASS): Likewise.
(TARGET_LRA_P): Likewise.
* config/mips/mips.h (reg_class): Add M16_SP_REGS and SPILL_REGS
classes.
(REG_CLASS_NAMES): Likewise.
(REG_CLASS_CONTENTS): Likewise.
(BASE_REG_CLASS): Use M16_SP_REGS.
* config/mips/mips.md (*mul_acc_si): Add alternative tuned for LRA.
New set attribute to enable alternatives depending on the register
allocator used.
(*mul_acc_si_r3900, *mul_sub_si): Likewise.
(*lea64): Disable pattern for MIPS16.
* config/mips/mips.opt (mlra): New option.

From-SVN: r211805

10 years agoChangeLog: Fix whitespace.
Uros Bizjak [Wed, 18 Jun 2014 20:14:08 +0000 (22:14 +0200)]
ChangeLog: Fix whitespace.

* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Fix invalid entry.

From-SVN: r211804

10 years agoAdd support for reloading a frame address with an invalid base
Robert Suchanek [Wed, 18 Jun 2014 19:50:00 +0000 (19:50 +0000)]
Add support for reloading a frame address with an invalid base

gcc/

* lra-constraints.c (base_to_reg): New function.
(process_address): Use new function.

From-SVN: r211802

10 years ago-fuse-caller-save - Enable for AArch64
Tom de Vries [Wed, 18 Jun 2014 16:09:01 +0000 (16:09 +0000)]
-fuse-caller-save - Enable for AArch64

2014-05-30  Tom de Vries  <tom@codesourcery.com>

* config/aarch64/aarch64-protos.h (aarch64_emit_call_insn): Declare.
* config/aarch64/aarch64.c
(TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): Redefine as true.
(aarch64_emit_call_insn): New function.
(aarch64_load_symref_appropriately): Use aarch64_emit_call_insn instead
of emit_call_insn.
* config/aarch64/aarch64.md (define_expand "call_internal")
(define_expand "call_value_internal", define_expand "sibcall_internal")
(define_expand "sibcall_value_internal"): New.
(define_expand "call", define_expand "call_value")
(define_expand "sibcall", define_expand "sibcall_value"): Use internal
expand variant and aarch64_emit_call_insn.

* gcc.target/aarch64/fuse-caller-save.c: New test.

From-SVN: r211799

10 years ago-fuse-caller-save - Enable for ARM
Radovan Obradovic [Wed, 18 Jun 2014 15:50:59 +0000 (15:50 +0000)]
-fuse-caller-save - Enable for ARM

2014-06-18  Radovan Obradovic  <robradovic@mips.com>
            Tom de Vries  <tom@codesourcery.com>

* config/arm/arm-protos.h (arm_emit_call_insn): Add bool parameter.
* config/arm/arm.c (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS):
Redefine to true.
(arm_emit_call_insn): Add and use sibcall parameter.  Add IP and CC
clobbers to CALL_INSN_FUNCTION_USAGE.
(define_expand "sibcall_internal")
(define_expand "sibcall_value_internal"): New.
(define_expand "call", define_expand "call_value"): Add argument to
arm_emit_call_insn.
(define_expand "sibcall"): Use sibcall_internal and arm_emit_call_insn.
(define_expand "sibcall_value"): Use sibcall_value_internal and
arm_emit_call_insn.

* gcc.target/arm/fuse-caller-save.c: New test.

Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r211798

10 years agobpabi.c (__gnu_uldivmod_helper): Remove.
Charles Baylis [Wed, 18 Jun 2014 15:44:45 +0000 (15:44 +0000)]
bpabi.c (__gnu_uldivmod_helper): Remove.

2014-06-18  Charles Baylis  <charles.baylis@linaro.org>

* config/arm/bpabi.c (__gnu_uldivmod_helper): Remove.

From-SVN: r211797

10 years agobpabi-v6m.S (__aeabi_uldivmod): Perform division using __udivmoddi4.
Charles Baylis [Wed, 18 Jun 2014 15:44:10 +0000 (15:44 +0000)]
bpabi-v6m.S (__aeabi_uldivmod): Perform division using __udivmoddi4.

2014-06-18  Charles Baylis  <charles.baylis@linaro.org>

* config/arm/bpabi-v6m.S (__aeabi_uldivmod): Perform division using
__udivmoddi4.

From-SVN: r211796

10 years agobpabi.S (__aeabi_ldivmod, [...]): Use .cfi_* directives for DWARF annotations.
Charles Baylis [Wed, 18 Jun 2014 15:43:35 +0000 (15:43 +0000)]
bpabi.S (__aeabi_ldivmod, [...]): Use .cfi_* directives for DWARF annotations.

2014-06-18  Charles Baylis  <charles.baylis@linaro.org>

* config/arm/bpabi.S (__aeabi_ldivmod, __aeabi_uldivmod,
push_for_divide, pop_for_divide): Use .cfi_* directives for DWARF
annotations. Fix DWARF information.

From-SVN: r211795

10 years agobpabi.S (__aeabi_ldivmod): Perform division using __udivmoddi4, and fixups for negati...
Charles Baylis [Wed, 18 Jun 2014 15:42:53 +0000 (15:42 +0000)]
bpabi.S (__aeabi_ldivmod): Perform division using __udivmoddi4, and fixups for negative operands.

2014-06-18  Charles Baylis  <charles.baylis@linaro.org>

* config/arm/bpabi.S (__aeabi_ldivmod): Perform division using
__udivmoddi4, and fixups for negative operands.

From-SVN: r211794

10 years agobpabi.S (__aeabi_ldivmod): Optimise stack manipulation.
Charles Baylis [Wed, 18 Jun 2014 15:42:21 +0000 (15:42 +0000)]
bpabi.S (__aeabi_ldivmod): Optimise stack manipulation.

2014-06-18  Charles Baylis  <charles.baylis@linaro.org>

* config/arm/bpabi.S (__aeabi_ldivmod): Optimise stack manipulation.

From-SVN: r211793

10 years agobpabi.S (__aeabi_uldivmod): Perform division using call to __udivmoddi4.
Charles Baylis [Wed, 18 Jun 2014 15:41:27 +0000 (15:41 +0000)]
bpabi.S (__aeabi_uldivmod): Perform division using call to __udivmoddi4.

2014-06-18  Charles Baylis  <charles.baylis@linaro.org>

* config/arm/bpabi.S (__aeabi_uldivmod): Perform division using call
to __udivmoddi4.

From-SVN: r211792

10 years agobpabi.S (__aeabi_uldivmod): Optimise stack pointer manipulation.
Charles Baylis [Wed, 18 Jun 2014 15:40:31 +0000 (15:40 +0000)]
bpabi.S (__aeabi_uldivmod): Optimise stack pointer manipulation.

2014-06-18  Charles Baylis  <charles.baylis@linaro.org>

* config/arm/bpabi.S (__aeabi_uldivmod): Optimise stack pointer
manipulation.

From-SVN: r211791

10 years agobpabi.S (__aeabi_uldivmod, [...]): Add comment describing register usage on function...
Charles Baylis [Wed, 18 Jun 2014 15:39:56 +0000 (15:39 +0000)]
bpabi.S (__aeabi_uldivmod, [...]): Add comment describing register usage on function entry and exit.

2014-06-18  Charles Baylis  <charles.baylis@linaro.org>

* config/arm/bpabi.S (__aeabi_uldivmod, __aeabi_ldivmod): Add comment
describing register usage on function entry and exit.

From-SVN: r211790

10 years agobpabi.S (__aeabi_uldivmod): Fix whitespace.
Charles Baylis [Wed, 18 Jun 2014 15:38:48 +0000 (15:38 +0000)]
bpabi.S (__aeabi_uldivmod): Fix whitespace.

2014-06-18  Charles Baylis  <charles.baylis@linaro.org>

* config/arm/bpabi.S (__aeabi_uldivmod): Fix whitespace.
(__aeabi_ldivmod): Fix whitespace.

From-SVN: r211789

10 years agomd.texi (Standard Names): Use @itemx for grouped items.
Andreas Schwab [Wed, 18 Jun 2014 15:01:32 +0000 (15:01 +0000)]
md.texi (Standard Names): Use @itemx for grouped items.

* doc/md.texi (Standard Names): Use @itemx for grouped items.
Remove blank line after @item.

From-SVN: r211788

10 years agore PR target/61545 (Miscompilation in libcap-ng)
Richard Henderson [Wed, 18 Jun 2014 14:27:55 +0000 (07:27 -0700)]
re PR target/61545 (Miscompilation in libcap-ng)

PR target/61545

* config/aarch64/aarch64.md (tlsdesc_small_<PTR>): Clobber CC_REGNUM.

From-SVN: r211785

10 years agoarm.c (neon_vector_mem_operand): Allow register POST_MODIFY for neon loads and stores.
Charles Baylis [Wed, 18 Jun 2014 13:42:44 +0000 (13:42 +0000)]
arm.c (neon_vector_mem_operand): Allow register POST_MODIFY for neon loads and stores.

2014-06-18  Charles Baylis  <charles.baylis@linaro.org>

* config/arm/arm.c (neon_vector_mem_operand): Allow register
POST_MODIFY for neon loads and stores.
(arm_print_operand): Output post-index register for neon loads and
stores.

From-SVN: r211783

10 years agotree-ssa-dce.c (perform_tree_ssa_dce): Fixup bogus commit.
Richard Biener [Wed, 18 Jun 2014 12:30:41 +0000 (12:30 +0000)]
tree-ssa-dce.c (perform_tree_ssa_dce): Fixup bogus commit.

2014-06-18  Richard Biener  <rguenther@suse.de>

* tree-ssa-dce.c (perform_tree_ssa_dce): Fixup bogus commit.

From-SVN: r211782

10 years agotree-pass.h (make_pass_dce_loop): Remove.
Richard Biener [Wed, 18 Jun 2014 11:45:17 +0000 (11:45 +0000)]
tree-pass.h (make_pass_dce_loop): Remove.

2014-06-18  Richard Biener  <rguenther@suse.de>

* tree-pass.h (make_pass_dce_loop): Remove.
* passes.def: Replace pass_dce_loop with pass_dce.
* tree-ssa-dce.c (perform_tree_ssa_dce): If something
changed free niter estimates and reset the scev cache.
(tree_ssa_dce_loop, pass_data_dce_loop, pass_dce_loop,
make_pass_dce_loop): Remove.
* tree-ssa-copy.c: Include tree-ssa-loop-niter.h.
(fini_copy_prop): Return whether something changed.  Always
let substitute_and_fold perform DCE and free niter estimates
and reset the scev cache if so.
(execute_copy_prop): If sth changed schedule cleanup-cfg.
(pass_data_copy_prop): Do not unconditionally schedule
cleanup-cfg or update-ssa.

* gcc.dg/vect/vect.exp: Remove dump-tree-dceloop-* processing.
* gcc.dg/vect/dump-tree-dceloop-pr26359.c: Rename to ...
* gcc.dg/vect/pr26359.c: ... this and adjust appropriately.

From-SVN: r211781

10 years agore PR tree-optimization/61518 (wrong code (by tree vectorizer) at -O3 on x86_64-linux...
Yuri Rumyantsev [Wed, 18 Jun 2014 11:40:59 +0000 (11:40 +0000)]
re PR tree-optimization/61518 (wrong code (by tree vectorizer) at -O3 on x86_64-linux-gnu)

        PR tree-optimization/61518
gcc/
        * tree-if-conv.c (is_cond_scalar_reduction): Add missed check that
        reduction var is used in reduction stmt or phi-function only.

gcc/testsuite/
        * gcc.dg/torture/pr61518.c: New test.

From-SVN: r211780

10 years ago[ARM] Fix check for __FAST_MATH in arm_neon.h
Kyrylo Tkachov [Wed, 18 Jun 2014 10:56:34 +0000 (10:56 +0000)]
[ARM] Fix check for __FAST_MATH in arm_neon.h

* config/arm/arm_neon.h (vadd_f32): Change #ifdef to __FAST_MATH.

From-SVN: r211779

10 years agore PR tree-optimization/61517 (wrong code at -Os and above on x86_64-linux-gnu)
Thomas Preud'homme [Wed, 18 Jun 2014 10:43:50 +0000 (10:43 +0000)]
re PR tree-optimization/61517 (wrong code at -Os and above on x86_64-linux-gnu)

2014-06-18  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR tree-optimization/61517
    * tree-ssa-math-opts.c (find_bswap_or_nop_1): Adapt to return a stmt
    whose rhs's first tree is the source expression instead of the
    expression itself.
    (find_bswap_or_nop): Likewise.
    (bsap_replace): Rename stmt in cur_stmt. Pass gsi by value and src as a
    gimple stmt whose rhs's first tree is the source. In the memory source
    case, move the stmt to be replaced close to one of the original load to
    avoid the problem of a store between the load and the stmt's original
    location.
    (pass_optimize_bswap::execute): Adapt to change in bswap_replace's
    signature.

    gcc/testsuite/
    * gcc.c-torture/execute/bswap-2.c (incorrect_read_le32): New.
    (incorrect_read_be32): Likewise.
    (main): Call incorrect_read_* to test stmt replacement is made by
    bswap at the right place.
    * gcc.c-torture/execute/pr61517.c: New test.

From-SVN: r211778

10 years agoUse strict_low_part for loading a constant only if it is cheaper
Andreas Schwab [Wed, 18 Jun 2014 10:37:14 +0000 (10:37 +0000)]
Use strict_low_part for loading a constant only if it is cheaper

PR rtl-optimization/54555
* postreload.c (move2add_use_add2_insn): Substitute
STRICT_LOW_PART only if it is cheaper.

testsuite/:
PR rtl-optimization/54555
* gcc.target/m68k/pr54555.c: New test.

From-SVN: r211777

10 years agoi386.md (*sibcall_memory): Rename from *sibcall_intern.
Uros Bizjak [Wed, 18 Jun 2014 10:32:15 +0000 (12:32 +0200)]
i386.md (*sibcall_memory): Rename from *sibcall_intern.

* config/i386/i386.md (*sibcall_memory): Rename from *sibcall_intern.
Do not use unspec as call operand.  Use memory_operand instead of
memory_nox32_operand and add "m" operand constraint.  Disable
pattern for TARGET_X32.
(*sibcall_pop_memory): Ditto.
(*sibcall_value_memory): Ditto.
(*sibcall_value_pop_memory): Ditto.
(sibcall peepholes): Merge SImode and DImode patterns using
W mode iterator.  Use memory_operand instead of memory_nox32_operand.
Disable pattern for TARGET_X32.  Check if eliminated register is
really dead after call insn.  Generate call RTX without unspec operand.
(sibcall_value peepholes): Ditto.
(sibcall_pop peepholes): Fix call insn RTXes.  Use memory_operand
instead of memory_nox32_operand.  Check if eliminated register is
really dead after call insn. Generate call RTX without unspec operand.
(sibcall_value_pop peepholes): Ditto.
* config/i386/predicates.md (memory_nox32_operand): Remove predicate.

From-SVN: r211776

10 years agore PR target/61544 (ICE due to thumb1_reorg function mishandles label type insn)
Terry Guo [Wed, 18 Jun 2014 10:11:08 +0000 (10:11 +0000)]
re PR target/61544 (ICE due to thumb1_reorg function mishandles label type insn)

2014-06-18  Terry Guo  <terry.guo@arm.com>

PR target/61544
* config/arm/arm.c (thumb1_reorg): Move to next basic block if we
reach the head.

From-SVN: r211775

10 years agoFix libstdc++/61536 - Export out of line typeinfo comparison operators
Paolo Carlini [Wed, 18 Jun 2014 09:44:15 +0000 (09:44 +0000)]
Fix libstdc++/61536 - Export out of line typeinfo comparison operators

2014-06-18  Paolo Carlini  <paolo.carlini@oracle.com>
    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

PR libstdc++/61536
* config/abi/pre/gnu.ver: Adjust for out of line comparisons.

Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
From-SVN: r211774

10 years agoimprove sloc assignment on bind_expr entry/exit code
Olivier Hainque [Wed, 18 Jun 2014 09:00:22 +0000 (09:00 +0000)]
improve sloc assignment on bind_expr entry/exit code

2014-06-18  Olivier Hainque <hainque@adacore.com>

        improve sloc assignment on bind_expr entry/exit code

        gcc/
        * tree-core.h (tree_block): Add an "end_locus" field, allowing
        memorization of the end of block source location.
        * tree.h (BLOCK_SOURCE_END_LOCATION): New accessor.
        * gimplify.c (gimplify_bind_expr): Propagate the block start and
        end source location info we have on the block entry/exit code we
        generate.

        testsuite/
        * gnat.dg/blocklocs.adb: New test.

From-SVN: r211773

10 years agocommon.opt (fssa-phiopt): New option.
Richard Biener [Wed, 18 Jun 2014 08:33:44 +0000 (08:33 +0000)]
common.opt (fssa-phiopt): New option.

2014-06-18  Richard Biener  <rguenther@suse.de>

* common.opt (fssa-phiopt): New option.
* opts.c (default_options_table): Enable -fssa-phiopt with -O1+
but not with -Og.
* tree-ssa-phiopt.c (pass_phiopt): Add gate method.
* doc/invoke.texi (-fssa-phiopt): Document.

From-SVN: r211772

10 years ago[genattrtab] Fix memory corruption, allocate enough memory for all bypassed reservations
Kyrylo Tkachov [Wed, 18 Jun 2014 08:07:16 +0000 (08:07 +0000)]
[genattrtab] Fix memory corruption, allocate enough memory for all bypassed reservations

* genattrtab.c (n_bypassed): New variable.
(process_bypasses): Initialise n_bypassed.
Count number of bypassed reservations.
(make_automaton_attrs): Allocate space for bypassed reservations
rather than number of bypasses.

From-SVN: r211771

10 years agotree-ssa-propagate.c (replace_phi_args_in): Return whether we propagated anything.
Richard Biener [Wed, 18 Jun 2014 07:58:36 +0000 (07:58 +0000)]
tree-ssa-propagate.c (replace_phi_args_in): Return whether we propagated anything.

2014-06-18  Richard Biener  <rguenther@suse.de>

* tree-ssa-propagate.c (replace_phi_args_in): Return whether
we propagated anything.
(substitute_and_fold_dom_walker::before_dom_children): Something
changed if we propagated into PHI arguments.
* tree-ssa-pre.c (eliminate): Always schedule cfg-cleanup if
we removed a stmt.

From-SVN: r211770

10 years agore PR tree-optimization/52252 (An opportunity for x86 gcc vectorizer (gain up to...
Evgeny Stupachenko [Wed, 18 Jun 2014 07:46:18 +0000 (07:46 +0000)]
re PR tree-optimization/52252 (An opportunity for x86 gcc vectorizer (gain up to 3 times))

gcc/
* config/i386/i386.c (ix86_reassociation_width): Add alternative for
vector case.
* config/i386/i386.h (TARGET_VECTOR_PARALLEL_EXECUTION): New.
* config/i386/x86-tune.def (X86_TUNE_VECTOR_PARALLEL_EXECUTION): New.
* tree-vect-data-refs.c (vect_shift_permute_load_chain): New.
Introduces alternative way of loads group permutaions.
(vect_transform_grouped_load): Try alternative way of permutations.

gcc/testsuite/
PR tree-optimization/52252
* gcc.target/i386/pr52252-atom.c: Test on loads group of size 3.
* gcc.target/i386/pr52252-core.c: Ditto.

PR tree-optimization/61403
* gcc.target/i386/pr61403.c: Test on loads and stores group of size 3.

From-SVN: r211769

10 years agogimplify.c (omp_notice_variable): If n is non-NULL and no flags change in ORT_TARGET...
Jakub Jelinek [Wed, 18 Jun 2014 07:16:12 +0000 (09:16 +0200)]
gimplify.c (omp_notice_variable): If n is non-NULL and no flags change in ORT_TARGET region, don't jump to do_outer.

* gimplify.c (omp_notice_variable): If n is non-NULL
and no flags change in ORT_TARGET region, don't jump to
do_outer.
(struct gimplify_adjust_omp_clauses_data): New type.
(gimplify_adjust_omp_clauses_1): Adjust for data being
a struct gimplify_adjust_omp_clauses_data pointer instead
of tree *.  Pass pre_p as a new argument to
lang_hooks.decls.omp_finish_clause hook.
(gimplify_adjust_omp_clauses): Add pre_p argument, adjust
splay_tree_foreach to pass both list_p and pre_p.
(gimplify_omp_parallel, gimplify_omp_task, gimplify_omp_for,
gimplify_omp_workshare, gimplify_omp_target_update): Adjust
gimplify_adjust_omp_clauses callers.
* langhooks.c (lhd_omp_finish_clause): New function.
* langhooks-def.h (lhd_omp_finish_clause): New prototype.
(LANG_HOOKS_OMP_FINISH_CLAUSE): Define to lhd_omp_finish_clause.
* langhooks.h (struct lang_hooks_for_decls): Add a new
gimple_seq * argument to omp_finish_clause hook.
* omp-low.c (scan_sharing_clauses): Call scan_omp_op on
non-DECL_P OMP_CLAUSE_DECL if ctx->outer.
(scan_omp_parallel, lower_omp_for): When adding
_LOOPTEMP_ clause var, add it to outer ctx's decl_map
as identity.
* tree-core.h (OMP_CLAUSE_MAP_TO_PSET): New map kind.
* tree-nested.c (convert_nonlocal_omp_clauses,
convert_local_omp_clauses): Handle various OpenMP 4.0 clauses.
* tree-pretty-print.c (dump_omp_clause): Handle
OMP_CLAUSE_MAP_TO_PSET.
gcc/cp/
* cp-gimplify.c (cxx_omp_finish_clause): Add a gimple_seq *
argument.
* cp-tree.h (cxx_omp_finish_clause): Adjust prototype.
gcc/fortran/
* cpp.c (cpp_define_builtins): Change _OPENMP macro to
201307.
* dump-parse-tree.c (show_omp_namelist): Add list_type
argument.  Adjust for rop being u.reduction_op now,
handle depend_op or map_op.
(show_omp_node): Adjust callers.  Print some new
OpenMP 4.0 clauses, adjust for OMP_LIST_DEPEND_{IN,OUT}
becoming a single OMP_LIST_DEPEND.
* f95-lang.c (gfc_handle_omp_declare_target_attribute): New
function.
(gfc_attribute_table): New variable.
(LANG_HOOKS_OMP_FINISH_CLAUSE, LANG_HOOKS_ATTRIBUTE_TABLE): Redefine.
* frontend-passes.c (gfc_code_walker): Handle new OpenMP target
EXEC_OMP_* codes and new clauses.
* gfortran.h (gfc_statement): Add ST_OMP_TARGET, ST_OMP_END_TARGET,
ST_OMP_TARGET_DATA, ST_OMP_END_TARGET_DATA, ST_OMP_TARGET_UPDATE,
ST_OMP_DECLARE_TARGET, ST_OMP_TEAMS, ST_OMP_END_TEAMS,
ST_OMP_DISTRIBUTE, ST_OMP_END_DISTRIBUTE, ST_OMP_DISTRIBUTE_SIMD,
ST_OMP_END_DISTRIBUTE_SIMD, ST_OMP_DISTRIBUTE_PARALLEL_DO,
ST_OMP_END_DISTRIBUTE_PARALLEL_DO, ST_OMP_DISTRIBUTE_PARALLEL_DO_SIMD,
ST_OMP_END_DISTRIBUTE_PARALLEL_DO_SIMD, ST_OMP_TARGET_TEAMS,
ST_OMP_END_TARGET_TEAMS, ST_OMP_TEAMS_DISTRIBUTE,
ST_OMP_END_TEAMS_DISTRIBUTE, ST_OMP_TEAMS_DISTRIBUTE_SIMD,
ST_OMP_END_TEAMS_DISTRIBUTE_SIMD, ST_OMP_TARGET_TEAMS_DISTRIBUTE,
ST_OMP_END_TARGET_TEAMS_DISTRIBUTE,
ST_OMP_TARGET_TEAMS_DISTRIBUTE_SIMD,
ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_SIMD,
ST_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO,
ST_OMP_END_TEAMS_DISTRIBUTE_PARALLEL_DO,
ST_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO,
ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO,
ST_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
ST_OMP_END_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
ST_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD and
ST_OMP_END_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD.
(symbol_attribute): Add omp_declare_target field.
(gfc_omp_depend_op, gfc_omp_map_op): New enums.
(gfc_omp_namelist): Replace rop field with union
containing reduction_op, depend_op and map_op.
(OMP_LIST_DEPEND_IN, OMP_LIST_DEPEND_OUT): Remove.
(OMP_LIST_DEPEND, OMP_LIST_MAP, OMP_LIST_TO, OMP_LIST_FROM): New.
(gfc_omp_clauses): Add num_teams, device, thread_limit,
dist_sched_kind, dist_chunk_size fields.
(gfc_common_head): Add omp_declare_target field.
(gfc_exec_op): Add EXEC_OMP_TARGET, EXEC_OMP_TARGET_DATA,
EXEC_OMP_TEAMS, EXEC_OMP_DISTRIBUTE, EXEC_OMP_DISTRIBUTE_SIMD,
EXEC_OMP_DISTRIBUTE_PARALLEL_DO, EXEC_OMP_DISTRIBUTE_PARALLEL_DO_SIMD,
EXEC_OMP_TARGET_TEAMS, EXEC_OMP_TEAMS_DISTRIBUTE,
EXEC_OMP_TEAMS_DISTRIBUTE_SIMD, EXEC_OMP_TARGET_TEAMS_DISTRIBUTE,
EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_SIMD,
EXEC_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO,
EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO,
EXEC_OMP_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD,
EXEC_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_DO_SIMD and
EXEC_OMP_TARGET_UPDATE.
(gfc_add_omp_declare_target): New prototype.
* match.h (gfc_match_omp_declare_target, gfc_match_omp_distribute,
gfc_match_omp_distribute_parallel_do,
gfc_match_omp_distribute_parallel_do_simd,
gfc_match_omp_distribute_simd, gfc_match_omp_target,
gfc_match_omp_target_data, gfc_match_omp_target_teams,
gfc_match_omp_target_teams_distribute,
gfc_match_omp_target_teams_distribute_parallel_do,
gfc_match_omp_target_teams_distribute_parallel_do_simd,
gfc_match_omp_target_teams_distribute_simd,
gfc_match_omp_target_update, gfc_match_omp_teams,
gfc_match_omp_teams_distribute,
gfc_match_omp_teams_distribute_parallel_do,
gfc_match_omp_teams_distribute_parallel_do_simd,
gfc_match_omp_teams_distribute_simd): New prototypes.
* module.c (ab_attribute): Add AB_OMP_DECLARE_TARGET.
(attr_bits): Likewise.
(mio_symbol_attribute): Handle omp_declare_target attribute.
(gfc_free_omp_clauses): Free num_teams, device, thread_limit
and dist_chunk_size expressions.
(OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE, OMP_CLAUSE_LASTPRIVATE,
OMP_CLAUSE_COPYPRIVATE, OMP_CLAUSE_SHARED, OMP_CLAUSE_COPYIN,
OMP_CLAUSE_REDUCTION, OMP_CLAUSE_IF, OMP_CLAUSE_NUM_THREADS,
OMP_CLAUSE_SCHEDULE, OMP_CLAUSE_DEFAULT, OMP_CLAUSE_ORDERED,
OMP_CLAUSE_COLLAPSE, OMP_CLAUSE_UNTIED, OMP_CLAUSE_FINAL,
OMP_CLAUSE_MERGEABLE, OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND,
OMP_CLAUSE_INBRANCH, OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH,
OMP_CLAUSE_PROC_BIND, OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN,
OMP_CLAUSE_UNIFORM): Use 1U instead of 1.
(OMP_CLAUSE_DEVICE, OMP_CLAUSE_MAP, OMP_CLAUSE_TO, OMP_CLAUSE_FROM,
OMP_CLAUSE_NUM_TEAMS, OMP_CLAUSE_THREAD_LIMIT,
OMP_CLAUSE_DIST_SCHEDULE): Define.
(gfc_match_omp_clauses): Change mask parameter to unsigned int.
Adjust for rop becoming u.reduction_op.  Disallow inbranch with
notinbranch.  For depend clause, always create OMP_LIST_DEPEND
and fill in u.depend_op.  Handle num_teams, device, map,
to, from, thread_limit and dist_schedule clauses.
(OMP_DECLARE_SIMD_CLAUSES): Or in OMP_CLAUSE_INBRANCH and
OMP_CLAUSE_NOTINBRANCH.
(OMP_TARGET_CLAUSES, OMP_TARGET_DATA_CLAUSES,
OMP_TARGET_UPDATE_CLAUSES, OMP_TEAMS_CLAUSES,
OMP_DISTRIBUTE_CLAUSES): Define.
(match_omp): New function.
(gfc_match_omp_do, gfc_match_omp_do_simd, gfc_match_omp_parallel,
gfc_match_omp_parallel_do, gfc_match_omp_parallel_do_simd,
gfc_match_omp_parallel_sections, gfc_match_omp_parallel_workshare,
gfc_match_omp_sections, gfc_match_omp_simd, gfc_match_omp_single,
gfc_match_omp_task): Rewritten using match_omp.
(gfc_match_omp_threadprivate, gfc_match_omp_declare_reduction):
Diagnose if the directives are followed by unexpected junk.
(gfc_match_omp_distribute, gfc_match_omp_distribute_parallel_do,
gfc_match_omp_distribute_parallel_do_simd,
gfc_match_omp_distrbute_simd, gfc_match_omp_declare_target,
gfc_match_omp_target, gfc_match_omp_target_data,
gfc_match_omp_target_teams, gfc_match_omp_target_teams_distribute,
gfc_match_omp_target_teams_distribute_parallel_do,
gfc_match_omp_target_teams_distribute_parallel_do_simd,
gfc_match_omp_target_teams_distrbute_simd, gfc_match_omp_target_update,
gfc_match_omp_teams, gfc_match_omp_teams_distribute,
gfc_match_omp_teams_distribute_parallel_do,
gfc_match_omp_teams_distribute_parallel_do_simd,
gfc_match_omp_teams_distrbute_simd): New functions.
* openmp.c (resolve_omp_clauses): Adjust for
OMP_LIST_DEPEND_{IN,OUT} being changed to OMP_LIST_DEPEND.  Handle
OMP_LIST_MAP, OMP_LIST_FROM, OMP_LIST_TO, num_teams, device,
dist_chunk_size and thread_limit.
(gfc_resolve_omp_parallel_blocks): Only put sharing clauses into
ctx.sharing_clauses.  Call gfc_resolve_omp_do_blocks for various
new EXEC_OMP_* codes.
(resolve_omp_do): Handle various new EXEC_OMP_* codes.
(gfc_resolve_omp_directive): Likewise.
(gfc_resolve_omp_declare_simd): Add missing space to diagnostics.
* parse.c (decode_omp_directive): Handle parsing of OpenMP 4.0
offloading related directives.
(case_executable): Add ST_OMP_TARGET_UPDATE.
(case_exec_markers): Add ST_OMP_TARGET*, ST_OMP_TEAMS*,
ST_OMP_DISTRIBUTE*.
(case_decl): Add ST_OMP_DECLARE_TARGET.
(gfc_ascii_statement): Handle new ST_OMP_* codes.
(parse_omp_do): Handle various new ST_OMP_* codes.
(parse_executable): Likewise.
* resolve.c (gfc_resolve_blocks): Handle various new EXEC_OMP_*
codes.
(resolve_code): Likewise.
(resolve_symbol): Change that !$OMP DECLARE TARGET variables
are saved.
* st.c (gfc_free_statement): Handle various new EXEC_OMP_* codes.
* symbol.c (check_conflict): Check omp_declare_target conflicts.
(gfc_add_omp_declare_target): New function.
(gfc_copy_attr): Copy omp_declare_target.
* trans.c (trans_code): Handle various new EXEC_OMP_* codes.
* trans-common.c (build_common_decl): Add "omp declare target"
attribute if needed.
* trans-decl.c (add_attributes_to_decl): Likewise.
* trans.h (gfc_omp_finish_clause): New prototype.
* trans-openmp.c (gfc_omp_finish_clause): New function.
(gfc_trans_omp_reduction_list): Adjust for rop being renamed
to u.reduction_op.
(gfc_trans_omp_clauses): Adjust for OMP_LIST_DEPEND_{IN,OUT}
change to OMP_LIST_DEPEND and fix up depend handling.
Handle OMP_LIST_MAP, OMP_LIST_TO, OMP_LIST_FROM, num_teams,
thread_limit, device, dist_chunk_size and dist_sched_kind.
(gfc_trans_omp_do): Handle EXEC_OMP_DISTRIBUTE.
(GFC_OMP_SPLIT_DISTRIBUTE, GFC_OMP_SPLIT_TEAMS,
GFC_OMP_SPLIT_TARGET, GFC_OMP_SPLIT_NUM, GFC_OMP_MASK_DISTRIBUTE,
GFC_OMP_MASK_TEAMS, GFC_OMP_MASK_TARGET, GFC_OMP_MASK_NUM): New.
(gfc_split_omp_clauses): Handle splitting of clauses for new
EXEC_OMP_* codes.
(gfc_trans_omp_do_simd): Add pblock argument, adjust for being
callable for combined constructs.
(gfc_trans_omp_parallel_do, gfc_trans_omp_parallel_do_simd): Likewise.
(gfc_trans_omp_distribute, gfc_trans_omp_teams,
gfc_trans_omp_target, gfc_trans_omp_target_data,
gfc_trans_omp_target_update): New functions.
(gfc_trans_omp_directive): Adjust gfc_trans_omp_* callers, handle
new EXEC_OMP_* codes.
gcc/testsuite/
* gfortran.dg/gomp/declare-simd-1.f90: New test.
* gfortran.dg/gomp/depend-1.f90: New test.
* gfortran.dg/gomp/target1.f90: New test.
* gfortran.dg/gomp/target2.f90: New test.
* gfortran.dg/gomp/target3.f90: New test.
* gfortran.dg/gomp/udr4.f90: Adjust expected diagnostics.
* gfortran.dg/openmp-define-3.f90: Expect _OPENMP 201307 instead of
201107.
libgomp/
* omp_lib.f90.in (openmp_version): Set to 201307.
* omp_lib.h.in (openmp_version): Likewise.
* testsuite/libgomp.c/target-8.c: New test.
* testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
and inbranch clauses.
* testsuite/libgomp.fortran/depend-3.f90: New test.
* testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
openmp_version.
* testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
* testsuite/libgomp.fortran/target1.f90: New test.
* testsuite/libgomp.fortran/target2.f90: New test.
* testsuite/libgomp.fortran/target3.f90: New test.
* testsuite/libgomp.fortran/target4.f90: New test.
* testsuite/libgomp.fortran/target5.f90: New test.
* testsuite/libgomp.fortran/target6.f90: New test.
* testsuite/libgomp.fortran/target7.f90: New test.

From-SVN: r211768

10 years agore PR fortran/61126 (gfortran does not enable -Wununused-parameter with -Wextra)
Tobias Burnus [Wed, 18 Jun 2014 06:22:11 +0000 (08:22 +0200)]
re PR fortran/61126 (gfortran does not enable -Wununused-parameter with -Wextra)

2014-06-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/61126
        * invoke.texi (-Wunused-parameter): Make clearer when
        -Wextra implies this option.

From-SVN: r211767

10 years ago[multiple changes]
Tobias Burnus [Wed, 18 Jun 2014 06:09:28 +0000 (08:09 +0200)]
[multiple changes]

2014-06-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>

        PR fortran/61126
        * options.c (gfc_handle_option): Remove call to
        handle_generated_option.

2014-06-18  Dominique d'Humieres <dominiq@lps.ens.fr>

        PR fortran/61126
        * gfortran.dg/wextra_1.f: Add -Wall to dg-options.

From-SVN: r211766

10 years agoDaily bump.
GCC Administrator [Wed, 18 Jun 2014 00:16:50 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r211764

10 years agotree-dfa.h (get_addr_base_and_unit_offset_1): Move from here.
Andrew MacLeod [Tue, 17 Jun 2014 23:20:30 +0000 (23:20 +0000)]
tree-dfa.h (get_addr_base_and_unit_offset_1): Move from here.

* tree-dfa.h (get_addr_base_and_unit_offset_1): Move from here.
* tree-dfa.c (get_addr_base_and_unit_offset_1): To here.

From-SVN: r211757

10 years agore PR c++/60605 (incorrect diagosis of default template argument for function declara...
Jason Merrill [Tue, 17 Jun 2014 23:09:20 +0000 (19:09 -0400)]
re PR c++/60605 (incorrect diagosis of default template argument for function declaration inside class template member function)

PR c++/60605
* pt.c (check_default_tmpl_args): Check DECL_LOCAL_FUNCTION_P.

From-SVN: r211754

10 years agocheck.c (gfc_check_atomic, [...]): Use argument for GFC_ISYM_CAF_GET.
Tobias Burnus [Tue, 17 Jun 2014 20:54:14 +0000 (22:54 +0200)]
check.c (gfc_check_atomic, [...]): Use argument for GFC_ISYM_CAF_GET.

gcc/fortran/
2014-06-17  Tobias Burnus  <burnus@net-b.de>

        * check.c (gfc_check_atomic, gfc_check_atomic_def):
        Use argument for GFC_ISYM_CAF_GET.
        * resolve.c (resolve_variable): Enable CAF_GET insertion.
        (resolve_lock_unlock): Remove GFC_ISYM_CAF_GET.
        (resolve_ordinary_assign): Enable CAF_SEND insertion.
        * trans-const.c (gfc_build_string_const,
        gfc_build_wide_string_const): Set TYPE_STRING_FLAG.
        * trans-decl.c (gfor_fndecl_caf_get, gfor_fndecl_caf_send,
        gfor_fndecl_caf_sendget): New global variables.
        (gfc_build_builtin_function_decls): Initialize them;
        update co_min/max/sum initialization.
        * trans-expr.c (gfc_get_tree_for_caf_expr): Renamed from
        get_tree_for_caf_expr and removed static.
        (gfc_conv_procedure_call): Update call.
        * trans-intrinsic.c (caf_get_image_index,
        conv_caf_vector_subscript_elem, conv_caf_vector_subscript,
        get_caf_token_offset, gfc_conv_intrinsic_caf_get,
        conv_caf_send): New.
        (gfc_conv_intrinsic_function, gfc_conv_intrinsic_subroutine,
        gfc_walk_intrinsic_function): Handle CAF_GET and CAF_SEND.
        (conv_co_minmaxsum): Update call for remove unused vector
        subscript.
        (conv_intrinsic_atomic_def, conv_intrinsic_atomic_ref):
        Skip a CAF_GET of the argument.
        * trans-types.c (gfc_get_caf_vector_type): New.
        * trans-types.h (gfc_get_caf_vector_type): New.
        * trans.h (gfor_fndecl_caf_get, gfor_fndecl_caf_send,
        gfor_fndecl_caf_sendget): New global variables.
        (gfc_get_tree_for_caf_expr): New prototypes.

libgfortran/
2014-06-17  Tobias Burnus  <burnus@net-b.de>

        * caf/libcaf.h (gfc_descriptor_t): New typedef.
        (caf_vector_t): Update.
        (_gfortran_caf_co_sum, _gfortran_caf_co_max, _gfortran_caf_co_min):
        Remove vector-subscript argument.
        (_gfortran_caf_co_send, _gfortran_caf_co_get,
        _gfortran_caf_co_sendget): New.
        * caf/single.c (_gfortran_caf_co_sum, _gfortran_caf_co_max,
        _gfortran_caf_co_min): Remove vector-subscript argument.
        (_gfortran_caf_co_send, _gfortran_caf_co_get,
        _gfortran_caf_co_sendget): New.

gcc/testsuite/
2014-06-17  Tobias Burnus  <burnus@net-b.de>
            Alessandro Fanfarillo <alessandro.fanfarillo@gmail.com>

        * gfortran.dg/coarray/send_array.f90: New.
        * gfortran.dg/coarray/get_array.f90: New.
        * gfortran.dg/coarray/sendget_array.f90: New.
        * gfortran.dg/coarray/collectives_1.f90: Correct subroutine
        names.
        * gfortran.dg/coarray/collectives_2.f90: New.

Co-Authored-By: Alessandro Fanfarillo <alessandro.fanfarillo@gmail.com>
From-SVN: r211748

10 years agoMakefile.am (libatomic_la_LDFLAGS): Add lt_host_flags.
Kai Tietz [Tue, 17 Jun 2014 20:43:18 +0000 (22:43 +0200)]
Makefile.am (libatomic_la_LDFLAGS): Add lt_host_flags.

* Makefile.am (libatomic_la_LDFLAGS): Add lt_host_flags.
* configure.ac (ACX_LT_HOST_FLAGS): New.
(target_thread_file): New.
* configure.tgt (mingw): Add mingw support.
* config/mingw/host-config.h: New file.
* config/mingw/lock.c: Likewise.
* Makefile.in: Regenerated.
* configure: Likewise.
* aclocal.m4: Likewise.
* testsuite/Makefile.in: Likewise.

From-SVN: r211747

10 years agoFix dot dump bug
Xinliang David Li [Tue, 17 Jun 2014 20:39:55 +0000 (20:39 +0000)]
Fix dot dump bug

From-SVN: r211746

10 years agoCompile gcc.target/i386/fuse-caller-save.c with -fomit-frame-pointer (PR target/61533)
Rainer Orth [Tue, 17 Jun 2014 13:58:11 +0000 (13:58 +0000)]
Compile gcc.target/i386/fuse-caller-save.c with -fomit-frame-pointer (PR target/61533)

PR target/61533
* gcc.target/i386/fuse-caller-save.c: Add -fomit-frame-pointer to
dg-options.

From-SVN: r211740

10 years agogenopinit.c (main): Use vec<>::qsort method.
Richard Biener [Tue, 17 Jun 2014 13:15:53 +0000 (13:15 +0000)]
genopinit.c (main): Use vec<>::qsort method.

2014-06-17  Richard Biener  <rguenther@suse.de>

* genopinit.c (main): Use vec<>::qsort method.
* tree-ssa-loop-niter.c (discover_iteration_bound_by_body_walk):
Likewise.
* tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Likewise.

From-SVN: r211738

10 years agoClean up ST_REGS handling in the MIPS backend.
Matthew Fortune [Tue, 17 Jun 2014 12:46:47 +0000 (12:46 +0000)]
Clean up ST_REGS handling in the MIPS backend.

gcc/

* config/mips/mips-protos.h (mips_expand_fcc_reload): Remove.
* config/mips/mips.c (mips_expand_fcc_reload): Remove.
(mips_move_to_gpr_cost): Remove ST_REGS case.
(mips_move_from_gpr_cost): Likewise.
(mips_register_move_cost): Likewise.
(mips_secondary_reload_class): Likewise.

From-SVN: r211737

10 years agopasses.def (pass_all_early_optimizations): Remove copy-prop pass.
Richard Biener [Tue, 17 Jun 2014 12:36:34 +0000 (12:36 +0000)]
passes.def (pass_all_early_optimizations): Remove copy-prop pass.

2014-06-17  Richard Biener  <rguenther@suse.de>

* passes.def (pass_all_early_optimizations): Remove copy-prop pass.
(pass_all_optimizations): Move 3rd copy-prop pass from after
fre to before ifcombine/phiopt.

From-SVN: r211736

10 years agotree-switch-conversion.c (collect_switch_conv_info): Simplify and allow all blocks...
Richard Biener [Tue, 17 Jun 2014 12:34:49 +0000 (12:34 +0000)]
tree-switch-conversion.c (collect_switch_conv_info): Simplify and allow all blocks to be forwarders.

2014-06-17  Richard Biener  <rguenther@suse.de>

* tree-switch-conversion.c (collect_switch_conv_info): Simplify
and allow all blocks to be forwarders.

From-SVN: r211735

10 years agopr61335.f90 (cp_unit_create): Initialize unit_id and kind_id to zero.
Uros Bizjak [Tue, 17 Jun 2014 12:30:54 +0000 (14:30 +0200)]
pr61335.f90 (cp_unit_create): Initialize unit_id and kind_id to zero.

* gfortran.dg/pr61335.f90 (cp_unit_create): Initialize
unit_id and kind_id to zero.

From-SVN: r211734

10 years agore PR target/61483 ([AArch64] builtin va_start incorrectly initializes the field...
Yufeng Zhang [Tue, 17 Jun 2014 09:39:22 +0000 (09:39 +0000)]
re PR target/61483 ([AArch64] builtin va_start incorrectly initializes the field of va_list for incoming unnamed arguments on the stack)

gcc/

PR target/61483
* config/aarch64/aarch64.c (aarch64_layout_arg): Add new local
variable 'size'; calculate 'size' right in the front; use
'size' to compute 'nregs' (when 'allocate_ncrn != 0') and
pcum->aapcs_stack_words.

gcc/testsuite/

PR target/61483
* gcc.target/aarch64/aapcs64/type-def.h (struct hfa_fx2_t): New type.
* gcc.target/aarch64/aapcs64/va_arg-13.c: New test.
* gcc.target/aarch64/aapcs64/va_arg-14.c: Ditto.
* gcc.target/aarch64/aapcs64/va_arg-15.c: Ditto.

From-SVN: r211733

10 years agomsp430.md (mulhisi3): Add a NOP after the DINT.
Nick Clifton [Tue, 17 Jun 2014 09:33:47 +0000 (09:33 +0000)]
msp430.md (mulhisi3): Add a NOP after the DINT.

* config/msp430/msp430.md (mulhisi3): Add a NOP after the DINT.
(umulhi3, mulsidi3, umulsidi3): Likewise.

From-SVN: r211730

10 years agore PR lto/61012 (lto1: errors during merging of translation units (error: variable...
Richard Biener [Tue, 17 Jun 2014 09:07:41 +0000 (09:07 +0000)]
re PR lto/61012 (lto1: errors during merging of translation units (error: variable ‘link’ redeclared as function))

2014-06-17  Richard Biener  <rguenther@suse.de>

PR lto/61012
* gcc.dg/lto/pr61526_0.c: New testcase.
* gcc.dg/lto/pr61526_1.c: Likewise.

From-SVN: r211728

10 years ago[PR middle-end/61508] fold-const.c:14863:55: error: cannot convert 'const char*'...
Thomas Schwinge [Tue, 17 Jun 2014 09:02:52 +0000 (11:02 +0200)]
[PR middle-end/61508] fold-const.c:14863:55: error: cannot convert 'const char*' to 'const_tree

gcc/
* fold-const.c (fold_checksum_tree) <TS_DECL_WITH_VIS>: Remove
check for section name.

From-SVN: r211727

10 years agotree-ssa-propagate.c: Include domwalk.h.
Richard Biener [Tue, 17 Jun 2014 07:42:47 +0000 (07:42 +0000)]
tree-ssa-propagate.c: Include domwalk.h.

2014-06-17  Richard Biener  <rguenther@suse.de>

* tree-ssa-propagate.c: Include domwalk.h.
(substitute_and_fold): Outline main worker into a domwalker ...
(substitute_and_fold_dom_walker::before_dom_children): ... here.
Schedule stmts we can fully propagate for removal.  Remove
poor-mans DCE.
(substitute_and_fold): Apply a dominator walk to perform
substitution.  Process stmts scheduled for removal here.

* gcc.dg/tree-ssa/20041122-1.c: Adjust.
* gcc.dg/tree-ssa/forwprop-21.c: Likewise.
* gcc.dg/tree-ssa/vrp35.c: Revert previous adjustments.
* gcc.dg/tree-ssa/vrp36.c: Likewise.
* gcc.dg/vect/nodump-forwprop-22.c: Adjust.

From-SVN: r211725

10 years agotree-ssa-loop-im.c (determine_max_movement): Adjust cost of PHI node moving.
Richard Biener [Tue, 17 Jun 2014 07:37:24 +0000 (07:37 +0000)]
tree-ssa-loop-im.c (determine_max_movement): Adjust cost of PHI node moving.

2014-06-17  Richard Biener  <rguenther@suse.de>

* tree-ssa-loop-im.c (determine_max_movement): Adjust cost
of PHI node moving.

* gcc.dg/tree-ssa/ssa-lim-12.c: New testcase.

From-SVN: r211724

10 years agoRotate ChangeLog for 2013.
Richard Sandiford [Tue, 17 Jun 2014 03:55:59 +0000 (03:55 +0000)]
Rotate ChangeLog for 2013.

From-SVN: r211722

10 years agoIntroduce xmallocarray, an overflow checking variant of xmalloc.
Janne Blomqvist [Tue, 17 Jun 2014 03:50:34 +0000 (06:50 +0300)]
Introduce xmallocarray, an overflow checking variant of xmalloc.

2014-06-17  Janne Blomqvist  <jb@gcc.gnu.org>

* libgfortran.h (xmallocarray): New prototype.
* runtime/memory.c (xmallocarray): New function.
(xcalloc): Check for nonzero separately instead of multiplying.
* generated/*.c: Regenerated.
* intrinsics/cshift0.c (cshift0): Call xmallocarray instead of
xmalloc.
* intrinsics/eoshift0.c (eoshift0): Likewise.
* intrinsics/eoshift2.c (eoshift2): Likewise.
* intrinsics/pack_generic.c (pack_internal): Likewise.
(pack_s_internal): Likewise.
* intrinsics/reshape_generic.c (reshape_internal): Likewise.
* intrinsics/spread_generic.c (spread_internal): Likewise.
(spread_internal_scalar): Likewise.
* intrinsics/string_intrinsics_inc.c (string_trim): Likewise.
(string_minmax): Likewise.
* intrinsics/transpose_generic.c (transpose_internal): Likewise.
* intrinsics/unpack_generic.c (unpack_internal): Likewise.
* io/list_read.c (nml_touch_nodes): Don't cast xmalloc return value.
* io/transfer.c (st_set_nml_var): Call xmallocarray instead of
xmalloc.
* io/unit.c (get_internal_unit): Likewise.
(filename_from_unit): Don't cast xmalloc return value.
* io/write.c (nml_write_obj): Likewise, formatting.
* m4/bessel.m4 (bessel_jn_r'rtype_kind`): Call xmallocarray
instead of xmalloc.
(besse_yn_r'rtype_kind`): Likewise.
* m4/cshift1.m4 (cshift1): Likewise.
* m4/eoshift1.m4 (eoshift1): Likewise.
* m4/eoshift3.m4 (eoshift3): Likewise.
* m4/iforeach.m4: Likewise.
* m4/ifunction.m4: Likewise.
* m4/ifunction_logical.m4 (name`'rtype_qual`_'atype_code):
Likewise.
* m4/in_pack.m4 (internal_pack_'rtype_ccode`): Likewise.
* m4/matmul.m4 (matmul_'rtype_code`): Likewise.
* m4/matmull.m4 (matmul_'rtype_code`): Likewise.
* m4/pack.m4 (pack_'rtype_code`): Likewise.
* m4/reshape.m4 (reshape_'rtype_ccode`): Likewise.
* m4/shape.m4 (shape_'rtype_kind`): Likewise.
* m4/spread.m4 (spread_'rtype_code`): Likewise.
(spread_scalar_'rtype_code`): Likewise.
* m4/transpose.m4 (transpose_'rtype_code`): Likewise.
* m4/unpack.m4 (unpack0_'rtype_code`): Likewise.
(unpack1_'rtype_code`): Likewise.
* runtime/convert_char.c (convert_char1_to_char4): Likewise.
(convert_char4_to_char1): Simplify.
* runtime/environ.c (init_unformatted): Call xmallocarray instead
of xmalloc.
* runtime/in_pack_generic.c (internal_pack): Likewise.

From-SVN: r211721

10 years agoDaily bump.
GCC Administrator [Tue, 17 Jun 2014 00:17:11 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r211720

10 years agoarm.c (arm_atomic_assign_expand_fenv): call default_atomic_assign_expand_fenv for...
Kugan Vivekanandarajah [Tue, 17 Jun 2014 00:00:59 +0000 (00:00 +0000)]
arm.c (arm_atomic_assign_expand_fenv): call default_atomic_assign_expand_fenv for !TARGET_HARD_FLOAT.

gcc/
2014-06-17  Kugan Vivekanandarajah  <kuganv@linaro.org>

* config/arm/arm.c (arm_atomic_assign_expand_fenv): call
default_atomic_assign_expand_fenv for !TARGET_HARD_FLOAT.
(arm_init_builtins) : Initialize builtins __builtins_arm_set_fpscr and
__builtins_arm_get_fpscr only when TARGET_HARD_FLOAT.
* config/arm/vfp.md (set_fpscr): Make pattern conditional on
TARGET_HARD_FLOAT.
(get_fpscr) : Likewise.

From-SVN: r211717

10 years agore PR rtl-optimization/61325 (aarch64_be build fails)
Vladimir Makarov [Mon, 16 Jun 2014 21:39:42 +0000 (21:39 +0000)]
re PR rtl-optimization/61325 (aarch64_be build fails)

2014-06-16  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/61325
* lra-constraints.c (valid_address_p): Add forward declaration.
(simplify_operand_subreg): Check address validity before and after
alter_reg of memory subreg.

From-SVN: r211715

10 years agoi386.c (decide_alg): Correctly handle maximum size of stringop algorithm.
Uros Bizjak [Mon, 16 Jun 2014 20:45:25 +0000 (22:45 +0200)]
i386.c (decide_alg): Correctly handle maximum size of stringop algorithm.

* config/i386/i386.c (decide_alg): Correctly handle
maximum size of stringop algorithm.

From-SVN: r211714

10 years agoasan.c (build_check_stmt): Fix maybe-uninitialized warning.
Yury Gribov [Mon, 16 Jun 2014 18:31:22 +0000 (18:31 +0000)]
asan.c (build_check_stmt): Fix maybe-uninitialized warning.

2014-06-16  Yury Gribov  <y.gribov@samsung.com>

* asan.c (build_check_stmt): Fix maybe-uninitialized warning.

From-SVN: r211713

10 years agore PR rtl-optimization/61522 (ICE while building libgcc in LRA)
Vladimir Makarov [Mon, 16 Jun 2014 15:55:03 +0000 (15:55 +0000)]
re PR rtl-optimization/61522 (ICE while building libgcc in LRA)

2014-06-16  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/61522
* lra-assigns.c (assign_by_spills): Check null
targetm.spill_class.

From-SVN: r211711

10 years agorevert: symtab.c (symtab_node::reset_section): New method.
Jan Hubicka [Mon, 16 Jun 2014 15:02:34 +0000 (17:02 +0200)]
revert: symtab.c (symtab_node::reset_section): New method.

Revert:
* symtab.c (symtab_node::reset_section): New method.
* cgraph.c (cgraph_node_cannot_be_local_p_1): Accept non-local
for localization.
* cgraph.h (reset_section): Declare.
* ipa-inline-analysis.c (do_estimate_growth): Check for comdat groups;
do not consider comdat locals.
* cgraphclones.c (set_new_clone_decl_and_node_flags): Get section
for new symbol.
* ipa-visiblity.c (cgraph_externally_visible_p): Cleanup.
(update_visibility_by_resolution_info): Consider UNDEF; fix checking;
reset sections of symbols dragged out of the comdats.
(function_and_variable_visibility): Reset sections of localized symbols.

From-SVN: r211710

10 years agore PR tree-optimization/61482 (ICE in set_value_range, at tree-vrp.c:453 when compili...
Richard Biener [Mon, 16 Jun 2014 14:21:53 +0000 (14:21 +0000)]
re PR tree-optimization/61482 (ICE in set_value_range, at tree-vrp.c:453 when compiling Firefox ESR 24)

2014-06-16  Richard Biener  <rguenther@suse.de>

PR tree-optimization/61482
* tree-vrp.c (adjust_range_with_scev): Avoid setting of
[-INF(OVF), +INF(OVF)] range.

* g++.dg/torture/pr61482.C: New testcase.

From-SVN: r211709

10 years agoRemove conflict marker
Andreas Schwab [Mon, 16 Jun 2014 13:22:53 +0000 (13:22 +0000)]
Remove conflict marker

From-SVN: r211708

10 years agore PR c/60439 (No warning for case overflow in switch statement.)
Marek Polacek [Mon, 16 Jun 2014 12:38:07 +0000 (12:38 +0000)]
re PR c/60439 (No warning for case overflow in switch statement.)

PR c/60439
* c.opt (Wswitch-bool): Add Var.

From-SVN: r211707

10 years agotweak changelog date
Jason Merrill [Mon, 16 Jun 2014 12:19:30 +0000 (08:19 -0400)]
tweak changelog date

From-SVN: r211706

10 years ago* g++.dg/abi/layout4.C: Remove.
Jason Merrill [Mon, 16 Jun 2014 11:50:22 +0000 (07:50 -0400)]
* g++.dg/abi/layout4.C: Remove.

From-SVN: r211705

10 years agore PR c++/61488 (Regression in template argument substitution in 4.9+)
Jason Merrill [Mon, 16 Jun 2014 11:50:14 +0000 (07:50 -0400)]
re PR c++/61488 (Regression in template argument substitution in 4.9+)

PR c++/61488
* pt.c (check_valid_ptrmem_cst_expr): Fix for template context.

From-SVN: r211704

10 years agore PR c++/61500 ([C++11] Can't take pointer to member referenced via member pointer...
Jason Merrill [Mon, 16 Jun 2014 11:45:37 +0000 (07:45 -0400)]
re PR c++/61500 ([C++11] Can't take pointer to member referenced via member pointer template parameter.)

PR c++/61500
* tree.c (lvalue_kind): Handle MEMBER_REF and DOTSTAR_EXPR.

From-SVN: r211703

10 years agoRemove vpmacsdql instruction from multiplication
Ganesh Gopalasubramanian [Mon, 16 Jun 2014 11:02:31 +0000 (11:02 +0000)]
Remove vpmacsdql instruction from multiplication

From-SVN: r211702

10 years agore PR middle-end/61430 (ICE in lra_create_copy)
Chung-Lin Tang [Mon, 16 Jun 2014 09:58:34 +0000 (09:58 +0000)]
re PR middle-end/61430 (ICE in lra_create_copy)

2014-06-16  Chung-Lin Tang  <cltang@codesourcery.com>

PR middle-end/61430
* lra-lives.c (process_bb_lives): Skip creating copy during
insn scan when src/dest has constrained to same regno.

From-SVN: r211701