Commit Graph

106290 Commits

Author SHA1 Message Date
Ian Lance Taylor
82c039077c godump.c (go_define): Improve lexing of macro expansion to only accept expressions which match Go spec.
* godump.c (go_define): Improve lexing of macro expansion to only
	accept expressions which match Go spec.

From-SVN: r169270
2011-01-26 02:03:03 +00:00
Dave Korn
d4dba752b0 ChangeLog: Add missing PR reference.
* gcc/c-family/ChangeLog: Add missing PR reference.
	* gcc/ChangeLog: Likewise.
	* gcc/cp/ChangeLog: Likewise.
	* gcc/testsuite/ChangeLog: Likewise.

From-SVN: r169269
2011-01-26 01:44:30 +00:00
Dave Korn
47ea1edfbc c.opt (-fkeep-inline-dllexport): New switch.
gcc/c-family/ChangeLog:

	* c.opt (-fkeep-inline-dllexport): New switch.

gcc/ChangeLog:

	* tree.c (handle_dll_attribute): Handle it.
	* doc/extend.texi (@item dllexport): Mention it.
	* doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.

gcc/cp/ChangeLog:

	* semantics.c (expand_or_defer_fn_1): Handle it.
	* decl2.c (decl_needed_p): Likewise.

gcc/testsuite/ChangeLog:

	* gcc.dg/dll-9a.c: New test file.
	* gcc.dg/dll-11.c: Likewise.
	* gcc.dg/dll-12.c: Likewise.
	* gcc.dg/dll-12a.c: Likewise.
	* gcc.dg/dll-11a.c: Likewise.
	* gcc.dg/dll-9.c: Likewise.
	* gcc.dg/dll-10.c: Likewise.
	* gcc.dg/dll-10a.c: Likewise.
	* g++.dg/ext/dllexport4a.cc: Likewise.
	* g++.dg/ext/dllexport4.C: Likewise.
	* g++.dg/ext/dllexport5.C: Likewise.
	* g++.dg/ext/dllexport5a.cc: Likewise.

From-SVN: r169268
2011-01-26 01:41:23 +00:00
Ian Lance Taylor
744f0946bc re PR tree-optimization/26854 (Inordinate compile times on large routines)
PR tree-optimization/26854
	* c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
	(decl_jump_unsafe): Move higher in file, with no other change.
	(bind): Set has_jump_unsafe_decl if appropriate.
	(update_label_decls): Test has_jump_unsafe_decl to avoid loop.
	(check_earlier_gotos): Likewise.
	(c_check_switch_jump_warnings): Likewise.

From-SVN: r169267
2011-01-26 01:26:48 +00:00
Joseph Myers
70187f017b * ja.po, sv.po: Update.
From-SVN: r169266
2011-01-26 01:21:21 +00:00
GCC Administrator
91eeb45c6c Daily bump.
From-SVN: r169265
2011-01-26 00:18:44 +00:00
Jonathan Wakely
5734f2b3e5 invoke.texi (Warning Options): Add missing hyphen.
2011-01-25  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* doc/invoke.texi (Warning Options): Add missing hyphen.
	(-fprofile-dir): Minor grammatical fixes.
	(-fbranch-probabilities): Likewise.

From-SVN: r169261
2011-01-25 22:38:14 +00:00
Alexandre Oliva
9bdbdcef9a re PR debug/45136 (-fcompare-debug failure with -Os -fschedule-insns)
PR debug/45136
PR debug/45130
* haifa-sched.c (get_ebb_head_tail): Move notes across boundary
debug insns.
(no_real_insns_p, schedule_block, set_priorities): Drop special
treatment of boundary debug insns.
* sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug
insns.
* sched-ebb.c (schedule_ebbs): Don't skip debug insns.
* sched-int.h (DEBUG_INSN_SCHED_P): Remove.
(BOUNDARY_DEBUG_INSN_P): Likewise.
(SCHEDULE_DEBUG_INSN_P): Likewise.
* sched-rgn.c (init_ready_list): Drop special treatment of
boundary debug insns.
* final.c (rest_of_clean-state): Clear notes' BB.

