Browse Source

[spirv] Fix EmitVisitor for OpReturnValue cases.

Ehsan Nasiri 6 years ago
parent
commit
3373d2f0a0
1 changed files with 3 additions and 0 deletions
  1. 3 0
      tools/clang/lib/SPIRV/EmitVisitor.cpp

+ 3 - 0
tools/clang/lib/SPIRV/EmitVisitor.cpp

@@ -435,6 +435,9 @@ bool EmitVisitor::visit(SpirvKill *inst) {
 
 bool EmitVisitor::visit(SpirvReturn *inst) {
   initInstruction(inst);
+  if (inst->hasReturnValue()) {
+    curInst.push_back(getResultId<SpirvInstruction>(inst->getReturnValue()));
+  }
   finalizeInstruction();
   emitDebugNameForInstruction(getResultId<SpirvInstruction>(inst),
                               inst->getDebugName());