Split pre- and post- processing of instructions in jit graph

This will ensure that even as some instructions consume multiple
ops, annotations will still be applied correctly.