aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linearize.c
diff options
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2020-10-27 01:19:19 +0100
committerLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2020-11-01 01:04:06 +0100
commitabfaa2dfb4d69eb0857d5af8ed082ccf8b824c46 (patch)
tree3781ebe67cfa50e7a1b47141588cd50359ae0f39 /linearize.c
parent7204b60f37561620102437f421300b24f91d03c3 (diff)
downloadsparse-dev-abfaa2dfb4d69eb0857d5af8ed082ccf8b824c46.tar.gz
fix usage count in linearize_fma()
When linearizing __builtin_fma(), the arguments were just assigned but the corresponding usage was not tracked. Fix this. Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Diffstat (limited to 'linearize.c')
-rw-r--r--linearize.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/linearize.c b/linearize.c
index 6c72f2e3..85b8ac60 100644
--- a/linearize.c
+++ b/linearize.c
@@ -2582,11 +2582,11 @@ static pseudo_t linearize_fma(struct entrypoint *ep, struct expression *expr)
struct expression *arg;
PREPARE_PTR_LIST(expr->args, arg);
- insn->src1 = linearize_expression(ep, arg);
+ use_pseudo(insn, linearize_expression(ep, arg), &insn->src1);
NEXT_PTR_LIST(arg)
- insn->src2 = linearize_expression(ep, arg);
+ use_pseudo(insn, linearize_expression(ep, arg), &insn->src2);
NEXT_PTR_LIST(arg)
- insn->src3 = linearize_expression(ep, arg);
+ use_pseudo(insn, linearize_expression(ep, arg), &insn->src3);
FINISH_PTR_LIST(arg);
add_one_insn(ep, insn);