Implement switch constructs. Bug swiftshader:6 Change-Id: Ifd28cab11e814dd09515ad8721f8d3d86123f19c Reviewed-on: https://swiftshader-review.googlesource.com/7970 Reviewed-by: Nicolas Capens <capn@google.com> Tested-by: Nicolas Capens <capn@google.com> Reviewed-on: https://swiftshader-review.googlesource.com/8165 Reviewed-by: Alexis Hétu <sugoi@google.com>
diff --git a/src/Reactor/Nucleus.hpp b/src/Reactor/Nucleus.hpp index 8cb8787..ddca385 100644 --- a/src/Reactor/Nucleus.hpp +++ b/src/Reactor/Nucleus.hpp
@@ -23,6 +23,7 @@ { class Type; class Value; + class SwitchCases; class BasicBlock; class Routine; @@ -144,8 +145,8 @@ // Other instructions static Value *createSelect(Value *C, Value *ifTrue, Value *ifFalse); - static Value *createSwitch(Value *V, BasicBlock *Dest, unsigned NumCases); - static void addSwitchCase(Value *Switch, int Case, BasicBlock *Branch); + static SwitchCases *createSwitch(Value *control, BasicBlock *defaultBranch, unsigned numCases); + static void addSwitchCase(SwitchCases *switchCases, int label, BasicBlock *branch); static void createUnreachable(); // Constant values