From 52d5354a399b4581222d0f02f2677927b48985f7 Mon Sep 17 00:00:00 2001 From: Fabio Rinaldi Date: Mon, 10 Feb 2020 17:28:06 +0000 Subject: Dump instruction set features in .cfg This commit adds a compilation block at the beginning of the .cfg dumped by the optimizing compiler when --dump-cfg is enabled. The compilation block appears in the following form: begin_compilation name "isa_features:feature1,-feature2" method "isa_features:feature1,-feature2" date 1580721972 end_compilation This compilation block dump is passed to checker script (see https://android-review.googlesource.com/c/platform/art/+/1290997) for checking if a certain instruction set feature was used at compile time. Author: Fabio Rinaldi Committer: Artem Serov Bug: 147876827 Test: ./art/tools/checker/run_unit_tests.py Test: test.py --target --optimizing Change-Id: If4309af4bab892f715aad1d3bd338f8ee11e497c --- compiler/optimizing/graph_visualizer.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'compiler/optimizing/graph_visualizer.h') diff --git a/compiler/optimizing/graph_visualizer.h b/compiler/optimizing/graph_visualizer.h index 66588f6e36..e01d03c19c 100644 --- a/compiler/optimizing/graph_visualizer.h +++ b/compiler/optimizing/graph_visualizer.h @@ -107,6 +107,11 @@ class HGraphVisualizer : public ValueObject { void DumpGraph(const char* pass_name, bool is_after_pass, bool graph_in_bad_state) const; void DumpGraphWithDisassembly() const; + // C1visualizer file format does not support inserting arbitrary metadata into a cfg + // file. As a workaround a fake compilation block with the metadata in the name and the + // method attributes is used. Such empty blocks don't break the c1visualizer parser. + static std::string InsertMetaDataAsCompilationBlock(const std::string& meta_data); + private: std::ostream* const output_; HGraph* const graph_; -- cgit v1.2.3