Commit Graph

118844 Commits

Author SHA1 Message Date
David Edelsohn
00c2f0ef6d * configure: Regenerated.
From-SVN: r191319
2012-09-14 19:30:29 -04:00
David Edelsohn
694a654123 * configure: Regenerated.
From-SVN: r191318
2012-09-14 19:26:42 -04:00
David Edelsohn
b0bb039681 * configure: Regenerated.
From-SVN: r191317
2012-09-14 19:25:07 -04:00
David Edelsohn
d7a29167f8 re PR bootstrap/38607 (AIX error messages about TOC during build)
PR target/38607
        Merge upstream change.
        * libtool.m4 (_LT_COMPILER_PIC): Add -fPIC to GCC and GXX for AIX.

	* configure.ac: Add target-libquadmath to noconfigdirs for AIX.
        Add libgomp*.o to compare_exclusions for AIX.
        * configure: Regenerate.

From-SVN: r191316
2012-09-14 19:23:41 -04:00
Joseph Myers
9f33203d01 re PR c/54552 (Cast to pointer to VLA crash the compiler)
c:
	PR c/54552
	* c-typeck.c (c_cast_expr): When casting to a type requiring
	C_MAYBE_CONST_EXPR to be created, pass the inner expression to
	c_fully_fold first.

testsuite:
	* gcc.c-torture/compile/pr54552-1.c: New test.

From-SVN: r191313
2012-09-14 22:16:56 +01:00
Walter Lee
9996a6d1b6 Fix grammar and spelling.
* doc/invoke.texi (Option Summary): fix typesetting for -mcpu
	option for TILEPro and TILE-Gx.
	(TILE-Gx Options): Fix grammar and spellings in documentation for
	-mcmodel.

From-SVN: r191311
2012-09-14 20:54:02 +00:00
Marc Glisse
31ed622658 re PR c++/54427 (Expose more vector extensions)
2012-09-14  Marc Glisse  <marc.glisse@inria.fr>
	PR c++/54427

gcc/ChangeLog
	* fold-const.c (fold_unary_loc): Disable for VECTOR_TYPE.
	(fold_binary_loc): Likewise.
	* gimple-fold.c (and_comparisons_1): Handle VECTOR_TYPE.
	(or_comparisons_1): Likewise.

gcc/cp/ChangeLog
	* typeck.c (cp_build_binary_op) [LSHIFT_EXPR, RSHIFT_EXPR, EQ_EXPR,
	NE_EXPR, LE_EXPR, GE_EXPR, LT_EXPR, GT_EXPR]: Handle VECTOR_TYPE.

gcc/testsuite/ChangeLog
	* g++.dg/other/vector-compare.C: New testcase.
	* gcc/testsuite/c-c++-common/vector-compare-3.c: New testcase.
	* gcc.dg/vector-shift.c: Move ...
	* c-c++-common/vector-shift.c: ... here.
	* gcc.dg/vector-shift1.c: Move ...
	* c-c++-common/vector-shift1.c: ... here.
	* gcc.dg/vector-shift3.c: Move ...
	* c-c++-common/vector-shift3.c: ... here.
	* gcc.dg/vector-compare-1.c: Move ...
	* c-c++-common/vector-compare-1.c: ... here.
	* gcc.dg/vector-compare-2.c: Move ...
	* c-c++-common/vector-compare-2.c: ... here.
	* gcc.c-torture/execute/vector-compare-1.c: Move ...
	* c-c++-common/torture/vector-compare-1.c: ... here.
	* gcc.c-torture/execute/vector-compare-2.x: Delete.
	* gcc.c-torture/execute/vector-compare-2.c: Move ...
	* c-c++-common/torture/vector-compare-2.c: ... here.
	* gcc.c-torture/execute/vector-shift.c: Move ...
	* c-c++-common/torture/vector-shift.c: ... here.
	* gcc.c-torture/execute/vector-shift2.c: Move ...
	* c-c++-common/torture/vector-shift2.c: ... here.
	* gcc.c-torture/execute/vector-subscript-1.c: Move ...
	* c-c++-common/torture/vector-subscript-1.c: ... here.
	* gcc.c-torture/execute/vector-subscript-2.c: Move ...
	* c-c++-common/torture/vector-subscript-2.c: ... here.
	* gcc.c-torture/execute/vector-subscript-3.c: Move ...
	* c-c++-common/torture/vector-subscript-3.c: ... here.

