[all-commits] [llvm/llvm-project] 237b8d: [IfConversion] Fix bug related to !HasFallThrough ...

Björn Pettersson via All-commits all-commits at lists.llvm.org
Wed Jun 25 00:30:49 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 237b8de2c0d9ee50c6a744e95c0706c8cdea70e1
      https://github.com/llvm/llvm-project/commit/237b8de2c0d9ee50c6a744e95c0706c8cdea70e1
  Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2025-06-25 (Wed, 25 Jun 2025)

  Changed paths:
    M llvm/lib/CodeGen/IfConversion.cpp
    M llvm/test/CodeGen/ARM/ifcvt_unanalyzable_fallthrough.mir

  Log Message:
  -----------
  [IfConversion] Fix bug related to !HasFallThrough (#145471)

We can not trust that !HasFallThrough implies that there is not
fallthrough exit in cases when analyzeBranch failed.

Adding a new blockNeverFallThrough helper to make the tests on
!HasFallThrough safe by also checking IsBrAnalyzable. We also
try to prove no-fallthrough by inspecting the successor list. If
the textual successor isn't in the successor list we know that
there is no fallthrough.

The bug has probably been around for years. Found it when
working on an out-of-tree target.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list