This is an archive of the discontinued LLVM Phabricator instance.

Fix alignment in AArch64InstructionSelector::emitConstantPoolEntry()
ClosedPublic

Authored by hans on Apr 25 2019, 3:09 AM.

Details

Summary

The code was using the alignment of a pointer to the constant, not the
alignment of the constant itself.

I guess we got away with it so far because the pointer alignment is
fairly high, but we did end up under-aligning <16 x i8> vectors,
which was caught in the Chromium build (crbug.com/953815).

Please take a look.
+Amara who added the code in r354616, and Tim for general AArch64 goodness maybe in a closer timezone.

Diff Detail

Event Timeline

hans created this revision.Apr 25 2019, 3:09 AM
hans added a comment.Apr 26 2019, 1:24 AM

I'll commit this now since it seems like an obvious fix. Happy to take post-commit review comments.

This revision was not accepted when it landed; it landed in state Needs Review.Apr 26 2019, 1:29 AM
This revision was automatically updated to reflect the committed changes.

Yep. Very simple.

Hi Hans,

Thanks for doing this. Sorry I’m on vacation at the moment so didn’t see it.

Cheers,
Amara