[PATCH] D133065: [nfc][msan] Group checks per instruction

Vitaly Buka via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 31 17:21:08 PDT 2022


vitalybuka added a comment.

In D133065#3762778 <https://reviews.llvm.org/D133065#3762778>, @kda wrote:

> test?

It's NFC



================
Comment at: llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp:1308
+                         const ShadowOriginAndInsertPoint &R) {
+                        return L.OrigIns < R.OrigIns;
+                      });
----------------
kda wrote:
> I think this yields a stable sort.  Is that what you want?
> Is there any possibility items could be added in different orders in different runs?
> If both are true, then the code generation is non-deterministic.
No, they added in the same order


================
Comment at: llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp:1319
+      // Process all checks of instruction at once.
+      materializeInstructionChecks(InstrumentWithCalls,
+                                   ArrayRef<ShadowOriginAndInsertPoint>(I, J));
----------------
kda wrote:
> I wonder if making an implementation that materializes one check would avoid this awkward slicing.
> 
> I think you could cook all the logic from materializeInstructionChecks into materializeOneCheck and be done.
Not sure what are you asking, the point is to materialize them in batches, so we can combine checks


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D133065



More information about the llvm-commits mailing list