Commit Graph

126303 Commits

Author SHA1 Message Date
David Malcolm
52a7fb3cd3 Handle simple inheritance in gengtype
* gengtype-parse.c (opts_have): Drop "static" so that
	we can use this from gengtype.c.
	* gengtype.c (set_gc_used_type): Mark any base class as used;
	update field traversal to visit inherited fields.
	(output_mangled_typename):  Convert references to classes within
	an inheritance hierarchy to reference the ultimate base class,
	since only it will have gt_ functions.
	(get_string_option): New.
	(walk_subclasses): New.
	(walk_type): Treat GTY structs that have a "desc" as being the
	root of an inheritance hierarchy.  Generate a switch on it
	within the marking function which walks all subclasses, adding
	cases for them via walk_subclasses.  For subclasses, visit all
	fields of the type (including inherited ones).
	(write_func_for_structure): Don't write fns for subclasses, only
	for the ultimate base class within an inheritance hierarchy.
	Subclasses-marking will be handled by the base class marking
	functions.
	(write_types): Likewise.
	(write_local_func_for_structure): Likewise.
	(USED_BY_TYPED_GC_P): Emit allocators for subclasses that have
	a "tag" option (and are thus concrete subclasses).
	(write_root): Use the marker function for the ultimate base class.
	* gengtype.h (FOR_ALL_INHERITED_FIELDS): New.
	(opts_have): Add declaration.

From-SVN: r204146
2013-10-29 01:01:52 +00:00
GCC Administrator
a6137eb928 Daily bump.
From-SVN: r204145
2013-10-29 00:17:05 +00:00
Vladimir Makarov
e697148cb0 lra-spills.c (lra_final_code_change): Remove useless move insns originated from moves of pseudos.
2013-10-28  Vladimir Makarov  <vmakarov@redhat.com>

	* lra-spills.c (lra_final_code_change): Remove useless move insns
	originated from moves of pseudos.

From-SVN: r204140
2013-10-28 23:15:12 +00:00
Jeff Law
8298122727 * lower-subreg.c (resolve_simple_move): Fix comment typo.
From-SVN: r204139
2013-10-28 15:45:16 -06:00
Bill Schmidt
52898b94fa gcc-bug-i.c: Add little endian variant.
2013-10-28  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.dg/vmx/gcc-bug-i.c: Add little endian variant.
	* gcc.dg/vmx/eg-5.c: Likewise.

From-SVN: r204138
2013-10-28 21:19:19 +00:00
Trevor Saunders
ff4c81cccb df-scan.c (df_collection_rec): Adjust.
* df-scan.c (df_collection_rec): Adjust.
	(copy_defs): New constant.
	(copy_uses): Likewise.
	(copy_eq_uses): Likewise.
	(copy_mw): Likewise.
	(copy_all): Likewise.
	(df_insn_rescan): Adjust.
	(df_notes_rescan): Likewise.
	(df_swap_refs): Likewise.
	(df_sort_and_compress_refs): Likewise.
	(df_sort_and_compress_mws): Likewise.
	(df_install_refs): Likewise.
	(df_install_mws): Likewise.
	(df_refs_add_to_chains): Add flags parameter controlling which vectors
	are coppied.
	(df_bb_refs_record): Adjust.
	(df_record_entry_block_defs): Likewise.
	(df_record_exit_block_defs): Likewise.
	(df_refs_verify): Likewise.
	(df_mws_verify): Likewise.
	(df_insn_refs_verify): Likewise.
	(df_bb_verify): Likewise.
	* ipa-pure-const.c (finish_state): Remove.
	(propagate): Adjust.
	* tree-data-ref.c tree-ssa-alias.c tree-ssa-loop-ivcanon.c
	tree-ssa-threadedge.c tree-vect-loop-manip.c tree-vect-slp.c
	var-tracking.c: Adjust.
	* vec.c (stack_vecs): Remove.
	(register_stack_vec): Likewise.
	(stack_vec_register_index): Likewise.
	(unregister_stack_vec): Likewise.
	* vec.h (struct va_stack): Remove.
	(struct vec<T, A, vl_ptr>): Specialize as
	struct vec<T, va_heap, vl_ptr> instead since va_heap is the only
	allocation strategy compatable with the vl_ptr layout.
	(struct vec<T, va_gc, vl_ptr>): Remove because it now gets an empty
	specialization anyway.
	(class stack_vec): New class.
	(vec_stack_alloc): Remove.
	(vec<T, va_heap, vl_ptr>::using_auto_storage): New method.

	* gcc-interface/decl.c (components_to_record): Adjust.

