[llvm-dev] Intel MPX support (instrumentation pass similar to gcc's Pointer Checker)

Kostya Serebryany via llvm-dev llvm-dev at lists.llvm.org
Thu Feb 4 10:40:07 PST 2016


On Thu, Feb 4, 2016 at 4:59 AM, Dmitrii Kuvaiskii <
Dmitrii.Kuvaiskii at tu-dresden.de> wrote:

> >> Recently I played with MPX support on Intel C/C++ Compiler (icc). This
> >> implementation looks *much* better, with the following example
> >> overheads: 1.2X on "raytrace", 1.25X on "bodytrack", 1.08X on
> >> "streamcluster". So the common overheads are in the range of 15%-25%!
> > That's interesting.
> > Are you sure you are instrumenting both reads and writes with icc?
>
> Yes, here are the exact flags I add to the usual build configuration:
>   -xHOST -check-pointers-mpx:rw
>

Interesting, looking forward to reading your report!

>
> Note "rw" which stands for protecting read and write accesses. In the
> future, I will analyze how different flags affect ASan / SoftBoundCETS
> / gcc-mpx / icc-mpx.
> I will also use a set of microbenchmarks/benchmarks (e.g., RIPE) to
> test the protection provided.
>
> > SPEC2006 is well know so it could be useful. Especially 483.xalancbmk
> > Besides, maybe you could take something that is not strictly a benchmark.
> > E.g. take pdfium_test (https://pdfium.googlesource.com/pdfium/) and feed
> > several large pdf files to it.
>
> Thanks, I will report the SPEC2006 numbers as well.
>
>
Note that SPEC2006 has several know bugs that trigger under asan.
https://github.com/google/sanitizers/wiki/AddressSanitizerRunningSpecBenchmarks
has a patch that makes SPEC2006 pass with asan.
Some of these bugs and maybe others may also trigger with an MPX checker.

--kcc

--
> Yours sincerely,
> Dmitrii Kuvaiskii
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160204/f8ce156c/attachment.html>


More information about the llvm-dev mailing list