| Issue |
109123
|
| Summary |
Pointless jump to a jump
|
| Labels |
|
| Assignees |
|
| Reporter |
Validark
|
My (large) program generates control flow like so:
```asm
...
je .LBB6_18
jmp .LBB6_112
.LBB6_84: ; this cannot be reached via the previous instruction, therefore it could be moved.
vpbroadcastb ymm7, byte ptr [rip + .LCPI6_30]
jmp .LBB6_13
.LBB6_85:
test r11, r11
cmove r10, rsi
...
```
```asm
...
jmp .LBB6_14
.Ltmp384:
.LBB6_13: ; This is only reachable via the jump in .LBB6_84
vbroadcasti128 ymm4, xmmword ptr [rip + .LCPI6_31]
vbroadcasti128 ymm3, xmmword ptr [rip + .LCPI6_32]
mov rsi, qword ptr [rsp + 152]
add r10, 64
add r11, 8
.LBB6_14:
mov rbx, rsi
add rsi, 8
...
```
It would be nice if there was a cleanup pass which merged all these weird cases
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs