[Mlir-commits] [llvm] [mlir] [LoopInfo] Store blocks using Euler tour representation (PR #211485)

Alexis Engelke llvmlistbot at llvm.org
Fri Jul 24 00:39:24 PDT 2026


================
@@ -62,8 +61,12 @@ template <class BlockT, class LoopT> class LoopBase {
   // Loops contained entirely within this one.
   std::vector<LoopT *> SubLoops;
 
-  // The list of blocks in this loop. First entry is the header node.
-  std::vector<BlockT *> Blocks;
+  // The list of blocks in this loop; first entry is the header. Either borrows
+  // from the owning LoopInfo's BlockLayout with BlockCapacity == BlockLen, or
+  // is a private allocation of BlockCapacity slots from its allocator.
+  BlockT **BlockData = nullptr;
----------------
aengelke wrote:

union instead of reinterpret_cast

https://github.com/llvm/llvm-project/pull/211485


More information about the Mlir-commits mailing list