#include "source/opt/dead_insert_elim_pass.h"
#include "source/opt/composite.h"
#include "source/opt/ir_context.h"
#include "source/opt/iterator.h"
#include "spirv/1.2/GLSL.std.450.h"
namespace spvtools {
namespace opt {
namespace {
constexpr uint32_t kTypeVectorCountInIdx = …;
constexpr uint32_t kTypeMatrixCountInIdx = …;
constexpr uint32_t kTypeArrayLengthIdInIdx = …;
constexpr uint32_t kTypeIntWidthInIdx = …;
constexpr uint32_t kConstantValueInIdx = …;
constexpr uint32_t kInsertObjectIdInIdx = …;
constexpr uint32_t kInsertCompositeIdInIdx = …;
}
uint32_t DeadInsertElimPass::NumComponents(Instruction* typeInst) { … }
void DeadInsertElimPass::MarkInsertChain(
Instruction* insertChain, std::vector<uint32_t>* pExtIndices,
uint32_t extOffset, std::unordered_set<uint32_t>* visited_phis) { … }
bool DeadInsertElimPass::EliminateDeadInserts(Function* func) { … }
bool DeadInsertElimPass::EliminateDeadInsertsOnePass(Function* func) { … }
Pass::Status DeadInsertElimPass::Process() { … }
}
}