Commit Graph

112199 Commits

Author SHA1 Message Date
Arnaud Charlet
885c4871af [multiple changes]
2011-10-06  Thomas Quinot  <quinot@adacore.com>

	* einfo.ads, exp_attr.adb, exp_ch3.adb, exp_ch4.adb, exp_ch7.adb,
	exp_ch9.adb, exp_ch9.ads, exp_strm.adb, exp_util.adb, freeze.adb,
	g-debpoo.ads, opt.ads, par-ch12.adb, par-ch2.adb, par-ch3.adb,
	par-ch5.adb, par-ch6.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
	sem_ch10.adb, sem_ch12.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
	sem_ch6.adb, sem_intr.adb, sem_res.ads, sem_type.adb, sem_util.adb,
	s-regpat.adb, s-tpopde-vms.ads: Minor reformatting.
	* s-osinte-freebsd.ads: Fix for tasking failures on FreeBSD.

2011-10-06  Ed Schonberg  <schonberg@adacore.com>

	* a-cihase.adb, a-ciorma.adb: Avoid accessibility checks in container
	references.

2011-10-06  Matthew Heaney  <heaney@adacore.com>

	* a-cuprqu.ads, a-cuprqu.adb, a-cbprqu.ads, a-cbprqu.adb
	(Dequeue_Only_High_Priority): Protected procedure now implemented.

2011-10-06  Vincent Celier  <celier@adacore.com>

	* g-trasym.adb: Replace old implementation with the default
	implementation that returns list of addresses as "0x...".
	* g-trasym.ads: Update the list of platforms with the full
	capability.  Indicate that there is a default implementation
	for other platforms.
	* g-trasym-unimplemented.ads, g-trasym-unimplemented.adb: Remove.
	* gcc-interface/Makefile.in: Remove g-trasym-unimplemented, as there
	is now a default implementation for all platforms without the full
	capability.

From-SVN: r179631
2011-10-06 21:37:25 +02:00
Anatoly Sokolov
e12671331b system.h (OUTPUT_ADDR_CONST_EXTRA): Poison.
* system.h (OUTPUT_ADDR_CONST_EXTRA): Poison.
	* doc/tm.texi.in (OUTPUT_ADDR_CONST_EXTRA): Remove documentation.
	* doc/tm.texi: Regenerate.
	* target.def (output_addr_const_extra): Use
	hook_bool_FILEptr_rtx_false.
	* targhooks.c (default_asm_output_addr_const_extra): Remove.
	* targhooks.h (default_asm_output_addr_const_extra): Remove.
	* hooks.c (hook_bool_FILEptr_rtx_false): New functions.
	* hooks.h (hook_bool_FILEptr_rtx_false): Declare.

From-SVN: r179630
2011-10-06 23:25:53 +04:00
Arnaud Charlet
ce72a9a305 [multiple changes]
2011-10-06  Robert Dewar  <dewar@adacore.com>

	* a-ciorse.adb, a-cihase.adb, a-cihase.ads, a-coorse.adb,
	a-cborse.adb, a-comutr.adb, a-ciorma.adb, a-cbmutr.adb,
	a-cbmutr.ads, a-cbhase.adb, a-cbhase.ads: Minor reformatting and code
	reorganization (use conditional expressions).

2011-10-06  Robert Dewar  <dewar@adacore.com>

	* sem_res.adb (Resolve_Arithmetic_Op): Fix bad warning for
	floating divide by zero.

2011-10-06  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb: Limited interfaces that are not immutably limited
	are OK in return statements.

From-SVN: r179629
2011-10-06 21:24:49 +02:00
David S. Miller
908e19d0d0 Correct errors in sparc SImode popcount/clz patterns when 64-bit.
* config/sparc/sparc.md (popcount<mode>2, clz<mode>2): Split up into...
	(popcountdi2, popcountsi2, clzdi2, clzsi2): Explicit expanders, in the
	SI mode 64-bit code gen case explicitly zero-extend and truncate.
	(*popcount<mode>_sp64): Split up into...
	(*popcountdi_sp64, *popcountsi_64): Explicit instantiations, and in the
	SImode case use truncate.
	(*clzsi_sp64): Rewrite to use truncate, and let the expander emit the
	subtract so the compiler can optimize it.
	(SIDI): Remove unused mode iterator.

