diff options
author | Teresa Johnson <tejohnson@google.com> | 2018-06-26 13:56:49 +0000 |
---|---|---|
committer | Teresa Johnson <tejohnson@google.com> | 2018-06-26 13:56:49 +0000 |
commit | 63ee0e73e44e80d4e6d388de734cdb5106c8a6de (patch) | |
tree | 84f4df06ba721af4966e6f527e22e8bf9d094068 /llvm/lib/Bitcode | |
parent | 5915777eca88a8c14c58869219aa6fe1543a70b5 (diff) | |
download | bcm5719-llvm-63ee0e73e44e80d4e6d388de734cdb5106c8a6de.tar.gz bcm5719-llvm-63ee0e73e44e80d4e6d388de734cdb5106c8a6de.zip |
[ThinLTO] Parse module summary index from assembly
Summary:
Adds assembly parsing support for the module summary index (follow on
to r333335 which added the assembly writing support).
I added support to llvm-as to invoke the index parsing, so that it can
create either a bitcode file with a Module and a per-module index, or
a combined index without a Module.
I will send follow on patches soon to do the following:
- add support to tools such as llvm-lto2 to parse the per-module indexes
from assembly instead of bitcode when testing the thin link.
- verification support.
Depends on D47844 and D47842.
Reviewers: pcc, dexonsmith, mehdi_amini
Subscribers: inglorion, eraman, steven_wu, llvm-commits
Differential Revision: https://reviews.llvm.org/D47905
llvm-svn: 335602
Diffstat (limited to 'llvm/lib/Bitcode')
-rw-r--r-- | llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp index 5713535ed81..9072be68372 100644 --- a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp +++ b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp @@ -197,7 +197,7 @@ public: // otherwise we would have a Value for it). If so, synthesize // a value id. for (auto &CallEdge : FS->calls()) - if (!CallEdge.first.getValue()) + if (!CallEdge.first.haveGVs() || !CallEdge.first.getValue()) assignValueId(CallEdge.first.getGUID()); } @@ -230,7 +230,7 @@ private: // Helper to get the valueId for the type of value recorded in VI. unsigned getValueId(ValueInfo VI) { - if (!VI.getValue()) + if (!VI.haveGVs() || !VI.getValue()) return getValueId(VI.getGUID()); return VE.getValueID(VI.getValue()); } |