Skip to content

Commit c447e5a

Browse files
committed
Emit global strings in the correct address space.
1 parent 49eabed commit c447e5a

File tree

14 files changed

+112
-61
lines changed

14 files changed

+112
-61
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "LLVM"
22
uuid = "929cbde3-209d-540e-8aea-75f648917ca0"
3-
version = "9.4.0"
3+
version = "9.4.1"
44

55
[deps]
66
CEnum = "fa961155-64e5-5f13-b03f-caf6b980ea82"

deps/LLVMExtra/include/LLVMExtra.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,5 +255,8 @@ LLVMErrorRef LLVMRunJuliaPassesOnFunction(LLVMValueRef F, const char *Passes,
255255
LLVMPassBuilderOptionsRef Options,
256256
LLVMPassBuilderExtensionsRef Extensions);
257257

258+
// More DataLayout queries
259+
unsigned LLVMGlobalsAddressSpace(LLVMTargetDataRef TD);
260+
258261
LLVM_C_EXTERN_C_END
259262
#endif

deps/LLVMExtra/lib/Core.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -795,6 +795,15 @@ LLVMContextRef LLVMGetBuilderContext(LLVMBuilderRef Builder) {
795795
return wrap(&unwrap(Builder)->getContext());
796796
}
797797

798+
799+
//
800+
// More DataLayout queries
801+
//
802+
803+
unsigned LLVMGlobalsAddressSpace(LLVMTargetDataRef TD) {
804+
return unwrap(TD)->getDefaultGlobalsAddressSpace();
805+
}
806+
798807
#endif
799808

800809
#endif

docs/src/lib/codegen.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ dispose(::DataLayout)
3838
byteorder
3939
pointersize
4040
intptr
41+
globals_addrspace
4142
sizeof(::DataLayout, ::LLVMType)
4243
storage_size
4344
abi_size

docs/src/man/codegen.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,7 @@ generating IR:
153153
- `byteorder`
154154
- `pointersize`
155155
- `intptr`
156+
- `globals_addrspace`
156157
- `sizeof`
157158
- `storage_size`
158159
- `abi_alignment`

lib/15/libLLVM_extra.jl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -401,3 +401,7 @@ function LLVMRunJuliaPassesOnFunction(F, Passes, TM, Options, Extensions)
401401
ccall((:LLVMRunJuliaPassesOnFunction, libLLVMExtra), LLVMErrorRef, (LLVMValueRef, Cstring, LLVMTargetMachineRef, LLVMPassBuilderOptionsRef, LLVMPassBuilderExtensionsRef), F, Passes, TM, Options, Extensions)
402402
end
403403

404+
function LLVMGlobalsAddressSpace(TD)
405+
ccall((:LLVMGlobalsAddressSpace, libLLVMExtra), Cuint, (LLVMTargetDataRef,), TD)
406+
end
407+

lib/16/libLLVM_extra.jl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -401,3 +401,7 @@ function LLVMRunJuliaPassesOnFunction(F, Passes, TM, Options, Extensions)
401401
ccall((:LLVMRunJuliaPassesOnFunction, libLLVMExtra), LLVMErrorRef, (LLVMValueRef, Cstring, LLVMTargetMachineRef, LLVMPassBuilderOptionsRef, LLVMPassBuilderExtensionsRef), F, Passes, TM, Options, Extensions)
402402
end
403403

404+
function LLVMGlobalsAddressSpace(TD)
405+
ccall((:LLVMGlobalsAddressSpace, libLLVMExtra), Cuint, (LLVMTargetDataRef,), TD)
406+
end
407+

lib/17/libLLVM_extra.jl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -361,3 +361,7 @@ function LLVMRunJuliaPassesOnFunction(F, Passes, TM, Options, Extensions)
361361
ccall((:LLVMRunJuliaPassesOnFunction, libLLVMExtra), LLVMErrorRef, (LLVMValueRef, Cstring, LLVMTargetMachineRef, LLVMPassBuilderOptionsRef, LLVMPassBuilderExtensionsRef), F, Passes, TM, Options, Extensions)
362362
end
363363

364+
function LLVMGlobalsAddressSpace(TD)
365+
ccall((:LLVMGlobalsAddressSpace, libLLVMExtra), Cuint, (LLVMTargetDataRef,), TD)
366+
end
367+

lib/18/libLLVM_extra.jl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -295,3 +295,7 @@ function LLVMRunJuliaPassesOnFunction(F, Passes, TM, Options, Extensions)
295295
ccall((:LLVMRunJuliaPassesOnFunction, libLLVMExtra), LLVMErrorRef, (LLVMValueRef, Cstring, LLVMTargetMachineRef, LLVMPassBuilderOptionsRef, LLVMPassBuilderExtensionsRef), F, Passes, TM, Options, Extensions)
296296
end
297297

298+
function LLVMGlobalsAddressSpace(TD)
299+
ccall((:LLVMGlobalsAddressSpace, libLLVMExtra), Cuint, (LLVMTargetDataRef,), TD)
300+
end
301+

lib/19/libLLVM_extra.jl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -295,3 +295,7 @@ function LLVMRunJuliaPassesOnFunction(F, Passes, TM, Options, Extensions)
295295
ccall((:LLVMRunJuliaPassesOnFunction, libLLVMExtra), LLVMErrorRef, (LLVMValueRef, Cstring, LLVMTargetMachineRef, LLVMPassBuilderOptionsRef, LLVMPassBuilderExtensionsRef), F, Passes, TM, Options, Extensions)
296296
end
297297

298+
function LLVMGlobalsAddressSpace(TD)
299+
ccall((:LLVMGlobalsAddressSpace, libLLVMExtra), Cuint, (LLVMTargetDataRef,), TD)
300+
end
301+

0 commit comments

Comments
 (0)