TRE currently reasons that if a function does not write to any memory, a
passed alloca cannot escape. We strengthen this by not escaping for functions
that write only to argmem memory. An alloca is escaped if its address is
written to a location outside of the function, such as a global. If the
function only writes to arguments, there is no escaping. For example:
unsigned *foo(unsigned *n) { *n = 12; return n; }
foo() writes to memory, but only to argmem memory. If n is a passed
alloca, it does not escape.