brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · def57c5 Raw
46 lines · plain
1; RUN: llc < %s -mtriple=x86_64-linux | FileCheck %s2; RUN: llc < %s -mtriple=x86_64-win32 | FileCheck %s3 4; The comparison uses the pre-inc value, which could lead LSR to5; try to compute -INT64_MIN.6 7; CHECK-NOT: movabsq $-9223372036854775808, %rax8; CHECK: negq  %r9; CHECK-NEXT: seto  %al10 11declare i64 @bar()12 13define i1 @foo() nounwind {14entry:15  br label %for.cond.i16 17for.cond.i:18  %indvar = phi i64 [ 0, %entry ], [ %indvar.next, %for.cond.i ]19  %t = call i64 @bar()20  %indvar.next = add i64 %indvar, 121  %s = icmp ne i64 %indvar.next, %t22  br i1 %s, label %for.cond.i, label %__ABContainsLabel.exit23 24__ABContainsLabel.exit:25  %cmp = icmp eq i64 %indvar, 922337203685477580726  ret i1 %cmp27}28 29define void @func_37(i1 %arg) noreturn nounwind readonly {30entry:31  br label %for.body32 33for.body:                                         ; preds = %for.inc8, %entry34  %indvar = phi i64 [ 0, %entry ], [ %indvar.next, %for.inc8 ]35  %sub.i = add i64 undef, %indvar36  %cmp.i = icmp eq i64 %sub.i, -922337203685477580837  br i1 %arg, label %for.inc8, label %for.cond438 39for.cond4:                                        ; preds = %for.cond4, %for.body40  br label %for.cond441 42for.inc8:                                         ; preds = %for.body43  %indvar.next = add i64 %indvar, 144  br label %for.body45}46