#ifndef V8_COMPILER_TURBOSHAFT_COPYING_PHASE_H_
#define V8_COMPILER_TURBOSHAFT_COPYING_PHASE_H_
#include <algorithm>
#include <cstddef>
#include <cstdint>
#include <optional>
#include <utility>
#include "src/base/iterator.h"
#include "src/base/logging.h"
#include "src/base/small-vector.h"
#include "src/base/vector.h"
#include "src/codegen/optimized-compilation-info.h"
#include "src/codegen/source-position.h"
#include "src/compiler/node-origin-table.h"
#include "src/compiler/turboshaft/assembler.h"
#include "src/compiler/turboshaft/graph.h"
#include "src/compiler/turboshaft/index.h"
#include "src/compiler/turboshaft/operations.h"
#include "src/compiler/turboshaft/phase.h"
#include "src/compiler/turboshaft/reducer-traits.h"
#include "src/compiler/turboshaft/representations.h"
#include "src/compiler/turboshaft/snapshot-table.h"
#include "src/compiler/turboshaft/variable-reducer.h"
#include "src/zone/zone-containers.h"
namespace v8::internal::compiler::turboshaft {
MaybeVariable;
V8_EXPORT_PRIVATE int CountDecimalDigits(uint32_t value);
struct PaddingSpace { … };
V8_EXPORT_PRIVATE std::ostream& operator<<(std::ostream& os,
PaddingSpace padding);
template <typename Next>
class ReducerBaseForwarder;
template <typename Next>
class WasmRevecReducer;
template <typename Derived, typename Base>
class OutputGraphAssembler : public Base { … };
template <class AfterNext>
class GraphVisitor : public OutputGraphAssembler<GraphVisitor<AfterNext>,
VariableReducer<AfterNext>> { … };
template <template <class> class... Reducers>
class TSAssembler;
template <template <class> class... Reducers>
class CopyingPhaseImpl { … };
template <template <typename> typename... Reducers>
class CopyingPhase { … };
}
#endif