missed instcombine
Open
llvm:instcombine
missed-optimization
- Dominant language
- LLVM
- Stars
- 40.5k
- Forks
- 18.7k
- PR merge metrics
- PR metrics pending
Description
```llvm
define i64 @switch_phi_to_zext(i16 %x) {
entry:
switch i16 %x, label %default [
i16 0, label %merge
i16 -1, label %max
]
default:
%ext = zext i16 %x to i64
br label %merge
max:
br label %merge
merge:
%result = phi i64 [ 0, %entry ], [ 65535, %max ], [ %ext, %default ]
ret i64 %result
}
```
can be combined to
```llvm
define i64 @switch_phi_to_zext(i16 %x) {
entry:
%z = zext i16 %x to i64
ret i64 %z
}
```
Contributor guide
Assessment
This issue has not been assessed yet.