Commit Graph

130671 Commits

Author SHA1 Message Date
Jonathan Wakely 83387bbd28 parse_numbers.h (_Number_help): Fix divide-by-zero.
* include/bits/parse_numbers.h (_Number_help): Fix divide-by-zero.
	* include/std/chrono (_Checked_integral_constant): Allow zero.
	* testsuite/20_util/duration/literals/values.cc: Test non-positive
	values and digit separators.

From-SVN: r211890
2014-06-23 12:30:32 +01:00
James Greenhalgh 463036be82 [AArch64] Implement ADD in vector registers for 32-bit scalar values.
gcc/

	* config/aarch64/aarch64.md (*addsi3_aarch64): Add alternative in
	vector registers.

gcc/testsuite/

	* gcc.target/aarch64/scalar_shift_1.c: Fix expected assembler.

From-SVN: r211887
2014-06-23 09:04:40 +00:00
Jan Hubicka 1cff83e21d lto-cgraph.c (lto_output_node, input_node): Set/get init/fini priority directly.
* lto-cgraph.c (lto_output_node, input_node): Set/get init/fini priority
	directly.

From-SVN: r211886
2014-06-23 06:33:35 +00:00
Zhenqiang Chen 2c97f4728c loop-invariant.c (pre_check_invariant_p): New function.
2014-06-23  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

	* loop-invariant.c (pre_check_invariant_p): New function.
	(find_invariant_insn): Call pre_check_invariant_p.

From-SVN: r211885
2014-06-23 02:47:54 +00:00
GCC Administrator 0001689b2e Daily bump.
From-SVN: r211884
2014-06-23 00:16:31 +00:00
Richard Henderson 08281ce0fb re PR bootstrap/61565 (ICE building libjava/interpret.cc)
PR target/61565

* compare-elim.c (struct comparison): Add eh_note.
(find_comparison_dom_walker::before_dom_children): Don't eliminate
a redundant comparison in a different EH region.  Purge EH edges if
necessary.

From-SVN: r211881
2014-06-22 12:32:57 -07:00
Segher Boessenkool 37317a1fc0 rs6000: Merge the var_shift yes/no alternatives
All instructions that are "var_shift" for some alternative have the shift
amount as operands[2].

This patch introduces an attribute "maybe_var_shift".  If that is set to
"yes", the default value of "var_shift" is set based on the operands[2]
value.

With that, we can merge the var_shift yes/no cases everywhere.  Do so.

Also change some more "i" to "n".

From-SVN: r211880
2014-06-22 19:21:08 +02:00
Segher Boessenkool 85c1cb2250 rs6000: Merge ashrsi3 and ashrdi3
From-SVN: r211879
2014-06-22 19:18:05 +02:00
Segher Boessenkool 137b8eb295 rs6000: Merge rotlsi3 and rotldi3
This uses the rotl* extended mnemonics instead of the rlw*nm and rld*cl
mnemonics, because they are shorter and more importantly they look the
same for 32-bit and 64-bit.

From-SVN: r211878
2014-06-22 19:16:03 +02:00
Segher Boessenkool d70be98ee1 Merge ashlsi3 and ashldi3
From-SVN: r211877
2014-06-22 19:14:02 +02:00
Segher Boessenkool f39a447c2d rs6000: Merge lshrsi3 and lshrdi3
For this create a new mode_attr "hH".

Also change "i" constraints on the shift amount to "n", which better
describes what it really is (GCC takes the integer value of these
operands and does arithmetic on them; symbolic constants will not work
here).

Also merge the "dot" insns with the corresponding splitters.  To do
this, don't allow the dot insns for CBE non-microcode mode at all
(it previously would just split it back always).

From-SVN: r211876
2014-06-22 19:11:55 +02:00
Segher Boessenkool 1a2443af3a rs6000: Remove "O" alternative from lshrsi3
Nothing will ever generate RTL matching this alternative.  Maybe long
ago this was needed, but not anymore.

From-SVN: r211875
2014-06-22 19:09:24 +02:00
Richard Sandiford 82db17cbd4 mips.c (mips_move_to_gpr_cost): Remove mode argument.
gcc/
	* config/mips/mips.c (mips_move_to_gpr_cost): Remove mode argument.
	(mips_move_from_gpr_cost): Likewise.
	(mips_register_move_cost): Update accordingly.
	(mips_secondary_reload_class): Remove name of in_p.

