Commit Graph

125197 Commits

Author SHA1 Message Date
Jan Hubicka
d5c3d3ef54 cgraph.c (cgraph_turn_edge_to_speculative): Fix debug output.
* cgraph.c (cgraph_turn_edge_to_speculative):
	Fix debug output.

From-SVN: r201977
2013-08-25 09:47:00 +00:00
Jan Hubicka
4b0809ef53 * g++.dg/ipa/devirt-14.C: Fix typo.
From-SVN: r201976
2013-08-25 09:45:34 +00:00
Jan Hubicka
5b1e743577 tree.h (TYPE_FINAL_P, [...]): New macros.
* tree.h (TYPE_FINAL_P, DECL_FINAL_P): New macros.
	(tree_decl_with_vis): Add FINAL field.

	* cp-tree.h (struct lang_type_class): Free is_final bit.
	(CLASSTYPE_FINAL): Define using TYPE_FINAL_P.
	(DECL_FINAL_P): Remove.
	* pt.c (instantiate_class_template_1): Guard that CLASSTYPE_FINAL
	is called on CLASS_TYPE_P.

From-SVN: r201975
2013-08-25 09:43:34 +00:00
Gabriel Dos Reis
0691175fe2 c-pretty-print.h (c_pretty_printer::translate_string): Declare.
c-family/
	* c-pretty-print.h (c_pretty_printer::translate_string): Declare.
	* c-pretty-print.c (M_): Remove.
	(c_pretty_printer::translate_string): Define.
	(pp_c_type_specifier): Use it.
	(pp_c_primary_expression): Likewise.
	(pp_c_expression): Likewise.

cp/
	* cxx-pretty-print.c (M_): Remove.
	(pp_cxx_unqualified_id): Use translate_string instead of M_.
	(pp_cxx_canonical_template_parameter): Likewise.

From-SVN: r201974
2013-08-25 05:51:54 +00:00
Gabriel Dos Reis
66dfe4c4f8 c-pretty-print.h (c_pretty_printer::id_expression): Now a virtual function.
c-family/
	* c-pretty-print.h (c_pretty_printer::id_expression): Now a
	virtual function.
	(pp_c_id_expression): Remove.
	(pp_id_expression): Adjust.
	* c-pretty-print.c (c_pretty_printer::id_expression): Rename from
	pp_c_id_expression.  Adjust.
	(pp_c_postfix_expression): Use pp_id_expression.
	(c_pretty_printer::c_pretty_printer): Do not assign to id_expression.

cp/
	* cxx-pretty-print.h (cxx_pretty_printer::id_expression): Declare.
	* cxx-pretty-print.c (cxx_pretty_printer::id_expression): Rename
	from pp_cxx_id_expression.  Adjust.
	(pp_cxx_userdef_literal): Use pp_id_expression.
	(pp_cxx_primary_expression): Likewise.
	(pp_cxx_direct_declarator): Likewise.
	(cxx_pretty_printer::cxx_pretty_printer): Do not assign to
	id_expression.

