From 8d40f659fabdba2d6a17228f76168e7bdbf5c955 Mon Sep 17 00:00:00 2001 From: Stefan Weigl-Bosker Date: Thu, 15 Jan 2026 17:35:43 -0500 Subject: [willow]: iron out design (#6) --- willow/lib/IR/Instruction.cpp | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) (limited to 'willow/lib/IR/Instruction.cpp') diff --git a/willow/lib/IR/Instruction.cpp b/willow/lib/IR/Instruction.cpp index a61cd55..587736d 100644 --- a/willow/lib/IR/Instruction.cpp +++ b/willow/lib/IR/Instruction.cpp @@ -1,3 +1,38 @@ #include -namespace willow {}; +namespace willow { + +bool Instruction::isTerminatorOp(Opcode op) { + using enum Opcode; + switch (op) { + case Jmp: + case Br: + case Call: + case Ret: + return true; + case Add: + case Mul: + case Sub: + case Div: + case Mod: + case Shl: + case Shr: + case Ashl: + case Ashr: + case Eq: + case Lt: + case Gt: + case Le: + case Ge: + case And: + case Or: + case Not: + case Phi: + case Alloca: + return false; + } +} + +Successors Instruction::succs(); + +}; // namespace willow -- cgit v1.2.3