Commit Graph

103581 Commits

Author SHA1 Message Date
Sebastian Pop
cb5f9ec683 Fix Graphite memory leaks.
2010-09-23  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-clast-to-gimple.c (compute_bounds_for_level): Free le
	and ps.
	* graphite-poly.c (pbb_number_of_iterations_at_time): Free le and
	domain.
	* graphite-sese-to-poly.c (add_upper_bounds_from_estimated_nit):
	Do not allocate ub_expr, it is passed in initialized.

From-SVN: r164809
2010-09-30 21:21:29 +00:00
Sebastian Pop
03c830c2d9 New flag: -fgraphite-dump-cloog.
Introduce a new flag: -fgraphite-dump-cloog. If enabled, graphite
dumps each SCoP into a CLooG input file for further debugging.
The naming follows the naming scheme of -fgraphite-write:
 <basename>.<scopnumber>.cloog

The file is dumped into the current working directory.

2010-09-16  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>

	* common.opt (fgraphite-dump-cloog): New flag.
	* doc/invoke.texi (-fgraphite-dump-cloog): Documented.
	* graphite-clast-to-gimple.c (init_cloog_input_file): New.
	(build_cloog_prog): Dump CLooG input file when
	flag_graphite_dump_cloog is set.
	* graphite-cloog-compat.h (cloog_program_dump_cloog): New.

From-SVN: r164808
2010-09-30 21:21:21 +00:00
Sebastian Pop
61c6973f4c CDI_POST_DOMINATORS are not used in Graphite.
2010-09-20  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-clast-to-gimple.c (graphite_verify): Remove call to
	verify_dominators for CDI_POST_DOMINATORS.
	* sese.h: Remove comment about CDI_POST_DOMINATORS.
	(recompute_all_dominators): Remove call to free_dominance_info
	for CDI_POST_DOMINATORS.  Remove call to calculate_dominance_info
	for CDI_POST_DOMINATORS.

From-SVN: r164807
2010-09-30 21:21:08 +00:00
Sebastian Pop
aad78a1a6f Only iterate over pbb_dim_iter_domain.
2010-09-09  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-poly.c (pbb_number_of_iterations_at_time): Only iterate
	over pbb_dim_iter_domain.

From-SVN: r164806
2010-09-30 21:20:59 +00:00
Sebastian Pop
26315ccfd8 Fix comments.
2010-09-09  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-flattening.c: Fix comments.

From-SVN: r164805
2010-09-30 21:20:52 +00:00
Sebastian Pop
98af4c9ffe New pass: loop flattening.
2010-09-09  Sebastian Pop  <sebastian.pop@amd.com>

	* Makefile.in (OBJS-common): Add graphite-flattening.o.
	(graphite-flattening.o): New rule.
	* common.opt (floop-flatten): New flag.
	* doc/invoke.texi (-floop-flatten): Documented.
	* graphite-flattening.c: New.
	* graphite-poly.c (apply_poly_transforms): Call flatten_all_loops.
	* graphite-poly.h (flatten_all_loops): Declared.
	(lst_remove_loop_and_inline_stmts_in_loop_father): New.
	* tree-ssa-loop.c (gate_graphite_transforms): When flag_loop_flatten
	is set, also set flag_graphite.

From-SVN: r164804
2010-09-30 21:20:45 +00:00
Sebastian Pop
c498b9b997 Add cloog_checksum.
2010-09-09  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-poly.c (cloog_checksum): New.
	* graphite-poly.h (cloog_checksum): Declared.

From-SVN: r164803
2010-09-30 21:20:37 +00:00
Sebastian Pop
26ccb556d8 Fix pbb_number_of_iterations_at_time.
2010-09-09  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-poly.c (pbb_number_of_iterations): Removed.
	(pbb_number_of_iterations_at_time): Correctly compute the number
	of iterations in the transformed loop.
	* graphite-poly.h (pbb_number_of_iterations): Removed.

From-SVN: r164802
2010-09-30 21:20:30 +00:00
Sebastian Pop
b8745012ea Fix lst_update_scattering.
2010-09-09  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-poly.h (lst_update_scattering_seq): Removed.
	(lst_update_scattering): Correctly handle outermost loop dewey
	renumbering.

