1 ; RUN: llc -march=hexagon -O2 < %s | FileCheck %s 2 3 ; Check that we don't generate .falign directives after function calls at O2. 4 ; We need more than one basic block for this test because MachineBlockPlacement 5 ; will not run on single basic block functions. 6 7 declare i32 @f0() 8 9 ; We don't want faligns after the calls to foo. 10 ; CHECK: call f0 11 ; CHECK-NOT: falign 12 ; CHECK: call f0 13 ; CHECK-NOT: falign 14 ; CHECK: dealloc_return 15 define i32 @f1(i32 %a0) #0 { 16 b0: 17 %v0 = icmp eq i32 %a0, 0 18 br i1 %v0, label %b1, label %b2 19 20 b1: ; preds = %b0 21 %v1 = call i32 @f0() 22 %v2 = call i32 @f0() 23 %v3 = add i32 %v1, %v2 24 ret i32 %v3 25 26 b2: ; preds = %b0 27 %v4 = add i32 %a0, 5 28 ret i32 %v4 29 } 30 31 attributes #0 = { nounwind } 32