[all-commits] [llvm/llvm-project] cd7f80: [InstCombine] Lower infinite combine loop detectio...

Roman Lebedev via All-commits all-commits at lists.llvm.org
Mon Jul 6 03:20:17 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: cd7f8051ac7b6f08734102446482c1e5d951bfcc
      https://github.com/llvm/llvm-project/commit/cd7f8051ac7b6f08734102446482c1e5d951bfcc
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2020-07-06 (Mon, 06 Jul 2020)

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

  Log Message:
  -----------
  [InstCombine] Lower infinite combine loop detection thresholds

Summary:
1000 iteratons is still kinda a lot.
Would it make sense to iteratively lower it, until it becomes `2`,
with some delay inbetween in order to let users actually potentially encounter it?

Reviewers: spatel, nikic, kuhar

Reviewed By: nikic

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83160


  Commit: f62c8dbc99eaaac35506f655fdf4d7b1cc21c81c
      https://github.com/llvm/llvm-project/commit/f62c8dbc99eaaac35506f655fdf4d7b1cc21c81c
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2020-07-06 (Mon, 06 Jul 2020)

  Changed paths:
    M llvm/lib/Transforms/Scalar/Scalarizer.cpp
    M llvm/test/Transforms/Scalarizer/basic.ll
    M llvm/test/Transforms/Scalarizer/constant-insertelement.ll

  Log Message:
  -----------
  [Scalarizer] InsertElement handling w/ constant insert index

Summary: As it can be clearly seen from the diff, this results in nicer IR.

Reviewers: jdoerfert, arsenm, bjope, cameron.mcinally

Reviewed By: jdoerfert

Subscribers: arphaman, wdng, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83102


  Commit: 28b7816b782bdeca509218b53edfbca6512c33d5
      https://github.com/llvm/llvm-project/commit/28b7816b782bdeca509218b53edfbca6512c33d5
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2020-07-06 (Mon, 06 Jul 2020)

  Changed paths:
    M llvm/lib/Transforms/Scalar/Scalarizer.cpp
    M llvm/test/Transforms/Scalarizer/constant-extractelement.ll
    M llvm/test/Transforms/Scalarizer/phi-unreachable-pred.ll

  Log Message:
  -----------
  [Scalarizer] ExtractElement handling w/ constant extract index

Summary:
It appears to be better IR-wise to aggressively scalarize it,
rather than relying on gathering it, and leaving it as-is.

Reviewers: jdoerfert, bjope, arsenm, cameron.mcinally

Reviewed By: jdoerfert

Subscribers: arphaman, wdng, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83101


  Commit: 6e504745813259067f5b0ad696bec3a3d22ab044
      https://github.com/llvm/llvm-project/commit/6e504745813259067f5b0ad696bec3a3d22ab044
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2020-07-06 (Mon, 06 Jul 2020)

  Changed paths:
    M llvm/lib/Transforms/Scalar/Scalarizer.cpp
    M llvm/test/Transforms/Scalarizer/variable-insertelement.ll

  Log Message:
  -----------
  [Scalarizer] InsertElement handling w/ variable insert index (PR46524)

Summary:
I'm interested in taking the original C++ input,
for which we currently are stuck with an alloca
and producing roughly the lower IR,
with neither an alloca nor a vector ops:
https://godbolt.org/z/cRRWaJ

For that, as intermediate step, i'd to somehow perform scalarization.
As per @arsenmn suggestion, i'm trying to see if scalarizer can help me
avoid writing a bicycle.

I'm not sure if it's really intentional that variable insert is not handled currently.
If it really is, and is supposed to stay that way (?), i guess i could guard it..

See [[ https://bugs.llvm.org/show_bug.cgi?id=46524 | PR46524 ]].

Reviewers: bjope, cameron.mcinally, arsenm, jdoerfert

Reviewed By: jdoerfert

Subscribers: arphaman, uabelho, wdng, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82961


  Commit: 51f9310ff2e3a615e43b87acc84dab0400b5854e
      https://github.com/llvm/llvm-project/commit/51f9310ff2e3a615e43b87acc84dab0400b5854e
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2020-07-06 (Mon, 06 Jul 2020)

  Changed paths:
    M llvm/lib/Transforms/Scalar/Scalarizer.cpp
    M llvm/test/Transforms/Scalarizer/variable-extractelement.ll

  Log Message:
  -----------
  [Scalarizer] ExtractElement handling w/ variable insert index (PR46524)

Summary:
Similar to D82961.

Reviewers: bjope, cameron.mcinally, arsenm, jdoerfert

Reviewed By: jdoerfert

Subscribers: arphaman, wdng, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82970


Compare: https://github.com/llvm/llvm-project/compare/3341d470fc47...51f9310ff2e3


More information about the All-commits mailing list