[llvm-commits] [llvm] r160254 - in /llvm/trunk: lib/Transforms/Instrumentation/AddressSanitizer.cpp test/Instrumentation/AddressSanitizer/basic.ll

Joerg Sonnenberger joerg at britannica.bec.de
Tue Jul 17 02:08:53 PDT 2012


On Mon, Jul 16, 2012 at 05:34:56PM +0400, Kostya Serebryany wrote:
> First Chandler's suggestion was to replace this code with
> 
> if (*shadow1) { arg = addr1; goto report_read4; }
> if (*shadow2) { arg = addr2; goto report_read4; }
> if (*shadow3) { arg = addr3; goto report_read4; }
> return;
> report_read4:
>   __asan_report_read4(arg);

What about not using call directly for __asan_report_read4, but building
the stack frame with explicit push + jmp? At least for x86 that is
trivial to implement and not that much larger in terms of code.

Joerg



More information about the llvm-commits mailing list