Added DoStringise() for DXIL::DW_OP

This commit is contained in:
Jake Turner
2024-09-13 14:40:28 +01:00
parent eed31e2a09
commit 881e5e8e03
2 changed files with 169 additions and 0 deletions
@@ -760,3 +760,4 @@ struct DIImportedEntity : public DIBase
}; // namespace DXIL
DECLARE_REFLECTION_ENUM(DXIL::DW_LANG);
DECLARE_STRINGISE_TYPE(DXIL::DW_OP);
@@ -24,6 +24,7 @@
#include "dxil_bytecode.h"
#include "dxil_common.h"
#include "dxil_debuginfo.h"
template <>
rdcstr DoStringise(const DXIL::InstructionFlags &el)
@@ -559,3 +560,170 @@ rdcstr DoStringise(const DXIL::DIBase::Type &el)
}
END_ENUM_STRINGISE();
};
template <>
rdcstr DoStringise(const DXIL::DW_OP &el)
{
BEGIN_ENUM_STRINGISE(DXIL::DW_OP);
{
STRINGISE_ENUM_CLASS(DW_OP_none);
STRINGISE_ENUM_CLASS(DW_OP_addr);
STRINGISE_ENUM_CLASS(DW_OP_deref);
STRINGISE_ENUM_CLASS(DW_OP_const1u);
STRINGISE_ENUM_CLASS(DW_OP_const1s);
STRINGISE_ENUM_CLASS(DW_OP_const2u);
STRINGISE_ENUM_CLASS(DW_OP_const2s);
STRINGISE_ENUM_CLASS(DW_OP_const4u);
STRINGISE_ENUM_CLASS(DW_OP_const4s);
STRINGISE_ENUM_CLASS(DW_OP_const8u);
STRINGISE_ENUM_CLASS(DW_OP_const8s);
STRINGISE_ENUM_CLASS(DW_OP_constu);
STRINGISE_ENUM_CLASS(DW_OP_consts);
STRINGISE_ENUM_CLASS(DW_OP_dup);
STRINGISE_ENUM_CLASS(DW_OP_drop);
STRINGISE_ENUM_CLASS(DW_OP_over);
STRINGISE_ENUM_CLASS(DW_OP_pick);
STRINGISE_ENUM_CLASS(DW_OP_swap);
STRINGISE_ENUM_CLASS(DW_OP_rot);
STRINGISE_ENUM_CLASS(DW_OP_xderef);
STRINGISE_ENUM_CLASS(DW_OP_abs);
STRINGISE_ENUM_CLASS(DW_OP_and);
STRINGISE_ENUM_CLASS(DW_OP_div);
STRINGISE_ENUM_CLASS(DW_OP_minus);
STRINGISE_ENUM_CLASS(DW_OP_mod);
STRINGISE_ENUM_CLASS(DW_OP_mul);
STRINGISE_ENUM_CLASS(DW_OP_neg);
STRINGISE_ENUM_CLASS(DW_OP_not);
STRINGISE_ENUM_CLASS(DW_OP_or);
STRINGISE_ENUM_CLASS(DW_OP_plus);
STRINGISE_ENUM_CLASS(DW_OP_plus_uconst);
STRINGISE_ENUM_CLASS(DW_OP_shl);
STRINGISE_ENUM_CLASS(DW_OP_shr);
STRINGISE_ENUM_CLASS(DW_OP_shra);
STRINGISE_ENUM_CLASS(DW_OP_xor);
STRINGISE_ENUM_CLASS(DW_OP_skip);
STRINGISE_ENUM_CLASS(DW_OP_bra);
STRINGISE_ENUM_CLASS(DW_OP_eq);
STRINGISE_ENUM_CLASS(DW_OP_ge);
STRINGISE_ENUM_CLASS(DW_OP_gt);
STRINGISE_ENUM_CLASS(DW_OP_le);
STRINGISE_ENUM_CLASS(DW_OP_lt);
STRINGISE_ENUM_CLASS(DW_OP_ne);
STRINGISE_ENUM_CLASS(DW_OP_lit0);
STRINGISE_ENUM_CLASS(DW_OP_lit1);
STRINGISE_ENUM_CLASS(DW_OP_lit2);
STRINGISE_ENUM_CLASS(DW_OP_lit3);
STRINGISE_ENUM_CLASS(DW_OP_lit4);
STRINGISE_ENUM_CLASS(DW_OP_lit5);
STRINGISE_ENUM_CLASS(DW_OP_lit6);
STRINGISE_ENUM_CLASS(DW_OP_lit7);
STRINGISE_ENUM_CLASS(DW_OP_lit8);
STRINGISE_ENUM_CLASS(DW_OP_lit9);
STRINGISE_ENUM_CLASS(DW_OP_lit10);
STRINGISE_ENUM_CLASS(DW_OP_lit11);
STRINGISE_ENUM_CLASS(DW_OP_lit12);
STRINGISE_ENUM_CLASS(DW_OP_lit13);
STRINGISE_ENUM_CLASS(DW_OP_lit14);
STRINGISE_ENUM_CLASS(DW_OP_lit15);
STRINGISE_ENUM_CLASS(DW_OP_lit16);
STRINGISE_ENUM_CLASS(DW_OP_lit17);
STRINGISE_ENUM_CLASS(DW_OP_lit18);
STRINGISE_ENUM_CLASS(DW_OP_lit19);
STRINGISE_ENUM_CLASS(DW_OP_lit20);
STRINGISE_ENUM_CLASS(DW_OP_lit21);
STRINGISE_ENUM_CLASS(DW_OP_lit22);
STRINGISE_ENUM_CLASS(DW_OP_lit23);
STRINGISE_ENUM_CLASS(DW_OP_lit24);
STRINGISE_ENUM_CLASS(DW_OP_lit25);
STRINGISE_ENUM_CLASS(DW_OP_lit26);
STRINGISE_ENUM_CLASS(DW_OP_lit27);
STRINGISE_ENUM_CLASS(DW_OP_lit28);
STRINGISE_ENUM_CLASS(DW_OP_lit29);
STRINGISE_ENUM_CLASS(DW_OP_lit30);
STRINGISE_ENUM_CLASS(DW_OP_lit31);
STRINGISE_ENUM_CLASS(DW_OP_reg0);
STRINGISE_ENUM_CLASS(DW_OP_reg1);
STRINGISE_ENUM_CLASS(DW_OP_reg2);
STRINGISE_ENUM_CLASS(DW_OP_reg3);
STRINGISE_ENUM_CLASS(DW_OP_reg4);
STRINGISE_ENUM_CLASS(DW_OP_reg5);
STRINGISE_ENUM_CLASS(DW_OP_reg6);
STRINGISE_ENUM_CLASS(DW_OP_reg7);
STRINGISE_ENUM_CLASS(DW_OP_reg8);
STRINGISE_ENUM_CLASS(DW_OP_reg9);
STRINGISE_ENUM_CLASS(DW_OP_reg10);
STRINGISE_ENUM_CLASS(DW_OP_reg11);
STRINGISE_ENUM_CLASS(DW_OP_reg12);
STRINGISE_ENUM_CLASS(DW_OP_reg13);
STRINGISE_ENUM_CLASS(DW_OP_reg14);
STRINGISE_ENUM_CLASS(DW_OP_reg15);
STRINGISE_ENUM_CLASS(DW_OP_reg16);
STRINGISE_ENUM_CLASS(DW_OP_reg17);
STRINGISE_ENUM_CLASS(DW_OP_reg18);
STRINGISE_ENUM_CLASS(DW_OP_reg19);
STRINGISE_ENUM_CLASS(DW_OP_reg20);
STRINGISE_ENUM_CLASS(DW_OP_reg21);
STRINGISE_ENUM_CLASS(DW_OP_reg22);
STRINGISE_ENUM_CLASS(DW_OP_reg23);
STRINGISE_ENUM_CLASS(DW_OP_reg24);
STRINGISE_ENUM_CLASS(DW_OP_reg25);
STRINGISE_ENUM_CLASS(DW_OP_reg26);
STRINGISE_ENUM_CLASS(DW_OP_reg27);
STRINGISE_ENUM_CLASS(DW_OP_reg28);
STRINGISE_ENUM_CLASS(DW_OP_reg29);
STRINGISE_ENUM_CLASS(DW_OP_reg30);
STRINGISE_ENUM_CLASS(DW_OP_reg31);
STRINGISE_ENUM_CLASS(DW_OP_breg0);
STRINGISE_ENUM_CLASS(DW_OP_breg1);
STRINGISE_ENUM_CLASS(DW_OP_breg2);
STRINGISE_ENUM_CLASS(DW_OP_breg3);
STRINGISE_ENUM_CLASS(DW_OP_breg4);
STRINGISE_ENUM_CLASS(DW_OP_breg5);
STRINGISE_ENUM_CLASS(DW_OP_breg6);
STRINGISE_ENUM_CLASS(DW_OP_breg7);
STRINGISE_ENUM_CLASS(DW_OP_breg8);
STRINGISE_ENUM_CLASS(DW_OP_breg9);
STRINGISE_ENUM_CLASS(DW_OP_breg10);
STRINGISE_ENUM_CLASS(DW_OP_breg11);
STRINGISE_ENUM_CLASS(DW_OP_breg12);
STRINGISE_ENUM_CLASS(DW_OP_breg13);
STRINGISE_ENUM_CLASS(DW_OP_breg14);
STRINGISE_ENUM_CLASS(DW_OP_breg15);
STRINGISE_ENUM_CLASS(DW_OP_breg16);
STRINGISE_ENUM_CLASS(DW_OP_breg17);
STRINGISE_ENUM_CLASS(DW_OP_breg18);
STRINGISE_ENUM_CLASS(DW_OP_breg19);
STRINGISE_ENUM_CLASS(DW_OP_breg20);
STRINGISE_ENUM_CLASS(DW_OP_breg21);
STRINGISE_ENUM_CLASS(DW_OP_breg22);
STRINGISE_ENUM_CLASS(DW_OP_breg23);
STRINGISE_ENUM_CLASS(DW_OP_breg24);
STRINGISE_ENUM_CLASS(DW_OP_breg25);
STRINGISE_ENUM_CLASS(DW_OP_breg26);
STRINGISE_ENUM_CLASS(DW_OP_breg27);
STRINGISE_ENUM_CLASS(DW_OP_breg28);
STRINGISE_ENUM_CLASS(DW_OP_breg29);
STRINGISE_ENUM_CLASS(DW_OP_breg30);
STRINGISE_ENUM_CLASS(DW_OP_breg31);
STRINGISE_ENUM_CLASS(DW_OP_regx);
STRINGISE_ENUM_CLASS(DW_OP_fbreg);
STRINGISE_ENUM_CLASS(DW_OP_bregx);
STRINGISE_ENUM_CLASS(DW_OP_piece);
STRINGISE_ENUM_CLASS(DW_OP_deref_size);
STRINGISE_ENUM_CLASS(DW_OP_xderef_size);
STRINGISE_ENUM_CLASS(DW_OP_nop);
STRINGISE_ENUM_CLASS(DW_OP_push_object_address);
STRINGISE_ENUM_CLASS(DW_OP_call2);
STRINGISE_ENUM_CLASS(DW_OP_call4);
STRINGISE_ENUM_CLASS(DW_OP_call_ref);
STRINGISE_ENUM_CLASS(DW_OP_form_tls_address);
STRINGISE_ENUM_CLASS(DW_OP_call_frame_cfa);
STRINGISE_ENUM_CLASS(DW_OP_bit_piece);
STRINGISE_ENUM_CLASS(DW_OP_implicit_value);
STRINGISE_ENUM_CLASS(DW_OP_stack_value);
STRINGISE_ENUM_CLASS(DW_OP_GNU_push_tls_address);
STRINGISE_ENUM_CLASS(DW_OP_GNU_addr_index);
STRINGISE_ENUM_CLASS(DW_OP_GNU_const_index);
}
END_ENUM_STRINGISE();
};