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

Dmitrii Kuvaiskii via llvm-dev llvm-dev at lists.llvm.org
Thu Feb 4 04:59:31 PST 2016

>> 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

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.

Yours sincerely,
Dmitrii Kuvaiskii

More information about the llvm-dev mailing list