@samitouri / QOS-React / commits / e665f6b877

Cleanup in advance of reworking codegen

Joe Savona committed Nov 8, 2022 at 14:45 UTC e665f6b877ec5f6ce29ccac50c25ab30e9ad1165
2 files changed +8 -9
compiler/forget/src/HIR/BuildHIR.ts
+6 -7
@@ -156,8 +156,7 @@ function lowerStatement(
156 test,
157 consequent: consequentBlock,
158 alternate: alternateBlock,
159 - fallthrough:
160 - alternateBlock !== continuationBlock.id ? continuationBlock.id : null,
159 + fallthrough: continuationBlock.id,
160 };
161 builder.terminateWithContinuation(terminal, continuationBlock);
162 return;
@@ -226,7 +225,7 @@ function lowerStatement(
225 test,
226 consequent: loopBlock,
227 alternate: continuationBlock.id,
229 - fallthrough: continuationBlock.id, // TODO: improve loop handling
228 + fallthrough: continuationBlock.id,
229 };
230 builder.terminateWithContinuation(terminal, continuationBlock);
231 return;
@@ -276,7 +275,7 @@ function lowerStatement(
275 test,
276 consequent: loopBlock,
277 alternate: continuationBlock.id,
279 - fallthrough: continuationBlock.id, // TODO: improve loop handling
278 + fallthrough: continuationBlock.id,
279 };
280 builder.terminateWithContinuation(terminal, continuationBlock);
281 return;
@@ -346,7 +345,7 @@ function lowerStatement(
345 test: lowerExpressionToPlace(builder, test),
346 consequent: loopBlock,
347 alternate: continuationBlock.id,
349 - fallthrough: continuationBlock.id, // TODO: improve loop handling
348 + fallthrough: continuationBlock.id,
349 };
350 } else {
351 /**
@@ -379,7 +378,7 @@ function lowerStatement(
378 test,
379 consequent: loopBlock,
380 alternate: continuationBlock.id,
382 - fallthrough: continuationBlock.id, // TODO: improve loop handling
381 + fallthrough: continuationBlock.id,
382 };
383 return terminal;
384 });
@@ -433,7 +432,7 @@ function lowerStatement(
432 test,
433 consequent: loopBlock,
434 alternate: continuationBlock.id,
436 - fallthrough: continuationBlock.id, // TODO: improve loop handling
435 + fallthrough: continuationBlock.id,
436 };
437 // Complete the conditional and continue with code after the loop
438 builder.terminateWithContinuation(terminal, continuationBlock);
compiler/forget/src/HIR/HIRBuilder.ts
+2 -2
@@ -499,7 +499,7 @@ function markInstructionIds(func: HIR) {
499
500 function markPredecessors(func: HIR) {
501 const visited: Set<BlockId> = new Set();
502 - function visit(blockId: BlockId, prevBlock?: BasicBlock) {
502 + function visit(blockId: BlockId, prevBlock: BasicBlock | null) {
503 const block = func.blocks.get(blockId)!;
504 if (prevBlock) {
505 block.preds.add(prevBlock);
@@ -542,7 +542,7 @@ function markPredecessors(func: HIR) {
542 }
543 }
544 }
545 - visit(func.entry);
545 + visit(func.entry, null);
546 }
547
548 /**