diff options
| author | Nandor Licker <n@ndor.email> | 2019-09-04 05:49:41 +0000 |
|---|---|---|
| committer | Nandor Licker <n@ndor.email> | 2019-09-04 05:49:41 +0000 |
| commit | 32f82c9cbaf397a2ff0391511105ecd069b6250d (patch) | |
| tree | 4c8dd4af243f8358038dec3727b098cea4ac5688 /llvm/utils/gn | |
| parent | 48ab3a0185f67b9ab6b4ef3b3524ff0921f4d5a8 (diff) | |
| download | bcm5719-llvm-32f82c9cbaf397a2ff0391511105ecd069b6250d.tar.gz bcm5719-llvm-32f82c9cbaf397a2ff0391511105ecd069b6250d.zip | |
[Clang Interpreter] Initial patch for the constexpr interpreter
Summary:
This patch introduces the skeleton of the constexpr interpreter,
capable of evaluating a simple constexpr functions consisting of
if statements. The interpreter is described in more detail in the
RFC. Further patches will add more features.
Reviewers: Bigcheese, jfb, rsmith
Subscribers: bruno, uenoku, ldionne, Tyker, thegameg, tschuett, dexonsmith, mgorny, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D64146
llvm-svn: 370839
Diffstat (limited to 'llvm/utils/gn')
| -rw-r--r-- | llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn | 1 | ||||
| -rw-r--r-- | llvm/utils/gn/secondary/clang/lib/AST/Interp/BUILD.gn | 39 | ||||
| -rw-r--r-- | llvm/utils/gn/secondary/clang/utils/TableGen/BUILD.gn | 1 |
3 files changed, 41 insertions, 0 deletions
diff --git a/llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn b/llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn index 9d72b38bd23..c98910691ab 100644 --- a/llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn +++ b/llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn @@ -10,6 +10,7 @@ static_library("AST") { "//clang/include/clang/AST:CommentHTMLTags", "//clang/include/clang/AST:CommentHTMLTagsProperties", "//clang/include/clang/AST:DeclNodes", + "//clang/lib/AST/Interp", "//clang/lib/Basic", "//clang/lib/Lex", "//llvm/lib/BinaryFormat", diff --git a/llvm/utils/gn/secondary/clang/lib/AST/Interp/BUILD.gn b/llvm/utils/gn/secondary/clang/lib/AST/Interp/BUILD.gn new file mode 100644 index 00000000000..5a84d37847f --- /dev/null +++ b/llvm/utils/gn/secondary/clang/lib/AST/Interp/BUILD.gn @@ -0,0 +1,39 @@ +import("//clang/utils/TableGen/clang_tablegen.gni") + +clang_tablegen("Opcodes") { + args = [ "-gen-clang-opcodes" ] + td_file = "Opcodes.td" +} + +static_library("Interp") { + output_name = "clangInterp" + configs += [ "//llvm/utils/gn/build:clang_code" ] + deps = [ + "//clang/lib/AST/Interp:Opcodes", + "//clang/lib/Basic", + "//llvm/lib/Support", + ] + sources = [ + "Block.cpp", + "ByteCodeEmitter.cpp", + "ByteCodeExprGen.cpp", + "ByteCodeGenError.cpp", + "ByteCodeStmtGen.cpp", + "Context.cpp", + "Descriptor.cpp", + "Disasm.cpp", + "EvalEmitter.cpp", + "Frame.cpp", + "Function.cpp", + "Interp.cpp", + "InterpFrame.cpp", + "InterpStack.cpp", + "InterpState.cpp", + "Pointer.cpp", + "Program.cpp", + "Record.cpp", + "Source.cpp", + "State.cpp", + "Type.cpp", + ] +} diff --git a/llvm/utils/gn/secondary/clang/utils/TableGen/BUILD.gn b/llvm/utils/gn/secondary/clang/utils/TableGen/BUILD.gn index 9a81b79da10..46af9052b97 100644 --- a/llvm/utils/gn/secondary/clang/utils/TableGen/BUILD.gn +++ b/llvm/utils/gn/secondary/clang/utils/TableGen/BUILD.gn @@ -14,6 +14,7 @@ executable("clang-tblgen") { "ClangOpenCLBuiltinEmitter.cpp", "ClangOptionDocEmitter.cpp", "ClangSACheckersEmitter.cpp", + "ClangOpcodesEmitter.cpp", "NeonEmitter.cpp", "TableGen.cpp", ] |

