diff options
author | Lang Hames <lhames@gmail.com> | 2015-05-04 22:03:10 +0000 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2015-05-04 22:03:10 +0000 |
commit | a68970dfd58dab5443707efc13ed682d6fbd076c (patch) | |
tree | 4a664eb98590f969cb1c9c0acfea1a8f6451ebd9 /clang/lib/Lex/Lexer.cpp | |
parent | 19ffc26c5e375ae6682a3877a959d195dbcf7524 (diff) | |
download | bcm5719-llvm-a68970dfd58dab5443707efc13ed682d6fbd076c.tar.gz bcm5719-llvm-a68970dfd58dab5443707efc13ed682d6fbd076c.zip |
[Orc] Refactor the compile-on-demand layer to make module partitioning lazy,
and avoid cloning unused decls into every partition.
Module partitioning showed up as a source of significant overhead when I
profiled some trivial test cases. Avoiding the overhead of partitionging
for uncalled functions helps to mitigate this.
This change also means that it is no longer necessary to have a
LazyEmittingLayer underneath the CompileOnDemand layer, since the
CompileOnDemandLayer will not extract or emit function bodies until they are
called.
llvm-svn: 236465
Diffstat (limited to 'clang/lib/Lex/Lexer.cpp')
0 files changed, 0 insertions, 0 deletions