_mesa_glsl_parse_state should be the parent for all temporary allocation
done while compiling a shader. glsl_shader should only be used as the
parent for the shader's final IR---the _result_ of compilation.
Since many IR instructions may be added or discarded during optimization
passes, IR should not ever be allocated to glsl_shader directly.
Done via sed -i s/talloc_parent(state)/state/g and s/talloc_parent(st)/st/g.
This also removes a ton of talloc_parent calls, which may help performance.
All scalar, vector, and matrix constructors are generated in-line
during AST-to-HIR translation. There is no longer any need to
generate function versions of the constructors.
This doesn't do any control flow analysis to ensure that the return
statements are actually reached.
Fixes piglit tests function5.frag and function-07.vert.