From-SVN: r164801
2010-09-30 21:20:22 +00:00
Sebastian Pop
22280f632d Outline lst_niter_for_loop.
2010-09-09  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-blocking.c (pbb_strip_mine_profitable_p): Renamed
	lst_strip_mine_profitable_p.  Call lst_niter_for_loop.
	* graphite-poly.h (lst_niter_for_loop): New.

From-SVN: r164800
2010-09-30 21:20:14 +00:00
Sebastian Pop
6eb412ef35 Call fatal_error when the transform read from file is not legal.
2010-09-09  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-poly.c (apply_poly_transforms): Do not abort when the
	transform read from disk is not legal.  Call fatal_error instead.

From-SVN: r164799
2010-09-30 21:20:06 +00:00
Sebastian Pop
0ba825679d Fix pretty printers.
2010-09-09  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-poly.c (print_pbb_body): Add missing closing parenthesis.
	(print_scop_header): Removed.  Inlined in the only call place...
	(print_scop): ... here.

From-SVN: r164798
2010-09-30 21:19:58 +00:00
Sebastian Pop
69ac2bb6d5 Use FOR_EACH_VEC_ELT.
2010-09-09  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-poly.h (lst_dewey_number): Use FOR_EACH_VEC_ELT.

From-SVN: r164797
2010-09-30 21:19:50 +00:00
Vladimir Kargov
0706c754ab New SCoPDetection detects first SCoPs.
2010-09-02  Vladimir Kargov  <kargov@gmail.com>

	* graphite-scop-detection.c (is_valid_expr_p, is_valid_loop_p): New.
	(is_valid_stmt_p): Add data reference and operation-specific checks.
	(is_valid_bb_p): Change structure, add loop validity check.
	(is_scop_p): Move the TODO list
	(find_scops_new): New.
	(build_scops_new): Move part of functionality to find_scops_new and
	build_scops.  Add necessary steps for successful SCoP construction.
	(build_scops): Compute SCoP sets for both detection algorithms, choose
	the resulting one depending on static condition.

From-SVN: r164796
2010-09-30 21:19:42 +00:00
Sebastian Pop
da8cebd1e5 Fix uninitialize warning.
2010-08-24  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-poly.c (graphite_read_scop_file): Fix uninitialize warning.

From-SVN: r164795
2010-09-30 21:19:35 +00:00
Sebastian Pop
1635d7b012 Avoid set but not used warning.
2010-08-24  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-dependences.c (dot_deps): Avoid set but not used warning.
	(dot_deps_stmt): Same.
	* graphite-poly.c (dot_lst): Same.

From-SVN: r164794
2010-09-30 21:19:26 +00:00
Sebastian Pop
3a7cd43867 Speed-up loop blocking: strip-mining is always legal.
2010-08-23  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-blocking.c (scop_do_strip_mine): Do not call
	graphite_legal_transform.
	(scop_do_block): Same.

From-SVN: r164793
2010-09-30 21:19:16 +00:00
Vladimir Kargov
45fc26fcad Fix the description of graphite_can_represent_loop.
2010-08-20  Vladimir Kargov  <kargov@gmail.com>

	* graphite-scop-detection.c (graphite_can_represent_loop): Correct the
	description.

From-SVN: r164792
2010-09-30 21:19:07 +00:00
Sebastian Pop
6272efefdd Add testcase for PR45230.
2010-08-20  Sebastian Pop  <sebastian.pop@amd.com>

	PR middle-end/45230
	* gcc.dg/graphite/id-pr45230.c: New.

From-SVN: r164791
2010-09-30 21:18:59 +00:00
Sebastian Pop
dbc080794a Also handle ARRAY_REFs in instantiate_scev_r.
2010-08-20  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-scalar-evolution.c (instantiate_array_ref): New.
	(instantiate_scev_r): Also handle ARRAY_REFs.

From-SVN: r164790
2010-09-30 21:18:48 +00:00
Sebastian Pop
492e545678 Fix chrec_contains_symbols_defined_in_loop.
2010-08-20  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop):
	Do not check for VAR_DECL, PARM_DECL, FUNCTION_DECL, LABEL_DECL,
	RESULT_DECL, and FIELD_DECL.  Return false for an
	SSA_NAME_IS_DEFAULT_DEF.
	(compute_scalar_evolution_in_loop): Do not further analyze the
	scalar evolution when no_evolution_in_loop_p returns true.

