#include "source/opt/eliminate_dead_output_stores_pass.h"
#include "source/opt/instruction.h"
#include "source/opt/ir_context.h"
namespace spvtools {
namespace opt {
namespace {
constexpr uint32_t kDecorationLocationInIdx = …;
constexpr uint32_t kOpDecorateMemberMemberInIdx = …;
constexpr uint32_t kOpDecorateBuiltInLiteralInIdx = …;
constexpr uint32_t kOpDecorateMemberBuiltInLiteralInIdx = …;
constexpr uint32_t kOpAccessChainIdx0InIdx = …;
constexpr uint32_t kOpConstantValueInIdx = …;
}
Pass::Status EliminateDeadOutputStoresPass::Process() { … }
void EliminateDeadOutputStoresPass::InitializeElimination() { … }
bool EliminateDeadOutputStoresPass::IsLiveBuiltin(uint32_t bi) { … }
bool EliminateDeadOutputStoresPass::AnyLocsAreLive(uint32_t start,
uint32_t count) { … }
void EliminateDeadOutputStoresPass::KillAllStoresOfRef(Instruction* ref) { … }
void EliminateDeadOutputStoresPass::KillAllDeadStoresOfLocRef(
Instruction* ref, Instruction* var) { … }
void EliminateDeadOutputStoresPass::KillAllDeadStoresOfBuiltinRef(
Instruction* ref, Instruction* var) { … }
Pass::Status EliminateDeadOutputStoresPass::DoDeadOutputStoreElimination() { … }
}
}