aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2017-03-20 11:31:49 +0100
committerLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2017-11-17 10:04:37 +0100
commitccce42643d8258d9b634f862eb836d14ff78ddc1 (patch)
treeb94457f5f0a93089fe1aa56b2fcdd05d08ed33d7
parent0f1700e896ed0111fa7e248c307c620fd8506000 (diff)
downloadsparse-dev-ccce42643d8258d9b634f862eb836d14ff78ddc1.tar.gz
llvm: fix mutated OP_RET
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
-rw-r--r--sparse-llvm.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/sparse-llvm.c b/sparse-llvm.c
index 1af6322d..ada14352 100644
--- a/sparse-llvm.c
+++ b/sparse-llvm.c
@@ -690,9 +690,7 @@ static void output_op_ret(struct function *fn, struct instruction *insn)
pseudo_t pseudo = insn->src;
if (pseudo && pseudo != VOID) {
- LLVMValueRef result = pseudo_to_value(fn, insn->type, pseudo);
-
- result = adjust_type(fn, insn->type, result);
+ LLVMValueRef result = get_operand(fn, insn->type, pseudo);
LLVMBuildRet(fn->builder, result);
} else
LLVMBuildRetVoid(fn->builder);