OSDN Git Service

Don't merge tiny functions.
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Tue, 1 Oct 2013 18:05:30 +0000 (18:05 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Tue, 1 Oct 2013 18:05:30 +0000 (18:05 +0000)
commit187c774a7650e4bbbaac175cb6509f709edba593
tree1d373efa5adfebeac5a5027b4524442a21942719
parent04132a6c5cbf4089b1c705925afb70258341530e
Don't merge tiny functions.

It's silly to merge functions like these:

define void @foo(i32 %x) {
  ret void
}

define void @bar(i32 %x) {
  ret void
}

to get

define void @bar(i32) {
  tail call void @foo(i32 %0)
  ret void
}

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191786 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/IPO/MergeFunctions.cpp
test/Transforms/MergeFunc/merge-ptr-and-int.ll
test/Transforms/MergeFunc/too-small.ll [new file with mode: 0644]