From-SVN: r191308
2012-09-14 17:17:01 +00:00
Richard Earnshaw
0290430b75 re PR target/54516 (ICE in reload_cse_simplify_operands, at postreload.c:403 with -O1 -march=armv7-a -mthumb)
PR target/54516
	PR rtl-optimization/54540
	* reload.c (find_dummy_reload): Don't use OUT as a reload reg
	for IN if it overlaps a fixed register.

From-SVN: r191307
2012-09-14 17:10:45 +00:00
Richard Earnshaw
cde43acdba Temporarily revert previous
From-SVN: r191306
2012-09-14 17:08:42 +00:00
Richard Earnshaw
57132d23fa reload.c (find_dummy_reload): Don't use OUT as a reload reg for IN if it overlaps a fixed register.
* reload.c (find_dummy_reload): Don't use OUT as a reload reg
	for IN if it overlaps a fixed register.

From-SVN: r191305
2012-09-14 17:02:04 +00:00
Joseph Myers
a27d595da2 re PR c/54103 (ICE at gimplify.c:7790 on current trunk)
c:
	PR c/54103
	* c-typeck.c (build_unary_op): Pass original argument of
	TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
	any C_MAYBE_CONST_EXPR, if it has integer operands.
	(build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
	TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
	to c_objc_common_truthvalue_conversion, then remove any
	C_MAYBE_CONST_EXPR, if they have integer operands.  Use
	c_objc_common_truthvalue_conversion not
	c_common_truthvalue_conversion.
	(c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
	call note_integer_operands for arguments with integer operands
	that are not integer constants.

testsuite:
	* gcc.c-torture/compile/pr54103-1.c,
	gcc.c-torture/compile/pr54103-2.c,
	gcc.c-torture/compile/pr54103-3.c,
	gcc.c-torture/compile/pr54103-4.c,
	gcc.c-torture/compile/pr54103-5.c,
	gcc.c-torture/compile/pr54103-6.c: New tests.
	* gcc.dg/c90-const-expr-8.c: Update expected column number.

From-SVN: r191304
2012-09-14 17:59:10 +01:00
Paolo Carlini
937f6ef145 decl.c (make_typename_type): Only error out if tf_error is set in complain.
2012-09-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* decl.c (make_typename_type): Only error out if tf_error is set
	in complain.

From-SVN: r191303
2012-09-14 14:43:05 +00:00
Eric Botcazou
5ef0b50ddc re PR rtl-optimization/44194 (struct returned by value generates useless stores)
PR rtl-optimization/44194
	* calls.c (expand_call): In the PARALLEL case, copy the return value
	into pseudos instead of spilling it onto the stack.
	* emit-rtl.c (adjust_address_1): Rename ADJUST into ADJUST_ADDRESS and
	add new ADJUST_OBJECT parameter.
	If ADJUST_OBJECT is set, drop the underlying object if it cannot be
	proved that the adjusted memory access is still within its bounds.
	(adjust_automodify_address_1): Adjust call to adjust_address_1.
	(widen_memory_access): Likewise.
	* expmed.c (store_bit_field_1): Call adjust_bitfield_address instead
	of adjust_address.  Do not drop the underlying object of a MEM.
	(store_fixed_bit_field): Likewise.
	(extract_bit_field_1): Likewise.  Fix oversight in recursion.
	(extract_fixed_bit_field): Likewise.
	* expr.h (adjust_address_1): Adjust prototype.
	(adjust_address): Adjust call to adjust_address_1.
	(adjust_address_nv): Likewise.
	(adjust_bitfield_address): New macro.
	(adjust_bitfield_address_nv): Likewise.
	* expr.c (expand_assignment): Handle a PARALLEL in more cases.
	(store_expr): Likewise.
	(store_field): Likewise.

	* dse.c: Fix typos in the head comment.

From-SVN: r191302
2012-09-14 13:28:44 +00:00
Christian Bruel
fcf8632eed re PR target/54546 (SH: Enable -fshrink-wrap)
PR target/54546
       * config/sh/sh-protos.h (sh_need_epilogue): Delete.
       (sh_can_use_simple_return_p): Declare.
       * config/sh/sh.c (sh_can_use_simple_return_p): Define.
       (sh_need_epilogue, sh_need_epilogue_known): Delete.
       (sh_output_function_epilogue): Remove sh_need_epilogue_known.
       * config/sh/sh.md (simple_return, return): Define.
       (epilogue): Use inline return rtl.
       (sh_expand_epilogue): Cleanup parameters boolean type.
       * config/sh/iterators.md (any_return): New iterator.

From-SVN: r191301
2012-09-14 15:22:29 +02:00
Christian Bruel
312f9b9de7 predicates.md (t_reg_operand): Check REG_P for SUBREG.
2012-09-14  Christian Bruel  <christian.bruel@st.com>

       * config/sh/predicates.md (t_reg_operand): Check REG_P for SUBREG.
       * config/sh/sh.c (sequence_insn_p: Check INSNP_P for SEQUENCE.

From-SVN: r191300
2012-09-14 15:01:56 +02:00
Jakub Jelinek
5f08ae1eb5 re PR target/54564 (Broken __builtin_ia32_vfmadds[sd]3)
PR target/54564
	* config/i386/sse.md (fmai_vmfmadd_<mode>): Use (match_dup 1)
	instead of (match_dup 0) as second argument to vec_merge.
	(*fmai_fmadd_<mode>, *fmai_fmsub_<mode>): Likewise.
	Remove third alternative.
	(*fmai_fnmadd_<mode>, *fmai_fnmsub_<mode>): Likewise.  Negate
	operand 2 instead of operand 1, but put it as first argument
	of fma.

	* config/i386/fmaintrin.h (_mm_fnmadd_sd, _mm_fnmadd_ss,
	_mm_fnmsub_sd, _mm_fnmsub_ss): Negate the second argument instead
	of the first.

From-SVN: r191298
2012-09-14 14:37:16 +02:00
Jakub Jelinek
aeeede334c re PR target/54564 (Broken __builtin_ia32_vfmadds[sd]3)
PR target/54564
	* config/i386/sse.md (fmai_vmfmadd_<mode>): Use (match_dup 1)
	instead of (match_dup 0) as second argument to vec_merge.
	(*fmai_fmadd_<mode>, *fmai_fmsub_<mode>): Likewise.
	Remove third alternative.
	(*fmai_fnmadd_<mode>, *fmai_fnmsub_<mode>): Likewise.  Negate
	operand 2 instead of operand 1, but put it as first argument
	of fma.

	* config/i386/fmaintrin.h (_mm_fnmadd_sd, _mm_fnmadd_ss,
	_mm_fnmsub_sd, _mm_fnmsub_ss): Negate the second argument instead
	of the first.

From-SVN: r191297
2012-09-14 14:36:33 +02:00
Paolo Carlini
02cbc6d6a7 2012-09-14 Paolo Carlini <paolo.carlini@oracle.com>
* Tweak last ChangeLog entry.

From-SVN: r191296
2012-09-14 12:23:12 +00:00
Richard Guenther
edb32daf78 re PR tree-optimization/54565 (pass_update_address_taken before forwprop1 for vectors)
2012-09-14  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/54565
	* passes.c (init_optimization_passes): Adjust comments.
	(execute_function_todo): Do not execute execute_update_addresses_taken
	before processing TODO_rebuild_alias.
	* tree-ssa-ccp.c (do_ssa_ccp): Schedule TODO_update_address_taken.

	* gcc.dg/tree-ssa/ssa-ccp-17.c: Adjust.
	* gcc.dg/tree-ssa/forwprop-6.c: Likewise.  Remove XFAIL.

From-SVN: r191295
2012-09-14 12:22:27 +00:00
Jonathan Wakely
645708abf6 Check _GLIBCXX_USE_C99_STDINT_TR1 in random.cc
PR libstdc++/54576
	* libstdc++-v3/src/c++11/random.cc: Check if
	_GLIBCXX_USE_C99_STDINT_TR1 is defined.

Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>

From-SVN: r191294
2012-09-14 04:41:53 -07:00
Richard Guenther
f7a39c55dc tree-vrp.c (register_new_assert_for): Simplify for backward walk.
2012-09-14  Richard Guenther  <rguenther@suse.de>

	* tree-vrp.c (register_new_assert_for): Simplify for backward
	walk.
	(find_assert_locations_1): Walk the basic-block backwards,
	properly add/prune from live.  Use live for asserts derived
	from stmts.

From-SVN: r191293
2012-09-14 11:39:18 +00:00
Marc Glisse
3ebd25e11b tree-ssa-forwprop.c (simplify_bitfield_ref): Call get_prop_source_stmt.
2012-09-14  Marc Glisse  <marc.glisse@inria.fr>

	* tree-ssa-forwprop.c (simplify_bitfield_ref): Call
	get_prop_source_stmt.
	(simplify_permutation): Likewise.
	(simplify_vector_constructor): Likewise.

From-SVN: r191292
2012-09-14 11:25:09 +00:00
Ulrich Weigand
f79cc861cf * gcc.target/arm/combine-movs.c: Add missing space.
From-SVN: r191291
2012-09-14 10:12:43 +00:00
Richard Guenther
3537a0cdbb builtin-types.def (BT_FN_CONST_STRING): Add.
2012-09-14  Richard Guenther  <rguenther@suse.de>

	* builtin-types.def (BT_FN_CONST_STRING): Add.
	* builtins.def (BUILT_IN_FILE, BUILT_IN_FUNCTION,
	BUILT_IN_LINE): New builtins.
	* gimplify.c (gimplify_call_expr): Expand them.
	* doc/extend.texi (__builtin_LINE, __builtin_FUNCTION,
	__builtin_FILE): Document.

	* g++.dg/torture/builtin-location.C: New testcase.

From-SVN: r191290
2012-09-14 08:50:01 +00:00
GCC Administrator
88cd48992c Daily bump.
From-SVN: r191288
2012-09-14 00:17:59 +00:00
Anthony Green
f636ba146a Bi-endian support for moxie
From-SVN: r191285
2012-09-13 23:35:48 +00:00
Paolo Carlini
0ccb505dad re PR c++/53210 (warning for data member initialized with itself should be in -Wall)
2012-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
	    Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c++/53210
	* doc/invoke.texi ([Winit-self]): Document as enabled by -Wall
	in C++.

/c-family
2012-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
	    Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c++/53210
	* c.opt ([Winit-self]): Enabled by -Wall in C++.

/cp
2012-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
	    Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c++/53210
	* init.c (perform_member_init): Use OPT_Winit_self instead of
	OPT_Wuninitialized.

/testsuite
2012-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
	    Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c++/53210
	* g++.dg/warn/Winit-self.C: New.

Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>

From-SVN: r191284
2012-09-13 23:04:04 +00:00
Eric Botcazou
03c432bd84 predicates.md (input_operand): Do not consider TImode constants as 1-instruction integer constants.
* config/sparc/predicates.md (input_operand): Do not consider TImode
	constants as 1-instruction integer constants.
	Use register_or_zero_operand instead of register_operand and tidy up.
	* config/sparc/sparc.md (movti): New expander.
	(movti_insn_sp64): New instruction.
	(movti_insn_sp64_hq): Likewise.
	(TImode splitters): New splitters.
	* config/sparc/sparc.c (sparc_expand_move) <TImode>: New case.
	(sparc_legitimate_address_p): Return 0 for REG+REG in TImode.

	* config/sparc/sparc-protos.h (arith_double_4096_operand): Delete.
	(arith_4096_operand): Likewise.
	(zero_operand): Likewise.
	(fp_zero_operand): Likewise.
	(reg_or_0_operand): Likewise.

From-SVN: r191283
2012-09-13 23:00:23 +00:00
Paolo Carlini
12308bc61d typeck.c (build_indirect_ref, [...]): Remove uses of ATTRIBUTE_UNUSED on the parameters.
2012-09-13  Paolo Carlini  <paolo.carlini@oracle.com>

	* typeck.c (build_indirect_ref, build_function_call,
	build_function_call_vec, build_binary_op, build_unary_op,
	build_compound_expr, build_c_cast, build_modify_expr): Remove
	uses of ATTRIBUTE_UNUSED on the parameters.
	* class.c (set_linkage_according_to_type, resort_type_method_vec,
	dfs_find_final_overrider_post, empty_base_at_nonzero_offset_p):
	Likewise.
	* decl.c (local_variable_p_walkfn): Likewise.
	* except.c (wrap_cleanups_r, check_noexcept_r): Likewise.
	* error.c (find_typenames_r): Likewise.
	* tree.c (verify_stmt_tree_r, bot_replace,
	handle_java_interface_attribute, handle_com_interface_attribute,
	handle_init_priority_attribute, c_register_addr_space): Likewise.
	* cp-gimplify.c (cxx_omp_clause_default_ctor): Likewise.
	* cp-lang.c (objcp_tsubst_copy_and_build): Likewise.
	* pt.c (unify_success, unify_invalid, instantiation_dependent_r):
	Likewise.
	* semantics.c (dfs_calculate_bases_pre): Likewise.
	* decl2.c (fix_temporary_vars_context_r, clear_decl_external):
	Likewise.
	* parser.c (cp_lexer_token_at, cp_parser_omp_clause_mergeable,
	cp_parser_omp_clause_nowait, cp_parser_omp_clause_ordered,
	cp_parser_omp_clause_untied): Likewise.
	* mangle.c (write_unnamed_type_name,
	discriminator_for_string_literal): Likewise.
	* search.c (dfs_accessible_post, dfs_debug_mark): Likewise.
	* lex.c (handle_pragma_vtable, handle_pragma_unit,
	handle_pragma_interface, handle_pragma_implementation,
	handle_pragma_java_exceptions): Likewise.

From-SVN: r191281
2012-09-13 22:20:14 +00:00
Jakub Jelinek
9feb29df99 re PR c/54559 (, ICE in gimplify_expr, at gimplify.c:7592)
PR c/54559
	* c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
	COMPLEX_TYPE with in_late_binary_op set temporarily to true.

	* gcc.c-torture/compile/pr54559.c: New test.

From-SVN: r191270
2012-09-13 18:57:15 +02:00
Jakub Jelinek
8bf4ee3426 configure.ac (CXXFLAGS): Remove -O2 when not bootstrapping.
* configure.ac (CXXFLAGS): Remove -O2 when not bootstrapping.
	* configure: Regenerated.

From-SVN: r191267
2012-09-13 18:30:17 +02:00
Jason Merrill
9c7de5c6bc re PR c++/53839 ([C++11] internal compiler error: in adjust_temp_type, at cp/semantics.c:6391)
PR c++/53839
	* semantics.c (cxx_eval_indirect_ref): If we aren't looking for an
	address, make sure the value is constant.

From-SVN: r191263
2012-09-13 11:14:08 -04:00
Jason Merrill
afcf5b8e90 re PR c++/54511 (internal compiler error: in make_decl_rtl, at varasm.c:1147)
PR c++/54511
	* pt.c (tsubst_decl) [VAR_DECL]: Handle DECL_ANON_UNION_VAR_P.

From-SVN: r191262
2012-09-13 11:13:45 -04:00
Jason Merrill
7c8233ce84 re PR c++/53836 (ICE: unexpected expression of kind template_parm_index)
PR c++/53836
	* pt.c (value_dependent_expression_p): A TREE_LIST initializer must
	be dependent.

From-SVN: r191261
2012-09-13 11:13:24 -04:00
Tobias Burnus
c915f8bca4 re PR fortran/54556 (Marking implicitly pure variables as DECL_PURE_P leads to wrong code)
2012-09-13  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54556
        * resolve.c (resolve_formal_arglist): Allow VALUE arguments
        with implicit_pure.
        (gfc_impure_variable): Don't check gfc_pure such that the
        function also works for gfc_implicit_pure procedures.

2012-09-13  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54556
        * gfortran.dg/implicit_pure_3.f90: New.

From-SVN: r191259
2012-09-13 16:57:38 +02:00
Uros Bizjak
b5c350d82e i386.md (prefetch): Do not assert mode of operand 0.
* config/i386/i386.md (prefetch): Do not assert mode of operand 0.
	(*prefetch_sse_<mode>): Do not set mode of address_operand predicate.
	Rename to ...
	(*prefetch_sse): ... this.
	(*prefetch_3dnow_<mode>): Do not set mode of address_operand predicate.
	Rename to ...
	(*prefetch_3dnow): ... this.

From-SVN: r191256
2012-09-13 15:49:39 +02:00
Steven Bosscher
df92c6403c ipa-pure-const.c (state_from_flags, [...]): Use current_function_name instead of lang_hooks.decl_printable_name.
* ipa-pure-const.c (state_from_flags, local_pure_const): Use
	current_function_name instead of lang_hooks.decl_printable_name.

	* function.h (fndecl_name): New prototype.
	* function.c (fndecl_name): New function.
	* vecir.h (cgraph_node_p): New standard IR VEC type.
	* trans-mem.c (cgraph_node_p): No need anymore to define it here.
	* ipa-utils.h (ipa_get_nodes_in_cycle): New prototype.
	* ipa-utils.c (ipa_get_nodes_in_cycle): New function.
	* ipa-reference.c: Don't include langhooks.h, and certainly not twice.
	Fix many formatting issues (long lines, short lines, spacing, etc.).
	(get_static_name): Use fndecl_name.
	(dump_static_vars_set_to_file): New function split out from propagate.
	(union_static_var_sets): New function, union two sets and collapse
	to all_module_statics as quickly as possible.
	(intersect_static_var_sets): New function, similar to above.
	(copy_static_var_set): Renamed from copy_global_bitmap and rewritten
	to allocate a copy on the same bitmap_obstack as the source set.
	(propagate_bits): Simplify, and clarify by using union_static_var_sets.
	(generate_summary): Remove bm_temp.  Print UID of promotable globals.
	(read_write_all_from_decl): Use pass-by-reference, bless C++.
	(get_read_write_all_from_node): New function, split out from propagate.
	(propagate): Simplify and clarify with helper functions.  Use
	ipa_get_nodes_in_cycle to walk all nodes in a reduced node.
	(ipa_reference_read_optimization_summary): Use fndecl_name instead of
	lang_hooks.decl_printable_name.

	* rtl.h (print_rtl_single_with_indent): New prototype.
	* print-rtl.c (print_rtl_single_with_indent): New function.
	* cfghooks.h (empty_block_p, split_block_before_cond_jump): New hooks.
	* cfghooks.c (empty_block_p, split_block_before_cond_jump): Implement.
	* cfgrtl.c (rtl_block_empty_p, rtl_split_block_before_cond_jump):
	Implement RTL specific hooks.
	(rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): Register the new hooks.
	* tree-cfg.c (gimple_empty_block_p,
	gimple_split_block_before_cond_jump): Implement GIMPLE specific hooks.
	(gimple_cfg_hooks): Register the new hooks.
	* tree-ssa-phiopt.c (empty_block_p): Remove in favor of new hook.

From-SVN: r191255
2012-09-13 13:41:46 +00:00
Richard Guenther
17742d62a2 tree-ssa-sccvn.h (enum vn_kind): New.
2012-09-13  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-sccvn.h (enum vn_kind): New.
	(vn_get_stmt_kind): Likewise.
	* tree-ssa-sccvn.c (vn_get_stmt_kind): New function, adjust
	ADDR_EXPR handling.
	(visit_use): Use it.
	* tree-ssa-pre.c (compute_avail): Likewise, simplify further.

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

From-SVN: r191253
2012-09-13 12:43:58 +00:00
Uros Bizjak
5d087cc916 * config/i386/i386.c (processor_alias_table): Fix whitespace.
From-SVN: r191248
2012-09-13 13:45:35 +02:00
Venkataramanan Kumar
726d44426b Enable PTA_PRFCHW for AMD bdver1, bdver2, btver1 and btver2 cores
From-SVN: r191245
2012-09-13 09:46:28 +00:00
Christophe Lyon
e619b1739d arm.md (arm_rev): Factorize thumb1, thumb2 and arm variants for rev instruction..
2012-09-13  Christophe Lyon  <christophe.lyon@linaro.org>
	    Richard Earnshaw  <rearnsha@arm.com>

	gcc/
	* config/arm/arm.md (arm_rev): Factorize thumb1, thumb2 and arm
	variants for rev instruction..
	(thumb1_rev): Delete pattern.
	(arm_revsh): New pattern to support builtin_bswap16.
	(arm_rev16, bswaphi2): Likewise.

	gcc/testsuite/
	* gcc.target/arm/builtin-bswap-1.c: New testcase.


Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>

From-SVN: r191243
2012-09-13 10:55:30 +02:00
Kyrylo Tkachov
b9e75f4fcc For Kyryll
2012-09-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* c-c++-common/pr51712.c: Handle for short-enum targets.

From-SVN: r191241
2012-09-13 08:20:22 +00:00
Terry Guo
cb85ddf7eb combine-movs.c: Check movs for ARM mode and lsrs for Thumb2 mode.
2012-09-12  Terry Guo  <terry.guo@arm.com>

        * gcc.target/arm/combine-movs.c: Check movs for ARM mode
        and lsrs for Thumb2 mode.

From-SVN: r191239
2012-09-13 05:36:19 +00:00
Teresa Johnson
c1736aea43 This fixes PR gcov-profile/54487 where the gcda files were not locked by the profile-use read...
This fixes PR gcov-profile/54487 where the gcda files were not locked
by the profile-use read, enabling writes by other instrumented compiles
to change the profile in the middle of the profile use read. The GCOV_LOCKED
macro was not set because it was guarded by HOST_HAS_F_SETLKW, which was
never set. The fix is to add a compile test in the configure to set it.

2012-09-12  Teresa Johnson  <tejohnson@google.com>

	PR gcov-profile/54487
	* configure.ac (HOST_HAS_F_SETLKW): Set based on compile
	test using F_SETLKW with fcntl.
	* configure, config.in: Regenerate.

From-SVN: r191238
2012-09-13 04:59:14 +00:00
GCC Administrator
8dec297cde Daily bump.
From-SVN: r191237
2012-09-13 00:17:42 +00:00
Jan Hubicka
128e0d8944 re PR fortran/48636 (Enable more inlining with -O2 and higher)
PR fortran/48636
	* gcc.dg/ipa/inlinehint-2.c: New testcase.
	* ipa-inline-analysis.c (dump_inline_hints): Dump loop stride.
	(set_hint_predicate): New function.
	(reset_inline_summary): Reset loop stride.
	(remap_predicate_after_duplication): New function.
	(remap_hint_predicate_after_duplication): New function.
	(inline_node_duplication_hook): Update.
	(dump_inline_summary): Dump stride summaries.
	(estimate_function_body_sizes): Compute strides.
	(remap_hint_predicate): New function.
	(inline_merge_summary): Use it.
	(inline_read_section): Read stride.
	(inline_write_summary): Write stride.
	* ipa-inline.c (want_inline_small_function_p): Handle strides.
	(edge_badness): Likewise.
	* ipa-inline.h (inline_hints_vals): Add stride hint.
	(inline_summary): Update stride.

From-SVN: r191232
2012-09-12 21:51:14 +00:00
Uros Bizjak
cb261eb727 i386.c (x86_prefetch_sse): Change to unsigned char.
* config/i386/i386.c (x86_prefetch_sse): Change to unsigned char.
	* config/i386/i386.h (x86_prefetch_sse): Ditto.

From-SVN: r191231
2012-09-12 21:25:13 +02:00
H.J. Lu
9691b9a7d3 Allow negative offset for UNSPEC_DTPOFF/UNSPEC_NTPOFF
gcc/

	PR target/54445
	* config/i386/predicates.md (x86_64_immediate_operand): Allow
	negative offset for UNSPEC_DTPOFF/UNSPEC_NTPOFF.

gcc/testsuite/

	PR target/54445
	* gcc.target/i386/pr54445-1.c: New file.
	* gcc.target/i386/pr54445-2.c: Likewise.

From-SVN: r191230
2012-09-12 11:08:59 -07:00
Jan Hubicka
c3c445e1cf common.opt (flto-partition): Add "max".
* common.opt (flto-partition): Add "max".
	* invoke.texi (flto-partition): Document "max"

	* lto.c (do_whole_program_analysis): Care timevars, statistics and
	AUX pointer cleaning. Add max partitioning.
	* lto-partition.c (enum symbol_class): New.
	(get_symbol_class): New function.
	(symbol_partitioned_p): New function.
	(add_references_to_partition): Remove.
	(add_aliases_to_partition): Remove.
	(add_cgraph_node_to_partition_1): Remove.
	(add_cgraph_node_to_partition): Remove.
	(add_symbol_to_partition): New function.
	(add_symbol_to_partition_1): New function.
	(contained_in_symbol): New function.
	(partition_cgraph_node_p): Remove.
	(partition_varpool_node_p): Remove.
	(partition_symbol_p): Remove.
	(lto_1_to_1_map): Cleanup.
	(lto_max_map): New.
	(lto_balanced_map): Update.
	(lto_promote_cross_file_statics): Update.
	* lto-partition.h (lto_max_map): Declare.
	* timevar.def (TV_WHOPR_PARTITIONING): New timevar.

From-SVN: r191229
2012-09-12 17:55:13 +00:00
Jan Hubicka
b5c7cdfb0a re PR lto/54312 (uniquify_nodes takes 12% of Mozilla LTO build)
PR lto/54312
	* lto.c (uniquify_nodes): Remove quadratic loop checking if the
	type is variant leader.

From-SVN: r191228
2012-09-12 16:26:19 +00:00