From-SVN: r164789
2010-09-30 21:18:38 +00:00
Sebastian Pop
21d9100956 A function is affine when CHREC_RIGHT is invariant.
2010-08-20  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-chrec.h (evolution_function_is_affine_p): Do not check
	whether CHREC_LEFT is invariant.  A function is affine when
	CHREC_RIGHT is invariant.

From-SVN: r164788
2010-09-30 21:18:27 +00:00
Sebastian Pop
c2bc669e2c Factor out is_gimple_reg calls.
2010-08-20  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-sese-to-poly.c (reduction_phi_p): Remove check for
	is_gimple_reg.
	(rewrite_degenerate_phi): Same.
	(rewrite_reductions_out_of_ssa): Add check for is_gimple_reg.

From-SVN: r164787
2010-09-30 21:18:17 +00:00
Vladimir Kargov
56f30f653e Remove outermost loop parameter.
2010-08-18  Vladimir Kargov  <kargov@gmail.com>

	* graphite-scop-detection.c (graphite_can_represent_scev,
	graphite_can_represent_expr, stmt_has_simple_data_refs_p,
	graphite_can_represent_loop): Remove outermost_loop.

From-SVN: r164786
2010-09-30 21:18:09 +00:00
Sebastian Pop
b4c8119fe2 Fix PR45229: gcc.c-torture/execute/20000412-4.c ICEs with -fgraphite-identity.
2010-08-17  Sebastian Pop  <sebastian.pop@amd.com>

	PR middle-end/45229
	* graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Do not
	handle GIMPLE_CALLs with no LHS.

From-SVN: r164785
2010-09-30 21:18:01 +00:00
Riyadh Baghdadi
91989b6081 Integrate openscop tests in graphite testsuite.
2010-08-17  Riyadh Baghdadi  <baghdadi.mr@gmail.com>
	    Sebastian Pop  <sebastian.pop@amd.com>

	* gcc.dg/graphite/graphite.exp: Add test rules for openscop read/write.
	Call remove-build-file to clean up the generated *.graphite files.

From-SVN: r164784
2010-09-30 21:17:54 +00:00
Riyadh Baghdadi
d3feeef9f5 Add documentation for -fgraphite-read and -fgraphite-write.
2010-08-14  Riyadh Baghdadi <baghdadi.mr@gmail.com>

	* doc/invoke.texi (debugging options): Update documentation.
	(-floop-interchange): Same.
	(-flopp-strip-mine): Same.
	(-floop-block): Same.
	(-fgraphite-read): Add documentation.
	(-fgraphite-write): Same.

From-SVN: r164783
2010-09-30 21:17:47 +00:00
Riyadh Baghdadi
a73c53235a Disable graphite loop optimizations with fgraphite read.
2010-08-14  Riyadh Baghdadi <baghdadi.mr@gmail.com>

	* toplev.c (process_options): Disable graphite loop optimization
	options when -fgraphite-read flag is used.

From-SVN: r164782
2010-09-30 21:17:40 +00:00
Riyadh Baghdadi
f06ecc4bba Dump each scop in a separate file.
2010-08-17  Riyadh Baghdadi <baghdadi.mr@gmail.com>

	* graphite-poly.c (init_graphite_out_file): New.
	(init_graphite_in_file): New.
	(apply_poly_transforms): Updated to enable reading and writing of
	multiple scop files.
	* toplev.c (init_asm_output): Remove graphite in/out file initialization.

From-SVN: r164781
2010-09-30 21:17:33 +00:00
Sebastian Pop
d9ae79067c Remove redundant checks in graphite_can_represent_scev.
2010-08-17  Tobias Grosser  <grosser@fim.uni-passau.de>

        * graphite-scop-detection.c (graphite_can_represent_scev): Remove
        redundant checks.

From-SVN: r164780
2010-09-30 21:17:26 +00:00
Sebastian Pop
023153657d Fix 435.gromacs miscompile.
2010-08-12  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-clast-to-gimple.c (precision_for_value): Adjust
	computation of precision by 1.

