Usually EH_LABELs are placed in
- Before an invoke (which becomes calls in the backend)
- After an invoke
- At the start of an EH pad
I don't know exactly why, but I noticed there are cases of multiple, not
a single, EH_LABEL instructions in the beginning of an EH pad. In that
case global.set instruction placed to restore __stack_pointer ended
up between two EH_LABEL instructions before CATCH. It should follow
after the EH_LABELs and CATCH. This CL fixes that case.