[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