"jump threading" optimization in clang?


I have an interpreter implemented in big switch statement. I noticed in the assembly output that compiler notices that some switch cases end with the same instructions and they are extracted to separate basic block. This saves code size but introduces more jumps.

What is the name of this optimization?
Is there a way to disable it?