refactor(furlang/ir): add version to register_operand

Refs: #2
This commit is contained in:
2026-06-12 14:07:09 +02:00
parent 865691df26
commit 6b92e19b23
2 changed files with 29 additions and 7 deletions
+3 -3
View File
@@ -22,8 +22,8 @@ void ssa::optimize(const std::unique_ptr<furlang::ir::function>& func) {
block_map_t predecessors;
block_map_t successors;
std::unordered_map<furlang::ir::register_operand, std::unordered_set<furlang::ir::block_index>> regSites;
std::unordered_map<furlang::ir::block_index, std::unordered_set<furlang::ir::register_operand>> regUses;
std::unordered_map<furlang::ir::register_t, std::unordered_set<furlang::ir::block_index>> regSites;
std::unordered_map<furlang::ir::block_index, std::unordered_set<furlang::ir::register_t>> regUses;
std::unordered_map<furlang::ir::block_index, furlang::ir::block_index> idoms;
@@ -139,7 +139,7 @@ void ssa::optimize(const std::unique_ptr<furlang::ir::function>& func) {
}
}
std::unordered_map<furlang::ir::block_index, std::unordered_set<furlang::ir::register_operand>> phis;
std::unordered_map<furlang::ir::block_index, std::unordered_set<furlang::ir::register_t>> phis;
for (const auto& [reg, blocks] : regSites) {
std::vector<furlang::ir::block_index> worklist(blocks.begin(), blocks.end());