IR: Eliminate non-determinism in the module summary analysis.
authorPeter Collingbourne <peter@pcc.me.uk>
Tue, 20 Dec 2016 21:12:28 +0000 (21:12 +0000)
committerPeter Collingbourne <peter@pcc.me.uk>
Tue, 20 Dec 2016 21:12:28 +0000 (21:12 +0000)
commit0c30f089d5db6bd4ec9cbcc1d79b81af2cfb6014
treecf05c699571f9e79a21ef5c1b8c49119cd5a4e8c
parentb29dd0107ccda6a94697c91fcc299e79a30c1edb
IR: Eliminate non-determinism in the module summary analysis.

Also make the summary ref and call graph vectors immutable. This means
a smaller API surface and fewer places to audit for non-determinism.

Differential Revision: https://reviews.llvm.org/D27875

llvm-svn: 290200
llvm/include/llvm/ADT/MapVector.h
llvm/include/llvm/ADT/SetVector.h
llvm/include/llvm/IR/ModuleSummaryIndex.h
llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
llvm/lib/Bitcode/Reader/BitcodeReader.cpp
llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll