Adds modref info to function summary call edge attributes in the index. Addresses part of PR33648
Original patch by tejohnson.
Paths
| Differential D36987
[ThinLTO} Add modref information to call info in function summary Needs ReviewPublic Authored by ncharlie on Aug 21 2017, 4:01 PM.
Details
Summary Adds modref info to function summary call edge attributes in the index. Addresses part of PR33648 Original patch by tejohnson.
Diff Detail Event TimelineHerald added subscribers: eraman, inglorion, mgorny, mehdi_amini. · View Herald TranscriptAug 21 2017, 4:01 PM Comment Actions Thanks for doing this. Some comments below, but I'd like someone else like Davide or Mehdi to review since I wrote some of this. Can you add a test that checks for the new mod ref flags in the summary? Also, one thing to consider would be to send a patch that has the NFC restructuring of the function attr analysis (without the new CSModRefMap parameter), that should be a straightforward patch by itself to review and doesn't need tests, then once that is in this can be rebased to better show the new changes required for the summary.
Revision Contents
Diff 112079 include/llvm/Analysis/FunctionAttrsAnalysis.h
include/llvm/Analysis/ModuleSummaryAnalysis.h
include/llvm/IR/ModuleSummaryIndex.h
include/llvm/Transforms/IPO/FunctionAttrs.h
lib/Analysis/CMakeLists.txt
lib/Analysis/FunctionAttrsAnalysis.cpp
lib/Analysis/ModuleSummaryAnalysis.cpp
lib/Bitcode/Reader/BitcodeReader.cpp
lib/Bitcode/Writer/BitcodeWriter.cpp
lib/Transforms/IPO/FunctionAttrs.cpp
lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
lib/Transforms/IPO/WholeProgramDevirt.cpp
test/Bitcode/thinlto-alias.ll
test/Bitcode/thinlto-alias2.ll
test/Bitcode/thinlto-function-summary-callgraph-pgo.ll
test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
test/Bitcode/thinlto-function-summary-callgraph.ll
test/Bitcode/thinlto-function-summary-functionattrs.ll
test/Bitcode/thinlto-function-summary-refgraph.ll
|
Needs doxygen comment describing interface since this is now external.