blob: e393e49abda2c2539c37d0641a2c846e89aeb886 [file] [log] [blame]
commit e42f6c0ac05bae37be8e2a5fd8861773646eae1b
Author: Han Shen <shenhan@google.com>
Date: Thu Oct 22 17:26:01 2020 -0700
Revert "[MBP] Add whole chain to BlockFilterSet instead of individual BB"
This reverts commit adfb5415010fbbc009a4a6298cfda7a6ed4fa6d4.
This is reverted because it caused an chrome error: https://crbug.com/1140168
diff --git a/llvm/lib/CodeGen/MachineBlockPlacement.cpp b/llvm/lib/CodeGen/MachineBlockPlacement.cpp
index b4244bb8bb9..8a866963803 100644
--- a/llvm/lib/CodeGen/MachineBlockPlacement.cpp
+++ b/llvm/lib/CodeGen/MachineBlockPlacement.cpp
@@ -2541,14 +2541,10 @@ MachineBlockPlacement::collectLoopBlockSet(const MachineLoop &L) {
MBPI->getEdgeProbability(LoopPred, L.getHeader());
for (MachineBasicBlock *LoopBB : L.getBlocks()) {
- if (LoopBlockSet.count(LoopBB))
- continue;
auto Freq = MBFI->getBlockFreq(LoopBB).getFrequency();
if (Freq == 0 || LoopFreq.getFrequency() / Freq > LoopToColdBlockRatio)
continue;
- BlockChain *Chain = BlockToChain[LoopBB];
- for (MachineBasicBlock *ChainBB : *Chain)
- LoopBlockSet.insert(ChainBB);
+ LoopBlockSet.insert(LoopBB);
}
} else
LoopBlockSet.insert(L.block_begin(), L.block_end());
diff --git a/llvm/test/CodeGen/X86/block_set.ll b/llvm/test/CodeGen/X86/block_set.ll
deleted file mode 100644
index bfe391d5b46..00000000000
--- a/llvm/test/CodeGen/X86/block_set.ll
+++ /dev/null
@@ -1,64 +0,0 @@
-; RUN: llc -mtriple=i686-linux < %s | FileCheck %s
-
-define i1 @block_filter() !prof !22{
-; CHECK-LABEL: block_filter
-; CHECK: %.entry
-; CHECK: %.header1
-; CHECK: %.bb1
-; CHECK: %.header2
-; CHECK: %.latch2
-; CHECK: %.cold
-; CHECK: %.pred
-; CHECK: %.problem
-; CHECK: %.latch1
-; CHECK: %.exit
-.entry:
- %val0 = call i1 @bar()
- br label %.header1
-
-.header1:
- %val1 = call i1 @foo()
- br i1 %val1, label %.bb1, label %.pred, !prof !2
-
-.bb1:
- %val11 = call i1 @foo()
- br i1 %val11, label %.header2, label %.pred, !prof !2
-
-.header2:
- %val2 = call i1 @foo()
- br i1 %val2, label %.latch2, label %.cold, !prof !10
-
-.cold:
- %val4 = call i1 @bar()
- br i1 %val4, label %.latch2, label %.problem
-
-.latch2:
- %val5 = call i1 @foo()
- br i1 %val5, label %.header2, label %.latch1, !prof !1
-
-.pred:
- %valp = call i1 @foo()
- br label %.problem
-
-.problem:
- %val3 = call i1 @foo()
- br label %.latch1
-
-.latch1:
- %val6 = call i1 @foo()
- br i1 %val6, label %.header1, label %.exit, !prof !1
-
-.exit:
- %val7 = call i1 @foo()
- ret i1 %val7
-}
-
-declare i1 @foo()
-declare i1 @bar()
-
-!1 = !{!"branch_weights", i32 5, i32 5}
-!2 = !{!"branch_weights", i32 60, i32 40}
-!3 = !{!"branch_weights", i32 90, i32 10}
-!10 = !{!"branch_weights", i32 90, i32 10}
-
-!22 = !{!"function_entry_count", i64 100}