compiler: enable escape analysis for runtime
commitc1177ba46789c5fc75bc2f5f1dafe910f5949b54
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 17 Jan 2018 21:24:41 +0000 (17 21:24 +0000)
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 17 Jan 2018 21:24:41 +0000 (17 21:24 +0000)
treedac729920f45521246291f4094a2a88eb51f2f2a
parentf907d51b14ff6a4fa3b9d084ede3c508649f52e5
compiler: enable escape analysis for runtime

    The runtime package was hard-coded non-escape, and the escape
    analysis was not run for the runtime package. This CL removes
    the hard-code, and lets the escape analysis decide. It is not
    allowed for local variables and closures in the runtime to be
    heap allocated. This CL adds the check that make sure that they
    indeed do not escape.

    The escape analysis is always run when compiling the runtime
    now.

    Fixes golang/go#17431

    Reviewed-on: https://go-review.googlesource.com/86246

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@256820 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/go/gofrontend/MERGE
gcc/go/gofrontend/escape.cc
gcc/go/gofrontend/expressions.cc
gcc/go/gofrontend/parse.cc
gcc/go/gofrontend/wb.cc