fixed 3.6 llvm build in type.cpp
This commit is contained in:
15
alloy.py
15
alloy.py
@@ -111,6 +111,9 @@ def build_LLVM(version_LLVM, revision, folder, tarball, debug, selfbuild, extra,
|
|||||||
FOLDER_NAME=version_LLVM
|
FOLDER_NAME=version_LLVM
|
||||||
if version_LLVM == "trunk":
|
if version_LLVM == "trunk":
|
||||||
SVN_PATH="trunk"
|
SVN_PATH="trunk"
|
||||||
|
if version_LLVM == "3.5":
|
||||||
|
SVN_PATH="tags/RELEASE_35/rc1"
|
||||||
|
version_LLVM = "3_5"
|
||||||
if version_LLVM == "3.4":
|
if version_LLVM == "3.4":
|
||||||
SVN_PATH="tags/RELEASE_34/dot2-final"
|
SVN_PATH="tags/RELEASE_34/dot2-final"
|
||||||
version_LLVM = "3_4"
|
version_LLVM = "3_4"
|
||||||
@@ -351,8 +354,10 @@ def build_ispc(version_LLVM, make):
|
|||||||
temp = "3_3"
|
temp = "3_3"
|
||||||
if version_LLVM == "3.4":
|
if version_LLVM == "3.4":
|
||||||
temp = "3_4"
|
temp = "3_4"
|
||||||
if version_LLVM == "trunk":
|
if version_LLVM == "3.5":
|
||||||
temp = "3_5"
|
temp = "3_5"
|
||||||
|
if version_LLVM == "trunk":
|
||||||
|
temp = "3_6"
|
||||||
os.environ["LLVM_VERSION"] = "LLVM_" + temp
|
os.environ["LLVM_VERSION"] = "LLVM_" + temp
|
||||||
try_do_LLVM("clean ISPC for building", "msbuild ispc.vcxproj /t:clean", True)
|
try_do_LLVM("clean ISPC for building", "msbuild ispc.vcxproj /t:clean", True)
|
||||||
try_do_LLVM("build ISPC with LLVM version " + version_LLVM + " ", "msbuild ispc.vcxproj /V:m /p:Platform=Win32 /p:Configuration=Release /t:rebuild", True)
|
try_do_LLVM("build ISPC with LLVM version " + version_LLVM + " ", "msbuild ispc.vcxproj /V:m /p:Platform=Win32 /p:Configuration=Release /t:rebuild", True)
|
||||||
@@ -454,7 +459,7 @@ def validation_run(only, only_targets, reference_branch, number, notify, update,
|
|||||||
archs.append("x86-64")
|
archs.append("x86-64")
|
||||||
if "native" in only:
|
if "native" in only:
|
||||||
sde_targets_t = []
|
sde_targets_t = []
|
||||||
for i in ["3.1", "3.2", "3.3", "3.4", "trunk"]:
|
for i in ["3.1", "3.2", "3.3", "3.4", "3.5", "trunk"]:
|
||||||
if i in only:
|
if i in only:
|
||||||
LLVM.append(i)
|
LLVM.append(i)
|
||||||
if "current" in only:
|
if "current" in only:
|
||||||
@@ -707,7 +712,7 @@ def Main():
|
|||||||
if os.environ.get("SMTP_ISPC") == None:
|
if os.environ.get("SMTP_ISPC") == None:
|
||||||
error("you have no SMTP_ISPC in your environment for option notify", 1)
|
error("you have no SMTP_ISPC in your environment for option notify", 1)
|
||||||
if options.only != "":
|
if options.only != "":
|
||||||
test_only_r = " 3.1 3.2 3.3 3.4 trunk current build stability performance x86 x86-64 -O0 -O2 native "
|
test_only_r = " 3.1 3.2 3.3 3.4 3.5 trunk current build stability performance x86 x86-64 -O0 -O2 native "
|
||||||
test_only = options.only.split(" ")
|
test_only = options.only.split(" ")
|
||||||
for iterator in test_only:
|
for iterator in test_only:
|
||||||
if not (" " + iterator + " " in test_only_r):
|
if not (" " + iterator + " " in test_only_r):
|
||||||
@@ -816,7 +821,7 @@ if __name__ == '__main__':
|
|||||||
llvm_group = OptionGroup(parser, "Options for building LLVM",
|
llvm_group = OptionGroup(parser, "Options for building LLVM",
|
||||||
"These options must be used with -b option.")
|
"These options must be used with -b option.")
|
||||||
llvm_group.add_option('--version', dest='version',
|
llvm_group.add_option('--version', dest='version',
|
||||||
help='version of llvm to build: 3.1 3.2 3.3 3.4 trunk. Default: trunk', default="trunk")
|
help='version of llvm to build: 3.1 3.2 3.3 3.4 3.5 trunk. Default: trunk', default="trunk")
|
||||||
llvm_group.add_option('--revision', dest='revision',
|
llvm_group.add_option('--revision', dest='revision',
|
||||||
help='revision of llvm to build in format r172870', default="")
|
help='revision of llvm to build in format r172870', default="")
|
||||||
llvm_group.add_option('--debug', dest='debug',
|
llvm_group.add_option('--debug', dest='debug',
|
||||||
@@ -851,7 +856,7 @@ if __name__ == '__main__':
|
|||||||
run_group.add_option('--only', dest='only',
|
run_group.add_option('--only', dest='only',
|
||||||
help='set types of tests. Possible values:\n' +
|
help='set types of tests. Possible values:\n' +
|
||||||
'-O0, -O2, x86, x86-64, stability (test only stability), performance (test only performance)\n' +
|
'-O0, -O2, x86, x86-64, stability (test only stability), performance (test only performance)\n' +
|
||||||
'build (only build with different LLVM), 3.1, 3.2, 3.3, 3.4, trunk, native (do not use SDE), current (do not rebuild ISPC).',
|
'build (only build with different LLVM), 3.1, 3.2, 3.3, 3.4 3.5, trunk, native (do not use SDE), current (do not rebuild ISPC).',
|
||||||
default="")
|
default="")
|
||||||
run_group.add_option('--perf_LLVM', dest='perf_llvm',
|
run_group.add_option('--perf_LLVM', dest='perf_llvm',
|
||||||
help='compare LLVM 3.3 with "--compare-with", default trunk', default=False, action='store_true')
|
help='compare LLVM 3.3 with "--compare-with", default trunk', default=False, action='store_true')
|
||||||
|
|||||||
@@ -77,7 +77,8 @@ If you are not using pre-built binaries, you may notice the following changes:
|
|||||||
This is a preferred way to build LLVM for ISPC, as all required patches for
|
This is a preferred way to build LLVM for ISPC, as all required patches for
|
||||||
better performance and stability will automatically apply.
|
better performance and stability will automatically apply.
|
||||||
|
|
||||||
* LLVM 3.5 (current trunk) is supported.
|
* LLVM 3.5 is supported.
|
||||||
|
* LLVM 3.6 (current trunk) is supported.
|
||||||
|
|
||||||
There are also multiple fixes for better performance and stability, most
|
There are also multiple fixes for better performance and stability, most
|
||||||
notable are:
|
notable are:
|
||||||
|
|||||||
7
type.cpp
7
type.cpp
@@ -2994,9 +2994,14 @@ FunctionType::GetDIType(llvm::DIDescriptor scope) const {
|
|||||||
#endif
|
#endif
|
||||||
retArgTypes.push_back(t->GetDIType(scope));
|
retArgTypes.push_back(t->GetDIType(scope));
|
||||||
}
|
}
|
||||||
|
#if defined(LLVM_3_6)
|
||||||
|
llvm::DITypeArray retArgTypesArray =
|
||||||
|
m->diBuilder->getOrCreateTypeArray(llvm::ArrayRef<llvm::Value *>(retArgTypes));
|
||||||
|
#else
|
||||||
llvm::DIArray retArgTypesArray =
|
llvm::DIArray retArgTypesArray =
|
||||||
m->diBuilder->getOrCreateArray(llvm::ArrayRef<llvm::Value *>(retArgTypes));
|
m->diBuilder->getOrCreateArray(llvm::ArrayRef<llvm::Value *>(retArgTypes));
|
||||||
|
#endif
|
||||||
|
|
||||||
llvm::DIType diType =
|
llvm::DIType diType =
|
||||||
// FIXME: DIFile
|
// FIXME: DIFile
|
||||||
m->diBuilder->createSubroutineType(llvm::DIFile(), retArgTypesArray);
|
m->diBuilder->createSubroutineType(llvm::DIFile(), retArgTypesArray);
|
||||||
|
|||||||
Reference in New Issue
Block a user