[PATCH] D64931: Change X86 datalayout for three address spaces that specify pointer sizes.

Reid Kleckner via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Aug 8 11:35:41 PDT 2019


rnk added inline comments.


================
Comment at: clang/lib/Basic/Targets/OSTargets.h:771-772
     } else if (Triple.getArch() == llvm::Triple::x86) {
-      this->resetDataLayout("e-m:e-p:32:32-i64:64-n8:16:32-S128");
+      this->resetDataLayout("e-m:e-p:32:32-p253:32:32-p254:32:32-p255:64:64-"
+                            "i64:64-n8:16:32-S128");
     } else if (Triple.getArch() == llvm::Triple::x86_64) {
----------------
lebedev.ri wrote:
> I'd expect that this should be guarded by whatever flag is used for ms extensions.
> Put differently, i i'm not sure that when those extensions are not enabled, the datalayout should be changed?
As discussed in the RFC, other people find these address spaces generally useful, and there is no need to limit them to just Windows or *-windows-msvc targets. Making it conditional would require mirroring the same conditional into LLVM, because LLVM and clang have to agree on data layout.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D64931





More information about the cfe-commits mailing list