[Info-vax] yet another sys$qiow question

John Reagan xyzzy1959 at gmail.com
Wed Aug 19 15:28:06 EDT 2015


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.



More information about the Info-vax mailing list