[all-commits] [llvm/llvm-project] 1d5a3f: [NFC][SimplifyCFG] 'merge compatible invokes': mor...

Roman Lebedev via All-commits all-commits at lists.llvm.org
Tue Feb 8 06:49:55 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1d5a3f70dc424bc755d9ff66055bb524ce1ee644
      https://github.com/llvm/llvm-project/commit/1d5a3f70dc424bc755d9ff66055bb524ce1ee644
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2022-02-08 (Tue, 08 Feb 2022)

  Changed paths:
    M llvm/test/Transforms/SimplifyCFG/X86/merge-compatible-invokes-of-landingpad.ll

  Log Message:
  -----------
  [NFC][SimplifyCFG] 'merge compatible invokes': more tests for various edge-cases


  Commit: 8411560fd0751fc10ae03c85dabdb9d8b2b9ba6b
      https://github.com/llvm/llvm-project/commit/8411560fd0751fc10ae03c85dabdb9d8b2b9ba6b
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2022-02-08 (Tue, 08 Feb 2022)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/X86/merge-compatible-invokes-of-landingpad.ll

  Log Message:
  -----------
  [SimplifyCFG] 'merge compatible invokes': support normal destination w/ no uses, no PHI's

Even if the invokes have normal destination, iff it's the same block,
we can merge them. For now, require that there are no PHI nodes,
and the returned values of invokes aren't used.


  Commit: 9986d602241ddb22a8ec92f4ef4cf7071804df64
      https://github.com/llvm/llvm-project/commit/9986d602241ddb22a8ec92f4ef4cf7071804df64
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2022-02-08 (Tue, 08 Feb 2022)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/X86/merge-compatible-invokes-of-landingpad.ll

  Log Message:
  -----------
  [SimplifyCFG] 'merge compatible invokes': support normal destination w/ PHIs but no uses

As long as the incoming values for all the invokes in the set
are identical, we can merge the invokes.


  Commit: 42ca7cc889a87969fe344296f25b6e8a67757c01
      https://github.com/llvm/llvm-project/commit/42ca7cc889a87969fe344296f25b6e8a67757c01
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2022-02-08 (Tue, 08 Feb 2022)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/X86/merge-compatible-invokes-of-landingpad.ll

  Log Message:
  -----------
  [SimplifyCFG] 'merge compatible invokes': support normal destination w/ uses

If the original invokes had uses, the uses must have been in PHI's,
but that immediately results in the incoming values being incompatible.
But we'll replace uses of the original invokes with the use of the
merged invoke, so as long as the incoming values become compatible
after that, we can merge.


Compare: https://github.com/llvm/llvm-project/compare/a59faf272e57...42ca7cc889a8


More information about the All-commits mailing list