[llvm] r342201 - Fix for the buildbot failure http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/23635

Hideki Saito via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 13 19:02:58 PDT 2018


Author: hsaito
Date: Thu Sep 13 19:02:57 2018
New Revision: 342201

URL: http://llvm.org/viewvc/llvm-project?rev=342201&view=rev
Log:


Fix for the buildbot failure http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/23635
from the commit (r342197) of https://reviews.llvm.org/D50820.


Modified:
    llvm/trunk/lib/Transforms/Vectorize/VPlan.cpp
    llvm/trunk/lib/Transforms/Vectorize/VPlan.h
    llvm/trunk/lib/Transforms/Vectorize/VPlanHCFGTransforms.cpp

Modified: llvm/trunk/lib/Transforms/Vectorize/VPlan.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Vectorize/VPlan.cpp?rev=342201&r1=342200&r2=342201&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Vectorize/VPlan.cpp (original)
+++ llvm/trunk/lib/Transforms/Vectorize/VPlan.cpp Thu Sep 13 19:02:57 2018
@@ -205,10 +205,6 @@ void VPBasicBlock::execute(VPTransformSt
     Value *IRCBV = CBV->getUnderlyingValue();
     assert(IRCBV && "Unexpected null underlying value for condition bit");
 
-    // Delete the condition bit at this point - it should be no longer needed.
-    delete CBV;
-    setCondBit(nullptr);
-
     // Condition bit value in a VPBasicBlock is used as the branch selector. In
     // the VPlan-native path case, since all branches are uniform we generate a
     // branch instruction using the condition value from vector lane 0 and dummy

Modified: llvm/trunk/lib/Transforms/Vectorize/VPlan.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Vectorize/VPlan.h?rev=342201&r1=342200&r2=342201&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Vectorize/VPlan.h (original)
+++ llvm/trunk/lib/Transforms/Vectorize/VPlan.h Thu Sep 13 19:02:57 2018
@@ -1118,6 +1118,9 @@ private:
   /// Holds the VPLoopInfo analysis for this VPlan.
   VPLoopInfo VPLInfo;
 
+  /// Holds the condition bit values built during VPInstruction to VPRecipe transformation.
+  SmallVector<VPValue *, 4> VPCBVs;
+
 public:
   VPlan(VPBlockBase *Entry = nullptr) : Entry(Entry) {}
 
@@ -1128,6 +1131,8 @@ public:
       delete MapEntry.second;
     for (VPValue *Def : VPExternalDefs)
       delete Def;
+    for (VPValue *CBV : VPCBVs)
+      delete CBV;
   }
 
   /// Generate the IR code for this VPlan.
@@ -1152,6 +1157,11 @@ public:
     VPExternalDefs.insert(VPVal);
   }
 
+  /// Add \p CBV to the vector of condition bit values.
+  void addCBV(VPValue *CBV) {
+    VPCBVs.push_back(CBV);
+  }
+
   void addVPValue(Value *V) {
     assert(V && "Trying to add a null Value to VPlan");
     assert(!Value2VPValue.count(V) && "Value already exists in VPlan");

Modified: llvm/trunk/lib/Transforms/Vectorize/VPlanHCFGTransforms.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Vectorize/VPlanHCFGTransforms.cpp?rev=342201&r1=342200&r2=342201&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Vectorize/VPlanHCFGTransforms.cpp (original)
+++ llvm/trunk/lib/Transforms/Vectorize/VPlanHCFGTransforms.cpp Thu Sep 13 19:02:57 2018
@@ -33,6 +33,7 @@ void VPlanHCFGTransforms::VPInstructions
     if (auto *CondBit = VPBB->getCondBit()) {
       auto *NCondBit = new VPValue(CondBit->getUnderlyingValue());
       VPBB->setCondBit(NCondBit);
+      Plan->addCBV(NCondBit);
     }
   }
   for (VPBlockBase *Base : RPOT) {




More information about the llvm-commits mailing list