Allow ocloc to link files

Added 'link' option to ocloc CLI, which allows linking of
several IR files to single output file. Supported formats
of output file are ELF and LLVM BC.

Related-To: NEO-6163
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
This commit is contained in:
Patryk Wrobel
2022-01-12 15:27:20 +00:00
committed by Compute-Runtime-Automation
parent 504b49effa
commit 53482e6821
24 changed files with 1747 additions and 93 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2018-2021 Intel Corporation
* Copyright (C) 2018-2022 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
@@ -521,6 +521,10 @@ IGC::OclTranslationOutputBase *MockIgcOclTranslationCtx::TranslateImpl(
CIF::Builtins::BufferSimple *internalOptions,
CIF::Builtins::BufferSimple *tracingOptions,
uint32_t tracingOptionsCount) {
if (igcDebugVars->shouldReturnInvalidTranslationOutput) {
return nullptr;
}
auto out = new MockOclTranslationOutput();
translate(true, src, options, internalOptions, out);
return out;
@@ -534,6 +538,10 @@ IGC::OclTranslationOutputBase *MockIgcOclTranslationCtx::TranslateImpl(
CIF::Builtins::BufferSimple *tracingOptions,
uint32_t tracingOptionsCount,
void *gtpinInput) {
if (igcDebugVars->shouldReturnInvalidTranslationOutput) {
return nullptr;
}
auto out = new MockOclTranslationOutput();
translate(true, src, options, internalOptions, out);
return out;
@@ -556,6 +564,10 @@ IGC::OclTranslationOutputBase *MockIgcOclTranslationCtx::TranslateImpl(
CIF::Builtins::BufferSimple *tracingOptions,
uint32_t tracingOptionsCount,
void *gtPinInput) {
if (igcDebugVars->shouldReturnInvalidTranslationOutput) {
return nullptr;
}
auto out = new MockOclTranslationOutput();
translate(true, src, options, internalOptions, out);
return out;
@@ -618,6 +630,10 @@ IGC::OclTranslationOutputBase *MockFclOclTranslationCtx::TranslateImpl(
CIF::Builtins::BufferSimple *internalOptions,
CIF::Builtins::BufferSimple *tracingOptions,
uint32_t tracingOptionsCount) {
if (fclDebugVars->shouldReturnInvalidTranslationOutput) {
return nullptr;
}
auto out = new MockOclTranslationOutput();
translate(false, src, options, internalOptions, out);
return out;

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2018-2021 Intel Corporation
* Copyright (C) 2018-2022 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
@@ -25,6 +25,7 @@ struct MockCompilerDebugVars {
bindful,
bindless
};
bool shouldReturnInvalidTranslationOutput = false;
bool forceBuildFailure = false;
bool forceCreateFailure = false;
bool forceRegisterFail = false;