brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.5 KiB · c5b561d Raw
54 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=hexagon -O2 < %s | FileCheck %s3 4; Check that we don't generate .falign directives after function calls at O2.5; We need more than one basic block for this test because MachineBlockPlacement6; will not run on single basic block functions.7 8declare i32 @f0()9 10; We don't want faligns after the calls to foo.11 12define i32 @f1(i32 %a0) #0 {13; CHECK-LABEL: f1:14; CHECK:       // %bb.0: // %b015; CHECK-NEXT:    {16; CHECK-NEXT:     if (!p0.new) r0 = add(r0,#5)17; CHECK-NEXT:     p0 = cmp.eq(r0,#0)18; CHECK-NEXT:     if (!p0.new) jumpr:nt r3119; CHECK-NEXT:    }20; CHECK-NEXT:  .LBB0_1: // %b121; CHECK-NEXT:    {22; CHECK-NEXT:     call f023; CHECK-NEXT:     memd(r29+#-16) = r17:1624; CHECK-NEXT:     allocframe(#8)25; CHECK-NEXT:    } // 8-byte Folded Spill26; CHECK-NEXT:    {27; CHECK-NEXT:     call f028; CHECK-NEXT:     r16 = r029; CHECK-NEXT:    }30; CHECK-NEXT:    {31; CHECK-NEXT:     r0 = add(r16,r0)32; CHECK-NEXT:     r17:16 = memd(r29+#0)33; CHECK-NEXT:     deallocframe34; CHECK-NEXT:    } // 8-byte Folded Reload35; CHECK-NEXT:    {36; CHECK-NEXT:     jumpr r3137; CHECK-NEXT:    }38b0:39  %v0 = icmp eq i32 %a0, 040  br i1 %v0, label %b1, label %b241 42b1:                                               ; preds = %b043  %v1 = call i32 @f0()44  %v2 = call i32 @f0()45  %v3 = add i32 %v1, %v246  ret i32 %v347 48b2:                                               ; preds = %b049  %v4 = add i32 %a0, 550  ret i32 %v451}52 53attributes #0 = { nounwind }54