[llvm] r255530 - Remove the successor probabilities normalization in tail duplication pass.

Cong Hou via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 14 11:11:55 PST 2015


Author: conghou
Date: Mon Dec 14 13:11:54 2015
New Revision: 255530

URL: http://llvm.org/viewvc/llvm-project?rev=255530&view=rev
Log:
Remove the successor probabilities normalization in tail duplication pass.

The normalization may cause assertion failures on SystemZ and some out-of-tree
tests. The root cause is that unknown probabilities are materialized into known
ones by calling getSuccProbability(), which is then used to add another
successor to the same MBB which results in mixed known and unknown
probabilities. But currently those mixed probabilities cannot be normalized.

I will compose another patch to fix the root issue.



Modified:
    llvm/trunk/lib/CodeGen/TailDuplication.cpp

Modified: llvm/trunk/lib/CodeGen/TailDuplication.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/TailDuplication.cpp?rev=255530&r1=255529&r2=255530&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/TailDuplication.cpp (original)
+++ llvm/trunk/lib/CodeGen/TailDuplication.cpp Mon Dec 14 13:11:54 2015
@@ -751,7 +751,6 @@ TailDuplicatePass::duplicateSimpleBB(Mac
     assert(NumSuccessors <= 1);
     if (NumSuccessors == 0 || *PredBB->succ_begin() != NewTarget)
       PredBB->addSuccessor(NewTarget, Prob);
-    PredBB->normalizeSuccProbs();
 
     TDBBs.push_back(PredBB);
   }




More information about the llvm-commits mailing list