From-SVN: r179628
2011-10-06 12:15:39 -07:00
Bernd Schmidt
f4b31a33a2 function.c (thread_prologue_and_epilogue_insns): Emit split prologue on the orig_entry_edge.
* function.c (thread_prologue_and_epilogue_insns): Emit split
	prologue on the orig_entry_edge. Don't account for it in
	prologue_clobbered.

From-SVN: r179627
2011-10-06 18:59:36 +00:00
Jakub Jelinek
69d2aade06 re PR tree-optimization/50596 (Problems in vectorization of condition expression)
PR tree-optimization/50596
	* tree-vectorizer.h (vect_is_simple_cond): New prototype.
	(NUM_PATTERNS): Change to 6.
	* tree-vect-patterns.c (vect_recog_mixed_size_cond_pattern): New
	function.
	(vect_vect_recog_func_ptrs): Add vect_recog_mixed_size_cond_pattern.
	(vect_mark_pattern_stmts): Don't create stmt_vinfo for def_stmt
	if it already has one, and don't set STMT_VINFO_VECTYPE in it
	if it is already set.
	* tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Handle
	COND_EXPR in pattern stmts.
	(vect_is_simple_cond): No longer static.

	* lib/target-supports.exp (check_effective_target_vect_cond_mixed):
	New.
	* gcc.dg/vect/vect-cond-8.c: New test.

From-SVN: r179626
2011-10-06 19:49:36 +02:00
Richard Henderson
810cfbebfa i386: Use the proper mode for blend in vshuffle.
From-SVN: r179625
2011-10-06 10:12:44 -07:00
Richard Henderson
44167383a1 i386: Add AVX2 support to ix86_expand_vshuffle.
From-SVN: r179624
2011-10-06 10:12:36 -07:00
Richard Henderson
cf9899972b Rework vector shuffle tests.
Test vector sizes 8, 16, and 32.  Test most data types for each size.

From-SVN: r179623
2011-10-06 10:12:28 -07:00
Richard Henderson
8864db874b vshuffle: Use correct mode for mask operand.
From-SVN: r179622
2011-10-06 10:12:19 -07:00
Jakub Jelinek
92aea285e7 tree-vect-patterns.c (vect_pattern_recog_1): Use vect_recog_func_ptr typedef for the first argument.
* tree-vect-patterns.c (vect_pattern_recog_1): Use
	vect_recog_func_ptr typedef for the first argument.
	(vect_pattern_recog): Rename vect_recog_func_ptr variable
	to vect_recog_func, use vect_recog_func_ptr typedef for it.

From-SVN: r179621
2011-10-06 18:50:23 +02:00
Jakub Jelinek
b799033017 re PR tree-optimization/49279 (Optimization incorrectly presuming constant variable inside loop in g++ 4.5 and 4.6 with -O2 and -O3 for x86_64 targets)
PR tree-optimization/49279
	* tree-ssa-structalias.c (find_func_aliases): Don't handle
	CAST_RESTRICT.
	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Allow
	restrict propagation.
	* tree-ssa.c (useless_type_conversion_p): Don't return false
	if TYPE_RESTRICT differs.

	* gcc.dg/tree-ssa/restrict-4.c: XFAIL.
	* gcc.c-torture/execute/pr49279.c: New test.

From-SVN: r179620
2011-10-06 18:38:29 +02:00
Bernd Schmidt
b966d3a966 function.c (thread_prologue_and_epilogue_insns): Build a vector of unconverted simple return blocks rather than trying to...
* function.c (thread_prologue_and_epilogue_insns): Build a vector
	of unconverted simple return blocks rather than trying to
	recompute them later based on bb_flags bitmap tests.

