Remember to free allocations when function calls return errors
Remember to free allocations when function calls return errors

This omission caused an issue with short-circuiting on the old-coalesce branch.

In particular, on 9ee4ff317 the following call would fail:

```
CFLAGS="-g -fsanitize=undefined -fsanitize=address -fno-sanitize-recover -O" \
  cabal run futhark -- test --backend=c tests/noinline/noinline2.fut
```

with the error

```
tests/noinline/noinline2.fut:

=================================================================
==496722==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 12 byte(s) in 1 object(s) allocated from:
    #0 0x7f13f991fa7f in __interceptor_malloc (/nix/store/7fv9v6mnlkb4ddf9kz1snknbvbfbcbx0-gcc-10.3.0-lib/lib/libasan.so.6+0xaca7f)
    #1 0x406dc2 in memblock_alloc tests/noinline/noinline2.c:4804
    #2 0xfffab669ae3  (<unknown module>)

Direct leak of 4 byte(s) in 1 object(s) allocated from:
    #0 0x7f13f991fa7f in __interceptor_malloc (/nix/store/7fv9v6mnlkb4ddf9kz1snknbvbfbcbx0-gcc-10.3.0-lib/lib/libasan.so.6+0xaca7f)
    #1 0x406e09 in memblock_alloc tests/noinline/noinline2.c:4805
    #2 0x6020000001ef  (<unknown module>)

SUMMARY: AddressSanitizer: 16 byte(s) leaked in 2 allocation(s).

CallStack (from HasCallStack):
  error, called at src/Futhark/Server.hs:156:7 in futhark-server-1.1.2.0-230d4b50b253bdce525662503d5e782ec6517462b9333d53b5995083e3e71edc:Futhark.Server
```

diku-dk/futhark,diku-dk/futhark,HIPERFIT/futhark,diku-dk/futhark,HIPERFIT/futhark,diku-dk/futhark,HIPERFIT/futhark,diku-dk/futhark