mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-15 13:01:45 +08:00
Debug flag to append api module build options
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
This commit is contained in:

committed by
Compute-Runtime-Automation

parent
b2001bf265
commit
98db084b59
@ -583,8 +583,14 @@ bool ModuleImp::initialize(const ze_module_desc_t *desc, NEO::Device *neoDevice)
|
||||
this->translationUnit->shouldSuppressRebuildWarning = NEO::CompilerOptions::extract(NEO::CompilerOptions::noRecompiledFromIr, buildFlagsInput);
|
||||
this->createBuildOptions(buildFlagsInput.c_str(), buildOptions, internalBuildOptions);
|
||||
|
||||
if (type == ModuleType::User && NEO::DebugManager.flags.InjectInternalBuildOptions.get() != "unk") {
|
||||
NEO::CompilerOptions::concatenateAppend(internalBuildOptions, NEO::DebugManager.flags.InjectInternalBuildOptions.get());
|
||||
if (type == ModuleType::User) {
|
||||
if (NEO::DebugManager.flags.InjectInternalBuildOptions.get() != "unk") {
|
||||
NEO::CompilerOptions::concatenateAppend(internalBuildOptions, NEO::DebugManager.flags.InjectInternalBuildOptions.get());
|
||||
}
|
||||
|
||||
if (NEO::DebugManager.flags.InjectApiBuildOptions.get() != "unk") {
|
||||
NEO::CompilerOptions::concatenateAppend(buildOptions, NEO::DebugManager.flags.InjectApiBuildOptions.get());
|
||||
}
|
||||
}
|
||||
|
||||
if (desc->format == ZE_MODULE_FORMAT_NATIVE) {
|
||||
|
@ -2889,6 +2889,28 @@ TEST_F(ModuleTest, GivenInjectInternalBuildOptionsWhenBuildingUserModuleThenInte
|
||||
EXPECT_TRUE(CompilerOptions::contains(cip->buildInternalOptions, "-abc"));
|
||||
};
|
||||
|
||||
TEST_F(ModuleTest, GivenInjectApiBuildOptionsWhenBuildingUserModuleThenApiOptionsAreAppended) {
|
||||
DebugManagerStateRestore dbgRestorer;
|
||||
DebugManager.flags.InjectApiBuildOptions.set(" -abc");
|
||||
|
||||
auto cip = new NEO::MockCompilerInterfaceCaptureBuildOptions();
|
||||
device->getNEODevice()->getExecutionEnvironment()->rootDeviceEnvironments[device->getRootDeviceIndex()]->compilerInterface.reset(cip);
|
||||
|
||||
uint8_t binary[10];
|
||||
ze_module_desc_t moduleDesc = {};
|
||||
moduleDesc.format = ZE_MODULE_FORMAT_IL_SPIRV;
|
||||
moduleDesc.pInputModule = binary;
|
||||
moduleDesc.inputSize = 10;
|
||||
|
||||
ModuleBuildLog *moduleBuildLog = nullptr;
|
||||
|
||||
auto module = std::unique_ptr<L0::ModuleImp>(new L0::ModuleImp(device, moduleBuildLog, ModuleType::User));
|
||||
ASSERT_NE(nullptr, module.get());
|
||||
module->initialize(&moduleDesc, device->getNEODevice());
|
||||
|
||||
EXPECT_TRUE(CompilerOptions::contains(cip->buildOptions, "-abc"));
|
||||
};
|
||||
|
||||
TEST_F(ModuleTest, GivenInjectInternalBuildOptionsWhenBuildingBuiltinModuleThenInternalOptionsAreNotAppended) {
|
||||
DebugManagerStateRestore dbgRestorer;
|
||||
DebugManager.flags.InjectInternalBuildOptions.set(" -abc");
|
||||
|
Reference in New Issue
Block a user