Allow SymbolUserOpInterface operators to be used in RemoveDeadValues Pass (#117405)
[llvm-project.git] / llvm / test / CodeGen / SystemZ / Large / branch-range-13.py
blob5fdc63bff2a71a62822d8a5e399c253f9ef516fc
1 # Test that inline assembly get the right size value so that a branch across
2 # a block containing them gets relaxed.
4 # RUN: %python %s | llc -mtriple=s390x-linux-gnu -mcpu=z196 -enable-post-misched=false \
5 # RUN: | FileCheck %s
7 # Construct:
9 # entry:
10 # branch to block
12 # block:
13 # sequence of call asm
14 # unconditional branch to block
16 # exit:
17 # ret void
19 # CHECK-LABEL: f1
20 # CHECK: jg
21 # CHECK-NEXT: .Lfunc_end0:
23 from __future__ import print_function
25 num = 11000
27 print("define void @f1() {")
28 print("entry:")
29 print(" br label %block")
30 print("")
31 print("block:")
33 for i in range(num):
34 print(
35 ' tail call i64 asm "lang\\09$0,$2,$1\\0A", "=d,=*Q,d,*Q"(i32* elementtype(i32) undef, i32 undef, i32* elementtype(i32) undef)'
38 print(" br label %block")
40 print("")
41 print("exit:")
42 print(" ret void")
43 print("}")