Fix tailcall case in EmitterContext (#1235)
This commit is contained in:
parent
492bb6ee5f
commit
4b79b78b8c
1 changed files with 4 additions and 9 deletions
|
@ -609,15 +609,10 @@ namespace ARMeilleure.Translation
|
||||||
|
|
||||||
private static bool EndsWithUnconditional(BasicBlock block)
|
private static bool EndsWithUnconditional(BasicBlock block)
|
||||||
{
|
{
|
||||||
Operation lastOp = block.GetLastOp() as Operation;
|
return block.Operations.Last is Operation lastOp &&
|
||||||
|
(lastOp.Instruction == Instruction.Branch ||
|
||||||
if (lastOp == null)
|
lastOp.Instruction == Instruction.Return ||
|
||||||
{
|
lastOp.Instruction == Instruction.Tailcall);
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return lastOp.Instruction == Instruction.Branch ||
|
|
||||||
lastOp.Instruction == Instruction.Return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ControlFlowGraph GetControlFlowGraph()
|
public ControlFlowGraph GetControlFlowGraph()
|
||||||
|
|
Reference in a new issue