On Fri, Feb 18, 2011 at 12:54 AM, Roman Leshchinskiy <rl@cse.unsw.edu.au> wrote:
Max Bolingbroke wrote:
> On 18 February 2011 01:18, Johan Tibell <johan.tibell@gmail.com> wrote:> It seems like a sufficient solution for your needs would be for us to
> use the LTO support in LLVM to inline across module boundaries - in
> particular to inline primop implementations into their call sites. LLVM
> would then probably deal with unrolling small loops with statically known
> bounds.

Could we simply use this?

http://llvm.org/docs/LangRef.html#int_memcpy

Might be easier to implement a PrimOp inlining pass, and to run it before LLVM's built-in MemCpyOptimization pass [0]. This wouldn't generally be as good as LTO but would work without gold.

[0] http://llvm.org/doxygen/MemCpyOptimizer_8cpp_source.html