[PATCH] D90065: [SystemZ] Define MaxInstLength to have the value of 6.
Jonas Paulsson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sat Oct 24 00:21:14 PDT 2020
This revision was automatically updated to reflect the committed changes.
Closed by commit rG7c026a83ee90: [SystemZ] Define MaxInstLength to have the value of 6. (authored by jonpa).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D90065/new/
https://reviews.llvm.org/D90065
Files:
llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp
llvm/test/CodeGen/SystemZ/Large/branch-range-13.py
Index: llvm/test/CodeGen/SystemZ/Large/branch-range-13.py
===================================================================
--- /dev/null
+++ llvm/test/CodeGen/SystemZ/Large/branch-range-13.py
@@ -0,0 +1,41 @@
+# Test that inline assembly get the right size value so that a branch across
+# a block containing them gets relaxed.
+
+# RUN: python %s | llc -mtriple=s390x-linux-gnu -mcpu=z196 -enable-post-misched=false \
+# RUN: | FileCheck %s
+
+# Construct:
+#
+# entry:
+# branch to block
+#
+# block:
+# sequence of call asm
+# unconditional branch to block
+#
+# exit:
+# ret void
+
+# CHECK-LABEL: f1
+# CHECK: jg
+# CHECK-NEXT: .Lfunc_end0:
+
+from __future__ import print_function
+
+num = 11000
+
+print('define void @f1() {')
+print('entry:')
+print(' br label %block')
+print('')
+print('block:')
+
+for i in range(num):
+ print(' tail call i64 asm "lang\\09$0,$2,$1\\0A", "=d,=*Q,d,*Q"(i32* undef, i32 undef, i32* undef)')
+
+print(' br label %block')
+
+print('')
+print('exit:')
+print(' ret void')
+print('}')
Index: llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp
===================================================================
--- llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp
+++ llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp
@@ -17,6 +17,8 @@
CalleeSaveStackSlotSize = 8;
IsLittleEndian = false;
+ MaxInstLength = 6;
+
CommentString = "#";
ZeroDirective = "\t.space\t";
Data64bitsDirective = "\t.quad\t";
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D90065.300462.patch
Type: text/x-patch
Size: 1499 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201024/91f41035/attachment.bin>
More information about the llvm-commits
mailing list