[PATCH] D145512: [Assignment Tracking][NFC] Reuse BlockInfo rather than re-allocating each iteration

Scott Linder via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 14 15:55:24 PDT 2023


scott.linder added inline comments.


================
Comment at: llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp:1758
+                                               const BlockInfo &B) {
+  Join.clear();
   Join.LiveLoc = joinLocMap(A.LiveLoc, B.LiveLoc);
----------------
When `Join` aliases `A` this will clear `A`, is that intended?


================
Comment at: llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp:1822
            "block should have been processed already");
-    BBLiveIn = joinBlockInfo(std::move(BBLiveIn), PredLiveOut->second);
+    joinBlockInfo(BBLiveIn, std::move(BBLiveIn), PredLiveOut->second);
   }
----------------
What is this `std::move` for? Was there a version which accepted an rvalue-reference at some point?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D145512/new/

https://reviews.llvm.org/D145512



More information about the llvm-commits mailing list