diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig index c16e07ab6b..9a6d1b2421 100644 --- a/src/codegen/llvm.zig +++ b/src/codegen/llvm.zig @@ -10509,16 +10509,17 @@ fn llvmAddrSpaceInfo(target: std.Target) []const AddrSpaceInfo { .{ .zig = .constant, .llvm = Builder.AddrSpace.amdgpu.constant, .force_in_data_layout = true }, .{ .zig = .local, .llvm = Builder.AddrSpace.amdgpu.private, .size = 32, .abi = 32 }, .{ .zig = null, .llvm = Builder.AddrSpace.amdgpu.constant_32bit, .size = 32, .abi = 32 }, - .{ .zig = null, .llvm = Builder.AddrSpace.amdgpu.buffer_fat_pointer, .non_integral = true }, + .{ .zig = null, .llvm = Builder.AddrSpace.amdgpu.buffer_fat_pointer, .non_integral = true, .size = 160, .abi = 256, .idx = 32 }, + .{ .zig = null, .llvm = Builder.AddrSpace.amdgpu.buffer_resource, .non_integral = true, .size = 128, .abi = 128 }, }, .avr => &.{ .{ .zig = .generic, .llvm = .default, .abi = 8 }, - .{ .zig = .flash, .llvm = Builder.AddrSpace.avr.flash, .abi = 8 }, - .{ .zig = .flash1, .llvm = Builder.AddrSpace.avr.flash1, .abi = 8 }, - .{ .zig = .flash2, .llvm = Builder.AddrSpace.avr.flash2, .abi = 8 }, - .{ .zig = .flash3, .llvm = Builder.AddrSpace.avr.flash3, .abi = 8 }, - .{ .zig = .flash4, .llvm = Builder.AddrSpace.avr.flash4, .abi = 8 }, - .{ .zig = .flash5, .llvm = Builder.AddrSpace.avr.flash5, .abi = 8 }, + .{ .zig = .flash, .llvm = Builder.AddrSpace.avr.program, .abi = 8 }, + .{ .zig = .flash1, .llvm = Builder.AddrSpace.avr.program1, .abi = 8 }, + .{ .zig = .flash2, .llvm = Builder.AddrSpace.avr.program2, .abi = 8 }, + .{ .zig = .flash3, .llvm = Builder.AddrSpace.avr.program3, .abi = 8 }, + .{ .zig = .flash4, .llvm = Builder.AddrSpace.avr.program4, .abi = 8 }, + .{ .zig = .flash5, .llvm = Builder.AddrSpace.avr.program5, .abi = 8 }, }, .wasm32, .wasm64 => &.{ .{ .zig = .generic, .llvm = .default, .force_in_data_layout = true }, diff --git a/src/codegen/llvm/Builder.zig b/src/codegen/llvm/Builder.zig index b35441858d..e3e1fb5ad9 100644 --- a/src/codegen/llvm/Builder.zig +++ b/src/codegen/llvm/Builder.zig @@ -1873,12 +1873,13 @@ pub const AddrSpace = enum(u24) { // See llvm/lib/Target/AVR/AVR.h pub const avr = struct { - pub const flash: AddrSpace = @enumFromInt(1); - pub const flash1: AddrSpace = @enumFromInt(2); - pub const flash2: AddrSpace = @enumFromInt(3); - pub const flash3: AddrSpace = @enumFromInt(4); - pub const flash4: AddrSpace = @enumFromInt(5); - pub const flash5: AddrSpace = @enumFromInt(6); + pub const data: AddrSpace = @enumFromInt(0); + pub const program: AddrSpace = @enumFromInt(1); + pub const program1: AddrSpace = @enumFromInt(2); + pub const program2: AddrSpace = @enumFromInt(3); + pub const program3: AddrSpace = @enumFromInt(4); + pub const program4: AddrSpace = @enumFromInt(5); + pub const program5: AddrSpace = @enumFromInt(6); }; // See llvm/lib/Target/NVPTX/NVPTX.h @@ -1901,6 +1902,7 @@ pub const AddrSpace = enum(u24) { pub const private: AddrSpace = @enumFromInt(5); pub const constant_32bit: AddrSpace = @enumFromInt(6); pub const buffer_fat_pointer: AddrSpace = @enumFromInt(7); + pub const buffer_resource: AddrSpace = @enumFromInt(8); pub const param_d: AddrSpace = @enumFromInt(6); pub const param_i: AddrSpace = @enumFromInt(7); pub const constant_buffer_0: AddrSpace = @enumFromInt(8); @@ -1921,7 +1923,7 @@ pub const AddrSpace = enum(u24) { pub const constant_buffer_15: AddrSpace = @enumFromInt(23); }; - // See llvm/lib/Target/WebAssembly/Utils/WebAssemblyTypeUtilities.h + // See llvm/include/llvm/CodeGen/WasmAddressSpaces.h pub const wasm = struct { pub const variable: AddrSpace = @enumFromInt(1); pub const externref: AddrSpace = @enumFromInt(10);