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

@@ -592,131 +592,6 @@ ERROR: node is still EOpNull!
0:96 'c4D' (smooth temp lowp 4-component vector of float)
0:97 arc hyp. tangent (global lowp 3-component vector of float)
0:97 'c3D' (smooth in lowp 3-component vector of float)
0:108 Function Definition: foo( (global void)
0:108 Function Parameters:
0:110 Sequence
0:110 move second child to first child (temp lowp 4-component vector of float)
0:110 direct index (temp lowp 4-component vector of float)
0:110 'colors' (out 4-element array of lowp 4-component vector of float)
0:110 Constant:
0:110 2 (const int)
0:110 'c4D' (smooth temp lowp 4-component vector of float)
0:111 move second child to first child (temp lowp 4-component vector of float)
0:111 indirect index (temp lowp 4-component vector of float)
0:111 'colors' (out 4-element array of lowp 4-component vector of float)
0:111 'ic1D' (flat in mediump int)
0:111 'c4D' (smooth temp lowp 4-component vector of float)
0:117 Function Definition: foo13(struct-s-i1-s211; (global void)
0:117 Function Parameters:
0:117 'inSt2' (in structure{global mediump int i, global lowp sampler2D s})
0:119 Sequence
0:119 Test condition and select (temp void)
0:119 Condition
0:119 Compare Equal (temp bool)
0:119 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
0:119 'st2' (uniform structure{global mediump int i, global lowp sampler2D s})
0:119 true case is null
0:120 Test condition and select (temp void)
0:120 Condition
0:120 Compare Not Equal (temp bool)
0:120 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
0:120 'st2' (uniform structure{global mediump int i, global lowp sampler2D s})
0:120 true case is null
0:121 Constant:
0:121 false (const bool)
0:122 move second child to first child (temp structure{global mediump int i, global lowp sampler2D s})
0:122 'inSt2' (in structure{global mediump int i, global lowp sampler2D s})
0:122 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
0:123 Compare Equal (temp bool)
0:123 'inSt2' (in structure{global mediump int i, global lowp sampler2D s})
0:123 'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
0:126 Function Definition: foo23( (global void)
0:126 Function Parameters:
0:128 Sequence
0:128 textureOffset (global lowp float)
0:128 's2DShadow' (uniform lowp sampler2DShadow)
0:128 'c3D' (smooth in lowp 3-component vector of float)
0:128 Constant:
0:128 -8 (const int)
0:128 7 (const int)
0:128 'c1D' (smooth in lowp float)
0:129 textureOffset (global lowp float)
0:129 's2DShadow' (uniform lowp sampler2DShadow)
0:129 'c3D' (smooth in lowp 3-component vector of float)
0:129 Constant:
0:129 -9 (const int)
0:129 8 (const int)
0:129 'c1D' (smooth in lowp float)
0:132 Function Definition: foo324( (global void)
0:132 Function Parameters:
0:134 Sequence
0:134 Sequence
0:134 move second child to first child (temp lowp float)
0:134 'p' (temp lowp float)
0:134 Constant:
0:134 210.712306
0:135 add second child into first child (temp lowp float)
0:135 'p' (temp lowp float)
0:135 Constant:
0:135 0.389418
0:136 add second child into first child (temp lowp float)
0:136 'p' (temp lowp float)
0:136 Constant:
0:136 5.000000
0:137 add second child into first child (temp lowp float)
0:137 'p' (temp lowp float)
0:137 Constant:
0:137 13.000000
0:138 Sequence
0:138 move second child to first child (temp lowp 3-component vector of float)
0:138 'c3' (temp lowp 3-component vector of float)
0:138 Constant:
0:138 -15.000000
0:138 -2.000000
0:138 39.000000
0:139 add second child into first child (temp lowp 3-component vector of float)
0:139 'c3' (temp lowp 3-component vector of float)
0:139 Constant:
0:139 -1.000000
0:139 -2.000000
0:139 -3.000000
0:140 add second child into first child (temp lowp 3-component vector of float)
0:140 'c3' (temp lowp 3-component vector of float)
0:140 Constant:
0:140 1.000000
0:140 2.000000
0:140 3.000000
0:141 Sequence
0:141 move second child to first child (temp lowp 2-component vector of float)
0:141 'c2' (temp lowp 2-component vector of float)
0:141 Constant:
0:141 1.000000
0:141 -3.000000
0:142 add second child into first child (temp lowp 2-component vector of float)
0:142 'c2' (temp lowp 2-component vector of float)
0:142 Constant:
0:142 1.000000
0:142 -3.000000
0:143 add second child into first child (temp lowp 2-component vector of float)
0:143 'c2' (temp lowp 2-component vector of float)
0:143 Constant:
0:143 3.000000
0:143 -8.544004
0:144 add second child into first child (temp lowp 2-component vector of float)
0:144 'c2' (temp lowp 2-component vector of float)
0:144 Constant:
0:144 0.000000
0:144 0.000000
0:145 Sequence
0:145 move second child to first child (temp lowp 3X2 matrix of float)
0:145 'm32' (temp lowp 3X2 matrix of float)
0:145 Constant:
0:145 10.000000
0:145 15.000000
0:145 14.000000
0:145 21.000000
0:145 22.000000
0:145 33.000000
0:? Linker Objects
0:? 's2D' (uniform lowp sampler2D)
0:? 's3D' (uniform lowp sampler3D)