From-SVN: r164779
2010-09-30 21:17:19 +00:00
Riyadh Baghdadi
721c8b1e8e Enable graphite to read an OpenScop file.
2010-08-12  Riyadh Baghdadi <baghdadi.mr@gmail.com>

	* graphite-cloog-util.c (openscop_read_cloog_matrix): New.
	(openscop_read_polyhedron_matrix): New.
	* graphite-cloog-util.h (openscop_read_polyhedron_matrix): Declared.
	(openscop_read_N_int): Same.
	* graphite-poly.c (openscop_read_N_int): New.
	(openscop_read_one_int): New.
	(openscop_read_N_string): New.
	(openscop_read_one_string): New.
	(openscop_read_powerset_matrix): New.
	(graphite_read_transforms): Remove.
	(graphite_read_scatt): New.
	(graphite_read_scop_file): New.
	(apply_poly_transforms): Updated to call graphite_read_scop_file.

From-SVN: r164778
2010-09-30 21:17:12 +00:00
Andreas Simbuerger
fd8bb59129 Fix include order to avoid failed compilation on CLOOG_ORG.
2010-08-11  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>

	* graphite-poly.c: Change include order.

From-SVN: r164777
2010-09-30 21:17:04 +00:00
Andreas Simbuerger
562c1b02f1 Add necessary accessors for CloogMatrix (CLOOG_ORG).
2010-08-11  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>

	* graphite-cloog-compat.h (cloog_matrix_ncolumns): New.
	(cloog_matrix_nrows): New.

From-SVN: r164776
2010-09-30 21:16:57 +00:00
Riyadh Baghdadi
7241f8c55c Remove spaces from matrix lines.
2010-08-11  Riyadh Baghdadi <baghdadi.mr@gmail.com>

	* graphite-cloog-util.c (openscop_print_cloog_matrix): Remove spaces
	from matrix lines.
	* graphite-poly.c (openscop_print_scattering_function_1): Same.
	(print_scattering_function_1): Same.
	(openscop_print_pbb_domain): Same.
	(openscop_print_scop_context): Same.
	(print_scop_context): Same.

From-SVN: r164775
2010-09-30 21:16:49 +00:00
Riyadh Baghdadi
d72f5037aa Fix columns order in openscop.
2010-08-11  Riyadh Baghdadi <baghdadi.mr@gmail.com>

	* graphite-poly.c (openscop_print_pdr_polyhedron): Fix indentation.
	(openscop_print_pdr_polyhedron): Print pph.

From-SVN: r164774
2010-09-30 21:16:41 +00:00
Sebastian Pop
9e054f1b24 Add testcase for PR43423.
2010-07-29  Sebastian Pop  <sebastian.pop@amd.com>

	* gcc.dg/graphite/graphite.exp: Add compile rules for vect-* files.
	* gfortran.dg/graphite/graphite.exp: Same.
	* gcc.dg/graphite/vect-pr43423.c: New.

From-SVN: r164773
2010-09-30 21:16:34 +00:00
Sebastian Pop
c606063947 Generate in priority signed types for integer constants.
2010-07-29  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-clast-to-gimple.c (gcc_type_for_interval): Generate in
	priority signed types.

From-SVN: r164772
2010-09-30 21:16:25 +00:00
Sebastian Pop
2c2aceeb4d Avoid lang_hooks, call build_nonstandard_integer_type.
2010-07-29  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-clast-to-gimple.c (max_signed_precision_type): Remove the call
	to lang_hooks.types.type_for_size.  Call build_nonstandard_integer_type.

From-SVN: r164771
2010-09-30 21:16:18 +00:00
Riyadh Baghdadi
ae403f5abd Write OpenScop format.
2010-07-29  Riyadh Baghdadi <baghdadi.mr@gmail.com>

	* graphite-cloog-util.c (openscop_print_cloog_matrix): New.
	(openscop_print_polyhedron_matrix): New.
	* graphite-cloog-util.h (openscop_print_polyhedron_matrix): Declared.
	* graphite-poly.c (openscop_print_pdr_polyhedron): Same.
	(openscop_print_pdr_powerset): New.
	(openscop_print_powerset_matrix): New.
	(openscop_print_scattering_function_1): New.
	(print_scattering_function): Add support for scattering names and
	OpenScop format.
	(graphite_write_transforms): Remove.
	(apply_poly_transforms): Updated to call print_scop.
	(print_pdr_access_layout): Updated to support OpenScop format.
	(print_pdr): Same.
	(openscop_print_pbb_domain): New.
	(print_pbb_body): Added a parameter to allow indicating that pbb_body is
	not provided.
	(print_pbb): Updated to call the new print_pbb_body.
	(openscop_print_scop_context): New.
	(print_scop_header): New.
	(print_scop): Updated to call print_scop_header.
	* graphite-poly.h: Document OpenScop format.

