Partial fix Issue 11003 - Improve .di generation

Use shorthand syntax for eponymous function/aggregate templates
[Refactoring] move code block
Reduce __inlineretval generation count

If `nrvo_var != NULL`, inlining can directly replace it to the substituted variable.
Do inline for the variable initialization with NRVO function call

Pass `eret` as an additional inlining context, if it is found.
fix Issue 11224 - Inlining stops NRVO
fix Issue 11394 - NRVO should work for object field initialization in constructor
Merge pull request #2592 from 9rnsr/fix_inline_nrvo

Do inline for the variable initialization with NRVO function call
Merge pull request #2649 from 9rnsr/fix11003

Partial fix Issue 11003 - Improve .di generation