addPreEmitPass called twice

for ARM constant islands and Mips constant islands, the constant islands pass is registered as an addPreEmitPass.

for mips at least, it ends of up getting called twice by the pass manager.

why is that?