From-SVN: r204137
2013-10-28 14:03:46 -06:00
Alexander Ivchenko
b868b7cae4 i386.md (prefetch): Allow TARGET_AVX512PF.
* config/i386/i386.md (prefetch): Allow TARGET_AVX512PF.
        (*prefetch_avx512pf_<mode>): New.
        * config/i386/sse.md (avx512f_vmcmp<mode>3): Ditto.
        (avx512f_maskcmp<mode>3): Ditto.
        (vashrv16si3): Ditto.


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: r204130
2013-10-28 14:40:08 +00:00
Alexander Ivchenko
c003c6d6c3 i386.md (any_truncate): New.
* config/i386/i386.md (any_truncate): New.
	(trunsuffix): Ditto.
	* config/i386/predicates.md (const_8_to_9_operand): New.
	(const_10_to_11_operand): Ditto.
	(const_12_to_13_operand): Ditto.
	(const_14_to_15_operand): Ditto.
	(const_16_to_19_operand): Ditto.
	(const_20_to_23_operand): Ditto.
	(const_24_to_27_operand): Ditto.
	(const_28_to_31_operand): Ditto.
	* config/i386/sse.md (unspec): Add UNSPEC_UNSIGNED_FIX_NOTRUNC.
	(cvtusi2<ssescalarmodesuffix>32): New.
	(cvtusi2<ssescalarmodesuffix>64): Ditto.
	(ufloatv16siv16sf2): Ditto.
	(avx512f_fix_notruncv16sfv16si): Ditto.
	(avx512f_ufix_notruncv16sfv16si): Ditto.
	(avx512f_vcvtss2usi): Ditto.
	(avx512f_vcvtss2usiq): Ditto.
	(avx512f_vcvttss2usi): Ditto.
	(avx512f_vcvttss2usiq): Ditto.
	(avx512f_vcvtsd2usi): Ditto.
	(avx512f_vcvtsd2usiq): Ditto.
	(avx512f_vcvttsd2usi): Ditto.
	(avx512f_vcvttsd2usiq): Ditto.
	(ufloatv8siv8df): Ditto.
	(avx512f_cvtdq2pd512_2): Ditto.
	(avx512f_cvtpd2dq512): Ditto.
	(avx512f_ufix_notruncv8dfv8si): Ditto.
	(avx512f_cvtpd2ps512): Ditto.
	(vec_unpacks_lo_v16sf): Ditto.
	(vec_unpacks_hi_v16sf): Ditto.
	(vec_unpacks_float_hi_v16si): Ditto.
	(vec_unpacks_float_lo_v16si): Ditto.
	(avx512f_unpckhps512): Ditto.
	(avx512f_unpcklps512): Ditto.
	(avx512f_movshdup512): Ditto.
	(avx512f_movsldup512): Ditto.
	(vec_extract_lo_v32hi): Ditto.
	(vec_extract_hi_v32hi): Ditto.
	(vec_extract_lo_v64qi): Ditto.
	(vec_extract_hi_v64qi): Ditto.
	(avx512f_unpckhpd512): Ditto.
	(avx512f_movddup512): Ditto.
	(avx512f_unpcklpd512): Ditto.
	(*avx512f_unpcklpd512): Ditto.
	(avx512f_shufps512_1): Ditto.
	(avx512f_shufpd512_1): Ditto.
	(avx512f_interleave_highv8di): Ditto.
	(avx512f_interleave_lowv8di): Ditto.
	(PMOV_DST_MODE): Ditto.
	(pmov_src_mode): Ditto.
	(pmov_src_lower): Ditto.
	(pmov_suff): Ditto.
	(*avx512f_<code><pmov_src_lower><mode>2): Ditto.
	(*avx512f_<code>v8div16qi2): Ditto.
	(*avx512f_<code>v8div16qi2_store): Ditto.
	(vec_widen_umult_even_v16si): Ditto.
	(*vec_widen_umult_even_v16si): Ditto.
	(vec_widen_smult_even_v16si): Ditto.
	(*vec_widen_smult_even_v16si): Ditto.
	(avx512f_interleave_highv16si): Ditto.
	(avx512f_interleave_lowv16si): Ditto.
	(avx512f_<code>v16qiv16si2): Ditto.
	(avx512f_<code>v16hiv16si2): Ditto.
	(avx512f_<code>v8qiv8di2): Ditto.
	(avx512f_<code>v8hiv8di2): Ditto.
	(avx512f_<code>v8siv8di2): Ditto.
	(avx512cd_maskb_vec_dupv8di): Ditto.
	(avx512cd_maskw_vec_dupv16si): Ditto.
	(avx512f_vcvtph2ps512): Ditto.
	(avx512f_vcvtps2ph512): Ditto.
	(VEC_EXTRACT_MODE): Extened with wider modes.
	(VEC_PERM_AVX2): Ditto.
	(VEC_PERM_CONST): Ditto.


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: r204128
2013-10-28 14:25:05 +00:00
Joern Rennecke
1ea1e1b53f jump-around-jump.c: New test.
gcc/testsuite:
2013-10-28   Claudiu Zissulescu  <claziss@synopsys.com>
             Joern Rennecke  <joern.rennecke@embecosm.com>
        * gcc.target/arc/jump-around-jump.c: New test.
