OSDN Git Service

Rip out support for 'llvm.noinline'. This thing has a strange history...
authorChandler Carruth <chandlerc@gmail.com>
Fri, 16 Mar 2012 06:10:15 +0000 (06:10 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Fri, 16 Mar 2012 06:10:15 +0000 (06:10 +0000)
commitb2442fc76016203df3449c365bf4943dad8500e4
treeda4fc5fb209a905ee1874304ce9ed24946c3eef3
parentf91f5af802bd4487c49ee17cd0d3e46c6456263e
Rip out support for 'llvm.noinline'. This thing has a strange history...

It was added in 2007 as the first cut at supporting no-inline
attributes, but we didn't have function attributes of any form at the
time. However, it was added without any mention in the LangRef or other
documentation.

Later on, in 2008, Devang added function notes for 'inline=never' and
then turned them into proper function attributes. From that point
onward, as far as I can tell, the world moved on, and no one has touched
'llvm.noinline' in any meaningful way since.

It's time has now come. We have had better mechanisms for doing this for
a long time, all the frontends I'm aware of use them, and this is just
holding back progress. Given that it was never a documented feature of
the IR, I've provided no auto-upgrade support. If people know of real,
in-the-wild bitcode that relies on this, yell at me and I'll add it, but
I *seriously* doubt anyone cares.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152904 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/IPO/InlineSimple.cpp
test/Transforms/Inline/2007-06-06-NoInline.ll [deleted file]