From-SVN: r179619
2011-10-06 15:59:53 +00:00
Michael Matz
07f5041085 tree-flow.h (get_var_ann): Don't declare.
* tree-flow.h (get_var_ann): Don't declare.
	* tree-flow-inline.h (get_var_ann): Remove.
	(set_is_used): Use var_ann, not get_var_ann.
	* tree-dfa.c (add_referenced_var): Inline body of get_var_ann.
	* tree-profile.c (gimple_gen_edge_profiler): Call
	find_referenced_var_in.
	(gimple_gen_interval_profiler): Ditto.
	(gimple_gen_pow2_profiler): Ditto.
	(gimple_gen_one_value_profiler): Ditto.
	(gimple_gen_average_profiler): Ditto.
	(gimple_gen_ior_profiler): Ditto.
	(gimple_gen_ic_profiler): Ditto plus call add_referenced_var.
	(gimple_gen_ic_func_profiler): Call add_referenced_var.
	* tree-mudflap.c (execute_mudflap_function_ops): Call
	add_referenced_var.

From-SVN: r179618
2011-10-06 15:18:12 +00:00
Paolo Carlini
5847ec9338 assign_neg.cc: Tidy dg- directives, for C++0x testing too.
2011-10-06  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/27_io/ios_base/cons/assign_neg.cc: Tidy dg- directives,
	for C++0x testing too.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
	* testsuite/ext/pb_ds/example/hash_resize_neg.cc: Likewise.
	* testsuite/24_iterators/istreambuf_iterator/requirements/
	base_classes.cc: Adjust for C++0x testing.
	* testsuite/ext/codecvt/char-1.cc: Avoid warnings in C++0x mode.
	* testsuite/ext/codecvt/char-2.cc: Likewise.
	* testsuite/ext/codecvt/wchar_t.cc: Likewise.

From-SVN: r179616
2011-10-06 14:43:26 +00:00
Jakub Jelinek
62371b9228 tree-vect-patterns.c (vect_handle_widen_mult_by_const): For lhs don't set SSA_NAME_DEF_STMT that has been already set by...
* tree-vect-patterns.c (vect_handle_widen_mult_by_const): For lhs
	don't set SSA_NAME_DEF_STMT that has been already set by
	gimple_build_assign_with_ops.
	(vect_recog_pow_pattern, vect_recog_widen_sum_pattern,
	vect_operation_fits_smaller_type, vect_recog_over_widening_pattern):
	Likewise.

From-SVN: r179615
2011-10-06 16:36:44 +02:00
Jakub Jelinek
e7f9dae09c tree.h (avoid_folding_inline_builtin): New prototype.
* tree.h (avoid_folding_inline_builtin): New prototype.
	* builtins.c (avoid_folding_inline_builtin): No longer static.
	* gimple-fold.c (gimple_fold_builtin): Give up if
	avoid_folding_inline_builtin returns true.

From-SVN: r179614
2011-10-06 16:34:48 +02:00
Richard Guenther
bc622b2a5e tree-vect-generic.c (vector_element): Look at previous generated results.
2011-10-06  Richard Guenther  <rguenther@suse.de>

	* tree-vect-generic.c (vector_element): Look at previous
	generated results.

From-SVN: r179613
2011-10-06 14:28:47 +00:00
David Edelsohn
7a9a6698cc re PR c++/39950 (__unix__ macro is not predefined on AIX platform (C and C++))
PR target/39950
        * config/rs6000/aix.h (TARGET_OS_AIX_CPP_BUILTINS): Define
        __powerpc__, __PPC__, __unix__.

