#include "source/opt/if_conversion.h"
#include <memory>
#include <vector>
#include "source/opt/value_number_table.h"
namespace spvtools {
namespace opt {
Pass::Status IfConversion::Process() { … }
bool IfConversion::CheckBlock(BasicBlock* block, DominatorAnalysis* dominators,
BasicBlock** common) { … }
bool IfConversion::CheckPhiUsers(Instruction* phi, BasicBlock* block) { … }
uint32_t IfConversion::SplatCondition(analysis::Vector* vec_data_ty,
uint32_t cond,
InstructionBuilder* builder) { … }
bool IfConversion::CheckType(uint32_t id) { … }
BasicBlock* IfConversion::GetBlock(uint32_t id) { … }
BasicBlock* IfConversion::GetIncomingBlock(Instruction* phi,
uint32_t predecessor) { … }
Instruction* IfConversion::GetIncomingValue(Instruction* phi,
uint32_t predecessor) { … }
void IfConversion::HoistInstruction(Instruction* inst, BasicBlock* target_block,
DominatorAnalysis* dominators) { … }
bool IfConversion::CanHoistInstruction(Instruction* inst,
BasicBlock* target_block,
DominatorAnalysis* dominators) { … }
}
}