[InlineCost] Added InlineCostCallAnalyzer::print()

For the upcoming changes, we need to have an ability to dump
InlineCostCallAnalyzer info in non-debug builds as well.

Reviewed-By: mtrofin
Differential Revision: https://reviews.llvm.org/D82205
This commit is contained in:
Kirill Naumov 2020-06-19 14:57:34 +00:00
parent 26fd3ffa78
commit ca899bf90a
1 changed files with 11 additions and 3 deletions

View File

@ -726,6 +726,10 @@ public:
void dump();
// Prints the same analysis as dump(), but its definition is not dependent
// on the build.
void print();
Optional<InstructionCostDetail> getCostDetails(const Instruction *I) {
if (InstructionCostDetailMap.find(I) != InstructionCostDetailMap.end())
return InstructionCostDetailMap[I];
@ -2168,9 +2172,7 @@ InlineResult CallAnalyzer::analyze() {
return finalizeAnalysis();
}
#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
/// Dump stats about this call's analysis.
LLVM_DUMP_METHOD void InlineCostCallAnalyzer::dump() {
void InlineCostCallAnalyzer::print() {
#define DEBUG_PRINT_STAT(x) dbgs() << " " #x ": " << x << "\n"
if (PrintInstructionComments)
F.print(dbgs(), &Writer);
@ -2189,6 +2191,12 @@ LLVM_DUMP_METHOD void InlineCostCallAnalyzer::dump() {
DEBUG_PRINT_STAT(Threshold);
#undef DEBUG_PRINT_STAT
}
#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
/// Dump stats about this call's analysis.
LLVM_DUMP_METHOD void InlineCostCallAnalyzer::dump() {
print();
}
#endif
/// Test that there are no attribute conflicts between Caller and Callee