From-SVN: r179612
2011-10-06 10:05:54 -04:00
Rainer Orth
cc49116d66 Restore FreeBSD/SPARC bootstrap (PR bootstrap/49804)
From-SVN: r179610
2011-10-06 13:48:14 +00:00
Michael Matz
b86b9f4474 i386.opt (recip_mask, [...]): New variables and cl_target member.
* i386/i386.opt (recip_mask, recip_mask_explicit,
	x_recip_mask_explicit): New variables and cl_target member.
	(mrecip=): New option.
	* i386/i386.h (RECIP_MASK_DIV, RECIP_MASK_SQRT, RECIP_MASK_VEC_DIV,
	RECIP_MASK_VEC_SQRT, RECIP_MASK_ALL, RECIP_MASK_NONE): New bitmasks.
	(TARGET_RECIP_DIV, TARGET_RECIP_SQRT, TARGET_RECIP_VEC_DIV,
	TARGET_RECIP_VEC_SQRT): New tests.
	* i386/i386.md (divsf3): Check TARGET_RECIP_DIV.
	(sqrt<mode>2): Check TARGET_RECIP_SQRT.
	* i386/sse.md (div<mode>3): Check TARGET_RECIP_VEC_DIV.
	(sqrt<mode>2): Check TARGET_RECIP_VEC_SQRT.
	* i386/i386.c (ix86_option_override_internal): Set recip_mask
	for -mrecip and -mrecip=options.
	(ix86_function_specific_save): Save recip_mask_explicit.
	(ix86_function_specific_restore): Restore recip_mask_explicit.

	* doc/invoke.texi (ix86 Options): Document the new option.

From-SVN: r179608
2011-10-06 13:27:47 +00:00
Bernd Schmidt
16340e8601 re PR target/49049 (ICE in copyprop_hardreg_forward_1, at regcprop.c:767)
PR target/49049
	* config/arm/arm.md (arm_subsi3_insn): Lose the last alternative.

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

From-SVN: r179607
2011-10-06 13:12:50 +00:00
Ulrich Weigand
4da6de81bc re PR target/50305 (Inline asm reload failure when building Linux kernel)
gcc/
	PR target/50305
	* config/arm/arm.c (arm_legitimize_reload_address): Recognize
	output of a previous pass through legitimize_reload_address.
	Do not attempt to optimize addresses if the base register is
	equivalent to a constant.

	gcc/testsuite/
	PR target/50305
	* gcc.target/arm/pr50305.c: New test.

From-SVN: r179603
2011-10-06 11:50:26 +00:00
Andreas Krebbel
fa7fd586c3 function.c (thread_prologue_and_epilogue_insns): Mark last_bb_active as possibly unused.
2011-10-06  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* function.c (thread_prologue_and_epilogue_insns): Mark
	last_bb_active as possibly unused.  It is unused for targets which
	do neither have "return" nor "simple_return" expanders.

From-SVN: r179601
2011-10-06 11:44:51 +00:00
Richard Biener
2a86de57e1 fold-const.c (fold_ternary_loc): Also fold non-constant vector CONSTRUCTORs.
2011-10-06  Richard Guenther  <rguenther@suse.de>

	* fold-const.c (fold_ternary_loc): Also fold non-constant
	vector CONSTRUCTORs.  Make more efficient.
	* tree-ssa-dom.c (cprop_operand): Don't handle virtual operands.
	(cprop_into_stmt): Don't propagate into virtual operands.
	(optimize_stmt): Really dump original statement.

From-SVN: r179598
2011-10-06 10:35:20 +00:00
Richard Guenther
69c2fbf1ec fold-const.c (fold_ternary_loc): Also fold non-constant vector CONSTRUCTORs.
2011-10-06  Richard Guenther  <rguenther@suse.de>

	* fold-const.c (fold_ternary_loc): Also fold non-constant
	vector CONSTRUCTORs.  Make more efficient.
	* tree-ssa-dom.c (cprop_operand): Don't handle virtual operands.
	(cprop_into_stmt): Don't propagate into virtual operands.
	(optimize_stmt): Really dump original statement.

