forked from OSchip/llvm-project
Restore support for llvm-3.9
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Acked-by: Aaron Watry <awatry@gmail.com> llvm-svn: 314543
This commit is contained in:
parent
f4bb480b62
commit
ce29e8cde1
|
@ -1 +1,4 @@
|
|||
workitem/get_num_groups.ll
|
||||
workitem/get_global_size.39.ll
|
||||
workitem/get_local_size.39.ll
|
||||
workitem/get_num_groups.39.ll
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
workitem/get_global_size.ll
|
||||
workitem/get_local_size.ll
|
||||
workitem/get_num_groups.ll
|
|
@ -0,0 +1,3 @@
|
|||
workitem/get_global_size.39.ll
|
||||
workitem/get_local_size.39.ll
|
||||
workitem/get_num_groups.39.ll
|
|
@ -0,0 +1,18 @@
|
|||
declare i32 @llvm.r600.read.global.size.x() nounwind readnone
|
||||
declare i32 @llvm.r600.read.global.size.y() nounwind readnone
|
||||
declare i32 @llvm.r600.read.global.size.z() nounwind readnone
|
||||
|
||||
define i32 @get_global_size(i32 %dim) nounwind readnone alwaysinline {
|
||||
switch i32 %dim, label %default [i32 0, label %x_dim i32 1, label %y_dim i32 2, label %z_dim]
|
||||
x_dim:
|
||||
%x = call i32 @llvm.r600.read.global.size.x()
|
||||
ret i32 %x
|
||||
y_dim:
|
||||
%y = call i32 @llvm.r600.read.global.size.y()
|
||||
ret i32 %y
|
||||
z_dim:
|
||||
%z = call i32 @llvm.r600.read.global.size.z()
|
||||
ret i32 %z
|
||||
default:
|
||||
ret i32 1
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
declare i32 @llvm.r600.read.local.size.x() nounwind readnone
|
||||
declare i32 @llvm.r600.read.local.size.y() nounwind readnone
|
||||
declare i32 @llvm.r600.read.local.size.z() nounwind readnone
|
||||
|
||||
define i32 @get_local_size(i32 %dim) nounwind readnone alwaysinline {
|
||||
switch i32 %dim, label %default [i32 0, label %x_dim i32 1, label %y_dim i32 2, label %z_dim]
|
||||
x_dim:
|
||||
%x = call i32 @llvm.r600.read.local.size.x()
|
||||
ret i32 %x
|
||||
y_dim:
|
||||
%y = call i32 @llvm.r600.read.local.size.y()
|
||||
ret i32 %y
|
||||
z_dim:
|
||||
%z = call i32 @llvm.r600.read.local.size.z()
|
||||
ret i32 %z
|
||||
default:
|
||||
ret i32 1
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
declare i32 @llvm.r600.read.ngroups.x() nounwind readnone
|
||||
declare i32 @llvm.r600.read.ngroups.y() nounwind readnone
|
||||
declare i32 @llvm.r600.read.ngroups.z() nounwind readnone
|
||||
|
||||
define i32 @get_num_groups(i32 %dim) nounwind readnone alwaysinline {
|
||||
switch i32 %dim, label %default [i32 0, label %x_dim i32 1, label %y_dim i32 2, label %z_dim]
|
||||
x_dim:
|
||||
%x = call i32 @llvm.r600.read.ngroups.x()
|
||||
ret i32 %x
|
||||
y_dim:
|
||||
%y = call i32 @llvm.r600.read.ngroups.y()
|
||||
ret i32 %y
|
||||
z_dim:
|
||||
%z = call i32 @llvm.r600.read.ngroups.z()
|
||||
ret i32 %z
|
||||
default:
|
||||
ret i32 1
|
||||
}
|
|
@ -0,0 +1,2 @@
|
|||
shared/vload_half_helpers.ll
|
||||
shared/vstore_half_helpers.ll
|
|
@ -72,8 +72,8 @@ llvm_version = llvm_config(['--version']).replace('svn', '').split('.')
|
|||
llvm_int_version = int(llvm_version[0]) * 100 + int(llvm_version[1]) * 10
|
||||
llvm_string_version = llvm_version[0] + '.' + llvm_version[1]
|
||||
|
||||
if llvm_int_version < 400:
|
||||
print("libclc requires LLVM >= 4.0")
|
||||
if llvm_int_version < 390:
|
||||
print("libclc requires LLVM >= 3.9")
|
||||
sys.exit(1)
|
||||
|
||||
llvm_system_libs = llvm_config(['--system-libs'])
|
||||
|
@ -109,9 +109,13 @@ available_targets = {
|
|||
'nvptx64--nvidiacl' : { 'devices' : [{'gpu' : '', 'aliases' : []} ]},
|
||||
}
|
||||
|
||||
available_targets['amdgcn-mesa-mesa3d'] = available_targets['amdgcn--']
|
||||
|
||||
default_targets = ['nvptx--nvidiacl', 'nvptx64--nvidiacl', 'r600--', 'amdgcn--', 'amdgcn--amdhsa', 'amdgcn-mesa-mesa3d']
|
||||
default_targets = ['nvptx--nvidiacl', 'nvptx64--nvidiacl', 'r600--', 'amdgcn--', 'amdgcn--amdhsa']
|
||||
|
||||
#mesa is using amdgcn-mesa-mesa3d since llvm-4.0
|
||||
if llvm_int_version > 390:
|
||||
available_targets['amdgcn-mesa-mesa3d'] = available_targets['amdgcn--']
|
||||
default_targets.append('amdgcn-mesa-mesa3d')
|
||||
|
||||
targets = args
|
||||
if not targets:
|
||||
|
@ -218,6 +222,8 @@ for target in targets:
|
|||
override_list_file = os.path.join(libdir, 'OVERRIDES')
|
||||
compat_list_file = os.path.join(libdir,
|
||||
'SOURCES_' + llvm_string_version)
|
||||
compat_list_override = os.path.join(libdir,
|
||||
'OVERRIDES_' + llvm_string_version)
|
||||
|
||||
# Build compat list
|
||||
if os.path.exists(compat_list_file):
|
||||
|
@ -225,6 +231,12 @@ for target in targets:
|
|||
compat = compat.rstrip()
|
||||
compats.append(compat)
|
||||
|
||||
# Add target compat overrides
|
||||
if os.path.exists(compat_list_override):
|
||||
for override in open(compat_list_override).readlines():
|
||||
override = override.rstrip()
|
||||
sources_seen.add(override)
|
||||
|
||||
# Add target overrides
|
||||
if os.path.exists(override_list_file):
|
||||
for override in open(override_list_file).readlines():
|
||||
|
|
|
@ -1,5 +1,10 @@
|
|||
#if HAVE_LLVM > 0x0390
|
||||
#include "llvm/Bitcode/BitcodeReader.h"
|
||||
#include "llvm/Bitcode/BitcodeWriter.h"
|
||||
#else
|
||||
#include "llvm/Bitcode/ReaderWriter.h"
|
||||
#endif
|
||||
|
||||
#include "llvm/IR/Function.h"
|
||||
#include "llvm/IR/GlobalVariable.h"
|
||||
#include "llvm/IR/LLVMContext.h"
|
||||
|
@ -41,8 +46,12 @@ int main(int argc, char **argv) {
|
|||
} else {
|
||||
std::unique_ptr<MemoryBuffer> &BufferPtr = BufferOrErr.get();
|
||||
ErrorOr<std::unique_ptr<Module>> ModuleOrErr =
|
||||
#if HAVE_LLVM > 0x0390
|
||||
expectedToErrorOrAndEmitErrors(Context,
|
||||
parseBitcodeFile(BufferPtr.get()->getMemBufferRef(), Context));
|
||||
#else
|
||||
parseBitcodeFile(BufferPtr.get()->getMemBufferRef(), Context);
|
||||
#endif
|
||||
if (std::error_code ec = ModuleOrErr.getError())
|
||||
ErrorMessage = ec.message();
|
||||
|
||||
|
|
Loading…
Reference in New Issue