[all-commits] [llvm/llvm-project] f5353c: [NFC][SimplifyCFG] 'merge compatible invokes': tes...

Roman Lebedev via All-commits all-commits at lists.llvm.org
Fri Feb 4 15:16:11 PST 2022


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

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

  Log Message:
  -----------
  [NFC][SimplifyCFG] 'merge compatible invokes': tests for non-`unreachable` normal destination


  Commit: cd9e6a9c10ef6b1b22e30dff8bf1921595d3a934
      https://github.com/llvm/llvm-project/commit/cd9e6a9c10ef6b1b22e30dff8bf1921595d3a934
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2022-02-05 (Sat, 05 Feb 2022)

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

  Log Message:
  -----------
  [NFC][InstCombine] `visitCallInst()`: make comment more understandable


  Commit: 75c1d1dab41709a9e0780ad2fbad23e46bfba4dd
      https://github.com/llvm/llvm-project/commit/75c1d1dab41709a9e0780ad2fbad23e46bfba4dd
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2022-02-05 (Sat, 05 Feb 2022)

  Changed paths:
    M llvm/test/Transforms/SimplifyCFG/invoke.ll

  Log Message:
  -----------
  [NFC][SimplifyCFG] Add test showing failure to drop normal dest of noreturn invoke


  Commit: 598833c987593ce192fa827f162cae8c867c9d43
      https://github.com/llvm/llvm-project/commit/598833c987593ce192fa827f162cae8c867c9d43
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2022-02-05 (Sat, 05 Feb 2022)

  Changed paths:
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/test/CodeGen/X86/catchret-regmask.ll
    M llvm/test/Transforms/SimplifyCFG/invoke.ll

  Log Message:
  -----------
  [SimplifyCFG] `markAliveBlocks()`: recognize that normal dest of `invoke`d `noreturn` function is `unreachable`

As per LangRef's definition of `noreturn` attribute:
```
noreturn
  This function attribute indicates that the function never returns
  normally, hence through a return instruction.
  This produces undefined behavior at runtime if the function
  ever does dynamically return. nnotated functions may still
  raise an exception, i.a., nounwind is not implied.
```


Compare: https://github.com/llvm/llvm-project/compare/53fc5d9b9a01...598833c98759


More information about the All-commits mailing list