From-SVN: r179597
2011-10-06 10:34:18 +00:00
Nick Clifton
50000e8602 * config/rx/rx.md (smin3): Revert previous delta.
From-SVN: r179596
2011-10-06 10:17:48 +00:00
Richard Guenther
0147184e2b re PR tree-optimization/38884 (missed FRE with __real and __imag)
2011-10-06  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/38884
	* tree-ssa-sccvn.c (vn_reference_lookup_3): Handle partial
	reads from aggregate SSA names.

	* gcc.dg/tree-ssa/ssa-fre-34.c: New testcase.
	* gcc.dg/tree-ssa/ssa-fre-35.c: Likewise.

From-SVN: r179593
2011-10-06 08:41:44 +00:00
Jakub Jelinek
d1fc143dd6 tree-vect-patterns.c (vect_pattern_recog_1): Add stmts_to_replace argument...
* tree-vect-patterns.c (vect_pattern_recog_1): Add stmts_to_replace
	argument, truncate it at the beginning instead of allocating there
	and freeing at the end.
	(vect_pattern_recog): Allocate stmts_to_replace here and free at end,
	pass its address to vect_pattern_recog_1.

From-SVN: r179592
2011-10-06 08:58:21 +02:00
David S. Miller
dc78280f80 Add support for lzd and popc instructions on sparc.
gcc/

	* config/sparc/sparc.opt (POPC): New option.
	* doc/invoke.texi: Document it.
	* config/sparc/sparc.c (sparc_option_override): Enable MASK_POPC by
	default on Niagara-2 and later.
	* config/sparc/sparc.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
	* config/sparc/sparc.md (SIDI): New mode iterator.
	(ffsdi2): Delete commented out pattern and comments.
	(popcount<mode>2, clz<mode>2): New expanders.
	(*popcount<mode>_sp64, popcountsi_v8plus, popcountdi_v8plus,
	*clzdi_sp64, clzdi_v8plus, *clzsi_sp64, clzsi_v8plus): New insns.

gcc/testsuite/

	* gcc.target/sparc/lzd.c: New test.
	* gcc.target/sparc/popc.c: New test.

From-SVN: r179591
2011-10-05 23:28:35 -07:00
Artjoms Sinkarovs
5f4992ca45 Fixes the spacing in ChangeLog entry.
From-SVN: r179589
2011-10-06 02:39:55 +00:00
Artjoms Sinkarovs
86785830c3 Fix bconstp-3.c failure in PR50607.
From-SVN: r179588
2011-10-06 01:57:27 +00:00
Paolo Carlini
57d1eadd79 pod_char_traits.h: Avoid warnings in C++0x mode when int_type is unsigned.
2011-10-05  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/ext/pod_char_traits.h: Avoid warnings in C++0x mode
	when int_type is unsigned.

From-SVN: r179587
2011-10-06 01:41:49 +00:00
GCC Administrator
e82598558d Daily bump.
From-SVN: r179586
2011-10-06 00:19:02 +00:00
Uros Bizjak
2e93eba9d0 strlenopt-21.c (dg-options): Remove -fdump-tree-optimized.
* gcc.dg/strlenopt-21.c (dg-options): Remove -fdump-tree-optimized.
	* gcc.dg/ipa/inline-5.c: Cleanup inline ipa dump.
	* g++.dg/other/final1.C: Cleanup original tree dump.

From-SVN: r179579
2011-10-05 23:02:59 +02:00
Bernd Schmidt
ee049cb79a function.c (thread_prologue_and_epilogue_insns): Don't shrink-wrap if profiling after the prologue.
* function.c (thread_prologue_and_epilogue_insns): Don't shrink-wrap
	if profiling after the prologue.

From-SVN: r179577
2011-10-05 20:42:21 +00:00
Uros Bizjak
854f7cbec5 * ChangeLog: Update my previous entry.
From-SVN: r179574
2011-10-05 21:41:27 +02:00
Uros Bizjak
3f7739ad52 vect.exp (VEC_CFLAGS): Append "-fdump-tree-veclower2".
* gcc.dg/vect/vect.exp (VEC_CFLAGS): Append "-fdump-tree-veclower2".
	* gcc.dg/vect/vec-scal-opt.c: Scan and cleanup veclower2 tree dump.
	* gcc.dg/vect/vec-scal-opt1.c: Ditto.
	* gcc.dg/vect/vec-scal-opt2.c: Ditto.

