summaryrefslogtreecommitdiffstats
path: root/llvm/utils/gn
diff options
context:
space:
mode:
authorNandor Licker <n@ndor.email>2019-09-04 05:49:41 +0000
committerNandor Licker <n@ndor.email>2019-09-04 05:49:41 +0000
commit32f82c9cbaf397a2ff0391511105ecd069b6250d (patch)
tree4c8dd4af243f8358038dec3727b098cea4ac5688 /llvm/utils/gn
parent48ab3a0185f67b9ab6b4ef3b3524ff0921f4d5a8 (diff)
downloadbcm5719-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.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