[4.2 projects] Omega data dependence test

Sebastian Pop sebpop@gmail.com
Sat Mar 25 01:24:00 GMT 2006


Hi,

Here are the bits from the autovect-branch that implement the omega data
dependence test.  The only pass that is using the information computed by
omega is the data dependence checker that ensures that both the old and this
new analyzer are producing the same output.

I have bootstrapped and tested this patch on top of the following patch:
http://gcc.gnu.org/ml/gcc-patches/2006-03/msg01516.html
with no new regressions on amd64-linux.
I have also bootstrapped gcc with BOOT_CFLAGS="-O2 -fcheck-data-deps"
and there was a single mismatch: this is actually a scev problem that I will
correct in a followup patch.

Sebastian

	* tree-data-ref.c (dump_data_dependence_relation): Dump DDR_INNER_LOOP.
	(initialize_data_dependence_relation): Initialize DDR_INNER_LOOP.
	(init_omega_eq_with_af, omega_extract_distance_vectors, check_ddr
	omega_setup_subscript, init_omega_for_ddr_1, init_omega_for_ddr): New.
	(compute_affine_dependence): Call check_ddr when flag_check_data_deps
	is set.
	(analyze_all_data_dependences): Uncomment.
	(tree_check_data_deps): New.
	* tree-data-ref.h: Depends on omega.h.
	(data_dependence_relation): Add a field inner_loop.
	(DDR_INNER_LOOP): New.
	* omega.h: New.
	* omega.c: New.
	* Makefile.in (TREE_DATA_REF_H): Depends on omega.h.
	(OBJS-common): Depends on omega.o.
	(omega.o): New rule.
	* timevar.def (TV_CHECK_DATA_DEPS): New.
	* passes.c: Schedule pass_check_data_deps.
	* tree-pass.h (pass_check_data_deps): Declared.
	* doc/invoke.texi (-fcheck-data-deps, omega-max-vars, omega-max-geqs,
	omega-max-eqs, omega-max-wild-cards, omega-hash-table-size,
	omega-max-keys): Documented.
	* tree-ssa-loop.c (check_data_deps, gate_check_data_deps,
	pass_check_data_deps): New.
	* common.opt (fcheck-data-deps): New.
	* params.def (PARAM_OMEGA_MAX_VARS, PARAM_OMEGA_MAX_GEQS,
	PARAM_OMEGA_MAX_EQS, PARAM_OMEGA_MAX_WILD_CARDS,
	PARAM_OMEGA_HASH_TABLE_SIZE, PARAM_OMEGA_MAX_KEYS): New.
	* tree-flow.h (tree_check_data_deps): Declared.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 528_omega_trunk.diff.gz
Type: application/x-gzip
Size: 45474 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20060325/59dc8fee/attachment.bin>


More information about the Gcc-patches mailing list