Boost logo

Boost :

Subject: Re: [boost] Accelerating algorithms with SIMD - Segmented iterators and alternatives
From: David Abrahams (dave_at_[hidden])
Date: 2010-10-13 10:47:12


At Wed, 13 Oct 2010 01:02:17 -0400,
Bryce Lelbach wrote:
>
> There's nothing magic about JITing C++, even JITing non-trivial C++. It's
> basically pointless, because the LLVM bitcode/LLVM assembly generated by a C++
> program is absolutely, positively not portable. Starting in the earliest stages
> of compilation (preprocessing), platform dependencies enter the code (not to
> mention all the preprocessor workarounds). Add in alignment jazz. Plus sizes.
> Plus implementation details (GNU expands sizeof and assert in the preprocessor,
> for example).

But all those things are not intrinsic to C++. The C++ abstract
machine doesn't specify any of those platform dependencies. It's just
that you need to do some of those optimizations in the front-end for
full compilation to object code, and nobody is interested in C++ code
that's link-incompatible with all the libraries, etc., that have
already been compiled.

-- 
Dave Abrahams
BoostPro Computing
http://www.boostpro.com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk