Changes between Version 28 and Version 29 of PIRCDevelopment
- Timestamp:
- 08/09/09 12:25:11 (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
PIRCDevelopment
v28 v29 372 372 The register optimizer is a variant of the Linear Scan Register allocation algorithm as described in [http://www.google.ie/url?sa=t&source=web&ct=res&cd=1&url=http%3A%2F%2Fwww.cs.ucla.edu%2F~palsberg%2Fcourse%2Fcs132%2Flinearscan.pdf&ei=w9F5SvzVDpOqsAa_7tyeBQ&usg=AFQjCNETIxGGy87F9GzLawd4euXEaldcnQ&sig2=Hd7nnjdQrgnOqix-8sx92g this paper]. Since that algorithm assumes there's a fixed number of registers (which is the case for hardware processors), the algorithm is changed in a few places. 373 373 374 The implementation can be found in [source:/trunk/compilers/pirc/src/pirregalloc.c]. 374 The implementation can be found in [source:/trunk/compilers/pirc/src/pirregalloc.c]. Whether or not to use the register optimizer depends on how your program is used. If you have a large program that you will run many times, and memory usage is important, then you should activate it. If, on the other hand, runtime performance (compilation time included) is important, you should not activate it, as it takes additional time to perform the register optimization. In order to activate the register optimizer, use the {{{-r}}} command line option when running PIRC. 375 375 376 376