[PATCH] D52739: [PassManager/Sanitizer] Port of AddresSanitizer pass from legacy to new PassManager

Philip Pfaffe via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 9 04:16:49 PDT 2018


philip.pfaffe added a comment.

In https://reviews.llvm.org/D52739#1258469, @leonardchan wrote:

> I see. As far as I can tell, both passes actually use the same options for `CompileKernel` and `Recover` when creating new passes, but `UseAfterScope` is different for both in that the option is passed from a code gen option for AddressSanitizer whereas AddressSanitizerModule sets `UseAfterScope` as true by default and is dependent on if ASan uses garbage collection friendly instrumentation for globals.


These are different per //instance// though. Even if merged, you're free to create one instance with options A and one instance with options B and run the first instance on a function pipeline and the second on a module pipeline.



================
Comment at: include/llvm/IR/AddressSanitizerPass.h:17
+
+#include "llvm/Analysis/InstructionSimplify.h"
+#include "llvm/IR/Function.h"
----------------
Why is this include required?

Also, you're missing PassManager.h for AnalysisManager and PassInfoMixin


================
Comment at: include/llvm/IR/AddressSanitizerPass.h:23
+
+class AddressSanitizerPass : public PassInfoMixin<AddressSanitizerPass> {
+public:
----------------
These classes need comments.


Repository:
  rL LLVM

https://reviews.llvm.org/D52739





More information about the llvm-commits mailing list