[PATCH] D89088: [MBP] Add whole chain to BlockFilterSet instead of individual BB
Guozhi Wei via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 13 14:25:40 PDT 2020
Carrot added inline comments.
================
Comment at: llvm/test/CodeGen/X86/block_set.ll:3
+
+define i1 @block_filter() !prof !22{
+; CHECK-LABEL: block_filter
----------------
davidxl wrote:
> Without this patch, the 'cold' block will be outlined outside the loop nests, right? It also makes the outer loop tighter which seems better. With this change, if the outer loop is hot, there will be a hole there.
The cold block will not be put outside of the loop nests no matter with or without this patch.
The LoopFreq value of inner loop is small enough so cold block is included in the chain for inner loop.
The LoopFreq value of outer loop is large enough so cold block is excluded in the BlockFilterSet of outer loop, but other BBs of inner loop is included. When we layout header2, the whole inner loop chain will be merged into the outer loop chain, including cold block. And the edge from .cold to .problem is used to decrement UnscheduledPredecessors of .problem chain, this is unexpected.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D89088/new/
https://reviews.llvm.org/D89088
More information about the llvm-commits
mailing list