Linker: Eliminate uncalled functions, because they can be ill-defined.

Fixes issue #610. Also provides a testing option to keep uncalled functions.
This commit is contained in:
John Kessenich 2016-12-09 19:22:20 -07:00
parent bf6d7f43fd
commit 906cc21816
68 changed files with 101 additions and 7783 deletions

View file

@ -250,74 +250,6 @@ ERROR: node is still EOpNull!
0:52 'gl_Layer' (layout(stream=0 ) out highp int Layer)
0:52 Constant:
0:52 2 (const int)
0:63 Function Definition: foo(i1; (global void)
0:63 Function Parameters:
0:63 'a' (in highp int)
0:65 Sequence
0:65 move second child to first child (temp mediump 4-component vector of float)
0:65 a: direct index for structure (layout(stream=0 ) out mediump 4-component vector of float)
0:65 'ouuaa6' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 4-component vector of float a})
0:65 Constant:
0:65 0 (const int)
0:65 Constant:
0:65 1.000000
0:65 1.000000
0:65 1.000000
0:65 1.000000
0:114 Function Definition: fooe1( (global void)
0:114 Function Parameters:
0:116 Sequence
0:116 'gl_ViewportIndex' (temp float)
0:117 'gl_MaxViewports' (temp float)
0:118 Constant:
0:118 4 (const int)
0:119 Sequence
0:119 move second child to first child (temp highp int)
0:119 'inv' (temp highp int)
0:119 'gl_InvocationID' (in highp int InvocationID)
0:134 Function Definition: notHere( (global void)
0:134 Function Parameters:
0:136 Sequence
0:136 'gl_MaxGeometryVaryingComponents' (temp float)
0:137 'gl_VerticesIn' (temp float)
0:140 Function Definition: pointSize1( (global void)
0:140 Function Parameters:
0:142 Sequence
0:142 Sequence
0:142 move second child to first child (temp highp float)
0:142 'ps' (temp highp float)
0:142 gl_PointSize: direct index for structure (in highp float PointSize)
0:142 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
0:142 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
0:142 Constant:
0:142 3 (const int)
0:142 Constant:
0:142 1 (const int)
0:143 move second child to first child (temp highp float)
0:143 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize highp float PointSize)
0:143 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize})
0:143 Constant:
0:143 1 (const uint)
0:143 'ps' (temp highp float)
0:148 Function Definition: pointSize2( (global void)
0:148 Function Parameters:
0:150 Sequence
0:150 Sequence
0:150 move second child to first child (temp highp float)
0:150 'ps' (temp highp float)
0:150 gl_PointSize: direct index for structure (in highp float PointSize)
0:150 direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
0:150 'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
0:150 Constant:
0:150 3 (const int)
0:150 Constant:
0:150 1 (const int)
0:151 move second child to first child (temp highp float)
0:151 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize highp float PointSize)
0:151 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize})
0:151 Constant:
0:151 1 (const uint)
0:151 'ps' (temp highp float)
0:? Linker Objects
0:? 'fromV' (in 4-element array of block{in mediump 3-component vector of float color})
0:? 'nonBlockUnsized' (in 4-element array of mediump 4-component vector of float)