shader_ir: Pass to decoder functions basic block's code

This commit is contained in:
ReinUsesLisp
2018-12-28 20:00:36 -03:00
parent 2d6c064e66
commit 170c8212bb
27 changed files with 82 additions and 81 deletions

View File

@ -566,31 +566,31 @@ private:
*/
u32 DecodeInstr(BasicBlock& bb, u32 pc);
u32 DecodeArithmetic(BasicBlock& bb, u32 pc);
u32 DecodeArithmeticImmediate(BasicBlock& bb, u32 pc);
u32 DecodeBfe(BasicBlock& bb, u32 pc);
u32 DecodeBfi(BasicBlock& bb, u32 pc);
u32 DecodeShift(BasicBlock& bb, u32 pc);
u32 DecodeArithmeticInteger(BasicBlock& bb, u32 pc);
u32 DecodeArithmeticIntegerImmediate(BasicBlock& bb, u32 pc);
u32 DecodeArithmeticHalf(BasicBlock& bb, u32 pc);
u32 DecodeArithmeticHalfImmediate(BasicBlock& bb, u32 pc);
u32 DecodeFfma(BasicBlock& bb, u32 pc);
u32 DecodeHfma2(BasicBlock& bb, u32 pc);
u32 DecodeConversion(BasicBlock& bb, u32 pc);
u32 DecodeMemory(BasicBlock& bb, u32 pc);
u32 DecodeFloatSetPredicate(BasicBlock& bb, u32 pc);
u32 DecodeIntegerSetPredicate(BasicBlock& bb, u32 pc);
u32 DecodeHalfSetPredicate(BasicBlock& bb, u32 pc);
u32 DecodePredicateSetRegister(BasicBlock& bb, u32 pc);
u32 DecodePredicateSetPredicate(BasicBlock& bb, u32 pc);
u32 DecodeRegisterSetPredicate(BasicBlock& bb, u32 pc);
u32 DecodeFloatSet(BasicBlock& bb, u32 pc);
u32 DecodeIntegerSet(BasicBlock& bb, u32 pc);
u32 DecodeHalfSet(BasicBlock& bb, u32 pc);
u32 DecodeVideo(BasicBlock& bb, u32 pc);
u32 DecodeXmad(BasicBlock& bb, u32 pc);
u32 DecodeOther(BasicBlock& bb, u32 pc);
u32 DecodeArithmetic(BasicBlock& bb, const BasicBlock& code, u32 pc);
u32 DecodeArithmeticImmediate(BasicBlock& bb, const BasicBlock& code, u32 pc);
u32 DecodeBfe(BasicBlock& bb, const BasicBlock& code, u32 pc);
u32 DecodeBfi(BasicBlock& bb, const BasicBlock& code, u32 pc);
u32 DecodeShift(BasicBlock& bb, const BasicBlock& code, u32 pc);
u32 DecodeArithmeticInteger(BasicBlock& bb, const BasicBlock& code, u32 pc);
u32 DecodeArithmeticIntegerImmediate(BasicBlock& bb, const BasicBlock& code, u32 pc);
u32 DecodeArithmeticHalf(BasicBlock& bb, const BasicBlock& code, u32 pc);
u32 DecodeArithmeticHalfImmediate(BasicBlock& bb, const BasicBlock& code, u32 pc);
u32 DecodeFfma(BasicBlock& bb, const BasicBlock& code, u32 pc);
u32 DecodeHfma2(BasicBlock& bb, const BasicBlock& code, u32 pc);
u32 DecodeConversion(BasicBlock& bb, const BasicBlock& code, u32 pc);
u32 DecodeMemory(BasicBlock& bb, const BasicBlock& code, u32 pc);
u32 DecodeFloatSetPredicate(BasicBlock& bb, const BasicBlock& code, u32 pc);
u32 DecodeIntegerSetPredicate(BasicBlock& bb, const BasicBlock& code, u32 pc);
u32 DecodeHalfSetPredicate(BasicBlock& bb, const BasicBlock& code, u32 pc);
u32 DecodePredicateSetRegister(BasicBlock& bb, const BasicBlock& code, u32 pc);
u32 DecodePredicateSetPredicate(BasicBlock& bb, const BasicBlock& code, u32 pc);
u32 DecodeRegisterSetPredicate(BasicBlock& bb, const BasicBlock& code, u32 pc);
u32 DecodeFloatSet(BasicBlock& bb, const BasicBlock& code, u32 pc);
u32 DecodeIntegerSet(BasicBlock& bb, const BasicBlock& code, u32 pc);
u32 DecodeHalfSet(BasicBlock& bb, const BasicBlock& code, u32 pc);
u32 DecodeVideo(BasicBlock& bb, const BasicBlock& code, u32 pc);
u32 DecodeXmad(BasicBlock& bb, const BasicBlock& code, u32 pc);
u32 DecodeOther(BasicBlock& bb, const BasicBlock& code, u32 pc);
/// Internalizes node's data and returns a managed pointer to a clone of that node
Node StoreNode(NodeData&& node_data);