From-SVN: r169260
2011-01-25 22:27:51 +00:00
Sebastian Pop
b28641995c Add testcase for PR46970.
2011-01-18  Sebastian Pop  <sebastian.pop@amd.com>

	PR tree-optimization/46970
	* gcc.dg/graphite/pr46970.c: New.

From-SVN: r169257
2011-01-25 21:25:24 +00:00
Sebastian Pop
4a20f4fc02 Add testcase for PR46215.
2011-01-18  Sebastian Pop  <sebastian.pop@amd.com>

	PR tree-optimization/46215
	* gcc.dg/graphite/pr46215.c: New.

From-SVN: r169256
2011-01-25 21:25:13 +00:00
Sebastian Pop
7f5b7dce54 Add testcase for PR46168.
2011-01-18  Sebastian Pop  <sebastian.pop@amd.com>

	PR tree-optimization/46168
	* gcc.dg/graphite/pr46168.c: New.

From-SVN: r169255
2011-01-25 21:25:02 +00:00
Sebastian Pop
d152327691 Add testcase for PR43657.
2011-01-18  Sebastian Pop  <sebastian.pop@amd.com>

	PR tree-optimization/43657
	* gcc.dg/graphite/pr43657.c: New.

From-SVN: r169254
2011-01-25 21:24:53 +00:00
Sebastian Pop
254b785980 Add testcase for PR29832.
2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>

	PR tree-optimization/29832
	* gfortran.dg/graphite/pr29832.f90: New.

From-SVN: r169253
2011-01-25 21:24:44 +00:00
Sebastian Pop
eaf52b4125 Add testcase for PR43567.
2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>

	PR tree-optimization/43567
	* gcc.dg/graphite/pr43567.c: New.

From-SVN: r169252
2011-01-25 21:24:35 +00:00
Sebastian Pop
b305e3dab4 Remove the lambda framework and make -ftree-loop-linear an alias of -floop-interchange.
2011-01-17  Sebastian Pop  <sebastian.pop@amd.com>

toplev/
	* MAINTAINERS (linear loop transforms): Removed.

