[llvm] 54d8689 - [ExpandMemCmp] Update CFG before DTU

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 18 12:50:00 PDT 2021


Author: Nikita Popov
Date: 2021-10-18T21:49:47+02:00
New Revision: 54d868991ab79abc5c52cf38939f0a45292e7506

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

LOG: [ExpandMemCmp] Update CFG before DTU

The applyUpdates() API requires that the CFG is already updated,
so make sure to insert the new terminator first.

Added: 
    

Modified: 
    llvm/lib/CodeGen/ExpandMemCmp.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/CodeGen/ExpandMemCmp.cpp b/llvm/lib/CodeGen/ExpandMemCmp.cpp
index 50fdc2114780..d0c2b8c267ff 100644
--- a/llvm/lib/CodeGen/ExpandMemCmp.cpp
+++ b/llvm/lib/CodeGen/ExpandMemCmp.cpp
@@ -348,17 +348,17 @@ void MemCmpExpansion::emitLoadCompareByteBlock(unsigned BlockIndex,
                                     ConstantInt::get(Diff->getType(), 0));
     BranchInst *CmpBr =
         BranchInst::Create(EndBlock, LoadCmpBlocks[BlockIndex + 1], Cmp);
+    Builder.Insert(CmpBr);
     if (DTU)
       DTU->applyUpdates(
           {{DominatorTree::Insert, BB, EndBlock},
            {DominatorTree::Insert, BB, LoadCmpBlocks[BlockIndex + 1]}});
-    Builder.Insert(CmpBr);
   } else {
     // The last block has an unconditional branch to EndBlock.
     BranchInst *CmpBr = BranchInst::Create(EndBlock);
+    Builder.Insert(CmpBr);
     if (DTU)
       DTU->applyUpdates({{DominatorTree::Insert, BB, EndBlock}});
-    Builder.Insert(CmpBr);
   }
 }
 


        


More information about the llvm-commits mailing list