mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
9033ba7995
It is confusing to have two ways of specifying the same pass ('simple-loop-unswitch' and 'unswitch'). This patch replaces 'unswitch' by 'simple-loop-unswitch' to get a unique identifier. Using 'simple-loop-unswitch' instead of 'unswitch' also has the advantage of matching how the pass is named in DEBUG_TYPE etc. So this makes it a bit more consistent how we refer to the pass in options such as -passes, -print-after and -debug-only. Reviewed By: aeubanks Differential Revision: https://reviews.llvm.org/D105628
28 lines
1.0 KiB
LLVM
28 lines
1.0 KiB
LLVM
; RUN: opt -passes='simple-loop-unswitch<nontrivial>' %s -S | FileCheck %s
|
|
|
|
declare i1 @foo()
|
|
|
|
; CHECK: define {{.*}} @mem_cgroup_node_nr_lru_pages
|
|
define i32 @mem_cgroup_node_nr_lru_pages(i1 %tree) {
|
|
entry:
|
|
br label %for.cond
|
|
|
|
for.cond: ; preds = %if.end8, %entry
|
|
br i1 %tree, label %if.end8, label %if.else
|
|
|
|
if.else: ; preds = %for.cond
|
|
callbr void asm sideeffect ".pushsection __jump_table, \22aw\22 \0A\09.popsection \0A\09", "X,~{dirflag},~{fpsr},~{flags}"(i8* blockaddress(@mem_cgroup_node_nr_lru_pages, %for.cond5))
|
|
to label %if.end8 [label %for.cond5]
|
|
|
|
for.cond5: ; preds = %if.else, %for.cond5
|
|
%call6 = call i1 @foo()
|
|
br i1 %call6, label %if.end8.loopexit, label %for.cond5
|
|
|
|
if.end8.loopexit: ; preds = %for.cond5
|
|
br label %if.end8
|
|
|
|
if.end8: ; preds = %if.end8.loopexit, %if.else, %for.cond
|
|
br label %for.cond
|
|
}
|
|
|