[PATCH] D54394: [WIP][NewPM] Port msan

Philip Pfaffe via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 5 06:43:27 PST 2018


philip.pfaffe added a comment.

In D54394#1320024 <https://reviews.llvm.org/D54394#1320024>, @fedor.sergeev wrote:

> > - Make a free function for creating the global constructor function
> > - The opt tool calls this function when passing a command line option
>
> What is the benefit of having free function compared to having  a module-level pass that does the same?


Having a pass introduces dependencies between passes, which I find unsetteling. I.e. when you use the asan pass, you _must_ also use the asan-init pass, or otherwise you end up with IR that you can't compile without linker errors. That being said, the same is of course true when using the command line argument approach, so asan-init might not be the worst at the end of the day.

> This is really unfortunate. What about introducing (a module level) analysis?
>  It will have to be force-run on module level, but then we will be able to rely on AnalysisManager in terms of per-Module-per-Pipeline memory management.

The same argument I raised on D54337 <https://reviews.llvm.org/D54337>: You loose all the locality function pass pipelines give you.


Repository:
  rL LLVM

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

https://reviews.llvm.org/D54394





More information about the llvm-commits mailing list