gcc:
2013-10-28  Joern Rennecke  <joern.rennecke@embecosm.com>
        * config/arc/arc.c (arc_ccfsm_post_advance):
        Add comment about TYPE_RETURN.

From-SVN: r204123
2013-10-28 12:19:16 +00:00
Tom de Vries
a6fcccd7a3 Move require-pic-register-loc.c to correct directory
From-SVN: r204119
2013-10-28 08:10:57 +00:00
Tim Shen
caaf33fa57 regex_executor.tcc: Add comments.
2013-10-28  Tim Shen  <timshen91@gmail.com>

	* regex_executor.tcc: Add comments.

From-SVN: r204117
2013-10-28 03:55:12 +00:00
Bin Cheng
58fe50d5c9 tree-ssa-loop-ivopts.c (strip_offset_1): Change parameter type.
* tree-ssa-loop-ivopts.c (strip_offset_1): Change parameter type.
	Count DECL_FIELD_BIT_OFFSET for COMPONENT_REF.
	(strip_offset): Convert offset to unsigned number.

From-SVN: r204116
2013-10-28 03:26:58 +00:00
GCC Administrator
b72631e851 Daily bump.
From-SVN: r204115
2013-10-28 00:17:00 +00:00
Tom de Vries
e40191f1e0 Fix line number data for PIC register setup code.
2013-10-27  Tom de Vries  <tom@codesourcery.com>

	* cfgexpand.c (gimple_expand_cfg): Remove test for parm_birth_insn.
	Don't commit insertions after NOTE_INSN_FUNCTION_BEG.

	* gcc.target/arm/require-pic-register-loc.c: New test.

From-SVN: r204112
2013-10-27 23:36:51 +00:00
Oleg Endo
3c7ac4cbe7 Fix change log entry.
From-SVN: r204111
2013-10-27 22:43:01 +00:00
Oleg Endo
277772f62d sh.c (MSW, LSW): Move and rename macros to...
* config/sh/sh.c (MSW, LSW): Move and rename macros to...
	* config/sh/sh.h (SH_REG_MSW_OFFSET, SH_REG_LSW_OFFSET): ... here.
	(TARGET_BIG_ENDIAN): New macro.
	* config/sh/sh.md: Use it instead of !TARGET_LITTLE_ENDIAN.
	Use SH_REG_MSW_OFFSET and SH_REG_LSW_OFFSET.
	* config/sh/sh.c: Likewise.
	* config/sh/sh.h: Likewise.

From-SVN: r204110
2013-10-27 22:40:25 +00:00
Uros Bizjak
1d9b1f94b0 re PR rtl-optimization/58679 (ICE in create_pre_exit, at mode-switching.c:421 with -mavx after r202915)
PR target/58679
	* gcc.target/i386/pr58679-1.c: New test.
	* gcc.target/i386/pr58679-2.c: Ditto.

From-SVN: r204109
2013-10-27 21:32:29 +01:00
Richard Sandiford
d570872da1 c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
gcc/c-family/
	* c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.

From-SVN: r204108
2013-10-27 18:50:01 +00:00
Gerald Pfeifer
4962e51350 * testsuite/test-demangle.c: Include unistd.h.
From-SVN: r204107
2013-10-27 18:35:20 +00:00
Hans-Peter Nilsson
f02827cdb3 cris.c (cris_emit_trap_for_misalignment): Replace the removed PRED_MUDFLAP with PRED_NORETURN.
* config/cris/cris.c (cris_emit_trap_for_misalignment): Replace the
	removed PRED_MUDFLAP with PRED_NORETURN.  Correct file-path in comment.

