diff options
| author | Nandor Licker <n@ndor.email> | 2019-08-30 15:41:45 +0000 |
|---|---|---|
| committer | Nandor Licker <n@ndor.email> | 2019-08-30 15:41:45 +0000 |
| commit | 5c8b94a672e78d92d058f146741277228f28f9dd (patch) | |
| tree | f8d0851637cb87afc6da1f0149d47d0e395e614f /clang/lib/AST/Interp/Disasm.cpp | |
| parent | 3fac668d837a92bfbabb1205027b830d709a3c42 (diff) | |
| download | bcm5719-llvm-5c8b94a672e78d92d058f146741277228f28f9dd.tar.gz bcm5719-llvm-5c8b94a672e78d92d058f146741277228f28f9dd.zip | |
Revert [Clang Interpreter] Initial patch for the constexpr interpreter
This reverts r370476 (git commit a5590950549719d0d9ea69ed164b0c8c0f4e02e6)
llvm-svn: 370481
Diffstat (limited to 'clang/lib/AST/Interp/Disasm.cpp')
| -rw-r--r-- | clang/lib/AST/Interp/Disasm.cpp | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/clang/lib/AST/Interp/Disasm.cpp b/clang/lib/AST/Interp/Disasm.cpp deleted file mode 100644 index 632c8c418fd..00000000000 --- a/clang/lib/AST/Interp/Disasm.cpp +++ /dev/null @@ -1,69 +0,0 @@ -//===--- Disasm.cpp - Disassembler for bytecode functions -------*- C++ -*-===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// Dump method for Function which disassembles the bytecode. -// -//===----------------------------------------------------------------------===// - -#include "Function.h" -#include "Opcode.h" -#include "Program.h" -#include "Type.h" -#include "clang/AST/DeclCXX.h" -#include "llvm/Support/Compiler.h" - -using namespace clang; -using namespace clang::interp; - -LLVM_DUMP_METHOD void Function::dump() const { dump(llvm::errs()); } - -LLVM_DUMP_METHOD void Function::dump(llvm::raw_ostream &OS) const { - if (F) { - if (auto *Cons = dyn_cast<CXXConstructorDecl>(F)) { - const std::string &Name = Cons->getParent()->getNameAsString(); - OS << Name << "::" << Name << ":\n"; - } else { - OS << F->getNameAsString() << ":\n"; - } - } else { - OS << "<<expr>>\n"; - } - - OS << "frame size: " << getFrameSize() << "\n"; - OS << "arg size: " << getArgSize() << "\n"; - OS << "rvo: " << hasRVO() << "\n"; - - auto PrintName = [&OS](const char *Name) { - OS << Name; - for (long I = 0, N = strlen(Name); I < 30 - N; ++I) { - OS << ' '; - } - }; - - for (CodePtr Start = getCodeBegin(), PC = Start; PC != getCodeEnd();) { - size_t Addr = PC - Start; - auto Op = PC.read<Opcode>(); - OS << llvm::format("%8d", Addr) << " "; - switch (Op) { -#define GET_DISASM -#include "Opcodes.inc" -#undef GET_DISASM - } - } -} - -LLVM_DUMP_METHOD void Program::dump() const { dump(llvm::errs()); } - -LLVM_DUMP_METHOD void Program::dump(llvm::raw_ostream &OS) const { - for (auto &Func : Funcs) { - Func.second->dump(); - } - for (auto &Anon : AnonFuncs) { - Anon->dump(); - } -} |

