108065 Commits

Author SHA1 Message Date
Michael Matz
63d2a3533f tree.h (ALLOCA_FOR_VAR_P): Rename to CALL_ALLOCA_FOR_VAR_P.
* tree.h (ALLOCA_FOR_VAR_P): Rename to CALL_ALLOCA_FOR_VAR_P.
	* builtins.c (expand_builtin): Use CALL_ALLOCA_FOR_VAR_P.
	* function.c (gimplify_parameters): Ditto.
	* gimplify.c (gimplify_vla_decl): Ditto.

	* gimple.h (enum gf_mask): Add GF_CALL_ALLOCA_FOR_VAR.
	(gimple_call_set_alloca_for_var): New inline function.
	(gimple_call_alloca_for_var_p): Ditto.
	* gimple.c (gimple_build_call_from_tree): Remember CALL_ALLOCA_FOR_VAR_P
	state.
	* cfgexpand.c (expand_call_stmt): Restore CALL_ALLOCA_FOR_VAR_P state.

	* tree-inline.c (inline_forbidden_p_stmt): Don't reject alloca
	calls if they were for VLA objects.

From-SVN: r172516
2011-04-15 19:48:25 +00:00
Martin Jambor
dee74c3436 ipa-prop.c (ipa_analyze_virtual_call_uses): Remove handling of ADR_EXPRs.
2011-04-15  Martin Jambor  <mjambor@suse.cz>

	* ipa-prop.c (ipa_analyze_virtual_call_uses): Remove handling
	of ADR_EXPRs.

From-SVN: r172515
2011-04-15 20:38:05 +02:00
Martin Jambor
8e5837bc11 re PR middle-end/48601 (ICE in lower_emutls_function_body, at tree-emutls.c:623)
2011-04-15  Martin Jambor  <mjambor@suse.cz>

	PR middle-end/48601
	* tree-emutls.c (lower_emutls_function_body): Call
	cgraph_get_create_node instead of cgraph_get_node.  Do not assert the
	result is non-NULL.

From-SVN: r172512
2011-04-15 20:20:46 +02:00
Nicola Pero
0dc33c3c14 In gcc/c-family/: 2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/c-family/:
2011-04-15  Nicola Pero  <nicola.pero@meta-innovation.com>

	* c-objc.h (objc_get_interface_ivars): Removed.
	(objc_detect_field_duplicates): New.	
	* stub-objc.c: Likewise.
	
In gcc/:
2011-04-15  Nicola Pero  <nicola.pero@meta-innovation.com>

	* c-decl.c (detect_field_duplicates): Call
	objc_detect_field_duplicates instead of objc_get_interface_ivars.

In gcc/objc/:
2011-04-15  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc-act.c (objc_get_interface_ivars): Removed.
	(objc_detect_field_duplicates): New.
	(hash_instance_variable): New.
	(eq_instance_variable): New.
	
In gcc/objcp/:
2011-04-15  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objcp-decl.c (objcp_finish_struct): Use
	objc_detect_field_duplicates instead of having a local
	implementation.

In gcc/testsuite/:
2011-04-15  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc.dg/naming-4.m: Updated.
	* objc.dg/naming-5.m: Updated.	
	* objc.dg/naming-6.m: New.
	* objc.dg/naming-7.m: New.	
	* obj-c++.dg/naming-1.mm: Updated.
	* obj-c++.dg/naming-2.mm: Updated.
	* obj-c++.dg/naming-3.mm: New.
	* obj-c++.dg/naming-4.mm: New.

From-SVN: r172511
2011-04-15 18:15:35 +00:00
Rainer Orth
9472124fb4 jni.exp (gcj_jni_get_cxxflags_invocation): Add $libiconv to cxxflags for alpha*-dec-osf*.
* testsuite/libjava.jni/jni.exp (gcj_jni_get_cxxflags_invocation):
	Add $libiconv to cxxflags for alpha*-dec-osf*.

