When jump threading duplicates a basic block, it can demote register
values defined in that block to the stack. This seems a bit
inefficient - is the idea that you should run mem2reg afterwards to
clean this up?
"llvm-ld -O" runs jump threading but doesn't run any mem2reg pass
afterwards, and I've seen several cases where variables end up left on
the stack in the output of the linker.