summaryrefslogtreecommitdiffstats
path: root/llvm/utils/gn
diff options
context:
space:
mode:
authorNandor Licker <n@ndor.email>2019-09-02 10:38:08 +0000
committerNandor Licker <n@ndor.email>2019-09-02 10:38:08 +0000
commit8327fed9475a14c3376b4860c75370c730e08f33 (patch)
tree55d82a5722537f02304cf40ab59dd237c9a0f41f /llvm/utils/gn
parentd8bc6a48eaa9111b1fc232aa678695a57ae25ec6 (diff)
downloadbcm5719-llvm-8327fed9475a14c3376b4860c75370c730e08f33.tar.gz
bcm5719-llvm-8327fed9475a14c3376b4860c75370c730e08f33.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: 370636
Diffstat (limited to 'llvm/utils/gn')
-rw-r--r--llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn1
-rw-r--r--llvm/utils/gn/secondary/clang/lib/AST/Interp/BUILD.gn39
-rw-r--r--llvm/utils/gn/secondary/clang/utils/TableGen/BUILD.gn1
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",
]
OpenPOWER on IntegriCloud