From-SVN: r164770
2010-09-30 21:16:10 +00:00
Eric Botcazou
c8c2d4e7d7 Fix date
From-SVN: r164769
2010-09-30 21:13:14 +00:00
Anatoly Sokolov
b95491a041 m32c.c (cris_memory_move_cost): New.
* config/cris/m32c.c (cris_memory_move_cost): New.
	(cris_register_move_cost): Make static. Change arguments type from
	enum reg_class to reg_class_t.
	(TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
	* config/cris/cris.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
	* config/cris/cris-protos.h (cris_register_move_cost): Remove.

From-SVN: r164768
2010-10-01 00:54:27 +04:00
Jakub Jelinek
45c13d4cec re PR target/45843 (__builtin_va_arg overwrites into adjacent stack location)
PR target/45843
	* config/i386/i386.c (ix86_gimplify_va_arg): Use
	INTVAL (XEXP (slot, 1)) as prev_size.

	* g++.dg/torture/pr45843.C: New test.

From-SVN: r164766
2010-09-30 22:21:28 +02:00
Janus Weil
03d79dc394 re PR fortran/45828 (No default initialization of derived type members?)
2010-09-30  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/45828
	* resolve.c (resolve_allocate_expr): Do not use
	'gfc_has_default_initializer'.

2010-09-30  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/45828
	* gfortran.dg/allocate_derived_5.f90: New.

From-SVN: r164765
2010-09-30 21:54:08 +02:00
Michael Meissner
78009d9f6e PR target/45837: Make powerpc build again
From-SVN: r164764
2010-09-30 19:52:57 +00:00
Tobias Burnus
e9853e1c27 gfortran.tex (Fortran 2008 status): Update list of implemented features.
2010-09-30  Tobias Burnus  <burnus@net-b.de>

        * gfortran.tex (Fortran 2008 status): Update list of
        implemented features.

From-SVN: r164763
2010-09-30 21:49:26 +02:00
Jakub Jelinek
bb6b5461d1 * dwarf2out.c (mem_loc_descriptor): Handle IF_THEN_ELSE.
From-SVN: r164762
2010-09-30 21:24:10 +02:00
Jakub Jelinek
140d4effd5 re PR tree-optimization/31261 (Missed tree optimizations: (8 - (x & 7)) & 7)
PR tree-optimization/31261
	* fold-const.c (fold_binary): Optimize ((A & N) + B) & M
	for constants M and N, M == (1LL << cst) - 1 && (N & M) == M.

	* gcc.dg/tree-ssa/pr31261.c: New test.

From-SVN: r164761
2010-09-30 21:21:34 +02:00
Ralf Wildenhues
e1826acc35 build: info-gcc, dvi-gcc etc work from unbuilt configured tree.
/:
	PR bootstrap/45796
	* Makefile.def (info-gcc, dvi-gcc, pdf-gcc, html-gcc):
	Depend on all-build-libiberty.
	* Makefile.in: Regenerate.

From-SVN: r164760
2010-09-30 19:16:34 +00:00
Ralf Wildenhues
6ddddaed95 build: more correct build rules for build/gen% programs.
gcc/:
	PR bootstrap/45796
	* Makefile.in (build/gen%$(build_exeext)): Move rule after all
	special-casing for generators and turn into ...
	((genprog:%=build/gen%$(build_exeext))): ... this static pattern
	rule, for better error messages in case of toplevel dependency
	errors.
	(genprog): Add hooks, rename to ...
	(genprogerr): ... this, and let genprog also contain check,
	checksum, condmd.
	((genprog:%=build/gen%$(build_exeext))): Rename to ...
	((genprogerr:%=build/gen%$(build_exeext))): ... this.
	(build/genhooks$(build_exeext)): Remove now-unneeded dependency.

From-SVN: r164759
2010-09-30 19:16:14 +00:00