aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/IR/ModuleSummaryIndex.cpp
AgeCommit message (Collapse)AuthorFilesLines
2016-04-25[ThinLTO] Introduce typedef for commonly-used map type (NFC)Teresa Johnson1-4/+2
Add a typedef for the std::map<GlobalValue::GUID, GlobalValueSummary *> map that is passed around to identify summaries for values defined in a particular module. This shortens up declarations in a variety of places. llvm-svn: 267471
2016-04-24[ThinLTO] Remove GlobalValueInfo class from indexTeresa Johnson1-32/+27
Summary: Remove the GlobalValueInfo and change the ModuleSummaryIndex to directly reference summary objects. The info structure was there to support lazy parsing of the combined index summary objects, which is no longer needed and not supported. Reviewers: joker.eph Subscribers: joker.eph, llvm-commits Differential Revision: http://reviews.llvm.org/D19462 llvm-svn: 267344
2016-04-16ThinLTO: Move the ODR resolution to be based purely on the summary.Mehdi Amini1-0/+13
This is a requirement for the cache handling in D18494 Differential Revision: http://reviews.llvm.org/D18908 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 266519
2016-04-16ThinLTO: Make aliases explicit in the summaryMehdi Amini1-1/+1
To be able to work accurately on the reference graph when taking decision about internalizing, promoting, renaming, etc. We need to have the alias information explicit. Differential Revision: http://reviews.llvm.org/D18836 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 266517
2016-04-13Revert "Make aliases explicit in the summary"Mehdi Amini1-1/+1
Inadvertently commited... This reverts commit e618ec93786d99df2ddf280ad2d5e02f5516cecf. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 266215
2016-04-13Make aliases explicit in the summaryMehdi Amini1-1/+1
Summary: To be able to work accurately on the reference graph when taking decision about internalizing, promoting, renaming, etc. We need to have the alias information explicit. Reviewers: tejohnson Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D18836 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 266214
2016-04-12[ThinLTO] Only compute imports for current module in FunctionImport passTeresa Johnson1-0/+20
Summary: The function import pass was computing all the imports for all the modules in the index, and only using the imports for the current module. Change this to instead compute only for the given module. This means that the exports list can't be populated, but they weren't being used anyway. Longer term, the linker can collect all the imports and export lists and serialize them out for consumption by the distributed backend processes which use this pass. Reviewers: joker.eph Subscribers: llvm-commits, joker.eph Differential Revision: http://reviews.llvm.org/D18945 llvm-svn: 266125
2016-04-05Add parentheses around `&&` within `||` to avoid compiler warning message.Haojian Wu1-3/+2
Summary: The assert code is introduced by r265370. Reviewers: bkramer Subscribers: tejohnson Differential Revision: http://reviews.llvm.org/D18786 llvm-svn: 265383
2016-04-05[ThinLTO] Refactor some common code into getGlobalValueInfo method (NFC)Teresa Johnson1-0/+12
Refactor common code that queries the ModuleSummaryIndex for a value's GlobalValueInfo struct into getGlobalValueInfo helper methods, which will also be used by D18763. llvm-svn: 265370
2016-04-02Create a typedef GlobalValue::GUID for uint64_t and RAUW (NFC)Mehdi Amini1-1/+1
Summary: This should make the code more readable, especially all the map declarations. Reviewers: tejohnson Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D18721 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 265215
2016-04-01Add a module Hash in the bitcode and the combined index, implementing a kind ↵Mehdi Amini1-3/+5
of "build-id" This is intended to be used for ThinLTO incremental build. Differential Revision: http://reviews.llvm.org/D18213 This is a recommit of r265095 after fixing the Windows issues. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 265111
2016-04-01Revert "Add support for computing SHA1 in LLVM"Mehdi Amini1-5/+3
This reverts commit r265096, r265095, and r265094. Windows build is broken, and the validation does not pass. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 265102
2016-04-01Add a module Hash in the bitcode and the combined index, implementing a kind ↵Mehdi Amini1-3/+5
of "build-id" This is intended to be used for ThinLTO incremental build. Differential Revision: http://reviews.llvm.org/D18213 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 265095
2016-03-15[ThinLTO] Renaming of function index to module summary index (NFC)Teresa Johnson1-0/+68
(Resubmitting after fixing missing file issue) With the changes in r263275, there are now more than just functions in the summary. Completed the renaming of data structures (started in r263275) to reflect the wider scope. In particular, changed the FunctionIndex* data structures to ModuleIndex*, and renamed related variables and comments. Also renamed the files to reflect the changes. A companion clang patch will immediately succeed this patch to reflect this renaming. llvm-svn: 263513