Commit Graph

130108 Commits

Author SHA1 Message Date
James Greenhalgh a8eecd00ec [AArch64 costs 14/18] Cost comparisons, flag setting operators and IF_THEN_ELSE
gcc/

	* config/aarch64/aarch64.c (aarch64_rtx_costs): Cost comparison
	operators.


Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>

From-SVN: r210506
2014-05-16 09:16:23 +00:00
James Greenhalgh 4105fe3885 [AArch64 costs 13/18] Improve costs for div/mod
gcc/

	* config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
	DIV/MOD.


Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>

From-SVN: r210505
2014-05-16 09:12:14 +00:00
James Greenhalgh 7cc2145f54 [AArch64 costs 12/18] Improve costs for sign/zero extracts
gcc/

	* config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
	SIGN/ZERO_EXTRACT.


Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>

From-SVN: r210504
2014-05-16 09:07:34 +00:00
James Greenhalgh ba0cfa1700 [AArch64 costs 11/18] Improve costs for rotate and shift operations.
* config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for
	rotates and shifts.


Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>

From-SVN: r210503
2014-05-16 09:03:19 +00:00
James Greenhalgh b1685e6274 [AArch64 costs 10/18] Improve costs for sign/zero extend operations
gcc/

	* config/aarch64/aarch64.c (aarch64_rtx_costs): Cost
	ZERO_EXTEND and SIGN_EXTEND better.


Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>

From-SVN: r210502
2014-05-16 09:01:28 +00:00
James Greenhalgh 268c3b4758 [AArch64 costs 9/18] Better cost logical operations
gcc/

	* config/aarch64/aarch64.c (aarch64_rtx_costs): Improve cost for
	logical operations.


Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>

From-SVN: r210501
2014-05-16 08:59:07 +00:00
James Greenhalgh 2961177e7d [AArch64 costs 8/18] Cost memory accesses using address costs
gcc/

	* config/aarch64/aarch64.c (aarch64_rtx_costs): Use address
	costs when costing loads and stores to memory.


Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>

From-SVN: r210500
2014-05-16 08:56:54 +00:00
James Greenhalgh ba123b0de5 [AArch64 costs 7/18] Improve SET cost.
gcc/

	* config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costing
	for SET RTX.


Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>

From-SVN: r210499
2014-05-16 08:55:04 +00:00
James Greenhalgh 7fc5ef02f4 [AArch64 costs 6/18] Set default costs and handle vector modes.
gcc/

	* config/aarch64/aarch64.c (aarch64_rtx_costs): Set default costs.

From-SVN: r210498
2014-05-16 08:52:30 +00:00
James Greenhalgh 4745e70151 [AArch64 costs 5/18] Factor out common MULT cases
gcc/

	* config/aarch64/aarch64.c (aarch64_strip_shift_or_extend): Rename
	to...
	(aarch64_strip_extend): ...this, don't strip shifts, check RTX is
	well formed.
	(aarch64_rtx_mult_cost): New.
	(aarch64_rtx_costs): Use it, refactor as appropriate.


Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>

From-SVN: r210497
2014-05-16 08:50:51 +00:00
James Greenhalgh 9dfc162c47 [AArch64 costs 4/18] Better estimate cost of building a constant
gcc/

	* config/aarch64/aarch64.c (aarch64_build_constant): Conditionally
	emit instructions, return number of instructions which would
	be emitted.
	(aarch64_add_constant): Update call to aarch64_build_constant.
	(aarch64_output_mi_thunk): Likewise.
	(aarch64_rtx_costs): Estimate cost of a CONST_INT, cost
	a CONST_DOUBLE.


Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>

From-SVN: r210496
2014-05-16 08:47:59 +00:00
James Greenhalgh 0ee859b53b [AArch64 costs 3/18] Wrap aarch64_rtx_costs to dump verbose output
gcc/

	* config/aarch64/aarch64.c (aarch64_rtx_costs_wrapper): New.
	(TARGET_RTX_COSTS): Call it.

From-SVN: r210495
2014-05-16 08:45:39 +00:00
James Greenhalgh 60bff09020 [AArch64 costs 2/18] Add cost tables for Cortex-A57
gcc/

	* config/aarch64/aarch64.c (cortexa57_addrcost_table): New.
	(cortexa57_vector_cost): Likewise.
	(cortexa57_tunings): Use them.

From-SVN: r210494
2014-05-16 08:43:51 +00:00
James Greenhalgh 677473677a [AArch64 costs 1/18] Refactor aarch64_address_costs.
gcc/

	* config/aarch64/aarch64-protos.h (scale_addr_mode_cost): New.
	(cpu_addrcost_table): Use it.
	* config/aarch64/aarch64.c (generic_addrcost_table): Initialize it.
	(aarch64_address_cost): Rewrite using aarch64_classify_address,
	move it.

From-SVN: r210493
2014-05-16 08:41:46 +00:00
Richard Biener a764d66099 tree-ssa-sccvn.c: Include tree-cfg.h and domwalk.h.
2014-05-16  Richard Biener  <rguenther@suse.de>

	* tree-ssa-sccvn.c: Include tree-cfg.h and domwalk.h.
	(set_ssa_val_to): Handle unexpected sets to VN_TOP.
	(visit_phi): Ignore edges marked as not executable.
	(class cond_dom_walker): New.
	(cond_dom_walker::before_dom_children): Value-number
	control statements and mark successor edges as not
	executable if possible.
	(run_scc_vn): First walk all control statements in
	dominator order, marking edges as not executable.
	* tree-inline.c (copy_edges_for_bb): Be not confused
	about random edge flags.

	* gcc.dg/tree-ssa/ssa-fre-39.c: New testcase.
	* gcc.dg/tree-ssa/ssa-fre-40.c: Likewise.
	* gcc.dg/tree-ssa/ssa-pre-8.c: One more elimination.
	* gcc.dg/tree-ssa/struct-aliasing-2.c: Scan cddce1 dump.

From-SVN: r210492
2014-05-16 08:05:50 +00:00
Richard Biener a27c386001 tree-ssa-sccvn.c (visit_use): Also constant-fold calls.
2014-05-16  Richard Biener  <rguenther@suse.de>

	* tree-ssa-sccvn.c (visit_use): Also constant-fold calls.

	* gcc.dg/tree-ssa/ssa-fre-41.c: New testcase.

From-SVN: r210491
2014-05-16 07:57:46 +00:00
Peter Bergner d8c55b91ae re PR target/61193 (ABI incompatibility between POWER and Z HTM builtins and intrinsics)
PR target/61193
	* config/rs6000/htmxlintrin.h (_HTM_TBEGIN_STARTED): New define.
	(__TM_simple_begin): Use it.
	(__TM_begin): Likewise.

From-SVN: r210486
2014-05-15 22:43:12 -05:00
GCC Administrator ef1f23cc6b Daily bump.
From-SVN: r210484
2014-05-16 00:17:08 +00:00
Jonathan Wakely c6139a7763 Fix typo in my name.
From-SVN: r210479
2014-05-15 20:12:04 +01:00
Martin Jambor 8a2256dda3 re PR ipa/61085 (wrong code with -O2 -fno-early-inlining (maybe wrong devirtualization))
2014-05-15  Martin Jambor  <mjambor@suse.cz>

	PR ipa/61085
	* ipa-prop.c (update_indirect_edges_after_inlining): Check
	type_preserved flag when the indirect edge is polymorphic.

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

From-SVN: r210477
2014-05-15 17:04:18 +02:00
Martin Jambor 9d2681a399 re PR tree-optimization/61090 (ICE in build_ref_for_offset)
2014-05-15  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/61090
	* tree-sra.c (sra_modify_expr): Pass the current gsi to
	build_ref_for_model.

testsuite/
	* gcc.dg/tree-ssa/pr61090.c: New test.

From-SVN: r210476
2014-05-15 16:54:29 +02:00
Jason Merrill 8fa53379d5 * call.c (print_conversion_rejection): Use loc consistently.
From-SVN: r210475
2014-05-15 08:52:35 -04:00
Jonathan Wakely c0eef1c8f2 re PR libstdc++/60326 (Incorrect type from std::make_unsigned<wchar_t>)
PR libstdc++/60326
	* include/std/type_traits (__make_unsigned, __make_signed): Define
	specializations for wchar_t, char16_t and char32_t.
	* testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
	* testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
	test for make_unsigned<volatile wchar_t>.
	* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
	Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
	line number.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.

