Reactor: Do not start the unreachable block with Unreachable

The LLVM Unreachable instruction is a terminator instruction.
It is illegal to place any instructions after this in the same block.

Bug: b/131914569
Change-Id: I6dd4ca4f8ca911dc94ba5674db598078060ef795
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30453
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Tested-by: Ben Clayton <bclayton@google.com>
diff --git a/src/Reactor/Reactor.cpp b/src/Reactor/Reactor.cpp
index faaf679..f079f32 100644
--- a/src/Reactor/Reactor.cpp
+++ b/src/Reactor/Reactor.cpp
@@ -4196,15 +4196,15 @@
 	void Return()
 	{
 		Nucleus::createRetVoid();
+		// Place any unreachable instructions in an unreferenced block.
 		Nucleus::setInsertBlock(Nucleus::createBasicBlock());
-		Nucleus::createUnreachable();
 	}
 
 	void Return(RValue<Int> ret)
 	{
 		Nucleus::createRet(ret.value);
+		// Place any unreachable instructions in an unreferenced block.
 		Nucleus::setInsertBlock(Nucleus::createBasicBlock());
-		Nucleus::createUnreachable();
 	}
 
 	void branch(RValue<Bool> cmp, BasicBlock *bodyBB, BasicBlock *endBB)
diff --git a/src/Reactor/Reactor.hpp b/src/Reactor/Reactor.hpp
index 7f458d4..82fa23a 100644
--- a/src/Reactor/Reactor.hpp
+++ b/src/Reactor/Reactor.hpp
@@ -2973,8 +2973,8 @@
 	{
 		RR_DEBUG_INFO_UPDATE_LOC();
 		Nucleus::createRet(Nucleus::createLoad(ret.address, Pointer<T>::getType()));
+		// Place any unreachable instructions in an unreferenced block.
 		Nucleus::setInsertBlock(Nucleus::createBasicBlock());
-		Nucleus::createUnreachable();
 	}
 
 	template<class T>
@@ -2982,8 +2982,8 @@
 	{
 		RR_DEBUG_INFO_UPDATE_LOC();
 		Nucleus::createRet(ret.value);
+		// Place any unreachable instructions in an unreferenced block.
 		Nucleus::setInsertBlock(Nucleus::createBasicBlock());
-		Nucleus::createUnreachable();
 	}
 
 	template<typename Return, typename... Arguments>