git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_90@370344
91177308-0d34-0410-b5e6-
96231b3b80d8
jmp qword ptr [8*rax + .LJTI0_0]
+* LLVM can now sink similar instructions to a common successor block also when
+ the instructions have no uses, such as calls to void functions. This allows
+ code such as
+
+ .. code-block:: c
+
+ void g(int);
+ enum e { A, B, C, D };
+ void f(e x, int y, int z) {
+ switch(x) {
+ case A: g(6); break;
+ case B: g(3); break;
+ case C: g(9); break;
+ case D: g(2); break;
+ }
+ }
+
+ to be optimized to a single call to ``g``, with the argument loaded from a
+ lookup table.
+
Changes to the LLVM IR
----------------------