From-SVN: r210473
2014-05-15 13:31:05 +01:00
Kyrylo Tkachov 927450d08c [ARM][cleanup] Use enum name instead of integer value for PARAM_SCHED_PRESSURE_ALGORITHM.
* config/arm/arm.c (arm_option_override): Use the SCHED_PRESSURE_MODEL
	enum name for PARAM_SCHED_PRESSURE_ALGORITHM.

From-SVN: r210471
2014-05-15 11:23:02 +00:00
Jonathan Wakely 3a004764ec tuple (tuple_size<cv _Tp>): Implement LWG 2313.
* include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
	* include/std/array (tuple_size, tuple_element): Add Doxygen comments.
	* include/std/utility (tuple_size, tuple_element): Likewise.
	* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
	Adjust dg-error line number.

From-SVN: r210470
2014-05-15 11:35:29 +01:00
Jakub Jelinek ceed6e6732 re PR middle-end/61158 (negative shift at fold-const.c:12095)
PR tree-optimization/61158
	* fold-const.c (fold_binary_loc): If X is zero-extended and
	shiftc >= prec, make sure zerobits is all ones instead of
	invoking undefined behavior.

	* gcc.dg/pr61158.c: New test.

From-SVN: r210467
2014-05-15 12:01:11 +02:00
Rainer Orth a2555c65a0 Check for -static-libgcc before use (PR lto/60981)
PR lto/60981
	* configure.ac: Check for -static-libgcc.
	* configure: Regenerate.

From-SVN: r210465
2014-05-15 09:52:37 +00:00
Andreas Schwab c4622c2bed exceptions-3.mm: Remove check for message no longer emitted.
* obj-c++.dg/exceptions-3.mm: Remove check for message no longer
emitted.
* obj-c++.dg/exceptions-5.mm: Likewise.

From-SVN: r210464
2014-05-15 09:34:27 +00:00
Zhenqiang Chen a2e6c10cbd regcprop.h: New file.
2014-05-15  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

	* regcprop.h: New file.
	* regcprop.c (skip_debug_insn_p): New decl.
	(replace_oldest_value_reg): Check skip_debug_insn_p.
	(copyprop_hardreg_forward_bb_without_debug_insn.): New function.
	* shrink-wrap.c: include regcprop.h
	(prepare_shrink_wrap):
	Call copyprop_hardreg_forward_bb_without_debug_insn.

testsuite/ChangeLog:
2014-05-15  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

	* shrink-wrap-loop.c: New test case.

From-SVN: r210458
2014-05-15 06:54:48 +00:00
Zhenqiang Chen e974b93b6c shrink-wrap.h: Update comment.
2014-05-15  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

	* shrink-wrap.h: Update comment.
	* shrink-wrap.c: Update comment.
	(next_block_for_reg): Rename to live_edge_for_reg.
	(live_edge_for_reg): Allow live_edge->dest has two predecessors.
	(move_insn_for_shrink_wrap): Split live_edge.
	(prepre_shrink_wrap): One more parameter for move_insn_for_shrink_wrap.

From-SVN: r210457
2014-05-15 06:30:58 +00:00
GCC Administrator be60271113 Daily bump.
From-SVN: r210455
2014-05-15 00:17:01 +00:00
Sandra Loosemore 707f18393a configure.ac (target_makefile_frag): Set for nios2-*-elf*.
2014-05-14  Sandra Loosemore  <sandra@codesourcery.com>

	* configure.ac (target_makefile_frag): Set for nios2-*-elf*.
	* configure: Regenerated.

	config/
	* mt-nios2-elf: New file.

