blob: 2dbbe673601d574b9f01b2768cde9f3d5dbe71c0 [file] [log] [blame]
; RUN: opt < %s -constprop -S -o - | FileCheck %s
; Function Attrs: minsize norecurse nounwind optsize readnone
define void @foo1() #0 {
entry:
ret void
}
; Function Attrs: minsize norecurse nounwind optsize readnone
define void @foo2() align 4 {
entry:
ret void
}
; Function Attrs: minsize nounwind optsize
define i32 @main() local_unnamed_addr #1 {
entry:
; CHECK: ptrtoint
%call = tail call i32 bitcast (i32 (...)* @process to i32 (i32)*)(i32 and (i32 ptrtoint (void ()* @foo1 to i32), i32 2)) #3
; CHECK-NEXT: ptrtoint
%call2 = tail call i32 bitcast (i32 (...)* @process to i32 (i32)*)(i32 and (i32 ptrtoint (void ()* @foo2 to i32), i32 2)) #3
ret i32 0
}
; Function Attrs: minsize optsize
declare i32 @process(...) local_unnamed_addr #2