toplev/gcc/
	* Makefile.in (LAMBDA_H): Removed.
	(TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
	(OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
	lambda-trans.o, and tree-loop-linear.o.
	(lto-symtab.o): Remove dependence on LAMBDA_H.
	(tree-loop-linear.o): Remove rule.
	(lambda-mat.o): Same.
	(lambda-trans.o): Same.
	(lambda-code.o): Same.
	(tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
	(tree-vect-slp.o): Same.
	* hwint.h (gcd): Moved here.
	(least_common_multiple): Same.
	* lambda-code.c: Removed.
	* lambda-mat.c: Removed.
	* lambda-trans.c: Removed.
	* lambda.h: Removed.
	* tree-loop-linear.c: Removed.
	* lto-symtab.c: Do not include lambda.h.
	* omega.c (gcd): Removed.
	* passes.c (init_optimization_passes): Remove pass_linear_transform.
	* tree-data-ref.c (print_lambda_vector): Moved here.
	(lambda_vector_copy): Same.
	(lambda_matrix_copy): Same.
	(lambda_matrix_id): Same.
	(lambda_vector_first_nz): Same.
	(lambda_matrix_row_add): Same.
	(lambda_matrix_row_exchange): Same.
	(lambda_vector_mult_const): Same.
	(lambda_vector_negate): Same.
	(lambda_matrix_row_negate): Same.
	(lambda_vector_equal): Same.
	(lambda_matrix_right_hermite): Same.
	* tree-data-ref.h: Do not include lambda.h.
	(lambda_vector): Moved here.
	(lambda_matrix): Same.
	(dependence_level): Same.
	(lambda_transform_legal_p): Removed declaration.
	(lambda_collect_parameters): Same.
	(lambda_compute_access_matrices): Same.
	(lambda_vector_gcd): Same.
	(lambda_vector_new): Same.
	(lambda_vector_clear): Same.
	(lambda_vector_lexico_pos): Same.
	(lambda_vector_zerop): Same.
	(lambda_matrix_new): Same.
	* tree-flow.h (least_common_multiple): Removed declaration.
	* tree-parloops.c (lambda_trans_matrix): Moved here.
	(LTM_MATRIX): Same.
	(LTM_ROWSIZE): Same.
	(LTM_COLSIZE): Same.
	(LTM_DENOMINATOR): Same.
	(lambda_trans_matrix_new): Same.
	(lambda_matrix_vector_mult): Same.
	(lambda_transform_legal_p): Same.
	* tree-pass.h (pass_linear_transform): Removed declaration.
	* tree-ssa-loop.c (tree_linear_transform): Removed.
	(gate_tree_linear_transform): Removed.
	(pass_linear_transform): Removed.
	(gate_graphite_transforms): Make flag_tree_loop_linear an alias of
	flag_loop_interchange.

toplev/gcc/testsuite/
	* gfortran.dg/graphite/interchange-4.f: New.
	* gfortran.dg/graphite/interchange-5.f: New.

	* gcc.dg/tree-ssa/ltrans-1.c: Removed.
	* gcc.dg/tree-ssa/ltrans-2.c: Removed.
	* gcc.dg/tree-ssa/ltrans-3.c: Removed.
	* gcc.dg/tree-ssa/ltrans-4.c: Removed.
	* gcc.dg/tree-ssa/ltrans-5.c: Removed.
	* gcc.dg/tree-ssa/ltrans-6.c: Removed.
	* gcc.dg/tree-ssa/ltrans-8.c: Removed.
	* gfortran.dg/ltrans-7.f90: Removed.
	* gcc.dg/tree-ssa/data-dep-1.c: Removed.

	* gcc.dg/pr18792.c: -> gcc.dg/graphite/pr18792.c
	* gcc.dg/pr19910.c: -> gcc.dg/graphite/pr19910.c
	* gcc.dg/tree-ssa/20041110-1.c: -> gcc.dg/graphite/pr20041110-1.c
	* gcc.dg/tree-ssa/pr20256.c: -> gcc.dg/graphite/pr20256.c
	* gcc.dg/pr23625.c: -> gcc.dg/graphite/pr23625.c
	* gcc.dg/tree-ssa/pr23820.c: -> gcc.dg/graphite/pr23820.c
	* gcc.dg/tree-ssa/pr24309.c: -> gcc.dg/graphite/pr24309.c
	* gcc.dg/tree-ssa/pr26435.c: -> gcc.dg/graphite/pr26435.c
	* gcc.dg/pr29330.c: -> gcc.dg/graphite/pr29330.c
	* gcc.dg/pr29581-1.c: -> gcc.dg/graphite/pr29581-1.c
	* gcc.dg/pr29581-2.c: -> gcc.dg/graphite/pr29581-2.c
	* gcc.dg/pr29581-3.c: -> gcc.dg/graphite/pr29581-3.c
	* gcc.dg/pr29581-4.c: -> gcc.dg/graphite/pr29581-4.c
	* gcc.dg/tree-ssa/loop-27.c: -> gcc.dg/graphite/pr30565.c
	* gcc.dg/tree-ssa/pr31183.c: -> gcc.dg/graphite/pr31183.c
	* gcc.dg/tree-ssa/pr33576.c: -> gcc.dg/graphite/pr33576.c
	* gcc.dg/tree-ssa/pr33766.c: -> gcc.dg/graphite/pr33766.c
	* gcc.dg/pr34016.c: -> gcc.dg/graphite/pr34016.c
	* gcc.dg/tree-ssa/pr34017.c: -> gcc.dg/graphite/pr34017.c
	* gcc.dg/tree-ssa/pr34123.c: -> gcc.dg/graphite/pr34123.c
	* gcc.dg/tree-ssa/pr36287.c: -> gcc.dg/graphite/pr36287.c
	* gcc.dg/tree-ssa/pr37686.c: -> gcc.dg/graphite/pr37686.c
	* gcc.dg/pr42917.c: -> gcc.dg/graphite/pr42917.c
	* gfortran.dg/loop_nest_1.f90: -> gfortran.dg/graphite/pr29290.f90
	* gfortran.dg/pr29581.f90: -> gfortran.dg/graphite/pr29581.f90
	* gfortran.dg/pr36286.f90: -> gfortran.dg/graphite/pr36286.f90
	* gfortran.dg/pr36922.f: -> gfortran.dg/graphite/pr36922.f
	* gfortran.dg/pr39516.f: -> gfortran.dg/graphite/pr39516.f

From-SVN: r169251
2011-01-25 21:24:23 +00:00
Jakub Jelinek
6bdfdb96ee re PR tree-optimization/47265 (Error: SSA name in freelist but still referenced)
PR tree-optimization/47265
	PR tree-optimization/47443
	* tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
	if name still has some uses.

	* gcc.c-torture/compile/pr47265.c: New test.
	* gcc.dg/pr47443.c: New test.

From-SVN: r169250
2011-01-25 20:50:56 +01:00
Jakub Jelinek
6be7b6686f cloog.m4 (CLOOG_REQUESTED): Use $2 if --without-cloog.
* config/cloog.m4 (CLOOG_REQUESTED): Use $2 if --without-cloog.
	* configure.ac: If with_ppl is no, move setting with_cloog=no
	after CLOOG_REQUESTED check.
	* configure: Regenerated.

From-SVN: r169249
2011-01-25 20:47:36 +01:00
Martin Jambor
e4cba915b8 re PR tree-optimization/47382 (g++.dg/ipa/devirt-d-1.C FAILs with -finline-functions)
2011-01-25  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/47382
	* gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
	(gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.

	* testsuite/g++.dg/torture/pr47382.C: New test.
	* testsuite/g++.dg/opt/devirt1.C: Xfail.

From-SVN: r169245
2011-01-25 18:08:47 +01:00
Janne Blomqvist
15fb94aef9 PR 47375 getlog thread safety
From-SVN: r169243
2011-01-25 18:46:00 +02:00
Joel Sherrill
f822b8eab1 m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to sjlj_except_unwind_info.
2011-01-25  Joel Sherrill <joel.sherrill@oarcorp.com>

	* config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
	sjlj_except_unwind_info.

From-SVN: r169242
2011-01-25 16:43:37 +00:00
Richard Guenther
194313e274 re PR tree-optimization/47426 (wrong code with -O2 -fipa-pta)
2011-01-25  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/47426
	* tree-ssa-structalias.c (ipa_pta_execute): Make externally
	visible functions results escape.

	* gcc.dg/torture/pr47426-1.c: New testcase.
	* gcc.dg/torture/pr47426-2.c: Likewise.

From-SVN: r169241
2011-01-25 16:38:26 +00:00
Jakub Jelinek
147a0bcfc7 re PR target/45701 (Fail to prefer using r3 for padding a push/pop multiple to 8-byte alignment)
PR target/45701
	* config/arm/arm.c (any_sibcall_uses_r3): New function.
	(arm_get_frame_offsets): Use it.

2011-01-25  Yao Qi  <yao@codesourcery.com>

        PR target/45701
        * gcc.target/arm/pr45701-1.c: New test.
        * gcc.target/arm/pr45701-2.c: New test.
	* gcc.target/arm/pr45701-3.c: New test.

From-SVN: r169240
2011-01-25 17:22:34 +01:00
Ian Lance Taylor
e3bb089d5f lto-plugin.c (gold_version): New static variable.
* lto-plugin.c (gold_version): New static variable.
	(all_symbols_read_handler): Don't check pass_through_items if
	using gold 1.11 or later.
	(onload): Set gold_version if we see LDPT_GOLD_VERSION.

From-SVN: r169237
2011-01-25 15:29:02 +00:00
Sebastian Pop
db963b5287 Fix PR47271: only if-convert full writes.
2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>
	    Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/47271
	* tree-if-conv.c (bb_postdominates_preds): New.
	(if_convertible_bb_p): Call bb_postdominates_preds.
	(if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
	(predicate_scalar_phi): Call bb_postdominates_preds.

	* gcc.dg/tree-ssa/ifc-pr47271.c: New.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r169233
2011-01-25 14:51:23 +00:00
Nick Clifton
bcddd3b99c rx.h (LIBCALL_VALUE): Do not promote complex types.
* config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
	* config/rx/rx.c (rx_function_value): Likewise.
	(rx_promote_function_mode): Likewise.
	(gen_safe_add): Place an outsized immediate value inside an UNSPEC
	in order to make it legitimate.
	* config/rx/rx.md (adddi3_internal): If the second operand is a
	MEM make sure that the first operand is the same as the result
	register.
	(addsi3_unspec): Delete.
	(subdi3): Do not accept immediate operands.
	(subdi3_internal): Likewise.

	* gcc.target/rx/builtins.c: Allow -fipa-cp-clone.
	(saturate_add): Delete.
	(exchange): Delete.
	(main): Do not run saturate_add.
	(set_interrupts): Delete.

From-SVN: r169232
2011-01-25 14:32:52 +00:00
Jeff Law
7e6cb02214 re PR rtl-optimization/37273 (IRA does not re-materializes addresses (loads from the TOC))
PR rtl-optimization/37273
	* ira-costs.c (scan_one_insn): Detect constants living in memory and
	handle them like argument loads from stack slots.  Do not double
	count memory for memory constants and argument loads from stack slots.

From-SVN: r169231
2011-01-25 07:10:46 -07:00
Tobias Burnus
315d905fd5 re PR fortran/47448 (Invalid check for ASSIGNMENT(=))
2011-01-25  Tobias Burnus  <burnus@net-b.de>

        PR fortran/47448
        * interface.c (gfc_check_operator_interface): Fix
        defined-assignment check.

2011-01-25  Tobias Burnus  <burnus@net-b.de>

        PR fortran/47448
        * gfortran.dg/redefined_intrinsic_assignment_2.f90: New.

From-SVN: r169228
2011-01-25 14:30:32 +01:00
Jakub Jelinek
9ffa621ead re PR tree-optimization/47427 (ICE in process_constraint, at tree-ssa-structalias.c:2901)
PR tree-optimization/47427
	PR tree-optimization/47428
	* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
	coalesce if the new root var would be TREE_READONLY.

	* gcc.c-torture/compile/pr47427.c: New test.
	* gcc.c-torture/compile/pr47428.c: New test.

From-SVN: r169226
2011-01-25 13:01:54 +01:00
Richard Guenther
ae5b7e39b6 re PR tree-optimization/47411 (Bootstrap failure on x86-64/Darwin)
2011-01-25  Richard Guenther  <rguenther@suse.de>

	PR middle-end/47411
	* gcc.dg/torture/pr47411.c: New testcase.

From-SVN: r169225
2011-01-25 10:26:20 +00:00
Richard Guenther
5bd6e6526c re PR rtl-optimization/47414 (wrong code with -O -freorder-blocks -fschedule-insns2 -fno-early-inlining -fstrict-aliasing -ftracer)
2011-01-25  Richard Guenther  <rguenther@suse.de>

	PR middle-end/47414
	* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
	correct type for TBAA.

From-SVN: r169223
2011-01-25 09:55:54 +00:00
Sebastian Pop
7c48ea6910 Do not use a data ref with indices invalid in the loop of the close_phi.
2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
	(close_phi_written_to_memory): Call for_each_index with
	dr_indices_valid_in_loop.

	* gfortran.dg/graphite/id-24.f: New.
	* gfortran.dg/graphite/id-25.f: New.

From-SVN: r169220
2011-01-25 06:48:52 +00:00
Sebastian Pop
38013f25bc Only copy PBB_DOMAIN when it is initialized.
2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
	when it is initialized.

	* gfortran.dg/graphite/id-23.f: New.

From-SVN: r169219
2011-01-25 06:48:42 +00:00
Sebastian Pop
5c640e296a Pass to dr_analyze_indices the analysis loop for subscripts.
2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
	call to graphite_find_data_references_in_stmt.
	* graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
	(try_generate_gimple_bb): Call outermost_loop_in_sese_1.  Update
	call to graphite_find_data_references_in_stmt.
	(analyze_drs_in_stmts): Same.
	* tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
	in which the scalar analysis of indices is performed.
	(create_data_ref): Same.  Update call to dr_analyze_indices.
	(find_data_references_in_stmt): Update call to create_data_ref.
	(graphite_find_data_references_in_stmt): Same.
	* tree-data-ref.h (graphite_find_data_references_in_stmt): Update
	declaration.
	(create_data_ref): Same.
	* tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
	call to create_data_ref.

From-SVN: r169218
2011-01-25 06:48:32 +00:00
Sebastian Pop
ac53c0698a Move rewrite_commutative_reductions_out_of_ssa before find_scop_parameters.
2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-sese-to-poly.c (build_poly_scop): Move
	rewrite_commutative_reductions_out_of_ssa before
	find_scop_parameters.

From-SVN: r169217
2011-01-25 06:48:20 +00:00
Sebastian Pop
64c69d8cd1 Patch not merged, update ChangeLog.graphite.
From-SVN: r169216
2011-01-25 06:48:11 +00:00
Sebastian Pop
ab4173cf3b Fail when PPL 0.11 is not present and CLooG has been requested.
2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>

	* configure.ac: Call AC_MSG_ERROR when PPL 0.11 is not present and
	CLooG has been requested.
	* configure: Regenerated.

From-SVN: r169215
2011-01-25 06:47:58 +00:00
Sebastian Pop
cc2c5a6674 Patch not merged, update ChangeLog.graphite.
From-SVN: r169214
2011-01-25 06:47:46 +00:00
Sebastian Pop
3d17df1562 Do not create the temporary array for reductions into VAR_DECL, PARM_DECL, and RESULT_DECL.
2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
	VAR_DECL, PARM_DECL, and RESULT_DECL.

	* gfortran.dg/graphite/interchange-3.f90: Un-XFAILed.

From-SVN: r169213
2011-01-25 06:47:34 +00:00
Sebastian Pop
c513da01e3 Allow several reductions in a reduction PBB.
2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-dependences.c (reduction_dr_1): Allow several reductions
	in a reduction PBB.
	* graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
	that have already been marked as PBB_IS_REDUCTION.

From-SVN: r169212
2011-01-25 06:47:21 +00:00
Sebastian Pop
3a292d5909 Remove duplicate close phi nodes in the canonical close phi representation.
2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-scop-detection.c (same_close_phi_node): New.
	(remove_duplicate_close_phi): New.
	(make_close_phi_nodes_unique): New.
	(canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.

From-SVN: r169211
2011-01-25 06:47:09 +00:00
Sebastian Pop
ba85844784 Relax the definition of same_pdr_p.
2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
	* graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
	of both data references to be the same.

From-SVN: r169210
2011-01-25 06:46:56 +00:00
Sebastian Pop
8d865c568a Pass 0 as the number of parameters to PIP when testing for integer feasibility.
2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-dependences.c (build_lexicographical_constraint): Remove the
	gdim parameter.
	(build_lexicographical_constraint): Adjust call to ppl_powerset_is_empty.
	(dependence_polyhedron): Same.
	(graphite_legal_transform_dr): Same.
	(graphite_carried_dependence_level_k): Same.
	* graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params parameter.
	* graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.

From-SVN: r169209
2011-01-25 06:46:43 +00:00
Sebastian Pop
50034a3643 Remove the temporary array for reductions written to memory.
2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-sese-to-poly.c
	(translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
	(close_phi_written_to_memory): New.
	(translate_scalar_reduction_to_array): Call close_phi_written_to_memory
	and unshare_expr.

	* gcc.dg/graphite/block-0.c: Un-XFAILed.
	* gcc.dg/graphite/block-1.c: Un-XFAILed.
	* gcc.dg/graphite/block-7.c: Un-XFAILed.
	* gcc.dg/graphite/block-8.c: Un-XFAILed.
	* gcc.dg/graphite/interchange-12.c: Un-XFAILed.
	* gcc.dg/graphite/interchange-14.c: Un-XFAILed.
	* gcc.dg/graphite/interchange-15.c: Un-XFAILed.
	* gcc.dg/graphite/interchange-8.c: Un-XFAILed.
	* gcc.dg/graphite/interchange-mvt.c: Un-XFAILed.

From-SVN: r169208
2011-01-25 06:46:31 +00:00
Sebastian Pop
0deada9e5b Expect at least the version 0.11 of PPL.
2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>

toplev/
	* configure: Regenerated.
	* configure.ac: Check for version 0.11 (or later revision) of PPL.

toplev/gcc/
	* doc/install.texi: Update the expected version number of PPL to 0.11.
	* graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
	#if PPL_VERSION_MINOR < 11.

From-SVN: r169207
2011-01-25 06:46:19 +00:00
Sebastian Pop
d7d3d6af69 Minimize the number of expensive calls to ppl_powerset_is_empty.
2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-dependences.c: Include graphite-cloog-util.h.
	(new_poly_ddr): Inlined into dependence_polyhedron.
	(free_poly_ddr): Moved close by new_poly_ddr.
	(dependence_polyhedron_1): Renamed dependence_polyhedron.
	Early return NULL when ppl_powerset_is_empty returns true.
	(dependence_polyhedron): Renamed new_poly_ddr.  Call only once
	poly_drs_may_alias_p.  Avoid one call to ppl_powerset_is_empty.
	(graphite_legal_transform_dr): Call new_poly_ddr.
	(graphite_carried_dependence_level_k): Same.
	(dot_original_deps_stmt_1): Renamed dot_deps_stmt_2.  Use new_poly_ddr.
	(dot_transformed_deps_stmt_1): Removed.
	(dot_deps_stmt_1): Call dot_deps_stmt_2.
	(dot_original_deps): Renamed dot_deps_2.  Call new_poly_ddr.
	(dot_deps_1): Call dot_deps_2.
	* Makefile.in (graphite-dependences.o): Add missing dependence on
	graphite-cloog-util.h.

From-SVN: r169206
2011-01-25 06:46:07 +00:00
Sebastian Pop
28c5db5784 Use PIP to determine the integer feasibility of a constraint system.
2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
	(build_lexicographical_constraint): Same.
	(dependence_polyhedron_1): Same.
	(graphite_legal_transform_dr): Same.
	(graphite_carried_dependence_level_k): Same.
	* graphite-ppl.c (ppl_powerset_is_empty): New.
	* graphite-ppl.h (ppl_powerset_is_empty): Declared.
	* tree-data-ref.c (dump_data_reference): Print the basic block index.

	* gcc.dg/graphite/block-0.c: Add documentation.
	* gcc.dg/graphite/block-4.c: Same.
	* gcc.dg/graphite/block-7.c: Same.
	* gcc.dg/graphite/block-8.c: New.
	* gcc.dg/graphite/interchange-1.c: Un-XFAILed.
	* gcc.dg/graphite/interchange-11.c: Un-XFAILed.
	* gcc.dg/graphite/interchange-12.c: Add documentation.
	* gcc.dg/graphite/interchange-13.c: New.
	* gcc.dg/graphite/interchange-14.c: New.
	* gcc.dg/graphite/interchange-15.c: New.
	* gcc.dg/graphite/interchange-8.c: Add documentation.
	* gcc.dg/graphite/interchange-mvt.c: Same.

From-SVN: r169205
2011-01-25 06:45:54 +00:00
Sebastian Pop
5168d98f3d Correct the precedence relation.
2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-dependences.c (build_pairwise_scheduling): Correctly compute
	the "a followed by b" relation and document it.

From-SVN: r169204
2011-01-25 06:45:42 +00:00
Sebastian Pop
4a40293ae1 speedup compilation
2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-dependences.c (build_lexicographical_constraint): Stop the
	iteration when the bag of constraints is empty.

From-SVN: r169203
2011-01-25 06:45:29 +00:00
Sebastian Pop
271fb6fae1 Fix pbb_remove_duplicate_pdrs.
2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.

From-SVN: r169202
2011-01-25 06:45:16 +00:00
Sebastian Pop
92d236802c Test the profitability of interchange on the perfect nest.
2011-01-25  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
	nest and two loop depths as parameters.
	(lst_try_interchange_loops): Call lst_interchange_profitable_p after
	lst_perfect_nestify.

From-SVN: r169201
2011-01-25 06:45:04 +00:00