Commit Graph

126060 Commits

Author SHA1 Message Date
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
Richard Henderson 464046a62a re PR rtl-optimization/58542 (Arguments of __atomic_* functions are converted in unsigned mode)
PR rtl/58542

* optabs.c (maybe_emit_atomic_exchange): Use create_input_operand
instead of create_convert_operand_to.
(maybe_emit_sync_lock_test_and_set): Likewise.
(expand_atomic_compare_and_swap): Likewise.
(maybe_emit_compare_and_swap_exchange_loop): Don't convert_modes.

From-SVN: r204040
2013-10-24 15:27:53 -07:00
Sriraman Tallam bdd833da13 cgraph.c (cgraph_fnver_htab): Move GTY((...)) to be before htab_t.
2013-08-24  Sriraman Tallam  <tmsriram@google.com>

	* cgraph.c (cgraph_fnver_htab): Move GTY((...)) to be before htab_t.
	Change param_is to use the struct and not the pointer to the struct.

From-SVN: r204039
2013-10-24 20:26:52 +00:00
Tobias Burnus d73749df2e Correct the date, which was wrong in commit r204021
From-SVN: r204035
2013-10-24 21:23:36 +02:00
Ian Lance Taylor 26b8f7ebf5 compiler: Implement 3-index slicing.
From-SVN: r204034
2013-10-24 19:16:15 +00:00
Ian Lance Taylor ccc2311566 go-test.exp (errchk): Combine quoted strings in comments.
* go.test/go-test.exp (errchk): Combine quoted strings in
	comments.

From-SVN: r204033
2013-10-24 19:08:45 +00:00
Andrew MacLeod 4a7cb16f83 builtins.c (dummy_object, [...]): Move to gimplify.c.
* builtins.c (dummy_object, gimplify_va_arg_expr): Move to gimplify.c.
	* gimplify.c (build_va_arg_indirect_ref, std_gimplify_va_arg_expr):
	Move to targhooks.c.
	(dummy_object, gimplify_va_arg_expr): Relocate from builtins.c.
	* targhooks.c (build_va_arg_indirect_ref, std_gimplify_va_arg_expr):
	Relocate from gimplify.c.
	* targhooks.h: Add 2 prototypes.
	* tree.h. Delete 2 prototypes.

From-SVN: r204032
2013-10-24 19:02:44 +00:00
Igor Shevlyakov f258df2d19 tree-ssa-loop-ivopts.c (multiplier_allowed_in_address_p ): Check both [reg+mult*reg] and [mult*reg] to determine if multiplier is allowed.
* tree-ssa-loop-ivopts.c (multiplier_allowed_in_address_p ): Check both
	[reg+mult*reg] and [mult*reg] to determine if multiplier is allowed.

From-SVN: r204031
2013-10-24 12:55:12 -06:00
Cong Hou 247dbcf4ab convert.c (convert_to_real): Guard those unsafe math function convertions with flag_unsafe_math_optimizations.
2013-10-24  Cong Hou  <congh@google.com>

    * convert.c (convert_to_real): Guard those unsafe math function
      convertions with flag_unsafe_math_optimizations.  Handle sqrt()
      specially. 

2013-10-24  Cong Hou  <congh@google.com>

    * gcc.c-torture/execute/20030125-1.c: Update.

From-SVN: r204028
2013-10-24 14:10:38 -04:00
Markus Trippelsdorf 51ce05475c re PR other/58712 (issues found by --enable-checking=valgrind)
PR ipa/58712
        * cgraph.c (cgraph_create_edge_1): Add indirect_unknown_callee
        as argument.
        (cgraph_create_edge): Use the new argument.
        (cgraph_create_indirect_edge): Likewise.

From-SVN: r204026
2013-10-24 11:28:11 -06:00
Joern Rennecke c0f5c38c51 Add missing part for last ChangeLog entry:
(arc_ifcvt) <case 1 and 2>: Check that arc_ccfsm_post_advance
	changes statep->state.

From-SVN: r204025
2013-10-24 18:16:19 +01:00
Joern Rennecke 53ea364f18 arc.c (arc_ccfsm_post_advance): Also handle TYPE_UNCOND_BRANCH.
* gcc/config/arc/arc.c (arc_ccfsm_post_advance): Also handle
        TYPE_UNCOND_BRANCH.

