[Info-vax] yet another sys$qiow question
JF Mezei
jfmezei.spamnot at vaxination.ca
Wed Aug 19 15:41:56 EDT 2015
On 15-08-19 15:28, John Reagan wrote:
> The early VAX compilers didn't do lots of caching fields of structs. COBOL wasn't optimized at all. Given the few registers available, it didn't make much sense to cache a piece of the IOSB over a long sequence of code. You almost always got a refetch. VAX BLISS is probably the most aggressive about such things. I don't think VAX FORTRAN even added VOLATILE until later in its history for example. Architectures like Alpha and Itanium with more registers started making such "fetch-once/use-many" optimizations valuable. On x86 with fewer registers, it may not be viewed as profitable. I haven't dug all that deep into LLVM's heuristics to see. If we need to adjust some things to help paper over older code, we'll figure it out.
So on DEC-C, if I have a variable that need to be "volatile", how do I
declare it ?
I assume other platforms (like OS-X with GCC) would have similar need to
declare a variable as residing in memory and not optimized away ?
More information about the Info-vax
mailing list