Re: [C++ coroutines 4/6] Middle end expanders and transforms.

2020-01-16 Thread Iain Sandoe
Bin.Cheng wrote: >>> + gassign *get_res = gimple_build_assign (lhs, done); >>> + gsi_replace (gsi, get_res, true); >>> + *handled_ops_p = true; >>> + } >>> + break; >>> + } >>> +} >>> + return NULL_TREE; >>> +} >>> + >>> +/* Main entry poin

Re: [C++ coroutines 4/6] Middle end expanders and transforms.

2020-01-15 Thread Bin.Cheng
> > + gassign *get_res = gimple_build_assign (lhs, done); > > + gsi_replace (gsi, get_res, true); > > + *handled_ops_p = true; > > + } > > + break; > > + } > > +} > > + return NULL_TREE; > > +} > > + > > +/* Main entry point for lowering coro

Re: [C++ coroutines 4/6] Middle end expanders and transforms.

2019-11-19 Thread Richard Biener
On Sun, Nov 17, 2019 at 11:27 AM Iain Sandoe wrote: > > > As described in the covering note, the main part of this is the > expansion of the library support builtins, these are simple boolean > or numerical substitutions. > > The functionality of implementing an exit from scope without cleanup > i

[C++ coroutines 4/6] Middle end expanders and transforms.

2019-11-17 Thread Iain Sandoe
As described in the covering note, the main part of this is the expansion of the library support builtins, these are simple boolean or numerical substitutions. The functionality of implementing an exit from scope without cleanup is performed here by lowering an IFN to a gimple goto. The final p