mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 03:02:36 +01:00
a73e1a6ef3
This marker prevents optimization passes from adding 'tail' or 'musttail' markers to a call. Is is used to prevent tail call optimization from being performed on the call. rdar://problem/22667622 Differential Revision: http://reviews.llvm.org/D12923 llvm-svn: 252368
25 lines
417 B
LLVM
25 lines
417 B
LLVM
; RUN: opt < %s -tailcallelim -S | FileCheck %s
|
|
|
|
; CHECK: tail call void @callee0()
|
|
; CHECK: notail call void @callee1()
|
|
|
|
define void @foo1(i32 %a) {
|
|
entry:
|
|
%tobool = icmp eq i32 %a, 0
|
|
br i1 %tobool, label %if.else, label %if.then
|
|
|
|
if.then:
|
|
call void @callee0()
|
|
br label %if.end
|
|
|
|
if.else:
|
|
notail call void @callee1()
|
|
br label %if.end
|
|
|
|
if.end:
|
|
ret void
|
|
}
|
|
|
|
declare void @callee0()
|
|
declare void @callee1()
|