[Info-vax] Future comparison of optimized VSI x86 compilers vs Linux compilers

Arne Vajhøj arne at vajhoej.dk
Mon Aug 3 10:51:52 EDT 2020


On 7/31/2020 11:09 AM, John Reagan wrote:
> In another thread, Terry asked a question and instead of taking the
> thread further off-topic, I decided to start a new thread. On Friday,
> July 31, 2020 at 4:32:23 AM UTC-4, Terry Kennedy wrote:
>> It will be interesting to compare the future production ready
>> release of VSI's x86 port, using optimized versions of compilers,
>> with FreeBSD or Linux on the same hardware. Since they will all be
>> using the LLVM backend, this should provide the most detailed
>> "apple's to apples" performance comparison to date.
> 
> Well, a "Red Delicious Apple" to "Fuji Apple" comparison.

> LLVM's optimizer relies on metadata called TBAA (Type-Based Alias
> Analysis).  The LLVM IR and basic type system isn't sufficient to
> describe all the different language rules for correct optimization
> for any language.  For example, the clang frontend has to decorate
> the LLVM IR with C/C++ language aliasing rules.
> 
> Our GEM-to-LLVM converter has to process CIL from multiple frontends,
> make LLVM IR, and produce TBAA metadata.  Can we be as good as clang
> for our C frontend?  What about Fortran, COBOL, etc.  On real GEM
> targets, there are callbacks between GEM and the frontends so GEM can
> ask each frontend questions DURING OPTIMIZATION.  That model doesn't
> exist in LLVM.  I'm hoping our current design will get us within 90%
> of the best possible TBAA.
> 
> clang for C++ won't have this issue since it will be a clang
> solution.  That's also one of the reasons why I want to also provide
> the ability to invoke clang as a C compiler (at least for a subset of
> C applications that don't use tons of VMS legacy junk - I'm look at
> you /STAND=VAXC)

Given that:
* most existing VMS customers are not near utilizing CPU power on their
   systems today
* the price per CPU power ratio will drop when moving from Itanium to
   x86-64
then I don't expect compiler optimization to be critical for VMS near
term or mid term.

Being LLVM based should ensure that VMS are OK long term.

Arne






More information about the Info-vax mailing list