diff options
author | Evgeny Astigeevich <evgeny.astigeevich@linaro.org> | 2020-07-27 12:25:49 +0100 |
---|---|---|
committer | Roland Levillain <rpl@google.com> | 2020-07-28 13:36:12 +0000 |
commit | 2446feb60919ceb09b5cab388291a86ccdc9be10 (patch) | |
tree | c5293d846db8b93e3a3fc660ba5d07e5a56be4af /compiler/optimizing/optimizing_compiler.cc | |
parent | 2091019e6c3ca07454b97730f29bb7200fa9d46e (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.cc | 5 |
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, |