Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch DirectX Target to use the Itanium ABI #111632

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Commits on Oct 9, 2024

  1. Switch DirectX Target to use the Itanium ABI

    To consolidate behavior of function mangling and limit the number
    of places that ABI changes will need to be made, this switches the
    DirectX target used for HLSL to use the Itanium ABI from the
    Microsoft ABI. The Itanium ABI has greater flexibility in decisions
    regarding mangling of new types of which we have more than a few
    yet to add.
    
    This required adding a function to call all global destructors as
    the Microsoft ABI had done.
    
    This requires a few changes to tests. Most notably the mangling style
    has changed which accounts for most of the changes. In making those
    changes, I took the opportunity to harmonize some very similar tests
    for greater consistency. I also shaved off some unneeded run flags
    that had probably been copied over from one test to another.
    
    Other changes effected by using the new ABI include using smaller
    types when possible in a few instances, eliminating an unnecessary
    alloca in one instance in this-assignment.hlsl, and changing the
    order of inout parameters getting copied in and out.
    That last is a subtle change in functionality, but one where there
    was sufficient inconsistency in the past that standardizing is
    important, but the particular direction of the standardization is
    less important for the sake of existing shaders.
    
    fixes llvm#110736
    pow2clk committed Oct 9, 2024
    Configuration menu
    Copy the full SHA
    e5dec8b View commit details
    Browse the repository at this point in the history