[clang] a07aba5 - [clang] Rename all AST/Interp stuff to AST/ByteCode (#104552)

via cfe-commits cfe-commits at lists.llvm.org
Fri Aug 16 08:13:15 PDT 2024


Author: Timm Baeder
Date: 2024-08-16T17:13:12+02:00
New Revision: a07aba5d44204a7ca0d891a3da05af9960081e4c

URL: https://github.com/llvm/llvm-project/commit/a07aba5d44204a7ca0d891a3da05af9960081e4c
DIFF: https://github.com/llvm/llvm-project/commit/a07aba5d44204a7ca0d891a3da05af9960081e4c.diff

LOG: [clang] Rename all AST/Interp stuff to AST/ByteCode (#104552)

"Interp" clashes with the clang interpreter and people often confuse
this.

Added: 
    clang/lib/AST/ByteCode/Boolean.h
    clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
    clang/lib/AST/ByteCode/ByteCodeEmitter.h
    clang/lib/AST/ByteCode/Compiler.cpp
    clang/lib/AST/ByteCode/Compiler.h
    clang/lib/AST/ByteCode/Context.cpp
    clang/lib/AST/ByteCode/Context.h
    clang/lib/AST/ByteCode/Descriptor.cpp
    clang/lib/AST/ByteCode/Descriptor.h
    clang/lib/AST/ByteCode/Disasm.cpp
    clang/lib/AST/ByteCode/DynamicAllocator.cpp
    clang/lib/AST/ByteCode/DynamicAllocator.h
    clang/lib/AST/ByteCode/EvalEmitter.cpp
    clang/lib/AST/ByteCode/EvalEmitter.h
    clang/lib/AST/ByteCode/EvaluationResult.cpp
    clang/lib/AST/ByteCode/EvaluationResult.h
    clang/lib/AST/ByteCode/Floating.cpp
    clang/lib/AST/ByteCode/Floating.h
    clang/lib/AST/ByteCode/Frame.cpp
    clang/lib/AST/ByteCode/Frame.h
    clang/lib/AST/ByteCode/Function.cpp
    clang/lib/AST/ByteCode/Function.h
    clang/lib/AST/ByteCode/FunctionPointer.h
    clang/lib/AST/ByteCode/Integral.h
    clang/lib/AST/ByteCode/IntegralAP.h
    clang/lib/AST/ByteCode/Interp.cpp
    clang/lib/AST/ByteCode/Interp.h
    clang/lib/AST/ByteCode/InterpBlock.cpp
    clang/lib/AST/ByteCode/InterpBlock.h
    clang/lib/AST/ByteCode/InterpBuiltin.cpp
    clang/lib/AST/ByteCode/InterpFrame.cpp
    clang/lib/AST/ByteCode/InterpFrame.h
    clang/lib/AST/ByteCode/InterpShared.cpp
    clang/lib/AST/ByteCode/InterpShared.h
    clang/lib/AST/ByteCode/InterpStack.cpp
    clang/lib/AST/ByteCode/InterpStack.h
    clang/lib/AST/ByteCode/InterpState.cpp
    clang/lib/AST/ByteCode/InterpState.h
    clang/lib/AST/ByteCode/MemberPointer.cpp
    clang/lib/AST/ByteCode/MemberPointer.h
    clang/lib/AST/ByteCode/Opcode.h
    clang/lib/AST/ByteCode/Opcodes.td
    clang/lib/AST/ByteCode/Pointer.cpp
    clang/lib/AST/ByteCode/Pointer.h
    clang/lib/AST/ByteCode/PrimType.cpp
    clang/lib/AST/ByteCode/PrimType.h
    clang/lib/AST/ByteCode/Primitives.h
    clang/lib/AST/ByteCode/Program.cpp
    clang/lib/AST/ByteCode/Program.h
    clang/lib/AST/ByteCode/Record.cpp
    clang/lib/AST/ByteCode/Record.h
    clang/lib/AST/ByteCode/Source.cpp
    clang/lib/AST/ByteCode/Source.h
    clang/lib/AST/ByteCode/State.cpp
    clang/lib/AST/ByteCode/State.h
    clang/test/AST/ByteCode/arrays.cpp
    clang/test/AST/ByteCode/atomic.c
    clang/test/AST/ByteCode/atomic.cpp
    clang/test/AST/ByteCode/bitfields.cpp
    clang/test/AST/ByteCode/builtin-align-cxx.cpp
    clang/test/AST/ByteCode/builtin-constant-p.cpp
    clang/test/AST/ByteCode/builtin-functions.cpp
    clang/test/AST/ByteCode/builtins.cpp
    clang/test/AST/ByteCode/c.c
    clang/test/AST/ByteCode/c23.c
    clang/test/AST/ByteCode/codegen.cpp
    clang/test/AST/ByteCode/comma.cpp
    clang/test/AST/ByteCode/complex.c
    clang/test/AST/ByteCode/complex.cpp
    clang/test/AST/ByteCode/cond.cpp
    clang/test/AST/ByteCode/const-eval.c
    clang/test/AST/ByteCode/const-fpfeatures.cpp
    clang/test/AST/ByteCode/const-temporaries.cpp
    clang/test/AST/ByteCode/constexpr-frame-describe.cpp
    clang/test/AST/ByteCode/constexpr-nqueens.cpp
    clang/test/AST/ByteCode/constexpr-subobj-initialization.cpp
    clang/test/AST/ByteCode/crash-GH49103-2.cpp
    clang/test/AST/ByteCode/cxx03.cpp
    clang/test/AST/ByteCode/cxx11.cpp
    clang/test/AST/ByteCode/cxx17.cpp
    clang/test/AST/ByteCode/cxx20.cpp
    clang/test/AST/ByteCode/cxx23.cpp
    clang/test/AST/ByteCode/cxx26.cpp
    clang/test/AST/ByteCode/cxx2a.cpp
    clang/test/AST/ByteCode/cxx98.cpp
    clang/test/AST/ByteCode/depth-limit.cpp
    clang/test/AST/ByteCode/depth-limit2.cpp
    clang/test/AST/ByteCode/enums-targets.cpp
    clang/test/AST/ByteCode/enums.cpp
    clang/test/AST/ByteCode/eval-order.cpp
    clang/test/AST/ByteCode/floats.cpp
    clang/test/AST/ByteCode/functions.cpp
    clang/test/AST/ByteCode/hlsl.hlsl
    clang/test/AST/ByteCode/if.cpp
    clang/test/AST/ByteCode/intap.cpp
    clang/test/AST/ByteCode/invalid.cpp
    clang/test/AST/ByteCode/lambda.cpp
    clang/test/AST/ByteCode/lifetimes.cpp
    clang/test/AST/ByteCode/literals.cpp
    clang/test/AST/ByteCode/loops.cpp
    clang/test/AST/ByteCode/memberpointers.cpp
    clang/test/AST/ByteCode/ms.cpp
    clang/test/AST/ByteCode/mutable.cpp
    clang/test/AST/ByteCode/new-delete.cpp
    clang/test/AST/ByteCode/nullable.cpp
    clang/test/AST/ByteCode/objc.mm
    clang/test/AST/ByteCode/opencl.cl
    clang/test/AST/ByteCode/pointer-addition.c
    clang/test/AST/ByteCode/records.cpp
    clang/test/AST/ByteCode/references.cpp
    clang/test/AST/ByteCode/shifts.cpp
    clang/test/AST/ByteCode/spaceship.cpp
    clang/test/AST/ByteCode/switch.cpp
    clang/test/AST/ByteCode/sycl.cpp
    clang/test/AST/ByteCode/unions.cpp
    clang/test/AST/ByteCode/vectors.cpp
    clang/test/AST/ByteCode/weak.cpp
    clang/unittests/AST/ByteCode/CMakeLists.txt
    clang/unittests/AST/ByteCode/Descriptor.cpp
    clang/unittests/AST/ByteCode/toAPValue.cpp

Modified: 
    clang/docs/ClangFormattedStatus.rst
    clang/docs/tools/clang-formatted-files.txt
    clang/lib/AST/ASTContext.cpp
    clang/lib/AST/CMakeLists.txt
    clang/lib/AST/ExprConstShared.h
    clang/lib/AST/ExprConstant.cpp
    clang/unittests/AST/CMakeLists.txt

Removed: 
    clang/lib/AST/Interp/Boolean.h
    clang/lib/AST/Interp/ByteCodeEmitter.cpp
    clang/lib/AST/Interp/ByteCodeEmitter.h
    clang/lib/AST/Interp/Compiler.cpp
    clang/lib/AST/Interp/Compiler.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/Disasm.cpp
    clang/lib/AST/Interp/DynamicAllocator.cpp
    clang/lib/AST/Interp/DynamicAllocator.h
    clang/lib/AST/Interp/EvalEmitter.cpp
    clang/lib/AST/Interp/EvalEmitter.h
    clang/lib/AST/Interp/EvaluationResult.cpp
    clang/lib/AST/Interp/EvaluationResult.h
    clang/lib/AST/Interp/Floating.cpp
    clang/lib/AST/Interp/Floating.h
    clang/lib/AST/Interp/Frame.cpp
    clang/lib/AST/Interp/Frame.h
    clang/lib/AST/Interp/Function.cpp
    clang/lib/AST/Interp/Function.h
    clang/lib/AST/Interp/FunctionPointer.h
    clang/lib/AST/Interp/Integral.h
    clang/lib/AST/Interp/IntegralAP.h
    clang/lib/AST/Interp/Interp.cpp
    clang/lib/AST/Interp/Interp.h
    clang/lib/AST/Interp/InterpBlock.cpp
    clang/lib/AST/Interp/InterpBlock.h
    clang/lib/AST/Interp/InterpBuiltin.cpp
    clang/lib/AST/Interp/InterpFrame.cpp
    clang/lib/AST/Interp/InterpFrame.h
    clang/lib/AST/Interp/InterpShared.cpp
    clang/lib/AST/Interp/InterpShared.h
    clang/lib/AST/Interp/InterpStack.cpp
    clang/lib/AST/Interp/InterpStack.h
    clang/lib/AST/Interp/InterpState.cpp
    clang/lib/AST/Interp/InterpState.h
    clang/lib/AST/Interp/MemberPointer.cpp
    clang/lib/AST/Interp/MemberPointer.h
    clang/lib/AST/Interp/Opcode.h
    clang/lib/AST/Interp/Opcodes.td
    clang/lib/AST/Interp/Pointer.cpp
    clang/lib/AST/Interp/Pointer.h
    clang/lib/AST/Interp/PrimType.cpp
    clang/lib/AST/Interp/PrimType.h
    clang/lib/AST/Interp/Primitives.h
    clang/lib/AST/Interp/Program.cpp
    clang/lib/AST/Interp/Program.h
    clang/lib/AST/Interp/Record.cpp
    clang/lib/AST/Interp/Record.h
    clang/lib/AST/Interp/Source.cpp
    clang/lib/AST/Interp/Source.h
    clang/lib/AST/Interp/State.cpp
    clang/lib/AST/Interp/State.h
    clang/test/AST/Interp/arrays.cpp
    clang/test/AST/Interp/atomic.c
    clang/test/AST/Interp/atomic.cpp
    clang/test/AST/Interp/bitfields.cpp
    clang/test/AST/Interp/builtin-align-cxx.cpp
    clang/test/AST/Interp/builtin-constant-p.cpp
    clang/test/AST/Interp/builtin-functions.cpp
    clang/test/AST/Interp/builtins.cpp
    clang/test/AST/Interp/c.c
    clang/test/AST/Interp/c23.c
    clang/test/AST/Interp/codegen.cpp
    clang/test/AST/Interp/comma.cpp
    clang/test/AST/Interp/complex.c
    clang/test/AST/Interp/complex.cpp
    clang/test/AST/Interp/cond.cpp
    clang/test/AST/Interp/const-eval.c
    clang/test/AST/Interp/const-fpfeatures.cpp
    clang/test/AST/Interp/const-temporaries.cpp
    clang/test/AST/Interp/constexpr-frame-describe.cpp
    clang/test/AST/Interp/constexpr-nqueens.cpp
    clang/test/AST/Interp/constexpr-subobj-initialization.cpp
    clang/test/AST/Interp/crash-GH49103-2.cpp
    clang/test/AST/Interp/cxx03.cpp
    clang/test/AST/Interp/cxx11.cpp
    clang/test/AST/Interp/cxx17.cpp
    clang/test/AST/Interp/cxx20.cpp
    clang/test/AST/Interp/cxx23.cpp
    clang/test/AST/Interp/cxx26.cpp
    clang/test/AST/Interp/cxx2a.cpp
    clang/test/AST/Interp/cxx98.cpp
    clang/test/AST/Interp/depth-limit.cpp
    clang/test/AST/Interp/depth-limit2.cpp
    clang/test/AST/Interp/enums-targets.cpp
    clang/test/AST/Interp/enums.cpp
    clang/test/AST/Interp/eval-order.cpp
    clang/test/AST/Interp/floats.cpp
    clang/test/AST/Interp/functions.cpp
    clang/test/AST/Interp/hlsl.hlsl
    clang/test/AST/Interp/if.cpp
    clang/test/AST/Interp/intap.cpp
    clang/test/AST/Interp/invalid.cpp
    clang/test/AST/Interp/lambda.cpp
    clang/test/AST/Interp/lifetimes.cpp
    clang/test/AST/Interp/literals.cpp
    clang/test/AST/Interp/loops.cpp
    clang/test/AST/Interp/memberpointers.cpp
    clang/test/AST/Interp/ms.cpp
    clang/test/AST/Interp/mutable.cpp
    clang/test/AST/Interp/new-delete.cpp
    clang/test/AST/Interp/nullable.cpp
    clang/test/AST/Interp/objc.mm
    clang/test/AST/Interp/opencl.cl
    clang/test/AST/Interp/pointer-addition.c
    clang/test/AST/Interp/records.cpp
    clang/test/AST/Interp/references.cpp
    clang/test/AST/Interp/shifts.cpp
    clang/test/AST/Interp/spaceship.cpp
    clang/test/AST/Interp/switch.cpp
    clang/test/AST/Interp/sycl.cpp
    clang/test/AST/Interp/unions.cpp
    clang/test/AST/Interp/vectors.cpp
    clang/test/AST/Interp/weak.cpp
    clang/unittests/AST/Interp/CMakeLists.txt
    clang/unittests/AST/Interp/Descriptor.cpp
    clang/unittests/AST/Interp/toAPValue.cpp


################################################################################
diff  --git a/clang/docs/ClangFormattedStatus.rst b/clang/docs/ClangFormattedStatus.rst
index 68c13076ccbb4e..0ee0782879ef6b 100644
--- a/clang/docs/ClangFormattedStatus.rst
+++ b/clang/docs/ClangFormattedStatus.rst
@@ -439,7 +439,7 @@ tree in terms of conformance to :doc:`ClangFormat` as of: March 06, 2022 17:32:2
      - `2`
      - `79`
      - :part:`2%`
-   * - clang/lib/AST/Interp
+   * - clang/lib/AST/ByteCode
      - `44`
      - `18`
      - `26`

diff  --git a/clang/docs/tools/clang-formatted-files.txt b/clang/docs/tools/clang-formatted-files.txt
index 62871133a68075..fc07357986d989 100644
--- a/clang/docs/tools/clang-formatted-files.txt
+++ b/clang/docs/tools/clang-formatted-files.txt
@@ -322,24 +322,24 @@ clang/lib/APINotes/APINotesTypes.cpp
 clang/lib/APINotes/APINotesYAMLCompiler.cpp
 clang/lib/AST/DataCollection.cpp
 clang/lib/AST/Linkage.h
-clang/lib/AST/Interp/ByteCodeGenError.cpp
-clang/lib/AST/Interp/ByteCodeGenError.h
-clang/lib/AST/Interp/Context.cpp
-clang/lib/AST/Interp/Context.h
-clang/lib/AST/Interp/Descriptor.cpp
-clang/lib/AST/Interp/Disasm.cpp
-clang/lib/AST/Interp/EvalEmitter.h
-clang/lib/AST/Interp/Frame.cpp
-clang/lib/AST/Interp/Frame.h
-clang/lib/AST/Interp/InterpState.h
-clang/lib/AST/Interp/Opcode.h
-clang/lib/AST/Interp/Pointer.cpp
-clang/lib/AST/Interp/PrimType.cpp
-clang/lib/AST/Interp/Record.h
-clang/lib/AST/Interp/Source.cpp
-clang/lib/AST/Interp/Source.h
-clang/lib/AST/Interp/State.cpp
-clang/lib/AST/Interp/State.h
+clang/lib/AST/ByteCode/ByteCodeGenError.cpp
+clang/lib/AST/ByteCode/ByteCodeGenError.h
+clang/lib/AST/ByteCode/Context.cpp
+clang/lib/AST/ByteCode/Context.h
+clang/lib/AST/ByteCode/Descriptor.cpp
+clang/lib/AST/ByteCode/Disasm.cpp
+clang/lib/AST/ByteCode/EvalEmitter.h
+clang/lib/AST/ByteCode/Frame.cpp
+clang/lib/AST/ByteCode/Frame.h
+clang/lib/AST/ByteCode/InterpState.h
+clang/lib/AST/ByteCode/Opcode.h
+clang/lib/AST/ByteCode/Pointer.cpp
+clang/lib/AST/ByteCode/PrimType.cpp
+clang/lib/AST/ByteCode/Record.h
+clang/lib/AST/ByteCode/Source.cpp
+clang/lib/AST/ByteCode/Source.h
+clang/lib/AST/ByteCode/State.cpp
+clang/lib/AST/ByteCode/State.h
 clang/lib/ASTMatchers/GtestMatchers.cpp
 clang/lib/ASTMatchers/Dynamic/Marshallers.cpp
 clang/lib/Basic/Attributes.cpp

diff  --git a/clang/lib/AST/ASTContext.cpp b/clang/lib/AST/ASTContext.cpp
index 0dbbe0043f7031..f35a025fc8edfc 100644
--- a/clang/lib/AST/ASTContext.cpp
+++ b/clang/lib/AST/ASTContext.cpp
@@ -11,8 +11,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "clang/AST/ASTContext.h"
+#include "ByteCode/Context.h"
 #include "CXXABI.h"
-#include "Interp/Context.h"
 #include "clang/AST/APValue.h"
 #include "clang/AST/ASTConcept.h"
 #include "clang/AST/ASTMutationListener.h"

diff  --git a/clang/lib/AST/Interp/Boolean.h b/clang/lib/AST/ByteCode/Boolean.h
similarity index 96%
rename from clang/lib/AST/Interp/Boolean.h
rename to clang/lib/AST/ByteCode/Boolean.h
index 23f72860367646..0a2e0fe332110e 100644
--- a/clang/lib/AST/Interp/Boolean.h
+++ b/clang/lib/AST/ByteCode/Boolean.h
@@ -9,25 +9,25 @@
 #ifndef LLVM_CLANG_AST_INTERP_BOOLEAN_H
 #define LLVM_CLANG_AST_INTERP_BOOLEAN_H
 
-#include <cstddef>
-#include <cstdint>
 #include "Integral.h"
 #include "clang/AST/APValue.h"
 #include "clang/AST/ComparisonCategories.h"
 #include "llvm/ADT/APSInt.h"
 #include "llvm/Support/MathExtras.h"
 #include "llvm/Support/raw_ostream.h"
+#include <cstddef>
+#include <cstdint>
 
 namespace clang {
 namespace interp {
 
 /// Wrapper around boolean types.
 class Boolean final {
- private:
+private:
   /// Underlying boolean.
   bool V;
 
- public:
+public:
   /// Zero-initializes a boolean.
   Boolean() : V(false) {}
   explicit Boolean(bool V) : V(V) {}
@@ -104,8 +104,7 @@ class Boolean final {
 
   static Boolean zero() { return from(false); }
 
-  template <typename T>
-  static Boolean from(T Value, unsigned NumBits) {
+  template <typename T> static Boolean from(T Value, unsigned NumBits) {
     return Boolean(Value);
   }
 
@@ -153,7 +152,7 @@ inline llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, const Boolean &B) {
   return OS;
 }
 
-}  // namespace interp
-}  // namespace clang
+} // namespace interp
+} // namespace clang
 
 #endif

diff  --git a/clang/lib/AST/Interp/ByteCodeEmitter.cpp b/clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
similarity index 97%
rename from clang/lib/AST/Interp/ByteCodeEmitter.cpp
rename to clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
index a01fa15dc0b7dc..1f6bdaff50b5bf 100644
--- a/clang/lib/AST/Interp/ByteCodeEmitter.cpp
+++ b/clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
@@ -206,8 +206,7 @@ void ByteCodeEmitter::emitLabel(LabelTy Label) {
   const size_t Target = Code.size();
   LabelOffsets.insert({Label, Target});
 
-  if (auto It = LabelRelocs.find(Label);
-      It != LabelRelocs.end()) {
+  if (auto It = LabelRelocs.find(Label); It != LabelRelocs.end()) {
     for (unsigned Reloc : It->second) {
       using namespace llvm::support;
 
@@ -228,8 +227,7 @@ int32_t ByteCodeEmitter::getOffset(LabelTy Label) {
   assert(aligned(Position));
 
   // If target is known, compute jump offset.
-  if (auto It = LabelOffsets.find(Label);
-      It != LabelOffsets.end())
+  if (auto It = LabelOffsets.find(Label); It != LabelOffsets.end())
     return It->second - Position;
 
   // Otherwise, record relocation and return dummy offset.
@@ -308,7 +306,8 @@ void emit(Program &P, std::vector<std::byte> &Code, const IntegralAP<true> &Val,
 }
 
 template <typename... Tys>
-bool ByteCodeEmitter::emitOp(Opcode Op, const Tys &... Args, const SourceInfo &SI) {
+bool ByteCodeEmitter::emitOp(Opcode Op, const Tys &...Args,
+                             const SourceInfo &SI) {
   bool Success = true;
 
   // The opcode is followed by arguments. The source info is

diff  --git a/clang/lib/AST/Interp/ByteCodeEmitter.h b/clang/lib/AST/ByteCode/ByteCodeEmitter.h
similarity index 97%
rename from clang/lib/AST/Interp/ByteCodeEmitter.h
rename to clang/lib/AST/ByteCode/ByteCodeEmitter.h
index a19a25c2f9e8ec..59e12defd8e52b 100644
--- a/clang/lib/AST/Interp/ByteCodeEmitter.h
+++ b/clang/lib/AST/ByteCode/ByteCodeEmitter.h
@@ -92,7 +92,7 @@ class ByteCodeEmitter {
 
   /// Emits an opcode.
   template <typename... Tys>
-  bool emitOp(Opcode Op, const Tys &... Args, const SourceInfo &L);
+  bool emitOp(Opcode Op, const Tys &...Args, const SourceInfo &L);
 
 protected:
 #define GET_LINK_PROTO

diff  --git a/clang/lib/AST/Interp/Compiler.cpp b/clang/lib/AST/ByteCode/Compiler.cpp
similarity index 99%
rename from clang/lib/AST/Interp/Compiler.cpp
rename to clang/lib/AST/ByteCode/Compiler.cpp
index 5e1f507ca2b178..c3ecaa40b86f2a 100644
--- a/clang/lib/AST/Interp/Compiler.cpp
+++ b/clang/lib/AST/ByteCode/Compiler.cpp
@@ -3722,7 +3722,8 @@ bool Compiler<Emitter>::visitDeclAndReturn(const VarDecl *VD,
 }
 
 template <class Emitter>
-VarCreationState Compiler<Emitter>::visitVarDecl(const VarDecl *VD, bool Toplevel) {
+VarCreationState Compiler<Emitter>::visitVarDecl(const VarDecl *VD,
+                                                 bool Toplevel) {
   // We don't know what to do with these, so just return false.
   if (VD->getType().isNull())
     return false;
@@ -5124,7 +5125,7 @@ bool Compiler<Emitter>::VisitUnaryOperator(const UnaryOperator *E) {
     if (!this->visit(SubExpr))
       return false;
     return DiscardResult ? this->emitPop(*T, E) : this->emitNeg(*T, E);
-  case UO_Plus:                // +x
+  case UO_Plus: // +x
     if (!T)
       return this->emitError(E);
 

diff  --git a/clang/lib/AST/Interp/Compiler.h b/clang/lib/AST/ByteCode/Compiler.h
similarity index 100%
rename from clang/lib/AST/Interp/Compiler.h
rename to clang/lib/AST/ByteCode/Compiler.h

diff  --git a/clang/lib/AST/Interp/Context.cpp b/clang/lib/AST/ByteCode/Context.cpp
similarity index 100%
rename from clang/lib/AST/Interp/Context.cpp
rename to clang/lib/AST/ByteCode/Context.cpp

diff  --git a/clang/lib/AST/Interp/Context.h b/clang/lib/AST/ByteCode/Context.h
similarity index 100%
rename from clang/lib/AST/Interp/Context.h
rename to clang/lib/AST/ByteCode/Context.h

diff  --git a/clang/lib/AST/Interp/Descriptor.cpp b/clang/lib/AST/ByteCode/Descriptor.cpp
similarity index 100%
rename from clang/lib/AST/Interp/Descriptor.cpp
rename to clang/lib/AST/ByteCode/Descriptor.cpp

diff  --git a/clang/lib/AST/Interp/Descriptor.h b/clang/lib/AST/ByteCode/Descriptor.h
similarity index 99%
rename from clang/lib/AST/Interp/Descriptor.h
rename to clang/lib/AST/ByteCode/Descriptor.h
index 6f1adeb898c430..41899c3bd6831a 100644
--- a/clang/lib/AST/Interp/Descriptor.h
+++ b/clang/lib/AST/ByteCode/Descriptor.h
@@ -229,7 +229,7 @@ struct Descriptor final {
   /// Returns the allocated size, including metadata.
   unsigned getAllocSize() const { return AllocSize; }
   /// returns the size of an element when the structure is viewed as an array.
-  unsigned getElemSize()  const { return ElemSize; }
+  unsigned getElemSize() const { return ElemSize; }
   /// Returns the size of the metadata.
   unsigned getMetadataSize() const { return MDSize; }
 

diff  --git a/clang/lib/AST/Interp/Disasm.cpp b/clang/lib/AST/ByteCode/Disasm.cpp
similarity index 100%
rename from clang/lib/AST/Interp/Disasm.cpp
rename to clang/lib/AST/ByteCode/Disasm.cpp

diff  --git a/clang/lib/AST/Interp/DynamicAllocator.cpp b/clang/lib/AST/ByteCode/DynamicAllocator.cpp
similarity index 100%
rename from clang/lib/AST/Interp/DynamicAllocator.cpp
rename to clang/lib/AST/ByteCode/DynamicAllocator.cpp

diff  --git a/clang/lib/AST/Interp/DynamicAllocator.h b/clang/lib/AST/ByteCode/DynamicAllocator.h
similarity index 100%
rename from clang/lib/AST/Interp/DynamicAllocator.h
rename to clang/lib/AST/ByteCode/DynamicAllocator.h

diff  --git a/clang/lib/AST/Interp/EvalEmitter.cpp b/clang/lib/AST/ByteCode/EvalEmitter.cpp
similarity index 99%
rename from clang/lib/AST/Interp/EvalEmitter.cpp
rename to clang/lib/AST/ByteCode/EvalEmitter.cpp
index 08536536ac3c2e..e36d86c814e17f 100644
--- a/clang/lib/AST/Interp/EvalEmitter.cpp
+++ b/clang/lib/AST/ByteCode/EvalEmitter.cpp
@@ -76,9 +76,7 @@ EvaluationResult EvalEmitter::interpretDecl(const VarDecl *VD,
   return std::move(this->EvalResult);
 }
 
-void EvalEmitter::emitLabel(LabelTy Label) {
-  CurrentLabel = Label;
-}
+void EvalEmitter::emitLabel(LabelTy Label) { CurrentLabel = Label; }
 
 EvalEmitter::LabelTy EvalEmitter::getLabel() { return NextLabel++; }
 

diff  --git a/clang/lib/AST/Interp/EvalEmitter.h b/clang/lib/AST/ByteCode/EvalEmitter.h
similarity index 100%
rename from clang/lib/AST/Interp/EvalEmitter.h
rename to clang/lib/AST/ByteCode/EvalEmitter.h

diff  --git a/clang/lib/AST/Interp/EvaluationResult.cpp b/clang/lib/AST/ByteCode/EvaluationResult.cpp
similarity index 100%
rename from clang/lib/AST/Interp/EvaluationResult.cpp
rename to clang/lib/AST/ByteCode/EvaluationResult.cpp

diff  --git a/clang/lib/AST/Interp/EvaluationResult.h b/clang/lib/AST/ByteCode/EvaluationResult.h
similarity index 100%
rename from clang/lib/AST/Interp/EvaluationResult.h
rename to clang/lib/AST/ByteCode/EvaluationResult.h

diff  --git a/clang/lib/AST/Interp/Floating.cpp b/clang/lib/AST/ByteCode/Floating.cpp
similarity index 100%
rename from clang/lib/AST/Interp/Floating.cpp
rename to clang/lib/AST/ByteCode/Floating.cpp

diff  --git a/clang/lib/AST/Interp/Floating.h b/clang/lib/AST/ByteCode/Floating.h
similarity index 100%
rename from clang/lib/AST/Interp/Floating.h
rename to clang/lib/AST/ByteCode/Floating.h

diff  --git a/clang/lib/AST/Interp/Frame.cpp b/clang/lib/AST/ByteCode/Frame.cpp
similarity index 100%
rename from clang/lib/AST/Interp/Frame.cpp
rename to clang/lib/AST/ByteCode/Frame.cpp

diff  --git a/clang/lib/AST/Interp/Frame.h b/clang/lib/AST/ByteCode/Frame.h
similarity index 100%
rename from clang/lib/AST/Interp/Frame.h
rename to clang/lib/AST/ByteCode/Frame.h

diff  --git a/clang/lib/AST/Interp/Function.cpp b/clang/lib/AST/ByteCode/Function.cpp
similarity index 100%
rename from clang/lib/AST/Interp/Function.cpp
rename to clang/lib/AST/ByteCode/Function.cpp

diff  --git a/clang/lib/AST/Interp/Function.h b/clang/lib/AST/ByteCode/Function.h
similarity index 100%
rename from clang/lib/AST/Interp/Function.h
rename to clang/lib/AST/ByteCode/Function.h

diff  --git a/clang/lib/AST/Interp/FunctionPointer.h b/clang/lib/AST/ByteCode/FunctionPointer.h
similarity index 100%
rename from clang/lib/AST/Interp/FunctionPointer.h
rename to clang/lib/AST/ByteCode/FunctionPointer.h

diff  --git a/clang/lib/AST/Interp/Integral.h b/clang/lib/AST/ByteCode/Integral.h
similarity index 93%
rename from clang/lib/AST/Interp/Integral.h
rename to clang/lib/AST/ByteCode/Integral.h
index aafdd02676c966..e06ec1669259da 100644
--- a/clang/lib/AST/Interp/Integral.h
+++ b/clang/lib/AST/ByteCode/Integral.h
@@ -13,8 +13,8 @@
 #ifndef LLVM_CLANG_AST_INTERP_INTEGRAL_H
 #define LLVM_CLANG_AST_INTERP_INTEGRAL_H
 
-#include "clang/AST/ComparisonCategories.h"
 #include "clang/AST/APValue.h"
+#include "clang/AST/ComparisonCategories.h"
 #include "llvm/ADT/APSInt.h"
 #include "llvm/Support/MathExtras.h"
 #include "llvm/Support/raw_ostream.h"
@@ -33,14 +33,30 @@ template <bool Signed> class IntegralAP;
 
 // Helper structure to select the representation.
 template <unsigned Bits, bool Signed> struct Repr;
-template <> struct Repr<8, false> { using Type = uint8_t; };
-template <> struct Repr<16, false> { using Type = uint16_t; };
-template <> struct Repr<32, false> { using Type = uint32_t; };
-template <> struct Repr<64, false> { using Type = uint64_t; };
-template <> struct Repr<8, true> { using Type = int8_t; };
-template <> struct Repr<16, true> { using Type = int16_t; };
-template <> struct Repr<32, true> { using Type = int32_t; };
-template <> struct Repr<64, true> { using Type = int64_t; };
+template <> struct Repr<8, false> {
+  using Type = uint8_t;
+};
+template <> struct Repr<16, false> {
+  using Type = uint16_t;
+};
+template <> struct Repr<32, false> {
+  using Type = uint32_t;
+};
+template <> struct Repr<64, false> {
+  using Type = uint64_t;
+};
+template <> struct Repr<8, true> {
+  using Type = int8_t;
+};
+template <> struct Repr<16, true> {
+  using Type = int16_t;
+};
+template <> struct Repr<32, true> {
+  using Type = int32_t;
+};
+template <> struct Repr<64, true> {
+  using Type = int64_t;
+};
 
 /// Wrapper around numeric types.
 ///
@@ -159,12 +175,8 @@ template <unsigned Bits, bool Signed> class Integral final {
 
   void print(llvm::raw_ostream &OS) const { OS << V; }
 
-  static Integral min(unsigned NumBits) {
-    return Integral(Min);
-  }
-  static Integral max(unsigned NumBits) {
-    return Integral(Max);
-  }
+  static Integral min(unsigned NumBits) { return Integral(Min); }
+  static Integral max(unsigned NumBits) { return Integral(Max); }
 
   template <typename ValT> static Integral from(ValT Value) {
     if constexpr (std::is_integral<ValT>::value)

diff  --git a/clang/lib/AST/Interp/IntegralAP.h b/clang/lib/AST/ByteCode/IntegralAP.h
similarity index 100%
rename from clang/lib/AST/Interp/IntegralAP.h
rename to clang/lib/AST/ByteCode/IntegralAP.h

diff  --git a/clang/lib/AST/Interp/Interp.cpp b/clang/lib/AST/ByteCode/Interp.cpp
similarity index 100%
rename from clang/lib/AST/Interp/Interp.cpp
rename to clang/lib/AST/ByteCode/Interp.cpp

diff  --git a/clang/lib/AST/Interp/Interp.h b/clang/lib/AST/ByteCode/Interp.h
similarity index 99%
rename from clang/lib/AST/Interp/Interp.h
rename to clang/lib/AST/ByteCode/Interp.h
index c2d73f32f0b20c..c3ce21cb13770e 100644
--- a/clang/lib/AST/Interp/Interp.h
+++ b/clang/lib/AST/ByteCode/Interp.h
@@ -1226,7 +1226,7 @@ template <PrimType Name, class T = typename PrimConv<Name>::T>
 bool GetField(InterpState &S, CodePtr OpPC, uint32_t I) {
   const Pointer &Obj = S.Stk.peek<Pointer>();
   if (!CheckNull(S, OpPC, Obj, CSK_Field))
-      return false;
+    return false;
   if (!CheckRange(S, OpPC, Obj, CSK_Field))
     return false;
   const Pointer &Field = Obj.atField(I);
@@ -1542,7 +1542,7 @@ inline bool GetPtrActiveField(InterpState &S, CodePtr OpPC, uint32_t Off) {
 }
 
 inline bool GetPtrActiveThisField(InterpState &S, CodePtr OpPC, uint32_t Off) {
- if (S.checkingPotentialConstantExpression())
+  if (S.checkingPotentialConstantExpression())
     return false;
   const Pointer &This = S.Current->getThis();
   if (!CheckThis(S, OpPC, This))
@@ -2053,7 +2053,7 @@ template <PrimType TIn, PrimType TOut> bool Cast(InterpState &S, CodePtr OpPC) {
 /// 1) Pops a Floating from the stack.
 /// 2) Pushes a new floating on the stack that uses the given semantics.
 inline bool CastFP(InterpState &S, CodePtr OpPC, const llvm::fltSemantics *Sem,
-            llvm::RoundingMode RM) {
+                   llvm::RoundingMode RM) {
   Floating F = S.Stk.pop<Floating>();
   Floating Result = F.toSemantics(Sem, RM);
   S.Stk.push<Floating>(Result);
@@ -2313,9 +2313,9 @@ inline bool DoShift(InterpState &S, CodePtr OpPC, LT &LHS, RT &RHS) {
     if (!S.noteUndefinedBehavior())
       return false;
     RHS = -RHS;
-    return DoShift < LT, RT,
-           Dir == ShiftDir::Left ? ShiftDir::Right
-                                 : ShiftDir::Left > (S, OpPC, LHS, RHS);
+    return DoShift<LT, RT,
+                   Dir == ShiftDir::Left ? ShiftDir::Right : ShiftDir::Left>(
+        S, OpPC, LHS, RHS);
   }
 
   if constexpr (Dir == ShiftDir::Left) {
@@ -2467,7 +2467,8 @@ inline bool ArrayElemPop(InterpState &S, CodePtr OpPC, uint32_t Index) {
 }
 
 template <PrimType Name, class T = typename PrimConv<Name>::T>
-inline bool CopyArray(InterpState &S, CodePtr OpPC, uint32_t SrcIndex, uint32_t DestIndex, uint32_t Size) {
+inline bool CopyArray(InterpState &S, CodePtr OpPC, uint32_t SrcIndex,
+                      uint32_t DestIndex, uint32_t Size) {
   const auto &SrcPtr = S.Stk.pop<Pointer>();
   const auto &DestPtr = S.Stk.peek<Pointer>();
 

diff  --git a/clang/lib/AST/Interp/InterpBlock.cpp b/clang/lib/AST/ByteCode/InterpBlock.cpp
similarity index 100%
rename from clang/lib/AST/Interp/InterpBlock.cpp
rename to clang/lib/AST/ByteCode/InterpBlock.cpp

diff  --git a/clang/lib/AST/Interp/InterpBlock.h b/clang/lib/AST/ByteCode/InterpBlock.h
similarity index 100%
rename from clang/lib/AST/Interp/InterpBlock.h
rename to clang/lib/AST/ByteCode/InterpBlock.h
index 20cf8cb9d3810e..a5cd58e3a655a0 100644
--- a/clang/lib/AST/Interp/InterpBlock.h
+++ b/clang/lib/AST/ByteCode/InterpBlock.h
@@ -14,10 +14,10 @@
 #define LLVM_CLANG_AST_INTERP_BLOCK_H
 
 #include "Descriptor.h"
+#include "clang/AST/ComparisonCategories.h"
 #include "clang/AST/Decl.h"
 #include "clang/AST/DeclCXX.h"
 #include "clang/AST/Expr.h"
-#include "clang/AST/ComparisonCategories.h"
 #include "llvm/ADT/PointerUnion.h"
 #include "llvm/Support/raw_ostream.h"
 

diff  --git a/clang/lib/AST/Interp/InterpBuiltin.cpp b/clang/lib/AST/ByteCode/InterpBuiltin.cpp
similarity index 100%
rename from clang/lib/AST/Interp/InterpBuiltin.cpp
rename to clang/lib/AST/ByteCode/InterpBuiltin.cpp

diff  --git a/clang/lib/AST/Interp/InterpFrame.cpp b/clang/lib/AST/ByteCode/InterpFrame.cpp
similarity index 99%
rename from clang/lib/AST/Interp/InterpFrame.cpp
rename to clang/lib/AST/ByteCode/InterpFrame.cpp
index 4530f28d694e84..8b55b61cbbfa7e 100644
--- a/clang/lib/AST/Interp/InterpFrame.cpp
+++ b/clang/lib/AST/ByteCode/InterpFrame.cpp
@@ -137,7 +137,7 @@ void print(llvm::raw_ostream &OS, const Pointer &P, ASTContext &Ctx,
   if (!Ty->isReferenceType())
     OS << "&";
   llvm::SmallVector<Pointer, 2> Levels;
-  for (Pointer F = P; !F.isRoot(); ) {
+  for (Pointer F = P; !F.isRoot();) {
     Levels.push_back(F);
     F = F.isArrayElement() ? F.getArray().expand() : F.getBase();
   }

diff  --git a/clang/lib/AST/Interp/InterpFrame.h b/clang/lib/AST/ByteCode/InterpFrame.h
similarity index 99%
rename from clang/lib/AST/Interp/InterpFrame.h
rename to clang/lib/AST/ByteCode/InterpFrame.h
index 91b9b41b5d3343..1e0d2b1d4424b1 100644
--- a/clang/lib/AST/Interp/InterpFrame.h
+++ b/clang/lib/AST/ByteCode/InterpFrame.h
@@ -91,7 +91,7 @@ class InterpFrame final : public Frame {
 
   /// Mutates a local copy of a parameter.
   template <typename T> void setParam(unsigned Offset, const T &Value) {
-     getParamPointer(Offset).deref<T>() = Value;
+    getParamPointer(Offset).deref<T>() = Value;
   }
 
   /// Returns a pointer to an argument - lazily creates a block.

diff  --git a/clang/lib/AST/Interp/InterpShared.cpp b/clang/lib/AST/ByteCode/InterpShared.cpp
similarity index 100%
rename from clang/lib/AST/Interp/InterpShared.cpp
rename to clang/lib/AST/ByteCode/InterpShared.cpp

diff  --git a/clang/lib/AST/Interp/InterpShared.h b/clang/lib/AST/ByteCode/InterpShared.h
similarity index 100%
rename from clang/lib/AST/Interp/InterpShared.h
rename to clang/lib/AST/ByteCode/InterpShared.h

diff  --git a/clang/lib/AST/Interp/InterpStack.cpp b/clang/lib/AST/ByteCode/InterpStack.cpp
similarity index 98%
rename from clang/lib/AST/Interp/InterpStack.cpp
rename to clang/lib/AST/ByteCode/InterpStack.cpp
index c7024740d322ef..b8cdaeee72166c 100644
--- a/clang/lib/AST/Interp/InterpStack.cpp
+++ b/clang/lib/AST/ByteCode/InterpStack.cpp
@@ -18,9 +18,7 @@
 using namespace clang;
 using namespace clang::interp;
 
-InterpStack::~InterpStack() {
-  clear();
-}
+InterpStack::~InterpStack() { clear(); }
 
 void InterpStack::clear() {
   if (Chunk && Chunk->Next)

diff  --git a/clang/lib/AST/Interp/InterpStack.h b/clang/lib/AST/ByteCode/InterpStack.h
similarity index 97%
rename from clang/lib/AST/Interp/InterpStack.h
rename to clang/lib/AST/ByteCode/InterpStack.h
index 4966e2870de6bd..153d17f0d70e1b 100644
--- a/clang/lib/AST/Interp/InterpStack.h
+++ b/clang/lib/AST/ByteCode/InterpStack.h
@@ -32,7 +32,7 @@ class InterpStack final {
   ~InterpStack();
 
   /// Constructs a value in place on the top of the stack.
-  template <typename T, typename... Tys> void push(Tys &&... Args) {
+  template <typename T, typename... Tys> void push(Tys &&...Args) {
     new (grow(aligned_size<T>())) T(std::forward<Tys>(Args)...);
 #ifndef NDEBUG
     ItemTypes.push_back(toPrimType<T>());
@@ -153,8 +153,7 @@ class InterpStack final {
   template <typename T> static constexpr PrimType toPrimType() {
     if constexpr (std::is_same_v<T, Pointer>)
       return PT_Ptr;
-    else if constexpr (std::is_same_v<T, bool> ||
-                       std::is_same_v<T, Boolean>)
+    else if constexpr (std::is_same_v<T, bool> || std::is_same_v<T, Boolean>)
       return PT_Bool;
     else if constexpr (std::is_same_v<T, int8_t> ||
                        std::is_same_v<T, Integral<8, true>>)

diff  --git a/clang/lib/AST/Interp/InterpState.cpp b/clang/lib/AST/ByteCode/InterpState.cpp
similarity index 100%
rename from clang/lib/AST/Interp/InterpState.cpp
rename to clang/lib/AST/ByteCode/InterpState.cpp

diff  --git a/clang/lib/AST/Interp/InterpState.h b/clang/lib/AST/ByteCode/InterpState.h
similarity index 100%
rename from clang/lib/AST/Interp/InterpState.h
rename to clang/lib/AST/ByteCode/InterpState.h

diff  --git a/clang/lib/AST/Interp/MemberPointer.cpp b/clang/lib/AST/ByteCode/MemberPointer.cpp
similarity index 100%
rename from clang/lib/AST/Interp/MemberPointer.cpp
rename to clang/lib/AST/ByteCode/MemberPointer.cpp

diff  --git a/clang/lib/AST/Interp/MemberPointer.h b/clang/lib/AST/ByteCode/MemberPointer.h
similarity index 100%
rename from clang/lib/AST/Interp/MemberPointer.h
rename to clang/lib/AST/ByteCode/MemberPointer.h

diff  --git a/clang/lib/AST/Interp/Opcode.h b/clang/lib/AST/ByteCode/Opcode.h
similarity index 100%
rename from clang/lib/AST/Interp/Opcode.h
rename to clang/lib/AST/ByteCode/Opcode.h

diff  --git a/clang/lib/AST/Interp/Opcodes.td b/clang/lib/AST/ByteCode/Opcodes.td
similarity index 100%
rename from clang/lib/AST/Interp/Opcodes.td
rename to clang/lib/AST/ByteCode/Opcodes.td

diff  --git a/clang/lib/AST/Interp/Pointer.cpp b/clang/lib/AST/ByteCode/Pointer.cpp
similarity index 100%
rename from clang/lib/AST/Interp/Pointer.cpp
rename to clang/lib/AST/ByteCode/Pointer.cpp

diff  --git a/clang/lib/AST/Interp/Pointer.h b/clang/lib/AST/ByteCode/Pointer.h
similarity index 99%
rename from clang/lib/AST/Interp/Pointer.h
rename to clang/lib/AST/ByteCode/Pointer.h
index 01ccb88ec03b29..8db081c0ec82b3 100644
--- a/clang/lib/AST/Interp/Pointer.h
+++ b/clang/lib/AST/ByteCode/Pointer.h
@@ -173,7 +173,7 @@ class Pointer {
 
   /// Subtract the given offset from the current Base and Offset
   /// of the pointer.
-  [[nodiscard]]  Pointer atFieldSub(unsigned Off) const {
+  [[nodiscard]] Pointer atFieldSub(unsigned Off) const {
     assert(Offset >= Off);
     unsigned O = Offset - Off;
     return Pointer(asBlockPointer().Pointee, O, O);

diff  --git a/clang/lib/AST/Interp/PrimType.cpp b/clang/lib/AST/ByteCode/PrimType.cpp
similarity index 100%
rename from clang/lib/AST/Interp/PrimType.cpp
rename to clang/lib/AST/ByteCode/PrimType.cpp

diff  --git a/clang/lib/AST/Interp/PrimType.h b/clang/lib/AST/ByteCode/PrimType.h
similarity index 83%
rename from clang/lib/AST/Interp/PrimType.h
rename to clang/lib/AST/ByteCode/PrimType.h
index 20fb5e81774d6f..bb2f59d86e98d7 100644
--- a/clang/lib/AST/Interp/PrimType.h
+++ b/clang/lib/AST/ByteCode/PrimType.h
@@ -73,23 +73,45 @@ constexpr bool isIntegralType(PrimType T) { return T <= PT_Bool; }
 
 /// Mapping from primitive types to their representation.
 template <PrimType T> struct PrimConv;
-template <> struct PrimConv<PT_Sint8> { using T = Integral<8, true>; };
-template <> struct PrimConv<PT_Uint8> { using T = Integral<8, false>; };
-template <> struct PrimConv<PT_Sint16> { using T = Integral<16, true>; };
-template <> struct PrimConv<PT_Uint16> { using T = Integral<16, false>; };
-template <> struct PrimConv<PT_Sint32> { using T = Integral<32, true>; };
-template <> struct PrimConv<PT_Uint32> { using T = Integral<32, false>; };
-template <> struct PrimConv<PT_Sint64> { using T = Integral<64, true>; };
-template <> struct PrimConv<PT_Uint64> { using T = Integral<64, false>; };
+template <> struct PrimConv<PT_Sint8> {
+  using T = Integral<8, true>;
+};
+template <> struct PrimConv<PT_Uint8> {
+  using T = Integral<8, false>;
+};
+template <> struct PrimConv<PT_Sint16> {
+  using T = Integral<16, true>;
+};
+template <> struct PrimConv<PT_Uint16> {
+  using T = Integral<16, false>;
+};
+template <> struct PrimConv<PT_Sint32> {
+  using T = Integral<32, true>;
+};
+template <> struct PrimConv<PT_Uint32> {
+  using T = Integral<32, false>;
+};
+template <> struct PrimConv<PT_Sint64> {
+  using T = Integral<64, true>;
+};
+template <> struct PrimConv<PT_Uint64> {
+  using T = Integral<64, false>;
+};
 template <> struct PrimConv<PT_IntAP> {
   using T = IntegralAP<false>;
 };
 template <> struct PrimConv<PT_IntAPS> {
   using T = IntegralAP<true>;
 };
-template <> struct PrimConv<PT_Float> { using T = Floating; };
-template <> struct PrimConv<PT_Bool> { using T = Boolean; };
-template <> struct PrimConv<PT_Ptr> { using T = Pointer; };
+template <> struct PrimConv<PT_Float> {
+  using T = Floating;
+};
+template <> struct PrimConv<PT_Bool> {
+  using T = Boolean;
+};
+template <> struct PrimConv<PT_Ptr> {
+  using T = Pointer;
+};
 template <> struct PrimConv<PT_FnPtr> {
   using T = FunctionPointer;
 };
@@ -117,8 +139,12 @@ static inline bool aligned(const void *P) {
 
 /// Helper macro to simplify type switches.
 /// The macro implicitly exposes a type T in the scope of the inner block.
-#define TYPE_SWITCH_CASE(Name, B) \
-  case Name: { using T = PrimConv<Name>::T; B; break; }
+#define TYPE_SWITCH_CASE(Name, B)                                              \
+  case Name: {                                                                 \
+    using T = PrimConv<Name>::T;                                               \
+    B;                                                                         \
+    break;                                                                     \
+  }
 #define TYPE_SWITCH(Expr, B)                                                   \
   do {                                                                         \
     switch (Expr) {                                                            \
@@ -181,7 +207,10 @@ static inline bool aligned(const void *P) {
   do {                                                                         \
     switch (Expr) {                                                            \
       TYPE_SWITCH_CASE(PT_Ptr, B)                                              \
-      default: { D; break; }                                                   \
+    default: {                                                                 \
+      D;                                                                       \
+      break;                                                                   \
+    }                                                                          \
     }                                                                          \
   } while (0)
 #endif

diff  --git a/clang/lib/AST/Interp/Primitives.h b/clang/lib/AST/ByteCode/Primitives.h
similarity index 100%
rename from clang/lib/AST/Interp/Primitives.h
rename to clang/lib/AST/ByteCode/Primitives.h

diff  --git a/clang/lib/AST/Interp/Program.cpp b/clang/lib/AST/ByteCode/Program.cpp
similarity index 95%
rename from clang/lib/AST/Interp/Program.cpp
rename to clang/lib/AST/ByteCode/Program.cpp
index 9109956dc652cb..25b99115ddd777 100644
--- a/clang/lib/AST/Interp/Program.cpp
+++ b/clang/lib/AST/ByteCode/Program.cpp
@@ -76,26 +76,26 @@ unsigned Program::createGlobalString(const StringLiteral *S) {
     Pointer Field = Ptr.atIndex(I).narrow();
     const uint32_t CodePoint = I == N ? 0 : S->getCodeUnit(I);
     switch (CharType) {
-      case PT_Sint8: {
-        using T = PrimConv<PT_Sint8>::T;
-        Field.deref<T>() = T::from(CodePoint, BitWidth);
-        Field.initialize();
-        break;
-      }
-      case PT_Uint16: {
-        using T = PrimConv<PT_Uint16>::T;
-        Field.deref<T>() = T::from(CodePoint, BitWidth);
-        Field.initialize();
-        break;
-      }
-      case PT_Uint32: {
-        using T = PrimConv<PT_Uint32>::T;
-        Field.deref<T>() = T::from(CodePoint, BitWidth);
-        Field.initialize();
-        break;
-      }
-      default:
-        llvm_unreachable("unsupported character type");
+    case PT_Sint8: {
+      using T = PrimConv<PT_Sint8>::T;
+      Field.deref<T>() = T::from(CodePoint, BitWidth);
+      Field.initialize();
+      break;
+    }
+    case PT_Uint16: {
+      using T = PrimConv<PT_Uint16>::T;
+      Field.deref<T>() = T::from(CodePoint, BitWidth);
+      Field.initialize();
+      break;
+    }
+    case PT_Uint32: {
+      using T = PrimConv<PT_Uint32>::T;
+      Field.deref<T>() = T::from(CodePoint, BitWidth);
+      Field.initialize();
+      break;
+    }
+    default:
+      llvm_unreachable("unsupported character type");
     }
   }
   return I;
@@ -394,8 +394,7 @@ Descriptor *Program::createDescriptor(const DeclTy &D, const Type *Ty,
             D, ElemTy.getTypePtr(), std::nullopt, IsConst, IsTemporary);
         if (!ElemDesc)
           return nullptr;
-        unsigned ElemSize =
-            ElemDesc->getAllocSize() + sizeof(InlineDescriptor);
+        unsigned ElemSize = ElemDesc->getAllocSize() + sizeof(InlineDescriptor);
         if (std::numeric_limits<unsigned>::max() / ElemSize <= NumElems)
           return {};
         return allocateDescriptor(D, ElemDesc, MDSize, NumElems, IsConst,

diff  --git a/clang/lib/AST/Interp/Program.h b/clang/lib/AST/ByteCode/Program.h
similarity index 96%
rename from clang/lib/AST/Interp/Program.h
rename to clang/lib/AST/ByteCode/Program.h
index 1cabc5212180f2..7f69d9790fc79a 100644
--- a/clang/lib/AST/Interp/Program.h
+++ b/clang/lib/AST/ByteCode/Program.h
@@ -13,8 +13,6 @@
 #ifndef LLVM_CLANG_AST_INTERP_PROGRAM_H
 #define LLVM_CLANG_AST_INTERP_PROGRAM_H
 
-#include <map>
-#include <vector>
 #include "Function.h"
 #include "Pointer.h"
 #include "PrimType.h"
@@ -24,6 +22,8 @@
 #include "llvm/ADT/PointerUnion.h"
 #include "llvm/ADT/StringRef.h"
 #include "llvm/Support/Allocator.h"
+#include <map>
+#include <vector>
 
 namespace clang {
 class RecordDecl;
@@ -94,15 +94,14 @@ class Program final {
 
   /// Creates a new function from a code range.
   template <typename... Ts>
-  Function *createFunction(const FunctionDecl *Def, Ts &&... Args) {
+  Function *createFunction(const FunctionDecl *Def, Ts &&...Args) {
     Def = Def->getCanonicalDecl();
     auto *Func = new Function(*this, Def, std::forward<Ts>(Args)...);
     Funcs.insert({Def, std::unique_ptr<Function>(Func)});
     return Func;
   }
   /// Creates an anonymous function.
-  template <typename... Ts>
-  Function *createFunction(Ts &&... Args) {
+  template <typename... Ts> Function *createFunction(Ts &&...Args) {
     auto *Func = new Function(*this, std::forward<Ts>(Args)...);
     AnonFuncs.emplace_back(Func);
     return Func;
@@ -213,8 +212,7 @@ class Program final {
   llvm::DenseMap<const ValueDecl *, unsigned> DummyVariables;
 
   /// Creates a new descriptor.
-  template <typename... Ts>
-  Descriptor *allocateDescriptor(Ts &&... Args) {
+  template <typename... Ts> Descriptor *allocateDescriptor(Ts &&...Args) {
     return new (Allocator) Descriptor(std::forward<Ts>(Args)...);
   }
 
@@ -232,9 +230,7 @@ class Program final {
   }
 
   /// Ends a global declaration.
-  void endDeclaration() {
-    CurrentDeclaration = NoDeclaration;
-  }
+  void endDeclaration() { CurrentDeclaration = NoDeclaration; }
 
 public:
   /// Dumps the disassembled bytecode to \c llvm::errs().

diff  --git a/clang/lib/AST/Interp/Record.cpp b/clang/lib/AST/ByteCode/Record.cpp
similarity index 96%
rename from clang/lib/AST/Interp/Record.cpp
rename to clang/lib/AST/ByteCode/Record.cpp
index e7b741f2d458c8..ec1b55da347af6 100644
--- a/clang/lib/AST/Interp/Record.cpp
+++ b/clang/lib/AST/ByteCode/Record.cpp
@@ -18,7 +18,7 @@ Record::Record(const RecordDecl *Decl, BaseList &&SrcBases,
     : Decl(Decl), Bases(std::move(SrcBases)), Fields(std::move(SrcFields)),
       BaseSize(BaseSize), VirtualSize(VirtualSize), IsUnion(Decl->isUnion()) {
   for (Base &V : SrcVirtualBases)
-    VirtualBases.push_back({ V.Decl, V.Offset + BaseSize, V.Desc, V.R });
+    VirtualBases.push_back({V.Decl, V.Offset + BaseSize, V.Desc, V.R});
 
   for (Base &B : Bases)
     BaseMap[B.Decl] = &B;

diff  --git a/clang/lib/AST/Interp/Record.h b/clang/lib/AST/ByteCode/Record.h
similarity index 100%
rename from clang/lib/AST/Interp/Record.h
rename to clang/lib/AST/ByteCode/Record.h

diff  --git a/clang/lib/AST/Interp/Source.cpp b/clang/lib/AST/ByteCode/Source.cpp
similarity index 100%
rename from clang/lib/AST/Interp/Source.cpp
rename to clang/lib/AST/ByteCode/Source.cpp

diff  --git a/clang/lib/AST/Interp/Source.h b/clang/lib/AST/ByteCode/Source.h
similarity index 100%
rename from clang/lib/AST/Interp/Source.h
rename to clang/lib/AST/ByteCode/Source.h

diff  --git a/clang/lib/AST/Interp/State.cpp b/clang/lib/AST/ByteCode/State.cpp
similarity index 100%
rename from clang/lib/AST/Interp/State.cpp
rename to clang/lib/AST/ByteCode/State.cpp

diff  --git a/clang/lib/AST/Interp/State.h b/clang/lib/AST/ByteCode/State.h
similarity index 100%
rename from clang/lib/AST/Interp/State.h
rename to clang/lib/AST/ByteCode/State.h

diff  --git a/clang/lib/AST/CMakeLists.txt b/clang/lib/AST/CMakeLists.txt
index 70aecb781c2ff2..041252b6830e0a 100644
--- a/clang/lib/AST/CMakeLists.txt
+++ b/clang/lib/AST/CMakeLists.txt
@@ -11,7 +11,7 @@ set(LLVM_LINK_COMPONENTS
 # another library which depends on clangAST.
 clang_tablegen(Opcodes.inc
   -gen-clang-opcodes
-  SOURCE Interp/Opcodes.td
+  SOURCE ByteCode/Opcodes.td
   TARGET Opcodes)
 
 clang_tablegen(AttrDocTable.inc -gen-clang-attr-doc-table
@@ -64,31 +64,31 @@ add_clang_library(clangAST
   ExternalASTSource.cpp
   FormatString.cpp
   InheritViz.cpp
-  Interp/ByteCodeEmitter.cpp
-  Interp/Compiler.cpp
-  Interp/Context.cpp
-  Interp/Descriptor.cpp
-  Interp/Disasm.cpp
-  Interp/EvalEmitter.cpp
-  Interp/Frame.cpp
-  Interp/Function.cpp
-  Interp/InterpBuiltin.cpp
-  Interp/Floating.cpp
-  Interp/EvaluationResult.cpp
-  Interp/DynamicAllocator.cpp
-  Interp/Interp.cpp
-  Interp/InterpBlock.cpp
-  Interp/InterpFrame.cpp
-  Interp/InterpStack.cpp
-  Interp/InterpState.cpp
-  Interp/Pointer.cpp
-  Interp/PrimType.cpp
-  Interp/Program.cpp
-  Interp/Record.cpp
-  Interp/Source.cpp
-  Interp/State.cpp
-  Interp/MemberPointer.cpp
-  Interp/InterpShared.cpp
+  ByteCode/ByteCodeEmitter.cpp
+  ByteCode/Compiler.cpp
+  ByteCode/Context.cpp
+  ByteCode/Descriptor.cpp
+  ByteCode/Disasm.cpp
+  ByteCode/EvalEmitter.cpp
+  ByteCode/Frame.cpp
+  ByteCode/Function.cpp
+  ByteCode/InterpBuiltin.cpp
+  ByteCode/Floating.cpp
+  ByteCode/EvaluationResult.cpp
+  ByteCode/DynamicAllocator.cpp
+  ByteCode/Interp.cpp
+  ByteCode/InterpBlock.cpp
+  ByteCode/InterpFrame.cpp
+  ByteCode/InterpStack.cpp
+  ByteCode/InterpState.cpp
+  ByteCode/Pointer.cpp
+  ByteCode/PrimType.cpp
+  ByteCode/Program.cpp
+  ByteCode/Record.cpp
+  ByteCode/Source.cpp
+  ByteCode/State.cpp
+  ByteCode/MemberPointer.cpp
+  ByteCode/InterpShared.cpp
   ItaniumCXXABI.cpp
   ItaniumMangle.cpp
   JSONNodeDumper.cpp

diff  --git a/clang/lib/AST/ExprConstShared.h b/clang/lib/AST/ExprConstShared.h
index 2a7088e4e371a1..efe8ee986d29b3 100644
--- a/clang/lib/AST/ExprConstShared.h
+++ b/clang/lib/AST/ExprConstShared.h
@@ -7,7 +7,7 @@
 //===----------------------------------------------------------------------===//
 //
 // Shared functionality between the new constant expression
-// interpreter (AST/Interp/) and the current one (ExprConstant.cpp).
+// interpreter (AST/ByteCode/) and the current one (ExprConstant.cpp).
 //
 //===----------------------------------------------------------------------===//
 

diff  --git a/clang/lib/AST/ExprConstant.cpp b/clang/lib/AST/ExprConstant.cpp
index 09edbb6641650a..7bfc63ffd81e28 100644
--- a/clang/lib/AST/ExprConstant.cpp
+++ b/clang/lib/AST/ExprConstant.cpp
@@ -32,10 +32,10 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "ByteCode/Context.h"
+#include "ByteCode/Frame.h"
+#include "ByteCode/State.h"
 #include "ExprConstShared.h"
-#include "Interp/Context.h"
-#include "Interp/Frame.h"
-#include "Interp/State.h"
 #include "clang/AST/APValue.h"
 #include "clang/AST/ASTContext.h"
 #include "clang/AST/ASTDiagnostic.h"

diff  --git a/clang/test/AST/Interp/arrays.cpp b/clang/test/AST/ByteCode/arrays.cpp
similarity index 100%
rename from clang/test/AST/Interp/arrays.cpp
rename to clang/test/AST/ByteCode/arrays.cpp

diff  --git a/clang/test/AST/Interp/atomic.c b/clang/test/AST/ByteCode/atomic.c
similarity index 100%
rename from clang/test/AST/Interp/atomic.c
rename to clang/test/AST/ByteCode/atomic.c

diff  --git a/clang/test/AST/Interp/atomic.cpp b/clang/test/AST/ByteCode/atomic.cpp
similarity index 100%
rename from clang/test/AST/Interp/atomic.cpp
rename to clang/test/AST/ByteCode/atomic.cpp

diff  --git a/clang/test/AST/Interp/bitfields.cpp b/clang/test/AST/ByteCode/bitfields.cpp
similarity index 100%
rename from clang/test/AST/Interp/bitfields.cpp
rename to clang/test/AST/ByteCode/bitfields.cpp

diff  --git a/clang/test/AST/Interp/builtin-align-cxx.cpp b/clang/test/AST/ByteCode/builtin-align-cxx.cpp
similarity index 100%
rename from clang/test/AST/Interp/builtin-align-cxx.cpp
rename to clang/test/AST/ByteCode/builtin-align-cxx.cpp

diff  --git a/clang/test/AST/Interp/builtin-constant-p.cpp b/clang/test/AST/ByteCode/builtin-constant-p.cpp
similarity index 100%
rename from clang/test/AST/Interp/builtin-constant-p.cpp
rename to clang/test/AST/ByteCode/builtin-constant-p.cpp

diff  --git a/clang/test/AST/Interp/builtin-functions.cpp b/clang/test/AST/ByteCode/builtin-functions.cpp
similarity index 100%
rename from clang/test/AST/Interp/builtin-functions.cpp
rename to clang/test/AST/ByteCode/builtin-functions.cpp

diff  --git a/clang/test/AST/Interp/builtins.cpp b/clang/test/AST/ByteCode/builtins.cpp
similarity index 100%
rename from clang/test/AST/Interp/builtins.cpp
rename to clang/test/AST/ByteCode/builtins.cpp

diff  --git a/clang/test/AST/Interp/c.c b/clang/test/AST/ByteCode/c.c
similarity index 100%
rename from clang/test/AST/Interp/c.c
rename to clang/test/AST/ByteCode/c.c

diff  --git a/clang/test/AST/Interp/c23.c b/clang/test/AST/ByteCode/c23.c
similarity index 100%
rename from clang/test/AST/Interp/c23.c
rename to clang/test/AST/ByteCode/c23.c

diff  --git a/clang/test/AST/Interp/codegen.cpp b/clang/test/AST/ByteCode/codegen.cpp
similarity index 100%
rename from clang/test/AST/Interp/codegen.cpp
rename to clang/test/AST/ByteCode/codegen.cpp

diff  --git a/clang/test/AST/Interp/comma.cpp b/clang/test/AST/ByteCode/comma.cpp
similarity index 100%
rename from clang/test/AST/Interp/comma.cpp
rename to clang/test/AST/ByteCode/comma.cpp

diff  --git a/clang/test/AST/Interp/complex.c b/clang/test/AST/ByteCode/complex.c
similarity index 100%
rename from clang/test/AST/Interp/complex.c
rename to clang/test/AST/ByteCode/complex.c

diff  --git a/clang/test/AST/Interp/complex.cpp b/clang/test/AST/ByteCode/complex.cpp
similarity index 100%
rename from clang/test/AST/Interp/complex.cpp
rename to clang/test/AST/ByteCode/complex.cpp

diff  --git a/clang/test/AST/Interp/cond.cpp b/clang/test/AST/ByteCode/cond.cpp
similarity index 100%
rename from clang/test/AST/Interp/cond.cpp
rename to clang/test/AST/ByteCode/cond.cpp

diff  --git a/clang/test/AST/Interp/const-eval.c b/clang/test/AST/ByteCode/const-eval.c
similarity index 100%
rename from clang/test/AST/Interp/const-eval.c
rename to clang/test/AST/ByteCode/const-eval.c

diff  --git a/clang/test/AST/Interp/const-fpfeatures.cpp b/clang/test/AST/ByteCode/const-fpfeatures.cpp
similarity index 100%
rename from clang/test/AST/Interp/const-fpfeatures.cpp
rename to clang/test/AST/ByteCode/const-fpfeatures.cpp

diff  --git a/clang/test/AST/Interp/const-temporaries.cpp b/clang/test/AST/ByteCode/const-temporaries.cpp
similarity index 100%
rename from clang/test/AST/Interp/const-temporaries.cpp
rename to clang/test/AST/ByteCode/const-temporaries.cpp

diff  --git a/clang/test/AST/Interp/constexpr-frame-describe.cpp b/clang/test/AST/ByteCode/constexpr-frame-describe.cpp
similarity index 100%
rename from clang/test/AST/Interp/constexpr-frame-describe.cpp
rename to clang/test/AST/ByteCode/constexpr-frame-describe.cpp

diff  --git a/clang/test/AST/Interp/constexpr-nqueens.cpp b/clang/test/AST/ByteCode/constexpr-nqueens.cpp
similarity index 100%
rename from clang/test/AST/Interp/constexpr-nqueens.cpp
rename to clang/test/AST/ByteCode/constexpr-nqueens.cpp

diff  --git a/clang/test/AST/Interp/constexpr-subobj-initialization.cpp b/clang/test/AST/ByteCode/constexpr-subobj-initialization.cpp
similarity index 100%
rename from clang/test/AST/Interp/constexpr-subobj-initialization.cpp
rename to clang/test/AST/ByteCode/constexpr-subobj-initialization.cpp

diff  --git a/clang/test/AST/Interp/crash-GH49103-2.cpp b/clang/test/AST/ByteCode/crash-GH49103-2.cpp
similarity index 100%
rename from clang/test/AST/Interp/crash-GH49103-2.cpp
rename to clang/test/AST/ByteCode/crash-GH49103-2.cpp

diff  --git a/clang/test/AST/Interp/cxx03.cpp b/clang/test/AST/ByteCode/cxx03.cpp
similarity index 100%
rename from clang/test/AST/Interp/cxx03.cpp
rename to clang/test/AST/ByteCode/cxx03.cpp

diff  --git a/clang/test/AST/Interp/cxx11.cpp b/clang/test/AST/ByteCode/cxx11.cpp
similarity index 100%
rename from clang/test/AST/Interp/cxx11.cpp
rename to clang/test/AST/ByteCode/cxx11.cpp

diff  --git a/clang/test/AST/Interp/cxx17.cpp b/clang/test/AST/ByteCode/cxx17.cpp
similarity index 100%
rename from clang/test/AST/Interp/cxx17.cpp
rename to clang/test/AST/ByteCode/cxx17.cpp

diff  --git a/clang/test/AST/Interp/cxx20.cpp b/clang/test/AST/ByteCode/cxx20.cpp
similarity index 100%
rename from clang/test/AST/Interp/cxx20.cpp
rename to clang/test/AST/ByteCode/cxx20.cpp

diff  --git a/clang/test/AST/Interp/cxx23.cpp b/clang/test/AST/ByteCode/cxx23.cpp
similarity index 100%
rename from clang/test/AST/Interp/cxx23.cpp
rename to clang/test/AST/ByteCode/cxx23.cpp

diff  --git a/clang/test/AST/Interp/cxx26.cpp b/clang/test/AST/ByteCode/cxx26.cpp
similarity index 100%
rename from clang/test/AST/Interp/cxx26.cpp
rename to clang/test/AST/ByteCode/cxx26.cpp

diff  --git a/clang/test/AST/Interp/cxx2a.cpp b/clang/test/AST/ByteCode/cxx2a.cpp
similarity index 100%
rename from clang/test/AST/Interp/cxx2a.cpp
rename to clang/test/AST/ByteCode/cxx2a.cpp

diff  --git a/clang/test/AST/Interp/cxx98.cpp b/clang/test/AST/ByteCode/cxx98.cpp
similarity index 100%
rename from clang/test/AST/Interp/cxx98.cpp
rename to clang/test/AST/ByteCode/cxx98.cpp

diff  --git a/clang/test/AST/Interp/depth-limit.cpp b/clang/test/AST/ByteCode/depth-limit.cpp
similarity index 100%
rename from clang/test/AST/Interp/depth-limit.cpp
rename to clang/test/AST/ByteCode/depth-limit.cpp

diff  --git a/clang/test/AST/Interp/depth-limit2.cpp b/clang/test/AST/ByteCode/depth-limit2.cpp
similarity index 100%
rename from clang/test/AST/Interp/depth-limit2.cpp
rename to clang/test/AST/ByteCode/depth-limit2.cpp

diff  --git a/clang/test/AST/Interp/enums-targets.cpp b/clang/test/AST/ByteCode/enums-targets.cpp
similarity index 100%
rename from clang/test/AST/Interp/enums-targets.cpp
rename to clang/test/AST/ByteCode/enums-targets.cpp

diff  --git a/clang/test/AST/Interp/enums.cpp b/clang/test/AST/ByteCode/enums.cpp
similarity index 100%
rename from clang/test/AST/Interp/enums.cpp
rename to clang/test/AST/ByteCode/enums.cpp

diff  --git a/clang/test/AST/Interp/eval-order.cpp b/clang/test/AST/ByteCode/eval-order.cpp
similarity index 100%
rename from clang/test/AST/Interp/eval-order.cpp
rename to clang/test/AST/ByteCode/eval-order.cpp

diff  --git a/clang/test/AST/Interp/floats.cpp b/clang/test/AST/ByteCode/floats.cpp
similarity index 100%
rename from clang/test/AST/Interp/floats.cpp
rename to clang/test/AST/ByteCode/floats.cpp

diff  --git a/clang/test/AST/Interp/functions.cpp b/clang/test/AST/ByteCode/functions.cpp
similarity index 100%
rename from clang/test/AST/Interp/functions.cpp
rename to clang/test/AST/ByteCode/functions.cpp

diff  --git a/clang/test/AST/Interp/hlsl.hlsl b/clang/test/AST/ByteCode/hlsl.hlsl
similarity index 100%
rename from clang/test/AST/Interp/hlsl.hlsl
rename to clang/test/AST/ByteCode/hlsl.hlsl

diff  --git a/clang/test/AST/Interp/if.cpp b/clang/test/AST/ByteCode/if.cpp
similarity index 100%
rename from clang/test/AST/Interp/if.cpp
rename to clang/test/AST/ByteCode/if.cpp

diff  --git a/clang/test/AST/Interp/intap.cpp b/clang/test/AST/ByteCode/intap.cpp
similarity index 100%
rename from clang/test/AST/Interp/intap.cpp
rename to clang/test/AST/ByteCode/intap.cpp

diff  --git a/clang/test/AST/Interp/invalid.cpp b/clang/test/AST/ByteCode/invalid.cpp
similarity index 100%
rename from clang/test/AST/Interp/invalid.cpp
rename to clang/test/AST/ByteCode/invalid.cpp

diff  --git a/clang/test/AST/Interp/lambda.cpp b/clang/test/AST/ByteCode/lambda.cpp
similarity index 100%
rename from clang/test/AST/Interp/lambda.cpp
rename to clang/test/AST/ByteCode/lambda.cpp

diff  --git a/clang/test/AST/Interp/lifetimes.cpp b/clang/test/AST/ByteCode/lifetimes.cpp
similarity index 100%
rename from clang/test/AST/Interp/lifetimes.cpp
rename to clang/test/AST/ByteCode/lifetimes.cpp

diff  --git a/clang/test/AST/Interp/literals.cpp b/clang/test/AST/ByteCode/literals.cpp
similarity index 100%
rename from clang/test/AST/Interp/literals.cpp
rename to clang/test/AST/ByteCode/literals.cpp

diff  --git a/clang/test/AST/Interp/loops.cpp b/clang/test/AST/ByteCode/loops.cpp
similarity index 100%
rename from clang/test/AST/Interp/loops.cpp
rename to clang/test/AST/ByteCode/loops.cpp

diff  --git a/clang/test/AST/Interp/memberpointers.cpp b/clang/test/AST/ByteCode/memberpointers.cpp
similarity index 100%
rename from clang/test/AST/Interp/memberpointers.cpp
rename to clang/test/AST/ByteCode/memberpointers.cpp

diff  --git a/clang/test/AST/Interp/ms.cpp b/clang/test/AST/ByteCode/ms.cpp
similarity index 100%
rename from clang/test/AST/Interp/ms.cpp
rename to clang/test/AST/ByteCode/ms.cpp

diff  --git a/clang/test/AST/Interp/mutable.cpp b/clang/test/AST/ByteCode/mutable.cpp
similarity index 100%
rename from clang/test/AST/Interp/mutable.cpp
rename to clang/test/AST/ByteCode/mutable.cpp

diff  --git a/clang/test/AST/Interp/new-delete.cpp b/clang/test/AST/ByteCode/new-delete.cpp
similarity index 100%
rename from clang/test/AST/Interp/new-delete.cpp
rename to clang/test/AST/ByteCode/new-delete.cpp

diff  --git a/clang/test/AST/Interp/nullable.cpp b/clang/test/AST/ByteCode/nullable.cpp
similarity index 100%
rename from clang/test/AST/Interp/nullable.cpp
rename to clang/test/AST/ByteCode/nullable.cpp

diff  --git a/clang/test/AST/Interp/objc.mm b/clang/test/AST/ByteCode/objc.mm
similarity index 100%
rename from clang/test/AST/Interp/objc.mm
rename to clang/test/AST/ByteCode/objc.mm

diff  --git a/clang/test/AST/Interp/opencl.cl b/clang/test/AST/ByteCode/opencl.cl
similarity index 100%
rename from clang/test/AST/Interp/opencl.cl
rename to clang/test/AST/ByteCode/opencl.cl

diff  --git a/clang/test/AST/Interp/pointer-addition.c b/clang/test/AST/ByteCode/pointer-addition.c
similarity index 100%
rename from clang/test/AST/Interp/pointer-addition.c
rename to clang/test/AST/ByteCode/pointer-addition.c

diff  --git a/clang/test/AST/Interp/records.cpp b/clang/test/AST/ByteCode/records.cpp
similarity index 100%
rename from clang/test/AST/Interp/records.cpp
rename to clang/test/AST/ByteCode/records.cpp

diff  --git a/clang/test/AST/Interp/references.cpp b/clang/test/AST/ByteCode/references.cpp
similarity index 100%
rename from clang/test/AST/Interp/references.cpp
rename to clang/test/AST/ByteCode/references.cpp

diff  --git a/clang/test/AST/Interp/shifts.cpp b/clang/test/AST/ByteCode/shifts.cpp
similarity index 100%
rename from clang/test/AST/Interp/shifts.cpp
rename to clang/test/AST/ByteCode/shifts.cpp

diff  --git a/clang/test/AST/Interp/spaceship.cpp b/clang/test/AST/ByteCode/spaceship.cpp
similarity index 100%
rename from clang/test/AST/Interp/spaceship.cpp
rename to clang/test/AST/ByteCode/spaceship.cpp

diff  --git a/clang/test/AST/Interp/switch.cpp b/clang/test/AST/ByteCode/switch.cpp
similarity index 100%
rename from clang/test/AST/Interp/switch.cpp
rename to clang/test/AST/ByteCode/switch.cpp

diff  --git a/clang/test/AST/Interp/sycl.cpp b/clang/test/AST/ByteCode/sycl.cpp
similarity index 100%
rename from clang/test/AST/Interp/sycl.cpp
rename to clang/test/AST/ByteCode/sycl.cpp

diff  --git a/clang/test/AST/Interp/unions.cpp b/clang/test/AST/ByteCode/unions.cpp
similarity index 100%
rename from clang/test/AST/Interp/unions.cpp
rename to clang/test/AST/ByteCode/unions.cpp

diff  --git a/clang/test/AST/Interp/vectors.cpp b/clang/test/AST/ByteCode/vectors.cpp
similarity index 100%
rename from clang/test/AST/Interp/vectors.cpp
rename to clang/test/AST/ByteCode/vectors.cpp

diff  --git a/clang/test/AST/Interp/weak.cpp b/clang/test/AST/ByteCode/weak.cpp
similarity index 100%
rename from clang/test/AST/Interp/weak.cpp
rename to clang/test/AST/ByteCode/weak.cpp

diff  --git a/clang/unittests/AST/Interp/CMakeLists.txt b/clang/unittests/AST/ByteCode/CMakeLists.txt
similarity index 100%
rename from clang/unittests/AST/Interp/CMakeLists.txt
rename to clang/unittests/AST/ByteCode/CMakeLists.txt

diff  --git a/clang/unittests/AST/Interp/Descriptor.cpp b/clang/unittests/AST/ByteCode/Descriptor.cpp
similarity index 95%
rename from clang/unittests/AST/Interp/Descriptor.cpp
rename to clang/unittests/AST/ByteCode/Descriptor.cpp
index abcf1bb0714cc8..9e09c7f15ac9a2 100644
--- a/clang/unittests/AST/Interp/Descriptor.cpp
+++ b/clang/unittests/AST/ByteCode/Descriptor.cpp
@@ -1,6 +1,6 @@
-#include "../../../lib/AST/Interp/Descriptor.h"
-#include "../../../lib/AST/Interp/Context.h"
-#include "../../../lib/AST/Interp/Program.h"
+#include "../../../lib/AST/ByteCode/Descriptor.h"
+#include "../../../lib/AST/ByteCode/Context.h"
+#include "../../../lib/AST/ByteCode/Program.h"
 #include "clang/AST/ASTContext.h"
 #include "clang/AST/Decl.h"
 #include "clang/ASTMatchers/ASTMatchFinder.h"
@@ -15,17 +15,17 @@ using namespace clang::ast_matchers;
 /// Inspect generated Descriptors as well as the pointers we create.
 ///
 TEST(Descriptor, Primitives) {
-  constexpr char Code[] =
-      "struct A { bool a; bool b; };\n"
-      "struct S {\n"
-      "  float f;\n"
-      "  char s[4];\n"
-      "  A a[3];\n"
-      "  short l[3][3];\n"
-      "  int EmptyA[0];\n"
-      "};\n"
-      "constexpr S d = {0.0, \"foo\", {{true, false}, {false, true}, {false, false}},\n"
-      "  {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}, {}};\n";
+  constexpr char Code[] = "struct A { bool a; bool b; };\n"
+                          "struct S {\n"
+                          "  float f;\n"
+                          "  char s[4];\n"
+                          "  A a[3];\n"
+                          "  short l[3][3];\n"
+                          "  int EmptyA[0];\n"
+                          "};\n"
+                          "constexpr S d = {0.0, \"foo\", {{true, false}, "
+                          "{false, true}, {false, false}},\n"
+                          "  {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}, {}};\n";
 
   auto AST = tooling::buildASTFromCodeWithArgs(
       Code, {"-fexperimental-new-constant-interpreter"});

diff  --git a/clang/unittests/AST/Interp/toAPValue.cpp b/clang/unittests/AST/ByteCode/toAPValue.cpp
similarity index 98%
rename from clang/unittests/AST/Interp/toAPValue.cpp
rename to clang/unittests/AST/ByteCode/toAPValue.cpp
index 5ec607a8243492..3f141878fb9594 100644
--- a/clang/unittests/AST/Interp/toAPValue.cpp
+++ b/clang/unittests/AST/ByteCode/toAPValue.cpp
@@ -1,6 +1,6 @@
-#include "../../../lib/AST/Interp/Context.h"
-#include "../../../lib/AST/Interp/Descriptor.h"
-#include "../../../lib/AST/Interp/Program.h"
+#include "../../../lib/AST/ByteCode/Context.h"
+#include "../../../lib/AST/ByteCode/Descriptor.h"
+#include "../../../lib/AST/ByteCode/Program.h"
 #include "clang/AST/ASTContext.h"
 #include "clang/AST/Decl.h"
 #include "clang/ASTMatchers/ASTMatchFinder.h"

diff  --git a/clang/unittests/AST/CMakeLists.txt b/clang/unittests/AST/CMakeLists.txt
index 51245599736cfb..40d2e1ff77a601 100644
--- a/clang/unittests/AST/CMakeLists.txt
+++ b/clang/unittests/AST/CMakeLists.txt
@@ -5,7 +5,7 @@ set(LLVM_LINK_COMPONENTS
   )
 
 
-add_subdirectory(Interp)
+add_subdirectory(ByteCode)
 
 add_clang_unittest(ASTTests
   ASTContextParentMapTest.cpp


        


More information about the cfe-commits mailing list