From-SVN: r179573
2011-10-05 21:40:14 +02:00
Jakub Jelinek
97246d787a re PR tree-optimization/50613 (ICE: tree check: expected ssa_name, have addr_expr in find_equal_ptrs, at tree-ssa-strlen.c:712 with -foptimize-strlen -fno-tree-ccp)
PR tree-optimization/50613
	* tree-ssa-strlen.c (find_equal_ptrs): If CASE_CONVERT
	operand is ADDR_EXPR, fallthru into ADDR_EXPR handling,
	and if it is neither that not SSA_NAME, give up.

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

From-SVN: r179567
2011-10-05 20:09:56 +02:00
Richard Henderson
9974107a90 Fix vect-shuffle-* test cases.
From-SVN: r179566
2011-10-05 10:45:36 -07:00
Uros Bizjak
ed37823014 vect.exp (VEC_CFLAGS): Move initialization after DEFAULT_VECTFLAGS initialization.
* gcc.dg/vect/vect.exp (VEC_CFLAGS): Move initialization after
	DEFAULT_VECTFLAGS initialization.

From-SVN: r179565
2011-10-05 19:41:01 +02:00
Richard Henderson
dae00b1695 i386: Rewrite ix86_expand_vshuffle.
1: Handle TARGET_XOP.
2: Reduce code duplication.
3: Use ASHIFT instead of MULT for scaling.
4: Fix errors in building convert-to-v16qi indicies.
5: Handle v2di without sse4.1.

From-SVN: r179564
2011-10-05 10:40:58 -07:00
Richard Henderson
067f5960bd Fix lower_vec_shuffle.
1: It can never fail.
2: It should mask the input indicies.

From-SVN: r179563
2011-10-05 10:40:49 -07:00
Uros Bizjak
9fff751c3f i386.c (distance_non_agu_define): Simplify calculation of "found".
* config/i386/i386.c (distance_non_agu_define): Simplify calculation
	of "found".  Simplify return value calculation.
	(distance_agu_use): Ditto.

From-SVN: r179561
2011-10-05 19:24:01 +02:00
Bernd Schmidt
17a3dae3c2 re PR bootstrap/50621 (Bootstrap failure)
PR bootstrap/50621
	* config/i386/i386.c (ix86_add_cfa_restore_note): Omit notes only
	if the function was not shrink-wrapped.
	(ix86_expand_epilogue): Ensure queued cfa_adjust notes are attached
	to an insn.
	* function.c (thread_prologue_and_epilogue_insns): Make sure the
	shrink_wrapped flag is set even if there is no dump file.

From-SVN: r179560
2011-10-05 17:17:12 +00:00
DJ Delorie
878a917448 rx.opt (mpid): Define.
* config/rx/rx.opt (mpid): Define.
	* config/rx/t-rx (MULTILIB_OPTIONS): Add -mpid
	(MULTILIB_DIRNAMES): Add pid.
	* config/rx/rx.c (rx_gp_base_regnum_val, rx_pid_base_regnum_val)
	(rx_num_interrupt_regs): New variable.
	(rx_gp_base_regnum): New function.  Returns the number of the
	small data area register.
	(rx_pid_base_regnum): New function.  Returns the number of the pid
	base register.
	(rx_decl_for_addr): New function.  Returns the symbolic part of a
	MEM.
	(rx_pid_data_operand): New function.  Returns whether an object is
	in the position independent data area.
	(rx_legitimize_address): New function.  Puts undecided PID
	objects in the PID data area.
	(rx_is_legitimate_address): Add support for PID operands.
	(rx_print_operand_address): Likewise.
	(rx_print_operand): Likewise.
	(rx_maybe_pidify_operand): New function.  Determine if an operand
	is suitable for PID addressing.
	(rx_gen_move_template): Add PID support.
	(rx_conditional_register_usage): Likewise.
	(rx_option_override): Initialise rx_num_interrupt_regs.
	(rx_is_legitimate_constant): Add support for PID constants.
	(TARGET_LEGITIMIZE_ADDRESS): Define.
	* config/rx/constraints.md (Rpid): Define.
	(Rpda): Define.
	* config/rx/rx.md (UNSPEC_PID_ADDR): Define.
	(tablejump): Add PID support.
	(mov<>): Likewise.
	(mov<>_internal): Likewise.
	(addsi3): Convert to an expander.  Add PID support.
	(pid_addr): New pattern.
	* config/rx/rx.h (CPP_SPEC): Define.
	(ASM_SPEC): Pass -mpid and -mint-register on to assembler.
	(CASE_VECTOR_PC_RELATIVE): Define.
	(JUMP_TABLES_IN_TEXT_SECTION): Enable for PID mode.
	* config/rx/rx-protos.h (rx_maybe_pidify_operand): Prototype.
	* doc/invoke.texi (RX Options): Document -mpid command line
	option.

