Files
llvm/test/CodeGen/SystemZ/memcmp-02.ll
T
Jonas Paulsson ea7c1d4e4e [SystemZ] Bugfix of CC liveness in emitMemMemWrapper (CLC).
If DoneMBB becomes empty it must have CC added to its live-in list, since it
will fall-through into EndMBB. This happens when the CLC loop does the
complete range.

Review: Ulrich Weigand

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@327834 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-19 13:05:22 +00:00

21 lines
568 B
LLVM

; Test memcmp using CLC. In this test case the CLC loop will do all the work
; and the DoneMBB becomes empty. It will not pass the mischeduling verifiers
; if DoneMBB does not have CC in its live-in list.
; RUN: llc < %s -mtriple=s390x-linux-gnu -misched=shuffle | FileCheck %s
declare i32 @memcmp(i8* nocapture, i8* nocapture, i64)
define i32 @fun() {
; CHECK-LABEL: fun
%call = call signext i32 @memcmp(i8* nonnull undef, i8* nonnull undef, i64 2048)
%cmp = icmp eq i32 %call, 0
br i1 %cmp, label %labT, label %labF
labT:
ret i32 0
labF:
ret i32 1
}