[llvm] [InstCombine] Fix test with experimental.guard + nounwind (NFC) (PR #67641)

via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 16 07:04:27 PDT 2023


annamthomas wrote:

> This regressed in https://github.com/llvm/llvm-project/commit/fbfb1c790982277eaa5134c2b6aa001e97fe828d when experimental.guard was marked willreturn.

The problem is that`experimental.guard` should not be marked as willreturn. It has the same properties as `experimental.deoptimize` in that guards are `nounwind`, but are not `willreturn`. We missed this regression since we moved to the `llvm.experimental.widenable.condition` form instead of generating guards. We're waiting for couple of releases for this mode to stabilize and we should remove the guard form from upstream (as long as no one else is using this representation for some other purposes). 

So, the testcase should still have `nounwind` and the `guaranteed-to-transfer` will not happen since the guard is not `willreturn`.  

https://github.com/llvm/llvm-project/pull/67641


More information about the llvm-commits mailing list