Skip to content

Commit 8c02e45

Browse files
authored
Merge pull request #516 from JuliaLLVM/tb/globalstring_addrspace
Emit global strings in the correct address space.
2 parents 49eabed + 764cc59 commit 8c02e45

File tree

14 files changed

+114
-63
lines changed

14 files changed

+114
-63
lines changed

Project.toml

Lines changed: 2 additions & 2 deletions
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"
@@ -19,7 +19,7 @@ BFloat16sExt = "BFloat16s"
1919
[compat]
2020
BFloat16s = "0.4, 0.5"
2121
CEnum = "0.2, 0.3, 0.4, 0.5"
22-
LLVMExtra_jll = "=0.0.36"
22+
LLVMExtra_jll = "=0.0.37"
2323
Libdl = "1.8"
2424
Preferences = "1.4"
2525
Printf = "1.8"

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: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -780,6 +780,8 @@ void LLVMSetAtomicSyncScopeID(LLVMValueRef AtomicInst, unsigned SSID) {
780780
setAtomicSyncScopeID(I, SSID);
781781
}
782782

783+
#endif
784+
783785

784786
//
785787
// more LLVMContextRef getters
@@ -797,4 +799,11 @@ LLVMContextRef LLVMGetBuilderContext(LLVMBuilderRef Builder) {
797799

798800
#endif
799801

800-
#endif
802+
803+
//
804+
// More DataLayout queries
805+
//
806+
807+
unsigned LLVMGlobalsAddressSpace(LLVMTargetDataRef TD) {
808+
return unwrap(TD)->getDefaultGlobalsAddressSpace();
809+
}

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)