[PATCH] D73513: [memtag] Plug in stack safety analysis.

Evgenii Stepanov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 27 17:32:43 PST 2020


eugenis added a comment.

To explain some design decisions:

The analysis is added to the IR pipeline and not to the AArch64 codegen pipeline mainly because we plan to extend it with ThinLTO support in the future. To do that, module summary builder will need to depend on the (function-)local stack safety analysis pass, and the global analysis result will be provided by the combined summary reader, and all of that must happen in the target-independent IR pipeline.

Another reason is that the legacy pass manager, which is still used for codegen, is not good at mixing function and module analyses. AFAIK a module pass that depends on function analysis will always produce an on-the-fly pass manager which can not reuse earlier analysis results; and a function pass can not depend on a module analysis at all (at least I could not make it work).

For these two reasons I opted not to use analysis manager framework to pass the safety information to AArch64StackTaggingPass, and chose to use alloca metadata instead.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D73513





More information about the llvm-commits mailing list