From-SVN: r201973
2013-08-25 00:24:27 +00:00
GCC Administrator
84deafd2c3 Daily bump.
From-SVN: r201972
2013-08-25 00:16:46 +00:00
Gabriel Dos Reis
ca43e9d547 c-pretty-print.h (c_pretty_printer::constant): Now a virtual member function.
* c-pretty-print.h (c_pretty_printer::constant): Now a virtual
	member function.
	(pp_constant): Adjust.
	(pp_c_constant): Remove.
	* c-pretty-print.c (c_pretty_printer::constant): Rename from
	pp_c_constant.  Adjust.
	(pp_c_constant)
	(pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
	(c_pretty_printer::c_pretty_printer): Remove assignment to constant.

cp/
	* cxx-pretty-print.h (cxx_pretty_printer::constant): Now a member
	function, overriding c_pretty_printer::constant.
	* cxx-pretty-print.c (cxx_pretty_printer::constant): Rename from
	pp_cxx_constant.  Adjust.
	(cxx_pretty_printer::cxx_pretty_printer): Do not assign to constant.

From-SVN: r201969
2013-08-24 22:29:37 +00:00
Jeff Law
ead69dac20 tree-ssa-pre.c (do_regular_insertion): Include the expression in the debugging dump when the expression is fully redundant.
* tree-ssa-pre.c (do_regular_insertion): Include the expression
        in the debugging dump when the expression is fully redundant.

From-SVN: r201963
2013-08-23 22:48:19 -06:00
GCC Administrator
b6e0149fca Daily bump.
From-SVN: r201959
2013-08-24 00:16:49 +00:00
Gabriel Dos Reis
025311c4bb diagnostic.c (diagnostic_set_caret_max_width): Use pp_buffer.
* diagnostic.c (diagnostic_set_caret_max_width): Use pp_buffer.
	* gimple-pretty-print.c (gimple_dump_bb_buff): Likewise.
	* pretty-print.c (pp_formatted_text_data): Likewise.
	(pp_write_text_to_stream): Likewise.
	(pp_write_text_as_dot_label_to_stream): Likewise.
	(pp_append_r): Likewise.
	(pp_format): Likewise.
	(pp_flush): Likewise.
	(pp_clear_output_area): Likewise.
	(pp_append_text): Likewise.
	(pp_formatted_text): Likewise.
	(pp_remaining_character_count_for_line): Likewise.
	(pp_newline): Likewise.
	(pp_character): Likewise.
	(output_buffer::~output_buffer): Define.
	(pretty_printer::~pretty_printer): Destruct output buffer.
	* pretty-print.h (output_buffer::~output_buffer): Declare.
	(pretty_printer::~pretty_printer): Declare virtual.

c/
	* c-objc-common.c (c_tree_printer): Document the nature of the cast.
	(c_initialize_diagnostics): Call a destructor for the early printer.

cp/
	* cp-objcp-common.c (cxx_initialize_diagnostics): Call a
	destructor for the early printer.
	* error.c (type_to_string): Use pp_buffer.

From-SVN: r201956
2013-08-23 23:58:55 +00:00
Marc Glisse
0cadbfaa89 re PR other/57324 (Undefined behavior issues found with clang's -fsanitize=undefined)
2013-08-24  Marc Glisse  <marc.glisse@inria.fr>

	PR other/57324
	* hwint.h (HOST_WIDE_INT_UC, HOST_WIDE_INT_1U, HOST_WIDE_INT_M1,
	HOST_WIDE_INT_M1U): New macros.
	* fold-const.c (sign_bit_p, build_range_check, fold_unary_loc,
	fold_binary_loc, fold_ternary_loc): Use the new macros. Use an
	unsigned -1 for lshift.
	* cse.c (cse_insn): Likewise.
	* double-int.c (rshift_double, lshift_double): Likewise.
	* builtins.c (fold_builtin_bitop): Likewise.
	* combine.c (force_to_mode): Likewise.
	* tree.c (integer_pow2p, tree_log2, tree_floor_log2): Likewise.
	* simplify-rtx.c (simplify_const_unary_operation,
	simplify_const_binary_operation): Likewise.
	* tree-stdarg.c (va_list_counter_bump, va_list_ptr_read,
	check_va_list_escapes): Likewise.
	* rtlanal.c (nonzero_bits1): Likewise.
	* expmed.c (expand_smod_pow2): Likewise.
	* tree-ssa-structalias.c (UNKNOWN_OFFSET): Use HOST_WIDE_INT_MIN.

From-SVN: r201953
2013-08-23 22:16:08 +00:00
Ian Lance Taylor
4500f676e1 compiler: don't export embedded builtins.
The panic in test/fixedbugs/bug461.go was caused by the fact that
reflect expects unexported fields in a struct to have a valid
package path. If a struct field is an embedded built-in type, it is
now given the package name of the currently compiling package, so it
remains unexported for purposes of reflect.

Fixed Issue 25.

From-SVN: r201951
2013-08-23 21:04:40 +00:00
Jan Hubicka
009e53539d cgraph.c (cgraph_turn_edge_to_speculative): Mark target node as having address taken.
* cgraph.c (cgraph_turn_edge_to_speculative): Mark target node
	as having address taken.

From-SVN: r201948
2013-08-23 18:33:45 +00:00
Mikael Morin
1f65468a21 re PR fortran/57798 (Incorrect handling of sum over first dimension of a product of automatic arrays)
fortran/
	PR fortran/57798
	* trans-array.c (gfc_conv_ss_startstride, set_loop_bounds,
	gfc_set_delta): Generate preliminary code before the outermost loop.

testsuite/
	PR fortran/57798
	* gfortran.dg/inline_sum_5.f90: New.

From-SVN: r201947
2013-08-23 17:49:39 +00:00
Janus Weil
4f7395ffa1 re PR fortran/57843 ([OOP] Type-bound assignment is resolved to non-polymorphic procedure call)
2013-08-23  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/57843
	* interface.c (gfc_extend_assign): Look for type-bound assignment
	procedures before non-typebound.


2013-08-23  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/57843
	* gfortran.dg/typebound_assignment_7.f90: New.

From-SVN: r201946
2013-08-23 18:43:15 +02:00
Mikael Morin
cf66452262 trans-array.c (gfc_conv_section_startstride): Move &loop->pre access to the callers.
2013-08-23  Mikael Morin  <mikael@gcc.gnu.org>

	* trans-array.c (gfc_conv_section_startstride): Move &loop->pre access
	to the callers.
	(gfc_conv_ss_startstride, gfc_conv_expr_descriptor): Update callers.

From-SVN: r201945
2013-08-23 16:06:44 +00:00
Jan Hubicka
64cbf23d1f ipa-utils.h (method_class_type): Declare.
* ipa-utils.h (method_class_type): Declare.
	* ipa-devirt.c (method_class_type): Export.

	* cgraphunit.c (analyze_functions): Do basic devirtualization;
	do not walk base classes of anonymous types.

From-SVN: r201944
2013-08-23 15:55:22 +00:00
Jan Hubicka
c4be656862 devirt-13.C: New testcase.
* g++.dg/ipa/devirt-13.C: New testcase.
	* g++.dg/ipa/devirt-14.C: New testcase.
	* cgraphunit.c (analyze_functions): Do basic devirtualization;
	do not walk base classes of anonymous types.

From-SVN: r201942
2013-08-23 15:29:04 +00:00
Kaz Kojima
97aba8e901 re PR rtl-optimization/58220 (Many new failures for SH after rev. 201833)
2013-08-23  Kaz Kojima  <kkojima@gcc.gnu.org>

        PR rtl-optimization/58220
        PR regression/58221
	* final.c (reemit_insn_block_notes): Use NEXT_INSN to
        handle SEQUENCE insns properly.

From-SVN: r201941
2013-08-23 14:31:06 +00:00
Gabriel Dos Reis
0fc80001f0 pretty-print.h (pp_newline_and_flush): Declare.
* pretty-print.h (pp_newline_and_flush): Declare.  Remove macro
	definition.
	(pp_newline_and_indent): Likewise.
	(pp_separate_with): Likewise.
	* pretty-print.c (pp_newline_and_flush): Define.
	(pp_newline_and_indent): Likewise.
	(pp_separate_with): Likewise.

From-SVN: r201940
2013-08-23 10:46:49 +00:00
Jakub Jelinek
520a5868fa re PR target/58218 (-mcmodel=medium cause assembler warning "ignoring incorrect section type for .lbss")
PR target/58218
	* config/i386/x86-64.h (TARGET_SECTION_TYPE_FLAGS): Define.
	* config/i386/i386.c (x86_64_elf_section_type_flags): New function.

	* gcc.target/i386/pr58218.c: New test.

From-SVN: r201938
2013-08-23 11:57:44 +02:00
Kirill Yukhin
e500c62a86 predicates.md (ext_sse_reg_operand): New.
* gcc/config/i386/predicates.md (ext_sse_reg_operand): New.
* gcc/config/i386/i386.md (*movti_internal): Use
predicate to determine if EVEX is needed.
(*movsi_internal): Ditto.
(*movdf_internal): Ditto.
(*movsf_internal): Ditto.
* gcc/config/i386/mmx.md (*mov<mode>_internal): Ditto.

From-SVN: r201936
2013-08-23 07:33:00 +00:00
Jakub Jelinek
6b00d7dd17 re PR tree-optimization/58209 (ICE in extract_range_from_binary_expr, at tree-vrp.c:2294)
PR tree-optimization/58209
	* tree-tailcall.c (process_assignment): Handle POINTER_PLUS_EXPR.
	(find_tail_calls): Give up for pointer result types if m is non-NULL.
	(adjust_return_value_with_ops): For PLUS_EXPR and pointer result type
	emit POINTER_PLUS_EXPR.
	(create_tailcall_accumulator): For pointer result type accumulate in
	sizetype type.

	* gcc.c-torture/execute/pr58209.c: New test.

From-SVN: r201935
2013-08-23 09:30:40 +02:00
Ian Lance Taylor
6e6bbb604e libgo: Update libtool.m4 from upstream to recognize powerpcle.
From-SVN: r201933
2013-08-23 01:08:25 +00:00
GCC Administrator
c1b4a4c79a Daily bump.
From-SVN: r201932
2013-08-23 00:16:58 +00:00
Michael Meissner
bdacc9852a pr57744.c: Declare abort.
2013-08-22  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* gcc.target/powerpc/pr57744.c: Declare abort.

From-SVN: r201929
2013-08-22 18:16:59 +00:00
Paolo Carlini
4f2a9f9081 configure.ac: Add backslashes missing from the last change.
2013-08-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* configure.ac: Add backslashes missing from the last change.
	* configure: Regenerate.

From-SVN: r201927
2013-08-22 16:52:01 +00:00
Paolo Carlini
42306d73c8 re PR c++/56380 (Const/reference mutable members are not always rejected in class templates)
/cp
2013-08-22  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/56380
	* class.c (check_field_decls): Check for const mutable and const
	reference data members.

/testsuite
2013-08-22  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/56380
	* g++.dg/template/error54.C: New.

From-SVN: r201925
2013-08-22 16:30:08 +00:00
Jan Hubicka
7bf4274ea7 ipa.c (function_and_variable_visibility): First remember function was global and then make it local.
* ipa.c (function_and_variable_visibility): First remember function was global
	and then make it local.

From-SVN: r201924
2013-08-22 15:56:01 +00:00
Julian Brown
1bea243d32 configure.ac: Add aarch64 to list of arches which use "nop" in debug_line test.
* configure.ac: Add aarch64 to list of arches which use "nop" in
	debug_line test.
	* configure: Regenerate.

From-SVN: r201923
2013-08-22 15:36:53 +00:00
Andreas Krebbel
bcba7ecc11 linux.h (TARGET_LIBC_HAS_FUNCTION): Define as gnu_libc_has_function.
2013-08-22  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/linux.h (TARGET_LIBC_HAS_FUNCTION): Define as
	gnu_libc_has_function.
	* config/s390/tpf.h: Likewise.

From-SVN: r201922
2013-08-22 15:28:15 +00:00
Jan Hubicka
4c495b0d99 * timevar.c (validate_phases): Add cast.
From-SVN: r201921
2013-08-22 15:25:53 +00:00
Jan Hubicka
5e302bca18 timevar.c (validate_phases): Use size_t for memory.
* timevar.c (validate_phases): Use size_t for memory.
	* timevar.h (struct timevar_time_def): Use size_t for ggc_mem.

From-SVN: r201920
2013-08-22 14:58:17 +00:00
Janus Weil
a7a6a027f2 re PR fortran/58185 ([OOP] ICE when selector in SELECT TYPE is non-polymorphic)
2013-08-22  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/58185
	* match.c (copy_ts_from_selector_to_associate): Only build class
	container for polymorphic selector. Some cleanup.


2013-08-22  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/58185
	* gfortran.dg/select_type_34.f90: New.

From-SVN: r201919
2013-08-22 13:49:46 +02:00
Gabriel Dos Reis
da6ca2b5ee pretty-print.h (output_buffer::output_buffer): Declare.
* pretty-print.h (output_buffer::output_buffer): Declare.
	(pretty_printer::pretty_printer): Likewise.
	(pp_construct): Remove.
	* pretty-print.c (output_buffer::output_buffer): Define.
	(pretty_printer::pretty_printer): Rename from pp_construct.  Simplify.
	* gimple-pretty-print.c (print_gimple_stmt): Do not call pp_construct.
	(print_gimple_expr): Likewise.
	(print_gimple_seq): Likewise.
	(gimple_dump_bb): Likewise.
	* sched-vis.c (dump_value_slim): Likewise.
	(dump_insn_slim): Likewise.
	(dump_rtl_slim): Likewise.
	(str_pattern_slim): Likewise.
	* tree-mudflap.c (mf_varname_tree): Likewise.
	* graph.c (print_graph_cfg): Likewise.
	(start_graph_dump): Likewise.
	* tree-pretty-print.c (maybe_init_pretty_print): Likewise.  Use
	placement-new.
	* diagnostic.c (diagnostic_initialize): Simplify early diagnostic
	pretty printer initialization.
	* coretypes.h (diagnostic_context): Remove superflous type alias
	declaration.
	(pretty_printer): Likewise.  Declare directly as a class.
	(pretty_print_info): Remove declaration as class.
	* asan.c (asan_emit_stack_protection): Remove call to pp_construct
	and pp_clear_output_area.
	(asan_add_global): Likewise.

c/
	* c-objc-common.c (c_initialize_diagnostics): Simplify C pretty
	printer initialization.

c-family/
	* c-pretty-print.h (pp_c_pretty_printer_init): Remove.
	(c_pretty_printer::c_pretty_printer): Declare.
	* c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
	c_pretty_printer_init.  Adjust.
	(print_c_tree): Do not call c_pretty_printer_init.
	* c-ada-spec.c (dump_ads): Remove call to pp_construct.

cp/
	* error.c (init_error): Remove calls to pp_construct and
	pp_cxx_pretty_printer_init.  Initialize cxx_pp with placement-new.
	* cxx-pretty-print.h (cxx_pretty_printer::cxx_pretty_printer): Declare.
	(cxx_pretty_printer_init): Remove.
	* cxx-pretty-print.c (cxx_pretty_printer::cxx_pretty_printer):
	Rename from cxx_pretty_printer_init.  Adjust.
	* cp-objcp-common.c (cxx_initialize_diagnostics): Simplify
	initialization of C++ diagnostics pretty printer.

From-SVN: r201918
2013-08-22 10:14:46 +00:00
Jan Hubicka
0e1474e5a6 * cgraphunit.c (analyze_functions) Use update_type_inheritance_graph.
* ipa-utils.h (update_type_inheritance_graph): Declare.
	(possible_polymorphic_call_target_p): Declare.
	(possible_polymorphic_call_target_p): New.
	* ipa-devirt.c: Update toplevel comments.
	(cached_polymorphic_call_targets): Move up.
	(odr_type_d): Move ID down.
	(polymorphic_type_binfo_p): Update comment.
	(odr_hasher::remove): Likewise;
	(get_odr_type): Set anonymous_namespace.
	(dump_odr_type): Dump it.
	(dump_type_inheritance_graph): Do not ICE when there are no ODR types.
	(maybe_record_node): Record node in cached_polymorphic_call_targets.
	(record_binfo): Add comment.
	(free_polymorphic_call_targets_hash): Do not ICE when cache is not built.
	(devirt_node_removal_hook): Do not iCE when cache is freed.
	(possible_polymorphic_call_target_p): New predicate.
	(update_type_inheritance_graph): New function.

From-SVN: r201917
2013-08-22 09:32:07 +00:00
Tim Shen
e280b6ffe7 regex.h: Replace 8 spaces in indentation with a tab.
2013-08-22  Tim Shen  <timshen91@gmail.com>

	* include/bits/regex.h: Replace 8 spaces in indentation with a tab.
	* include/bits/regex_automaton.h: Same.
	* include/bits/regex_automaton.tcc: Same.
	* include/bits/regex_compiler.h: Same.
	* include/bits/regex_compiler.tcc: Same.
	* include/bits/regex_constants.h: Same.
	* include/bits/regex_executor.h: Same.
	* include/bits/regex_executor.tcc: Same.

From-SVN: r201916
2013-08-22 09:01:38 +00:00
Alexander Ivchenko
3f97cb0b27 i386-common.c (OPTION_MASK_ISA_AVX512F_SET): New.
* common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512F_SET): New.
(OPTION_MASK_ISA_AVX512CD_SET): Ditto.
(OPTION_MASK_ISA_AVX512PF_SET): Ditto.
(OPTION_MASK_ISA_AVX512ER_SET): Ditto.
(OPTION_MASK_ISA_AVX2_UNSET): Update.
(OPTION_MASK_ISA_AVX512F_UNSET): New.
(OPTION_MASK_ISA_AVX512CD_UNSET): Ditto.
(OPTION_MASK_ISA_AVX512PF_UNSET): Ditto.
(OPTION_MASK_ISA_AVX512ER_UNSET): Ditto.
(ix86_handle_option): Handle OPT_mavx512f, OPT_mavx512cd,
OPT_mavx512pf, OPT_mavx512er cases.
* config/i386/constraints.md (v): New constraint.
(Yi, Yj): Replace SSE_REGS with ALL_SSE_REGS.
* config/i386/cpuid.h (bit_AVX512F, bit_AVX512PF, bit_AVX512ER)
(bit_AVX512CD): New.
* config/i386/driver-i386.c (host_detect_local_cpu): Detect
AVX512F, AVX512ER, AVX512PF, AVX512CD features.
* config/i386/i386-c.c (ix86_target_macros_internal):
Conditionally define __AVX512F__, __AVX512ER__, __AVX512CD__,
__AVX512PF__.
* config/i386/i386-modes.def (VECTOR_MODES (INT, 128))
(VECTOR_MODES (FLOAT, 128), INT_MODE (XI, 64)): New modes.
* config/i386/i386.c (regclass_map, dbx_register_map)
(dbx64_register_map, svr4_dbx_register_map): Add new SSE registers.
(gate_insert_vzeroupper): Disable vzeroupper for TARGET_AVX512F.
(ix86_target_string): Define -mavx512f, -mavx512er, -mavx512cd,
-mavx512pf options.
(ix86_option_override_internal): Define PTA_AVX512F, PTA_AVX512ER,
PTA_AVX512PF, PTA_AVX512CD.  Handle -mavx512f, -mavx512er, -mavx512cd,
-mavx512pf options.  Fix formatting.
(ix86_conditional_register_usage): Squash EXT_REX_SSE_REGs for 32-bit
targets.  Squash EVEX_SSE_REGS if AVX512F is disabled.
(ix86_valid_target_attribute_inner_p): Handle -mavx512f, -mavx512er,
-mavx512cd, -mavx512pf options.
(standard_sse_constant_opcode): Add vpternlogd for 512-bit modes.
(print_reg, ix86_print_operand): Handle 'g' to output 512-bit operands.
(ix86_preferred_output_reload_class): Replace SSE_REGS with
ALL_SSE_REGS.
(ix86_hard_regno_mode_ok): Support 512-bit registers.
(ix86_set_reg_reg_cost): Ditto.
(x86_order_regs_for_local_alloc): Ditto.
(MAX_VECT_LEN): Extend to 64-byte.
(ix86_spill_class): Replace SSE_REGS with ALL_SSE_REGS.
* config/i386/i386.h (TARGET_AVX512F, TARGET_AVX512PF)
(TARGET_AVX512ER, TARGET_AVX512CD): New.
(BIGGEST_ALIGNMENT): Extend to 512-bits.
(FIRST_PSEUDO_REGISTER, FIXED_REGISTERS): Add new registers.
(CALL_USED_REGISTERS, REG_ALLOC_ORDER): Likewise.
(VALID_AVX512F_SCALAR_MODE, VALID_AVX512F_REG_MODE): New.
(SSE_REG_MODE_P): Support new modes.
(FIRST_MMX_REG, FIRST_REX_INT_REG, FIRST_REX_SSE_REG): Add comments.
(FIRST_EXT_REX_SSE_REG, LAST_EXT_REX_SSE_REG): New.
(reg_class, REG_CLASS_NAMES): Add EVEX_SSE_REGS, ALL_SSE_REGS.
(SSE_CLASS_P, MAYBE_SSE_CLASS_P): Replace SSE_REGS with ALL_SSE_REGS.
(REG_CLASS_CONTENTS): Add new registers.
(SSE_REGNO_P, SSE_REGNO, HARD_REGNO_RENAME_OK): Support new registers.
(EXT_REX_SSE_REGNO_P): New.
(HI_REGISTER_NAMES): Add new registers.
* config/i386/i386.md: Define constants for new registers.
(mode): Add new 512-bit modes.
(prefix): Support evex prefix.
(isa): Support avx512f, noavx512f, fma_avx512f.
(ssemodesuffix): Add new 512-bit modes.
(movxi): New.
(*movxi_internal_avx512f): Ditto.
(*movdi_internal): Replace constraint "x" with the new constraint "v".
Support MODE_XI.
(*movsi_internal): Likewise.
(*movdf_internal): Likewise.
(*movsf_internal): Likewise.
(*fop_<mode>_comm_sse): Replace constraint "x" with new constraint "v".
(<code><mode>3): Likewise.
* config/i386/i386.opt (mavx512f, mavx512pf, mavx512er, mavx512cd): New.
* config/i386/mmx.md (*mov<mode>_internal): Replace constraint "x"
with the new constraint "v".
* config/i386/sse.md (*mov<mode>_internal): Support new registers and
modes.
(<sse>_loadu<ssemodesuffix><avxsizesuffix>): Replace constraint "x"
with the new constraint "v".
(<sse2>_loaddqu<avxsizesuffix>): Likewise.
(<sse2>_storedqu<avxsizesuffix>): Likewise.
(*<plusminus_insn><mode>3): Likewise.
(<sse>_vm<plusminus_insn><mode>3): Likewise.
(*mul<mode>3): Likewise.
(<sse>_vmmul<mode>3): Likewise.
(<sse>_div<mode>3): Likewise.
(<sse>_vmdiv<mode>3): Likewise.
(<sse>_sqrt<mode>2): Likewise.
(<sse>_vmsqrt<mode>2): Likewise.
(*<code><mode>3_finite): Likewise.
(*<code><mode>3) <smaxmin>: Likewise.
(<sse>_vm<code><mode>3): Likewise.
(*<code><mode>3) <any_logic>: Likewise.
(*fma_fmadd_<mode>): Likewise.
(*fma_fmsub_<mode>): Likewise.
(*fma_fnmadd_<mode>): Likewise.
(*fma_fnmsub_<mode>): Likewise.
(*fma_fmaddsub_<mode>): Likewise.
(*fma_fmsubadd_<mode>): Likewise.
(*fmai_fmadd_<mode>): Likewise.
(*fmai_fmsub_<mode>): Likewise.
(*fmai_fnmadd_<mode>): Likewise.
(*fmai_fnmsub_<mode>): Likewise.
(sse_cvtsi2ss): Likewise.
(sse_cvtsi2ssq): Likewise.
(sse_cvtss2si): Likewise.
(sse_cvtss2si_2): Likewise.
(sse_cvtss2siq): Likewise.
(sse_cvtss2siq_2): Likewise.
(sse_cvttss2si): Likewise.
(sse_cvtss2siq_2): Likewise.
(float<sseintvecmodelower><mode>2): Likewise.
(sse2_cvtsd2si_2): Likewise.
(sse2_cvtsd2siq_2): Likewise.
(*<plusminus_insn><mode>3): Likewise.
(*<sse2_avx2>_<plusminus_insn><mode>3): Likewise.
(*<sse4_1_avx2>_mul<mode>3): Likewise.
(ashr<mode>3): Likewise.
(<shift_insn><mode>3): Likewise.
(avx2_<code><mode>3): Likewise.
(*avx2_<code><mode>3): Likewise.
(*andnot<mode>3): Likewise.
(*<code><mode>3) <any_logic>: Likewise.
(abs<mode>2): Likewise.
(avx2_permvar<mode>): Likewise.
(avx2_perm<mode>_1): Likewise.
(*avx_vpermilp<mode>): Likewise.
(avx_vpermilvar<mode>3): Likewise.
(avx2_ashrv<mode>): Likewise.
(avx2_<shift_insn>v<mode>): Likewise.
* doc/invoke.texi: Document -mavx512f, -mavx512pf, -mavx512er,
-mavx512cd.
* doc/rtl.texi: Document XImode.


Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>

From-SVN: r201915
2013-08-22 06:06:03 +00:00
Tim Shen
1b488e33b6 regex.h: Executor caller.
2013-08-22  Tim Shen  <timshen91@gmail.com>

	* include/bits/regex.h: Executor caller.
	* include/bits/regex_executor.h: Fix empty grouping problem.
	* include/bits/regex_executor.tcc: Same.
	* testsuite/28_regex/algorithms/regex_match/ecma/cstring_emptygroup.cc:
	  New.

From-SVN: r201914
2013-08-22 00:58:28 +00:00
GCC Administrator
9ad30113d6 Daily bump.
From-SVN: r201913
2013-08-22 00:16:22 +00:00
Jeff Law
188eb57781 Fix typo.
From-SVN: r201908
2013-08-21 13:42:11 -06:00
Jeff Law
b9ebee5df9 tree-flow.h (register_jump_thread): Pass vector of edges instead of each important edge.
* tree-flow.h (register_jump_thread): Pass vector of edges
       instead of each important edge.
       * tree-ssa-threadedge.c (thread_across_edge): Build the jump
       thread path into a vector and pass that to register_jump_thread.
       * tree-ssa-threadupdate.c (register_jump_thread): Conver the
       passed in edge vector to the current 3-edge form.

From-SVN: r201907
2013-08-21 13:27:54 -06:00
Paolo Carlini
98cf9ac919 re PR c++/56130 (__attribute__((deprecated)) does not affect C++ reference)
2013-08-21  Paolo Carlini  <paolo.carlini@oracle.com>

	* call.c (build_new_method_call_1): Use INDIRECT_REF_P.
	* cp-tree.h (REFERENCE_REF_P): Likewise.
	* semantics.c (finish_offsetof): Likewise.


/cp
2013-08-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/56130
	* semantics.c (finish_id_expression): Handle deprecated references.

/testsuite
2013-08-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/56130
	* g++.dg/warn/deprecated-7.C: New.

From-SVN: r201906
2013-08-21 19:06:05 +00:00
Jeff Law
dd5e84232f Revert:
2013-08-20  Alexey Makhalov  <makhaloff@gmail.com>

        * dce.c (fini_dce): Call df_analyze again just in case
        delete_unmarked_insns removed anything.

From-SVN: r201905
2013-08-21 12:35:01 -06:00
Paolo Carlini
9835f8a1f8 pr57451.C: Remove spurious dg-do directive.
2013-08-21  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/tree-prof/pr57451.C: Remove spurious dg-do directive.

From-SVN: r201902
2013-08-21 15:28:09 +00:00
Joern Rennecke
445dc8dfd8 reload.h (struct reg_equivs): Rename to ..
* reload.h (struct reg_equivs): Rename to ..
        (struct reg_equivs_s): .. this.

From-SVN: r201901
2013-08-21 15:38:35 +01:00
Martin Liska
e0df53dd42 * ipa.c (ipa_profile_read_summary): Fix buffer overflow.
From-SVN: r201900
2013-08-21 14:27:10 +00:00
Rainer Orth
e7d1d3ebe7 Don't nest comment in gcc/config/sol2.h.
* config/sol2-10.h (TARGET_LIBC_HAS_FUNCTION): Don't nest
	comment.

From-SVN: r201899
2013-08-21 14:25:44 +00:00
Jeff Law
5562e26eaf tree-vrp.c (simplify_stmt_for_jump_threading): Try to simplify assignments too.
* tree-vrp.c (simplify_stmt_for_jump_threading): Try to
	simplify assignments too.  If the RHS collapses to a singleton
	range, then return the value for the range.

	* gcc.dg/tree-ssa/ssa-vrp-thread-1.c: New test.

From-SVN: r201898
2013-08-21 06:36:36 -06:00
Paolo Carlini
8724cfdd3b re PR c++/56134 (ICE: alias attribute on c++ static class member;)
2013-08-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/56134
	* g++.dg/ext/attr-alias-3.C: New.

From-SVN: r201897
2013-08-21 11:20:15 +00:00