This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
questions about dependence analysis in CG
- From: Peng Zhao <blue_3too at hotmail dot com>
- To: gcc gcc <gcc at gcc dot gnu dot org>, <rguenther at suse dot de>
- Date: Wed, 7 Mar 2012 18:42:21 +0000
- Subject: questions about dependence analysis in CG
- References: <BLU124-W1794E94E215516BE91DF9CC9560@phx.gbl>
Hello,
I am a little confused by the code in sched-deps.c.
1. what is the purpose of the reg_note and ds_t? I see the function dk_to_ds, and the comment in sched-int.h, "Dependence on instruction can be of multiple types
(e.g. true and output). This fields enhance REG_NOTE_KIND information of the dependence.". What is enhanced from REG_DEP_TRUE to DEP_TRUE?
in struct _dep, I only find the dependence that is related with REG_NOTE (or registers). Even ds_t only as DEP_TRUE/DEP_OUTPUT/DEP_ANTI. Does this mean that gcc doesn't differentiate reg dependence and memory dependence?
Where can I find information about memory dependences such as a write and read on elementa[100] ? Sometimes meory dependence should be handled differenly with reg dependece in CG, such as the latency between the producer and the consumer.
2. What different purpose are haifa_note_mem_dep and haifa_note_dep for?
thanks