Memory Disambiguation

"Husain" <husainahmed154@hotmail.com>
23 Aug 2002 11:06:36 -0400

          From comp.compilers

Related articles
Memory Disambiguation husainahmed154@hotmail.com (Husain) (2002-08-23)
Re: Memory Disambiguation anton@mips.complang.tuwien.ac.at (Anton Ertl) (2002-08-24)
| List of all articles for this month |

From: "Husain" <husainahmed154@hotmail.com>
Newsgroups: comp.compilers
Date: 23 Aug 2002 11:06:36 -0400
Organization: Compilers Central
Keywords: architecture, optimize
Posted-Date: 23 Aug 2002 11:06:35 EDT

Hello ,


                                                                              I am currently involved in
implementing a serial assembly optimizer for a VLIW processor. Since
at the time when we started porting gcc for our processor, and even
now, gcc is not fully supporting VLIW processors. So we planned to
generate serial assembly from gcc, and then the serial assembly is
optimized by a serial assembly optimizer.




Problem:-
1) How to know about the exact memory dependencies. Uptil now i have assumed
that any memory access actually accesses a variable MEM. With this assumption
                                            (i) *(A0+56) = R0;
                                            (ii) R1 = *(A1);
Here i get the information that instruction (i) is writing to a
memory location which is being read by (ii). In the particular VLIW
processor for which i am writing the optimizer, we have got memory
write latency=3. Similarly if I don't know the exact memory location,
i am unable to exploit few other very important hardware features.




How can i disambiguate memory only by reading serial assembly as
input? What i know right now is that there are two methods for
Disambiguating memory.
(1) Static method which is gernally applied on the source language
like C, Fortran etc.
(2) Dynamic which is applied on low level language. This method is
more accurate than Static method, but it requires some hardware
support also. Data Speculation is used to Dynamically Disambiguate
memory locations. Some people have used the profiled information for
Data Speculation.


How should i disambiguate memory
(1) With Serial Assembly as input
(2) With having no hardware support for Data Speculation(Memory
Disambiguation).
(3) Can i get the exact memory dependencies through profiling(by using
simulator)?


Waiting anxiously for reply


Regards


Husain Ahmed


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.