mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-01-11 18:33:14 +01:00
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:
@@ -1659,7 +1659,10 @@ bool mustDefineSymbol(Dsymbol* s)
|
|||||||
if ( !fd->isStaticCtorDeclaration()
|
if ( !fd->isStaticCtorDeclaration()
|
||||||
&& !fd->isStaticDtorDeclaration()
|
&& !fd->isStaticDtorDeclaration()
|
||||||
&& !fd->isUnitTestDeclaration()
|
&& !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;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user