From-SVN: r204106
2013-10-27 14:42:53 +00:00
Tobias Burnus
d4af74d4e8 re PR other/33426 (Support of #pragma ivdep)
2013-10-27  Tobias Burnus  <burnus@net-b.de>

gcc/c/
        PR other/33426
        * c-parser.c (c_parser_while_statement,
        * c_parser_while_statement,
        c_parser_pragma): Add GCC ivdep support to 'do' and 'while'.
        (c_parser_statement_after_labels): Update calls.

gcc/testsuite/
        PR other/33426
        * gcc.dg/vect/vect-ivdep-2.c: New.

From-SVN: r204102
2013-10-27 08:40:31 +01:00
GCC Administrator
f32311532c Daily bump.
From-SVN: r204101
2013-10-27 00:17:11 +00:00
Oleg Endo
a38b5918ec sh.md (movmemsi): Remove empty constraints and predicates.
* config/sh/sh.md (movmemsi): Remove empty constraints and predicates.
	Fix formatting.
	(cmpstr_t, cmpstrsi): Fix formatting.

From-SVN: r204098
2013-10-26 23:26:14 +00:00
Oleg Endo
35d1b0838c re PR target/52483 (SH Target: Loads from volatile memory leave redundant sign/zero extensions)
PR target/52483
	* config/sh/predicates.md (general_movdst_operand): Allow reg+reg
	addressing, do not use general_operand for memory operands.

	PR target/52483
	* gcc.target/sh/pr52483-1.c: Add tests for memory stores.
	* gcc.target/sh/pr52483-2.c: Likewise.
	* gcc.target/sh/pr52483-3.c: Likewise.
	* gcc.target/sh/pr52483-4.c: Likewise.

From-SVN: r204097
2013-10-26 22:07:37 +00:00
Vladimir Makarov
a6f623d4fa revert: lra-spills.c (lra_final_code_change): Remove useless move insns.
2013-10-26  Vladimir Makarov  <vmakarov@redhat.com>

	Revert:
	2013-10-25  Vladimir Makarov  <vmakarov@redhat.com>
	* lra-spills.c (lra_final_code_change): Remove useless move insns.

From-SVN: r204094
2013-10-26 17:02:49 +00:00
Tim Shen
9f0d9611e7 regex.h: Remove unnecessary friends.
2013-10-26  Tim Shen  <timshen91@gmail.com>

	* include/bits/regex.h: Remove unnecessary friends.
	* include/bits/regex.tcc (__regex_algo_impl<>): Move __get_executor
	to here.
	* include/bits/regex_executor.h: Remove _DFSExecutor and _BFSExecutor;
	they are merged into _Executor. Eliminate quantifier tracking part, so
	it's faster.
	* include/bits/regex_executor.tcc: Implement _Executor.
	* testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc: New.
	* testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Adjust
	duplicate testcases.
	* testsuite/performance/28_regex/split.h: New.
	* testsuite/performance/28_regex/split_bfs.cc: New.
	* testsuite/util/testsuite_regex.h: Adjust behavior of two-executors
	agreement judger: do not compare match_results when executor return
	false.

From-SVN: r204093
2013-10-26 16:09:28 +00:00
Jeff Law
5d905bb613 predict.c (PRED_MUDFLAP): Remove.
* predict.c (PRED_MUDFLAP): Remove.
	* targhooks.c (build_va_arg_indirect_ref): Remove mudflap support.

From-SVN: r204091
2013-10-26 04:24:19 -06:00
Jeff Law
98906124e3 Makefile.def (target_modules): Remove libmudflap
* Makefile.def (target_modules): Remove libmudflap
	(languages): Remove check-target-libmudflap).
	* Makefile.in: Rebuilt.
	* Makefile.tpl (check-target-libmudflap-c++): Remove.
	* configure.ac (target_libraries): Remove target-libmudflap.
	Remove checks which disabled libmudflap on some systems.
	* configure: Rebuilt.
	* libmudflap: Directory removed.

	* Makefile.in (C_COMMON_OBJS): Remove tree-mudflap.
	(OBJS): Remove tree-nomudflap.o
	(GTFILES): Remove tree-mudflap.c
	* builtins.c (expand_builtin_alloc): Remove mudflap support.
	* gcc.c (MFWRAP_SPEC, MFLIB_SPEC): Likewise.
	(mfwrap_spec, mflib_spec): Likewise.
	(cpp_unique_options, cc1_options, static_specs): Likewise.
	* gimplify (gimplify_vla_decl, build_va_arg_indirect_ref): Likewise.
	* passes.def: Likewise.
	* toplev.c (compile_file, process_options): Likewise.
	* tree-inline.c (copy_tree_r): Likewise.
	* tree-pass.,h (make_pass_mudflap_1, make_pass_mudflap_2): Likewise.
	* varasm.c (make_decl_rtl, make_decl_rtl_for_debug): Likewise.
	(build_constant_desc, output_constant_def_contents): Likewise.
	(categorize_decl_for_section): Likewise.
	* tree-mudflap.c: Removed.
	* tree-mudflap.h: Removed.
	* tree-nomudflap.c: Removed.
	* bfin/uclinux.h (MFWRAP_SPEC): Remove.
	* moxie/uclinux.h (MFWRAP_SPEC): Likewise.
	* rs6000/aix.h (MFWRAP_SPEC, MFLIB_SPEC): Likewise.
	* config/sol2.h (MFLIB_SPEC): Likewise.
	* doc/install.texi: Remove mudflap references.
	* doc/passes.texi: Similarly.
	* doc/sourcebuild.texi: Similarly.
	* doc/invoke.texi: Remove mudlfap related options.

	* c-family/c-common.c (c_define_builtins): Remove mudflap support.
	* c-family/c.opt: Ignore and warn for mudflap options.

	* g++.dg/torture/pr49309.C: Removed.
	* gcc.dg/dfp/pr35739.c: Removed.

