#include "convert_to_half_pass.h"
#include "source/opt/ir_builder.h"
namespace spvtools {
namespace opt {
namespace {
constexpr int kImageSampleDrefIdInIdx = …;
}
bool ConvertToHalfPass::IsArithmetic(Instruction* inst) { … }
bool ConvertToHalfPass::IsFloat(Instruction* inst, uint32_t width) { … }
bool ConvertToHalfPass::IsStruct(Instruction* inst) { … }
bool ConvertToHalfPass::IsDecoratedRelaxed(Instruction* inst) { … }
bool ConvertToHalfPass::IsRelaxed(uint32_t id) { … }
void ConvertToHalfPass::AddRelaxed(uint32_t id) { … }
bool ConvertToHalfPass::CanRelaxOpOperands(Instruction* inst) { … }
analysis::Type* ConvertToHalfPass::FloatScalarType(uint32_t width) { … }
analysis::Type* ConvertToHalfPass::FloatVectorType(uint32_t v_len,
uint32_t width) { … }
analysis::Type* ConvertToHalfPass::FloatMatrixType(uint32_t v_cnt,
uint32_t vty_id,
uint32_t width) { … }
uint32_t ConvertToHalfPass::EquivFloatTypeId(uint32_t ty_id, uint32_t width) { … }
void ConvertToHalfPass::GenConvert(uint32_t* val_idp, uint32_t width,
Instruction* inst) { … }
bool ConvertToHalfPass::MatConvertCleanup(Instruction* inst) { … }
bool ConvertToHalfPass::RemoveRelaxedDecoration(uint32_t id) { … }
bool ConvertToHalfPass::GenHalfArith(Instruction* inst) { … }
bool ConvertToHalfPass::ProcessPhi(Instruction* inst, uint32_t from_width,
uint32_t to_width) { … }
bool ConvertToHalfPass::ProcessConvert(Instruction* inst) { … }
bool ConvertToHalfPass::ProcessImageRef(Instruction* inst) { … }
bool ConvertToHalfPass::ProcessDefault(Instruction* inst) { … }
bool ConvertToHalfPass::GenHalfInst(Instruction* inst) { … }
bool ConvertToHalfPass::CloseRelaxInst(Instruction* inst) { … }
bool ConvertToHalfPass::ProcessFunction(Function* func) { … }
Pass::Status ConvertToHalfPass::ProcessImpl() { … }
Pass::Status ConvertToHalfPass::Process() { … }
void ConvertToHalfPass::Initialize() { … }
}
}