From-SVN: r211874
2014-06-22 09:57:02 +00:00
Marc Glisse 43c5fcfc0e re PR target/61503 (RTL representation of i386 shrdl instruction is incorrect?)
2014-06-22  Marc Glisse  <marc.glisse@inria.fr>

	PR target/61503
	* config/i386/i386.md (x86_64_shrd, x86_shrd,
	ix86_rotr<dwi>3_doubleword): Replace ashiftrt with lshiftrt.

From-SVN: r211873
2014-06-22 09:16:35 +00:00
GCC Administrator f7716f89b3 Daily bump.
From-SVN: r211872
2014-06-22 00:16:45 +00:00
Jan Hubicka 4da27d0fc7 localalias.c: Fix broken commit.
* gcc.dg/localalias.c: Fix broken commit.
	* gcc.dg/globalalias.c: Likewise.

From-SVN: r211869
2014-06-21 23:01:41 +00:00
Jan-Benedict Glaw 476571534d nios2.c: Include "builtins.h".
2014-06-21  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

gcc/
	* config/nios2/nios2.c: Include "builtins.h".

From-SVN: r211868
2014-06-21 21:52:02 +00:00
Jan Hubicka 714c800f1f cgraph.h (tls_model_names): New variable.
* cgraph.h (tls_model_names): New variable.
	* print-tree.c (print_node): Simplify.
	* varpool.c (tls_model_names): New variable.
	(dump_varpool_node): Output tls model.

	* lto-symtab.c (lto_varpool_replace_node): Report TLS model conflicts.

From-SVN: r211865
2014-06-21 02:46:34 +00:00
Jan Hubicka b48972129f localalias.c: New testcase.
* gcc.dg/localalias.c: New testcase.
	* gcc.dg/localalias-2.c: New testcase.
	* gcc.dg/globalalias.c: New testcase.
	* gcc.dg/globalalias-2.c: New testcase.
	* ipa-visibility.c (function_and_variable_visibility): Disable
	temporarily local aliases for some targets.

From-SVN: r211864
2014-06-21 02:39:49 +00:00
GCC Administrator d9ff14ea9b Daily bump.
From-SVN: r211863
2014-06-21 00:16:40 +00:00
Jakub Jelinek 7cda9e93e7 * gcc.target/arm/lto/lto.exp: Exit immediately if not arm*-*-* target.
From-SVN: r211860
2014-06-20 23:21:34 +02:00
Marek Polacek 0e37a2f33d asan.c (pass_sanopt::execute): Handle IFN_UBSAN_BOUNDS.
* asan.c (pass_sanopt::execute): Handle IFN_UBSAN_BOUNDS.
	* flag-types.h (enum sanitize_code): Add SANITIZE_BOUNDS and or it
	into SANITIZE_UNDEFINED.
	* doc/invoke.texi: Describe -fsanitize=bounds.
	* gimplify.c (gimplify_call_expr): Add gimplification of internal
	functions created in the FEs.
	* internal-fn.c: Move "internal-fn.h" after "tree.h".
	(expand_UBSAN_BOUNDS): New function.
	* internal-fn.def (UBSAN_BOUNDS): New internal function.
	* internal-fn.h: Don't define internal functions here.
	* opts.c (common_handle_option): Add -fsanitize=bounds.
	* sanitizer.def (BUILT_IN_UBSAN_HANDLE_OUT_OF_BOUNDS,
	BUILT_IN_UBSAN_HANDLE_OUT_OF_BOUNDS_ABORT): Add.
	* tree-core.h: Define internal functions here.
	(struct tree_base): Add ifn field.
	* tree-pretty-print.c: Include "internal-fn.h".
	(dump_generic_node): Handle functions without CALL_EXPR_FN.
	* tree.c (get_callee_fndecl): Likewise.
	(build_call_expr_internal_loc): New function.
	* tree.def (CALL_EXPR): Update description.
	* tree.h (CALL_EXPR_IFN): Define.
	(build_call_expr_internal_loc): Declare.
	* ubsan.c (get_ubsan_type_info_for_type): Return 0 for non-arithmetic
	types.
	(ubsan_type_descriptor): Change bool parameter to enum
	ubsan_print_style.  Adjust the code.  Add handling of
	UBSAN_PRINT_ARRAY.
	(ubsan_expand_bounds_ifn): New function.
	(ubsan_expand_null_ifn): Adjust ubsan_type_descriptor call.
	(ubsan_build_overflow_builtin): Likewise.
	(instrument_bool_enum_load): Likewise.
	(ubsan_instrument_float_cast): Likewise.
	* ubsan.h (enum ubsan_print_style): New enum.
	(ubsan_expand_bounds_ifn): Declare.
	(ubsan_type_descriptor): Adjust declaration.  Use a default parameter.