From-SVN: r204024
2013-10-24 18:11:01 +01:00
Tobias Burnus 2ca4e2c229 re PR fortran/44646 ([F08] Implement DO CONCURRENT)
2013-10-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/44646
        * trans-stmt.c (struct forall_info): Add do_concurrent field.
        (gfc_trans_forall_1): Set it for do concurrent.
        (gfc_trans_forall_loop): Mark those as annot_expr_ivdep_kind.

2013-10-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/44646
        * gfortran.dg/vect/vect-do-concurrent-1.f90: New.

From-SVN: r204023
2013-10-24 18:30:22 +02:00
Dehao Chen a2ad7995d0 devirt3.C: New test.
2013-10-24  Dehao Chen  <dehao@google.com>

	* g++.dg/opt/devirt3.C: New test.

From-SVN: r204022
2013-10-24 16:27:57 +00:00
Tobias Burnus 8170608bfc re PR other/33426 (Support of #pragma ivdep)
2013-08-24  Tobias Burnus  <burnus@net-b.de>

        PR other/33426
        * c-pragma.c (init_pragma) Add #pragma ivdep handling.
        * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.

        PR other/33426
        * c-parser.c (c_parser_pragma, c_parser_for_statement):
        Handle PRAGMA_IVDEP.
        (c_parser_statement_after_labels): Update call.

        PR other/33426
        * tree-cfg.c (replace_loop_annotate): New function.
        (execute_build_cfg): Call it.
        * gimplify.c (gimple_boolify, gimplify_expr): Handle
        * ANNOTATE_EXPR.
        * internal-fn.c (expand_ANNOTATE): New function.
        * internal-fn.def (ANNOTATE): Define as new internal function.
        * tree-core.h (tree_node_kind): Add annot_expr_ivdep_kind.
        * tree-pretty-print.c (dump_generic_node): Handle ANNOTATE_EXPR.
        * tree.def (ANNOTATE_EXPR): New DEFTREECODE.
        * doc/extend.texi (Pragmas): Document #pragma ivdep.
        * doc/generic.texi (Expressions): Document ANNOTATE_EXPR.

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

From-SVN: r204021
2013-10-24 18:25:44 +02:00
Kyrylo Tkachov a079f50a72 c-output-mod-2.c: Fix for -fPIC.
[gcc/testsuite/]
2013-10-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* gcc.target/aarch64/c-output-mod-2.c: Fix for -fPIC.
	* gcc.target/aarch64/c-output-mod-3.c: Likewise.

From-SVN: r204019
2013-10-24 14:44:00 +00:00
Ian Bolton 27bd251b64 [AArch64,PATCH] Adjust preferred_reload_class of SP+C
Co-Authored-By: Marcus Shawcroft <marcus.shawcroft@arm.com>

From-SVN: r204018
2013-10-24 14:31:45 +00:00
Nick Clifton ac63f3057f * gcc.dg/20020312-2.c: No PIC register for RL78 or MSP430.
From-SVN: r204017
2013-10-24 14:22:46 +00:00
Michael Matz 01b974c9b6 gengtype.c (is_file_equal): Check that files will be same length.
* gengtype.c (is_file_equal): Check that files will be same
	length.

From-SVN: r204015
2013-10-24 13:58:56 +00:00
Marek Polacek 320a9762ee re PR c++/58705 ([c++11] ICE with invalid initializer for _Complex variable)
PR c++/58705
cp/
	* typeck2.c (check_narrowing): Don't check narrowing when the scalar
	initializer is empty.
testsuite/
	* g++.dg/parse/pr58705.C: New test.

From-SVN: r204014
2013-10-24 13:54:00 +00:00
Christian Bruel 8e701300d2 config.gcc (sh-*): Add sh-mem.o to extra_obj.
2013-10-25  Christian Bruel  <christian.bruel@st.com>

	* config.gcc (sh-*): Add sh-mem.o to extra_obj.
	* gcc/config/sh/t-sh (sh-mem.o): New rule.
	* gcc/config/sh/sh-mem.cc (expand_block_move): Moved here.
	(sh4_expand_cmpstr): New function.
	* gcc/config/sh/sh.c (force_into, expand_block_move): Move to sh-mem.cc
	* gcc/config/sh/sh-protos.h (sh4_expand_cmpstr): Declare.
	* gcc/config/sh/sh.md (cmpstrsi, cmpstr_t): New patterns.
	(rotlhi3_8): Rename.

From-SVN: r204013
2013-10-24 15:47:27 +02:00
Marek Polacek f28aa681d3 c-parser.c (c_parser_struct_declaration): Add a comment.
c/
	* c-parser.c (c_parser_struct_declaration): Add a comment.
	(c_parser_declarator): Don't allow _Alignas here.
testsuite/
	* gcc.dg/c1x-align-5.c: Add more testing.

From-SVN: r204007
2013-10-24 10:42:43 +00:00
Jan-Benedict Glaw 54c09437d1 configure.ac (ZW_PROG_COMPILER_DEPENDENCIES): Use CXX instead of CC.
2013-10-24  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

	* configure.ac (ZW_PROG_COMPILER_DEPENDENCIES): Use CXX instead of CC.
	* Makefile.in (CXXDEPMODE): Assign and change users.
	(CCDEPMODE): Delete.
	* configure: Regenerate.

From-SVN: r204006
2013-10-24 10:15:52 +00:00
Rainer Orth 2f9bcd4452 Fix Ada bootstrap with Solaris /bin/ksh
* gcc-interface/Make-lang.in (ADA_DEPS): Fix quoting.

From-SVN: r204005
2013-10-24 08:51:51 +00:00
David Malcolm 18aa2b0407 gengtype: parse base classes for some GTY-marked types
2013-10-23  David Malcolm  <dmalcolm@redhat.com>

	* gengtype-parse.c (require_without_advance): New.
	(type): For GTY-marked types that are not GTY((user)), parse any
	base classes, requiring them to be single-inheritance, and not
	be templates.  For non-GTY-marked types and GTY((user)),
	continue to skip over any C++ inheritance specification.
	* gengtype-state.c (state_writer::write_state_struct_type):
	Write base class of type (if any).
	(read_state_struct_type): Read base class of type (if any).
	* gengtype.c (new_structure): Add a "base_class" parameter.
	(create_optional_field_): Update for new parameter to
	new_structure.
	(adjust_field_rtx_def): Likewise.
	(adjust_field_tree_exp): Likewise.
	* gengtype.h (struct type): Add "base_class" field to the s
	union field.
	(new_structure): Add "base" parameter.

From-SVN: r204003
2013-10-24 02:10:10 +00:00
GCC Administrator 2f3097a3e2 Daily bump.
From-SVN: r204000
2013-10-24 00:16:54 +00:00
Ian Lance Taylor a81eaeed82 compiler: use builtin runtime calls for integer to string and string to array conversions.
From-SVN: r203996
2013-10-23 23:57:32 +00:00
Chris Jefferson c2240038a6 testsuite_containergen.h: New.
2013-10-23  Chris Jefferson  <chris@bubblescope.net>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/util/testsuite_containergen.h: New.
	* testsuite/util/testsuite_iterators.h (test_container<>::val): Add.
	* testsuite/25_algorithms/nth_element/random_test.cc: New, use the
	above.
	* testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
	* testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
	* testsuite/25_algorithms/sort/random_test.cc: Likewise.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>

From-SVN: r203995
2013-10-23 22:19:30 +00:00
Pat Haugen c19d33d8f1 direct-move.h: Fix header for executable tests.
* gcc.target/powerpc/direct-move.h: Fix header for executable tests.

From-SVN: r203994
2013-10-23 21:40:56 +00:00
Gerald Pfeifer 89ac07979f * testsuite/test-expandargv.c: Include unistd.h.
From-SVN: r203993
2013-10-23 21:31:45 +00:00
Gerald Pfeifer ecdbd01aa1 Fix up ChangeLog entries (name, e-mail, formatting, otherwise).
From-SVN: r203992
2013-10-23 21:30:54 +00:00
Sriraman Tallam 33e7f993d1 re PR target/57756 (Function target attribute is retaining state of previously seen function)
PR target/57756

Replace further references to global_options in functions
ix86_option_override_internal and ix86_valid_target_attribute_tree
in config/i386/i386.c.

	PR target/57756
	* config/i386/i386.c (ix86_option_override_internal):
	Change TARGET_SSE2 to TARGET_SSE2_P (opts->...)
	(ix86_valid_target_attribute_tree):
	Change TARGET_64BIT to TARGET_64BIT_P (opts->...)
	Change TARGET_SSE to TARGET_SSE_P (opts->...)

From-SVN: r203991
2013-10-23 21:13:50 +00:00
Jason Merrill e2fbf4c53d LWG 2165
LWG 2165
	* method.c (defaulted_late_check): Delete on eh-spec mismatch.
	(maybe_explain_implicit_delete): Explain it.

From-SVN: r203989
2013-10-23 15:16:37 -04:00
Jason Merrill 3f04b1bb6b c-format.c (gcc_cxxdiag_char_table): Add %X.
c-family/
	* c-format.c (gcc_cxxdiag_char_table): Add %X.
cp/
	* error.c (eh_spec_to_string): New.
	(cp_printer): Use it for %X.

From-SVN: r203988
2013-10-23 15:16:15 -04:00
Andrew MacLeod e28030cf01 tree-ssa-loop.h: Remove include files.
* tree-ssa-loop.h: Remove include files.
	* gengtype.c (open_base_files): Adjust include list for gtype-desc.c.
	* cfgloopmanip.c: Move required includes from tree-ssa-loop.h.
	* graphite-clast-to-gimple.c: Likewise.
	* graphite-scop-detection.c: Likewise.
	* graphite-sese-to-poly.c: Likewise.
	* ipa-inline-analysis.c: Likewise.
	* ipa-pure-const.c: Likewise.
	* loop-init.c: Likewise.
	* passes.c: Likewise.
	* predict.c: Likewise.
	* tree-cfg.c: Likewise.
	* tree-cfgcleanup.c: Likewise.
	* tree-chrec.c: Likewise.
	* tree-data-ref.c: Likewise.
	* tree-loop-distribution.c: Likewise.
	* tree-parloops.c: Likewise.
	* tree-predcom.c: Likewise.
	* tree-scalar-evolution.c: Likewise.
	* tree-ssa-address.c: Likewise.
	* tree-ssa.c: Likewise.
	* tree-ssa-dce.c: Likewise.
	* tree-ssa-loop.c: Likewise.
	* tree-ssa-loop-im.c: Likewise.
	* tree-ssa-loop-ivcanon.c: Likewise.
	* tree-ssa-loop-ivopts.c: Likewise.
	* tree-ssa-loop-manip.c: Likewise.
	* tree-ssa-loop-niter.c: Likewise.
	* tree-ssa-loop-prefetch.c: Likewise.
	* tree-ssa-loop-unswitch.c: Likewise.
	* tree-ssa-reassoc.c: Likewise.
	* tree-vect-data-refs.c: Likewise.
	* tree-vect-loop.c: Likewise.
	* tree-vect-loop-manip.c: Likewise.
	* tree-vectorizer.c: Likewise.
	* tree-vect-stmts.c: Likewise.
	* tree-vrp.c: Likewise.

From-SVN: r203987
2013-10-23 18:55:46 +00:00
Jason Merrill eca7fc5755 In C++11 a trivial [cd]tor might not be callable.
* class.c (user_provided_p): A function deleted on its declation
	in the class is not user-provided.
	(type_build_ctor_call): Also force a ctor call if we
	might have a deleted or private trivial ctor.
	(type_build_dtor_call): New.
	(deduce_noexcept_on_destructors): Remove obsolete code.
	* cp-tree.h: Declare type_build_dtor_call.
	* decl.c (expand_static_init): Make sure trivial dtors are callable.
	(cxx_maybe_build_cleanup): Likewise.
	* except.c (build_throw): Likewise.
	* init.c (build_value_init): Handle trivial but not callable ctors.
	(perform_target_ctor): Make sure trivial dtor is callable.
	(perform_member_init): Likewise.
	(expand_cleanup_for_base): Likewise.
	(build_vec_delete_1): Likewise.
	(build_delete): Likewise.
	(push_base_cleanups): Likewise.
	(build_new_1): Avoid redundant error.
	* method.c (synthesized_method_walk): Can't ever exit early in C++11.
	Always process the subobject destructor.
	* semantics.c (finish_compound_literal): Make sure trivial dtor is
	callable.
	* typeck2.c (split_nonconstant_init): Likewise.

From-SVN: r203985
2013-10-23 14:08:56 -04:00
Jason Merrill d4c579b561 * include/bits/hashtable.h (_Hashtable): Force EBO for _Hash_code_base.
From-SVN: r203984
2013-10-23 14:08:46 -04:00
Bill Schmidt 24d2e5ebfd altivec.md (mulv8hi3): Adjust for little endian.
2013-10-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/altivec.md (mulv8hi3): Adjust for little endian.

From-SVN: r203980
2013-10-23 16:23:42 +00:00
Jakub Jelinek 5e40da4f64 re PR tree-optimization/58775 (reassoc1 causes an ICE with some bool arithmetic)
PR tree-optimization/58775
	PR tree-optimization/58791
	* tree-ssa-reassoc.c (reassoc_stmt_dominates_stmt_p): New function.
	(insert_stmt_after): Rewritten, don't move the stmt, but really
	insert it.
	(get_stmt_uid_with_default): Remove.
	(build_and_add_sum): Use insert_stmt_after and
	reassoc_stmt_dominates_stmt_p.  Fix up uid if bb contains only
	labels.
	(update_range_test): Set uid on stmts added by
	force_gimple_operand_gsi.  Don't immediately modify statements
	in inter-bb optimization, just update oe->op values.
	(optimize_range_tests): Return bool whether any changed have
	been made.
	(update_ops): New function.
	(struct inter_bb_range_test_entry): New type.
	(maybe_optimize_range_tests): Perform statement changes here.
	(not_dominated_by, appears_later_in_bb, get_def_stmt,
	ensure_ops_are_available): Remove.
	(find_insert_point): Rewritten.
	(rewrite_expr_tree): Remove MOVED argument, add CHANGED argument,
	return LHS of the (new resp. old) stmt.  Don't call
	ensure_ops_are_available, don't reuse SSA_NAMEs, recurse first
	instead of last, move new stmt at the right place.
	(linearize_expr, repropagate_negates): Don't reuse SSA_NAMEs.
	(negate_value): Likewise.  Set uids.
	(break_up_subtract_bb): Initialize uids.
	(reassociate_bb): Adjust rewrite_expr_tree caller.
	(do_reassoc): Don't call renumber_gimple_stmt_uids.

	* gcc.dg/guality/pr58791-1.c: New test.
	* gcc.dg/guality/pr58791-2.c: New test.
	* gcc.dg/guality/pr58791-3.c: New test.
	* gcc.dg/guality/pr58791-4.c: New test.
	* gcc.dg/guality/pr58791-5.c: New test.
	* gcc.c-torture/compile/pr58775.c: New test.
	* gcc.dg/tree-ssa/reassoc-28.c: Don't scan reassoc1 dump.

From-SVN: r203979
2013-10-23 18:19:17 +02:00
Paolo Carlini 66caf47a50 re PR libstdc++/58850 (Conversion error in chrono)
2013-10-23  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/58850
	* include/std/chrono (minutes, hours): Change typedefs to uniformly
	use int64_t.
	* testsuite/20_util/duration/arithmetic/58850.cc: New.

From-SVN: r203978
2013-10-23 15:31:26 +00:00
David Edelsohn 021b04102b re PR target/58838 (mullw sets condition code incorrectly.)
PR target/58838
        * config/rs6000/rs6000.md (mulsi3_internal1 and splitter): Add
        TARGET_32BIT final condition.
        (mulsi3_internal2 and splitter): Same.

From-SVN: r203977
2013-10-23 10:32:32 -04:00
Jeff Law b1149e84d4 tree-ssa-threadedge.c (thread_across_edge): Do not allow threading through joiner blocks with abnormal outgoing edges.
* tree-ssa-threadedge.c (thread_across_edge): Do not allow threading
	through joiner blocks with abnormal outgoing edges.

	* tree-ssa-threadupdate.c (thread_block_1): Renamed from thread_block.
	Add parameter JOINERS, to allow/disallow threading through joiner
	blocks.
	(thread_block): New.  Call thread_block_1.
	(mark_threaded_blocks): Remove code to filter out certain cases
	of threading through joiner blocks.
	(thread_through_all_blocks): Document how we can have a dangling
	edge AUX field and clear it.

From-SVN: r203975
2013-10-23 07:54:48 -06:00
Ian Lance Taylor c9edbc5fa1 invoke.texi (Option Summary): Remove -fno-default-inline.
* doc/invoke.texi (Option Summary): Remove -fno-default-inline.
	(C++ Dialect Options): Likewise.
	(Optimize Options): Likewise.

From-SVN: r203974
2013-10-23 13:28:11 +00:00
Tom de Vries a63b68b2f2 Add missing check in stmt_local_def for tail-merge.
2013-10-22  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/58805
	* tree-ssa-tail-merge.c (stmt_local_def): Add gimple_vdef check.

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

From-SVN: r203973
2013-10-23 13:26:45 +00:00