[PATCH] D70073: [ConstExprPreter] Implemented function calls and if statements

Nandor Licker via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Nov 11 04:52:56 PST 2019


nand created this revision.
nand added reviewers: rsmith, Bigcheese, jfb, dexonsmith.
nand added a project: clang.
Herald added subscribers: cfe-commits, mgorny.
nand added a parent revision: D70071: [ConstExprPreter] Removed the flag forcing the use of the interpreter.

Added support for compiling functions, function calls and if statements,
enabling minimal useful expressions such as the ones in cond.cpp.

Also removed instructions which were accidentally comitted in the previous patch.

The patch also reorganises some files - interpreter is not in InterpLoop.cpp,
while the opcodes are defined in Interp.h or in the Opcodes folder.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D70073

Files:
  clang/lib/AST/CMakeLists.txt
  clang/lib/AST/Interp/Block.h
  clang/lib/AST/Interp/Boolean.cpp
  clang/lib/AST/Interp/Boolean.h
  clang/lib/AST/Interp/ByteCodeEmitter.h
  clang/lib/AST/Interp/ByteCodeExprGen.cpp
  clang/lib/AST/Interp/ByteCodeExprGen.h
  clang/lib/AST/Interp/ByteCodeStmtGen.cpp
  clang/lib/AST/Interp/ByteCodeStmtGen.h
  clang/lib/AST/Interp/Context.cpp
  clang/lib/AST/Interp/Context.h
  clang/lib/AST/Interp/Descriptor.cpp
  clang/lib/AST/Interp/Descriptor.h
  clang/lib/AST/Interp/EvalEmitter.cpp
  clang/lib/AST/Interp/EvalEmitter.h
  clang/lib/AST/Interp/Function.cpp
  clang/lib/AST/Interp/Function.h
  clang/lib/AST/Interp/Integral.h
  clang/lib/AST/Interp/Interp.cpp
  clang/lib/AST/Interp/Interp.h
  clang/lib/AST/Interp/InterpFrame.cpp
  clang/lib/AST/Interp/InterpFrame.h
  clang/lib/AST/Interp/InterpHelper.cpp
  clang/lib/AST/Interp/InterpHelper.h
  clang/lib/AST/Interp/InterpLoop.cpp
  clang/lib/AST/Interp/InterpLoop.h
  clang/lib/AST/Interp/InterpState.cpp
  clang/lib/AST/Interp/InterpState.h
  clang/lib/AST/Interp/Opcodes.td
  clang/lib/AST/Interp/Opcodes/Comparison.h
  clang/lib/AST/Interp/Pointer.cpp
  clang/lib/AST/Interp/Pointer.h
  clang/lib/AST/Interp/PrimType.h
  clang/lib/AST/Interp/Program.cpp
  clang/lib/AST/Interp/Program.h
  clang/lib/AST/Interp/Source.cpp
  clang/lib/AST/Interp/Source.h
  clang/test/AST/Interp/cond.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D70073.228670.patch
Type: text/x-patch
Size: 165071 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20191111/fac39828/attachment-0001.bin>


More information about the cfe-commits mailing list