MIPS: Skip output verification for assembler tests.
These tests were taking too much time, skipping the output
verification brings it down from ~60s to ~10s per test.
Test: m test-art-host-gtest
Bug: 73903608
Change-Id: Ifd55c8013dea92de631e7c033111959a794759f2
diff --git a/compiler/utils/mips/assembler_mips32r5_test.cc b/compiler/utils/mips/assembler_mips32r5_test.cc
index 9a69ffd..0f85892 100644
--- a/compiler/utils/mips/assembler_mips32r5_test.cc
+++ b/compiler/utils/mips/assembler_mips32r5_test.cc
@@ -45,6 +45,16 @@
uint32_t,
mips::VectorRegister> Base;
+ // These tests were taking too long, so we hide the DriverStr() from AssemblerTest<>
+ // and reimplement it without the verification against `assembly_string`. b/73903608
+ void DriverStr(const std::string& assembly_string ATTRIBUTE_UNUSED,
+ const std::string& test_name ATTRIBUTE_UNUSED) {
+ GetAssembler()->FinalizeCode();
+ std::vector<uint8_t> data(GetAssembler()->CodeSize());
+ MemoryRegion code(data.data(), data.size());
+ GetAssembler()->FinalizeInstructions(code);
+ }
+
AssemblerMIPS32r5Test() :
instruction_set_features_(MipsInstructionSetFeatures::FromVariant("mips32r5", nullptr)) {
}
diff --git a/compiler/utils/mips/assembler_mips32r6_test.cc b/compiler/utils/mips/assembler_mips32r6_test.cc
index 691c33f..3d876ca 100644
--- a/compiler/utils/mips/assembler_mips32r6_test.cc
+++ b/compiler/utils/mips/assembler_mips32r6_test.cc
@@ -45,6 +45,16 @@
uint32_t,
mips::VectorRegister> Base;
+ // These tests were taking too long, so we hide the DriverStr() from AssemblerTest<>
+ // and reimplement it without the verification against `assembly_string`. b/73903608
+ void DriverStr(const std::string& assembly_string ATTRIBUTE_UNUSED,
+ const std::string& test_name ATTRIBUTE_UNUSED) {
+ GetAssembler()->FinalizeCode();
+ std::vector<uint8_t> data(GetAssembler()->CodeSize());
+ MemoryRegion code(data.data(), data.size());
+ GetAssembler()->FinalizeInstructions(code);
+ }
+
AssemblerMIPS32r6Test() :
instruction_set_features_(MipsInstructionSetFeatures::FromVariant("mips32r6", nullptr)) {
}
diff --git a/compiler/utils/mips/assembler_mips_test.cc b/compiler/utils/mips/assembler_mips_test.cc
index b027d3a..f94d074 100644
--- a/compiler/utils/mips/assembler_mips_test.cc
+++ b/compiler/utils/mips/assembler_mips_test.cc
@@ -43,6 +43,16 @@
mips::FRegister,
uint32_t> Base;
+ // These tests were taking too long, so we hide the DriverStr() from AssemblerTest<>
+ // and reimplement it without the verification against `assembly_string`. b/73903608
+ void DriverStr(const std::string& assembly_string ATTRIBUTE_UNUSED,
+ const std::string& test_name ATTRIBUTE_UNUSED) {
+ GetAssembler()->FinalizeCode();
+ std::vector<uint8_t> data(GetAssembler()->CodeSize());
+ MemoryRegion code(data.data(), data.size());
+ GetAssembler()->FinalizeInstructions(code);
+ }
+
protected:
// Get the typically used name for this architecture, e.g., aarch64, x86-64, ...
std::string GetArchitectureString() OVERRIDE {
diff --git a/compiler/utils/mips64/assembler_mips64_test.cc b/compiler/utils/mips64/assembler_mips64_test.cc
index fb5f12b..a53ff7c 100644
--- a/compiler/utils/mips64/assembler_mips64_test.cc
+++ b/compiler/utils/mips64/assembler_mips64_test.cc
@@ -48,6 +48,16 @@
uint32_t,
mips64::VectorRegister> Base;
+ // These tests were taking too long, so we hide the DriverStr() from AssemblerTest<>
+ // and reimplement it without the verification against `assembly_string`. b/73903608
+ void DriverStr(const std::string& assembly_string ATTRIBUTE_UNUSED,
+ const std::string& test_name ATTRIBUTE_UNUSED) {
+ GetAssembler()->FinalizeCode();
+ std::vector<uint8_t> data(GetAssembler()->CodeSize());
+ MemoryRegion code(data.data(), data.size());
+ GetAssembler()->FinalizeInstructions(code);
+ }
+
AssemblerMIPS64Test()
: instruction_set_features_(Mips64InstructionSetFeatures::FromVariant("default", nullptr)) {}