diff options
| author | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2021-01-31 16:28:09 +0100 |
|---|---|---|
| committer | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2021-01-31 16:28:09 +0100 |
| commit | 60c1f2706e30eacc29296e6cb5d9327c85a01340 (patch) | |
| tree | 6f724e58a1433f09f80de327e7e016617e1e0999 /linearize.c | |
| parent | 455f7992c4c03030f0da9c260e067b36a556371a (diff) | |
| parent | 47336d48e3226903f320bb02f386322cf9e711fd (diff) | |
| download | sparse-dev-60c1f2706e30eacc29296e6cb5d9327c85a01340.tar.gz | |
Merge branch 'fix-join-cond'
* fix add_join_conditional() when one of the alternative is VOID
Diffstat (limited to 'linearize.c')
| -rw-r--r-- | linearize.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/linearize.c b/linearize.c index e80715ab..7a6f745f 100644 --- a/linearize.c +++ b/linearize.c @@ -1678,9 +1678,9 @@ static pseudo_t add_join_conditional(struct entrypoint *ep, struct expression *e struct instruction *phi_node; if (phi1 == VOID) - return phi2; + return (phi2 == VOID) ? phi2 : phi2->def->src; if (phi2 == VOID) - return phi1; + return (phi1 == VOID) ? phi1 : phi1->def->src; phi_node = alloc_typed_instruction(OP_PHI, expr->ctype); use_pseudo(phi_node, phi1, add_pseudo(&phi_node->phi_list, phi1)); |