From-SVN: r210451
2014-05-14 19:20:59 -04:00
Joseph Myers e494d89c37 * zh_CN.po: Update.
From-SVN: r210449
2014-05-15 00:04:48 +01:00
Torvald Riegel 7321dc60f4 Add myself as maintainer for libitm.
From-SVN: r210448
2014-05-14 22:37:28 +00:00
Jonathan Wakely af222e7486 tuple (__add_c_ref, [...]): Remove.
* include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
	(__tuple_element_t): Define.
	(tuple_element): Use __tuple_element_t.
	(__cv_tuple_size): Define.
	(tuple_size<cv _Tp>): Use __cv_tuple_size.
	(get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
	(get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
	(__tuple_compare): Remove size check, re-order parameters.
	(operator==, operator<): Use static_assert to check requirements.
	* include/std/functional (__volget): use __tuple_element_t.
	* testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
	* testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.

From-SVN: r210447
2014-05-14 23:16:35 +01:00
Eric Botcazou 88fe5e91e4 sparc-protos.h (sparc_absnegfloat_split_legitimate): Delete.
* config/sparc/sparc-protos.h (sparc_absnegfloat_split_legitimate):
	Delete.
	* config/sparc/sparc.c (sparc_absnegfloat_split_legitimate): Likewise.
	* config/sparc/sparc.md (fptype_ut699): New attribute.
	(in_branch_delay): Return false if -mfix-ut699 is specified and
	fptype_ut699 is set to single.
	(truncdfsf2): Add fptype_ut699 attribute.
	(fix_truncdfsi2): Likewise.
	(floatsisf2): Change fptype attribute.
	(fix_truncsfsi2): Likewise.
	(negtf2_notv9): Delete.
	(negtf2_v9): Likewise.
	(negtf2_hq): New instruction.
	(negtf2): New instruction and splitter.
	(negdf2_notv9): Rewrite.
	(abstf2_notv9): Delete.
	(abstf2_hq_v9): Likewise.
	(abstf2_v9): Likewise.
	(abstf2_hq): New instruction.
	(abstf2): New instruction and splitter.
	(absdf2_notv9): Rewrite.

From-SVN: r210444
2014-05-14 22:09:26 +00:00
Eric Botcazou 0263d67803 * seh_init.c: Fix copyright year.
From-SVN: r210443
2014-05-14 22:00:49 +00:00
Cary Coutant bc91b0e086 Change -g so that it will override -g1 but not -g3.
gcc/
        PR debug/61013
	* opts.c (common_handle_option): Don't special-case "-g".
	(set_debug_level): Default to at least level 2 with "-g".

From-SVN: r210442
2014-05-14 14:48:47 -07:00
DJ Delorie 5f35dde552 msp430.c (msp430_builtin): Add MSP430_BUILTIN_DELAY_CYCLES.
* config/msp430/msp430.c (msp430_builtin): Add
MSP430_BUILTIN_DELAY_CYCLES.
(msp430_init_builtins): Register void __delay_cycles(long long).
(msp430_builtin_decl): Add it.
(cg_magic_constant): New.
(msp430_expand_delay_cycles): New.
(msp430_expand_builtin): Call it.
(msp430_print_operand_raw): Change integer printing from "int" to
HOST_WIDE_INT.
* config/msp430/msp430.md (define_constants): Add delay_cycles tags.
(delay_cycles_start): New.
(delay_cycles_end): New.
(delay_cycles_32): New.
(delay_cycles_32x): New.
(delay_cycles_16): New.
(delay_cycles_16x): New.
(delay_cycles_2): New.
(delay_cycles_1): New.
* doc/extend.texi: Document __delay_cycles().

From-SVN: r210441
2014-05-14 17:27:21 -04:00
Sandra Loosemore 5d40b20f6e nios2.md (nios2_cbranch): Fix paste-o in length attribute computation.
2014-05-14  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* config/nios2/nios2.md (nios2_cbranch): Fix paste-o in
	length attribute computation.

From-SVN: r210440
2014-05-14 17:18:33 -04:00
Paolo Carlini 014397c22e cp-tree.h (DIRECT_LIST_INIT_P): Add.
2014-05-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* cp-tree.h (DIRECT_LIST_INIT_P): Add.
	* call.c (convert_like_real, build_new_method_call_1): Use it.
	* decl2.c (grokfield): Likewise.
	* init.c (perform_member_init, build_aggr_init, expand_default_init,
	build_new_1): Likewise.
	* mangle.c (write_expression): Likewise.
	* parser.c (cp_parser_late_parse_one_default_arg): Likewise.

From-SVN: r210438
2014-05-14 20:56:04 +00:00
Bernd Edlinger d40aeed84d Fix current cygwin build problems.
2014-05-14  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        Fix current cygwin build problems.
        * seh_init.c (__gnat_map_SEH): Compile also when __CYGWIN__ and __SEH__
        are defined.  Move include windows.h before system.h.
        * s-oscons-tmplt.c (DTR_CONTROL_ENABLE, RTS_CONTROL_ENABLE): Compile
        also when __CYGWIN__ is defined.  Include windef.h before winbase.h.

From-SVN: r210437
2014-05-14 17:15:06 +00:00
Jason Merrill d02f620dc0 re PR c++/20332 (poor diagnostic when bind non lvalue to a reference for default arguments)
PR c++/20332
	PR c++/21631
	* call.c (reference_binding): Treat lvalue/rvalue mismatch and
	dropped cv-quals as a bad conversion.
	(convert_like_real) [ck_ref_bind]: Explain them.
	(compare_ics): Check badness before stripping reference
	bindings.  Handle comparing bad reference bindings.
	* typeck.c (comp_cv_qualification): Add overload that just takes
	integers.
	* cp-tree.h: Declare it.

From-SVN: r210436
2014-05-14 12:48:07 -04:00
Jason Merrill 89606913ce call.c (struct conversion_info): Rename 'from_type' to 'from'.
* call.c (struct conversion_info): Rename 'from_type' to 'from'.
	(arg_conversion_rejection, bad_arg_conversion_rejection)
	(explicit_conversion_rejection, template_conversion_rejection): Adjust.
	(add_function_candidate): Pass actual argument, rather than type, to
	bad_arg_conversion_rejection.
	(print_conversion_rejection): Explain what's wrong with the conversion.
	(print_z_candidate): Say "candidate:" before each candidate.
	(splice_viable): Be strict if we see a viable or template candidate.
	(build_user_type_conversion_1): Pass false to strict parameter.
	(perform_overload_resolution, build_conditional_expr_1): Likewise.
	(build_new_op_1, build_new_method_call_1): Likewise.
	(build_op_call_1): Pass true to strict parameter.

From-SVN: r210435
2014-05-14 12:47:54 -04:00
Richard Sandiford 25109109c4 re PR debug/61188 (Many -fcompare-debug failures)
gcc/
	PR debug/61188
	* print-rtl.c (print_rtx): Suppress uids if flag_dump_unnumbered.

From-SVN: r210429
2014-05-14 15:53:11 +00:00
Richard Sandiford 7e7e4032f1 re PR bootstrap/61084 (wide-int merge broke Solaris/SPARC bootstrap)
gcc/
	PR target/61084
	* config/sparc/sparc.md: Fix types of low and high in DI constant
	splitter.  Use gen_int_mode in some other splitters.

From-SVN: r210428
2014-05-14 15:42:52 +00:00
Richard Sandiford 8b9aec861e decl.c (gnat_to_gnu_entity): Convert integer_one_node to the appropriate type.
gcc/ada/
	* gcc-interface/decl.c (gnat_to_gnu_entity): Convert
	integer_one_node to the appropriate type.
	* gcc-interface/trans.c (gnat_to_gnu): Likewise.
	(pos_to_constructor): Likewise.

From-SVN: r210427
2014-05-14 15:42:25 +00:00
Martin Jambor 70d6d5c1d3 re PR gcov-profile/60897 (Mangled function name in warning during -fprofile-use phase of Firefox build)
2014-05-14  Martin Jambor  <mjambor@suse.cz>

	PR ipa/60897
	* ipa-prop.c (ipa_modify_formal_parameters): Reset DECL_LANG_SPECIFIC.

From-SVN: r210426
2014-05-14 17:32:31 +02:00
Andrew Burgess 70c8c2b932 cplus-dmem.c (internal_cplus_demangle): Free any resources allocated by possible previous call to gnu_special.
libiberty/
2014-05-14  Andrew Burgess  <aburgess@broadcom.com>

	* cplus-dmem.c (internal_cplus_demangle): Free any resources
	allocated by possible previous call to gnu_special.
	(squangle_mop_up): Reset pointers to NULL after calling free.
	* testsuite/demangle-expected: New test case.

From-SVN: r210425
2014-05-14 14:18:49 +00:00
Christian Bruel a3f58be687 cleanup bogus entry
From-SVN: r210424
2014-05-14 16:00:30 +02:00