[llvm] e42f6c0 - Revert "[MBP] Add whole chain to BlockFilterSet instead of individual BB"

Han Shen via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 22 17:37:14 PDT 2020


Author: Han Shen
Date: 2020-10-22T17:31:01-07:00
New Revision: e42f6c0ac05bae37be8e2a5fd8861773646eae1b

URL: https://github.com/llvm/llvm-project/commit/e42f6c0ac05bae37be8e2a5fd8861773646eae1b
DIFF: https://github.com/llvm/llvm-project/commit/e42f6c0ac05bae37be8e2a5fd8861773646eae1b.diff

LOG: 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

Added: 
    

Modified: 
    llvm/lib/CodeGen/MachineBlockPlacement.cpp

Removed: 
    llvm/test/CodeGen/X86/block_set.ll


################################################################################
diff  --git a/llvm/lib/CodeGen/MachineBlockPlacement.cpp b/llvm/lib/CodeGen/MachineBlockPlacement.cpp
index b4244bb8bb99..8a8669638031 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 bfe391d5b464..000000000000
--- 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}


        


More information about the llvm-commits mailing list