Currently IntervalMap would assert when used with keys bigger than host
pointers. This patch uses the AlignedCharArray functionality to overcome
that limitation.
The patch looks trivial enough, but the comment I'm removing was pretty
explicit about not supporting keys with bigger alignment than pointers,
thus I'm wondering if I'm not missing something.
Like llvm::Optional you could probably use AlignedCharArrayUnion to save you having to pull out the alignment and size explicitly?
AlignedCharArrayUnion<RootLeaf, RootBranchData> should give you something with sufficient size and alignment for either type, if I'm not mistaken