[PATCH] D108365: [hwasan] Support more complicated lifetimes.

Evgenii Stepanov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 2 13:35:45 PDT 2021


eugenis accepted this revision.
eugenis added a comment.
This revision is now accepted and ready to land.

LGTM



================
Comment at: llvm/include/llvm/Transforms/Instrumentation/AddressSanitizerCommon.h:50
 
 // For an alloca valid between lifetime markers Start and End, call the
 // Callback for all possible exits out of the lifetime in the containing
----------------
Update the comment.


================
Comment at: llvm/include/llvm/Transforms/Instrumentation/AddressSanitizerCommon.h:74
+    if (std::any_of(Ends.begin(), Ends.end(),
+                    [&](Instruction *End) { return DT.dominates(End, RI); }))
+      ++NumCoveredExits;
----------------
This does not handle diamond CFG, right? A case where two ends dominate a return as a group. I don't know if LLVM has an implementation of that.

I think it is fine, that must be a relatively uncommon case.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D108365



More information about the llvm-commits mailing list