[LLVMdev] Intel Memory Protection Extensions (and types question)

David Chisnall David.Chisnall at cl.cam.ac.uk
Tue Sep 10 05:29:53 PDT 2013

On 10 Sep 2013, at 12:13, Kostya Serebryany <kcc at google.com> wrote:

> Well, ok, you can treat this as a 192-bit fat pointer, but AFAICT this is not the real intention of the MPX developers
> since a fat pointer will break all ABIs, and MPX tries to preserve them.

MPX is an implementation of the HardBound concept from UPenn, where this was a design goal (see also their 'low-fat pointers' work).  

> I don't think we need fat pointers to support MPX in LLVM -- it will complicate the implementation beyond necessity. (My 2c)

Fat pointers, however, are required for other architectures (including ours) and it would be nice to use the same general representation for all implementations of bounds-checked pointers (whether you call them fat pointers or not).

> All we need is to represent a 128-bit type that will live in BNDx registers.

Only if you want to push all of the work into the front end.


More information about the llvm-dev mailing list