[LLVMdev] Upstreaming PNaCl's IR simplification passes
Alp Toker
alp at nuanti.com
Wed Mar 5 04:32:42 PST 2014
On 05/03/2014 00:12, Sean Silva wrote:
> I'd also like to point out that IR-level passes are pretty much LLVM's
> strongest point of decoupling and modularization, so of all code
> changes to have no in-tree users (if indeed there are none), this is
> probably a best-case scenario from a maintainability perspective
> (especially if it becomes the point of collaboration for Emscripten
> and PNaCl).
Just to chime in with another use case, these passes would have been
useful for lowering to MSIL in our C++/CLI compiler.
We initially experimented with LLVM as the backend for our C++/CLI
compiler but hit upon problems just like these -- and without the skill
set to solve them at the time, we ended up resorting to just blasting
out bytecode from clang IRGen.
The IRGen kludge "works for us" but it's always been a regret of mine
that we missed out on a lot of what makes LLVM great at the last mile.
We're kind of stuck with that decision today but +1 for facilities that
help others avoid that fate.
I can see how such facilities may appear orthogonal to people working on
"real" machine backends but the same could be said for JIT / MCJIT which
currently doesn't have in-tree users.
If a real in-tree user would help how about expediting the inclusion of
PNaCl or Emscripten? I know developers on both teams and have confidence
in their ability to keep with the programme.
Alp.
--
http://www.nuanti.com
the browser experts
More information about the llvm-dev
mailing list