[all-commits] [llvm/llvm-project] fddfd6: [clang][bytecode] Add `EvalSettings` struct and re...

Timm Baeder via All-commits all-commits at lists.llvm.org
Mon Sep 28 20:34:35 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: fddfd6f01e3f203df3fc1d7fc7769bcb9745d0fa
      https://github.com/llvm/llvm-project/commit/fddfd6f01e3f203df3fc1d7fc7769bcb9745d0fa
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2026-09-29 (Tue, 29 Sep 2026)

  Changed paths:
    M clang/lib/AST/ByteCode/Context.cpp
    M clang/lib/AST/ByteCode/Context.h
    M clang/lib/AST/ByteCode/EvalEmitter.cpp
    M clang/lib/AST/ByteCode/EvalEmitter.h
    A clang/lib/AST/ByteCode/EvalSettings.h
    M clang/lib/AST/ByteCode/InterpState.cpp
    M clang/lib/AST/ByteCode/InterpState.h
    M clang/lib/AST/ExprConstant.cpp

  Log Message:
  -----------
  [clang][bytecode] Add `EvalSettings` struct and replace parent `State` (#226175)

We currently always construct a full `EvalInfo` when using the bytecode
interpreter, we then pass it to the `evaluate*` function, which only
copies a few values from it.

Introduce a new `EvalSettings` struct that we pass instead of a `State`.
This is cheaper to construct and we only pass what's needed. There is
one `evaluateAsRValue` overload left that takes a parent `State`, that
will be removed in a subsequent patch.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list