SuccessChanges

Summary

  1. [InstCombine] visitPHINode(): use InstCombiner::replaceInstUsesWith() instead of RAUW (details)
  2. [NFC][InstCombine] select.ll: remove outdated TODO comment (details)
  3. [NFC][InstCombine] Add STATISTIC() for how many iterations we did (details)
  4. [NFC] Instruction::isIdenticalToWhenDefined(): s/nessesairly/necessarily/ (details)
  5. [NFC][InstCombine] Fix some comments: the code already uses IC::replaceInstUsesWith() (details)
  6. [InstCombine] canonicalizeICmpPredicate(): use InstCombiner::replaceInstUsesWith() instead of RAUW (details)
  7. [InstCombine] foldAggregateConstructionIntoAggregateReuse(): use InstCombiner::replaceInstUsesWith() instead of RAUW (details)
Commit 4f4eecf0ec56a15b3dc377cac3799463cbf77a1f by lebedev.ri
[InstCombine] visitPHINode(): use InstCombiner::replaceInstUsesWith() instead of RAUW

As noted in post-commit review, we really shouldn't use RAUW in InstCombine
because we should consistently update Worklist to avoid extra iterations.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombinePHI.cpp (diff)
Commit 9c1ca8a3f7c5bda04405da761c7a59b1d5b1a129 by lebedev.ri
[NFC][InstCombine] select.ll: remove outdated TODO comment

Fixed by 3e69871ab5a66fb55913a2a2f5e7f5b42899a4c9
The file was modifiedllvm/test/Transforms/InstCombine/select.ll (diff)
Commit 49d223274f69bd67fe6e24535e3a2f68182f011b by lebedev.ri
[NFC][InstCombine] Add STATISTIC() for how many iterations we did

As we've established, if it takes more than two iterations
(one to perform folding and one to ensure that no folding opportunities
remain) per function, then there are worklist management issues.
So it may be interesting to keep track of it.
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp (diff)
Commit 65b3854e106e30b88f6b10e62a3448ac953b797a by lebedev.ri
[NFC] Instruction::isIdenticalToWhenDefined(): s/nessesairly/necessarily/
The file was modifiedllvm/lib/IR/Instruction.cpp (diff)
Commit bd12113f575be38b6b3d65fa599ac6bb84918689 by lebedev.ri
[NFC][InstCombine] Fix some comments: the code already uses IC::replaceInstUsesWith()
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp (diff)
Commit e65f2131782bc39ec66fc9c74991ff6c2ff1d93b by lebedev.ri
[InstCombine] canonicalizeICmpPredicate(): use InstCombiner::replaceInstUsesWith() instead of RAUW

We really shouldn't use RAUW in InstCombine
because we should consistently update Worklist to avoid extra iterations.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineInternal.h (diff)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.cpp (diff)
Commit 71ac9105cd392a257d15515579c70f06c970c5cb by lebedev.ri
[InstCombine] foldAggregateConstructionIntoAggregateReuse(): use InstCombiner::replaceInstUsesWith() instead of RAUW

We really shouldn't use RAUW in InstCombine
because we should consistently update Worklist to avoid extra iterations.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp (diff)