[PATCH] [msan] Allow using a MemorySanitizer instance for functions across different modules

Keno Fischer kfischer at college.harvard.edu
Sat Apr 11 17:09:39 PDT 2015


REPOSITORY
  rL LLVM

================
Comment at: lib/Transforms/Instrumentation/MemorySanitizer.cpp:370
@@ -369,2 +369,2 @@
 
   IRBuilder<> IRB(*C);
----------------
eugenis wrote:
> Do we need to reinit C as well? What about things like DataLayout, TargetTriple (I'm looking at MemorySanitizer::doInitialization) etc? Where do we stop?
> 
> Perhaps it would be cleaner to detect the change of ModuleID and reinit everything?
> 
Hmm, I'm not sure. This was the only changes I needed to make it work for my use case, which is a single FunctionPassManager running over all my Functions independent of which module they're in. That works fine for every pass but msan, but perhaps somebody more familiar with the pass manager can chime in here what the actual expectation for a function pass is.

http://reviews.llvm.org/D8949

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list