summaryrefslogtreecommitdiff
path: root/compiler/optimizing/optimizing_compiler.cc
diff options
context:
space:
mode:
authorEvgeny Astigeevich <evgeny.astigeevich@linaro.org>2020-07-27 12:25:49 +0100
committerRoland Levillain <rpl@google.com>2020-07-28 13:36:12 +0000
commit2446feb60919ceb09b5cab388291a86ccdc9be10 (patch)
treec5293d846db8b93e3a3fc660ba5d07e5a56be4af /compiler/optimizing/optimizing_compiler.cc
parent2091019e6c3ca07454b97730f29bb7200fa9d46e (diff)
Dump ISA into .cfg
The optimizing compiler dumps ISA features into .cfg which can be used by the checker. A new tool perf2cfg needs to know ISA a CFG corresponds to. The tool uses this to check that input perf data has the same ISA. This CL implements in the compiler dumping ISA in addition to ISA features: begin_compilation name "isa:some_isa isa_features:feature1,-feature2" method "isa:some_isa isa_features:feature1,-feature2" date 1580721972 end_compilation Bug: 147876827 Test: ./art/tools/checker/run_unit_tests.py Test: test.py --target --optimizing --jit --interpreter Test: test.py --host --optimizing --jit --interpreter Change-Id: I189eae0f4de61e6a49c01d925e7136b5f7027c91
Diffstat (limited to 'compiler/optimizing/optimizing_compiler.cc')
-rw-r--r--compiler/optimizing/optimizing_compiler.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/compiler/optimizing/optimizing_compiler.cc b/compiler/optimizing/optimizing_compiler.cc
index de86c44246..f201f806d6 100644
--- a/compiler/optimizing/optimizing_compiler.cc
+++ b/compiler/optimizing/optimizing_compiler.cc
@@ -440,11 +440,14 @@ OptimizingCompiler::~OptimizingCompiler() {
void OptimizingCompiler::DumpInstructionSetFeaturesToCfg() const {
const CompilerOptions& compiler_options = GetCompilerOptions();
const InstructionSetFeatures* features = compiler_options.GetInstructionSetFeatures();
+ std::string isa_string =
+ std::string("isa:") + GetInstructionSetString(features->GetInstructionSet());
std::string features_string = "isa_features:" + features->GetFeatureString();
// It is assumed that visualizer_output_ is empty when calling this function, hence the fake
// compilation block containing the ISA features will be printed at the beginning of the .cfg
// file.
- *visualizer_output_ << HGraphVisualizer::InsertMetaDataAsCompilationBlock(features_string);
+ *visualizer_output_
+ << HGraphVisualizer::InsertMetaDataAsCompilationBlock(isa_string + ' ' + features_string);
}
bool OptimizingCompiler::CanCompileMethod(uint32_t method_idx ATTRIBUTE_UNUSED,