mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 19:52:54 +01:00
e73d807a5c
Summary: Previously, the presence of KILL instructions would block valid candidates from filling a specific delay slot. With the elimination of the KILL instructions, in the appropriate range, we are able to fill more slots and keep the information from future def/use analysis consistent. Reviewers: dsanders Reviewed By: dsanders Subscribers: hfinkel, llvm-commits Differential Revision: http://reviews.llvm.org/D7724 llvm-svn: 235183
15 lines
493 B
LLVM
15 lines
493 B
LLVM
; RUN: llc < %s -march=mips64 -mcpu=mips3 | FileCheck %s
|
|
|
|
; Currently, the following IR assembly generates a KILL instruction between
|
|
; the bitwise-and instruction and the return instruction. We verify that the
|
|
; delay slot filler ignores such KILL instructions by filling the slot of the
|
|
; return instruction properly.
|
|
define signext i32 @f1(i32 signext %a, i32 signext %b) {
|
|
entry:
|
|
; CHECK: jr $ra
|
|
; CHECK-NEXT: and $2, $4, $5
|
|
|
|
%r = and i32 %a, %b
|
|
ret i32 %r
|
|
}
|