llvm-mirror/test/Transforms/MergeFunc/functions.ll
Stepan Dyatkovskiy d55da90a63 Added functions cross-reference test.
Originally this similar was initiated by Björn Steinbrink here:
http://reviews.llvm.org/D3437

Bug itself has been fixed by principal changes in MergeFunctions. Though
special checks for functions merging are still actual. And the test has
been accepted with slight modifications.

llvm-svn: 210486
2014-06-09 19:03:02 +00:00

28 lines
611 B
LLVM

; RUN: opt -S -mergefunc < %s | FileCheck %s
; Be sure we don't merge cross-referenced functions of same type.
; CHECK-LABEL: @left
; CHECK-LABEL: entry-block
; CHECK-LABEL: call void @right(i64 %p)
define void @left(i64 %p) {
entry-block:
call void @right(i64 %p)
call void @right(i64 %p)
call void @right(i64 %p)
call void @right(i64 %p)
ret void
}
; CHECK-LABEL: @right
; CHECK-LABEL: entry-block
; CHECK-LABEL: call void @left(i64 %p)
define void @right(i64 %p) {
entry-block:
call void @left(i64 %p)
call void @left(i64 %p)
call void @left(i64 %p)
call void @left(i64 %p)
ret void
}