This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: question about the ddg construction


On Thu, Jul 3, 2008 at 3:26 PM, Steven Bosscher <stevenb.gcc@gmail.com> wrote:
> On Fri, Jul 4, 2008 at 12:05 AM, Tianwei <tianwei.sheng@gmail.com> wrote:
>> Hi, all,
>>    My current project wants to reuse DDG's infrastructure to get some
>> loop carried dependency information, I debug these code for a while,
>> but have some questions, Hope you can
>> give me some suggestions.
>>
>> 1. my platform is X86,  and gcc version is 4.3.1, when i use -fsms,
>> and debug the code, found that for the following code, if always
>> return NULL_RTX:
>>
>>      /* Make sure this is a doloop.  */
>>      if ( !(count_reg = doloop_register_get (head, tail)))
>>      {
>>        if (dump_file)
>>          fprintf (dump_file, "SMS doloop_register_get failed\n");
>>    continue;
>>      }
>>
>> when I check the doloop_register_get, and found that it's guarded by a
>> ifdef "HAVE_doloop_end", even i make clobber the whole compiler,
>> rebuild the compiler by "CFLAGS='-DHAVE_doloop_end'", it still will
>> complain error, can't find the gen_doloop_end.
>>
>> so the first question is:  does SMS is support on X86?
>
> No. the x86 backend has no doloop insn pattern.  To see what that
> means, see loop-doloop.c, and look for doloop in
> http://gcc.gnu.org/onlinedocs/gccint/Standard-Names.html.
>
> Gr.
> Steven
>
Steven, thanks very much. I will look at it.
BTW, now the ddg construction seems to do the following step:
1. compuate the intra-dependency accoring to  scheduler dependency analysis
2. during the intra-dependency function, it will also perform inter-loop-mem-dep
3. then it will use another pass to perform inter-loop-reg-dep.

i will debug some testcase to understand why it did in this
way(especially why inter-loop-mem is embedded in intra-dependency
phase), how it can guarantee we won't miss any dependency.

Tianwei


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]