1. 20 Jun, 2014 12 commits
    • re PR sanitizer/61530 (segfault with asan) · bf613c02
      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
      Yury Gribov committed
    • re PR ipa/61211 (ICE: verify_cgraph_node failed: edge points to wrong… · 803d0ab0
      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
      Martin Jambor committed
    • [AArch64] Fix some saturating math NEON intrinsics types. · 278821f2
      [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
      Kyrylo Tkachov committed
    • Fix finding reg-sets of call insn · 6621ab68
      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
      Tom de Vries committed
    • Don't save function_used_regs if it contains all call_used_regs · 5fea8186
      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
      Tom de Vries committed
    • Use function_used_regs variable in collect_fn_hard_reg_usage · 53f2f6c1
      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
      Tom de Vries committed
    • cgraph.h (struct symtab_node): Add field in_init_priority_hash (set_init_priority... · 569b1784
      	* 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
      Jan Hubicka committed
    • tree-ssa-math-opts.c (do_shift_rotate, [...]): Cast 0xff to uint64_t before shifting it up. · 88f5cfcd
      	* 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
      Jakub Jelinek committed
    • arm.c (arm_output_mi_thunk): Fix offset for TARGET_THUMB1_ONLY. · 6d45574a
      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
      Julian Brown committed
    • re PR testsuite/61567 (gfortran.dg/coarray_collectives_{5,6}.f90 failure) · 27a4e2d0
      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
      Tobias Burnus committed
    • re PR lto/61123 (With LTO, -fno-short-enums is ignored, resulting in ABI mis-matching in linking.) · dd6fe7d4
      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
      Hale Wang committed
    • Daily bump. · 9981da24
      From-SVN: r211831
      GCC Administrator committed
  2. 19 Jun, 2014 8 commits
  3. 18 Jun, 2014 20 commits