[llvm] [polly] [IR] Add CallBr intrinsics support (PR #133907)
    Robert Imschweiler via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Mon May 12 08:24:06 PDT 2025
    
    
  
ro-i wrote:
Alright, thanks! The region detection change was due to StructurizeCFG ripping callbr apart, e.g.
```llvm
*** IR Dump After Fixup each natural loop to have a single exit block (unify-loop-exits) ***
define void @foo(i32 %x) {
  callbr void asm "", "r,!i"(i32 %x)
          to label %UnifiedReturnBlock [label %indirect]
indirect:                                         ; preds = %0
  call void @llvm.amdgcn.unreachable()
  br label %UnifiedReturnBlock
UnifiedReturnBlock:                               ; preds = %0, %indirect
  ret void
}
*** IR Dump After Structurize control flow (structurizecfg) ***
  br i1 poison, label %indirect, label %UnifiedReturnBlock
indirect:                                         ; preds = %0
  call void @llvm.amdgcn.unreachable()
  br label %UnifiedReturnBlock
*** IR Dump After Structurize control flow (structurizecfg) ***
  br i1 poison, label %indirect, label %UnifiedReturnBlock
indirect:                                         ; preds = %0
  call void @llvm.amdgcn.unreachable()
  br label %UnifiedReturnBlock
UnifiedReturnBlock:                               ; preds = %indirect, %0
  ret void
```
https://github.com/llvm/llvm-project/pull/133907
    
    
More information about the llvm-commits
mailing list