From-SVN: r204090
2013-10-26 04:14:34 -06:00
GCC Administrator
19b632c6dd Daily bump.
From-SVN: r204083
2013-10-26 00:17:13 +00:00
Vladimir Makarov
f6937e32d0 re PR rtl-optimization/58759 (wrong code (segfaults) at -O2 on x86_64-linux-gnu in 32-bit mode)
2013-10-25  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/58759
	* lra-constraints.c (lra_constraints): Remove wrong condition to
	remove insn setting up an equivalent pseudo.

2013-10-25  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/58759
	* gcc.target/i386/pr58759.c: New.

From-SVN: r204080
2013-10-25 21:34:26 +00:00
Vladimir Makarov
01b1efaa14 2013-10-25 Vladimir Makarov <vmakarov@redhat.com>
* config/rs6000/rs6000-protos.h
	(rs6000_secondary_memory_needed_mode): New prototype.
	* config/rs6000/rs6000.c: Include ira.h.
	(TARGET_LRA_P): Redefine.
	(rs6000_legitimate_offset_address_p): Call
	legitimate_constant_pool_address_p in strict mode for LRA.
	(rs6000_legitimate_address_p): Ditto.
	(legitimate_lo_sum_address_p): Add code for LRA.
	Use lra_in_progress.
	(rs6000_emit_move): Add LRA version of code to generate load/store
	of SDmode values.
	(rs6000_secondary_memory_needed_mode): New.
	(rs6000_alloc_sdmode_stack_slot): Do nothing for LRA.
	(rs6000_secondary_reload_class): Return NO_REGS for LRA for
	constants, memory, and FP registers.
	(rs6000_lra_p): New.
	* config/rs6000/rs6000.h (SECONDARY_MEMORY_NEEDED_MODE): New
	macro.
	* config/rs6000/rs6000.opt (mlra): New option.
	* lra-spills.c (lra_final_code_change): Remove useless move insns.

From-SVN: r204079
2013-10-25 21:06:38 +00:00
François Dumont
3ff4317f1c formatter.h (__check_singular): Add const on iterator reference.
2013-10-25  François Dumont  <fdumont@gcc.gnu.org>

	* include/debug/formatter.h (__check_singular): Add const on
	iterator reference.
	* include/debug/functions.h (__check_singular): Likewise.
	(__check_singular(const _Safe_iterator<_Ite, _Seq>&)): Delete.
	(__check_dereferenceable(const _Ite&)): Add const on iterator
	reference.
	(__check_dereferenceable(const _Safe_local_iterator<>&)): New.
	* include/debug/safe_iterator.h (__check_singular_aux): Review
	comment.
	* testsuite/23_containers/vector/debug/debug_functions.cc: New.
	* testsuite/23_containers/unordered_set/debug/debug_functions.cc:
	New.

From-SVN: r204075
2013-10-25 19:25:06 +00:00
Tobias Burnus
f5d368b68d pr33426-ivdep.cc: Use dg-options.
2013-10-25  Tobias Burnus  <burnus@net-b.de>

        * g++.dg/vect/pr33426-ivdep.cc: Use dg-options.
        * gfortran.dg/vect/vect-do-concurrent-1.f90: Ditto.
        * testsuite/gcc.dg/vect/vect-ivdep-1.c: Ditto.

