aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-08-26c-pretty-print.h (c_pretty_printer::unary_expression): Now a virtual member ↵Gabriel Dos Reis6-231/+266
function. c-family/ * c-pretty-print.h (c_pretty_printer::unary_expression): Now a virtual member function. (c_pretty_printer::multiplicative_expression): Likewise. (c_pretty_printer::conditional_expression): Likewise. (c_pretty_printer::assignment_expression): Likewise. (c_pretty_printer::expression): Likewise. (pp_unary_expression): Adjust. (pp_multiplicative_expression): Likewise. (pp_assignment_expression): Likewise. (pp_conditional_expression): Likewise. (pp_expression): Likewise. * c-pretty-print.c (c_pretty_printer::unary_expression): Rename from pp_c_unary_expression. Adjust. (c_pretty_printer::multiplicative_expression): Rename from pp_c_multiplicative_expression. Adjust. (c_pretty_printer::conditional_expression): Rename from pp_c_conditional_expression. Adjust. (c_pretty_printer::assignment_expression): Rename from pp_c_assignment_expression. Adjust. (c_pretty_printer::expression): Rename from pp_c_expression. Adjust. (c_pretty_printer::c_pretty_printer): Do not assign to unary_expression, multiplicative_expression, conditional_expression, expression. cp/ * cxx-pretty-print.h (cxx_pretty_printer::unary_expression): Declare as overrider. (cxx_pretty_printer::multiplicative_expression): Likewise. (cxx_pretty_printer::conditional_expression): Likewise. (cxx_pretty_printer::assignment_expression): Likewise. (cxx_pretty_printer::expression): Likewise. * cxx-pretty-print.c (cxx_pretty_printer::unary_expression): Rename from pp_cxx_unary_expression. Adjust. (cxx_pretty_printer::multiplicative_expression): Rename from pp_cxx_multiplicative_expression. Adjust. (cxx_pretty_printer::conditional_expression): Rename from pp_cxx_conditional_expression. Adjust. (cxx_pretty_printer::assignment_expression): Rename from pp_cxx_assignment_expression. Adjust. (cxx_pretty_printer::expression): Rename from pp_cxx_expression. Adjust. (cxx_pretty_printer::cxx_pretty_printer): Dot not assign to unary_expression, multiplicative_expression, conditional_expression, assignment_expression, expression. From-SVN: r201987
2013-08-26c-pretty-print.h (c_pretty_printer::postfix_expression): Now a virtual ↵Gabriel Dos Reis6-115/+134
member function. c-family/ * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a virtual member function. (pp_postfix_expression): Adjust. (pp_c_postfix_expression): Remove. * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename from pp_c_postfix_expression. Adjust. (c_pretty_printer::c_pretty_printer): Do not assign to postfix_expression. cp/ * cxx-pretty-print.h (cxx_pretty_printer::postfix_expression): Declare as overrider. * cxx-pretty-print.c (cxx_pretty_printer::postfix_expression): Rename from pp_cxx_postfix_expression. Adjust. (pp_cxx_expression): Use pp_postfix_expression. (cxx_pretty_printer::cxx_pretty_printer): Do not assign to postfix_expression. From-SVN: r201985
2013-08-26Daily bump.GCC Administrator1-1/+1
From-SVN: r201984
2013-08-25re PR fortran/58146 (Array slice bounds checking)Thomas Koenig5-73/+122
2013-08-26 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/58146 * array.c (gfc_ref_dimen_size): If possible, use gfc_dep_difference to calculate array refrence sizes. Fall back to integer code otherwise. * dependency.c (discard_nops). Move up. Also discarde widening integer conversions. (gfc_dep_compare_expr): Use discard_nops. 2013-08-26 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/58146 * gfortran.dg/bounds_check_18.f90: New test. From-SVN: r201981
2013-08-25c-pretty-print.h (c_pretty_printer::primary_expression): Now a virtua member ↵Gabriel Dos Reis6-43/+64
function. c-family/ * c-pretty-print.h (c_pretty_printer::primary_expression): Now a virtua member function. (pp_primary_expression): Adjust. (pp_c_primary_expression): Remove. * c-pretty-print.c (c_pretty_printer::primary_expression): Rename from pp_c_primary_expression. Adjust. (pp_c_initializer_list): Use pp_primary_expression. (c_pretty_printer::c_pretty_printer): Do not assign to primary_expression. cp/ * cxx-pretty-print.h (cxx_pretty_printer::primary_expression): Now an overrider of c_pretty_printer::primary_expression. * cxx-pretty-print.c (cxx_pretty_printer::primary_expression): Rename from pp_cxx_primary_expression. Adjust. (pp_cxx_postfix_expression): Use pp_primary_expression. (pp_cxx_ctor_initializer): Likewise. (cxx_pretty_printer::cxx_pretty_printer): Do not assign to primary_expression. From-SVN: r201978
2013-08-25cgraph.c (cgraph_turn_edge_to_speculative): Fix debug output.Jan Hubicka2-2/+7
* cgraph.c (cgraph_turn_edge_to_speculative): Fix debug output. From-SVN: r201977
2013-08-25* g++.dg/ipa/devirt-14.C: Fix typo.Jan Hubicka2-1/+5
From-SVN: r201976
2013-08-25tree.h (TYPE_FINAL_P, [...]): New macros.Jan Hubicka5-9/+32
* 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-25c-pretty-print.h (c_pretty_printer::translate_string): Declare.Gabriel Dos Reis5-23/+42
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-25c-pretty-print.h (c_pretty_printer::id_expression): Now a virtual function.Gabriel Dos Reis6-19/+39
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-25Daily bump.GCC Administrator1-1/+1
From-SVN: r201972
2013-08-24c-pretty-print.h (c_pretty_printer::constant): Now a virtual member function.Gabriel Dos Reis6-27/+46
* 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-23tree-ssa-pre.c (do_regular_insertion): Include the expression in the ↵Jeff Law2-1/+10
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-24Daily bump.GCC Administrator1-1/+1
From-SVN: r201959
2013-08-23diagnostic.c (diagnostic_set_caret_max_width): Use pp_buffer.Gabriel Dos Reis10-22/+75
* 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-23re PR other/57324 (Undefined behavior issues found with clang's ↵Marc Glisse13-52/+73
-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-23compiler: don't export embedded builtins.Ian Lance Taylor2-3/+28
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-23cgraph.c (cgraph_turn_edge_to_speculative): Mark target node as having ↵Jan Hubicka2-0/+6
address taken. * cgraph.c (cgraph_turn_edge_to_speculative): Mark target node as having address taken. From-SVN: r201948
2013-08-23re PR fortran/57798 (Incorrect handling of sum over first dimension of a ↵Mikael Morin4-7/+58
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-23re PR fortran/57843 ([OOP] Type-bound assignment is resolved to ↵Janus Weil4-48/+115
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-23trans-array.c (gfc_conv_section_startstride): Move &loop->pre access to the ↵Mikael Morin2-8/+14
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-23ipa-utils.h (method_class_type): Declare.Jan Hubicka3-1/+5
* 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-23devirt-13.C: New testcase.Jan Hubicka5-20/+133
* 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-23re PR rtl-optimization/58220 (Many new failures for SH after rev. 201833)Kaz Kojima2-1/+8
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-23pretty-print.h (pp_newline_and_flush): Declare.Gabriel Dos Reis3-18/+44
* 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-23re PR target/58218 (-mcmodel=medium cause assembler warning "ignoring ↵Jakub Jelinek5-0/+39
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-23predicates.md (ext_sse_reg_operand): New.Kirill Yukhin4-15/+26
* 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-23re PR tree-optimization/58209 (ICE in extract_range_from_binary_expr, at ↵Jakub Jelinek4-7/+76
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-23libgo: Update libtool.m4 from upstream to recognize powerpcle.Ian Lance Taylor2-8/+20
From-SVN: r201933
2013-08-23Daily bump.GCC Administrator1-1/+1
From-SVN: r201932
2013-08-22pr57744.c: Declare abort.Michael Meissner2-0/+6
2013-08-22 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/pr57744.c: Declare abort. From-SVN: r201929
2013-08-22configure.ac: Add backslashes missing from the last change.Paolo Carlini3-6/+11
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-22re PR c++/56380 (Const/reference mutable members are not always rejected in ↵Paolo Carlini4-0/+37
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-22ipa.c (function_and_variable_visibility): First remember function was global ↵Jan Hubicka2-1/+6
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-22configure.ac: Add aarch64 to list of arches which use "nop" in debug_line test.Julian Brown3-4/+12
* configure.ac: Add aarch64 to list of arches which use "nop" in debug_line test. * configure: Regenerate. From-SVN: r201923
2013-08-22linux.h (TARGET_LIBC_HAS_FUNCTION): Define as gnu_libc_has_function.Andreas Krebbel3-3/+12
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* timevar.c (validate_phases): Add cast.Jan Hubicka2-1/+6
From-SVN: r201921
2013-08-22timevar.c (validate_phases): Use size_t for memory.Jan Hubicka3-3/+8
* 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-22re PR fortran/58185 ([OOP] ICE when selector in SELECT TYPE is non-polymorphic)Janus Weil4-31/+32
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-22pretty-print.h (output_buffer::output_buffer): Declare.Gabriel Dos Reis22-125/+180
* 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* cgraphunit.c (analyze_functions) Use update_type_inheritance_graph.Jan Hubicka4-18/+120
* 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-22regex.h: Replace 8 spaces in indentation with a tab.Tim Shen9-949/+960
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-22i386-common.c (OPTION_MASK_ISA_AVX512F_SET): New.Alexander Ivchenko15-240/+808
* 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-22regex.h: Executor caller.Tim Shen5-89/+235
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-22Daily bump.GCC Administrator1-1/+1
From-SVN: r201913
2013-08-21Fix typo.Jeff Law1-0/+1
From-SVN: r201908
2013-08-21tree-flow.h (register_jump_thread): Pass vector of edges instead of each ↵Jeff Law4-7/+35
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-21re PR c++/56130 (__attribute__((deprecated)) does not affect C++ reference)Paolo Carlini6-5/+40
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-21Revert:Jeff Law2-11/+8
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-21pr57451.C: Remove spurious dg-do directive.Paolo Carlini2-1/+4
2013-08-21 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/tree-prof/pr57451.C: Remove spurious dg-do directive. From-SVN: r201902