Shader_IR: mark labels as unused for partial decompile.

pull/8/head
Fernando Sahmkow 6 years ago committed by FernandoS27
parent 47e4f6a52c
commit 0366c18d87

@ -497,9 +497,7 @@ void ASTManager::Decompile() {
}
}
if (can_remove) {
auto& manager = label->GetManager();
manager.Remove(label);
labels.erase(it);
label->MarkLabelUnused();
}
}
}

@ -112,6 +112,7 @@ class ASTLabel {
public:
ASTLabel(u32 index) : index{index} {}
u32 index;
bool unused{};
};
class ASTGoto {
@ -204,6 +205,13 @@ public:
return nullptr;
}
void MarkLabelUnused() const {
auto inner = std::get_if<ASTLabel>(&data);
if (inner) {
inner->unused = true;
}
}
Expr GetIfCondition() const {
auto inner = std::get_if<ASTIfThen>(&data);
if (inner) {

Loading…
Cancel
Save