Co-Authored-By: Nick Clifton <nickc@redhat.com>

From-SVN: r179558
2011-10-05 15:07:21 +00:00
Richard Guenther
c867aba0c0 re PR tree-optimization/38885 (missed FRE with BIT_FIELD_REF and vectors)
2011-10-05  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/38885
	* tree-ssa-sccvn.c (vn_reference_lookup_3): Handle partial reads
	from constants.

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

From-SVN: r179556
2011-10-05 14:35:15 +00:00
Bernd Schmidt
484db665a3 invoke.texi (-fshrink-wrap): Document.
* doc/invoke.texi (-fshrink-wrap): Document.
	* opts.c (default_options_table): Add it.
	* common.opt (fshrink-wrap): Add.
	* function.c (emit_return_into_block): Remove useless declaration.
	(record_hard_reg_uses_1, record_hard_reg_uses, frame_required_for_rtx,
	requires_stack_frame_p, gen_return_pattern): New static functions.
	(emit_return_into_block): New arg simple_p.  All callers changed.
	Use gen_return_pattern.
	(thread_prologue_and_epilogue_insns): Implement shrink-wrapping.
	* config/i386/i386.md (return): Expand into a simple_return.
	(simple_return): New expander):
	(simple_return_internal, simple_return_internal_long,
	simple_return_pop_internal_long, simple_return_indirect_internal):
	Renamed from return_internal, return_internal_long,
	return_pop_internal_long and return_indirect_internal; changed to use
	simple_return.
	* config/i386/i386.c (ix86_expand_epilogue): Adjust to expand
	simple returns.
	(ix86_pad_returns): Likewise.
	* function.h (struct rtl_data): Add member shrink_wrapped.
	* cfgcleanup.c (outgoing_edges_match): If shrink-wrapped, edges that
	are not jumps or sibcalls can't be compared.

	* gcc.target/i386/sw-1.c: New test.

From-SVN: r179553
2011-10-05 12:59:23 +00:00
Richard Guenther
18474649d9 tree-ssa-sccvn.c (vn_get_expr_for): Handle CONSTRUCTOR of vector type.
2011-10-05  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-sccvn.c (vn_get_expr_for): Handle CONSTRUCTOR of
	vector type.
	(simplify_unary_expression): Handle BIT_FIELD_REFs.
	(try_to_simplify): Handle BIT_FIELD_REFs.

From-SVN: r179549
2011-10-05 12:25:35 +00:00
Uros Bizjak
4c4973ab36 avx256-unaligned-load-3.c (dg-options): Add -mtune=generic.
* gcc.target/i386/avx256-unaligned-load-3.c (dg-options): Add
	-mtune=generic.
	* gcc.target/i386/avx256-unaligned-store-3.c (dg-options): Ditto.

From-SVN: r179548
2011-10-05 14:21:30 +02:00