[llvm] [CycleInfo] Store blocks using Euler tour representation (PR #208614)

Sameer Sahasrabuddhe via llvm-commits llvm-commits at lists.llvm.org
Sun Jul 12 21:18:37 PDT 2026


================
@@ -305,7 +315,8 @@ void GenericCycleInfo<ContextT>::moveTopLevelCycleToNewParent(CycleT *NewParent,
   for (CycleT *Cycle : depth_first(Child))
     Cycle->TopLevelCycle = NewParent;
 
-  NewParent->Blocks.insert_range(Child->blocks());
+  // Blocks are not stored per cycle during construction; the shared layout is
----------------
ssahasra wrote:

This comment needs to highlight strongly that **this function may leave the BlockLayout invalid**, and it is up to the caller (e.g., `run()` to restore the correct layout. Such a comment is useful in isolation even if `run()` is the only caller for now.

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


More information about the llvm-commits mailing list