From-SVN: r204074
2013-10-25 21:25:00 +02:00
Yufeng Zhang
42917d01c0 tree-ssa-math-opts.c (convert_plusminus_to_widen): Call has_single_use () and not do the conversion if...
gcc/

	* tree-ssa-math-opts.c (convert_plusminus_to_widen): Call
	has_single_use () and not do the conversion if has_single_use ()
	returns false for the multiplication result.

gcc/testsuite/

	* gcc.dg/wmul-1.c: New test.

From-SVN: r204072
2013-10-25 17:25:08 +00:00
Paolo Carlini
b02ef56d8d re PR c++/58878 (Template parameter name can be hidden in a template member function defined inside the class specifier)
/cp
2013-10-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58878
	* pt.c (check_template_shadow): Don't skip declarations in inline
	member templates.

/testsuite
2013-10-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58878
	* g++.dg/template/pr58878.C: New.

From-SVN: r204071
2013-10-25 16:26:10 +00:00
David Malcolm
3475937054 Fix names of various macro parameters in tree.h
* tree.h (EXCEPTIONAL_CLASS_P): Rename parameter from "CODE"
	to "NODE", since this works on a "tree", not an
	"enum tree_code".
	(CONSTANT_CLASS_P): Likewise.
	(TYPE_P): Likewise.
	(DECL_P): Likewise.
	(INDIRECT_REF_P): Likewise.
	(REFERENCE_CLASS_P): Likewise.
	(COMPARISON_CLASS_P): Likewise.
	(UNARY_CLASS_P): Likewise.
	(BINARY_CLASS_P): Likewise.
	(STATEMENT_CLASS_P): Likewise.
	(VL_EXP_CLASS_P): Likewise.
	(EXPRESSION_CLASS_P): Likewise.
	(IS_TYPE_OR_DECL_P): Likewise.

From-SVN: r204070
2013-10-25 15:00:35 +00:00
Gary Benson
c24d86bcb2 cp-demangle.c (struct d_saved_scope): New structure.
libiberty/
2013-10-25  Gary Benson  <gbenson@redhat.com>

	* cp-demangle.c (struct d_saved_scope): New structure.
	(struct d_print_info): New fields saved_scopes and
	num_saved_scopes.
	(d_print_init): Initialize the above.
	(d_print_free): New function.
	(cplus_demangle_print_callback): Call the above.
	(d_copy_templates): New function.
	(d_print_comp): New variables saved_templates and
	need_template_restore.
	[DEMANGLE_COMPONENT_REFERENCE,
	DEMANGLE_COMPONENT_RVALUE_REFERENCE]: Capture scope the first
	time the component is traversed, and use the captured scope for
	subsequent traversals.
	* testsuite/demangle-expected: Add regression test.

From-SVN: r204068
2013-10-25 13:56:51 +00:00
Marc Glisse
bb362135e2 tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Look for an ADDR_EXPR in the defining statement.
2013-10-25  Marc Glisse  <marc.glisse@inria.fr>

gcc/
	* tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Look for an
	ADDR_EXPR in the defining statement.

gcc/testsuite/
	* gcc.dg/tree-ssa/alias-23.c: New file.

From-SVN: r204065
2013-10-25 12:35:51 +00:00
Richard Biener
447f322380 re PR tree-optimization/58626 (possible array wrong code bug)
2013-10-25  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/58626
	* tree-loop-distribution.c (enum rdg_dep_type): Remove
	anti_dd, output_dd and input_dd.
	(struct rdg_edge): Remove level and relation members.
	(RDGE_LEVEL, RDGE_RELATION): Remove.
	(dot_rdg_1): Adjust.
	(create_rdg_edge_for_ddr): Remove.
	(create_rdg_edges_for_scalar): Adjust.
	(create_edge_for_control_dependence): Likewise.
	(create_rdg_edges): Split into ...
	(create_rdg_flow_edges): ... this
	(create_rdg_cd_edges): ... and this.
	(free_rdg): Adjust.
	(build_rdg): Likewise, do not compute data dependences or
	add edges for them.
	(pg_add_dependence_edges): New function.
	(pgcmp): Likewise.
	(distribute_loop): First apply all non-dependence based
	partition mergings.  Then compute dependences between partitions
	and merge and order partitions according to them.

	* gcc.dg/torture/pr58626.c: New testcase.

From-SVN: r204062
2013-10-25 11:51:11 +00:00
Paolo Carlini
5970573cc1 re PR c++/54812 ([C++11] Delete expression doesn't respect access of defaulted destructor)
2013-10-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/54812
	* g++.dg/cpp0x/defaulted47.C: New.

From-SVN: r204057
2013-10-25 10:54:56 +00:00
Eric Botcazou
356610cb47 re PR rtl-optimization/58831 (wrong code at -O2 and -O3 on x86_64-linux-gnu in 64-bit mode)
PR rtl-optimization/58831
	* alias.c (init_alias_analysis): At the beginning of each iteration, set
	the reg_seen[N] bit if static_reg_base_value[N] is non-null.

From-SVN: r204055
2013-10-25 09:21:11 +00:00
Nick Clifton
2e30c7fbc4 pr57793.c: Add expected error messages for targets with small integers.
* c-c++-common/pr57793.c: Add expected error messages for
	targets with small integers.
	* gcc.dg/c99-stdint-1.c: Only run on 32-bit plus targets.
	* gcc.dg/c99-stdint-2.c: Likewise.
	* gcc.dg/cdce1.c: Likewise.
	* gcc.dg/fold-overflow-1.c: Likewise.
	* gcc.dg/utf-cvt.c: Likewise.
	* gcc.dg/ftrapv-1.c: Only run on targets that support trapping
	arithmetic.
	* gcc.dg/ftrapv-2.c: Likewise.
	* gcc.dg/pr30286.c: Likewise.
	* gcc.dg/pr19340.c: Only run on targets that support
	scheduling.
	* lib/target-supports.exp (check_effective_target_trapping): New
	proc.  Returns true if the target supports trapping arithmetic.

From-SVN: r204053
2013-10-25 09:04:53 +00:00
Eric Botcazou
e86a8146c7 recog.c (search_ofs): New static variable moved from...
* recog.c (search_ofs): New static variable moved from...
	(peep2_find_free_register): ...here.
	(peephole2_optimize): Initialize it.

From-SVN: r204050
2013-10-25 08:55:19 +00:00
Tobias Burnus
24ebcbc867 invoke.texi (fopenmp): Change supported OpenMP version to 4.0.
2013-10-25  Tobias Burnus  <burnus@net-b.de>

        * doc/invoke.texi (fopenmp): Change supported OpenMP version
        to 4.0.

From-SVN: r204049
2013-10-25 10:20:11 +02:00
Uros Bizjak
cb61036706 i386.h (TARGET_MPX): New define.
* config/i386/i386.h (TARGET_MPX): New define.
	(TARGET_MPX_P): Ditto.

From-SVN: r204048
2013-10-25 09:08:14 +02:00
Tobias Burnus
43ae206cf9 re PR other/33426 (Support of #pragma ivdep)
2013-10-25  Tobias Burnus  <burnus@net-b.de>

        PR other/33426
        * parser.c (cp_parser_iteration_statement,
        cp_parser_for, cp_parser_c_for, cp_parser_pragma): Handle
        IVDEP pragma.

        * g++.dg/parse/ivdep.C: New.
        * g++.dg/vect/pr33426-ivdep.cc: New.

From-SVN: r204047
2013-10-25 07:47:25 +02:00
Ilya Enkovich
66d6cbaa56 constraints.md (B): New.
* config/i386/constraints.md (B): New.
	(Ti): New.
	(Tb): New.
	* config/i386/i386-c.c (ix86_target_macros_internal): Add __MPX__.
	* config/i386/i386-modes.def (BND32): New.
	(BND64): New.
	* config/i386/i386-protos.h (ix86_bnd_prefixed_insn_p): New.
	* config/i386/i386.c (isa_opts): Add mmpx.
	(regclass_map): Add bound registers.
	(dbx_register_map): Likewise.
	(dbx64_register_map): Likewise.
	(svr4_dbx_register_map): Likewise.
	(PTA_MPX): New.
	(ix86_option_override_internal): Support MPX ISA.
	(ix86_conditional_register_usage): Support bound registers.
	(print_reg): Likewise.
	(ix86_code_end): Add MPX bnd prefix.
	(output_set_got): Likewise.
	(ix86_output_call_insn): Likewise.
	(ix86_print_operand): Add '!' (MPX bnd) print prefix support.
	(ix86_print_operand_punct_valid_p): Likewise.
	(ix86_print_operand_address): Support UNSPEC_BNDMK_ADDR and
	UNSPEC_BNDMK_ADDR.
	(ix86_class_likely_spilled_p): Add bound regs support.
	(ix86_hard_regno_mode_ok): Likewise.
	(x86_order_regs_for_local_alloc): Likewise.
	(ix86_bnd_prefixed_insn_p): New.
	* config/i386/i386.h (FIRST_PSEUDO_REGISTER): Fix to new value.
	(FIXED_REGISTERS): Add bound registers.
	(CALL_USED_REGISTERS): Likewise.
	(REG_ALLOC_ORDER): Likewise.
	(HARD_REGNO_NREGS): Likewise.
	(TARGET_MPX): New.
	(VALID_BND_REG_MODE): New.
	(FIRST_BND_REG): New.
	(LAST_BND_REG): New.
	(reg_class): Add BND_REGS.
	(REG_CLASS_NAMES): Likewise.
	(REG_CLASS_CONTENTS): Likewise.
	(BND_REGNO_P): New.
	(ANY_BND_REG_P): New.
	(BNDmode): New.
	(HI_REGISTER_NAMES): Add bound registers.
	* config/i386/i386.md (UNSPEC_BNDMK): New.
	(UNSPEC_BNDMK_ADDR): New.
	(UNSPEC_BNDSTX): New.
	(UNSPEC_BNDLDX): New.
	(UNSPEC_BNDLDX_ADDR): New.
	(UNSPEC_BNDCL): New.
	(UNSPEC_BNDCU): New.
	(UNSPEC_BNDCN): New.
	(UNSPEC_MPX_FENCE): New.
	(BND0_REG): New.
	(BND1_REG): New.
	(type): Add mpxmov, mpxmk, mpxchk, mpxld, mpxst.
	(length_immediate): Likewise.
	(prefix_0f): Likewise.
	(memory): Likewise.
	(prefix_rep): Check for bnd prefix.
	(length_nobnd): New.
	(length): Use length_nobnd if specified.
	(BND): New.
	(bnd_ptr): New.
	(BNDCHECK): New.
	(bndcheck): New.
	(*jcc_1): Add bnd prefix and rename length attr to length_nobnd.
	(*jcc_2): Likewise.
	(jump): Likewise.
	(simple_return_internal): Likewise.
	(simple_return_pop_internal): Likewise.
	(*indirect_jump): Add MPX bnd prefix.
	(*tablejump_1): Likewise.
	(simple_return_internal_long): Likewise.
	(simple_return_indirect_internal): Likewise.
	(<mode>_mk): New.
	(*<mode>_mk): New.
	(mov<mode>): New.
	(*mov<mode>_internal_mpx): New.
	(<mode>_<bndcheck>): New.
	(*<mode>_<bndcheck>): New.
	(<mode>_ldx): New.
	(*<mode>_ldx): New.
	(<mode>_stx): New.
	(*<mode>_stx): New.
	* config/i386/predicates.md (lea_address_operand): Rename to...
	(address_no_seg_operand): ... this.
	(address_mpx_no_base_operand): New.
	(address_mpx_no_index_operand): New.
	(bnd_mem_operator): New.
	* config/i386/i386.opt (mmpx): New.
	* doc/invoke.texi: Add documentation for the flags -mmpx, -mno-mpx.
	* doc/rtl.texi Add documentation for BND32mode and BND64mode.

From-SVN: r204046
2013-10-25 05:37:57 +00:00
Ilya Enkovich
65f55baca4 mode-classes.def (MODE_POINTER_BOUNDS): New.
* mode-classes.def (MODE_POINTER_BOUNDS): New.
        * tree.def (POINTER_BOUNDS_TYPE): New.
        * genmodes.c (complete_mode): Support MODE_POINTER_BOUNDS.
        (POINTER_BOUNDS_MODE): New.
        (make_pointer_bounds_mode): New.
        * machmode.h (POINTER_BOUNDS_MODE_P): New.
        * stor-layout.c (int_mode_for_mode): Support MODE_POINTER_BOUNDS.
        (layout_type): Support POINTER_BOUNDS_TYPE.
        * tree-pretty-print.c (dump_generic_node): Support POINTER_BOUNDS_TYPE.
        * tree.c (build_int_cst_wide): Support POINTER_BOUNDS_TYPE.
        (type_contains_placeholder_1): Likewise.
        * tree.h (POINTER_BOUNDS_TYPE_P): New.
        * varasm.c (output_constant): Support POINTER_BOUNDS_TYPE.
        * doc/rtl.texi (MODE_POINTER_BOUNDS): New.

From-SVN: r204045
2013-10-25 05:36:14 +00:00
Igor Shevlyakov
ca9f377992 expr.c (expand_expr_real_1): Use mode of memory reference rather than mode of address computation when...
* expr.c (expand_expr_real_1): Use mode of memory reference rather
        than mode of address computation when calling memory_address_addr_space.

From-SVN: r204044
2013-10-24 23:06:49 -06:00
GCC Administrator
0e855edf09 Daily bump.
From-SVN: r204043
2013-10-25 00:17:02 +00:00