mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 03:02:36 +01:00
9386601a22
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
25 lines
691 B
LLVM
25 lines
691 B
LLVM
; RUN: llc -march=mipsel -mattr=mips16 -relocation-model=pic -O3 < %s | FileCheck %s -check-prefix=16
|
|
|
|
@j = global i32 0, align 4
|
|
@result = global i32 0, align 4
|
|
|
|
define void @test() nounwind {
|
|
entry:
|
|
%0 = load i32, i32* @j, align 4
|
|
%cmp = icmp eq i32 %0, 0
|
|
br i1 %cmp, label %if.then, label %if.end, !prof !1
|
|
|
|
; 16: bnez ${{[0-9]+}}, $[[LABEL:[0-9A-Ba-b_]+]]
|
|
; 16: lw ${{[0-9]+}}, %got(result)(${{[0-9]+}})
|
|
; 16: $[[LABEL]]:
|
|
|
|
if.then: ; preds = %entry
|
|
store i32 1, i32* @result, align 4
|
|
br label %if.end
|
|
|
|
if.end: ; preds = %if.then, %entry
|
|
ret void
|
|
}
|
|
|
|
!1 = !{!"branch_weights", i32 2, i32 1}
|