[all-commits] [llvm/llvm-project] 4f4eec: [InstCombine] visitPHINode(): use InstCombiner::re...

Roman Lebedev via All-commits all-commits at lists.llvm.org
Sat Aug 29 05:11:19 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 4f4eecf0ec56a15b3dc377cac3799463cbf77a1f
      https://github.com/llvm/llvm-project/commit/4f4eecf0ec56a15b3dc377cac3799463cbf77a1f
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2020-08-29 (Sat, 29 Aug 2020)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp

  Log Message:
  -----------
  [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.


  Commit: 9c1ca8a3f7c5bda04405da761c7a59b1d5b1a129
      https://github.com/llvm/llvm-project/commit/9c1ca8a3f7c5bda04405da761c7a59b1d5b1a129
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2020-08-29 (Sat, 29 Aug 2020)

  Changed paths:
    M llvm/test/Transforms/InstCombine/select.ll

  Log Message:
  -----------
  [NFC][InstCombine] select.ll: remove outdated TODO comment

Fixed by 3e69871ab5a66fb55913a2a2f5e7f5b42899a4c9


  Commit: 49d223274f69bd67fe6e24535e3a2f68182f011b
      https://github.com/llvm/llvm-project/commit/49d223274f69bd67fe6e24535e3a2f68182f011b
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2020-08-29 (Sat, 29 Aug 2020)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp

  Log Message:
  -----------
  [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.


  Commit: 65b3854e106e30b88f6b10e62a3448ac953b797a
      https://github.com/llvm/llvm-project/commit/65b3854e106e30b88f6b10e62a3448ac953b797a
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2020-08-29 (Sat, 29 Aug 2020)

  Changed paths:
    M llvm/lib/IR/Instruction.cpp

  Log Message:
  -----------
  [NFC] Instruction::isIdenticalToWhenDefined(): s/nessesairly/necessarily/


  Commit: bd12113f575be38b6b3d65fa599ac6bb84918689
      https://github.com/llvm/llvm-project/commit/bd12113f575be38b6b3d65fa599ac6bb84918689
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2020-08-29 (Sat, 29 Aug 2020)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp

  Log Message:
  -----------
  [NFC][InstCombine] Fix some comments: the code already uses IC::replaceInstUsesWith()


  Commit: e65f2131782bc39ec66fc9c74991ff6c2ff1d93b
      https://github.com/llvm/llvm-project/commit/e65f2131782bc39ec66fc9c74991ff6c2ff1d93b
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2020-08-29 (Sat, 29 Aug 2020)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h

  Log Message:
  -----------
  [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.


  Commit: 71ac9105cd392a257d15515579c70f06c970c5cb
      https://github.com/llvm/llvm-project/commit/71ac9105cd392a257d15515579c70f06c970c5cb
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2020-08-29 (Sat, 29 Aug 2020)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp

  Log Message:
  -----------
  [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.


Compare: https://github.com/llvm/llvm-project/compare/3e69871ab5a6...71ac9105cd39


More information about the All-commits mailing list