- Notifications
You must be signed in to change notification settings - Fork 15.3k
Closed
Milestone
Description
I tried this code with llc --mtriple=loongarch64
define void @foo(ptr nocapture writeonly %0, i1 %1, i1 %2, i1 %3, i1 %4) { start: br label %bb1 bb1: ; preds = %bb6, %start %5 = phi i64 [ 0, %start ], [ %20, %bb6 ] %6 = phi i64 [ 0, %start ], [ %21, %bb6 ] %7 = phi i64 [ undef, %start ], [ %23, %bb6 ] %8 = icmp eq i64 %5, 1 br label %bb2 bb2: ; preds = %bb6, %bb1 %9 = phi i64 [ %5, %bb1 ], [ %20, %bb6 ] %10 = phi i64 [ %6, %bb1 ], [ %21, %bb6 ] %11 = phi i64 [ %6, %bb1 ], [ %22, %bb6 ] %12 = phi i64 [ %7, %bb1 ], [ %23, %bb6 ] br i1 %1, label %loopexit, label %preheader preheader: ; preds = %bb2, %bb4 %13 = phi i64 [ %15, %bb4 ], [ %11, %bb2 ] %14 = load volatile { i64, i64 }, ptr null, align 4294967296 br i1 %2, label %bb3, label %bb5 bb3: ; preds = %preheader %15 = add i64 %13, 1 br i1 %3, label %bb4, label %bb5 bb4: ; preds = %bb3 br i1 %4, label %loopexit, label %preheader loopexit: ; preds = %bb4, %bb2 %16 = phi i64 [ %10, %bb2 ], [ %15, %bb4 ] %17 = phi i64 [ %11, %bb2 ], [ %15, %bb4 ] store i8 0, ptr %0, align 1 br label %bb6 bb5: ; preds = %bb3, %preheader %18 = phi i64 [ 1, %bb3 ], [ 0, %preheader ] %19 = phi i64 [ %15, %bb3 ], [ %12, %preheader ] store i64 0, ptr %0, align 8 br label %bb6 bb6: ; preds = %bb5, %loopexit %20 = phi i64 [ %19, %bb5 ], [ %9, %loopexit ] %21 = phi i64 [ %18, %bb5 ], [ %16, %loopexit ] %22 = phi i64 [ %18, %bb5 ], [ %17, %loopexit ] %23 = phi i64 [ %19, %bb5 ], [ %12, %loopexit ] br i1 %8, label %bb2, label %bb1 }I got a segmentation fault.
If assertion is turned on, I can get isReg() && "This is not a register operand!"' failed.
GodBolt: https://llvm.godbolt.org/z/zT5rKrW6x
From: rust-lang/rust#120268
Metadata
Metadata
Assignees
Type
Projects
Status
Done