Hi, On Fri, Apr 20, 2018 at 07:56:56AM +0200, Dmitry Vyukov wrote: > As a sanity check, I would count number of zeroing inserted by the > plugin it both cases and ensure that now it does not insert order of > magnitude more/less. It's easy with function calls (count them in > objdump output), not sure what's the easiest way to do it for inline > instrumentation. We could insert printf into the pass itself, but it > if runs before inlining and other optimization, it's not the final > number. I modified the structleak_plugin to count the number of initializations and output if the function was an inline function or not. The aggregated values are below. declared inline no yes ---------------------------------- early_optimizations: 12168 7114 *all_optimizations: 12554 13 These numbers seem appropriate. The structleak initializes in declared inline functions are redundant. > Also note that asan pass is at different locations in the pipeline > depending on optimization level: > https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/passes.def?view=markup The *all_optimizations pass happens before any of the asan pass locations so I think this shouldn't change those semantics. Thanks, Dennis