[llvm-bugs] [Bug 50386] New: SystemZ data layout shouldn't depend on target features
via llvm-bugs
llvm-bugs at lists.llvm.org
Tue May 18 08:10:35 PDT 2021
https://bugs.llvm.org/show_bug.cgi?id=50386
Bug ID: 50386
Summary: SystemZ data layout shouldn't depend on target
features
Product: libraries
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: Backend: SystemZ
Assignee: unassignedbugs at nondot.org
Reporter: aaronpuchert at alice-dsl.net
CC: llvm-bugs at lists.llvm.org
The SystemZ backend uses different target layouts depending on target features,
specifically it adds v128:64 if vector extensions are used. This means that
modules with different target features are not ABI-compatible, and would for
example prevent a library using different features than an application. This is
unprecedented and unexpected.
The commit message in ce4c10958502 states that
However, for compatibility with old code that may use vector types, when
*not* using the vector facility, the old alignment rules (vector types
are naturally aligned) remain in use.
but I don't think that having the data layout feature-dependent helps
compatibility either.
This issue surfaces e.g. in Postgres, where static modules are compiled with
the default feature set, but the runtime JIT uses the feature set of the host.
Subsequently JITted code and the static modules are incompatible.
In my view the "Vector ABI" should be made the default, or whether it is being
used should be made part of the target triple. In any event, the data layout
should not depend on the feature set and modules compiled with different
features should be compatible. (And run on hardware that supports all of the
features.)
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20210518/bf897adf/attachment-0001.html>
More information about the llvm-bugs
mailing list