Revert "Fix overly conservative inlining prediction".

The commit itself should be fine, but the more aggressive
inlining being done on the GC code (due to the gcbits functions
being in available in gc.gcx) seems to have uncovered a
misoptimization bug in LLVM (at least in 3.2) on x86, leading to
various unit tests failing in relase mode.

This reverts part of commit f02e4b1925.
This commit is contained in:
David Nadlinger
2013-01-12 14:23:42 +01:00
parent 81aee147cf
commit 4a6444c320

View File

@@ -1659,7 +1659,10 @@ bool mustDefineSymbol(Dsymbol* s)
if ( !fd->isStaticCtorDeclaration()
&& !fd->isStaticDtorDeclaration()
&& !fd->isUnitTestDeclaration()
&& fd->canInline(true, false, false))
// FIXME: Should be canInline(true, false, false), but this
// causes a misoptimization in druntime on x86, likely due to
// an LLVM bug.
&& fd->canInline(true))
{
return true;
}