1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/test/CodeGen/Mips/micromips-compact-branches.ll
Kyle Butt 9386601a22 CodeGen: Allow small copyable blocks to "break" the CFG.
When choosing the best successor for a block, ordinarily we would have preferred
a block that preserves the CFG unless there is a strong probability the other
direction. For small blocks that can be duplicated we now skip that requirement
as well, subject to some simple frequency calculations.

Differential Revision: https://reviews.llvm.org/D28583

llvm-svn: 293716
2017-01-31 23:48:32 +00:00

21 lines
470 B
LLVM

; RUN: llc %s -march=mipsel -mattr=micromips -filetype=asm -O3 \
; RUN: -disable-mips-delay-filler -relocation-model=pic -o - | FileCheck %s
define void @main() nounwind uwtable {
entry:
%x = alloca i32, align 4
%0 = load i32, i32* %x, align 4
%cmp = icmp eq i32 %0, 0
br i1 %cmp, label %if.then, label %if.end, !prof !1
if.then:
store i32 10, i32* %x, align 4
br label %if.end
if.end:
ret void
}
; CHECK: bnezc
!1 = !{!"branch_weights", i32 2, i32 1}