#include "fix_storage_class.h"
#include <set>
#include "source/opt/instruction.h"
#include "source/opt/ir_context.h"
namespace spvtools {
namespace opt {
Pass::Status FixStorageClass::Process() { … }
bool FixStorageClass::PropagateStorageClass(Instruction* inst,
spv::StorageClass storage_class,
std::set<uint32_t>* seen) { … }
void FixStorageClass::FixInstructionStorageClass(
Instruction* inst, spv::StorageClass storage_class,
std::set<uint32_t>* seen) { … }
void FixStorageClass::ChangeResultStorageClass(
Instruction* inst, spv::StorageClass storage_class) const { … }
bool FixStorageClass::IsPointerResultType(Instruction* inst) { … }
bool FixStorageClass::IsPointerToStorageClass(Instruction* inst,
spv::StorageClass storage_class) { … }
bool FixStorageClass::ChangeResultType(Instruction* inst,
uint32_t new_type_id) { … }
bool FixStorageClass::PropagateType(Instruction* inst, uint32_t type_id,
uint32_t op_idx, std::set<uint32_t>* seen) { … }
uint32_t FixStorageClass::WalkAccessChainType(Instruction* inst, uint32_t id) { … }
}
}