This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Go patch committed: Set captured var address to not escape before flood


This patch to the Go frontend by Cherry Zhang sets captured variable
addresses to nonescape until the flood phase.  The escape analysis
pass models closures by flowing captured variable address to the
closure node.  However, the escape state for the address expressions
remained unset as ESCAPE_UNKNOWN.  This caused later passes to
conclude that the address escapes.  Fix this by setting its escape
state to ESCAPE_NONE first.  If it escapes (because the closure
escapes), the flood phase will set its escape state properly.
Bootstrapped on x86_64-pc-linux-gnu.  Committed to mainline.

Ian

Attachment: patch.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]