Remove redundancy from ModuleImp class

NEO::Device can be obtained from L0::Device
use modern API for MOCK_METHOD in Mock<Module>
remove not needed clang pragma from mock_module.h

Change-Id: I993fc77ee7cae56b3f21d6a60601fd649f984032
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
Mateusz Jablonski
2020-05-28 17:51:00 +02:00
parent 46e67c892a
commit f0ef0d4d78
10 changed files with 23 additions and 34 deletions

View File

@@ -161,7 +161,7 @@ ze_result_t DeviceImp::createModule(const ze_module_desc_t *desc, ze_module_hand
moduleBuildLog = ModuleBuildLog::create();
*buildLog = moduleBuildLog->toHandle();
}
auto modulePtr = Module::create(this, desc, neoDevice, moduleBuildLog);
auto modulePtr = Module::create(this, desc, moduleBuildLog);
if (modulePtr == nullptr) {
return ZE_RESULT_ERROR_MODULE_BUILD_FAILURE;
}

View File

@@ -20,7 +20,7 @@ namespace L0 {
struct Device;
struct Module : _ze_module_handle_t {
static Module *create(Device *device, const ze_module_desc_t *desc, NEO::Device *neoDevice,
static Module *create(Device *device, const ze_module_desc_t *desc,
ModuleBuildLog *moduleBuildLog);
virtual ~Module() = default;

View File

@@ -278,10 +278,10 @@ void ModuleTranslationUnit::processDebugData() {
}
}
ModuleImp::ModuleImp(Device *device, NEO::Device *neoDevice, ModuleBuildLog *moduleBuildLog)
ModuleImp::ModuleImp(Device *device, ModuleBuildLog *moduleBuildLog)
: device(device), translationUnit(std::make_unique<ModuleTranslationUnit>(device)),
moduleBuildLog(moduleBuildLog) {
productFamily = neoDevice->getHardwareInfo().platform.eProductFamily;
productFamily = device->getHwInfo().platform.eProductFamily;
}
ModuleImp::~ModuleImp() {
@@ -489,11 +489,11 @@ ze_result_t ModuleImp::getGlobalPointer(const char *pGlobalName, void **pPtr) {
return ZE_RESULT_SUCCESS;
}
Module *Module::create(Device *device, const ze_module_desc_t *desc, NEO::Device *neoDevice,
Module *Module::create(Device *device, const ze_module_desc_t *desc,
ModuleBuildLog *moduleBuildLog) {
auto module = new ModuleImp(device, neoDevice, moduleBuildLog);
auto module = new ModuleImp(device, moduleBuildLog);
bool success = module->initialize(desc, neoDevice);
bool success = module->initialize(desc, device->getNEODevice());
if (success == false) {
module->destroy();
return nullptr;

View File

@@ -59,7 +59,7 @@ struct ModuleTranslationUnit {
struct ModuleImp : public Module {
ModuleImp() = delete;
ModuleImp(Device *device, NEO::Device *neoDevice, ModuleBuildLog *moduleBuildLog);
ModuleImp(Device *device, ModuleBuildLog *moduleBuildLog);
~ModuleImp() override;

View File

@@ -42,7 +42,7 @@ struct ModuleFixture : public DeviceFixture {
ModuleBuildLog *moduleBuildLog = nullptr;
module.reset(Module::create(device, &moduleDesc, neoDevice, moduleBuildLog));
module.reset(Module::create(device, &moduleDesc, moduleBuildLog));
}
void createKernel() {

View File

@@ -12,7 +12,7 @@ using ::testing::Return;
namespace L0 {
namespace ult {
Mock<Module>::Mock(::L0::Device *device, NEO::Device *neoDevice, ModuleBuildLog *moduleBuildLog) : WhiteBox(device, neoDevice, moduleBuildLog) { EXPECT_CALL(*this, getMaxGroupSize).WillRepeatedly(Return(256u)); }
Mock<Module>::Mock(::L0::Device *device, ModuleBuildLog *moduleBuildLog) : WhiteBox(device, moduleBuildLog) { EXPECT_CALL(*this, getMaxGroupSize).WillRepeatedly(Return(256u)); }
} // namespace ult
} // namespace L0

View File

@@ -14,11 +14,6 @@
#include "level_zero/core/test/unit_tests/mock.h"
#include "level_zero/core/test/unit_tests/white_box.h"
#if defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Winconsistent-missing-override"
#endif
namespace L0 {
namespace ult {
@@ -35,19 +30,17 @@ using Module = WhiteBox<::L0::Module>;
template <>
struct Mock<Module> : public Module {
Mock() = delete;
Mock(::L0::Device *device, NEO::Device *neoDevice, ModuleBuildLog *moduleBuildLog);
Mock(::L0::Device *device, ModuleBuildLog *moduleBuildLog);
MOCK_METHOD2(createKernel,
ze_result_t(const ze_kernel_desc_t *desc, ze_kernel_handle_t *phFunction));
MOCK_METHOD0(destroy, ze_result_t());
MOCK_METHOD2(getFunctionPointer, ze_result_t(const char *pKernelName, void **pfnFunction));
MOCK_METHOD2(getNativeBinary, ze_result_t(size_t *pSize, uint8_t *pModuleNativeBinary));
MOCK_CONST_METHOD1(getKernelImmutableData, const L0::KernelImmutableData *(const char *functionName));
MOCK_CONST_METHOD0(getMaxGroupSize, uint32_t());
MOCK_METHOD2(getKernelNames, ze_result_t(uint32_t *pCount, const char **pNames));
MOCK_METHOD2(getGlobalPointer, ze_result_t(const char *pGlobalName, void **pPtr));
MOCK_CONST_METHOD0(isDebugEnabled, bool());
MOCK_METHOD(ze_result_t, createKernel, (const ze_kernel_desc_t *desc, ze_kernel_handle_t *phFunction), (override));
MOCK_METHOD(ze_result_t, destroy, (), (override));
MOCK_METHOD(ze_result_t, getFunctionPointer, (const char *pKernelName, void **pfnFunction), (override));
MOCK_METHOD(ze_result_t, getNativeBinary, (size_t * pSize, uint8_t *pModuleNativeBinary), (override));
MOCK_METHOD(const L0::KernelImmutableData *, getKernelImmutableData, (const char *functionName), (const, override));
MOCK_METHOD(uint32_t, getMaxGroupSize, (), (const, override));
MOCK_METHOD(ze_result_t, getKernelNames, (uint32_t * pCount, const char **pNames), (override));
MOCK_METHOD(ze_result_t, getGlobalPointer, (const char *pGlobalName, void **pPtr), (override));
MOCK_METHOD(bool, isDebugEnabled, (), (const, override));
};
struct MockModuleTranslationUnit : public L0::ModuleTranslationUnit {
@@ -95,7 +88,3 @@ struct MockCompilerInterface : public NEO::CompilerInterface {
} // namespace ult
} // namespace L0
#if defined(__clang__)
#pragma clang diagnostic pop
#endif

View File

@@ -27,7 +27,7 @@ TEST_F(DeviceWithDebuggerEnabledTest, givenDebuggingEnabledWhenModuleIsCreatedTh
ModuleBuildLog *moduleBuildLog = nullptr;
auto module = std::unique_ptr<L0::ModuleImp>(new L0::ModuleImp(deviceL0, device, moduleBuildLog));
auto module = std::unique_ptr<L0::ModuleImp>(new L0::ModuleImp(deviceL0, moduleBuildLog));
ASSERT_NE(nullptr, module.get());
module->initialize(&moduleDesc, device);

View File

@@ -24,7 +24,7 @@ using KernelImpSetGroupSizeTest = Test<DeviceFixture>;
HWTEST_F(KernelImpSetGroupSizeTest, WhenCalculatingLocalIdsThenGrfSizeIsTakenFromCapabilityTable) {
Mock<Kernel> mockKernel;
Mock<Module> mockModule(this->device, this->neoDevice, nullptr);
Mock<Module> mockModule(this->device, nullptr);
mockKernel.descriptor.kernelAttributes.simdSize = 1;
mockKernel.module = &mockModule;
auto grfSize = mockModule.getDevice()->getHwInfo().capabilityTable.grfSize;

View File

@@ -106,7 +106,7 @@ HWTEST_F(ModuleSpecConstantsTests, givenSpecializationConstantsSetInDescriptorTh
specConstants.pConstantValues = specConstantsPointerValues.data();
moduleDesc.pConstants = &specConstants;
auto module = new Module(device, neoDevice, nullptr);
auto module = new Module(device, nullptr);
module->translationUnit.reset(mockTranslationUnit);
bool success = module->initialize(&moduleDesc, neoDevice);