From-SVN: r172507
2011-04-15 17:12:35 +00:00
Rainer Orth
64574d417a * scripts/extract_symvers.pl: Handle NOTY.
From-SVN: r172506
2011-04-15 17:03:49 +00:00
Jerry DeLisle
b8388bb062 re PR libfortran/48589 (Invalid G0/G0.d editing for NaN/infinity)
2011-04-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/48589
	* gfortran.dg/fmt_g0_5.f08: New test.

From-SVN: r172503
2011-04-15 16:33:07 +00:00
Jerry DeLisle
0b0a0c945f re PR libfortran/48589 (Invalid G0/G0.d editing for NaN/infinity)
2011-04-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/48589
	* io/write_float.def (write_infnan): Set width properly for G0.

From-SVN: r172502
2011-04-15 16:29:44 +00:00
Paolo Carlini
b3b66298b8 istream: Fix comments in the light of DR60 + N3168.
2011-04-15  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/istream: Fix comments in the light of DR60 + N3168.

From-SVN: r172500
2011-04-15 16:18:22 +00:00
Tobias Burnus
7e3d293f3d re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2011-04-15  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * Makefile.am: Build and install caf/single.c as
        libcaf_single.a.
        * Makefile.in: Regenerate.

From-SVN: r172499
2011-04-15 18:13:28 +02:00
Nathan Froyd
edcdea5b00 gimple.h (gimple_asm_clobbers_memory_p): Declare.
* gimple.h (gimple_asm_clobbers_memory_p): Declare.
	* gimple.c (gimple_asm_clobbers_memory_p): Define.
	* ipa-pure-const.c (check_stmt): Call it.
	* tree-ssa-operands.c (get_asm_expr_operands): Likewise.

From-SVN: r172496
2011-04-15 14:27:55 +00:00
Richard Guenther
0f14104669 re PR fortran/48286 (gfortran.dg/cray_pointers_8.f90 FAILs)
2011-04-15  Richard Guenther  <rguenther@suse.de>

	PR testsuite/48286
	* gfortran.dg/cray_pointers_8.f90: Use -ffloat-store.

From-SVN: r172495
2011-04-15 14:06:44 +00:00
Richard Guenther
8456558d4a re PR tree-optimization/48290 (FAIL: gcc.dg/vect/pr38529.c, ICE in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1072)
2011-04-15  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/48290
	* tree-ssa-copy.c (copy_prop_visit_phi_node): Propagate constants.
	Properly decide inhibiting propagation based on the valueized
	operand.  Do loop-closed SSA form preserving here ...
	(init_copy_prop): ... not here.

From-SVN: r172494
2011-04-15 14:02:41 +00:00
H.J. Lu
266446be6f Switch SSE and AVX mnemonics.
2011-04-15  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/48612
	* config/i386/sse.md (*ieee_smin<mode>3): Switch mnemonics.
	(*ieee_smax<mode>3): Likewise.

From-SVN: r172492
2011-04-15 05:48:36 -07:00
Andreas Krebbel
17465c6e86 s390.md (popcountdi2, [...]): Replace match_operand with match_dup for the third operand in these expanders.
2011-04-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.md (popcountdi2, popcountsi2, popcounthi2):
	Replace match_operand with match_dup for the third operand in
	these expanders.

From-SVN: r172490
2011-04-15 12:42:24 +00:00
Georg-Johann Lay
78ce0af191 pr41885.c (dg-options): Change -finline-limit=0 to -fno-inline
* gcc.target/avr/torture/pr41885.c (dg-options): Change
	-finline-limit=0 to -fno-inline

From-SVN: r172487
2011-04-15 11:34:25 +00:00
Maxim Kuvyrkov
bce204e591 combine.c (subst, [...]): Add new argument, use it to track processing of conditionals.
* combine.c (subst, combine_simlify_rtx): Add new argument, use it
	to track processing of conditionals.  Update all callers.
	(try_combine, simplify_if_then_else): Update.

