[llvm] [AArch64] Run optimizeTerminators earlier too. (PR #170907)
Arthur Eubanks via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 9 13:02:02 PST 2025
aeubanks wrote:
hi, this is causing crashes:
```
$ cat /tmp/a.ll
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32"
target triple = "aarch64-unknown-linux-android29"
declare ptr @llvm.ptr.annotation.p0.p0(ptr, ptr, ptr, i32, ptr) #0
define i1 @foo(i1 %arg) {
bb:
br i1 %arg, label %bb1, label %bb2
bb1: ; preds = %bb
ret i1 false
bb2: ; preds = %bb
%call = call ptr @llvm.ptr.annotation.p0.p0(ptr poison, ptr null, ptr null, i32 0, ptr null)
store ptr null, ptr %call, align 8
%call3 = call ptr @llvm.ptr.annotation.p0.p0(ptr poison, ptr null, ptr null, i32 0, ptr null)
%load = load ptr, ptr %call3, align 8
%icmp = icmp eq ptr %load, null
br i1 %icmp, label %bb6, label %bb4
bb4: ; preds = %bb2
%call5 = call ptr @llvm.ptr.annotation.p0.p0(ptr null, ptr null, ptr null, i32 0, ptr null)
br label %bb6
bb6: ; preds = %bb4, %bb2
%icmp7 = icmp eq ptr null, null
ret i1 %icmp7
}
$ llc -o /dev/null /tmp/a.ll
llc: ../../llvm/include/llvm/Support/GenericDomTree.h:535: NodeT *llvm::DominatorTreeBase<llvm::MachineBasicBlock, false>::findNearestCommonDominator(NodeT *, NodeT *) const [NodeT = llvm::MachineBasicBlock, IsPostDom = false]: Assertion `NodeB && "B must be in the tree"' failed.
```
https://github.com/llvm/llvm-project/pull/170907
More information about the llvm-commits
mailing list