authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2024-11-03 09:20:28+01:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2024-11-03 13:44:38+01:00
log947b7195bf4628cc4658fec9e2f5b30a1318132b
treea446f42297fae28a3a8eae2af106b415ce703e9e
parent53d7a7b3c023f0c26ae7ecc070645096d9adb3dd

llvm: Update the list of address spaces for LLVM 19.

Mainly affects amdgcn.

2 files changed, 35 insertions(+), 3 deletions(-)

src/codegen/llvm.zig+21-3
...@@ -11853,7 +11853,7 @@ fn llvmAddrSpaceInfo(target: std.Target) []const AddrSpaceInfo {...@@ -11853,7 +11853,7 @@ fn llvmAddrSpaceInfo(target: std.Target) []const AddrSpaceInfo {
11853 .{ .zig = null, .llvm = Builder.AddrSpace.x86.ptr64, .size = 64, .abi = 64, .force_in_data_layout = true },11853 .{ .zig = null, .llvm = Builder.AddrSpace.x86.ptr64, .size = 64, .abi = 64, .force_in_data_layout = true },
11854 },11854 },
11855 .nvptx, .nvptx64 => &.{11855 .nvptx, .nvptx64 => &.{
11856 .{ .zig = .generic, .llvm = .default },11856 .{ .zig = .generic, .llvm = Builder.AddrSpace.nvptx.generic },
11857 .{ .zig = .global, .llvm = Builder.AddrSpace.nvptx.global },11857 .{ .zig = .global, .llvm = Builder.AddrSpace.nvptx.global },
11858 .{ .zig = .constant, .llvm = Builder.AddrSpace.nvptx.constant },11858 .{ .zig = .constant, .llvm = Builder.AddrSpace.nvptx.constant },
11859 .{ .zig = .param, .llvm = Builder.AddrSpace.nvptx.param },11859 .{ .zig = .param, .llvm = Builder.AddrSpace.nvptx.param },
...@@ -11870,9 +11870,27 @@ fn llvmAddrSpaceInfo(target: std.Target) []const AddrSpaceInfo {...@@ -11870,9 +11870,27 @@ fn llvmAddrSpaceInfo(target: std.Target) []const AddrSpaceInfo {
11870 .{ .zig = null, .llvm = Builder.AddrSpace.amdgpu.constant_32bit, .size = 32, .abi = 32 },11870 .{ .zig = null, .llvm = Builder.AddrSpace.amdgpu.constant_32bit, .size = 32, .abi = 32 },
11871 .{ .zig = null, .llvm = Builder.AddrSpace.amdgpu.buffer_fat_pointer, .non_integral = true, .size = 160, .abi = 256, .idx = 32 },11871 .{ .zig = null, .llvm = Builder.AddrSpace.amdgpu.buffer_fat_pointer, .non_integral = true, .size = 160, .abi = 256, .idx = 32 },
11872 .{ .zig = null, .llvm = Builder.AddrSpace.amdgpu.buffer_resource, .non_integral = true, .size = 128, .abi = 128 },11872 .{ .zig = null, .llvm = Builder.AddrSpace.amdgpu.buffer_resource, .non_integral = true, .size = 128, .abi = 128 },
11873 .{ .zig = null, .llvm = Builder.AddrSpace.amdgpu.buffer_strided_pointer, .non_integral = true, .size = 192, .abi = 256, .idx = 32 },
11874 .{ .zig = null, .llvm = Builder.AddrSpace.amdgpu.constant_buffer_0 },
11875 .{ .zig = null, .llvm = Builder.AddrSpace.amdgpu.constant_buffer_1 },
11876 .{ .zig = null, .llvm = Builder.AddrSpace.amdgpu.constant_buffer_2 },
11877 .{ .zig = null, .llvm = Builder.AddrSpace.amdgpu.constant_buffer_3 },
11878 .{ .zig = null, .llvm = Builder.AddrSpace.amdgpu.constant_buffer_4 },
11879 .{ .zig = null, .llvm = Builder.AddrSpace.amdgpu.constant_buffer_5 },
11880 .{ .zig = null, .llvm = Builder.AddrSpace.amdgpu.constant_buffer_6 },
11881 .{ .zig = null, .llvm = Builder.AddrSpace.amdgpu.constant_buffer_7 },
11882 .{ .zig = null, .llvm = Builder.AddrSpace.amdgpu.constant_buffer_8 },
11883 .{ .zig = null, .llvm = Builder.AddrSpace.amdgpu.constant_buffer_9 },
11884 .{ .zig = null, .llvm = Builder.AddrSpace.amdgpu.constant_buffer_10 },
11885 .{ .zig = null, .llvm = Builder.AddrSpace.amdgpu.constant_buffer_11 },
11886 .{ .zig = null, .llvm = Builder.AddrSpace.amdgpu.constant_buffer_12 },
11887 .{ .zig = null, .llvm = Builder.AddrSpace.amdgpu.constant_buffer_13 },
11888 .{ .zig = null, .llvm = Builder.AddrSpace.amdgpu.constant_buffer_14 },
11889 .{ .zig = null, .llvm = Builder.AddrSpace.amdgpu.constant_buffer_15 },
11890 .{ .zig = null, .llvm = Builder.AddrSpace.amdgpu.streamout_register },
11873 },11891 },
11874 .avr => &.{11892 .avr => &.{
11875 .{ .zig = .generic, .llvm = .default, .abi = 8 },11893 .{ .zig = .generic, .llvm = Builder.AddrSpace.avr.data, .abi = 8 },
11876 .{ .zig = .flash, .llvm = Builder.AddrSpace.avr.program, .abi = 8 },11894 .{ .zig = .flash, .llvm = Builder.AddrSpace.avr.program, .abi = 8 },
11877 .{ .zig = .flash1, .llvm = Builder.AddrSpace.avr.program1, .abi = 8 },11895 .{ .zig = .flash1, .llvm = Builder.AddrSpace.avr.program1, .abi = 8 },
11878 .{ .zig = .flash2, .llvm = Builder.AddrSpace.avr.program2, .abi = 8 },11896 .{ .zig = .flash2, .llvm = Builder.AddrSpace.avr.program2, .abi = 8 },
...@@ -11881,7 +11899,7 @@ fn llvmAddrSpaceInfo(target: std.Target) []const AddrSpaceInfo {...@@ -11881,7 +11899,7 @@ fn llvmAddrSpaceInfo(target: std.Target) []const AddrSpaceInfo {
11881 .{ .zig = .flash5, .llvm = Builder.AddrSpace.avr.program5, .abi = 8 },11899 .{ .zig = .flash5, .llvm = Builder.AddrSpace.avr.program5, .abi = 8 },
11882 },11900 },
11883 .wasm32, .wasm64 => &.{11901 .wasm32, .wasm64 => &.{
11884 .{ .zig = .generic, .llvm = .default, .force_in_data_layout = true },11902 .{ .zig = .generic, .llvm = Builder.AddrSpace.wasm.default, .force_in_data_layout = true },
11885 .{ .zig = null, .llvm = Builder.AddrSpace.wasm.variable, .non_integral = true },11903 .{ .zig = null, .llvm = Builder.AddrSpace.wasm.variable, .non_integral = true },
11886 .{ .zig = null, .llvm = Builder.AddrSpace.wasm.externref, .non_integral = true, .size = 8, .abi = 8 },11904 .{ .zig = null, .llvm = Builder.AddrSpace.wasm.externref, .non_integral = true, .size = 8, .abi = 8 },
11887 .{ .zig = null, .llvm = Builder.AddrSpace.wasm.funcref, .non_integral = true, .size = 8, .abi = 8 },11905 .{ .zig = null, .llvm = Builder.AddrSpace.wasm.funcref, .non_integral = true, .size = 8, .abi = 8 },
src/codegen/llvm/Builder.zig+14
...@@ -1932,6 +1932,7 @@ pub const AddrSpace = enum(u24) {...@@ -1932,6 +1932,7 @@ pub const AddrSpace = enum(u24) {
1932 pub const constant_32bit: AddrSpace = @enumFromInt(6);1932 pub const constant_32bit: AddrSpace = @enumFromInt(6);
1933 pub const buffer_fat_pointer: AddrSpace = @enumFromInt(7);1933 pub const buffer_fat_pointer: AddrSpace = @enumFromInt(7);
1934 pub const buffer_resource: AddrSpace = @enumFromInt(8);1934 pub const buffer_resource: AddrSpace = @enumFromInt(8);
1935 pub const buffer_strided_pointer: AddrSpace = @enumFromInt(9);
1935 pub const param_d: AddrSpace = @enumFromInt(6);1936 pub const param_d: AddrSpace = @enumFromInt(6);
1936 pub const param_i: AddrSpace = @enumFromInt(7);1937 pub const param_i: AddrSpace = @enumFromInt(7);
1937 pub const constant_buffer_0: AddrSpace = @enumFromInt(8);1938 pub const constant_buffer_0: AddrSpace = @enumFromInt(8);
...@@ -1950,10 +1951,23 @@ pub const AddrSpace = enum(u24) {...@@ -1950,10 +1951,23 @@ pub const AddrSpace = enum(u24) {
1950 pub const constant_buffer_13: AddrSpace = @enumFromInt(21);1951 pub const constant_buffer_13: AddrSpace = @enumFromInt(21);
1951 pub const constant_buffer_14: AddrSpace = @enumFromInt(22);1952 pub const constant_buffer_14: AddrSpace = @enumFromInt(22);
1952 pub const constant_buffer_15: AddrSpace = @enumFromInt(23);1953 pub const constant_buffer_15: AddrSpace = @enumFromInt(23);
1954 pub const streamout_register: AddrSpace = @enumFromInt(128);
1955 };
1956
1957 pub const spirv = struct {
1958 pub const function: AddrSpace = @enumFromInt(0);
1959 pub const cross_workgroup: AddrSpace = @enumFromInt(1);
1960 pub const uniform_constant: AddrSpace = @enumFromInt(2);
1961 pub const workgroup: AddrSpace = @enumFromInt(3);
1962 pub const generic: AddrSpace = @enumFromInt(4);
1963 pub const device_only_intel: AddrSpace = @enumFromInt(5);
1964 pub const host_only_intel: AddrSpace = @enumFromInt(6);
1965 pub const input: AddrSpace = @enumFromInt(7);
1953 };1966 };
19541967
1955 // See llvm/include/llvm/CodeGen/WasmAddressSpaces.h1968 // See llvm/include/llvm/CodeGen/WasmAddressSpaces.h
1956 pub const wasm = struct {1969 pub const wasm = struct {
1970 pub const default: AddrSpace = @enumFromInt(0);
1957 pub const variable: AddrSpace = @enumFromInt(1);1971 pub const variable: AddrSpace = @enumFromInt(1);
1958 pub const externref: AddrSpace = @enumFromInt(10);1972 pub const externref: AddrSpace = @enumFromInt(10);
1959 pub const funcref: AddrSpace = @enumFromInt(20);1973 pub const funcref: AddrSpace = @enumFromInt(20);