For a select statement with zero-, one-, or two-case with a default case, we can generate simpler code instead of calling the generic selectgo. A zero-case select is just blocking the execution. A one-case select is mostly just executing the case. A two-case select with a default case is a non-blocking send or receive. We add these special cases for lowering a select statement. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/184998 From-SVN: r273034
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
LICENSE | Loading commit data... | |
MERGE | Loading commit data... | |
PATENTS | Loading commit data... | |
README | Loading commit data... | |
ast-dump.cc | Loading commit data... | |
ast-dump.h | Loading commit data... | |
backend.h | Loading commit data... | |
escape.cc | Loading commit data... | |
escape.h | Loading commit data... | |
export.cc | Loading commit data... | |
export.h | Loading commit data... | |
expressions.cc | Loading commit data... | |
expressions.h | Loading commit data... | |
go-diagnostics.cc | Loading commit data... | |
go-diagnostics.h | Loading commit data... | |
go-dump.cc | Loading commit data... | |
go-dump.h | Loading commit data... | |
go-encode-id.cc | Loading commit data... | |
go-encode-id.h | Loading commit data... | |
go-linemap.h | Loading commit data... | |
go-optimize.cc | Loading commit data... | |
go-optimize.h | Loading commit data... | |
go-sha1.h | Loading commit data... | |
go.cc | Loading commit data... | |
gogo.cc | Loading commit data... | |
gogo.h | Loading commit data... | |
import-archive.cc | Loading commit data... | |
import.cc | Loading commit data... | |
import.h | Loading commit data... | |
lex.cc | Loading commit data... | |
lex.h | Loading commit data... | |
names.cc | Loading commit data... | |
operator.h | Loading commit data... | |
parse.cc | Loading commit data... | |
parse.h | Loading commit data... | |
runtime.cc | Loading commit data... | |
runtime.def | Loading commit data... | |
runtime.h | Loading commit data... | |
statements.cc | Loading commit data... | |
statements.h | Loading commit data... | |
string-dump.h | Loading commit data... | |
types.cc | Loading commit data... | |
types.h | Loading commit data... | |
unsafe.cc | Loading commit data... | |
wb.cc | Loading commit data... |