[all-commits] [llvm/llvm-project] 4f4ebe: [msan] Eliminate non-deterministic behavior in the...

Vitaly Buka via All-commits all-commits at lists.llvm.org
Tue Apr 23 16:20:09 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4f4ebee10ec91becb75ed36608ae26a2bd09e3bb
      https://github.com/llvm/llvm-project/commit/4f4ebee10ec91becb75ed36608ae26a2bd09e3bb
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp

  Log Message:
  -----------
  [msan] Eliminate non-deterministic behavior in the pass (#89831)

Almost NFC, instrumentation is as correct as it was before.

We need InstrumentationList grouped by origin instruction,
so we used stable_sort. However these objects already grouped
because we never interleave sequences of `insertShadowCheck`
of different instrunction.

Pointer sort has artifact that it was deppendent on allocator behavior,
so we could inserted checks in a different order.

There is no test, as I failed to reproduce this with `opt`. My guess
is that for reproducer we need to increase fragmentation in the
allocator.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list