c-family/
	* c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
	(ubsan_walk_array_refs_r): New function.
	(c_genericize): Instrument array bounds.
	* c-ubsan.c: Include "internal-fn.h".
	(ubsan_instrument_division): Mark instrumented arrays as having
	side effects.  Adjust ubsan_type_descriptor call.
	(ubsan_instrument_shift): Likewise.
	(ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
	(ubsan_instrument_bounds): New function.
	(ubsan_array_ref_instrumented_p): New function.
	(ubsan_maybe_instrument_array_ref): New function.
	* c-ubsan.h (ubsan_instrument_bounds): Declare.
	(ubsan_array_ref_instrumented_p): Declare.
	(ubsan_maybe_instrument_array_ref): Declare.
testsuite/
	* c-c++-common/ubsan/bounds-1.c: New test.
	* c-c++-common/ubsan/bounds-2.c: New test.
	* c-c++-common/ubsan/bounds-3.c: New test.
	* c-c++-common/ubsan/bounds-4.c: New test.
	* c-c++-common/ubsan/bounds-5.c: New test.
	* c-c++-common/ubsan/bounds-6.c: New test.

From-SVN: r211859
2014-06-20 21:20:51 +00:00
Francois-Xavier Coudert 87681fb550 re PR fortran/33363 (gfortran is missing -fcase-preserve option)
PR fortran/33363
	* invoke.texi: Don't mention nonexisting -fcase-lower option.

From-SVN: r211858
2014-06-20 20:11:30 +00:00
Maciej W. Rozycki 9674047260 rs6000.md: Append `DONE' to preparation statements of `bswap' pattern splitters.
* config/rs6000/rs6000.md: Append `DONE' to preparation
	statements of `bswap' pattern splitters.

From-SVN: r211857
2014-06-20 19:42:22 +00:00
Jason Merrill caa40bc0fc re PR c++/59296 ([c++11] ref-qualified member function is ambiguous)
PR c++/59296
	* call.c (add_function_candidate): Avoid special 'this' handling
	if we have a ref-qualifier.

From-SVN: r211854
2014-06-20 14:32:35 -04:00
Jason Merrill e2498d54f0 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
2014-06-20 14:31:53 -04:00
Tom de Vries 73b3e61bca 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
2014-06-20 18:28:12 +00:00
Yufeng Zhang 676d89dd0f 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
2014-06-20 16:52:29 +00:00
Yury Gribov 0cbf438b11 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
2014-06-20 16:33:28 +03:00
Martin Jambor bec81025ed 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
2014-06-20 13:19:46 +02:00
Yury Gribov bf613c022e 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
2014-06-20 13:26:55 +03:00
Martin Jambor 803d0ab0e8 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
2014-06-20 11:54:39 +02:00
Kyrylo Tkachov 278821f265 [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
2014-06-20 08:51:34 +00:00
Tom de Vries 6621ab6860 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
2014-06-20 08:02:02 +00:00
Tom de Vries 5fea818693 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
2014-06-20 08:01:52 +00:00
Tom de Vries 53f2f6c1c4 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
2014-06-20 08:01:41 +00:00
Jan Hubicka 569b1784fe 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
2014-06-20 07:09:27 +00:00
Jakub Jelinek 88f5cfcd2b 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
2014-06-20 08:30:19 +02:00
Julian Brown 6d45574aa2 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
2014-06-20 05:38:40 +00:00
Tobias Burnus 27a4e2d0fe 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
2014-06-20 07:24:09 +02:00
Hale Wang dd6fe7d4a2 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
2014-06-20 04:52:11 +00:00
GCC Administrator 9981da24c0 Daily bump.
From-SVN: r211831
2014-06-20 00:16:54 +00:00
Tom de Vries d07a3fed35 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
2014-06-19 12:21:13 +00:00
Francois-Xavier Coudert c8d599e1dd 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
2014-06-19 11:58:55 +00:00
Jason Merrill c7744b8eea 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
2014-06-19 05:36:09 -04:00
Zhenqiang Chen 61fc05c74a 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
2014-06-19 09:04:58 +00:00
Terry Guo dbb73879ff 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
2014-06-19 07:50:48 +00:00
Tobias Burnus 7f6c4159bf 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
2014-06-19 09:16:34 +02:00
Richard Henderson 29d0a43c96 Ignore gcc_update output
From-SVN: r211815
2014-06-18 17:47:18 -07:00
GCC Administrator 684bcf090f Daily bump.
From-SVN: r211814
2014-06-19 00:16:43 +00:00