Don't return values from terminator instructions.

All LLVM instructions are LLVM values, but in the case of terminator
instructions their value is meaningless, and we don't use them.

Bug swiftshader:10

Change-Id: I9eb71e1dcea2614cb810021dfbf3c8908a7e2510
Reviewed-on: https://swiftshader-review.googlesource.com/7355
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
diff --git a/src/Reactor/LLVMReactor.cpp b/src/Reactor/LLVMReactor.cpp
index fb1cf03..4069523 100644
--- a/src/Reactor/LLVMReactor.cpp
+++ b/src/Reactor/LLVMReactor.cpp
@@ -319,28 +319,28 @@
 		return V(&*args);
 	}
 
-	Value *Nucleus::createRetVoid()
+	void Nucleus::createRetVoid()
 	{
 		x86::emms();
 
-		return V(::builder->CreateRetVoid());
+		::builder->CreateRetVoid();
 	}
 
-	Value *Nucleus::createRet(Value *v)
+	void Nucleus::createRet(Value *v)
 	{
 		x86::emms();
 
-		return V(::builder->CreateRet(v));
+		::builder->CreateRet(v);
 	}
 
-	Value *Nucleus::createBr(BasicBlock *dest)
+	void Nucleus::createBr(BasicBlock *dest)
 	{
-		return V(::builder->CreateBr(dest));
+		::builder->CreateBr(dest);
 	}
 
-	Value *Nucleus::createCondBr(Value *cond, BasicBlock *ifTrue, BasicBlock *ifFalse)
+	void Nucleus::createCondBr(Value *cond, BasicBlock *ifTrue, BasicBlock *ifFalse)
 	{
-		return V(::builder->CreateCondBr(cond, ifTrue, ifFalse));
+		::builder->CreateCondBr(cond, ifTrue, ifFalse);
 	}
 
 	Value *Nucleus::createAdd(Value *lhs, Value *rhs)
@@ -683,9 +683,9 @@
 		reinterpret_cast<SwitchInst*>(Switch)->addCase(llvm::ConstantInt::get(Type::getInt32Ty(*::context), Case, true), Branch);
 	}
 
-	Value *Nucleus::createUnreachable()
+	void Nucleus::createUnreachable()
 	{
-		return V(::builder->CreateUnreachable());
+		::builder->CreateUnreachable();
 	}
 
 	Value *Nucleus::createSwizzle(Value *val, unsigned char select)
diff --git a/src/Reactor/Nucleus.hpp b/src/Reactor/Nucleus.hpp
index 47cb195..9483465 100644
--- a/src/Reactor/Nucleus.hpp
+++ b/src/Reactor/Nucleus.hpp
@@ -64,10 +64,10 @@
 		static Value *getArgument(unsigned int index);
 
 		// Terminators
-		static Value *createRetVoid();
-		static Value *createRet(Value *V);
-		static Value *createBr(BasicBlock *dest);
-		static Value *createCondBr(Value *cond, BasicBlock *ifTrue, BasicBlock *ifFalse);
+		static void createRetVoid();
+		static void createRet(Value *V);
+		static void createBr(BasicBlock *dest);
+		static void createCondBr(Value *cond, BasicBlock *ifTrue, BasicBlock *ifFalse);
 
 		// Binary operators
 		static Value *createAdd(Value *lhs, Value *rhs);
@@ -150,7 +150,7 @@
 		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 Value *createUnreachable();
+		static void createUnreachable();
 
 		// Derived instructions
 		static Value *createSwizzle(Value *val, unsigned char select);