[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