[llvm] [SLP][NFC] Remove useless code of deleting ExtractElementInst (PR #106697)
via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 30 09:19:16 PDT 2024
tcwzxx wrote:
```llvm ir
entry:
%l = load <4 x i8>, ptr getelementptr (i8, ptr null, i32 8), align 1
%li15 = extractelement <4 x i8> %l, i64 15
%2 = icmp ne i8 %0, 0
%3 = icmp ne i8 %1, 0
%4 = icmp ne i8 %0, 0
%.i15 = icmp ne i8 %li15, 0
%i0244 = insertelement <4 x i1> zeroinitializer, i1 %2, i64 0
%i1245 = insertelement <4 x i1> %i0244, i1 %3, i64 1
%i2246 = insertelement <4 x i1> %i1245, i1 %4, i64 2
%14 = insertelement <4 x i1> %i2246, i1 %.i15, i64 3
```
Here is an example IR.
`adjustExtracts` will remove `%li15` since `%li15` has a single use in `icmp` (which is vectorized in a single node). But `removeInstructionsAndOperands` also removes `%li15`.
https://github.com/llvm/llvm-project/pull/106697
More information about the llvm-commits
mailing list