[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