[PATCH] D53512: [hot-cold-split] Add opt remark on success
Teresa Johnson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 22 12:10:33 PDT 2018
This revision was automatically updated to reflect the committed changes.
Closed by commit rL344938: [hot-cold-split] Add opt remark on success (authored by tejohnson, committed by ).
Repository:
rL LLVM
https://reviews.llvm.org/D53512
Files:
llvm/trunk/lib/Transforms/IPO/HotColdSplitting.cpp
llvm/trunk/test/Transforms/HotColdSplit/split-cold-2.ll
Index: llvm/trunk/test/Transforms/HotColdSplit/split-cold-2.ll
===================================================================
--- llvm/trunk/test/Transforms/HotColdSplit/split-cold-2.ll
+++ llvm/trunk/test/Transforms/HotColdSplit/split-cold-2.ll
@@ -1,9 +1,10 @@
-; RUN: opt -hotcoldsplit -S < %s | FileCheck %s
-; RUN: opt -passes=hotcoldsplit -S < %s | FileCheck %s
+; RUN: opt -hotcoldsplit -pass-remarks=hotcoldsplit -S < %s 2>&1 | FileCheck %s
+; RUN: opt -passes=hotcoldsplit -pass-remarks=hotcoldsplit -S < %s 2>&1 | FileCheck %s
; Make sure this compiles. This test used to fail with an invalid phi node: the
; two predecessors were outlined and the SSA representation was invalid.
+; CHECK: remark: <unknown>:0:0: fun split cold code into fun_if.else
; CHECK-LABEL: @fun
; CHECK: codeRepl:
; CHECK-NEXT: call void @fun_if.else
Index: llvm/trunk/lib/Transforms/IPO/HotColdSplitting.cpp
===================================================================
--- llvm/trunk/lib/Transforms/IPO/HotColdSplitting.cpp
+++ llvm/trunk/lib/Transforms/IPO/HotColdSplitting.cpp
@@ -335,6 +335,7 @@
HotColdSplitting::extractColdRegion(const SmallVectorImpl<BasicBlock *> &Region,
DominatorTree *DT, BlockFrequencyInfo *BFI,
OptimizationRemarkEmitter &ORE) {
+ assert(!Region.empty());
LLVM_DEBUG(for (auto *BB : Region)
llvm::dbgs() << "\nExtracting: " << *BB;);
@@ -348,6 +349,7 @@
if (Outputs.size() > 0)
return nullptr;
+ Function *OrigF = Region[0]->getParent();
if (Function *OutF = CE.extractCodeRegion()) {
User *U = *OutF->user_begin();
CallInst *CI = cast<CallInst>(U);
@@ -359,6 +361,12 @@
}
CI->setIsNoInline();
LLVM_DEBUG(llvm::dbgs() << "Outlined Region: " << *OutF);
+ ORE.emit([&]() {
+ return OptimizationRemark(DEBUG_TYPE, "HotColdSplit",
+ &*Region[0]->begin())
+ << ore::NV("Original", OrigF) << " split cold code into "
+ << ore::NV("Split", OutF);
+ });
return OutF;
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D53512.170469.patch
Type: text/x-patch
Size: 2104 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181022/b1ba081c/attachment.bin>
More information about the llvm-commits
mailing list