[LLVMdev] LLD: representation of a power of two value

Nick Kledzik kledzik at apple.com
Tue Mar 24 17:40:23 PDT 2015

On Mar 24, 2015, at 5:09 PM, Rui Ueyama <ruiu at google.com> wrote:

> It's not a big deal, but it always annoyed me a bit when I hit it, so I'll bring it up here.
> LLD represents an alignment X as log2(X) in some places and just X in other places. It's a bit confusing. Because I always think alignments in my mind in terms of 1, 2, 4, 8, ..., instead of 2^1, 2^2, 2^3, ..., I'd like to propose to always use real values.
Can you give some examples?

The DefinedAtom class has struct:
    struct Alignment {
        uint16_t powerOf2;
        uint16_t modulus;

That use seems clear.   But, yes, if there is “int alignment” somewhere, that is ambiguous.


More information about the llvm-dev mailing list