Commit 3d7c35f2 by Nicolas Capens

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/7355Tested-by: 's avatarNicolas Capens <capn@google.com> Reviewed-by: 's avatarAlexis Hétu <sugoi@google.com> Reviewed-by: 's avatarNicolas Capens <capn@google.com>
parent 3bbc5e16
...@@ -319,28 +319,28 @@ namespace sw ...@@ -319,28 +319,28 @@ namespace sw
return V(&*args); return V(&*args);
} }
Value *Nucleus::createRetVoid() void Nucleus::createRetVoid()
{ {
x86::emms(); x86::emms();
return V(::builder->CreateRetVoid()); ::builder->CreateRetVoid();
} }
Value *Nucleus::createRet(Value *v) void Nucleus::createRet(Value *v)
{ {
x86::emms(); 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) Value *Nucleus::createAdd(Value *lhs, Value *rhs)
...@@ -683,9 +683,9 @@ namespace sw ...@@ -683,9 +683,9 @@ namespace sw
reinterpret_cast<SwitchInst*>(Switch)->addCase(llvm::ConstantInt::get(Type::getInt32Ty(*::context), Case, true), Branch); 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) Value *Nucleus::createSwizzle(Value *val, unsigned char select)
......
...@@ -64,10 +64,10 @@ namespace sw ...@@ -64,10 +64,10 @@ namespace sw
static Value *getArgument(unsigned int index); static Value *getArgument(unsigned int index);
// Terminators // Terminators
static Value *createRetVoid(); static void createRetVoid();
static Value *createRet(Value *V); static void createRet(Value *V);
static Value *createBr(BasicBlock *dest); static void createBr(BasicBlock *dest);
static Value *createCondBr(Value *cond, BasicBlock *ifTrue, BasicBlock *ifFalse); static void createCondBr(Value *cond, BasicBlock *ifTrue, BasicBlock *ifFalse);
// Binary operators // Binary operators
static Value *createAdd(Value *lhs, Value *rhs); static Value *createAdd(Value *lhs, Value *rhs);
...@@ -150,7 +150,7 @@ namespace sw ...@@ -150,7 +150,7 @@ namespace sw
static Value *createSelect(Value *C, Value *ifTrue, Value *ifFalse); static Value *createSelect(Value *C, Value *ifTrue, Value *ifFalse);
static Value *createSwitch(Value *V, BasicBlock *Dest, unsigned NumCases); static Value *createSwitch(Value *V, BasicBlock *Dest, unsigned NumCases);
static void addSwitchCase(Value *Switch, int Case, BasicBlock *Branch); static void addSwitchCase(Value *Switch, int Case, BasicBlock *Branch);
static Value *createUnreachable(); static void createUnreachable();
// Derived instructions // Derived instructions
static Value *createSwizzle(Value *val, unsigned char select); static Value *createSwizzle(Value *val, unsigned char select);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment