[PATCH] D86310: [X86] Align i128 to 16 bytes in x86 datalayouts

Harald van Dijk via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Oct 8 18:24:59 PDT 2023


hvdijk added inline comments.


================
Comment at: llvm/lib/IR/AutoUpgrade.cpp:5233
+      SmallVector<StringRef, 4> Groups;
+      Regex R("(.*-i64:64)(-.*)");
+      if (R.match(Res, &Groups))
----------------
hvdijk wrote:
> nikic wrote:
> > I don't think this will work for the 32-bit targets that don't have `-i64:64`.
> Oh, you're right, thanks. That was intentional but wrong: there is a test that we do not upgrade data layout strings that do not look sufficiently close to valid, and this was intended to address that. But this also avoids it for data layout strings that do need upgrading. I'll have to figure out how to handle both; will update when I know how.
This should now be fixed. X86 data layout strings always have their components in the same order, `mpifnaS`, where some may be omitted. I make use of this by looking for any leading `-m`/`-p`/`-i` components and inserting `-i128:128` after the last of those.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D86310/new/

https://reviews.llvm.org/D86310



More information about the cfe-commits mailing list