OSDN Git Service

Extend RemapInstruction and friends to take an optional new parameter, a ValueMateria...
authorJames Molloy <james.molloy@arm.com>
Tue, 28 May 2013 15:17:05 +0000 (15:17 +0000)
committerJames Molloy <james.molloy@arm.com>
Tue, 28 May 2013 15:17:05 +0000 (15:17 +0000)
commita84a83bbcdfaecadfc6574094272fd3edc429a23
treeca87000d15263653ac635164ab194745b87f46e6
parent9903f75bf6ec4136bd752595c689db845eedad3d
Extend RemapInstruction and friends to take an optional new parameter, a ValueMaterializer.

Extend LinkModules to pass a ValueMaterializer to RemapInstruction and friends to lazily create Functions for lazily linked globals. This is a big win when linking small modules with large (mostly unused) library modules.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182776 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Transforms/Utils/Cloning.h
include/llvm/Transforms/Utils/ValueMapper.h
lib/Linker/LinkModules.cpp
lib/Transforms/Utils/CloneFunction.cpp
lib/Transforms/Utils/ValueMapper.cpp
test/Linker/transitive-lazy-link.ll [new file with mode: 0644]