compiler: don't export bodies for functions marked "go:noinline"
authorIan Lance Taylor <ian@gcc.gnu.org>
Fri, 19 Jul 2019 23:10:55 +0000 (23:10 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Fri, 19 Jul 2019 23:10:55 +0000 (23:10 +0000)
commitaa4d56e2ce1d89599654d33051486cb58aadbc2e
treeafb15aed0fb2e6dea6137505fac6a2629ff0aa19
parentc35504626ec008d97b61e4bda17038333d51a8f2
compiler: don't export bodies for functions marked "go:noinline"

    The current Mark_inline_candidates helper looks only at budget when
    deciding to mark a function or method as inline (with the proviso that
    IR constructs not yet supported by the inliner are given artificially
    high cost). This patch changes the helper to also look at whether a
    function has the "go:noinline" pragma; if it does have the pragma
    there is no point putting it into the export data (it will just make
    the export data bigger).

    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/186923

From-SVN: r273611
gcc/go/gofrontend/MERGE
gcc/go/gofrontend/gogo.cc