[PATCH] D66399: [ORCv2] - New Speculate Query Implementation
Lang Hames via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 19 14:29:38 PDT 2019
lhames added inline comments.
================
Comment at: llvm/lib/ExecutionEngine/Orc/SpeculateAnalyses.cpp:172-177
+ auto IsCallerBlock = llvm::find(CallerBlocks, AtBB);
+ if (IsCallerBlock != CallerBlocks.end()) {
+ BlockHint.CallerBlock = true;
+ VisitedBlocks.insert(std::make_pair(AtBB, BlockHint));
+ } else
+ VisitedBlocks.insert(std::make_pair(AtBB, BlockHint));
----------------
I think this can be simplified to:
BlockHint.CallerBlock = llvm::find(CallerBlocks, AtBB) != CallerBlocks.end();
VisitedBlocks.insert(std::make_pair(AtBB, BlockHint));
================
Comment at: llvm/lib/ExecutionEngine/Orc/SpeculateAnalyses.cpp:248-249
+// with call.
+SequenceBBQuery::BlockListTy
+SequenceBBQuery::queryCFG(Function &F, const BlockListTy &CallerBlocks) {
+
----------------
Can you describe more about how SequencedBBQuery differs from BlockFreqQuery?
In particular: (1) What is the output of this algorithm, queryCFG, and (2) what benefit do we get from scanning to the exit blocks?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D66399/new/
https://reviews.llvm.org/D66399
More information about the llvm-commits
mailing list