Added uint32_t ssaID to DXIL::GlobalVar

Changed GlobalVar::align from uint64_t -> uint32_t to make space for the new member
This commit is contained in:
Jake Turner
2024-09-20 10:05:20 +01:00
parent e22bf99392
commit d46b29a916
2 changed files with 5 additions and 3 deletions
@@ -1092,10 +1092,12 @@ struct GlobalVar : public ForwardReferencableValue<GlobalVar>
static constexpr ValueKind Kind = ValueKind::GlobalVar;
GlobalVar() : ForwardReferencableValue(Kind) {}
rdcstr name;
uint64_t align = 0;
const Constant *initialiser = NULL;
uint32_t align = 0;
int32_t section = -1;
GlobalFlags flags = GlobalFlags::NoFlags;
const Constant *initialiser = NULL;
// unique global ID used by the debugger and disassembly similar to Instruction member variable slot
uint32_t ssaId = ~0U;
};
struct DIBase
@@ -598,7 +598,7 @@ bytebuf ProgramEditor::EncodeProgram()
for(size_t i = 0; i < m_GlobalVars.size(); i++)
{
cfg.maxAlign = RDCMAX(m_GlobalVars[i]->align, cfg.maxAlign);
cfg.maxAlign = RDCMAX((uint64_t)m_GlobalVars[i]->align, cfg.maxAlign);
RDCASSERT(m_GlobalVars[i]->type->type == Type::Pointer);
uint32_t typeIndex = uint32_t(getTypeID(m_GlobalVars[i]->type->inner));
cfg.maxGlobalType = RDCMAX(typeIndex, cfg.maxGlobalType);