There are two related bugs here: First, we don't add the operand we're replacing to the worklist, which means it may not get DCEd (see test change). Second, usually this would just get picked up in the next iteration, but we also do not report the instruction as changed. This means that we don't get that extra instcombine iteration, and more importantly, may break the pass pipeline, as the function is not marked as changed.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo