[PATCH] D56470: [NewPM] Second attempt at porting ASan

Leonard Chan via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 8 18:59:33 PST 2019


leonardchan created this revision.
leonardchan added reviewers: chandlerc, fedor.sergeev, philip.pfaffe.
Herald added a subscriber: hiraditya.

This is the second attempt to port ASan to new PM after D52739 <https://reviews.llvm.org/D52739>. This takes the initialization requried by ASan from the Module by moving it into a separate class with it's own analysis that the new PM ASan can use.

Changes:

- Split AddressSanitizer into 2 passes: 1 for the instrumentation on the function, and 1 for the pass itself which creates an instance of the first during it's run. The same is done for AddressSanitizerModule.
- Add new PM AddressSanitizer and AddressSanitizerModule.
- Add legacy and new PM analyses for reading data needed to initialize ASan with.
- Removed DominatorTree dependency from ASan since it was unused.
- Move GlobalsMetadata and ShadowMapping out of anonymous namespace since the new PM analysis holds these 2 classes and will need to expose them.


Repository:
  rL LLVM

https://reviews.llvm.org/D56470

Files:
  llvm/include/llvm/InitializePasses.h
  llvm/include/llvm/Transforms/Instrumentation/AddressSanitizerPass.h
  llvm/lib/Passes/PassBuilder.cpp
  llvm/lib/Passes/PassRegistry.def
  llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
  llvm/lib/Transforms/Instrumentation/Instrumentation.cpp
  llvm/test/Instrumentation/AddressSanitizer/basic.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D56470.180780.patch
Type: text/x-patch
Size: 31727 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190109/770eca00/attachment.bin>


More information about the llvm-commits mailing list