DumpCFG.cpp 611 B

1234567891011121314151617181920212223242526
  1. /*
  2. * Copyright (c) 2021, Ali Mohammad Pur <mpfard@serenityos.org>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #include <LibJS/Bytecode/PassManager.h>
  7. namespace JS::Bytecode::Passes {
  8. void DumpCFG::perform(PassPipelineExecutable& executable)
  9. {
  10. started();
  11. VERIFY(executable.cfg.has_value());
  12. outln(m_file, "CFG Dump for {} basic blocks:", executable.executable.basic_blocks.size());
  13. for (auto& entry : executable.cfg.value()) {
  14. for (auto& value : entry.value)
  15. outln(m_file, "{} -> {}", entry.key->name(), value->name());
  16. }
  17. outln(m_file);
  18. finished();
  19. }
  20. }