[X86] Inc with memory operand not formed with frozen load
Open
backend:X86
missed-optimization
- Dominant language
- LLVM
- Stars
- 40.5k
- Forks
- 18.7k
- PR merge metrics
- PR metrics pending
Description
https://llvm.godbolt.org/z/Mccsxs45s
```llvm
define void @f(ptr %x) {
%v = load i32, ptr %x
%add = add i32 %v, 1
store i32 %add, ptr %x
ret void
}
define void @f.freeze(ptr %x) {
%v = load i32, ptr %x
%v.freeze = freeze i32 %v
%add = add i32 %v.freeze, 1
store i32 %add, ptr %x
ret void
}
```
```asm
f: # @f
inc dword ptr [rdi]
ret
f.freeze: # @f.freeze
mov eax, dword ptr [rdi]
inc eax
mov dword ptr [rdi], eax
ret
```
Contributor guide
Assessment
This issue has not been assessed yet.