From-SVN: r172486
2011-04-15 11:13:07 +00:00
Jakub Jelinek
f11b3b3208 re PR testsuite/48614 (gcc.target/i386/pr46084.c should require avx_runtime)
PR target/48614
	* gcc.target/i386/pr46084.c: Require avx_runtime instead of
	just avx.

From-SVN: r172484
2011-04-15 12:29:09 +02:00
Dodji Seketeli
848309ea72 Update my email address
* MAINTAINERS: Update my email address.

From-SVN: r172482
2011-04-15 12:18:14 +02:00
Maxim Kuvyrkov
3162fdf4d2 m68k.c (m68k_sched_variable_issue): Handle -fsched-pressure.
* config/m68k/m68k.c (m68k_sched_variable_issue): Handle
	-fsched-pressure.

From-SVN: r172481
2011-04-15 10:03:46 +00:00
Georg-Johann Lay
79002a5737 avr.md ("rotl<mode>3",mode=HIDI): Use match_dup instead of match_operand for operand 3.
* config/avr/avr.md ("rotl<mode>3",mode=HIDI): Use match_dup
	instead of match_operand for operand 3.

From-SVN: r172480
2011-04-15 09:44:00 +00:00
Richard Sandiford
4fd3a10598 recog.h (insn_operand_data): Add an "allows_mem" field.
gcc/
	* recog.h (insn_operand_data): Add an "allows_mem" field.
	* genoutput.c (output_operand_data): Initialize it.
	* optabs.c (maybe_legitimize_operand_same_code): New function.
	(maybe_legitimize_operand): Use it when matching the original
	op->value.

From-SVN: r172478
2011-04-15 09:35:03 +00:00
Rainer Orth
b98b952feb re PR libobjc/32037 (--enable-objc-gc on OS X won't build)
PR libobjc/32037
	* Makefile.in (OBJC_GCFLAGS): Move ...
	* configure.ac (enable_objc_gc): ... here.
	Add $(libsuffix) to OBJC_BOEHM_GC.
	* configure: Regenerate.

From-SVN: r172477
2011-04-15 09:26:05 +00:00
Eric Botcazou
ad19c4be9a gimplify.c: Fix issues in comments throughout.
* gimplify.c: Fix issues in comments throughout.
	(voidify_wrapper_expr): Fix long line.
	(build_stack_save_restore): Likewise.
	(gimplify_loop_expr): Likewise.
	(gimplify_compound_lval): Likewise.
	(gimplify_init_ctor_eval): Likewise.
	(gimplify_modify_expr_rhs): Likewise.
	(omp_notice_threadprivate_variable): Likewise.

From-SVN: r172476
2011-04-15 08:48:15 +00:00
Eric Botcazou
b25aa0e83f cfgexpand.c (expand_call_stmt): Convert the function type to the original one if this is not a builtin function.
* cfgexpand.c (expand_call_stmt): Convert the function type to the
	original one if this is not a builtin function.

From-SVN: r172471
2011-04-15 07:59:26 +00:00
Janne Blomqvist
2aadeae27f PR 47571 Fix bootstrap regression on alpha-dec-osf
From-SVN: r172469
2011-04-15 07:21:19 +03:00
Ian Lance Taylor
f54d331e46 Use the backend interface for select statements.
From-SVN: r172468
2011-04-15 04:10:08 +00:00
GCC Administrator
7427a3680f Daily bump.
From-SVN: r172466
2011-04-15 00:19:15 +00:00
Eric Botcazou
e792558227 cfgexpand.c (expand_call_stmt): Rematerialize the original function type if this is not a builtin function.
* cfgexpand.c (expand_call_stmt): Rematerialize the original function
	type if this is not a builtin function.

From-SVN: r172459
2011-04-14 21:56:34 +00:00
Jakub Jelinek
09db7afe4f re PR target/48605 (gcc.target/i386/sse4_1-insertps-2.c FAILs with -mtune=geode - instruction insertps with memory operands behaves differently)
PR target/48605
	* config/i386/sse.md (sse4_1_insertps): If operands[2] is a MEM,
	offset it as needed based on top 2 bits in operands[3], change
	MEM mode to SFmode and mask those 2 bits away from operands[3].

	* gcc.target/i386/sse4_1-insertps-3.c: New test.
	* gcc.target/i386/sse4_1-insertps-4.c: New test.
	* gcc.target/i386/avx-insertps-3.c: New test.
	* gcc.target/i386/avx-insertps-4.c: New test.

From-SVN: r172458
2011-04-14 23:30:37 +02:00
Nicola Pero
c59633d9da In gcc/c-family/: 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/c-family/:
2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>

	* stub-objc.c (objc_declare_protocols): Renamed to
	objc_declare_protocol.
	* c-objc.h: Likewise.
	
In gcc/:
2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>

	* c-parser.c (c_parser_objc_protocol_definition): Updated for
	change from objc_declare_protocols() to objc_declare_protocol().

In gcc/objc/:
2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc-act.c (objc_declare_protocols): Renamed to
	objc_declare_protocol.  Changed first argument to be an identifier
	instead of a tree chain of identifiers, so that callers don't have
	to create a temporary tree chain.

In gcc/cp/:
2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>

	* parser.c (cp_parser_objc_protocol_declaration): Updated for
	change from objc_declare_protocols() to objc_declare_protocol().

From-SVN: r172444
2011-04-14 19:34:06 +00:00
Georg-Johann Lay
b1430e5cf8 pr41885.c (dg-options): Add -finline-limit=0
* gcc.target/avr/torture/pr41885.c (dg-options): Add
	-finline-limit=0

From-SVN: r172443
2011-04-14 18:52:16 +00:00
Georg-Johann Lay
54578a5777 re PR target/46779 ([avr] wrong code generation for values held in R28/R29)
PR target/46779
	PR target/45291
	PR target/41894
	* gcc.target/avr/pr46779-1.c: New test case
	* gcc.target/avr/pr46779-2.c: New test case

From-SVN: r172442
2011-04-14 18:50:02 +00:00
Nathan Froyd
81c1113ac9 re PR objc++/48479 (Many ICEs in the obj-c++.dg test suite on *-apple-darwin*)
PR objc++/48479
	* typeck.c (cxx_mark_addressable) [CONST_DECL]: Mark addressable
	and return immediately.

From-SVN: r172441
2011-04-14 18:46:34 +00:00
Nathan Froyd
1f18dbc6a6 cp-tree.def (SWITCH_STMT): Add an extra operand.
* cp-tree.def (SWITCH_STMT): Add an extra operand.
	* cp-objcp-common.c (cp_common_init_ts): Mark it as TS_TYPED.
	* cp-tree.h (SWITCH_STMT_SCOPE): Define.
	* semantics.c (begin_switch__stmt): Pass scope to build_stmt.
	(finish_switch_stmt): Use SWITCH_STMT_SCOPE instead of TREE_CHAIN.

From-SVN: r172440
2011-04-14 18:42:44 +00:00
Uros Bizjak
5e60198b61 sse.md (sse4_1): New mode attribute.
* config/i386/sse.md (sse4_1): New mode attribute.
	(<sse4_1>_blend<ssemodesuffix><avxmodesuffix>): Macroize from
	avx_blend<ssemodesuffix><avxmodesuffix> and
	sse4_1_blend<ssemodesuffix> using VF mode iterator.
	(<sse4_1>_blendv<ssemodesuffix><avxmodesuffix>): Macroize from
	avx_blendv<ssemodesuffix><avxmodesuffix> and
	sse4_1_blendv<ssemodesuffix> using VF mode iterator.
	(<sse4_1>_dp<ssemodesuffix><avxmodesuffix>): Macroize from
	avx_dp<ssemodesuffix><avxmodesuffix> and
	sse4_1_dp<ssemodesuffix> using VF mode iterator.
	(sse4_1_mpsadbw): Merge with *avx_mpsadbw.
	(sse4_1_packusdw): Merge with *avx_packusdw.
	(sse4_1_pblendvb): Merge with *avx_pblendvb.
	(sse4_1_pblendw): Merge with *avx_pblendw.
	(avx_vtest<ssemodesuffix><avxmodesuffix>): Use VF mode iterator.
	(<sse4_1>_round<ssemodesuffix><avxmodesuffix>): Macroize from
	avx_round<ssemodesuffix>256 and sse4_1_round<ssemodesuffix> using
	VF mode iterator.
	(sse4_1_round<ssescalarmodesuffix>): Merge with
	*avx_round<ssescalarmodesuffix>.
	(aesenc): Merge with *avx_aesenc.
	(aesenclast): Merge with *avx_aesenclast.
	(aesdec): Merge with *avx_aesdec.
	(aesdeclast): Merge with *avx_aesdeclast.
	(pclmulqdq): Merge with *pclmulqdq.
	* config/i386/predicates.md (reg_not_xmm0_operand_maybe_avx):
	New predicate.
	(nonimm_not_xmm0_operand_maybe_avx): Ditto.

From-SVN: r172439
2011-04-14 19:55:30 +02:00
H.J. Lu
6f19785029 Update alignment on local variables.
2011-04-14  H.J. Lu  <hongjiu.lu@intel.com>

	PR middle-end/48608
	* cfgexpand.c (get_decl_align_unit): Renamed to ...
	(align_local_variable): This.  Update DECL_ALIGN.
	(add_stack_var): Updated.
	(expand_one_stack_var): Likewise.

From-SVN: r172438
2011-04-14 10:10:24 -07:00
Nathan Froyd
545f261bef cp-tree.def (IF_STMT): Add an extra operand.
* cp-tree.def (IF_STMT): Add an extra operand.
	* cp-objcp-common.c (cp_common_init_ts): Mark it as TS_TYPED.
	* cp-tree.h (IF_SCOPE): Define.
	* semantics.c (begin_if_stmt): Pass scope to build_stmt.
	(finish_if_stmt): Use IF_SCOPE instead of TREE_CHAIN.

From-SVN: r172437
2011-04-14 17:05:58 +00:00
Nathan Froyd
40e71fc77f cp-tree.def (FOR_STMT, [...]): Add an extra operand.
* cp-tree.def (FOR_STMT, RANGE_FOR_STMT): Add an extra operand.
	* cp-objcp-common.c (cp_common_init_ts): Mark them as TS_TYPED.
	* cp-tree.h (FOR_SCOPE, RANGE_FOR_SCOPE): Define.
	* semantics.c (begin_for_stmt): Pass an extra arg to build_stmt.
	Use FOR_SCOPE instead of TREE_CHAIN.
	(begin_range_for_stmt): Likewise, with RANGE_FOR_SCOPE.
	(finish_for_stmt): Likewise.

From-SVN: r172436
2011-04-14 15:13:26 +00:00
Jason Merrill
c2aa8dc926 parser.c (cp_parser_postfix_expression): Fix flags passed to build_new_method_call.
* parser.c (cp_parser_postfix_expression): Fix flags passed to
	build_new_method_call.
	* semantics.c (finish_call_expr): Likewise.

From-SVN: r172435
2011-04-14 11:00:24 -04:00
Jason Merrill
e2a009c710 re PR c++/48531 ([C++0x][SFINAE] Hard errors with arrays of unknown bound)
PR c++/48531
	* init.c (build_value_init_noctor): Check complain consistently.

From-SVN: r172434
2011-04-14 11:00:15 -04:00
Jason Merrill
a66e8081b5 re PR c++/48557 ([C++0x][SFINAE] Hard errors with void as operand of binary built-in operators)
PR c++/48557
	* typeck.c (cp_build_binary_op): Don't decay void operands.

From-SVN: r172433
2011-04-14 11:00:07 -04:00
Jason Merrill
fe5b5c364b re PR c++/48446 (internal compiler error: in gimplify_var_or_parm_decl, at gimplify.c:1946)
PR c++/48446
	* decl.c (compute_array_index_type): Use get_temp_regvar instead
	of variable_size.
	* init.c (get_temp_regvar): No longer static.
	* cp-tree.h: Declare it.

From-SVN: r172432
2011-04-14 10:59:58 -04:00
Richard Guenther
4a5ba3ed87 tree-ssa-dse.c (struct dse_global_data, [...]): Remove.
2011-04-14  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-dse.c (struct dse_global_data, struct dse_block_local_data):
	Remove.
	(dse_initialize_block_local_data, dse_leave_block,
	record_voperand_set, get_stmt_uid): Likewise.
	(dse_possible_dead_store_p): Allow any kind of killing stmt.
	(dse_optimize_stmt): Remove voperand set handling code.
	Simplify and improve to handle any kind of killing stmt.
	(dse_record_phi): Remove.
	(dse_enter_block): Simplify.
	(tree_ssa_dse): Likewise.
	* tree-ssa-alias.c (stmt_kills_ref_p_1): Handle some builtins.

	* gcc.dg/tree-ssa/ssa-dse-14.c: New testcase.

From-SVN: r172431
2011-04-14 13:38:33 +00:00
Jan Hubicka
10a5dd5d3d cgraph.c (dump_cgraph_node): Do not dump inline summaries.
* cgraph.c (dump_cgraph_node): Do not dump inline summaries.
	* cgraph.h (struct inline_summary): Move to ipa-inline.h
	(cgraph_local_info): Remove inline_summary.
	* ipa-cp.c: Include ipa-inline.h.
	(ipcp_cloning_candidate_p, ipcp_estimate_growth,
	ipcp_estimate_cloning_cost, ipcp_insert_stage): Use inline_summary
	accesor.
	* lto-cgraph.c (lto_output_node): Do not stream inline summary.
	(input_overwrite_node): Do not set inline summary.
	(input_node): Do not stream inline summary.
	* ipa-inline.c (cgraph_decide_inlining): Dump inline summaries.
	(cgraph_decide_inlining_incrementally): Do not try to estimate overall
	growth; we do not have inline parameters computed for that anyway.
	(cgraph_early_inlining): After inlining compute call_stmt_sizes.
	* ipa-inline.h (struct inline_summary): Move here from ipa-inline.h
	(inline_summary_t): New type and VECtor.
	(debug_inline_summary, dump_inline_summaries): Declare.
	(inline_summary): Use VOCtor.
	(estimate_edge_growth): Kill hack computing call stmt size directly.
	* lto-section-in.c (lto_section_name): Add inline section.
	* ipa-inline-analysis.c: Include lto-streamer.h
	(node_removal_hook_holder, node_duplication_hook_holder): New holders
	(inline_node_removal_hook, inline_node_duplication_hook): New functions.
	(inline_summary_vec): Define.
	(inline_summary_alloc, dump_inline_summary, debug_inline_summary,
	dump_inline_summaries): New functions.
	(estimate_function_body_sizes): Properly compute size/time of outgoing calls.
	(compute_inline_parameters): Alloc inline_summary; do not compute size/time
	of incomming calls.
	(estimate_edge_time): Avoid missing time summary hack.
	(inline_read_summary): Read inline summary info.
	(inline_write_summary): Write inline summary info.
	(inline_free_summary): Free all hooks and inline summary vector.
	* lto-streamer.h: Add LTO_section_inline_summary section.
	* Makefile.in (ipa-cp.o, ipa-inline-analysis.o): Update dependencies.
	* ipa.c (cgraph_remove_unreachable_nodes): Fix dump file formating.

	* lto.c: Include ipa-inline.h
	(add_cgraph_node_to_partition, undo_partition): Use inline_summary accessor.
	(ipa_node_duplication_hook): Fix declaration.
	* Make-lang.in (lto.o): Update dependencies.

From-SVN: r172430
2011-04-14 13:26:44 +00:00
Richard Sandiford
b602d918bc tree-vectorizer.h (vect_strided_store_supported): Add a HOST_WIDE_INT argument.
gcc/
	* tree-vectorizer.h (vect_strided_store_supported): Add a
	HOST_WIDE_INT argument.
	(vect_strided_load_supported): Likewise.
	(vect_permute_store_chain): Return void.
	(vect_transform_strided_load): Likewise.
	(vect_permute_load_chain): Delete.
	* tree-vect-data-refs.c (vect_strided_store_supported): Take a
	count argument.  Check that the count is a power of two.
	(vect_strided_load_supported): Likewise.
	(vect_permute_store_chain): Return void.  Update after above changes.
	Assert that the access is supported.
	(vect_permute_load_chain): Likewise.
	(vect_transform_strided_load): Return void.
	* tree-vect-stmts.c (vectorizable_store): Update calls after
	above interface changes.
	(vectorizable_load): Likewise.
	(vect_analyze_stmt): Don't check for strided powers of two here.

From-SVN: r172428
2011-04-14 12:47:16 +00:00
Richard Guenther
ab4472fa10 re PR middle-end/48590 (Alias analysis confused by builtin-stack-save/restore)
2011-04-14  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/48590
	* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
	BUILT_IN_ALLOCA, BUILT_IN_STACK_SAVE and BUILT_IN_STACK_RESTORE.
	(call_may_clobber_ref_p_1): Handle BUILT_IN_ALLOCA and
	BUILT_IN_STACK_SAVE.
	* tree-ssa-dce.c (propagate_necessity): Handle
	BUILT_IN_ALLOCA, BUILT_IN_STACK_SAVE and BUILT_IN_STACK_RESTORE.

From-SVN: r172427
2011-04-14 12:19:28 +00:00
Nicola Pero
32dabdaff8 In gcc/: 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/:
2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>

	* c-parser.c (c_parser_objc_class_declaration): Updated call to
	objc_declare_class.

In gcc/c-family/:
2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>

	* stub-objc.c (objc_declare_class): Updated argument name.

In gcc/cp/:
2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>

	* parser.c (cp_parser_objc_class_declaration): Updated for change
	in objc_declare_class().

In gcc/objc/:
2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objc-act.c (objc_declare_class): Changed to take a single
	identifier as argument instead of a tree list.  This means callers
	don't have to build temporary tree lists to call this function.
	(synth_module_prologue): Updated calls to objc_declare_class.

From-SVN: r172425
2011-04-14 12:12:55 +00:00
Richard Guenther
daade2060c tree.h (get_object_alignment_1): Declare.
2011-04-14  Richard Guenther  <rguenther@suse.de>

	* tree.h (get_object_alignment_1): Declare.
	* builtins.c (get_object_alignment_1): Split out worker from ...
	(get_object_alignment): ... here.
	* fold-const.c (get_pointer_modulus_and_residue): Use
	get_object_alignment_1.

	* gcc.dg/fold-bitand-4.c: Move ...
	* c-c++-common/fold-bitand-4.c: ... here.  Adjust slightly.

From-SVN: r172424
2011-04-14 12:07:57 +00:00
Richard Sandiford
920e817274 tree-vectorizer.h (vect_create_data_ref_ptr): Add an extra type parameter.
gcc/
	* tree-vectorizer.h (vect_create_data_ref_ptr): Add an extra
	type parameter.
	* tree-vect-data-refs.c (vect_create_data_ref_ptr): Add an aggr_type
	parameter.  Generalise code to handle arrays as well as vectors.
	(vect_setup_realignment): Update accordingly.
	* tree-vect-stmts.c (vectorizable_store): Likewise.
	(vectorizable_load): Likewise.

From-SVN: r172423
2011-04-14 11:54:43 +00:00