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

@@ -642,312 +642,6 @@ ERROR: node is still EOpNull!
0:27 move second child to first child (temp 4-component vector of float)
0:27 'c' (temp 4-component vector of float)
0:27 'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
0:47 Function Definition: foo23( (global void)
0:47 Function Parameters:
0:? Sequence
0:51 textureProjGradOffset (global float)
0:51 'u2drs' (uniform sampler2DRectShadow)
0:51 'outp' (out 4-component vector of float)
0:51 Constant:
0:51 0.000000
0:51 0.000000
0:51 Constant:
0:51 0.000000
0:51 0.000000
0:51 Convert float to int (temp 2-component vector of int)
0:51 'c2D' (smooth in 2-component vector of float)
0:52 textureProjGradOffset (global float)
0:52 'u2drs' (uniform sampler2DRectShadow)
0:52 'outp' (out 4-component vector of float)
0:52 Constant:
0:52 0.000000
0:52 0.000000
0:52 Constant:
0:52 0.000000
0:52 0.000000
0:52 Constant:
0:52 3 (const int)
0:52 4 (const int)
0:53 textureProjGradOffset (global float)
0:53 'u2drs' (uniform sampler2DRectShadow)
0:53 'outp' (out 4-component vector of float)
0:53 Constant:
0:53 0.000000
0:53 0.000000
0:53 Constant:
0:53 0.000000
0:53 0.000000
0:53 Constant:
0:53 15 (const int)
0:53 16 (const int)
0:54 textureProjGradOffset (global float)
0:54 'u2drs' (uniform sampler2DRectShadow)
0:54 'outp' (out 4-component vector of float)
0:54 Constant:
0:54 0.000000
0:54 0.000000
0:54 Constant:
0:54 0.000000
0:54 0.000000
0:54 Constant:
0:54 -10 (const int)
0:54 20 (const int)
0:60 Function Definition: foo24( (global void)
0:60 Function Parameters:
0:? Sequence
0:63 move second child to first child (temp 3-component vector of double)
0:63 'df' (temp 3-component vector of double)
0:63 modf (global 3-component vector of double)
0:63 Convert float to double (temp 3-component vector of double)
0:63 vector swizzle (temp 3-component vector of float)
0:63 'outp' (out 4-component vector of float)
0:63 Sequence
0:63 Constant:
0:63 0 (const int)
0:63 Constant:
0:63 1 (const int)
0:63 Constant:
0:63 2 (const int)
0:63 'di' (temp 3-component vector of double)
0:71 Function Definition: foodc1( (global void)
0:71 Function Parameters:
0:73 Sequence
0:73 Sequence
0:73 move second child to first child (temp 2-component vector of float)
0:73 'v2' (temp 2-component vector of float)
0:73 dPdxFine (global 2-component vector of float)
0:73 'in2' (smooth in 2-component vector of float)
0:74 Sequence
0:74 move second child to first child (temp 3-component vector of float)
0:74 'v3' (temp 3-component vector of float)
0:74 dPdyCoarse (global 3-component vector of float)
0:74 'in3' (smooth in 3-component vector of float)
0:75 Sequence
0:75 move second child to first child (temp 4-component vector of float)
0:75 'v4' (temp 4-component vector of float)
0:75 add (temp 4-component vector of float)
0:75 fwidthCoarse (global 4-component vector of float)
0:75 'in4' (smooth in 4-component vector of float)
0:75 fwidthFine (global 4-component vector of float)
0:75 'in4' (smooth in 4-component vector of float)
0:80 Function Definition: foodc2( (global void)
0:80 Function Parameters:
0:82 Sequence
0:82 Sequence
0:82 move second child to first child (temp 2-component vector of float)
0:82 'v2' (temp 2-component vector of float)
0:82 dPdxFine (global 2-component vector of float)
0:82 'in2' (smooth in 2-component vector of float)
0:83 Sequence
0:83 move second child to first child (temp 3-component vector of float)
0:83 'v3' (temp 3-component vector of float)
0:83 dPdyCoarse (global 3-component vector of float)
0:83 'in3' (smooth in 3-component vector of float)
0:84 Sequence
0:84 move second child to first child (temp 4-component vector of float)
0:84 'v4' (temp 4-component vector of float)
0:84 add (temp 4-component vector of float)
0:84 fwidthCoarse (global 4-component vector of float)
0:84 'in4' (smooth in 4-component vector of float)
0:84 fwidthFine (global 4-component vector of float)
0:84 'in4' (smooth in 4-component vector of float)
0:89 move second child to first child (temp 2-component vector of float)
0:89 'v2' (temp 2-component vector of float)
0:89 frexp (global 2-component vector of float)
0:89 'v2' (temp 2-component vector of float)
0:89 'i2' (temp 2-component vector of int)
0:90 move second child to first child (temp 3-component vector of float)
0:90 'v3' (temp 3-component vector of float)
0:90 ldexp (global 3-component vector of float)
0:90 'v3' (temp 3-component vector of float)
0:90 'i3' (temp 3-component vector of int)
0:92 move second child to first child (temp uint)
0:92 'u1' (temp uint)
0:92 PackUnorm4x8 (global uint)
0:92 'v4' (temp 4-component vector of float)
0:93 move second child to first child (temp uint)
0:93 'u1' (temp uint)
0:93 PackSnorm4x8 (global uint)
0:93 'v4' (temp 4-component vector of float)
0:94 move second child to first child (temp 4-component vector of float)
0:94 'v4' (temp 4-component vector of float)
0:94 UnpackUnorm4x8 (global 4-component vector of float)
0:94 'u1' (temp uint)
0:95 move second child to first child (temp 4-component vector of float)
0:95 'v4' (temp 4-component vector of float)
0:95 UnpackSnorm4x8 (global 4-component vector of float)
0:95 'u1' (temp uint)
0:99 move second child to first child (temp double)
0:99 'd' (temp double)
0:99 PackDouble2x32 (global double)
0:99 'u2' (temp 2-component vector of uint)
0:100 move second child to first child (temp 2-component vector of uint)
0:100 'u2' (temp 2-component vector of uint)
0:100 UnpackDouble2x32 (global 2-component vector of uint)
0:100 'd' (temp double)
0:117 Function Definition: interp( (global void)
0:117 Function Parameters:
0:119 Sequence
0:119 interpolateAtCentroid (global 2-component vector of float)
0:119 'colorfc' (centroid flat in 2-component vector of float)
0:120 interpolateAtCentroid (global 4-component vector of float)
0:120 'colorSampIn' (smooth sample in 4-component vector of float)
0:121 interpolateAtCentroid (global 4-component vector of float)
0:121 'colorfsi' (noperspective in 4-component vector of float)
0:122 interpolateAtCentroid (global float)
0:122 'scalarIn' (smooth in float)
0:123 Constant:
0:123 0.000000
0:124 interpolateAtCentroid (global 3-component vector of float)
0:124 direct index (smooth sample temp 3-component vector of float)
0:124 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
0:124 Constant:
0:124 2 (const int)
0:125 interpolateAtCentroid (global 2-component vector of float)
0:125 vector swizzle (temp 2-component vector of float)
0:125 direct index (smooth sample temp 3-component vector of float)
0:125 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
0:125 Constant:
0:125 2 (const int)
0:125 Sequence
0:125 Constant:
0:125 0 (const int)
0:125 Constant:
0:125 1 (const int)
0:127 Constant:
0:127 0.000000
0:128 interpolateAtSample (global 3-component vector of float)
0:128 indirect index (smooth sample temp 3-component vector of float)
0:128 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
0:128 'i' (flat in int)
0:128 Constant:
0:128 0 (const int)
0:129 interpolateAtSample (global float)
0:129 x: direct index for structure (global float)
0:129 's1' (smooth in structure{global float x})
0:129 Constant:
0:129 0 (const int)
0:129 Constant:
0:129 2 (const int)
0:130 interpolateAtSample (global float)
0:130 'scalarIn' (smooth in float)
0:130 Constant:
0:130 1 (const int)
0:132 Constant:
0:132 0.000000
0:133 interpolateAtOffset (global 3-component vector of float)
0:133 direct index (smooth sample temp 3-component vector of float)
0:133 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
0:133 Constant:
0:133 2 (const int)
0:133 Constant:
0:133 0.200000
0:133 0.200000
0:134 interpolateAtOffset (global 2-component vector of float)
0:134 vector swizzle (temp 2-component vector of float)
0:134 direct index (smooth sample temp 3-component vector of float)
0:134 'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
0:134 Constant:
0:134 2 (const int)
0:134 Sequence
0:134 Constant:
0:134 0 (const int)
0:134 Constant:
0:134 1 (const int)
0:134 Constant:
0:134 0.200000
0:134 0.200000
0:135 interpolateAtOffset (global float)
0:135 add (temp float)
0:135 'scalarIn' (smooth in float)
0:135 'scalarIn' (smooth in float)
0:135 Constant:
0:135 0.200000
0:135 0.200000
0:136 interpolateAtOffset (global float)
0:136 x: direct index for structure (global float)
0:136 's2' (sample temp structure{global float x})
0:136 Constant:
0:136 0 (const int)
0:136 Constant:
0:136 0.200000
0:136 0.200000
0:139 interpolateAtCentroid (global float)
0:139 'f' (temp float)
0:140 interpolateAtSample (global 4-component vector of float)
0:140 'outp' (out 4-component vector of float)
0:140 Constant:
0:140 0 (const int)
0:161 Function Definition: qlod( (global void)
0:161 Function Parameters:
0:? Sequence
0:168 move second child to first child (temp 2-component vector of float)
0:168 'lod' (temp 2-component vector of float)
0:168 textureQueryLod (global 2-component vector of float)
0:168 'samp1D' (uniform sampler1D)
0:168 'pf' (temp float)
0:169 move second child to first child (temp 2-component vector of float)
0:169 'lod' (temp 2-component vector of float)
0:169 textureQueryLod (global 2-component vector of float)
0:169 'isamp2D' (uniform isampler2D)
0:169 'pf2' (temp 2-component vector of float)
0:170 move second child to first child (temp 2-component vector of float)
0:170 'lod' (temp 2-component vector of float)
0:170 textureQueryLod (global 2-component vector of float)
0:170 'usamp3D' (uniform usampler3D)
0:170 'pf3' (temp 3-component vector of float)
0:171 move second child to first child (temp 2-component vector of float)
0:171 'lod' (temp 2-component vector of float)
0:171 textureQueryLod (global 2-component vector of float)
0:171 'sampCube' (uniform samplerCube)
0:171 'pf3' (temp 3-component vector of float)
0:172 move second child to first child (temp 2-component vector of float)
0:172 'lod' (temp 2-component vector of float)
0:172 textureQueryLod (global 2-component vector of float)
0:172 'isamp1DA' (uniform isampler1DArray)
0:172 'pf' (temp float)
0:173 move second child to first child (temp 2-component vector of float)
0:173 'lod' (temp 2-component vector of float)
0:173 textureQueryLod (global 2-component vector of float)
0:173 'usamp2DA' (uniform usampler2DArray)
0:173 'pf2' (temp 2-component vector of float)
0:174 move second child to first child (temp 2-component vector of float)
0:174 'lod' (temp 2-component vector of float)
0:174 textureQueryLod (global 2-component vector of float)
0:174 'isampCubeA' (uniform isamplerCubeArray)
0:174 'pf3' (temp 3-component vector of float)
0:176 move second child to first child (temp 2-component vector of float)
0:176 'lod' (temp 2-component vector of float)
0:176 textureQueryLod (global 2-component vector of float)
0:176 'samp1Ds' (uniform sampler1DShadow)
0:176 'pf' (temp float)
0:177 move second child to first child (temp 2-component vector of float)
0:177 'lod' (temp 2-component vector of float)
0:177 textureQueryLod (global 2-component vector of float)
0:177 'samp2Ds' (uniform sampler2DShadow)
0:177 'pf2' (temp 2-component vector of float)
0:178 move second child to first child (temp 2-component vector of float)
0:178 'lod' (temp 2-component vector of float)
0:178 textureQueryLod (global 2-component vector of float)
0:178 'sampCubes' (uniform samplerCubeShadow)
0:178 'pf3' (temp 3-component vector of float)
0:179 move second child to first child (temp 2-component vector of float)
0:179 'lod' (temp 2-component vector of float)
0:179 textureQueryLod (global 2-component vector of float)
0:179 'samp1DAs' (uniform sampler1DArrayShadow)
0:179 'pf' (temp float)
0:180 move second child to first child (temp 2-component vector of float)
0:180 'lod' (temp 2-component vector of float)
0:180 textureQueryLod (global 2-component vector of float)
0:180 'samp2DAs' (uniform sampler2DArrayShadow)
0:180 'pf2' (temp 2-component vector of float)
0:181 move second child to first child (temp 2-component vector of float)
0:181 'lod' (temp 2-component vector of float)
0:181 textureQueryLod (global 2-component vector of float)
0:181 'sampCubeAs' (uniform samplerCubeArrayShadow)
0:181 'pf3' (temp 3-component vector of float)
0:183 'lod' (temp 2-component vector of float)
0:184 'lod' (temp 2-component vector of float)
0:? Linker Objects
0:? 'c2D' (smooth in 2-component vector of float)
0:? 'i' (flat in int)