Merge pull request #2641 from tgfrerer/fix_hlsl_function_error_msg

fix error message for hlslGrammar::acceptConstructor
diff --git a/Test/baseResults/hlsl.aliasOpaque.frag.out b/Test/baseResults/hlsl.aliasOpaque.frag.out
index 9218a82..b7c2c9e 100644
--- a/Test/baseResults/hlsl.aliasOpaque.frag.out
+++ b/Test/baseResults/hlsl.aliasOpaque.frag.out
@@ -23,9 +23,9 @@
 0:13                's' ( in structure{ temp sampler ss,  temp float a,  temp texture2D tex})
 0:13                Constant:
 0:13                  0 (const int)
-0:?             Constant:
-0:?               0.200000
-0:?               0.300000
+0:13            Constant:
+0:13              0.200000
+0:13              0.300000
 0:17  Function Definition: @main( ( temp 4-component vector of float)
 0:17    Function Parameters: 
 0:?     Sequence
@@ -96,9 +96,9 @@
 0:13                's' ( in structure{ temp sampler ss,  temp float a,  temp texture2D tex})
 0:13                Constant:
 0:13                  0 (const int)
-0:?             Constant:
-0:?               0.200000
-0:?               0.300000
+0:13            Constant:
+0:13              0.200000
+0:13              0.300000
 0:17  Function Definition: @main( ( temp 4-component vector of float)
 0:17    Function Parameters: 
 0:?     Sequence
diff --git a/Test/baseResults/hlsl.array.frag.out b/Test/baseResults/hlsl.array.frag.out
index 5b6afbd..2691772 100644
--- a/Test/baseResults/hlsl.array.frag.out
+++ b/Test/baseResults/hlsl.array.frag.out
@@ -5,21 +5,21 @@
 0:7  Sequence
 0:7    move second child to first child ( temp 4-component vector of float)
 0:7      'C' ( global 4-component vector of float)
-0:?       Constant:
-0:?         1.000000
-0:?         2.000000
-0:?         3.000000
-0:?         4.000000
+0:7      Constant:
+0:7        1.000000
+0:7        2.000000
+0:7        3.000000
+0:7        4.000000
 0:11  Sequence
 0:11    move second child to first child ( temp 2-element array of 4-component vector of float)
 0:11      'c2' ( global 2-element array of 4-component vector of float)
 0:11      Construct vec4 ( temp 2-element array of 4-component vector of float)
 0:11        'C' ( global 4-component vector of float)
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
-0:?           4.000000
+0:11        Constant:
+0:11          1.000000
+0:11          2.000000
+0:11          3.000000
+0:11          4.000000
 0:14  Function Definition: @PixelShaderFunction(i1;vf4[3]; ( temp 4-component vector of float)
 0:14    Function Parameters: 
 0:14      'i' ( in int)
@@ -152,21 +152,21 @@
 0:7  Sequence
 0:7    move second child to first child ( temp 4-component vector of float)
 0:7      'C' ( global 4-component vector of float)
-0:?       Constant:
-0:?         1.000000
-0:?         2.000000
-0:?         3.000000
-0:?         4.000000
+0:7      Constant:
+0:7        1.000000
+0:7        2.000000
+0:7        3.000000
+0:7        4.000000
 0:11  Sequence
 0:11    move second child to first child ( temp 2-element array of 4-component vector of float)
 0:11      'c2' ( global 2-element array of 4-component vector of float)
 0:11      Construct vec4 ( temp 2-element array of 4-component vector of float)
 0:11        'C' ( global 4-component vector of float)
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
-0:?           4.000000
+0:11        Constant:
+0:11          1.000000
+0:11          2.000000
+0:11          3.000000
+0:11          4.000000
 0:14  Function Definition: @PixelShaderFunction(i1;vf4[3]; ( temp 4-component vector of float)
 0:14    Function Parameters: 
 0:14      'i' ( in int)
diff --git a/Test/baseResults/hlsl.attribute.expression.comp.out b/Test/baseResults/hlsl.attribute.expression.comp.out
index 3fc9b5b..bee8efe 100644
--- a/Test/baseResults/hlsl.attribute.expression.comp.out
+++ b/Test/baseResults/hlsl.attribute.expression.comp.out
@@ -23,11 +23,11 @@
 0:11          Pre-Increment ( temp int)
 0:11            'x' ( temp int)
 0:14      Branch: Return with expression
-0:?         Constant:
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
+0:14        Constant:
+0:14          0.000000
+0:14          0.000000
+0:14          0.000000
+0:14          0.000000
 0:9  Function Definition: main( ( temp void)
 0:9    Function Parameters: 
 0:?     Sequence
@@ -66,11 +66,11 @@
 0:11          Pre-Increment ( temp int)
 0:11            'x' ( temp int)
 0:14      Branch: Return with expression
-0:?         Constant:
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
+0:14        Constant:
+0:14          0.000000
+0:14          0.000000
+0:14          0.000000
+0:14          0.000000
 0:9  Function Definition: main( ( temp void)
 0:9    Function Parameters: 
 0:?     Sequence
diff --git a/Test/baseResults/hlsl.calculatelod.dx10.frag.out b/Test/baseResults/hlsl.calculatelod.dx10.frag.out
index 4ee2481..d4367a0 100644
--- a/Test/baseResults/hlsl.calculatelod.dx10.frag.out
+++ b/Test/baseResults/hlsl.calculatelod.dx10.frag.out
@@ -50,9 +50,9 @@
 0:32              Construct combined texture-sampler ( temp sampler2DArray)
 0:32                'g_tTex2df4a' ( uniform texture2DArray)
 0:32                'g_sSamp' (layout( binding=0) uniform sampler)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:32              Constant:
+0:32                0.100000
+0:32                0.200000
 0:32            Constant:
 0:32              0 (const int)
 0:33      Sequence
@@ -63,9 +63,9 @@
 0:33              Construct combined texture-sampler ( temp isampler2DArray)
 0:33                'g_tTex2di4a' ( uniform itexture2DArray)
 0:33                'g_sSamp' (layout( binding=0) uniform sampler)
-0:?               Constant:
-0:?                 0.300000
-0:?                 0.400000
+0:33              Constant:
+0:33                0.300000
+0:33                0.400000
 0:33            Constant:
 0:33              0 (const int)
 0:34      Sequence
@@ -76,9 +76,9 @@
 0:34              Construct combined texture-sampler ( temp usampler2DArray)
 0:34                'g_tTex2du4a' ( uniform utexture2DArray)
 0:34                'g_sSamp' (layout( binding=0) uniform sampler)
-0:?               Constant:
-0:?                 0.500000
-0:?                 0.600000
+0:34              Constant:
+0:34                0.500000
+0:34                0.600000
 0:34            Constant:
 0:34              0 (const int)
 0:36      Sequence
@@ -89,10 +89,10 @@
 0:36              Construct combined texture-sampler ( temp samplerCubeArray)
 0:36                'g_tTexcdf4a' ( uniform textureCubeArray)
 0:36                'g_sSamp' (layout( binding=0) uniform sampler)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:36              Constant:
+0:36                0.100000
+0:36                0.200000
+0:36                0.300000
 0:36            Constant:
 0:36              0 (const int)
 0:37      Sequence
@@ -103,10 +103,10 @@
 0:37              Construct combined texture-sampler ( temp isamplerCubeArray)
 0:37                'g_tTexcdi4a' ( uniform itextureCubeArray)
 0:37                'g_sSamp' (layout( binding=0) uniform sampler)
-0:?               Constant:
-0:?                 0.400000
-0:?                 0.500000
-0:?                 0.600000
+0:37              Constant:
+0:37                0.400000
+0:37                0.500000
+0:37                0.600000
 0:37            Constant:
 0:37              0 (const int)
 0:38      Sequence
@@ -117,10 +117,10 @@
 0:38              Construct combined texture-sampler ( temp usamplerCubeArray)
 0:38                'g_tTexcdu4a' ( uniform utextureCubeArray)
 0:38                'g_sSamp' (layout( binding=0) uniform sampler)
-0:?               Constant:
-0:?                 0.700000
-0:?                 0.800000
-0:?                 0.900000
+0:38              Constant:
+0:38                0.700000
+0:38                0.800000
+0:38                0.900000
 0:38            Constant:
 0:38              0 (const int)
 0:40      move second child to first child ( temp 4-component vector of float)
@@ -231,9 +231,9 @@
 0:32              Construct combined texture-sampler ( temp sampler2DArray)
 0:32                'g_tTex2df4a' ( uniform texture2DArray)
 0:32                'g_sSamp' (layout( binding=0) uniform sampler)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:32              Constant:
+0:32                0.100000
+0:32                0.200000
 0:32            Constant:
 0:32              0 (const int)
 0:33      Sequence
@@ -244,9 +244,9 @@
 0:33              Construct combined texture-sampler ( temp isampler2DArray)
 0:33                'g_tTex2di4a' ( uniform itexture2DArray)
 0:33                'g_sSamp' (layout( binding=0) uniform sampler)
-0:?               Constant:
-0:?                 0.300000
-0:?                 0.400000
+0:33              Constant:
+0:33                0.300000
+0:33                0.400000
 0:33            Constant:
 0:33              0 (const int)
 0:34      Sequence
@@ -257,9 +257,9 @@
 0:34              Construct combined texture-sampler ( temp usampler2DArray)
 0:34                'g_tTex2du4a' ( uniform utexture2DArray)
 0:34                'g_sSamp' (layout( binding=0) uniform sampler)
-0:?               Constant:
-0:?                 0.500000
-0:?                 0.600000
+0:34              Constant:
+0:34                0.500000
+0:34                0.600000
 0:34            Constant:
 0:34              0 (const int)
 0:36      Sequence
@@ -270,10 +270,10 @@
 0:36              Construct combined texture-sampler ( temp samplerCubeArray)
 0:36                'g_tTexcdf4a' ( uniform textureCubeArray)
 0:36                'g_sSamp' (layout( binding=0) uniform sampler)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:36              Constant:
+0:36                0.100000
+0:36                0.200000
+0:36                0.300000
 0:36            Constant:
 0:36              0 (const int)
 0:37      Sequence
@@ -284,10 +284,10 @@
 0:37              Construct combined texture-sampler ( temp isamplerCubeArray)
 0:37                'g_tTexcdi4a' ( uniform itextureCubeArray)
 0:37                'g_sSamp' (layout( binding=0) uniform sampler)
-0:?               Constant:
-0:?                 0.400000
-0:?                 0.500000
-0:?                 0.600000
+0:37              Constant:
+0:37                0.400000
+0:37                0.500000
+0:37                0.600000
 0:37            Constant:
 0:37              0 (const int)
 0:38      Sequence
@@ -298,10 +298,10 @@
 0:38              Construct combined texture-sampler ( temp usamplerCubeArray)
 0:38                'g_tTexcdu4a' ( uniform utextureCubeArray)
 0:38                'g_sSamp' (layout( binding=0) uniform sampler)
-0:?               Constant:
-0:?                 0.700000
-0:?                 0.800000
-0:?                 0.900000
+0:38              Constant:
+0:38                0.700000
+0:38                0.800000
+0:38                0.900000
 0:38            Constant:
 0:38              0 (const int)
 0:40      move second child to first child ( temp 4-component vector of float)
diff --git a/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out b/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out
index 6abe22c..8a4be02 100644
--- a/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out
+++ b/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out
@@ -50,9 +50,9 @@
 0:32              Construct combined texture-sampler ( temp sampler2DArray)
 0:32                'g_tTex2df4a' ( uniform texture2DArray)
 0:32                'g_sSamp' (layout( binding=0) uniform sampler)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:32              Constant:
+0:32                0.100000
+0:32                0.200000
 0:32            Constant:
 0:32              1 (const int)
 0:33      Sequence
@@ -63,9 +63,9 @@
 0:33              Construct combined texture-sampler ( temp isampler2DArray)
 0:33                'g_tTex2di4a' ( uniform itexture2DArray)
 0:33                'g_sSamp' (layout( binding=0) uniform sampler)
-0:?               Constant:
-0:?                 0.300000
-0:?                 0.400000
+0:33              Constant:
+0:33                0.300000
+0:33                0.400000
 0:33            Constant:
 0:33              1 (const int)
 0:34      Sequence
@@ -76,9 +76,9 @@
 0:34              Construct combined texture-sampler ( temp usampler2DArray)
 0:34                'g_tTex2du4a' ( uniform utexture2DArray)
 0:34                'g_sSamp' (layout( binding=0) uniform sampler)
-0:?               Constant:
-0:?                 0.500000
-0:?                 0.600000
+0:34              Constant:
+0:34                0.500000
+0:34                0.600000
 0:34            Constant:
 0:34              1 (const int)
 0:36      Sequence
@@ -89,10 +89,10 @@
 0:36              Construct combined texture-sampler ( temp samplerCubeArray)
 0:36                'g_tTexcdf4a' ( uniform textureCubeArray)
 0:36                'g_sSamp' (layout( binding=0) uniform sampler)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:36              Constant:
+0:36                0.100000
+0:36                0.200000
+0:36                0.300000
 0:36            Constant:
 0:36              1 (const int)
 0:37      Sequence
@@ -103,10 +103,10 @@
 0:37              Construct combined texture-sampler ( temp isamplerCubeArray)
 0:37                'g_tTexcdi4a' ( uniform itextureCubeArray)
 0:37                'g_sSamp' (layout( binding=0) uniform sampler)
-0:?               Constant:
-0:?                 0.400000
-0:?                 0.500000
-0:?                 0.600000
+0:37              Constant:
+0:37                0.400000
+0:37                0.500000
+0:37                0.600000
 0:37            Constant:
 0:37              1 (const int)
 0:38      Sequence
@@ -117,10 +117,10 @@
 0:38              Construct combined texture-sampler ( temp usamplerCubeArray)
 0:38                'g_tTexcdu4a' ( uniform utextureCubeArray)
 0:38                'g_sSamp' (layout( binding=0) uniform sampler)
-0:?               Constant:
-0:?                 0.700000
-0:?                 0.800000
-0:?                 0.900000
+0:38              Constant:
+0:38                0.700000
+0:38                0.800000
+0:38                0.900000
 0:38            Constant:
 0:38              1 (const int)
 0:40      move second child to first child ( temp 4-component vector of float)
@@ -231,9 +231,9 @@
 0:32              Construct combined texture-sampler ( temp sampler2DArray)
 0:32                'g_tTex2df4a' ( uniform texture2DArray)
 0:32                'g_sSamp' (layout( binding=0) uniform sampler)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:32              Constant:
+0:32                0.100000
+0:32                0.200000
 0:32            Constant:
 0:32              1 (const int)
 0:33      Sequence
@@ -244,9 +244,9 @@
 0:33              Construct combined texture-sampler ( temp isampler2DArray)
 0:33                'g_tTex2di4a' ( uniform itexture2DArray)
 0:33                'g_sSamp' (layout( binding=0) uniform sampler)
-0:?               Constant:
-0:?                 0.300000
-0:?                 0.400000
+0:33              Constant:
+0:33                0.300000
+0:33                0.400000
 0:33            Constant:
 0:33              1 (const int)
 0:34      Sequence
@@ -257,9 +257,9 @@
 0:34              Construct combined texture-sampler ( temp usampler2DArray)
 0:34                'g_tTex2du4a' ( uniform utexture2DArray)
 0:34                'g_sSamp' (layout( binding=0) uniform sampler)
-0:?               Constant:
-0:?                 0.500000
-0:?                 0.600000
+0:34              Constant:
+0:34                0.500000
+0:34                0.600000
 0:34            Constant:
 0:34              1 (const int)
 0:36      Sequence
@@ -270,10 +270,10 @@
 0:36              Construct combined texture-sampler ( temp samplerCubeArray)
 0:36                'g_tTexcdf4a' ( uniform textureCubeArray)
 0:36                'g_sSamp' (layout( binding=0) uniform sampler)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:36              Constant:
+0:36                0.100000
+0:36                0.200000
+0:36                0.300000
 0:36            Constant:
 0:36              1 (const int)
 0:37      Sequence
@@ -284,10 +284,10 @@
 0:37              Construct combined texture-sampler ( temp isamplerCubeArray)
 0:37                'g_tTexcdi4a' ( uniform itextureCubeArray)
 0:37                'g_sSamp' (layout( binding=0) uniform sampler)
-0:?               Constant:
-0:?                 0.400000
-0:?                 0.500000
-0:?                 0.600000
+0:37              Constant:
+0:37                0.400000
+0:37                0.500000
+0:37                0.600000
 0:37            Constant:
 0:37              1 (const int)
 0:38      Sequence
@@ -298,10 +298,10 @@
 0:38              Construct combined texture-sampler ( temp usamplerCubeArray)
 0:38                'g_tTexcdu4a' ( uniform utextureCubeArray)
 0:38                'g_sSamp' (layout( binding=0) uniform sampler)
-0:?               Constant:
-0:?                 0.700000
-0:?                 0.800000
-0:?                 0.900000
+0:38              Constant:
+0:38                0.700000
+0:38                0.800000
+0:38                0.900000
 0:38            Constant:
 0:38              1 (const int)
 0:40      move second child to first child ( temp 4-component vector of float)
diff --git a/Test/baseResults/hlsl.comparison.vec.frag.out b/Test/baseResults/hlsl.comparison.vec.frag.out
index 1bf2ced..9fec433 100644
--- a/Test/baseResults/hlsl.comparison.vec.frag.out
+++ b/Test/baseResults/hlsl.comparison.vec.frag.out
@@ -9,11 +9,11 @@
 0:5      Sequence
 0:5        move second child to first child ( temp 4-component vector of float)
 0:5          'v04' ( temp 4-component vector of float)
-0:?           Constant:
-0:?             0.000000
-0:?             0.000000
-0:?             0.000000
-0:?             0.000000
+0:5          Constant:
+0:5            0.000000
+0:5            0.000000
+0:5            0.000000
+0:5            0.000000
 0:6      Sequence
 0:6        move second child to first child ( temp float)
 0:6          'v01' ( temp float)
@@ -142,11 +142,11 @@
 0:5      Sequence
 0:5        move second child to first child ( temp 4-component vector of float)
 0:5          'v04' ( temp 4-component vector of float)
-0:?           Constant:
-0:?             0.000000
-0:?             0.000000
-0:?             0.000000
-0:?             0.000000
+0:5          Constant:
+0:5            0.000000
+0:5            0.000000
+0:5            0.000000
+0:5            0.000000
 0:6      Sequence
 0:6        move second child to first child ( temp float)
 0:6          'v01' ( temp float)
diff --git a/Test/baseResults/hlsl.conditional.frag.out b/Test/baseResults/hlsl.conditional.frag.out
index 84396d5..99f2538 100644
--- a/Test/baseResults/hlsl.conditional.frag.out
+++ b/Test/baseResults/hlsl.conditional.frag.out
@@ -228,17 +228,17 @@
 0:40                'f' ( temp 4-component vector of float)
 0:40              Function Call: vectorCond( ( temp 4-component vector of float)
 0:40            Function Call: scalarCond( ( temp 4-component vector of float)
-0:?           Construct vec4 ( temp 4-component vector of float)
+0:41          Construct vec4 ( temp 4-component vector of float)
 0:41            Function Call: fbSelect(vb2;vf2;vf2; ( temp 2-component vector of float)
-0:?               Constant:
-0:?                 true (const bool)
-0:?                 false (const bool)
-0:?               Constant:
-0:?                 1.000000
-0:?                 2.000000
-0:?               Constant:
-0:?                 3.000000
-0:?                 4.000000
+0:41              Constant:
+0:41                true (const bool)
+0:41                false (const bool)
+0:41              Constant:
+0:41                1.000000
+0:41                2.000000
+0:41              Constant:
+0:41                3.000000
+0:41                4.000000
 0:41            Constant:
 0:41              10.000000
 0:41            Constant:
@@ -491,17 +491,17 @@
 0:40                'f' ( temp 4-component vector of float)
 0:40              Function Call: vectorCond( ( temp 4-component vector of float)
 0:40            Function Call: scalarCond( ( temp 4-component vector of float)
-0:?           Construct vec4 ( temp 4-component vector of float)
+0:41          Construct vec4 ( temp 4-component vector of float)
 0:41            Function Call: fbSelect(vb2;vf2;vf2; ( temp 2-component vector of float)
-0:?               Constant:
-0:?                 true (const bool)
-0:?                 false (const bool)
-0:?               Constant:
-0:?                 1.000000
-0:?                 2.000000
-0:?               Constant:
-0:?                 3.000000
-0:?                 4.000000
+0:41              Constant:
+0:41                true (const bool)
+0:41                false (const bool)
+0:41              Constant:
+0:41                1.000000
+0:41                2.000000
+0:41              Constant:
+0:41                3.000000
+0:41                4.000000
 0:41            Constant:
 0:41              10.000000
 0:41            Constant:
diff --git a/Test/baseResults/hlsl.constructexpr.frag.out b/Test/baseResults/hlsl.constructexpr.frag.out
index a6d387f..7b25ae8 100644
--- a/Test/baseResults/hlsl.constructexpr.frag.out
+++ b/Test/baseResults/hlsl.constructexpr.frag.out
@@ -18,12 +18,12 @@
 0:11      Constant:
 0:11        8 (const int)
 0:12      Comma ( temp 2-component vector of float)
-0:?         Constant:
-0:?           9.000000
-0:?           10.000000
-0:?         Constant:
-0:?           11.000000
-0:?           12.000000
+0:12        Constant:
+0:12          9.000000
+0:12          10.000000
+0:12        Constant:
+0:12          11.000000
+0:12          12.000000
 0:15      move second child to first child ( temp 4-component vector of float)
 0:15        color: direct index for structure ( temp 4-component vector of float)
 0:15          'ps_output' ( temp structure{ temp 4-component vector of float color})
@@ -72,12 +72,12 @@
 0:11      Constant:
 0:11        8 (const int)
 0:12      Comma ( temp 2-component vector of float)
-0:?         Constant:
-0:?           9.000000
-0:?           10.000000
-0:?         Constant:
-0:?           11.000000
-0:?           12.000000
+0:12        Constant:
+0:12          9.000000
+0:12          10.000000
+0:12        Constant:
+0:12          11.000000
+0:12          12.000000
 0:15      move second child to first child ( temp 4-component vector of float)
 0:15        color: direct index for structure ( temp 4-component vector of float)
 0:15          'ps_output' ( temp structure{ temp 4-component vector of float color})
diff --git a/Test/baseResults/hlsl.constructimat.frag.out b/Test/baseResults/hlsl.constructimat.frag.out
index d2d3d01..a76ac6a 100644
--- a/Test/baseResults/hlsl.constructimat.frag.out
+++ b/Test/baseResults/hlsl.constructimat.frag.out
@@ -28,23 +28,23 @@
 0:7      Sequence
 0:7        move second child to first child ( temp 4X4 matrix of int)
 0:7          'var444' ( temp 4X4 matrix of int)
-0:?           Constant:
-0:?             0 (const int)
-0:?             1 (const int)
-0:?             0 (const int)
-0:?             0 (const int)
-0:?             1 (const int)
-0:?             1 (const int)
-0:?             0 (const int)
-0:?             0 (const int)
-0:?             1 (const int)
-0:?             0 (const int)
-0:?             0 (const int)
-0:?             0 (const int)
-0:?             0 (const int)
-0:?             0 (const int)
-0:?             0 (const int)
-0:?             0 (const int)
+0:7          Constant:
+0:7            0 (const int)
+0:7            1 (const int)
+0:7            0 (const int)
+0:7            0 (const int)
+0:7            1 (const int)
+0:7            1 (const int)
+0:7            0 (const int)
+0:7            0 (const int)
+0:7            1 (const int)
+0:7            0 (const int)
+0:7            0 (const int)
+0:7            0 (const int)
+0:7            0 (const int)
+0:7            0 (const int)
+0:7            0 (const int)
+0:7            0 (const int)
 0:11      Sequence
 0:11        move second child to first child ( temp 4X2 matrix of int)
 0:11          'var423' ( temp 4X2 matrix of int)
@@ -60,15 +60,15 @@
 0:12      Sequence
 0:12        move second child to first child ( temp 4X2 matrix of int)
 0:12          'var424' ( temp 4X2 matrix of int)
-0:?           Constant:
-0:?             0 (const int)
-0:?             1 (const int)
-0:?             1 (const int)
-0:?             1 (const int)
-0:?             1 (const int)
-0:?             0 (const int)
-0:?             0 (const int)
-0:?             0 (const int)
+0:12          Constant:
+0:12            0 (const int)
+0:12            1 (const int)
+0:12            1 (const int)
+0:12            1 (const int)
+0:12            1 (const int)
+0:12            0 (const int)
+0:12            0 (const int)
+0:12            0 (const int)
 0:16      Sequence
 0:16        move second child to first child ( temp 3X2 matrix of int)
 0:16          'var323' ( temp 3X2 matrix of int)
@@ -82,13 +82,13 @@
 0:17      Sequence
 0:17        move second child to first child ( temp 3X2 matrix of int)
 0:17          'var234' ( temp 3X2 matrix of int)
-0:?           Constant:
-0:?             0 (const int)
-0:?             1 (const int)
-0:?             1 (const int)
-0:?             1 (const int)
-0:?             1 (const int)
-0:?             0 (const int)
+0:17          Constant:
+0:17            0 (const int)
+0:17            1 (const int)
+0:17            1 (const int)
+0:17            1 (const int)
+0:17            1 (const int)
+0:17            0 (const int)
 0:22      Sequence
 0:22        move second child to first child ( temp 4X4 matrix of uint)
 0:22          'uvar443' ( temp 4X4 matrix of uint)
@@ -112,23 +112,23 @@
 0:23      Sequence
 0:23        move second child to first child ( temp 4X4 matrix of uint)
 0:23          'uvar444' ( temp 4X4 matrix of uint)
-0:?           Constant:
-0:?             0 (const uint)
-0:?             1 (const uint)
-0:?             0 (const uint)
-0:?             0 (const uint)
-0:?             1 (const uint)
-0:?             1 (const uint)
-0:?             0 (const uint)
-0:?             0 (const uint)
-0:?             1 (const uint)
-0:?             0 (const uint)
-0:?             0 (const uint)
-0:?             0 (const uint)
-0:?             0 (const uint)
-0:?             0 (const uint)
-0:?             0 (const uint)
-0:?             0 (const uint)
+0:23          Constant:
+0:23            0 (const uint)
+0:23            1 (const uint)
+0:23            0 (const uint)
+0:23            0 (const uint)
+0:23            1 (const uint)
+0:23            1 (const uint)
+0:23            0 (const uint)
+0:23            0 (const uint)
+0:23            1 (const uint)
+0:23            0 (const uint)
+0:23            0 (const uint)
+0:23            0 (const uint)
+0:23            0 (const uint)
+0:23            0 (const uint)
+0:23            0 (const uint)
+0:23            0 (const uint)
 0:27      Sequence
 0:27        move second child to first child ( temp 4X2 matrix of uint)
 0:27          'uvar423' ( temp 4X2 matrix of uint)
@@ -144,15 +144,15 @@
 0:28      Sequence
 0:28        move second child to first child ( temp 4X2 matrix of uint)
 0:28          'uvar424' ( temp 4X2 matrix of uint)
-0:?           Constant:
-0:?             0 (const uint)
-0:?             1 (const uint)
-0:?             1 (const uint)
-0:?             1 (const uint)
-0:?             1 (const uint)
-0:?             0 (const uint)
-0:?             0 (const uint)
-0:?             0 (const uint)
+0:28          Constant:
+0:28            0 (const uint)
+0:28            1 (const uint)
+0:28            1 (const uint)
+0:28            1 (const uint)
+0:28            1 (const uint)
+0:28            0 (const uint)
+0:28            0 (const uint)
+0:28            0 (const uint)
 0:32      Sequence
 0:32        move second child to first child ( temp 3X2 matrix of uint)
 0:32          'uvar323' ( temp 3X2 matrix of uint)
@@ -166,13 +166,13 @@
 0:33      Sequence
 0:33        move second child to first child ( temp 3X2 matrix of uint)
 0:33          'uvar234' ( temp 3X2 matrix of uint)
-0:?           Constant:
-0:?             0 (const uint)
-0:?             1 (const uint)
-0:?             1 (const uint)
-0:?             1 (const uint)
-0:?             1 (const uint)
-0:?             0 (const uint)
+0:33          Constant:
+0:33            0 (const uint)
+0:33            1 (const uint)
+0:33            1 (const uint)
+0:33            1 (const uint)
+0:33            1 (const uint)
+0:33            0 (const uint)
 0:38      Sequence
 0:38        move second child to first child ( temp 4X4 matrix of bool)
 0:38          'bvar443' ( temp 4X4 matrix of bool)
@@ -196,23 +196,23 @@
 0:39      Sequence
 0:39        move second child to first child ( temp 4X4 matrix of bool)
 0:39          'bvar444' ( temp 4X4 matrix of bool)
-0:?           Constant:
-0:?             false (const bool)
-0:?             true (const bool)
-0:?             false (const bool)
-0:?             false (const bool)
-0:?             true (const bool)
-0:?             true (const bool)
-0:?             false (const bool)
-0:?             false (const bool)
-0:?             true (const bool)
-0:?             false (const bool)
-0:?             false (const bool)
-0:?             false (const bool)
-0:?             false (const bool)
-0:?             false (const bool)
-0:?             false (const bool)
-0:?             false (const bool)
+0:39          Constant:
+0:39            false (const bool)
+0:39            true (const bool)
+0:39            false (const bool)
+0:39            false (const bool)
+0:39            true (const bool)
+0:39            true (const bool)
+0:39            false (const bool)
+0:39            false (const bool)
+0:39            true (const bool)
+0:39            false (const bool)
+0:39            false (const bool)
+0:39            false (const bool)
+0:39            false (const bool)
+0:39            false (const bool)
+0:39            false (const bool)
+0:39            false (const bool)
 0:43      Sequence
 0:43        move second child to first child ( temp 4X2 matrix of bool)
 0:43          'bvar423' ( temp 4X2 matrix of bool)
@@ -228,15 +228,15 @@
 0:44      Sequence
 0:44        move second child to first child ( temp 4X2 matrix of bool)
 0:44          'bvar424' ( temp 4X2 matrix of bool)
-0:?           Constant:
-0:?             false (const bool)
-0:?             true (const bool)
-0:?             true (const bool)
-0:?             true (const bool)
-0:?             true (const bool)
-0:?             false (const bool)
-0:?             false (const bool)
-0:?             false (const bool)
+0:44          Constant:
+0:44            false (const bool)
+0:44            true (const bool)
+0:44            true (const bool)
+0:44            true (const bool)
+0:44            true (const bool)
+0:44            false (const bool)
+0:44            false (const bool)
+0:44            false (const bool)
 0:48      Sequence
 0:48        move second child to first child ( temp 3X2 matrix of bool)
 0:48          'bvar323' ( temp 3X2 matrix of bool)
@@ -250,13 +250,13 @@
 0:49      Sequence
 0:49        move second child to first child ( temp 3X2 matrix of bool)
 0:49          'bvar234' ( temp 3X2 matrix of bool)
-0:?           Constant:
-0:?             false (const bool)
-0:?             true (const bool)
-0:?             true (const bool)
-0:?             true (const bool)
-0:?             true (const bool)
-0:?             false (const bool)
+0:49          Constant:
+0:49            false (const bool)
+0:49            true (const bool)
+0:49            true (const bool)
+0:49            true (const bool)
+0:49            true (const bool)
+0:49            false (const bool)
 0:51      Branch: Return with expression
 0:51        Constant:
 0:51          0 (const int)
@@ -302,23 +302,23 @@
 0:7      Sequence
 0:7        move second child to first child ( temp 4X4 matrix of int)
 0:7          'var444' ( temp 4X4 matrix of int)
-0:?           Constant:
-0:?             0 (const int)
-0:?             1 (const int)
-0:?             0 (const int)
-0:?             0 (const int)
-0:?             1 (const int)
-0:?             1 (const int)
-0:?             0 (const int)
-0:?             0 (const int)
-0:?             1 (const int)
-0:?             0 (const int)
-0:?             0 (const int)
-0:?             0 (const int)
-0:?             0 (const int)
-0:?             0 (const int)
-0:?             0 (const int)
-0:?             0 (const int)
+0:7          Constant:
+0:7            0 (const int)
+0:7            1 (const int)
+0:7            0 (const int)
+0:7            0 (const int)
+0:7            1 (const int)
+0:7            1 (const int)
+0:7            0 (const int)
+0:7            0 (const int)
+0:7            1 (const int)
+0:7            0 (const int)
+0:7            0 (const int)
+0:7            0 (const int)
+0:7            0 (const int)
+0:7            0 (const int)
+0:7            0 (const int)
+0:7            0 (const int)
 0:11      Sequence
 0:11        move second child to first child ( temp 4X2 matrix of int)
 0:11          'var423' ( temp 4X2 matrix of int)
@@ -334,15 +334,15 @@
 0:12      Sequence
 0:12        move second child to first child ( temp 4X2 matrix of int)
 0:12          'var424' ( temp 4X2 matrix of int)
-0:?           Constant:
-0:?             0 (const int)
-0:?             1 (const int)
-0:?             1 (const int)
-0:?             1 (const int)
-0:?             1 (const int)
-0:?             0 (const int)
-0:?             0 (const int)
-0:?             0 (const int)
+0:12          Constant:
+0:12            0 (const int)
+0:12            1 (const int)
+0:12            1 (const int)
+0:12            1 (const int)
+0:12            1 (const int)
+0:12            0 (const int)
+0:12            0 (const int)
+0:12            0 (const int)
 0:16      Sequence
 0:16        move second child to first child ( temp 3X2 matrix of int)
 0:16          'var323' ( temp 3X2 matrix of int)
@@ -356,13 +356,13 @@
 0:17      Sequence
 0:17        move second child to first child ( temp 3X2 matrix of int)
 0:17          'var234' ( temp 3X2 matrix of int)
-0:?           Constant:
-0:?             0 (const int)
-0:?             1 (const int)
-0:?             1 (const int)
-0:?             1 (const int)
-0:?             1 (const int)
-0:?             0 (const int)
+0:17          Constant:
+0:17            0 (const int)
+0:17            1 (const int)
+0:17            1 (const int)
+0:17            1 (const int)
+0:17            1 (const int)
+0:17            0 (const int)
 0:22      Sequence
 0:22        move second child to first child ( temp 4X4 matrix of uint)
 0:22          'uvar443' ( temp 4X4 matrix of uint)
@@ -386,23 +386,23 @@
 0:23      Sequence
 0:23        move second child to first child ( temp 4X4 matrix of uint)
 0:23          'uvar444' ( temp 4X4 matrix of uint)
-0:?           Constant:
-0:?             0 (const uint)
-0:?             1 (const uint)
-0:?             0 (const uint)
-0:?             0 (const uint)
-0:?             1 (const uint)
-0:?             1 (const uint)
-0:?             0 (const uint)
-0:?             0 (const uint)
-0:?             1 (const uint)
-0:?             0 (const uint)
-0:?             0 (const uint)
-0:?             0 (const uint)
-0:?             0 (const uint)
-0:?             0 (const uint)
-0:?             0 (const uint)
-0:?             0 (const uint)
+0:23          Constant:
+0:23            0 (const uint)
+0:23            1 (const uint)
+0:23            0 (const uint)
+0:23            0 (const uint)
+0:23            1 (const uint)
+0:23            1 (const uint)
+0:23            0 (const uint)
+0:23            0 (const uint)
+0:23            1 (const uint)
+0:23            0 (const uint)
+0:23            0 (const uint)
+0:23            0 (const uint)
+0:23            0 (const uint)
+0:23            0 (const uint)
+0:23            0 (const uint)
+0:23            0 (const uint)
 0:27      Sequence
 0:27        move second child to first child ( temp 4X2 matrix of uint)
 0:27          'uvar423' ( temp 4X2 matrix of uint)
@@ -418,15 +418,15 @@
 0:28      Sequence
 0:28        move second child to first child ( temp 4X2 matrix of uint)
 0:28          'uvar424' ( temp 4X2 matrix of uint)
-0:?           Constant:
-0:?             0 (const uint)
-0:?             1 (const uint)
-0:?             1 (const uint)
-0:?             1 (const uint)
-0:?             1 (const uint)
-0:?             0 (const uint)
-0:?             0 (const uint)
-0:?             0 (const uint)
+0:28          Constant:
+0:28            0 (const uint)
+0:28            1 (const uint)
+0:28            1 (const uint)
+0:28            1 (const uint)
+0:28            1 (const uint)
+0:28            0 (const uint)
+0:28            0 (const uint)
+0:28            0 (const uint)
 0:32      Sequence
 0:32        move second child to first child ( temp 3X2 matrix of uint)
 0:32          'uvar323' ( temp 3X2 matrix of uint)
@@ -440,13 +440,13 @@
 0:33      Sequence
 0:33        move second child to first child ( temp 3X2 matrix of uint)
 0:33          'uvar234' ( temp 3X2 matrix of uint)
-0:?           Constant:
-0:?             0 (const uint)
-0:?             1 (const uint)
-0:?             1 (const uint)
-0:?             1 (const uint)
-0:?             1 (const uint)
-0:?             0 (const uint)
+0:33          Constant:
+0:33            0 (const uint)
+0:33            1 (const uint)
+0:33            1 (const uint)
+0:33            1 (const uint)
+0:33            1 (const uint)
+0:33            0 (const uint)
 0:38      Sequence
 0:38        move second child to first child ( temp 4X4 matrix of bool)
 0:38          'bvar443' ( temp 4X4 matrix of bool)
@@ -470,23 +470,23 @@
 0:39      Sequence
 0:39        move second child to first child ( temp 4X4 matrix of bool)
 0:39          'bvar444' ( temp 4X4 matrix of bool)
-0:?           Constant:
-0:?             false (const bool)
-0:?             true (const bool)
-0:?             false (const bool)
-0:?             false (const bool)
-0:?             true (const bool)
-0:?             true (const bool)
-0:?             false (const bool)
-0:?             false (const bool)
-0:?             true (const bool)
-0:?             false (const bool)
-0:?             false (const bool)
-0:?             false (const bool)
-0:?             false (const bool)
-0:?             false (const bool)
-0:?             false (const bool)
-0:?             false (const bool)
+0:39          Constant:
+0:39            false (const bool)
+0:39            true (const bool)
+0:39            false (const bool)
+0:39            false (const bool)
+0:39            true (const bool)
+0:39            true (const bool)
+0:39            false (const bool)
+0:39            false (const bool)
+0:39            true (const bool)
+0:39            false (const bool)
+0:39            false (const bool)
+0:39            false (const bool)
+0:39            false (const bool)
+0:39            false (const bool)
+0:39            false (const bool)
+0:39            false (const bool)
 0:43      Sequence
 0:43        move second child to first child ( temp 4X2 matrix of bool)
 0:43          'bvar423' ( temp 4X2 matrix of bool)
@@ -502,15 +502,15 @@
 0:44      Sequence
 0:44        move second child to first child ( temp 4X2 matrix of bool)
 0:44          'bvar424' ( temp 4X2 matrix of bool)
-0:?           Constant:
-0:?             false (const bool)
-0:?             true (const bool)
-0:?             true (const bool)
-0:?             true (const bool)
-0:?             true (const bool)
-0:?             false (const bool)
-0:?             false (const bool)
-0:?             false (const bool)
+0:44          Constant:
+0:44            false (const bool)
+0:44            true (const bool)
+0:44            true (const bool)
+0:44            true (const bool)
+0:44            true (const bool)
+0:44            false (const bool)
+0:44            false (const bool)
+0:44            false (const bool)
 0:48      Sequence
 0:48        move second child to first child ( temp 3X2 matrix of bool)
 0:48          'bvar323' ( temp 3X2 matrix of bool)
@@ -524,13 +524,13 @@
 0:49      Sequence
 0:49        move second child to first child ( temp 3X2 matrix of bool)
 0:49          'bvar234' ( temp 3X2 matrix of bool)
-0:?           Constant:
-0:?             false (const bool)
-0:?             true (const bool)
-0:?             true (const bool)
-0:?             true (const bool)
-0:?             true (const bool)
-0:?             false (const bool)
+0:49          Constant:
+0:49            false (const bool)
+0:49            true (const bool)
+0:49            true (const bool)
+0:49            true (const bool)
+0:49            true (const bool)
+0:49            false (const bool)
 0:51      Branch: Return with expression
 0:51        Constant:
 0:51          0 (const int)
diff --git a/Test/baseResults/hlsl.coverage.frag.out b/Test/baseResults/hlsl.coverage.frag.out
index cb81d56..7c44e1f 100644
--- a/Test/baseResults/hlsl.coverage.frag.out
+++ b/Test/baseResults/hlsl.coverage.frag.out
@@ -11,11 +11,11 @@
 0:17          'o' ( temp structure{ temp 4-component vector of float vColor,  temp uint nCoverageMask})
 0:17          Constant:
 0:17            0 (const int)
-0:?         Constant:
-0:?           1.000000
-0:?           0.000000
-0:?           0.000000
-0:?           1.000000
+0:17        Constant:
+0:17          1.000000
+0:17          0.000000
+0:17          0.000000
+0:17          1.000000
 0:18      move second child to first child ( temp uint)
 0:18        nCoverageMask: direct index for structure ( temp uint)
 0:18          'o' ( temp structure{ temp 4-component vector of float vColor,  temp uint nCoverageMask})
@@ -72,11 +72,11 @@
 0:17          'o' ( temp structure{ temp 4-component vector of float vColor,  temp uint nCoverageMask})
 0:17          Constant:
 0:17            0 (const int)
-0:?         Constant:
-0:?           1.000000
-0:?           0.000000
-0:?           0.000000
-0:?           1.000000
+0:17        Constant:
+0:17          1.000000
+0:17          0.000000
+0:17          0.000000
+0:17          1.000000
 0:18      move second child to first child ( temp uint)
 0:18        nCoverageMask: direct index for structure ( temp uint)
 0:18          'o' ( temp structure{ temp 4-component vector of float vColor,  temp uint nCoverageMask})
diff --git a/Test/baseResults/hlsl.earlydepthstencil.frag.out b/Test/baseResults/hlsl.earlydepthstencil.frag.out
index e6ad359..34ca006 100644
--- a/Test/baseResults/hlsl.earlydepthstencil.frag.out
+++ b/Test/baseResults/hlsl.earlydepthstencil.frag.out
@@ -11,7 +11,7 @@
 0:10        'oldVal' ( temp uint)
 0:10        imageAtomicExchange ( temp uint)
 0:10          'Values' (layout( r32ui) uniform uimage2D)
-0:?           Construct uvec2 ( temp 2-component vector of uint)
+0:10          Construct uvec2 ( temp 2-component vector of uint)
 0:10            Convert float to uint ( temp uint)
 0:10              direct index ( temp float)
 0:10                Position: direct index for structure ( temp 4-component vector of float)
@@ -67,7 +67,7 @@
 0:10        'oldVal' ( temp uint)
 0:10        imageAtomicExchange ( temp uint)
 0:10          'Values' (layout( r32ui) uniform uimage2D)
-0:?           Construct uvec2 ( temp 2-component vector of uint)
+0:10          Construct uvec2 ( temp 2-component vector of uint)
 0:10            Convert float to uint ( temp uint)
 0:10              direct index ( temp float)
 0:10                Position: direct index for structure ( temp 4-component vector of float)
diff --git a/Test/baseResults/hlsl.flatten.return.frag.out b/Test/baseResults/hlsl.flatten.return.frag.out
index ffb9dcc..9a51f1f 100644
--- a/Test/baseResults/hlsl.flatten.return.frag.out
+++ b/Test/baseResults/hlsl.flatten.return.frag.out
@@ -6,14 +6,14 @@
 0:11    Function Parameters: 
 0:?     Sequence
 0:12      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           1.000000
-0:?           1.000000
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
-0:?           4.000000
+0:12        Constant:
+0:12          1.000000
+0:12          1.000000
+0:12          1.000000
+0:12          1.000000
+0:12          2.000000
+0:12          3.000000
+0:12          4.000000
 0:16  Function Definition: @main( ( temp structure{ temp 4-component vector of float color,  temp float other_struct_member1,  temp float other_struct_member2,  temp float other_struct_member3})
 0:16    Function Parameters: 
 0:?     Sequence
@@ -67,14 +67,14 @@
 0:11    Function Parameters: 
 0:?     Sequence
 0:12      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           1.000000
-0:?           1.000000
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
-0:?           4.000000
+0:12        Constant:
+0:12          1.000000
+0:12          1.000000
+0:12          1.000000
+0:12          1.000000
+0:12          2.000000
+0:12          3.000000
+0:12          4.000000
 0:16  Function Definition: @main( ( temp structure{ temp 4-component vector of float color,  temp float other_struct_member1,  temp float other_struct_member2,  temp float other_struct_member3})
 0:16    Function Parameters: 
 0:?     Sequence
diff --git a/Test/baseResults/hlsl.flattenOpaque.frag.out b/Test/baseResults/hlsl.flattenOpaque.frag.out
index d63caf5..9a29081 100644
--- a/Test/baseResults/hlsl.flattenOpaque.frag.out
+++ b/Test/baseResults/hlsl.flattenOpaque.frag.out
@@ -15,9 +15,9 @@
 0:16              's' ( in structure{ temp sampler s2D})
 0:16              Constant:
 0:16                0 (const int)
-0:?           Constant:
-0:?             0.200000
-0:?             0.300000
+0:16          Constant:
+0:16            0.200000
+0:16            0.300000
 0:20  Function Definition: osCall2(struct-os-p11;vf2; ( temp 4-component vector of float)
 0:20    Function Parameters: 
 0:20      's' ( in structure{ temp sampler s2D})
@@ -47,9 +47,9 @@
 0:26              's' ( in structure{ temp sampler s2D,  temp texture2D tex})
 0:26              Constant:
 0:26                0 (const int)
-0:?           Constant:
-0:?             0.200000
-0:?             0.300000
+0:26          Constant:
+0:26            0.200000
+0:26            0.300000
 0:30  Function Definition: os2Call2(struct-os2-p1-t211;vf2; ( temp 4-component vector of float)
 0:30    Function Parameters: 
 0:30      's' ( in structure{ temp sampler s2D,  temp texture2D tex})
@@ -94,9 +94,9 @@
 0:37                          0 (const int)
 0:?                       's.s2D' ( uniform sampler)
 0:37                  'aggShadow' ( temp structure{ temp sampler s2D})
-0:?                 Constant:
-0:?                   0.200000
-0:?                   0.300000
+0:37                Constant:
+0:37                  0.200000
+0:37                  0.300000
 0:38            Function Call: os2Call1(struct-os2-p1-t211; ( temp 4-component vector of float)
 0:38              Comma ( temp structure{ temp sampler s2D,  temp texture2D tex})
 0:38                Sequence
@@ -129,9 +129,9 @@
 0:39                      1 (const int)
 0:?                   's2.tex' ( uniform texture2D)
 0:39              'aggShadow' ( temp structure{ temp sampler s2D,  temp texture2D tex})
-0:?             Constant:
-0:?               0.200000
-0:?               0.300000
+0:39            Constant:
+0:39              0.200000
+0:39              0.300000
 0:35  Function Definition: main( ( temp void)
 0:35    Function Parameters: 
 0:?     Sequence
@@ -164,9 +164,9 @@
 0:16              's' ( in structure{ temp sampler s2D})
 0:16              Constant:
 0:16                0 (const int)
-0:?           Constant:
-0:?             0.200000
-0:?             0.300000
+0:16          Constant:
+0:16            0.200000
+0:16            0.300000
 0:20  Function Definition: osCall2(struct-os-p11;vf2; ( temp 4-component vector of float)
 0:20    Function Parameters: 
 0:20      's' ( in structure{ temp sampler s2D})
@@ -196,9 +196,9 @@
 0:26              's' ( in structure{ temp sampler s2D,  temp texture2D tex})
 0:26              Constant:
 0:26                0 (const int)
-0:?           Constant:
-0:?             0.200000
-0:?             0.300000
+0:26          Constant:
+0:26            0.200000
+0:26            0.300000
 0:30  Function Definition: os2Call2(struct-os2-p1-t211;vf2; ( temp 4-component vector of float)
 0:30    Function Parameters: 
 0:30      's' ( in structure{ temp sampler s2D,  temp texture2D tex})
@@ -243,9 +243,9 @@
 0:37                          0 (const int)
 0:?                       's.s2D' ( uniform sampler)
 0:37                  'aggShadow' ( temp structure{ temp sampler s2D})
-0:?                 Constant:
-0:?                   0.200000
-0:?                   0.300000
+0:37                Constant:
+0:37                  0.200000
+0:37                  0.300000
 0:38            Function Call: os2Call1(struct-os2-p1-t211; ( temp 4-component vector of float)
 0:38              Comma ( temp structure{ temp sampler s2D,  temp texture2D tex})
 0:38                Sequence
@@ -278,9 +278,9 @@
 0:39                      1 (const int)
 0:?                   's2.tex' ( uniform texture2D)
 0:39              'aggShadow' ( temp structure{ temp sampler s2D,  temp texture2D tex})
-0:?             Constant:
-0:?               0.200000
-0:?               0.300000
+0:39            Constant:
+0:39              0.200000
+0:39              0.300000
 0:35  Function Definition: main( ( temp void)
 0:35    Function Parameters: 
 0:?     Sequence
diff --git a/Test/baseResults/hlsl.flattenOpaqueInit.vert.out b/Test/baseResults/hlsl.flattenOpaqueInit.vert.out
index d27cadc..10e8345 100644
--- a/Test/baseResults/hlsl.flattenOpaqueInit.vert.out
+++ b/Test/baseResults/hlsl.flattenOpaqueInit.vert.out
@@ -17,9 +17,9 @@
 0:6              'tex' ( in structure{ temp sampler smpl,  temp texture2D tex})
 0:6              Constant:
 0:6                0 (const int)
-0:?           Constant:
-0:?             0.300000
-0:?             0.400000
+0:6          Constant:
+0:6            0.300000
+0:6            0.400000
 0:10  Function Definition: fillOpaque( ( temp structure{ temp sampler smpl,  temp texture2D tex})
 0:10    Function Parameters: 
 0:?     Sequence
@@ -101,9 +101,9 @@
 0:6              'tex' ( in structure{ temp sampler smpl,  temp texture2D tex})
 0:6              Constant:
 0:6                0 (const int)
-0:?           Constant:
-0:?             0.300000
-0:?             0.400000
+0:6          Constant:
+0:6            0.300000
+0:6            0.400000
 0:10  Function Definition: fillOpaque( ( temp structure{ temp sampler smpl,  temp texture2D tex})
 0:10    Function Parameters: 
 0:?     Sequence
diff --git a/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out b/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out
index 04f7009..c8d0b16 100644
--- a/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out
+++ b/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out
@@ -17,7 +17,7 @@
 0:6              'tex' ( in structure{ temp sampler smpl,  temp texture2D tex,  temp float f})
 0:6              Constant:
 0:6                0 (const int)
-0:?           Construct vec2 ( temp 2-component vector of float)
+0:6          Construct vec2 ( temp 2-component vector of float)
 0:6            f: direct index for structure ( temp float)
 0:6              'tex' ( in structure{ temp sampler smpl,  temp texture2D tex,  temp float f})
 0:6              Constant:
@@ -72,7 +72,7 @@
 0:6              'tex' ( in structure{ temp sampler smpl,  temp texture2D tex,  temp float f})
 0:6              Constant:
 0:6                0 (const int)
-0:?           Construct vec2 ( temp 2-component vector of float)
+0:6          Construct vec2 ( temp 2-component vector of float)
 0:6            f: direct index for structure ( temp float)
 0:6              'tex' ( in structure{ temp sampler smpl,  temp texture2D tex,  temp float f})
 0:6              Constant:
diff --git a/Test/baseResults/hlsl.flattenSubset2.frag.out b/Test/baseResults/hlsl.flattenSubset2.frag.out
index bac9b30..c319637 100644
--- a/Test/baseResults/hlsl.flattenSubset2.frag.out
+++ b/Test/baseResults/hlsl.flattenSubset2.frag.out
@@ -52,11 +52,11 @@
 0:21        Constant:
 0:21          1.000000
 0:23      Branch: Return with expression
-0:?         Constant:
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
+0:23        Constant:
+0:23          0.000000
+0:23          0.000000
+0:23          0.000000
+0:23          0.000000
 0:8  Function Definition: main( ( temp void)
 0:8    Function Parameters: 
 0:?     Sequence
@@ -128,11 +128,11 @@
 0:21        Constant:
 0:21          1.000000
 0:23      Branch: Return with expression
-0:?         Constant:
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
+0:23        Constant:
+0:23          0.000000
+0:23          0.000000
+0:23          0.000000
+0:23          0.000000
 0:8  Function Definition: main( ( temp void)
 0:8    Function Parameters: 
 0:?     Sequence
diff --git a/Test/baseResults/hlsl.gather.array.dx10.frag.out b/Test/baseResults/hlsl.gather.array.dx10.frag.out
index b679ac4..e39d5a2 100644
--- a/Test/baseResults/hlsl.gather.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.gather.array.dx10.frag.out
@@ -13,10 +13,10 @@
 0:29            Construct combined texture-sampler ( temp sampler2DArray)
 0:29              'g_tTex2df4a' ( uniform texture2DArray)
 0:29              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:29            Constant:
+0:29              0.100000
+0:29              0.200000
+0:29              0.300000
 0:30      Sequence
 0:30        move second child to first child ( temp 4-component vector of int)
 0:30          'txval21' ( temp 4-component vector of int)
@@ -24,10 +24,10 @@
 0:30            Construct combined texture-sampler ( temp isampler2DArray)
 0:30              'g_tTex2di4a' ( uniform itexture2DArray)
 0:30              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
-0:?               0.500000
+0:30            Constant:
+0:30              0.300000
+0:30              0.400000
+0:30              0.500000
 0:31      Sequence
 0:31        move second child to first child ( temp 4-component vector of uint)
 0:31          'txval22' ( temp 4-component vector of uint)
@@ -35,10 +35,10 @@
 0:31            Construct combined texture-sampler ( temp usampler2DArray)
 0:31              'g_tTex2du4a' ( uniform utexture2DArray)
 0:31              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?               0.700000
+0:31            Constant:
+0:31              0.500000
+0:31              0.600000
+0:31              0.700000
 0:35      Sequence
 0:35        move second child to first child ( temp 4-component vector of float)
 0:35          'txval40' ( temp 4-component vector of float)
@@ -46,11 +46,11 @@
 0:35            Construct combined texture-sampler ( temp samplerCubeArray)
 0:35              'g_tTexcdf4a' ( uniform textureCubeArray)
 0:35              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?               0.400000
+0:35            Constant:
+0:35              0.100000
+0:35              0.200000
+0:35              0.300000
+0:35              0.400000
 0:36      Sequence
 0:36        move second child to first child ( temp 4-component vector of int)
 0:36          'txval41' ( temp 4-component vector of int)
@@ -58,11 +58,11 @@
 0:36            Construct combined texture-sampler ( temp isamplerCubeArray)
 0:36              'g_tTexcdi4a' ( uniform itextureCubeArray)
 0:36              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
-0:?               0.700000
+0:36            Constant:
+0:36              0.400000
+0:36              0.500000
+0:36              0.600000
+0:36              0.700000
 0:37      Sequence
 0:37        move second child to first child ( temp 4-component vector of uint)
 0:37          'txval42' ( temp 4-component vector of uint)
@@ -70,11 +70,11 @@
 0:37            Construct combined texture-sampler ( temp usamplerCubeArray)
 0:37              'g_tTexcdu4a' ( uniform utextureCubeArray)
 0:37              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
-0:?               1.000000
+0:37            Constant:
+0:37              0.700000
+0:37              0.800000
+0:37              0.900000
+0:37              1.000000
 0:39      move second child to first child ( temp 4-component vector of float)
 0:39        Color: direct index for structure ( temp 4-component vector of float)
 0:39          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
@@ -146,10 +146,10 @@
 0:29            Construct combined texture-sampler ( temp sampler2DArray)
 0:29              'g_tTex2df4a' ( uniform texture2DArray)
 0:29              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:29            Constant:
+0:29              0.100000
+0:29              0.200000
+0:29              0.300000
 0:30      Sequence
 0:30        move second child to first child ( temp 4-component vector of int)
 0:30          'txval21' ( temp 4-component vector of int)
@@ -157,10 +157,10 @@
 0:30            Construct combined texture-sampler ( temp isampler2DArray)
 0:30              'g_tTex2di4a' ( uniform itexture2DArray)
 0:30              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
-0:?               0.500000
+0:30            Constant:
+0:30              0.300000
+0:30              0.400000
+0:30              0.500000
 0:31      Sequence
 0:31        move second child to first child ( temp 4-component vector of uint)
 0:31          'txval22' ( temp 4-component vector of uint)
@@ -168,10 +168,10 @@
 0:31            Construct combined texture-sampler ( temp usampler2DArray)
 0:31              'g_tTex2du4a' ( uniform utexture2DArray)
 0:31              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?               0.700000
+0:31            Constant:
+0:31              0.500000
+0:31              0.600000
+0:31              0.700000
 0:35      Sequence
 0:35        move second child to first child ( temp 4-component vector of float)
 0:35          'txval40' ( temp 4-component vector of float)
@@ -179,11 +179,11 @@
 0:35            Construct combined texture-sampler ( temp samplerCubeArray)
 0:35              'g_tTexcdf4a' ( uniform textureCubeArray)
 0:35              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?               0.400000
+0:35            Constant:
+0:35              0.100000
+0:35              0.200000
+0:35              0.300000
+0:35              0.400000
 0:36      Sequence
 0:36        move second child to first child ( temp 4-component vector of int)
 0:36          'txval41' ( temp 4-component vector of int)
@@ -191,11 +191,11 @@
 0:36            Construct combined texture-sampler ( temp isamplerCubeArray)
 0:36              'g_tTexcdi4a' ( uniform itextureCubeArray)
 0:36              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
-0:?               0.700000
+0:36            Constant:
+0:36              0.400000
+0:36              0.500000
+0:36              0.600000
+0:36              0.700000
 0:37      Sequence
 0:37        move second child to first child ( temp 4-component vector of uint)
 0:37          'txval42' ( temp 4-component vector of uint)
@@ -203,11 +203,11 @@
 0:37            Construct combined texture-sampler ( temp usamplerCubeArray)
 0:37              'g_tTexcdu4a' ( uniform utextureCubeArray)
 0:37              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
-0:?               1.000000
+0:37            Constant:
+0:37              0.700000
+0:37              0.800000
+0:37              0.900000
+0:37              1.000000
 0:39      move second child to first child ( temp 4-component vector of float)
 0:39        Color: direct index for structure ( temp 4-component vector of float)
 0:39          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
diff --git a/Test/baseResults/hlsl.gather.basic.dx10.frag.out b/Test/baseResults/hlsl.gather.basic.dx10.frag.out
index c80c10f..99efd61 100644
--- a/Test/baseResults/hlsl.gather.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.gather.basic.dx10.frag.out
@@ -13,9 +13,9 @@
 0:34            Construct combined texture-sampler ( temp sampler2D)
 0:34              'g_tTex2df4' ( uniform texture2D)
 0:34              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:34            Constant:
+0:34              0.100000
+0:34              0.200000
 0:35      Sequence
 0:35        move second child to first child ( temp 4-component vector of int)
 0:35          'txval21' ( temp 4-component vector of int)
@@ -23,9 +23,9 @@
 0:35            Construct combined texture-sampler ( temp isampler2D)
 0:35              'g_tTex2di4' ( uniform itexture2D)
 0:35              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
+0:35            Constant:
+0:35              0.300000
+0:35              0.400000
 0:36      Sequence
 0:36        move second child to first child ( temp 4-component vector of uint)
 0:36          'txval22' ( temp 4-component vector of uint)
@@ -33,9 +33,9 @@
 0:36            Construct combined texture-sampler ( temp usampler2D)
 0:36              'g_tTex2du4' ( uniform utexture2D)
 0:36              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
+0:36            Constant:
+0:36              0.500000
+0:36              0.600000
 0:40      Sequence
 0:40        move second child to first child ( temp 4-component vector of float)
 0:40          'txval40' ( temp 4-component vector of float)
@@ -43,10 +43,10 @@
 0:40            Construct combined texture-sampler ( temp samplerCube)
 0:40              'g_tTexcdf4' ( uniform textureCube)
 0:40              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:40            Constant:
+0:40              0.100000
+0:40              0.200000
+0:40              0.300000
 0:41      Sequence
 0:41        move second child to first child ( temp 4-component vector of int)
 0:41          'txval41' ( temp 4-component vector of int)
@@ -54,10 +54,10 @@
 0:41            Construct combined texture-sampler ( temp isamplerCube)
 0:41              'g_tTexcdi4' ( uniform itextureCube)
 0:41              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
+0:41            Constant:
+0:41              0.400000
+0:41              0.500000
+0:41              0.600000
 0:42      Sequence
 0:42        move second child to first child ( temp 4-component vector of uint)
 0:42          'txval42' ( temp 4-component vector of uint)
@@ -65,10 +65,10 @@
 0:42            Construct combined texture-sampler ( temp usamplerCube)
 0:42              'g_tTexcdu4' ( uniform utextureCube)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
+0:42            Constant:
+0:42              0.700000
+0:42              0.800000
+0:42              0.900000
 0:44      move second child to first child ( temp 4-component vector of float)
 0:44        Color: direct index for structure ( temp 4-component vector of float)
 0:44          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
@@ -144,9 +144,9 @@
 0:34            Construct combined texture-sampler ( temp sampler2D)
 0:34              'g_tTex2df4' ( uniform texture2D)
 0:34              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:34            Constant:
+0:34              0.100000
+0:34              0.200000
 0:35      Sequence
 0:35        move second child to first child ( temp 4-component vector of int)
 0:35          'txval21' ( temp 4-component vector of int)
@@ -154,9 +154,9 @@
 0:35            Construct combined texture-sampler ( temp isampler2D)
 0:35              'g_tTex2di4' ( uniform itexture2D)
 0:35              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
+0:35            Constant:
+0:35              0.300000
+0:35              0.400000
 0:36      Sequence
 0:36        move second child to first child ( temp 4-component vector of uint)
 0:36          'txval22' ( temp 4-component vector of uint)
@@ -164,9 +164,9 @@
 0:36            Construct combined texture-sampler ( temp usampler2D)
 0:36              'g_tTex2du4' ( uniform utexture2D)
 0:36              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
+0:36            Constant:
+0:36              0.500000
+0:36              0.600000
 0:40      Sequence
 0:40        move second child to first child ( temp 4-component vector of float)
 0:40          'txval40' ( temp 4-component vector of float)
@@ -174,10 +174,10 @@
 0:40            Construct combined texture-sampler ( temp samplerCube)
 0:40              'g_tTexcdf4' ( uniform textureCube)
 0:40              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:40            Constant:
+0:40              0.100000
+0:40              0.200000
+0:40              0.300000
 0:41      Sequence
 0:41        move second child to first child ( temp 4-component vector of int)
 0:41          'txval41' ( temp 4-component vector of int)
@@ -185,10 +185,10 @@
 0:41            Construct combined texture-sampler ( temp isamplerCube)
 0:41              'g_tTexcdi4' ( uniform itextureCube)
 0:41              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
+0:41            Constant:
+0:41              0.400000
+0:41              0.500000
+0:41              0.600000
 0:42      Sequence
 0:42        move second child to first child ( temp 4-component vector of uint)
 0:42          'txval42' ( temp 4-component vector of uint)
@@ -196,10 +196,10 @@
 0:42            Construct combined texture-sampler ( temp usamplerCube)
 0:42              'g_tTexcdu4' ( uniform utextureCube)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
+0:42            Constant:
+0:42              0.700000
+0:42              0.800000
+0:42              0.900000
 0:44      move second child to first child ( temp 4-component vector of float)
 0:44        Color: direct index for structure ( temp 4-component vector of float)
 0:44          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
diff --git a/Test/baseResults/hlsl.gather.basic.dx10.vert.out b/Test/baseResults/hlsl.gather.basic.dx10.vert.out
index fd0c958..96525e0 100644
--- a/Test/baseResults/hlsl.gather.basic.dx10.vert.out
+++ b/Test/baseResults/hlsl.gather.basic.dx10.vert.out
@@ -11,9 +11,9 @@
 0:33            Construct combined texture-sampler ( temp sampler2D)
 0:33              'g_tTex2df4' ( uniform texture2D)
 0:33              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:33            Constant:
+0:33              0.100000
+0:33              0.200000
 0:34      Sequence
 0:34        move second child to first child ( temp 4-component vector of int)
 0:34          'txval21' ( temp 4-component vector of int)
@@ -21,9 +21,9 @@
 0:34            Construct combined texture-sampler ( temp isampler2D)
 0:34              'g_tTex2di4' ( uniform itexture2D)
 0:34              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
+0:34            Constant:
+0:34              0.300000
+0:34              0.400000
 0:35      Sequence
 0:35        move second child to first child ( temp 4-component vector of uint)
 0:35          'txval22' ( temp 4-component vector of uint)
@@ -31,9 +31,9 @@
 0:35            Construct combined texture-sampler ( temp usampler2D)
 0:35              'g_tTex2du4' ( uniform utexture2D)
 0:35              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
+0:35            Constant:
+0:35              0.500000
+0:35              0.600000
 0:39      Sequence
 0:39        move second child to first child ( temp 4-component vector of float)
 0:39          'txval40' ( temp 4-component vector of float)
@@ -41,10 +41,10 @@
 0:39            Construct combined texture-sampler ( temp samplerCube)
 0:39              'g_tTexcdf4' ( uniform textureCube)
 0:39              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:39            Constant:
+0:39              0.100000
+0:39              0.200000
+0:39              0.300000
 0:40      Sequence
 0:40        move second child to first child ( temp 4-component vector of int)
 0:40          'txval41' ( temp 4-component vector of int)
@@ -52,10 +52,10 @@
 0:40            Construct combined texture-sampler ( temp isamplerCube)
 0:40              'g_tTexcdi4' ( uniform itextureCube)
 0:40              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
+0:40            Constant:
+0:40              0.400000
+0:40              0.500000
+0:40              0.600000
 0:41      Sequence
 0:41        move second child to first child ( temp 4-component vector of uint)
 0:41          'txval42' ( temp 4-component vector of uint)
@@ -63,20 +63,20 @@
 0:41            Construct combined texture-sampler ( temp usamplerCube)
 0:41              'g_tTexcdu4' ( uniform utextureCube)
 0:41              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
+0:41            Constant:
+0:41              0.700000
+0:41              0.800000
+0:41              0.900000
 0:43      move second child to first child ( temp 4-component vector of float)
 0:43        Pos: direct index for structure ( temp 4-component vector of float)
 0:43          'vsout' ( temp structure{ temp 4-component vector of float Pos})
 0:43          Constant:
 0:43            0 (const int)
-0:?         Constant:
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
+0:43        Constant:
+0:43          0.000000
+0:43          0.000000
+0:43          0.000000
+0:43          0.000000
 0:45      Branch: Return with expression
 0:45        'vsout' ( temp structure{ temp 4-component vector of float Pos})
 0:28  Function Definition: main( ( temp void)
@@ -123,9 +123,9 @@
 0:33            Construct combined texture-sampler ( temp sampler2D)
 0:33              'g_tTex2df4' ( uniform texture2D)
 0:33              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:33            Constant:
+0:33              0.100000
+0:33              0.200000
 0:34      Sequence
 0:34        move second child to first child ( temp 4-component vector of int)
 0:34          'txval21' ( temp 4-component vector of int)
@@ -133,9 +133,9 @@
 0:34            Construct combined texture-sampler ( temp isampler2D)
 0:34              'g_tTex2di4' ( uniform itexture2D)
 0:34              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
+0:34            Constant:
+0:34              0.300000
+0:34              0.400000
 0:35      Sequence
 0:35        move second child to first child ( temp 4-component vector of uint)
 0:35          'txval22' ( temp 4-component vector of uint)
@@ -143,9 +143,9 @@
 0:35            Construct combined texture-sampler ( temp usampler2D)
 0:35              'g_tTex2du4' ( uniform utexture2D)
 0:35              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
+0:35            Constant:
+0:35              0.500000
+0:35              0.600000
 0:39      Sequence
 0:39        move second child to first child ( temp 4-component vector of float)
 0:39          'txval40' ( temp 4-component vector of float)
@@ -153,10 +153,10 @@
 0:39            Construct combined texture-sampler ( temp samplerCube)
 0:39              'g_tTexcdf4' ( uniform textureCube)
 0:39              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:39            Constant:
+0:39              0.100000
+0:39              0.200000
+0:39              0.300000
 0:40      Sequence
 0:40        move second child to first child ( temp 4-component vector of int)
 0:40          'txval41' ( temp 4-component vector of int)
@@ -164,10 +164,10 @@
 0:40            Construct combined texture-sampler ( temp isamplerCube)
 0:40              'g_tTexcdi4' ( uniform itextureCube)
 0:40              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
+0:40            Constant:
+0:40              0.400000
+0:40              0.500000
+0:40              0.600000
 0:41      Sequence
 0:41        move second child to first child ( temp 4-component vector of uint)
 0:41          'txval42' ( temp 4-component vector of uint)
@@ -175,20 +175,20 @@
 0:41            Construct combined texture-sampler ( temp usamplerCube)
 0:41              'g_tTexcdu4' ( uniform utextureCube)
 0:41              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
+0:41            Constant:
+0:41              0.700000
+0:41              0.800000
+0:41              0.900000
 0:43      move second child to first child ( temp 4-component vector of float)
 0:43        Pos: direct index for structure ( temp 4-component vector of float)
 0:43          'vsout' ( temp structure{ temp 4-component vector of float Pos})
 0:43          Constant:
 0:43            0 (const int)
-0:?         Constant:
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
+0:43        Constant:
+0:43          0.000000
+0:43          0.000000
+0:43          0.000000
+0:43          0.000000
 0:45      Branch: Return with expression
 0:45        'vsout' ( temp structure{ temp 4-component vector of float Pos})
 0:28  Function Definition: main( ( temp void)
diff --git a/Test/baseResults/hlsl.gather.offset.dx10.frag.out b/Test/baseResults/hlsl.gather.offset.dx10.frag.out
index 4e40f72..59bd8da 100644
--- a/Test/baseResults/hlsl.gather.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.gather.offset.dx10.frag.out
@@ -13,12 +13,12 @@
 0:33            Construct combined texture-sampler ( temp sampler2D)
 0:33              'g_tTex2df4' ( uniform texture2D)
 0:33              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
+0:33            Constant:
+0:33              0.100000
+0:33              0.200000
+0:33            Constant:
+0:33              1 (const int)
+0:33              0 (const int)
 0:34      Sequence
 0:34        move second child to first child ( temp 4-component vector of int)
 0:34          'txval21' ( temp 4-component vector of int)
@@ -26,12 +26,12 @@
 0:34            Construct combined texture-sampler ( temp isampler2D)
 0:34              'g_tTex2di4' ( uniform itexture2D)
 0:34              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
-0:?             Constant:
-0:?               1 (const int)
-0:?               1 (const int)
+0:34            Constant:
+0:34              0.300000
+0:34              0.400000
+0:34            Constant:
+0:34              1 (const int)
+0:34              1 (const int)
 0:35      Sequence
 0:35        move second child to first child ( temp 4-component vector of uint)
 0:35          'txval22' ( temp 4-component vector of uint)
@@ -39,12 +39,12 @@
 0:35            Construct combined texture-sampler ( temp usampler2D)
 0:35              'g_tTex2du4' ( uniform utexture2D)
 0:35              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?             Constant:
-0:?               1 (const int)
-0:?               -1 (const int)
+0:35            Constant:
+0:35              0.500000
+0:35              0.600000
+0:35            Constant:
+0:35              1 (const int)
+0:35              -1 (const int)
 0:40      move second child to first child ( temp 4-component vector of float)
 0:40        Color: direct index for structure ( temp 4-component vector of float)
 0:40          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
@@ -119,12 +119,12 @@
 0:33            Construct combined texture-sampler ( temp sampler2D)
 0:33              'g_tTex2df4' ( uniform texture2D)
 0:33              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
+0:33            Constant:
+0:33              0.100000
+0:33              0.200000
+0:33            Constant:
+0:33              1 (const int)
+0:33              0 (const int)
 0:34      Sequence
 0:34        move second child to first child ( temp 4-component vector of int)
 0:34          'txval21' ( temp 4-component vector of int)
@@ -132,12 +132,12 @@
 0:34            Construct combined texture-sampler ( temp isampler2D)
 0:34              'g_tTex2di4' ( uniform itexture2D)
 0:34              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
-0:?             Constant:
-0:?               1 (const int)
-0:?               1 (const int)
+0:34            Constant:
+0:34              0.300000
+0:34              0.400000
+0:34            Constant:
+0:34              1 (const int)
+0:34              1 (const int)
 0:35      Sequence
 0:35        move second child to first child ( temp 4-component vector of uint)
 0:35          'txval22' ( temp 4-component vector of uint)
@@ -145,12 +145,12 @@
 0:35            Construct combined texture-sampler ( temp usampler2D)
 0:35              'g_tTex2du4' ( uniform utexture2D)
 0:35              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?             Constant:
-0:?               1 (const int)
-0:?               -1 (const int)
+0:35            Constant:
+0:35              0.500000
+0:35              0.600000
+0:35            Constant:
+0:35              1 (const int)
+0:35              -1 (const int)
 0:40      move second child to first child ( temp 4-component vector of float)
 0:40        Color: direct index for structure ( temp 4-component vector of float)
 0:40          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
diff --git a/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out
index 54b693f..942bd92 100644
--- a/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out
@@ -13,13 +13,13 @@
 0:25            Construct combined texture-sampler ( temp sampler2DArray)
 0:25              'g_tTex2df4' ( uniform texture2DArray)
 0:25              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
+0:25            Constant:
+0:25              0.100000
+0:25              0.200000
+0:25              0.300000
+0:25            Constant:
+0:25              1 (const int)
+0:25              0 (const int)
 0:26      Sequence
 0:26        move second child to first child ( temp 4-component vector of int)
 0:26          'txval21' ( temp 4-component vector of int)
@@ -27,13 +27,13 @@
 0:26            Construct combined texture-sampler ( temp isampler2DArray)
 0:26              'g_tTex2di4' ( uniform itexture2DArray)
 0:26              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
-0:?               0.400000
-0:?             Constant:
-0:?               1 (const int)
-0:?               1 (const int)
+0:26            Constant:
+0:26              0.300000
+0:26              0.400000
+0:26              0.400000
+0:26            Constant:
+0:26              1 (const int)
+0:26              1 (const int)
 0:27      Sequence
 0:27        move second child to first child ( temp 4-component vector of uint)
 0:27          'txval22' ( temp 4-component vector of uint)
@@ -41,13 +41,13 @@
 0:27            Construct combined texture-sampler ( temp usampler2DArray)
 0:27              'g_tTex2du4' ( uniform utexture2DArray)
 0:27              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?               0.700000
-0:?             Constant:
-0:?               1 (const int)
-0:?               -1 (const int)
+0:27            Constant:
+0:27              0.500000
+0:27              0.600000
+0:27              0.700000
+0:27            Constant:
+0:27              1 (const int)
+0:27              -1 (const int)
 0:32      move second child to first child ( temp 4-component vector of float)
 0:32        Color: direct index for structure ( temp 4-component vector of float)
 0:32          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
@@ -116,13 +116,13 @@
 0:25            Construct combined texture-sampler ( temp sampler2DArray)
 0:25              'g_tTex2df4' ( uniform texture2DArray)
 0:25              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
+0:25            Constant:
+0:25              0.100000
+0:25              0.200000
+0:25              0.300000
+0:25            Constant:
+0:25              1 (const int)
+0:25              0 (const int)
 0:26      Sequence
 0:26        move second child to first child ( temp 4-component vector of int)
 0:26          'txval21' ( temp 4-component vector of int)
@@ -130,13 +130,13 @@
 0:26            Construct combined texture-sampler ( temp isampler2DArray)
 0:26              'g_tTex2di4' ( uniform itexture2DArray)
 0:26              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
-0:?               0.400000
-0:?             Constant:
-0:?               1 (const int)
-0:?               1 (const int)
+0:26            Constant:
+0:26              0.300000
+0:26              0.400000
+0:26              0.400000
+0:26            Constant:
+0:26              1 (const int)
+0:26              1 (const int)
 0:27      Sequence
 0:27        move second child to first child ( temp 4-component vector of uint)
 0:27          'txval22' ( temp 4-component vector of uint)
@@ -144,13 +144,13 @@
 0:27            Construct combined texture-sampler ( temp usampler2DArray)
 0:27              'g_tTex2du4' ( uniform utexture2DArray)
 0:27              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?               0.700000
-0:?             Constant:
-0:?               1 (const int)
-0:?               -1 (const int)
+0:27            Constant:
+0:27              0.500000
+0:27              0.600000
+0:27              0.700000
+0:27            Constant:
+0:27              1 (const int)
+0:27              -1 (const int)
 0:32      move second child to first child ( temp 4-component vector of float)
 0:32        Color: direct index for structure ( temp 4-component vector of float)
 0:32          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
diff --git a/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out b/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out
index 8f45abc..a858f15 100644
--- a/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out
@@ -19,9 +19,9 @@
 0:45                1 (const uint)
 0:45            Constant:
 0:45              0.750000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
+0:45            Constant:
+0:45              1 (const int)
+0:45              0 (const int)
 0:46      Sequence
 0:46        move second child to first child ( temp 4-component vector of int)
 0:46          'txval011' ( temp 4-component vector of int)
@@ -35,9 +35,9 @@
 0:46                1 (const uint)
 0:46            Constant:
 0:46              0.750000
-0:?             Constant:
-0:?               1 (const int)
-0:?               -1 (const int)
+0:46            Constant:
+0:46              1 (const int)
+0:46              -1 (const int)
 0:47      Sequence
 0:47        move second child to first child ( temp 4-component vector of uint)
 0:47          'txval021' ( temp 4-component vector of uint)
@@ -51,9 +51,9 @@
 0:47                1 (const uint)
 0:47            Constant:
 0:47              0.750000
-0:?             Constant:
-0:?               1 (const int)
-0:?               1 (const int)
+0:47            Constant:
+0:47              1 (const int)
+0:47              1 (const int)
 0:49      Sequence
 0:49        move second child to first child ( temp 4-component vector of float)
 0:49          'txval004' ( temp 4-component vector of float)
@@ -133,9 +133,9 @@
 0:53                1 (const uint)
 0:53            Constant:
 0:53              0.750000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
+0:53            Constant:
+0:53              1 (const int)
+0:53              0 (const int)
 0:54      Sequence
 0:54        move second child to first child ( temp 4-component vector of int)
 0:54          'txval411' ( temp 4-component vector of int)
@@ -149,9 +149,9 @@
 0:54                1 (const uint)
 0:54            Constant:
 0:54              0.750000
-0:?             Constant:
-0:?               1 (const int)
-0:?               -1 (const int)
+0:54            Constant:
+0:54              1 (const int)
+0:54              -1 (const int)
 0:55      Sequence
 0:55        move second child to first child ( temp 4-component vector of uint)
 0:55          'txval421' ( temp 4-component vector of uint)
@@ -165,9 +165,9 @@
 0:55                1 (const uint)
 0:55            Constant:
 0:55              0.750000
-0:?             Constant:
-0:?               1 (const int)
-0:?               1 (const int)
+0:55            Constant:
+0:55              1 (const int)
+0:55              1 (const int)
 0:110      move second child to first child ( temp 4-component vector of float)
 0:110        Color: direct index for structure ( temp 4-component vector of float)
 0:110          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
@@ -249,9 +249,9 @@
 0:45                1 (const uint)
 0:45            Constant:
 0:45              0.750000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
+0:45            Constant:
+0:45              1 (const int)
+0:45              0 (const int)
 0:46      Sequence
 0:46        move second child to first child ( temp 4-component vector of int)
 0:46          'txval011' ( temp 4-component vector of int)
@@ -265,9 +265,9 @@
 0:46                1 (const uint)
 0:46            Constant:
 0:46              0.750000
-0:?             Constant:
-0:?               1 (const int)
-0:?               -1 (const int)
+0:46            Constant:
+0:46              1 (const int)
+0:46              -1 (const int)
 0:47      Sequence
 0:47        move second child to first child ( temp 4-component vector of uint)
 0:47          'txval021' ( temp 4-component vector of uint)
@@ -281,9 +281,9 @@
 0:47                1 (const uint)
 0:47            Constant:
 0:47              0.750000
-0:?             Constant:
-0:?               1 (const int)
-0:?               1 (const int)
+0:47            Constant:
+0:47              1 (const int)
+0:47              1 (const int)
 0:49      Sequence
 0:49        move second child to first child ( temp 4-component vector of float)
 0:49          'txval004' ( temp 4-component vector of float)
@@ -363,9 +363,9 @@
 0:53                1 (const uint)
 0:53            Constant:
 0:53              0.750000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
+0:53            Constant:
+0:53              1 (const int)
+0:53              0 (const int)
 0:54      Sequence
 0:54        move second child to first child ( temp 4-component vector of int)
 0:54          'txval411' ( temp 4-component vector of int)
@@ -379,9 +379,9 @@
 0:54                1 (const uint)
 0:54            Constant:
 0:54              0.750000
-0:?             Constant:
-0:?               1 (const int)
-0:?               -1 (const int)
+0:54            Constant:
+0:54              1 (const int)
+0:54              -1 (const int)
 0:55      Sequence
 0:55        move second child to first child ( temp 4-component vector of uint)
 0:55          'txval421' ( temp 4-component vector of uint)
@@ -395,9 +395,9 @@
 0:55                1 (const uint)
 0:55            Constant:
 0:55              0.750000
-0:?             Constant:
-0:?               1 (const int)
-0:?               1 (const int)
+0:55            Constant:
+0:55              1 (const int)
+0:55              1 (const int)
 0:110      move second child to first child ( temp 4-component vector of float)
 0:110        Color: direct index for structure ( temp 4-component vector of float)
 0:110          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
diff --git a/Test/baseResults/hlsl.getdimensions.dx10.vert.out b/Test/baseResults/hlsl.getdimensions.dx10.vert.out
index d681f7d..96a1cc1 100644
--- a/Test/baseResults/hlsl.getdimensions.dx10.vert.out
+++ b/Test/baseResults/hlsl.getdimensions.dx10.vert.out
@@ -33,11 +33,11 @@
 0:24          'vsout' ( temp structure{ temp 4-component vector of float Pos})
 0:24          Constant:
 0:24            0 (const int)
-0:?         Constant:
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
+0:24        Constant:
+0:24          0.000000
+0:24          0.000000
+0:24          0.000000
+0:24          0.000000
 0:26      Branch: Return with expression
 0:26        'vsout' ( temp structure{ temp 4-component vector of float Pos})
 0:11  Function Definition: main( ( temp void)
@@ -93,11 +93,11 @@
 0:24          'vsout' ( temp structure{ temp 4-component vector of float Pos})
 0:24          Constant:
 0:24            0 (const int)
-0:?         Constant:
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
+0:24        Constant:
+0:24          0.000000
+0:24          0.000000
+0:24          0.000000
+0:24          0.000000
 0:26      Branch: Return with expression
 0:26        'vsout' ( temp structure{ temp 4-component vector of float Pos})
 0:11  Function Definition: main( ( temp void)
diff --git a/Test/baseResults/hlsl.groupid.comp.out b/Test/baseResults/hlsl.groupid.comp.out
index 362f4b4..bf39d11 100644
--- a/Test/baseResults/hlsl.groupid.comp.out
+++ b/Test/baseResults/hlsl.groupid.comp.out
@@ -9,11 +9,11 @@
 0:8      Sequence
 0:8        move second child to first child ( temp 4-component vector of float)
 0:8          'storeTemp' ( temp 4-component vector of float)
-0:?           Constant:
-0:?             1.000000
-0:?             0.000000
-0:?             0.000000
-0:?             1.000000
+0:8          Constant:
+0:8            1.000000
+0:8            0.000000
+0:8            0.000000
+0:8            1.000000
 0:8        imageStore ( temp void)
 0:8          'OutputTexture' (layout( rgba32f) uniform image2D)
 0:8          vector swizzle ( temp 2-component vector of uint)
@@ -52,11 +52,11 @@
 0:8      Sequence
 0:8        move second child to first child ( temp 4-component vector of float)
 0:8          'storeTemp' ( temp 4-component vector of float)
-0:?           Constant:
-0:?             1.000000
-0:?             0.000000
-0:?             0.000000
-0:?             1.000000
+0:8          Constant:
+0:8            1.000000
+0:8            0.000000
+0:8            0.000000
+0:8            1.000000
 0:8        imageStore ( temp void)
 0:8          'OutputTexture' (layout( rgba32f) uniform image2D)
 0:8          vector swizzle ( temp 2-component vector of uint)
diff --git a/Test/baseResults/hlsl.gs-hs-mix.tesc.out b/Test/baseResults/hlsl.gs-hs-mix.tesc.out
index 72070ed..c9496ac 100644
--- a/Test/baseResults/hlsl.gs-hs-mix.tesc.out
+++ b/Test/baseResults/hlsl.gs-hs-mix.tesc.out
@@ -392,7 +392,7 @@
 0:95        move second child to first child ( temp 4-component vector of float)
 0:95          'Q0' ( temp 4-component vector of float)
 0:95          vector-times-matrix ( temp 4-component vector of float)
-0:?             Construct vec4 ( temp 4-component vector of float)
+0:95            Construct vec4 ( temp 4-component vector of float)
 0:95              'P0' ( temp 3-component vector of float)
 0:95              Constant:
 0:95                1.000000
@@ -404,7 +404,7 @@
 0:96        move second child to first child ( temp 4-component vector of float)
 0:96          'Q1' ( temp 4-component vector of float)
 0:96          vector-times-matrix ( temp 4-component vector of float)
-0:?             Construct vec4 ( temp 4-component vector of float)
+0:96            Construct vec4 ( temp 4-component vector of float)
 0:96              'P1' ( temp 3-component vector of float)
 0:96              Constant:
 0:96                1.000000
@@ -416,7 +416,7 @@
 0:97        move second child to first child ( temp 4-component vector of float)
 0:97          'Q2' ( temp 4-component vector of float)
 0:97          vector-times-matrix ( temp 4-component vector of float)
-0:?             Construct vec4 ( temp 4-component vector of float)
+0:97            Construct vec4 ( temp 4-component vector of float)
 0:97              'P2' ( temp 3-component vector of float)
 0:97              Constant:
 0:97                1.000000
@@ -887,7 +887,7 @@
 0:95        move second child to first child ( temp 4-component vector of float)
 0:95          'Q0' ( temp 4-component vector of float)
 0:95          vector-times-matrix ( temp 4-component vector of float)
-0:?             Construct vec4 ( temp 4-component vector of float)
+0:95            Construct vec4 ( temp 4-component vector of float)
 0:95              'P0' ( temp 3-component vector of float)
 0:95              Constant:
 0:95                1.000000
@@ -899,7 +899,7 @@
 0:96        move second child to first child ( temp 4-component vector of float)
 0:96          'Q1' ( temp 4-component vector of float)
 0:96          vector-times-matrix ( temp 4-component vector of float)
-0:?             Construct vec4 ( temp 4-component vector of float)
+0:96            Construct vec4 ( temp 4-component vector of float)
 0:96              'P1' ( temp 3-component vector of float)
 0:96              Constant:
 0:96                1.000000
@@ -911,7 +911,7 @@
 0:97        move second child to first child ( temp 4-component vector of float)
 0:97          'Q2' ( temp 4-component vector of float)
 0:97          vector-times-matrix ( temp 4-component vector of float)
-0:?             Construct vec4 ( temp 4-component vector of float)
+0:97            Construct vec4 ( temp 4-component vector of float)
 0:97              'P2' ( temp 3-component vector of float)
 0:97              Constant:
 0:97                1.000000
diff --git a/Test/baseResults/hlsl.identifier.sample.frag.out b/Test/baseResults/hlsl.identifier.sample.frag.out
index 7ba029d..e0a89aa 100644
--- a/Test/baseResults/hlsl.identifier.sample.frag.out
+++ b/Test/baseResults/hlsl.identifier.sample.frag.out
@@ -14,11 +14,11 @@
 0:15      Sequence
 0:15        move second child to first child ( temp 4-component vector of float)
 0:15          'sample' ( temp 4-component vector of float)
-0:?           Constant:
-0:?             3.000000
-0:?             4.000000
-0:?             5.000000
-0:?             6.000000
+0:15          Constant:
+0:15            3.000000
+0:15            4.000000
+0:15            5.000000
+0:15            6.000000
 0:17      Branch: Return with expression
 0:17        vector swizzle ( temp 4-component vector of float)
 0:17          'sample' ( temp 4-component vector of float)
@@ -59,11 +59,11 @@
 0:15      Sequence
 0:15        move second child to first child ( temp 4-component vector of float)
 0:15          'sample' ( temp 4-component vector of float)
-0:?           Constant:
-0:?             3.000000
-0:?             4.000000
-0:?             5.000000
-0:?             6.000000
+0:15          Constant:
+0:15            3.000000
+0:15            4.000000
+0:15            5.000000
+0:15            6.000000
 0:17      Branch: Return with expression
 0:17        vector swizzle ( temp 4-component vector of float)
 0:17          'sample' ( temp 4-component vector of float)
diff --git a/Test/baseResults/hlsl.implicitBool.frag.out b/Test/baseResults/hlsl.implicitBool.frag.out
index 98e3dc0..dd93b7f 100644
--- a/Test/baseResults/hlsl.implicitBool.frag.out
+++ b/Test/baseResults/hlsl.implicitBool.frag.out
@@ -8,11 +8,11 @@
 0:8      Sequence
 0:8        move second child to first child ( temp 4-component vector of float)
 0:8          'a' ( temp 4-component vector of float)
-0:?           Constant:
-0:?             2.000000
-0:?             2.000000
-0:?             2.000000
-0:?             2.000000
+0:8          Constant:
+0:8            2.000000
+0:8            2.000000
+0:8            2.000000
+0:8            2.000000
 0:9      Test condition and select ( temp void)
 0:9        Condition
 0:9        Convert int to bool ( temp bool)
@@ -176,11 +176,11 @@
 0:8      Sequence
 0:8        move second child to first child ( temp 4-component vector of float)
 0:8          'a' ( temp 4-component vector of float)
-0:?           Constant:
-0:?             2.000000
-0:?             2.000000
-0:?             2.000000
-0:?             2.000000
+0:8          Constant:
+0:8            2.000000
+0:8            2.000000
+0:8            2.000000
+0:8            2.000000
 0:9      Test condition and select ( temp void)
 0:9        Condition
 0:9        Convert int to bool ( temp bool)
diff --git a/Test/baseResults/hlsl.init.frag.out b/Test/baseResults/hlsl.init.frag.out
index 97caf9a..f604f0a 100644
--- a/Test/baseResults/hlsl.init.frag.out
+++ b/Test/baseResults/hlsl.init.frag.out
@@ -8,18 +8,18 @@
 0:1  Sequence
 0:1    move second child to first child ( temp 4-component vector of float)
 0:1      'a1' ( global 4-component vector of float)
-0:?       Constant:
-0:?         1.000000
-0:?         0.500000
-0:?         0.000000
-0:?         1.000000
+0:1      Constant:
+0:1        1.000000
+0:1        0.500000
+0:1        0.000000
+0:1        1.000000
 0:1    move second child to first child ( temp 4-component vector of float)
 0:1      'b1' ( global 4-component vector of float)
-0:?       Constant:
-0:?         2.000000
-0:?         2.500000
-0:?         2.100000
-0:?         2.200000
+0:1      Constant:
+0:1        2.000000
+0:1        2.500000
+0:1        2.100000
+0:1        2.200000
 0:2  Sequence
 0:2    move second child to first child ( temp 4-component vector of float)
 0:2      'a1i' ( global 4-component vector of float)
@@ -88,11 +88,11 @@
 0:22      Sequence
 0:22        move second child to first child ( temp 4-component vector of float)
 0:22          'a2' ( temp 4-component vector of float)
-0:?           Constant:
-0:?             0.200000
-0:?             0.300000
-0:?             0.400000
-0:?             0.500000
+0:22          Constant:
+0:22            0.200000
+0:22            0.300000
+0:22            0.400000
+0:22            0.500000
 0:32      Sequence
 0:32        move second child to first child ( temp structure{ temp int j,  temp float g,  temp structure{ temp float f,  temp int i} s1})
 0:32          's2i' ( temp structure{ temp int j,  temp float g,  temp structure{ temp float f,  temp int i} s1})
@@ -108,11 +108,11 @@
 0:32                12 (const int)
 0:32        move second child to first child ( temp structure{ temp int j,  temp float g,  temp structure{ temp float f,  temp int i} s1})
 0:32          's2' ( temp structure{ temp int j,  temp float g,  temp structure{ temp float f,  temp int i} s1})
-0:?           Construct structure ( temp structure{ temp int j,  temp float g,  temp structure{ temp float f,  temp int i} s1})
+0:32          Construct structure ( temp structure{ temp int j,  temp float g,  temp structure{ temp float f,  temp int i} s1})
 0:32            Constant:
 0:32              9 (const int)
 0:32            'a5' ( global float)
-0:?             Construct structure ( temp structure{ temp float f,  temp int i})
+0:32            Construct structure ( temp structure{ temp float f,  temp int i})
 0:32              Comma ( temp float)
 0:32                'a3' ( global float)
 0:32                'a4' ( global float)
@@ -174,18 +174,18 @@
 0:1  Sequence
 0:1    move second child to first child ( temp 4-component vector of float)
 0:1      'a1' ( global 4-component vector of float)
-0:?       Constant:
-0:?         1.000000
-0:?         0.500000
-0:?         0.000000
-0:?         1.000000
+0:1      Constant:
+0:1        1.000000
+0:1        0.500000
+0:1        0.000000
+0:1        1.000000
 0:1    move second child to first child ( temp 4-component vector of float)
 0:1      'b1' ( global 4-component vector of float)
-0:?       Constant:
-0:?         2.000000
-0:?         2.500000
-0:?         2.100000
-0:?         2.200000
+0:1      Constant:
+0:1        2.000000
+0:1        2.500000
+0:1        2.100000
+0:1        2.200000
 0:2  Sequence
 0:2    move second child to first child ( temp 4-component vector of float)
 0:2      'a1i' ( global 4-component vector of float)
@@ -254,11 +254,11 @@
 0:22      Sequence
 0:22        move second child to first child ( temp 4-component vector of float)
 0:22          'a2' ( temp 4-component vector of float)
-0:?           Constant:
-0:?             0.200000
-0:?             0.300000
-0:?             0.400000
-0:?             0.500000
+0:22          Constant:
+0:22            0.200000
+0:22            0.300000
+0:22            0.400000
+0:22            0.500000
 0:32      Sequence
 0:32        move second child to first child ( temp structure{ temp int j,  temp float g,  temp structure{ temp float f,  temp int i} s1})
 0:32          's2i' ( temp structure{ temp int j,  temp float g,  temp structure{ temp float f,  temp int i} s1})
@@ -274,11 +274,11 @@
 0:32                12 (const int)
 0:32        move second child to first child ( temp structure{ temp int j,  temp float g,  temp structure{ temp float f,  temp int i} s1})
 0:32          's2' ( temp structure{ temp int j,  temp float g,  temp structure{ temp float f,  temp int i} s1})
-0:?           Construct structure ( temp structure{ temp int j,  temp float g,  temp structure{ temp float f,  temp int i} s1})
+0:32          Construct structure ( temp structure{ temp int j,  temp float g,  temp structure{ temp float f,  temp int i} s1})
 0:32            Constant:
 0:32              9 (const int)
 0:32            'a5' ( global float)
-0:?             Construct structure ( temp structure{ temp float f,  temp int i})
+0:32            Construct structure ( temp structure{ temp float f,  temp int i})
 0:32              Comma ( temp float)
 0:32                'a3' ( global float)
 0:32                'a4' ( global float)
diff --git a/Test/baseResults/hlsl.init2.frag.out b/Test/baseResults/hlsl.init2.frag.out
index 9654e2b..5039333 100644
--- a/Test/baseResults/hlsl.init2.frag.out
+++ b/Test/baseResults/hlsl.init2.frag.out
@@ -41,73 +41,73 @@
 0:26          'a' ( const (read only) 8-element array of 3-component vector of float)
 0:26          Construct vec3 ( temp 8-element array of 3-component vector of float)
 0:27            vector-scale ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.577350
-0:?                 0.577350
-0:?                 0.577350
+0:27              Constant:
+0:27                0.577350
+0:27                0.577350
+0:27                0.577350
 0:27              add second child into first child ( temp float)
 0:27                'n' ( temp float)
 0:27                Constant:
 0:27                  1.000000
 0:28            vector-scale ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 -0.577350
-0:?                 -0.577350
-0:?                 -0.577350
+0:28              Constant:
+0:28                -0.577350
+0:28                -0.577350
+0:28                -0.577350
 0:28              add second child into first child ( temp float)
 0:28                'n' ( temp float)
 0:28                Constant:
 0:28                  1.000000
 0:29            vector-scale ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 -0.577350
-0:?                 -0.577350
-0:?                 0.577350
+0:29              Constant:
+0:29                -0.577350
+0:29                -0.577350
+0:29                0.577350
 0:29              add second child into first child ( temp float)
 0:29                'n' ( temp float)
 0:29                Constant:
 0:29                  1.000000
 0:30            vector-scale ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 -0.577350
-0:?                 0.577350
-0:?                 -0.577350
+0:30              Constant:
+0:30                -0.577350
+0:30                0.577350
+0:30                -0.577350
 0:30              add second child into first child ( temp float)
 0:30                'n' ( temp float)
 0:30                Constant:
 0:30                  1.000000
 0:31            vector-scale ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 -0.577350
-0:?                 0.577350
-0:?                 0.577350
+0:31              Constant:
+0:31                -0.577350
+0:31                0.577350
+0:31                0.577350
 0:31              add second child into first child ( temp float)
 0:31                'n' ( temp float)
 0:31                Constant:
 0:31                  1.000000
 0:32            vector-scale ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.577350
-0:?                 -0.577350
-0:?                 -0.577350
+0:32              Constant:
+0:32                0.577350
+0:32                -0.577350
+0:32                -0.577350
 0:32              add second child into first child ( temp float)
 0:32                'n' ( temp float)
 0:32                Constant:
 0:32                  1.000000
 0:33            vector-scale ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.577350
-0:?                 -0.577350
-0:?                 0.577350
+0:33              Constant:
+0:33                0.577350
+0:33                -0.577350
+0:33                0.577350
 0:33              add second child into first child ( temp float)
 0:33                'n' ( temp float)
 0:33                Constant:
 0:33                  1.000000
 0:34            vector-scale ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.577350
-0:?                 0.577350
-0:?                 -0.577350
+0:34              Constant:
+0:34                0.577350
+0:34                0.577350
+0:34                -0.577350
 0:34              add second child into first child ( temp float)
 0:34                'n' ( temp float)
 0:34                Constant:
@@ -117,10 +117,10 @@
 0:36          'oneNonConst' ( const (read only) structure{ temp 3-component vector of float a})
 0:36          Construct structure ( temp structure{ temp 3-component vector of float a})
 0:36            vector-scale ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 -0.577350
-0:?                 0.577350
-0:?                 0.577350
+0:36              Constant:
+0:36                -0.577350
+0:36                0.577350
+0:36                0.577350
 0:36              add second child into first child ( temp float)
 0:36                'n' ( temp float)
 0:36                Constant:
@@ -130,19 +130,19 @@
 0:38          'twoNonConst' ( const (read only) structure{ temp 3-component vector of float a,  temp 3-component vector of float b})
 0:38          Construct structure ( temp structure{ temp 3-component vector of float a,  temp 3-component vector of float b})
 0:38            vector-scale ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 -0.577350
-0:?                 0.577350
-0:?                 0.577350
+0:38              Constant:
+0:38                -0.577350
+0:38                0.577350
+0:38                0.577350
 0:38              add second child into first child ( temp float)
 0:38                'n' ( temp float)
 0:38                Constant:
 0:38                  1.000000
 0:39            vector-scale ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 -0.577350
-0:?                 0.577350
-0:?                 0.577350
+0:39              Constant:
+0:39                -0.577350
+0:39                0.577350
+0:39                0.577350
 0:39              add second child into first child ( temp float)
 0:39                'n' ( temp float)
 0:39                Constant:
@@ -222,73 +222,73 @@
 0:26          'a' ( const (read only) 8-element array of 3-component vector of float)
 0:26          Construct vec3 ( temp 8-element array of 3-component vector of float)
 0:27            vector-scale ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.577350
-0:?                 0.577350
-0:?                 0.577350
+0:27              Constant:
+0:27                0.577350
+0:27                0.577350
+0:27                0.577350
 0:27              add second child into first child ( temp float)
 0:27                'n' ( temp float)
 0:27                Constant:
 0:27                  1.000000
 0:28            vector-scale ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 -0.577350
-0:?                 -0.577350
-0:?                 -0.577350
+0:28              Constant:
+0:28                -0.577350
+0:28                -0.577350
+0:28                -0.577350
 0:28              add second child into first child ( temp float)
 0:28                'n' ( temp float)
 0:28                Constant:
 0:28                  1.000000
 0:29            vector-scale ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 -0.577350
-0:?                 -0.577350
-0:?                 0.577350
+0:29              Constant:
+0:29                -0.577350
+0:29                -0.577350
+0:29                0.577350
 0:29              add second child into first child ( temp float)
 0:29                'n' ( temp float)
 0:29                Constant:
 0:29                  1.000000
 0:30            vector-scale ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 -0.577350
-0:?                 0.577350
-0:?                 -0.577350
+0:30              Constant:
+0:30                -0.577350
+0:30                0.577350
+0:30                -0.577350
 0:30              add second child into first child ( temp float)
 0:30                'n' ( temp float)
 0:30                Constant:
 0:30                  1.000000
 0:31            vector-scale ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 -0.577350
-0:?                 0.577350
-0:?                 0.577350
+0:31              Constant:
+0:31                -0.577350
+0:31                0.577350
+0:31                0.577350
 0:31              add second child into first child ( temp float)
 0:31                'n' ( temp float)
 0:31                Constant:
 0:31                  1.000000
 0:32            vector-scale ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.577350
-0:?                 -0.577350
-0:?                 -0.577350
+0:32              Constant:
+0:32                0.577350
+0:32                -0.577350
+0:32                -0.577350
 0:32              add second child into first child ( temp float)
 0:32                'n' ( temp float)
 0:32                Constant:
 0:32                  1.000000
 0:33            vector-scale ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.577350
-0:?                 -0.577350
-0:?                 0.577350
+0:33              Constant:
+0:33                0.577350
+0:33                -0.577350
+0:33                0.577350
 0:33              add second child into first child ( temp float)
 0:33                'n' ( temp float)
 0:33                Constant:
 0:33                  1.000000
 0:34            vector-scale ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.577350
-0:?                 0.577350
-0:?                 -0.577350
+0:34              Constant:
+0:34                0.577350
+0:34                0.577350
+0:34                -0.577350
 0:34              add second child into first child ( temp float)
 0:34                'n' ( temp float)
 0:34                Constant:
@@ -298,10 +298,10 @@
 0:36          'oneNonConst' ( const (read only) structure{ temp 3-component vector of float a})
 0:36          Construct structure ( temp structure{ temp 3-component vector of float a})
 0:36            vector-scale ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 -0.577350
-0:?                 0.577350
-0:?                 0.577350
+0:36              Constant:
+0:36                -0.577350
+0:36                0.577350
+0:36                0.577350
 0:36              add second child into first child ( temp float)
 0:36                'n' ( temp float)
 0:36                Constant:
@@ -311,19 +311,19 @@
 0:38          'twoNonConst' ( const (read only) structure{ temp 3-component vector of float a,  temp 3-component vector of float b})
 0:38          Construct structure ( temp structure{ temp 3-component vector of float a,  temp 3-component vector of float b})
 0:38            vector-scale ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 -0.577350
-0:?                 0.577350
-0:?                 0.577350
+0:38              Constant:
+0:38                -0.577350
+0:38                0.577350
+0:38                0.577350
 0:38              add second child into first child ( temp float)
 0:38                'n' ( temp float)
 0:38                Constant:
 0:38                  1.000000
 0:39            vector-scale ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 -0.577350
-0:?                 0.577350
-0:?                 0.577350
+0:39              Constant:
+0:39                -0.577350
+0:39                0.577350
+0:39                0.577350
 0:39              add second child into first child ( temp float)
 0:39                'n' ( temp float)
 0:39                Constant:
diff --git a/Test/baseResults/hlsl.inoutquals.frag.out b/Test/baseResults/hlsl.inoutquals.frag.out
index 57baeef..25186cb 100644
--- a/Test/baseResults/hlsl.inoutquals.frag.out
+++ b/Test/baseResults/hlsl.inoutquals.frag.out
@@ -51,7 +51,7 @@
 0:22          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
 0:22          Constant:
 0:22            0 (const int)
-0:?         Construct vec4 ( temp 4-component vector of float)
+0:22        Construct vec4 ( temp 4-component vector of float)
 0:22          'x' ( temp float)
 0:22          'y' ( temp float)
 0:22          'z' ( temp float)
@@ -160,7 +160,7 @@
 0:22          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
 0:22          Constant:
 0:22            0 (const int)
-0:?         Construct vec4 ( temp 4-component vector of float)
+0:22        Construct vec4 ( temp 4-component vector of float)
 0:22          'x' ( temp float)
 0:22          'y' ( temp float)
 0:22          'z' ( temp float)
diff --git a/Test/baseResults/hlsl.intrinsic.frexp.frag.out b/Test/baseResults/hlsl.intrinsic.frexp.frag.out
index 6067ad0..1595a60 100644
--- a/Test/baseResults/hlsl.intrinsic.frexp.frag.out
+++ b/Test/baseResults/hlsl.intrinsic.frexp.frag.out
@@ -28,9 +28,9 @@
 0:10            'inF0' ( in 2-component vector of float)
 0:10            'inF1' ( in 2-component vector of float)
 0:11      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
+0:11        Constant:
+0:11          1.000000
+0:11          2.000000
 0:15  Function Definition: PixelShaderFunction3(vf3;vf3; ( temp 3-component vector of float)
 0:15    Function Parameters: 
 0:15      'inF0' ( in 3-component vector of float)
@@ -43,10 +43,10 @@
 0:16            'inF0' ( in 3-component vector of float)
 0:16            'inF1' ( in 3-component vector of float)
 0:17      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
+0:17        Constant:
+0:17          1.000000
+0:17          2.000000
+0:17          3.000000
 0:21  Function Definition: PixelShaderFunction(vf4;vf4; ( temp 4-component vector of float)
 0:21    Function Parameters: 
 0:21      'inF0' ( in 4-component vector of float)
@@ -59,11 +59,11 @@
 0:22            'inF0' ( in 4-component vector of float)
 0:22            'inF1' ( in 4-component vector of float)
 0:23      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
-0:?           4.000000
+0:23        Constant:
+0:23          1.000000
+0:23          2.000000
+0:23          3.000000
+0:23          4.000000
 0:33  Function Definition: @main( ( temp structure{ temp 4-component vector of float color})
 0:33    Function Parameters: 
 0:?     Sequence
@@ -125,9 +125,9 @@
 0:10            'inF0' ( in 2-component vector of float)
 0:10            'inF1' ( in 2-component vector of float)
 0:11      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
+0:11        Constant:
+0:11          1.000000
+0:11          2.000000
 0:15  Function Definition: PixelShaderFunction3(vf3;vf3; ( temp 3-component vector of float)
 0:15    Function Parameters: 
 0:15      'inF0' ( in 3-component vector of float)
@@ -140,10 +140,10 @@
 0:16            'inF0' ( in 3-component vector of float)
 0:16            'inF1' ( in 3-component vector of float)
 0:17      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
+0:17        Constant:
+0:17          1.000000
+0:17          2.000000
+0:17          3.000000
 0:21  Function Definition: PixelShaderFunction(vf4;vf4; ( temp 4-component vector of float)
 0:21    Function Parameters: 
 0:21      'inF0' ( in 4-component vector of float)
@@ -156,11 +156,11 @@
 0:22            'inF0' ( in 4-component vector of float)
 0:22            'inF1' ( in 4-component vector of float)
 0:23      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
-0:?           4.000000
+0:23        Constant:
+0:23          1.000000
+0:23          2.000000
+0:23          3.000000
+0:23          4.000000
 0:33  Function Definition: @main( ( temp structure{ temp 4-component vector of float color})
 0:33    Function Parameters: 
 0:?     Sequence
diff --git a/Test/baseResults/hlsl.intrinsic.frexp.vert.out b/Test/baseResults/hlsl.intrinsic.frexp.vert.out
index a7cfd2a..0418ed6 100644
--- a/Test/baseResults/hlsl.intrinsic.frexp.vert.out
+++ b/Test/baseResults/hlsl.intrinsic.frexp.vert.out
@@ -21,9 +21,9 @@
 0:9        'inF0' ( in 2-component vector of float)
 0:9        'inF1' ( in 2-component vector of float)
 0:10      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
+0:10        Constant:
+0:10          1.000000
+0:10          2.000000
 0:14  Function Definition: VertexShaderFunction3(vf3;vf3; ( temp 3-component vector of float)
 0:14    Function Parameters: 
 0:14      'inF0' ( in 3-component vector of float)
@@ -33,10 +33,10 @@
 0:15        'inF0' ( in 3-component vector of float)
 0:15        'inF1' ( in 3-component vector of float)
 0:16      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
+0:16        Constant:
+0:16          1.000000
+0:16          2.000000
+0:16          3.000000
 0:20  Function Definition: VertexShaderFunction4(vf4;vf4; ( temp 4-component vector of float)
 0:20    Function Parameters: 
 0:20      'inF0' ( in 4-component vector of float)
@@ -46,11 +46,11 @@
 0:21        'inF0' ( in 4-component vector of float)
 0:21        'inF1' ( in 4-component vector of float)
 0:22      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
-0:?           4.000000
+0:22        Constant:
+0:22          1.000000
+0:22          2.000000
+0:22          3.000000
+0:22          4.000000
 0:?   Linker Objects
 
 
@@ -80,9 +80,9 @@
 0:9        'inF0' ( in 2-component vector of float)
 0:9        'inF1' ( in 2-component vector of float)
 0:10      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
+0:10        Constant:
+0:10          1.000000
+0:10          2.000000
 0:14  Function Definition: VertexShaderFunction3(vf3;vf3; ( temp 3-component vector of float)
 0:14    Function Parameters: 
 0:14      'inF0' ( in 3-component vector of float)
@@ -92,10 +92,10 @@
 0:15        'inF0' ( in 3-component vector of float)
 0:15        'inF1' ( in 3-component vector of float)
 0:16      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
+0:16        Constant:
+0:16          1.000000
+0:16          2.000000
+0:16          3.000000
 0:20  Function Definition: VertexShaderFunction4(vf4;vf4; ( temp 4-component vector of float)
 0:20    Function Parameters: 
 0:20      'inF0' ( in 4-component vector of float)
@@ -105,11 +105,11 @@
 0:21        'inF0' ( in 4-component vector of float)
 0:21        'inF1' ( in 4-component vector of float)
 0:22      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
-0:?           4.000000
+0:22        Constant:
+0:22          1.000000
+0:22          2.000000
+0:22          3.000000
+0:22          4.000000
 0:?   Linker Objects
 
 // Module Version 10000
diff --git a/Test/baseResults/hlsl.intrinsics.comp.out b/Test/baseResults/hlsl.intrinsics.comp.out
index 5b7e227..bce3d14 100644
--- a/Test/baseResults/hlsl.intrinsics.comp.out
+++ b/Test/baseResults/hlsl.intrinsics.comp.out
@@ -155,9 +155,9 @@
 0:71          'gs_ua2' ( shared 2-component vector of uint)
 0:71          'gs_ub2' ( shared 2-component vector of uint)
 0:74      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
+0:74        Constant:
+0:74          1.000000
+0:74          2.000000
 0:78  Function Definition: ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float)
 0:78    Function Parameters: 
 0:78      'inF0' ( in 3-component vector of float)
@@ -229,10 +229,10 @@
 0:98          'gs_ua3' ( shared 3-component vector of uint)
 0:98          'gs_ub3' ( shared 3-component vector of uint)
 0:101      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
+0:101        Constant:
+0:101          1.000000
+0:101          2.000000
+0:101          3.000000
 0:105  Function Definition: @ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
 0:105    Function Parameters: 
 0:105      'inF0' ( in 4-component vector of float)
@@ -304,11 +304,11 @@
 0:125          'gs_ua4' ( shared 4-component vector of uint)
 0:125          'gs_ub4' ( shared 4-component vector of uint)
 0:128      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
-0:?           4.000000
+0:128        Constant:
+0:128          1.000000
+0:128          2.000000
+0:128          3.000000
+0:128          4.000000
 0:105  Function Definition: ComputeShaderFunction( ( temp void)
 0:105    Function Parameters: 
 0:?     Sequence
@@ -515,9 +515,9 @@
 0:71          'gs_ua2' ( shared 2-component vector of uint)
 0:71          'gs_ub2' ( shared 2-component vector of uint)
 0:74      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
+0:74        Constant:
+0:74          1.000000
+0:74          2.000000
 0:78  Function Definition: ComputeShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float)
 0:78    Function Parameters: 
 0:78      'inF0' ( in 3-component vector of float)
@@ -589,10 +589,10 @@
 0:98          'gs_ua3' ( shared 3-component vector of uint)
 0:98          'gs_ub3' ( shared 3-component vector of uint)
 0:101      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
+0:101        Constant:
+0:101          1.000000
+0:101          2.000000
+0:101          3.000000
 0:105  Function Definition: @ComputeShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
 0:105    Function Parameters: 
 0:105      'inF0' ( in 4-component vector of float)
@@ -664,11 +664,11 @@
 0:125          'gs_ua4' ( shared 4-component vector of uint)
 0:125          'gs_ub4' ( shared 4-component vector of uint)
 0:128      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
-0:?           4.000000
+0:128        Constant:
+0:128          1.000000
+0:128          2.000000
+0:128          3.000000
+0:128          4.000000
 0:105  Function Definition: ComputeShaderFunction( ( temp void)
 0:105    Function Parameters: 
 0:?     Sequence
diff --git a/Test/baseResults/hlsl.intrinsics.frag.out b/Test/baseResults/hlsl.intrinsics.frag.out
index c1d0a47..02b1e6d 100644
--- a/Test/baseResults/hlsl.intrinsics.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.frag.out
@@ -472,10 +472,10 @@
 0:117      Sequence
 0:117        move second child to first child ( temp 2-component vector of int)
 0:117          'r016' ( temp 2-component vector of int)
-0:?           bitCount ( temp 2-component vector of int)
-0:?             Constant:
-0:?               7 (const int)
-0:?               3 (const int)
+0:117          bitCount ( temp 2-component vector of int)
+0:117            Constant:
+0:117              7 (const int)
+0:117              3 (const int)
 0:118      Sequence
 0:118        move second child to first child ( temp 2-component vector of float)
 0:118          'r017' ( temp 2-component vector of float)
@@ -543,17 +543,17 @@
 0:136      Sequence
 0:136        move second child to first child ( temp 2-component vector of uint)
 0:136          'r031' ( temp 2-component vector of uint)
-0:?           findMSB ( temp 2-component vector of uint)
-0:?             Constant:
-0:?               7 (const uint)
-0:?               8 (const uint)
+0:136          findMSB ( temp 2-component vector of uint)
+0:136            Constant:
+0:136              7 (const uint)
+0:136              8 (const uint)
 0:137      Sequence
 0:137        move second child to first child ( temp 2-component vector of uint)
 0:137          'r032' ( temp 2-component vector of uint)
-0:?           findLSB ( temp 2-component vector of uint)
-0:?             Constant:
-0:?               7 (const uint)
-0:?               8 (const uint)
+0:137          findLSB ( temp 2-component vector of uint)
+0:137            Constant:
+0:137              7 (const uint)
+0:137              8 (const uint)
 0:138      Sequence
 0:138        move second child to first child ( temp 2-component vector of float)
 0:138          'r033' ( temp 2-component vector of float)
@@ -673,10 +673,10 @@
 0:159      Sequence
 0:159        move second child to first child ( temp 2-component vector of uint)
 0:159          'r054' ( temp 2-component vector of uint)
-0:?           bitFieldReverse ( temp 2-component vector of uint)
-0:?             Constant:
-0:?               1 (const uint)
-0:?               2 (const uint)
+0:159          bitFieldReverse ( temp 2-component vector of uint)
+0:159            Constant:
+0:159              1 (const uint)
+0:159              2 (const uint)
 0:160      Sequence
 0:160        move second child to first child ( temp 2-component vector of float)
 0:160          'r055' ( temp 2-component vector of float)
@@ -754,9 +754,9 @@
 0:173          trunc ( temp 2-component vector of float)
 0:173            'inF0' ( in 2-component vector of float)
 0:176      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
+0:176        Constant:
+0:176          1.000000
+0:176          2.000000
 0:180  Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float)
 0:180    Function Parameters: 
 0:180      'inF0' ( in 3-component vector of float)
@@ -865,11 +865,11 @@
 0:200      Sequence
 0:200        move second child to first child ( temp 3-component vector of uint)
 0:200          'r015' ( temp 3-component vector of uint)
-0:?           bitCount ( temp 3-component vector of uint)
-0:?             Constant:
-0:?               7 (const uint)
-0:?               3 (const uint)
-0:?               5 (const uint)
+0:200          bitCount ( temp 3-component vector of uint)
+0:200            Constant:
+0:200              7 (const uint)
+0:200              3 (const uint)
+0:200              5 (const uint)
 0:201      Sequence
 0:201        move second child to first child ( temp 3-component vector of float)
 0:201          'r016' ( temp 3-component vector of float)
@@ -943,19 +943,19 @@
 0:217      Sequence
 0:217        move second child to first child ( temp 3-component vector of uint)
 0:217          'r032' ( temp 3-component vector of uint)
-0:?           findMSB ( temp 3-component vector of uint)
-0:?             Constant:
-0:?               2 (const uint)
-0:?               3 (const uint)
-0:?               4 (const uint)
+0:217          findMSB ( temp 3-component vector of uint)
+0:217            Constant:
+0:217              2 (const uint)
+0:217              3 (const uint)
+0:217              4 (const uint)
 0:218      Sequence
 0:218        move second child to first child ( temp 3-component vector of uint)
 0:218          'r033' ( temp 3-component vector of uint)
-0:?           findLSB ( temp 3-component vector of uint)
-0:?             Constant:
-0:?               2 (const uint)
-0:?               3 (const uint)
-0:?               4 (const uint)
+0:218          findLSB ( temp 3-component vector of uint)
+0:218            Constant:
+0:218              2 (const uint)
+0:218              3 (const uint)
+0:218              4 (const uint)
 0:219      Sequence
 0:219        move second child to first child ( temp 3-component vector of float)
 0:219          'r034' ( temp 3-component vector of float)
@@ -1083,11 +1083,11 @@
 0:241      Sequence
 0:241        move second child to first child ( temp 3-component vector of uint)
 0:241          'r055' ( temp 3-component vector of uint)
-0:?           bitFieldReverse ( temp 3-component vector of uint)
-0:?             Constant:
-0:?               1 (const uint)
-0:?               2 (const uint)
-0:?               3 (const uint)
+0:241          bitFieldReverse ( temp 3-component vector of uint)
+0:241            Constant:
+0:241              1 (const uint)
+0:241              2 (const uint)
+0:241              3 (const uint)
 0:242      Sequence
 0:242        move second child to first child ( temp 3-component vector of float)
 0:242          'r056' ( temp 3-component vector of float)
@@ -1165,10 +1165,10 @@
 0:255          trunc ( temp 3-component vector of float)
 0:255            'inF0' ( in 3-component vector of float)
 0:258      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
+0:258        Constant:
+0:258          1.000000
+0:258          2.000000
+0:258          3.000000
 0:262  Function Definition: PixelShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
 0:262    Function Parameters: 
 0:262      'inF0' ( in 4-component vector of float)
@@ -1279,12 +1279,12 @@
 0:282      Sequence
 0:282        move second child to first child ( temp 4-component vector of uint)
 0:282          'r015' ( temp 4-component vector of uint)
-0:?           bitCount ( temp 4-component vector of uint)
-0:?             Constant:
-0:?               7 (const uint)
-0:?               3 (const uint)
-0:?               5 (const uint)
-0:?               2 (const uint)
+0:282          bitCount ( temp 4-component vector of uint)
+0:282            Constant:
+0:282              7 (const uint)
+0:282              3 (const uint)
+0:282              5 (const uint)
+0:282              2 (const uint)
 0:283      Sequence
 0:283        move second child to first child ( temp 4-component vector of float)
 0:283          'r016' ( temp 4-component vector of float)
@@ -1375,21 +1375,21 @@
 0:299      Sequence
 0:299        move second child to first child ( temp 4-component vector of uint)
 0:299          'r032' ( temp 4-component vector of uint)
-0:?           findMSB ( temp 4-component vector of uint)
-0:?             Constant:
-0:?               7 (const uint)
-0:?               8 (const uint)
-0:?               9 (const uint)
-0:?               10 (const uint)
+0:299          findMSB ( temp 4-component vector of uint)
+0:299            Constant:
+0:299              7 (const uint)
+0:299              8 (const uint)
+0:299              9 (const uint)
+0:299              10 (const uint)
 0:300      Sequence
 0:300        move second child to first child ( temp 4-component vector of uint)
 0:300          'r033' ( temp 4-component vector of uint)
-0:?           findLSB ( temp 4-component vector of uint)
-0:?             Constant:
-0:?               7 (const uint)
-0:?               8 (const uint)
-0:?               9 (const uint)
-0:?               10 (const uint)
+0:300          findLSB ( temp 4-component vector of uint)
+0:300            Constant:
+0:300              7 (const uint)
+0:300              8 (const uint)
+0:300              9 (const uint)
+0:300              10 (const uint)
 0:301      Sequence
 0:301        move second child to first child ( temp 4-component vector of float)
 0:301          'r034' ( temp 4-component vector of float)
@@ -1509,12 +1509,12 @@
 0:322      Sequence
 0:322        move second child to first child ( temp 4-component vector of uint)
 0:322          'r055' ( temp 4-component vector of uint)
-0:?           bitFieldReverse ( temp 4-component vector of uint)
-0:?             Constant:
-0:?               1 (const uint)
-0:?               2 (const uint)
-0:?               3 (const uint)
-0:?               4 (const uint)
+0:322          bitFieldReverse ( temp 4-component vector of uint)
+0:322            Constant:
+0:322              1 (const uint)
+0:322              2 (const uint)
+0:322              3 (const uint)
+0:322              4 (const uint)
 0:323      Sequence
 0:323        move second child to first child ( temp 4-component vector of float)
 0:323          'r056' ( temp 4-component vector of float)
@@ -1592,11 +1592,11 @@
 0:336          trunc ( temp 4-component vector of float)
 0:336            'inF0' ( in 4-component vector of float)
 0:339      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
-0:?           4.000000
+0:339        Constant:
+0:339          1.000000
+0:339          2.000000
+0:339          3.000000
+0:339          4.000000
 0:402  Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; ( temp 2X2 matrix of float)
 0:402    Function Parameters: 
 0:402      'inF0' ( in 2X2 matrix of float)
@@ -1876,11 +1876,11 @@
 0:404          trunc ( temp 2X2 matrix of float)
 0:404            'inF0' ( in 2X2 matrix of float)
 0:407      Branch: Return with expression
-0:?         Constant:
-0:?           2.000000
-0:?           2.000000
-0:?           2.000000
-0:?           2.000000
+0:407        Constant:
+0:407          2.000000
+0:407          2.000000
+0:407          2.000000
+0:407          2.000000
 0:411  Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; ( temp 3X3 matrix of float)
 0:411    Function Parameters: 
 0:411      'inF0' ( in 3X3 matrix of float)
@@ -2165,16 +2165,16 @@
 0:413          trunc ( temp 3X3 matrix of float)
 0:413            'inF0' ( in 3X3 matrix of float)
 0:416      Branch: Return with expression
-0:?         Constant:
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
+0:416        Constant:
+0:416          3.000000
+0:416          3.000000
+0:416          3.000000
+0:416          3.000000
+0:416          3.000000
+0:416          3.000000
+0:416          3.000000
+0:416          3.000000
+0:416          3.000000
 0:420  Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; ( temp 4X4 matrix of float)
 0:420    Function Parameters: 
 0:420      'inF0' ( in 4X4 matrix of float)
@@ -2466,23 +2466,23 @@
 0:422          trunc ( temp 4X4 matrix of float)
 0:422            'inF0' ( in 4X4 matrix of float)
 0:425      Branch: Return with expression
-0:?         Constant:
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
+0:425        Constant:
+0:425          4.000000
+0:425          4.000000
+0:425          4.000000
+0:425          4.000000
+0:425          4.000000
+0:425          4.000000
+0:425          4.000000
+0:425          4.000000
+0:425          4.000000
+0:425          4.000000
+0:425          4.000000
+0:425          4.000000
+0:425          4.000000
+0:425          4.000000
+0:425          4.000000
+0:425          4.000000
 0:443  Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; ( temp void)
 0:443    Function Parameters: 
 0:443      'inF0' ( in float)
@@ -3303,10 +3303,10 @@
 0:117      Sequence
 0:117        move second child to first child ( temp 2-component vector of int)
 0:117          'r016' ( temp 2-component vector of int)
-0:?           bitCount ( temp 2-component vector of int)
-0:?             Constant:
-0:?               7 (const int)
-0:?               3 (const int)
+0:117          bitCount ( temp 2-component vector of int)
+0:117            Constant:
+0:117              7 (const int)
+0:117              3 (const int)
 0:118      Sequence
 0:118        move second child to first child ( temp 2-component vector of float)
 0:118          'r017' ( temp 2-component vector of float)
@@ -3374,17 +3374,17 @@
 0:136      Sequence
 0:136        move second child to first child ( temp 2-component vector of uint)
 0:136          'r031' ( temp 2-component vector of uint)
-0:?           findMSB ( temp 2-component vector of uint)
-0:?             Constant:
-0:?               7 (const uint)
-0:?               8 (const uint)
+0:136          findMSB ( temp 2-component vector of uint)
+0:136            Constant:
+0:136              7 (const uint)
+0:136              8 (const uint)
 0:137      Sequence
 0:137        move second child to first child ( temp 2-component vector of uint)
 0:137          'r032' ( temp 2-component vector of uint)
-0:?           findLSB ( temp 2-component vector of uint)
-0:?             Constant:
-0:?               7 (const uint)
-0:?               8 (const uint)
+0:137          findLSB ( temp 2-component vector of uint)
+0:137            Constant:
+0:137              7 (const uint)
+0:137              8 (const uint)
 0:138      Sequence
 0:138        move second child to first child ( temp 2-component vector of float)
 0:138          'r033' ( temp 2-component vector of float)
@@ -3504,10 +3504,10 @@
 0:159      Sequence
 0:159        move second child to first child ( temp 2-component vector of uint)
 0:159          'r054' ( temp 2-component vector of uint)
-0:?           bitFieldReverse ( temp 2-component vector of uint)
-0:?             Constant:
-0:?               1 (const uint)
-0:?               2 (const uint)
+0:159          bitFieldReverse ( temp 2-component vector of uint)
+0:159            Constant:
+0:159              1 (const uint)
+0:159              2 (const uint)
 0:160      Sequence
 0:160        move second child to first child ( temp 2-component vector of float)
 0:160          'r055' ( temp 2-component vector of float)
@@ -3585,9 +3585,9 @@
 0:173          trunc ( temp 2-component vector of float)
 0:173            'inF0' ( in 2-component vector of float)
 0:176      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
+0:176        Constant:
+0:176          1.000000
+0:176          2.000000
 0:180  Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float)
 0:180    Function Parameters: 
 0:180      'inF0' ( in 3-component vector of float)
@@ -3696,11 +3696,11 @@
 0:200      Sequence
 0:200        move second child to first child ( temp 3-component vector of uint)
 0:200          'r015' ( temp 3-component vector of uint)
-0:?           bitCount ( temp 3-component vector of uint)
-0:?             Constant:
-0:?               7 (const uint)
-0:?               3 (const uint)
-0:?               5 (const uint)
+0:200          bitCount ( temp 3-component vector of uint)
+0:200            Constant:
+0:200              7 (const uint)
+0:200              3 (const uint)
+0:200              5 (const uint)
 0:201      Sequence
 0:201        move second child to first child ( temp 3-component vector of float)
 0:201          'r016' ( temp 3-component vector of float)
@@ -3774,19 +3774,19 @@
 0:217      Sequence
 0:217        move second child to first child ( temp 3-component vector of uint)
 0:217          'r032' ( temp 3-component vector of uint)
-0:?           findMSB ( temp 3-component vector of uint)
-0:?             Constant:
-0:?               2 (const uint)
-0:?               3 (const uint)
-0:?               4 (const uint)
+0:217          findMSB ( temp 3-component vector of uint)
+0:217            Constant:
+0:217              2 (const uint)
+0:217              3 (const uint)
+0:217              4 (const uint)
 0:218      Sequence
 0:218        move second child to first child ( temp 3-component vector of uint)
 0:218          'r033' ( temp 3-component vector of uint)
-0:?           findLSB ( temp 3-component vector of uint)
-0:?             Constant:
-0:?               2 (const uint)
-0:?               3 (const uint)
-0:?               4 (const uint)
+0:218          findLSB ( temp 3-component vector of uint)
+0:218            Constant:
+0:218              2 (const uint)
+0:218              3 (const uint)
+0:218              4 (const uint)
 0:219      Sequence
 0:219        move second child to first child ( temp 3-component vector of float)
 0:219          'r034' ( temp 3-component vector of float)
@@ -3914,11 +3914,11 @@
 0:241      Sequence
 0:241        move second child to first child ( temp 3-component vector of uint)
 0:241          'r055' ( temp 3-component vector of uint)
-0:?           bitFieldReverse ( temp 3-component vector of uint)
-0:?             Constant:
-0:?               1 (const uint)
-0:?               2 (const uint)
-0:?               3 (const uint)
+0:241          bitFieldReverse ( temp 3-component vector of uint)
+0:241            Constant:
+0:241              1 (const uint)
+0:241              2 (const uint)
+0:241              3 (const uint)
 0:242      Sequence
 0:242        move second child to first child ( temp 3-component vector of float)
 0:242          'r056' ( temp 3-component vector of float)
@@ -3996,10 +3996,10 @@
 0:255          trunc ( temp 3-component vector of float)
 0:255            'inF0' ( in 3-component vector of float)
 0:258      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
+0:258        Constant:
+0:258          1.000000
+0:258          2.000000
+0:258          3.000000
 0:262  Function Definition: PixelShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
 0:262    Function Parameters: 
 0:262      'inF0' ( in 4-component vector of float)
@@ -4110,12 +4110,12 @@
 0:282      Sequence
 0:282        move second child to first child ( temp 4-component vector of uint)
 0:282          'r015' ( temp 4-component vector of uint)
-0:?           bitCount ( temp 4-component vector of uint)
-0:?             Constant:
-0:?               7 (const uint)
-0:?               3 (const uint)
-0:?               5 (const uint)
-0:?               2 (const uint)
+0:282          bitCount ( temp 4-component vector of uint)
+0:282            Constant:
+0:282              7 (const uint)
+0:282              3 (const uint)
+0:282              5 (const uint)
+0:282              2 (const uint)
 0:283      Sequence
 0:283        move second child to first child ( temp 4-component vector of float)
 0:283          'r016' ( temp 4-component vector of float)
@@ -4206,21 +4206,21 @@
 0:299      Sequence
 0:299        move second child to first child ( temp 4-component vector of uint)
 0:299          'r032' ( temp 4-component vector of uint)
-0:?           findMSB ( temp 4-component vector of uint)
-0:?             Constant:
-0:?               7 (const uint)
-0:?               8 (const uint)
-0:?               9 (const uint)
-0:?               10 (const uint)
+0:299          findMSB ( temp 4-component vector of uint)
+0:299            Constant:
+0:299              7 (const uint)
+0:299              8 (const uint)
+0:299              9 (const uint)
+0:299              10 (const uint)
 0:300      Sequence
 0:300        move second child to first child ( temp 4-component vector of uint)
 0:300          'r033' ( temp 4-component vector of uint)
-0:?           findLSB ( temp 4-component vector of uint)
-0:?             Constant:
-0:?               7 (const uint)
-0:?               8 (const uint)
-0:?               9 (const uint)
-0:?               10 (const uint)
+0:300          findLSB ( temp 4-component vector of uint)
+0:300            Constant:
+0:300              7 (const uint)
+0:300              8 (const uint)
+0:300              9 (const uint)
+0:300              10 (const uint)
 0:301      Sequence
 0:301        move second child to first child ( temp 4-component vector of float)
 0:301          'r034' ( temp 4-component vector of float)
@@ -4340,12 +4340,12 @@
 0:322      Sequence
 0:322        move second child to first child ( temp 4-component vector of uint)
 0:322          'r055' ( temp 4-component vector of uint)
-0:?           bitFieldReverse ( temp 4-component vector of uint)
-0:?             Constant:
-0:?               1 (const uint)
-0:?               2 (const uint)
-0:?               3 (const uint)
-0:?               4 (const uint)
+0:322          bitFieldReverse ( temp 4-component vector of uint)
+0:322            Constant:
+0:322              1 (const uint)
+0:322              2 (const uint)
+0:322              3 (const uint)
+0:322              4 (const uint)
 0:323      Sequence
 0:323        move second child to first child ( temp 4-component vector of float)
 0:323          'r056' ( temp 4-component vector of float)
@@ -4423,11 +4423,11 @@
 0:336          trunc ( temp 4-component vector of float)
 0:336            'inF0' ( in 4-component vector of float)
 0:339      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
-0:?           4.000000
+0:339        Constant:
+0:339          1.000000
+0:339          2.000000
+0:339          3.000000
+0:339          4.000000
 0:402  Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; ( temp 2X2 matrix of float)
 0:402    Function Parameters: 
 0:402      'inF0' ( in 2X2 matrix of float)
@@ -4707,11 +4707,11 @@
 0:404          trunc ( temp 2X2 matrix of float)
 0:404            'inF0' ( in 2X2 matrix of float)
 0:407      Branch: Return with expression
-0:?         Constant:
-0:?           2.000000
-0:?           2.000000
-0:?           2.000000
-0:?           2.000000
+0:407        Constant:
+0:407          2.000000
+0:407          2.000000
+0:407          2.000000
+0:407          2.000000
 0:411  Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; ( temp 3X3 matrix of float)
 0:411    Function Parameters: 
 0:411      'inF0' ( in 3X3 matrix of float)
@@ -4996,16 +4996,16 @@
 0:413          trunc ( temp 3X3 matrix of float)
 0:413            'inF0' ( in 3X3 matrix of float)
 0:416      Branch: Return with expression
-0:?         Constant:
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
+0:416        Constant:
+0:416          3.000000
+0:416          3.000000
+0:416          3.000000
+0:416          3.000000
+0:416          3.000000
+0:416          3.000000
+0:416          3.000000
+0:416          3.000000
+0:416          3.000000
 0:420  Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; ( temp 4X4 matrix of float)
 0:420    Function Parameters: 
 0:420      'inF0' ( in 4X4 matrix of float)
@@ -5297,23 +5297,23 @@
 0:422          trunc ( temp 4X4 matrix of float)
 0:422            'inF0' ( in 4X4 matrix of float)
 0:425      Branch: Return with expression
-0:?         Constant:
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
+0:425        Constant:
+0:425          4.000000
+0:425          4.000000
+0:425          4.000000
+0:425          4.000000
+0:425          4.000000
+0:425          4.000000
+0:425          4.000000
+0:425          4.000000
+0:425          4.000000
+0:425          4.000000
+0:425          4.000000
+0:425          4.000000
+0:425          4.000000
+0:425          4.000000
+0:425          4.000000
+0:425          4.000000
 0:443  Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; ( temp void)
 0:443    Function Parameters: 
 0:443      'inF0' ( in float)
diff --git a/Test/baseResults/hlsl.intrinsics.negative.comp.out b/Test/baseResults/hlsl.intrinsics.negative.comp.out
index c6fcdf0..ee88def 100644
--- a/Test/baseResults/hlsl.intrinsics.negative.comp.out
+++ b/Test/baseResults/hlsl.intrinsics.negative.comp.out
@@ -30,9 +30,9 @@
 0:66      'inI0' ( in 2-component vector of int)
 0:?     Sequence
 0:109      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
+0:109        Constant:
+0:109          1.000000
+0:109          2.000000
 0:113  Function Definition: ComputeShaderFunction3(vf3;vf3;vf3;vi3; ( temp 3-component vector of float)
 0:113    Function Parameters: 
 0:113      'inF0' ( in 3-component vector of float)
@@ -41,10 +41,10 @@
 0:113      'inI0' ( in 3-component vector of int)
 0:?     Sequence
 0:154      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
+0:154        Constant:
+0:154          1.000000
+0:154          2.000000
+0:154          3.000000
 0:158  Function Definition: @ComputeShaderFunction(vf4;vf4;vf4;vi4; ( temp 4-component vector of float)
 0:158    Function Parameters: 
 0:158      'inF0' ( in 4-component vector of float)
@@ -53,11 +53,11 @@
 0:158      'inI0' ( in 4-component vector of int)
 0:?     Sequence
 0:199      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
-0:?           4.000000
+0:199        Constant:
+0:199          1.000000
+0:199          2.000000
+0:199          3.000000
+0:199          4.000000
 0:158  Function Definition: ComputeShaderFunction( ( temp void)
 0:158    Function Parameters: 
 0:?     Sequence
@@ -122,9 +122,9 @@
 0:66      'inI0' ( in 2-component vector of int)
 0:?     Sequence
 0:109      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
+0:109        Constant:
+0:109          1.000000
+0:109          2.000000
 0:113  Function Definition: ComputeShaderFunction3(vf3;vf3;vf3;vi3; ( temp 3-component vector of float)
 0:113    Function Parameters: 
 0:113      'inF0' ( in 3-component vector of float)
@@ -133,10 +133,10 @@
 0:113      'inI0' ( in 3-component vector of int)
 0:?     Sequence
 0:154      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
+0:154        Constant:
+0:154          1.000000
+0:154          2.000000
+0:154          3.000000
 0:158  Function Definition: @ComputeShaderFunction(vf4;vf4;vf4;vi4; ( temp 4-component vector of float)
 0:158    Function Parameters: 
 0:158      'inF0' ( in 4-component vector of float)
@@ -145,11 +145,11 @@
 0:158      'inI0' ( in 4-component vector of int)
 0:?     Sequence
 0:199      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
-0:?           4.000000
+0:199        Constant:
+0:199          1.000000
+0:199          2.000000
+0:199          3.000000
+0:199          4.000000
 0:158  Function Definition: ComputeShaderFunction( ( temp void)
 0:158    Function Parameters: 
 0:?     Sequence
diff --git a/Test/baseResults/hlsl.intrinsics.negative.frag.out b/Test/baseResults/hlsl.intrinsics.negative.frag.out
index 980cc96..4c021e0 100644
--- a/Test/baseResults/hlsl.intrinsics.negative.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.negative.frag.out
@@ -224,9 +224,9 @@
 0:57      Constant:
 0:57        0.000000
 0:59      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
+0:59        Constant:
+0:59          1.000000
+0:59          2.000000
 0:63  Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vi3; ( temp 3-component vector of float)
 0:63    Function Parameters: 
 0:63      'inF0' ( in 3-component vector of float)
@@ -283,10 +283,10 @@
 0:73      Constant:
 0:73        0.000000
 0:76      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
+0:76        Constant:
+0:76          1.000000
+0:76          2.000000
+0:76          3.000000
 0:80  Function Definition: @PixelShaderFunction(vf4;vf4;vf4;vi4; ( temp 4-component vector of float)
 0:80    Function Parameters: 
 0:80      'inF0' ( in 4-component vector of float)
@@ -355,11 +355,11 @@
 0:90      Constant:
 0:90        0.000000
 0:92      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
-0:?           4.000000
+0:92        Constant:
+0:92          1.000000
+0:92          2.000000
+0:92          3.000000
+0:92          4.000000
 0:80  Function Definition: PixelShaderFunction( ( temp void)
 0:80    Function Parameters: 
 0:?     Sequence
@@ -415,11 +415,11 @@
 0:117      Constant:
 0:117        0.000000
 0:119      Branch: Return with expression
-0:?         Constant:
-0:?           2.000000
-0:?           2.000000
-0:?           2.000000
-0:?           2.000000
+0:119        Constant:
+0:119          2.000000
+0:119          2.000000
+0:119          2.000000
+0:119          2.000000
 0:123  Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; ( temp 3X3 matrix of float)
 0:123    Function Parameters: 
 0:123      'inF0' ( in 3X3 matrix of float)
@@ -453,16 +453,16 @@
 0:125      Constant:
 0:125        0.000000
 0:127      Branch: Return with expression
-0:?         Constant:
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
+0:127        Constant:
+0:127          3.000000
+0:127          3.000000
+0:127          3.000000
+0:127          3.000000
+0:127          3.000000
+0:127          3.000000
+0:127          3.000000
+0:127          3.000000
+0:127          3.000000
 0:131  Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; ( temp 4X4 matrix of float)
 0:131    Function Parameters: 
 0:131      'inF0' ( in 4X4 matrix of float)
@@ -496,23 +496,23 @@
 0:133      Constant:
 0:133        0.000000
 0:135      Branch: Return with expression
-0:?         Constant:
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
+0:135        Constant:
+0:135          4.000000
+0:135          4.000000
+0:135          4.000000
+0:135          4.000000
+0:135          4.000000
+0:135          4.000000
+0:135          4.000000
+0:135          4.000000
+0:135          4.000000
+0:135          4.000000
+0:135          4.000000
+0:135          4.000000
+0:135          4.000000
+0:135          4.000000
+0:135          4.000000
+0:135          4.000000
 0:?   Linker Objects
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 0:?     'inF0' (layout( location=0) in 4-component vector of float)
@@ -687,9 +687,9 @@
 0:57      Constant:
 0:57        0.000000
 0:59      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
+0:59        Constant:
+0:59          1.000000
+0:59          2.000000
 0:63  Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vi3; ( temp 3-component vector of float)
 0:63    Function Parameters: 
 0:63      'inF0' ( in 3-component vector of float)
@@ -746,10 +746,10 @@
 0:73      Constant:
 0:73        0.000000
 0:76      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
+0:76        Constant:
+0:76          1.000000
+0:76          2.000000
+0:76          3.000000
 0:80  Function Definition: @PixelShaderFunction(vf4;vf4;vf4;vi4; ( temp 4-component vector of float)
 0:80    Function Parameters: 
 0:80      'inF0' ( in 4-component vector of float)
@@ -818,11 +818,11 @@
 0:90      Constant:
 0:90        0.000000
 0:92      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
-0:?           4.000000
+0:92        Constant:
+0:92          1.000000
+0:92          2.000000
+0:92          3.000000
+0:92          4.000000
 0:80  Function Definition: PixelShaderFunction( ( temp void)
 0:80    Function Parameters: 
 0:?     Sequence
@@ -878,11 +878,11 @@
 0:117      Constant:
 0:117        0.000000
 0:119      Branch: Return with expression
-0:?         Constant:
-0:?           2.000000
-0:?           2.000000
-0:?           2.000000
-0:?           2.000000
+0:119        Constant:
+0:119          2.000000
+0:119          2.000000
+0:119          2.000000
+0:119          2.000000
 0:123  Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; ( temp 3X3 matrix of float)
 0:123    Function Parameters: 
 0:123      'inF0' ( in 3X3 matrix of float)
@@ -916,16 +916,16 @@
 0:125      Constant:
 0:125        0.000000
 0:127      Branch: Return with expression
-0:?         Constant:
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
+0:127        Constant:
+0:127          3.000000
+0:127          3.000000
+0:127          3.000000
+0:127          3.000000
+0:127          3.000000
+0:127          3.000000
+0:127          3.000000
+0:127          3.000000
+0:127          3.000000
 0:131  Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; ( temp 4X4 matrix of float)
 0:131    Function Parameters: 
 0:131      'inF0' ( in 4X4 matrix of float)
@@ -959,23 +959,23 @@
 0:133      Constant:
 0:133        0.000000
 0:135      Branch: Return with expression
-0:?         Constant:
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
+0:135        Constant:
+0:135          4.000000
+0:135          4.000000
+0:135          4.000000
+0:135          4.000000
+0:135          4.000000
+0:135          4.000000
+0:135          4.000000
+0:135          4.000000
+0:135          4.000000
+0:135          4.000000
+0:135          4.000000
+0:135          4.000000
+0:135          4.000000
+0:135          4.000000
+0:135          4.000000
+0:135          4.000000
 0:?   Linker Objects
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 0:?     'inF0' (layout( location=0) in 4-component vector of float)
diff --git a/Test/baseResults/hlsl.intrinsics.negative.vert.out b/Test/baseResults/hlsl.intrinsics.negative.vert.out
index 0f74c7e..f1ab582 100644
--- a/Test/baseResults/hlsl.intrinsics.negative.vert.out
+++ b/Test/baseResults/hlsl.intrinsics.negative.vert.out
@@ -29,9 +29,9 @@
 0:84      'inI0' ( in 2-component vector of int)
 0:?     Sequence
 0:127      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
+0:127        Constant:
+0:127          1.000000
+0:127          2.000000
 0:131  Function Definition: VertexShaderFunction3(vf3;vf3;vf3;vi3; ( temp 3-component vector of float)
 0:131    Function Parameters: 
 0:131      'inF0' ( in 3-component vector of float)
@@ -40,10 +40,10 @@
 0:131      'inI0' ( in 3-component vector of int)
 0:?     Sequence
 0:172      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
+0:172        Constant:
+0:172          1.000000
+0:172          2.000000
+0:172          3.000000
 0:176  Function Definition: @VertexShaderFunction(vf4;vf4;vf4;vi4; ( temp 4-component vector of float)
 0:176    Function Parameters: 
 0:176      'inF0' ( in 4-component vector of float)
@@ -52,11 +52,11 @@
 0:176      'inI0' ( in 4-component vector of int)
 0:?     Sequence
 0:217      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
-0:?           4.000000
+0:217        Constant:
+0:217          1.000000
+0:217          2.000000
+0:217          3.000000
+0:217          4.000000
 0:176  Function Definition: VertexShaderFunction( ( temp void)
 0:176    Function Parameters: 
 0:?     Sequence
@@ -86,11 +86,11 @@
 0:226      'inF2' ( in 2X2 matrix of float)
 0:?     Sequence
 0:230      Branch: Return with expression
-0:?         Constant:
-0:?           2.000000
-0:?           2.000000
-0:?           2.000000
-0:?           2.000000
+0:230        Constant:
+0:230          2.000000
+0:230          2.000000
+0:230          2.000000
+0:230          2.000000
 0:234  Function Definition: VertexShaderFunction3x3(mf33;mf33;mf33; ( temp 3X3 matrix of float)
 0:234    Function Parameters: 
 0:234      'inF0' ( in 3X3 matrix of float)
@@ -98,16 +98,16 @@
 0:234      'inF2' ( in 3X3 matrix of float)
 0:?     Sequence
 0:238      Branch: Return with expression
-0:?         Constant:
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
+0:238        Constant:
+0:238          3.000000
+0:238          3.000000
+0:238          3.000000
+0:238          3.000000
+0:238          3.000000
+0:238          3.000000
+0:238          3.000000
+0:238          3.000000
+0:238          3.000000
 0:242  Function Definition: VertexShaderFunction4x4(mf44;mf44;mf44; ( temp 4X4 matrix of float)
 0:242    Function Parameters: 
 0:242      'inF0' ( in 4X4 matrix of float)
@@ -115,23 +115,23 @@
 0:242      'inF2' ( in 4X4 matrix of float)
 0:?     Sequence
 0:246      Branch: Return with expression
-0:?         Constant:
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
+0:246        Constant:
+0:246          4.000000
+0:246          4.000000
+0:246          4.000000
+0:246          4.000000
+0:246          4.000000
+0:246          4.000000
+0:246          4.000000
+0:246          4.000000
+0:246          4.000000
+0:246          4.000000
+0:246          4.000000
+0:246          4.000000
+0:246          4.000000
+0:246          4.000000
+0:246          4.000000
+0:246          4.000000
 0:?   Linker Objects
 0:?     'gs_ua' ( global uint)
 0:?     'gs_ub' ( global uint)
@@ -185,9 +185,9 @@
 0:84      'inI0' ( in 2-component vector of int)
 0:?     Sequence
 0:127      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
+0:127        Constant:
+0:127          1.000000
+0:127          2.000000
 0:131  Function Definition: VertexShaderFunction3(vf3;vf3;vf3;vi3; ( temp 3-component vector of float)
 0:131    Function Parameters: 
 0:131      'inF0' ( in 3-component vector of float)
@@ -196,10 +196,10 @@
 0:131      'inI0' ( in 3-component vector of int)
 0:?     Sequence
 0:172      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
+0:172        Constant:
+0:172          1.000000
+0:172          2.000000
+0:172          3.000000
 0:176  Function Definition: @VertexShaderFunction(vf4;vf4;vf4;vi4; ( temp 4-component vector of float)
 0:176    Function Parameters: 
 0:176      'inF0' ( in 4-component vector of float)
@@ -208,11 +208,11 @@
 0:176      'inI0' ( in 4-component vector of int)
 0:?     Sequence
 0:217      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
-0:?           4.000000
+0:217        Constant:
+0:217          1.000000
+0:217          2.000000
+0:217          3.000000
+0:217          4.000000
 0:176  Function Definition: VertexShaderFunction( ( temp void)
 0:176    Function Parameters: 
 0:?     Sequence
@@ -242,11 +242,11 @@
 0:226      'inF2' ( in 2X2 matrix of float)
 0:?     Sequence
 0:230      Branch: Return with expression
-0:?         Constant:
-0:?           2.000000
-0:?           2.000000
-0:?           2.000000
-0:?           2.000000
+0:230        Constant:
+0:230          2.000000
+0:230          2.000000
+0:230          2.000000
+0:230          2.000000
 0:234  Function Definition: VertexShaderFunction3x3(mf33;mf33;mf33; ( temp 3X3 matrix of float)
 0:234    Function Parameters: 
 0:234      'inF0' ( in 3X3 matrix of float)
@@ -254,16 +254,16 @@
 0:234      'inF2' ( in 3X3 matrix of float)
 0:?     Sequence
 0:238      Branch: Return with expression
-0:?         Constant:
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
+0:238        Constant:
+0:238          3.000000
+0:238          3.000000
+0:238          3.000000
+0:238          3.000000
+0:238          3.000000
+0:238          3.000000
+0:238          3.000000
+0:238          3.000000
+0:238          3.000000
 0:242  Function Definition: VertexShaderFunction4x4(mf44;mf44;mf44; ( temp 4X4 matrix of float)
 0:242    Function Parameters: 
 0:242      'inF0' ( in 4X4 matrix of float)
@@ -271,23 +271,23 @@
 0:242      'inF2' ( in 4X4 matrix of float)
 0:?     Sequence
 0:246      Branch: Return with expression
-0:?         Constant:
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
+0:246        Constant:
+0:246          4.000000
+0:246          4.000000
+0:246          4.000000
+0:246          4.000000
+0:246          4.000000
+0:246          4.000000
+0:246          4.000000
+0:246          4.000000
+0:246          4.000000
+0:246          4.000000
+0:246          4.000000
+0:246          4.000000
+0:246          4.000000
+0:246          4.000000
+0:246          4.000000
+0:246          4.000000
 0:?   Linker Objects
 0:?     'gs_ua' ( global uint)
 0:?     'gs_ub' ( global uint)
diff --git a/Test/baseResults/hlsl.intrinsics.promote.down.frag.out b/Test/baseResults/hlsl.intrinsics.promote.down.frag.out
index b17c7e6..bd73fae 100644
--- a/Test/baseResults/hlsl.intrinsics.promote.down.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.promote.down.frag.out
@@ -28,11 +28,11 @@
 0:20          'ps_output' ( temp structure{ temp 4-component vector of float color})
 0:20          Constant:
 0:20            0 (const int)
-0:?         Constant:
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
+0:20        Constant:
+0:20          0.000000
+0:20          0.000000
+0:20          0.000000
+0:20          0.000000
 0:21      Branch: Return with expression
 0:21        'ps_output' ( temp structure{ temp 4-component vector of float color})
 0:15  Function Definition: main( ( temp void)
@@ -82,11 +82,11 @@
 0:20          'ps_output' ( temp structure{ temp 4-component vector of float color})
 0:20          Constant:
 0:20            0 (const int)
-0:?         Constant:
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
+0:20        Constant:
+0:20          0.000000
+0:20          0.000000
+0:20          0.000000
+0:20          0.000000
 0:21      Branch: Return with expression
 0:21        'ps_output' ( temp structure{ temp 4-component vector of float color})
 0:15  Function Definition: main( ( temp void)
diff --git a/Test/baseResults/hlsl.intrinsics.vert.out b/Test/baseResults/hlsl.intrinsics.vert.out
index 384f693..647570c 100644
--- a/Test/baseResults/hlsl.intrinsics.vert.out
+++ b/Test/baseResults/hlsl.intrinsics.vert.out
@@ -191,10 +191,10 @@
 0:83        'inF0' ( in 2-component vector of float)
 0:84      hyp. cosine ( temp 2-component vector of float)
 0:84        'inF0' ( in 2-component vector of float)
-0:?       bitCount ( temp 2-component vector of int)
-0:?         Constant:
-0:?           7 (const int)
-0:?           3 (const int)
+0:85      bitCount ( temp 2-component vector of int)
+0:85        Constant:
+0:85          7 (const int)
+0:85          3 (const int)
 0:86      degrees ( temp 2-component vector of float)
 0:86        'inF0' ( in 2-component vector of float)
 0:87      distance ( temp float)
@@ -267,10 +267,10 @@
 0:116        'inF1' ( in 2-component vector of float)
 0:116        Constant:
 0:116          2.000000
-0:?       bitFieldReverse ( temp 2-component vector of int)
-0:?         Constant:
-0:?           1 (const int)
-0:?           2 (const int)
+0:117      bitFieldReverse ( temp 2-component vector of int)
+0:117        Constant:
+0:117          1 (const int)
+0:117          2 (const int)
 0:118      roundEven ( temp 2-component vector of float)
 0:118        'inF0' ( in 2-component vector of float)
 0:119      inverse sqrt ( temp 2-component vector of float)
@@ -312,9 +312,9 @@
 0:131      trunc ( temp 2-component vector of float)
 0:131        'inF0' ( in 2-component vector of float)
 0:134      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
+0:134        Constant:
+0:134          1.000000
+0:134          2.000000
 0:138  Function Definition: VertexShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float)
 0:138    Function Parameters: 
 0:138      'inF0' ( in 3-component vector of float)
@@ -356,11 +356,11 @@
 0:152        'inF0' ( in 3-component vector of float)
 0:153      hyp. cosine ( temp 3-component vector of float)
 0:153        'inF0' ( in 3-component vector of float)
-0:?       bitCount ( temp 3-component vector of int)
-0:?         Constant:
-0:?           7 (const int)
-0:?           3 (const int)
-0:?           5 (const int)
+0:154      bitCount ( temp 3-component vector of int)
+0:154        Constant:
+0:154          7 (const int)
+0:154          3 (const int)
+0:154          5 (const int)
 0:155      cross-product ( temp 3-component vector of float)
 0:155        'inF0' ( in 3-component vector of float)
 0:155        'inF1' ( in 3-component vector of float)
@@ -436,11 +436,11 @@
 0:186        'inF1' ( in 3-component vector of float)
 0:186        Constant:
 0:186          2.000000
-0:?       bitFieldReverse ( temp 3-component vector of int)
-0:?         Constant:
-0:?           1 (const int)
-0:?           2 (const int)
-0:?           3 (const int)
+0:187      bitFieldReverse ( temp 3-component vector of int)
+0:187        Constant:
+0:187          1 (const int)
+0:187          2 (const int)
+0:187          3 (const int)
 0:188      roundEven ( temp 3-component vector of float)
 0:188        'inF0' ( in 3-component vector of float)
 0:189      inverse sqrt ( temp 3-component vector of float)
@@ -482,10 +482,10 @@
 0:201      trunc ( temp 3-component vector of float)
 0:201        'inF0' ( in 3-component vector of float)
 0:204      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
+0:204        Constant:
+0:204          1.000000
+0:204          2.000000
+0:204          3.000000
 0:208  Function Definition: VertexShaderFunction4(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
 0:208    Function Parameters: 
 0:208      'inF0' ( in 4-component vector of float)
@@ -527,12 +527,12 @@
 0:222        'inF0' ( in 4-component vector of float)
 0:223      hyp. cosine ( temp 4-component vector of float)
 0:223        'inF0' ( in 4-component vector of float)
-0:?       bitCount ( temp 4-component vector of int)
-0:?         Constant:
-0:?           7 (const int)
-0:?           3 (const int)
-0:?           5 (const int)
-0:?           2 (const int)
+0:224      bitCount ( temp 4-component vector of int)
+0:224        Constant:
+0:224          7 (const int)
+0:224          3 (const int)
+0:224          5 (const int)
+0:224          2 (const int)
 0:225      degrees ( temp 4-component vector of float)
 0:225        'inF0' ( in 4-component vector of float)
 0:226      distance ( temp float)
@@ -625,12 +625,12 @@
 0:256        'inF1' ( in 4-component vector of float)
 0:256        Constant:
 0:256          2.000000
-0:?       bitFieldReverse ( temp 4-component vector of int)
-0:?         Constant:
-0:?           1 (const int)
-0:?           2 (const int)
-0:?           3 (const int)
-0:?           4 (const int)
+0:257      bitFieldReverse ( temp 4-component vector of int)
+0:257        Constant:
+0:257          1 (const int)
+0:257          2 (const int)
+0:257          3 (const int)
+0:257          4 (const int)
 0:258      roundEven ( temp 4-component vector of float)
 0:258        'inF0' ( in 4-component vector of float)
 0:259      inverse sqrt ( temp 4-component vector of float)
@@ -672,11 +672,11 @@
 0:271      trunc ( temp 4-component vector of float)
 0:271        'inF0' ( in 4-component vector of float)
 0:274      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
-0:?           4.000000
+0:274        Constant:
+0:274          1.000000
+0:274          2.000000
+0:274          3.000000
+0:274          4.000000
 0:331  Function Definition: VertexShaderFunction2x2(mf22;mf22;mf22; ( temp 2X2 matrix of float)
 0:331    Function Parameters: 
 0:331      'inF0' ( in 2X2 matrix of float)
@@ -801,11 +801,11 @@
 0:333      trunc ( temp 2X2 matrix of float)
 0:333        'inF0' ( in 2X2 matrix of float)
 0:336      Branch: Return with expression
-0:?         Constant:
-0:?           2.000000
-0:?           2.000000
-0:?           2.000000
-0:?           2.000000
+0:336        Constant:
+0:336          2.000000
+0:336          2.000000
+0:336          2.000000
+0:336          2.000000
 0:340  Function Definition: VertexShaderFunction3x3(mf33;mf33;mf33; ( temp 3X3 matrix of float)
 0:340    Function Parameters: 
 0:340      'inF0' ( in 3X3 matrix of float)
@@ -930,16 +930,16 @@
 0:342      trunc ( temp 3X3 matrix of float)
 0:342        'inF0' ( in 3X3 matrix of float)
 0:345      Branch: Return with expression
-0:?         Constant:
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
+0:345        Constant:
+0:345          3.000000
+0:345          3.000000
+0:345          3.000000
+0:345          3.000000
+0:345          3.000000
+0:345          3.000000
+0:345          3.000000
+0:345          3.000000
+0:345          3.000000
 0:349  Function Definition: VertexShaderFunction4x4(mf44;mf44;mf44; ( temp 4X4 matrix of float)
 0:349    Function Parameters: 
 0:349      'inF0' ( in 4X4 matrix of float)
@@ -1064,23 +1064,23 @@
 0:351      trunc ( temp 4X4 matrix of float)
 0:351        'inF0' ( in 4X4 matrix of float)
 0:354      Branch: Return with expression
-0:?         Constant:
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
+0:354        Constant:
+0:354          4.000000
+0:354          4.000000
+0:354          4.000000
+0:354          4.000000
+0:354          4.000000
+0:354          4.000000
+0:354          4.000000
+0:354          4.000000
+0:354          4.000000
+0:354          4.000000
+0:354          4.000000
+0:354          4.000000
+0:354          4.000000
+0:354          4.000000
+0:354          4.000000
+0:354          4.000000
 0:372  Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; ( temp void)
 0:372    Function Parameters: 
 0:372      'inF0' ( in float)
@@ -1583,10 +1583,10 @@
 0:83        'inF0' ( in 2-component vector of float)
 0:84      hyp. cosine ( temp 2-component vector of float)
 0:84        'inF0' ( in 2-component vector of float)
-0:?       bitCount ( temp 2-component vector of int)
-0:?         Constant:
-0:?           7 (const int)
-0:?           3 (const int)
+0:85      bitCount ( temp 2-component vector of int)
+0:85        Constant:
+0:85          7 (const int)
+0:85          3 (const int)
 0:86      degrees ( temp 2-component vector of float)
 0:86        'inF0' ( in 2-component vector of float)
 0:87      distance ( temp float)
@@ -1659,10 +1659,10 @@
 0:116        'inF1' ( in 2-component vector of float)
 0:116        Constant:
 0:116          2.000000
-0:?       bitFieldReverse ( temp 2-component vector of int)
-0:?         Constant:
-0:?           1 (const int)
-0:?           2 (const int)
+0:117      bitFieldReverse ( temp 2-component vector of int)
+0:117        Constant:
+0:117          1 (const int)
+0:117          2 (const int)
 0:118      roundEven ( temp 2-component vector of float)
 0:118        'inF0' ( in 2-component vector of float)
 0:119      inverse sqrt ( temp 2-component vector of float)
@@ -1704,9 +1704,9 @@
 0:131      trunc ( temp 2-component vector of float)
 0:131        'inF0' ( in 2-component vector of float)
 0:134      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
+0:134        Constant:
+0:134          1.000000
+0:134          2.000000
 0:138  Function Definition: VertexShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float)
 0:138    Function Parameters: 
 0:138      'inF0' ( in 3-component vector of float)
@@ -1748,11 +1748,11 @@
 0:152        'inF0' ( in 3-component vector of float)
 0:153      hyp. cosine ( temp 3-component vector of float)
 0:153        'inF0' ( in 3-component vector of float)
-0:?       bitCount ( temp 3-component vector of int)
-0:?         Constant:
-0:?           7 (const int)
-0:?           3 (const int)
-0:?           5 (const int)
+0:154      bitCount ( temp 3-component vector of int)
+0:154        Constant:
+0:154          7 (const int)
+0:154          3 (const int)
+0:154          5 (const int)
 0:155      cross-product ( temp 3-component vector of float)
 0:155        'inF0' ( in 3-component vector of float)
 0:155        'inF1' ( in 3-component vector of float)
@@ -1828,11 +1828,11 @@
 0:186        'inF1' ( in 3-component vector of float)
 0:186        Constant:
 0:186          2.000000
-0:?       bitFieldReverse ( temp 3-component vector of int)
-0:?         Constant:
-0:?           1 (const int)
-0:?           2 (const int)
-0:?           3 (const int)
+0:187      bitFieldReverse ( temp 3-component vector of int)
+0:187        Constant:
+0:187          1 (const int)
+0:187          2 (const int)
+0:187          3 (const int)
 0:188      roundEven ( temp 3-component vector of float)
 0:188        'inF0' ( in 3-component vector of float)
 0:189      inverse sqrt ( temp 3-component vector of float)
@@ -1874,10 +1874,10 @@
 0:201      trunc ( temp 3-component vector of float)
 0:201        'inF0' ( in 3-component vector of float)
 0:204      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
+0:204        Constant:
+0:204          1.000000
+0:204          2.000000
+0:204          3.000000
 0:208  Function Definition: VertexShaderFunction4(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
 0:208    Function Parameters: 
 0:208      'inF0' ( in 4-component vector of float)
@@ -1919,12 +1919,12 @@
 0:222        'inF0' ( in 4-component vector of float)
 0:223      hyp. cosine ( temp 4-component vector of float)
 0:223        'inF0' ( in 4-component vector of float)
-0:?       bitCount ( temp 4-component vector of int)
-0:?         Constant:
-0:?           7 (const int)
-0:?           3 (const int)
-0:?           5 (const int)
-0:?           2 (const int)
+0:224      bitCount ( temp 4-component vector of int)
+0:224        Constant:
+0:224          7 (const int)
+0:224          3 (const int)
+0:224          5 (const int)
+0:224          2 (const int)
 0:225      degrees ( temp 4-component vector of float)
 0:225        'inF0' ( in 4-component vector of float)
 0:226      distance ( temp float)
@@ -2017,12 +2017,12 @@
 0:256        'inF1' ( in 4-component vector of float)
 0:256        Constant:
 0:256          2.000000
-0:?       bitFieldReverse ( temp 4-component vector of int)
-0:?         Constant:
-0:?           1 (const int)
-0:?           2 (const int)
-0:?           3 (const int)
-0:?           4 (const int)
+0:257      bitFieldReverse ( temp 4-component vector of int)
+0:257        Constant:
+0:257          1 (const int)
+0:257          2 (const int)
+0:257          3 (const int)
+0:257          4 (const int)
 0:258      roundEven ( temp 4-component vector of float)
 0:258        'inF0' ( in 4-component vector of float)
 0:259      inverse sqrt ( temp 4-component vector of float)
@@ -2064,11 +2064,11 @@
 0:271      trunc ( temp 4-component vector of float)
 0:271        'inF0' ( in 4-component vector of float)
 0:274      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
-0:?           4.000000
+0:274        Constant:
+0:274          1.000000
+0:274          2.000000
+0:274          3.000000
+0:274          4.000000
 0:331  Function Definition: VertexShaderFunction2x2(mf22;mf22;mf22; ( temp 2X2 matrix of float)
 0:331    Function Parameters: 
 0:331      'inF0' ( in 2X2 matrix of float)
@@ -2193,11 +2193,11 @@
 0:333      trunc ( temp 2X2 matrix of float)
 0:333        'inF0' ( in 2X2 matrix of float)
 0:336      Branch: Return with expression
-0:?         Constant:
-0:?           2.000000
-0:?           2.000000
-0:?           2.000000
-0:?           2.000000
+0:336        Constant:
+0:336          2.000000
+0:336          2.000000
+0:336          2.000000
+0:336          2.000000
 0:340  Function Definition: VertexShaderFunction3x3(mf33;mf33;mf33; ( temp 3X3 matrix of float)
 0:340    Function Parameters: 
 0:340      'inF0' ( in 3X3 matrix of float)
@@ -2322,16 +2322,16 @@
 0:342      trunc ( temp 3X3 matrix of float)
 0:342        'inF0' ( in 3X3 matrix of float)
 0:345      Branch: Return with expression
-0:?         Constant:
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
-0:?           3.000000
+0:345        Constant:
+0:345          3.000000
+0:345          3.000000
+0:345          3.000000
+0:345          3.000000
+0:345          3.000000
+0:345          3.000000
+0:345          3.000000
+0:345          3.000000
+0:345          3.000000
 0:349  Function Definition: VertexShaderFunction4x4(mf44;mf44;mf44; ( temp 4X4 matrix of float)
 0:349    Function Parameters: 
 0:349      'inF0' ( in 4X4 matrix of float)
@@ -2456,23 +2456,23 @@
 0:351      trunc ( temp 4X4 matrix of float)
 0:351        'inF0' ( in 4X4 matrix of float)
 0:354      Branch: Return with expression
-0:?         Constant:
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
-0:?           4.000000
+0:354        Constant:
+0:354          4.000000
+0:354          4.000000
+0:354          4.000000
+0:354          4.000000
+0:354          4.000000
+0:354          4.000000
+0:354          4.000000
+0:354          4.000000
+0:354          4.000000
+0:354          4.000000
+0:354          4.000000
+0:354          4.000000
+0:354          4.000000
+0:354          4.000000
+0:354          4.000000
+0:354          4.000000
 0:372  Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; ( temp void)
 0:372    Function Parameters: 
 0:372      'inF0' ( in float)
diff --git a/Test/baseResults/hlsl.layoutOverride.vert.out b/Test/baseResults/hlsl.layoutOverride.vert.out
index 83fa628..a3b8960 100644
--- a/Test/baseResults/hlsl.layoutOverride.vert.out
+++ b/Test/baseResults/hlsl.layoutOverride.vert.out
@@ -9,9 +9,9 @@
 0:6          Construct combined texture-sampler ( temp sampler2D)
 0:6            'tex' (layout( set=2 binding=0) uniform texture2D)
 0:6            'samp' ( uniform sampler)
-0:?           Constant:
-0:?             0.200000
-0:?             0.300000
+0:6          Constant:
+0:6            0.200000
+0:6            0.300000
 0:5  Function Definition: main( ( temp void)
 0:5    Function Parameters: 
 0:?     Sequence
@@ -37,9 +37,9 @@
 0:6          Construct combined texture-sampler ( temp sampler2D)
 0:6            'tex' (layout( set=2 binding=0) uniform texture2D)
 0:6            'samp' ( uniform sampler)
-0:?           Constant:
-0:?             0.200000
-0:?             0.300000
+0:6          Constant:
+0:6            0.200000
+0:6            0.300000
 0:5  Function Definition: main( ( temp void)
 0:5    Function Parameters: 
 0:?     Sequence
diff --git a/Test/baseResults/hlsl.load.basic.dx10.vert.out b/Test/baseResults/hlsl.load.basic.dx10.vert.out
index a110532..8b9a04f 100644
--- a/Test/baseResults/hlsl.load.basic.dx10.vert.out
+++ b/Test/baseResults/hlsl.load.basic.dx10.vert.out
@@ -180,11 +180,11 @@
 0:67          'vsout' ( temp structure{ temp 4-component vector of float Pos})
 0:67          Constant:
 0:67            0 (const int)
-0:?         Constant:
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
+0:67        Constant:
+0:67          0.000000
+0:67          0.000000
+0:67          0.000000
+0:67          0.000000
 0:69      Branch: Return with expression
 0:69        'vsout' ( temp structure{ temp 4-component vector of float Pos})
 0:47  Function Definition: main( ( temp void)
@@ -408,11 +408,11 @@
 0:67          'vsout' ( temp structure{ temp 4-component vector of float Pos})
 0:67          Constant:
 0:67            0 (const int)
-0:?         Constant:
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
+0:67        Constant:
+0:67          0.000000
+0:67          0.000000
+0:67          0.000000
+0:67          0.000000
 0:69      Branch: Return with expression
 0:69        'vsout' ( temp structure{ temp 4-component vector of float Pos})
 0:47  Function Definition: main( ( temp void)
diff --git a/Test/baseResults/hlsl.matType.bool.frag.out b/Test/baseResults/hlsl.matType.bool.frag.out
index 47bbaf1..500b311 100644
--- a/Test/baseResults/hlsl.matType.bool.frag.out
+++ b/Test/baseResults/hlsl.matType.bool.frag.out
@@ -93,11 +93,11 @@
 0:51          'ps_output' ( temp structure{ temp 4-component vector of float color})
 0:51          Constant:
 0:51            0 (const int)
-0:?         Constant:
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
+0:51        Constant:
+0:51          0.000000
+0:51          0.000000
+0:51          0.000000
+0:51          0.000000
 0:52      Branch: Return with expression
 0:52        'ps_output' ( temp structure{ temp 4-component vector of float color})
 0:49  Function Definition: main( ( temp void)
@@ -211,11 +211,11 @@
 0:51          'ps_output' ( temp structure{ temp 4-component vector of float color})
 0:51          Constant:
 0:51            0 (const int)
-0:?         Constant:
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
+0:51        Constant:
+0:51          0.000000
+0:51          0.000000
+0:51          0.000000
+0:51          0.000000
 0:52      Branch: Return with expression
 0:52        'ps_output' ( temp structure{ temp 4-component vector of float color})
 0:49  Function Definition: main( ( temp void)
diff --git a/Test/baseResults/hlsl.matType.int.frag.out b/Test/baseResults/hlsl.matType.int.frag.out
index d567c17..a99bd15 100644
--- a/Test/baseResults/hlsl.matType.int.frag.out
+++ b/Test/baseResults/hlsl.matType.int.frag.out
@@ -176,11 +176,11 @@
 0:95          'ps_output' ( temp structure{ temp 4-component vector of float color})
 0:95          Constant:
 0:95            0 (const int)
-0:?         Constant:
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
+0:95        Constant:
+0:95          0.000000
+0:95          0.000000
+0:95          0.000000
+0:95          0.000000
 0:96      Branch: Return with expression
 0:96        'ps_output' ( temp structure{ temp 4-component vector of float color})
 0:93  Function Definition: main( ( temp void)
@@ -377,11 +377,11 @@
 0:95          'ps_output' ( temp structure{ temp 4-component vector of float color})
 0:95          Constant:
 0:95            0 (const int)
-0:?         Constant:
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
+0:95        Constant:
+0:95          0.000000
+0:95          0.000000
+0:95          0.000000
+0:95          0.000000
 0:96      Branch: Return with expression
 0:96        'ps_output' ( temp structure{ temp 4-component vector of float color})
 0:93  Function Definition: main( ( temp void)
diff --git a/Test/baseResults/hlsl.mip.negative.frag.out b/Test/baseResults/hlsl.mip.negative.frag.out
index 36f4137..4fb8f6e 100644
--- a/Test/baseResults/hlsl.mip.negative.frag.out
+++ b/Test/baseResults/hlsl.mip.negative.frag.out
@@ -9,11 +9,11 @@
 0:4  Function Definition: @main( ( temp 4-component vector of float)
 0:4    Function Parameters: 
 0:?     Sequence
-0:?       textureFetch ( temp 4-component vector of float)
+0:5      textureFetch ( temp 4-component vector of float)
 0:5        'g_tTex2df4' ( uniform texture2D)
-0:?         Constant:
-0:?           3 (const uint)
-0:?           4 (const uint)
+0:5        Constant:
+0:5          3 (const uint)
+0:5          4 (const uint)
 0:5        Constant:
 0:5          2 (const int)
 0:7      Branch: Return with expression
@@ -42,11 +42,11 @@
 0:4  Function Definition: @main( ( temp 4-component vector of float)
 0:4    Function Parameters: 
 0:?     Sequence
-0:?       textureFetch ( temp 4-component vector of float)
+0:5      textureFetch ( temp 4-component vector of float)
 0:5        'g_tTex2df4' ( uniform texture2D)
-0:?         Constant:
-0:?           3 (const uint)
-0:?           4 (const uint)
+0:5        Constant:
+0:5          3 (const uint)
+0:5          4 (const uint)
 0:5        Constant:
 0:5          2 (const int)
 0:7      Branch: Return with expression
diff --git a/Test/baseResults/hlsl.mip.negative2.frag.out b/Test/baseResults/hlsl.mip.negative2.frag.out
index 75cf95f..0036f63 100644
--- a/Test/baseResults/hlsl.mip.negative2.frag.out
+++ b/Test/baseResults/hlsl.mip.negative2.frag.out
@@ -16,9 +16,9 @@
 0:5            2 (const int)
 0:5          Constant:
 0:5            0 (const int)
-0:?         Constant:
-0:?           3 (const uint)
-0:?           4 (const uint)
+0:5        Constant:
+0:5          3 (const uint)
+0:5          4 (const uint)
 0:7      Branch: Return with expression
 0:7        Constant:
 0:7          0.000000
@@ -52,9 +52,9 @@
 0:5            2 (const int)
 0:5          Constant:
 0:5            0 (const int)
-0:?         Constant:
-0:?           3 (const uint)
-0:?           4 (const uint)
+0:5        Constant:
+0:5          3 (const uint)
+0:5          4 (const uint)
 0:7      Branch: Return with expression
 0:7        Constant:
 0:7          0.000000
diff --git a/Test/baseResults/hlsl.mip.operator.frag.out b/Test/baseResults/hlsl.mip.operator.frag.out
index 82b000f..48e563c 100644
--- a/Test/baseResults/hlsl.mip.operator.frag.out
+++ b/Test/baseResults/hlsl.mip.operator.frag.out
@@ -8,30 +8,30 @@
 0:13      Branch: Return with expression
 0:9        add ( temp 4-component vector of float)
 0:6          add ( temp 4-component vector of float)
-0:?             textureFetch ( temp 4-component vector of float)
+0:6            textureFetch ( temp 4-component vector of float)
 0:6              'g_tTex2df4' ( uniform texture2D)
-0:?               Constant:
-0:?                 3 (const uint)
-0:?                 4 (const uint)
+0:6              Constant:
+0:6                3 (const uint)
+0:6                4 (const uint)
 0:6              Constant:
 0:6                2 (const int)
-0:?             textureFetch ( temp 4-component vector of float)
+0:9            textureFetch ( temp 4-component vector of float)
 0:9              'g_tTex2df4a' ( uniform texture2DArray)
-0:?               Constant:
-0:?                 6 (const uint)
-0:?                 7 (const uint)
-0:?                 8 (const uint)
+0:9              Constant:
+0:9                6 (const uint)
+0:9                7 (const uint)
+0:9                8 (const uint)
 0:9              Constant:
 0:9                5 (const uint)
 0:13          textureFetch ( temp 4-component vector of float)
 0:13            'g_tTex2df4' ( uniform texture2D)
 0:13            Convert float to uint ( temp 2-component vector of uint)
 0:13              vector swizzle ( temp 2-component vector of float)
-0:?                 textureFetch ( temp 4-component vector of float)
+0:13                textureFetch ( temp 4-component vector of float)
 0:13                  'g_tTex2df4' ( uniform texture2D)
-0:?                   Constant:
-0:?                     14 (const uint)
-0:?                     15 (const uint)
+0:13                  Constant:
+0:13                    14 (const uint)
+0:13                    15 (const uint)
 0:13                  Constant:
 0:13                    13 (const int)
 0:13                Sequence
@@ -41,11 +41,11 @@
 0:13                    1 (const int)
 0:13            Convert float to uint ( temp uint)
 0:13              direct index ( temp float)
-0:?                 textureFetch ( temp 4-component vector of float)
+0:13                textureFetch ( temp 4-component vector of float)
 0:13                  'g_tTex2df4' ( uniform texture2D)
-0:?                   Constant:
-0:?                     10 (const uint)
-0:?                     11 (const uint)
+0:13                  Constant:
+0:13                    10 (const uint)
+0:13                    11 (const uint)
 0:13                  Constant:
 0:13                    9 (const int)
 0:13                Constant:
@@ -74,30 +74,30 @@
 0:13      Branch: Return with expression
 0:9        add ( temp 4-component vector of float)
 0:6          add ( temp 4-component vector of float)
-0:?             textureFetch ( temp 4-component vector of float)
+0:6            textureFetch ( temp 4-component vector of float)
 0:6              'g_tTex2df4' ( uniform texture2D)
-0:?               Constant:
-0:?                 3 (const uint)
-0:?                 4 (const uint)
+0:6              Constant:
+0:6                3 (const uint)
+0:6                4 (const uint)
 0:6              Constant:
 0:6                2 (const int)
-0:?             textureFetch ( temp 4-component vector of float)
+0:9            textureFetch ( temp 4-component vector of float)
 0:9              'g_tTex2df4a' ( uniform texture2DArray)
-0:?               Constant:
-0:?                 6 (const uint)
-0:?                 7 (const uint)
-0:?                 8 (const uint)
+0:9              Constant:
+0:9                6 (const uint)
+0:9                7 (const uint)
+0:9                8 (const uint)
 0:9              Constant:
 0:9                5 (const uint)
 0:13          textureFetch ( temp 4-component vector of float)
 0:13            'g_tTex2df4' ( uniform texture2D)
 0:13            Convert float to uint ( temp 2-component vector of uint)
 0:13              vector swizzle ( temp 2-component vector of float)
-0:?                 textureFetch ( temp 4-component vector of float)
+0:13                textureFetch ( temp 4-component vector of float)
 0:13                  'g_tTex2df4' ( uniform texture2D)
-0:?                   Constant:
-0:?                     14 (const uint)
-0:?                     15 (const uint)
+0:13                  Constant:
+0:13                    14 (const uint)
+0:13                    15 (const uint)
 0:13                  Constant:
 0:13                    13 (const int)
 0:13                Sequence
@@ -107,11 +107,11 @@
 0:13                    1 (const int)
 0:13            Convert float to uint ( temp uint)
 0:13              direct index ( temp float)
-0:?                 textureFetch ( temp 4-component vector of float)
+0:13                textureFetch ( temp 4-component vector of float)
 0:13                  'g_tTex2df4' ( uniform texture2D)
-0:?                   Constant:
-0:?                     10 (const uint)
-0:?                     11 (const uint)
+0:13                  Constant:
+0:13                    10 (const uint)
+0:13                    11 (const uint)
 0:13                  Constant:
 0:13                    9 (const int)
 0:13                Constant:
diff --git a/Test/baseResults/hlsl.nonstaticMemberFunction.frag.out b/Test/baseResults/hlsl.nonstaticMemberFunction.frag.out
index 59b251a..5a485c6 100644
--- a/Test/baseResults/hlsl.nonstaticMemberFunction.frag.out
+++ b/Test/baseResults/hlsl.nonstaticMemberFunction.frag.out
@@ -5,9 +5,9 @@
 0:1  Sequence
 0:1    move second child to first child ( temp 2-component vector of float)
 0:1      'i' ( global 2-component vector of float)
-0:?       Constant:
-0:?         1.000000
-0:?         2.000000
+0:1      Constant:
+0:1        1.000000
+0:1        2.000000
 0:5  Function Definition: type1::setmem(vf4; ( temp void)
 0:5    Function Parameters: 
 0:5      '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
@@ -85,11 +85,11 @@
 0:?     Sequence
 0:29      Function Call: type1::setmem(vf4; ( temp void)
 0:29        'test' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
-0:?         Constant:
-0:?           2.000000
-0:?           2.000000
-0:?           2.000000
-0:?           2.000000
+0:29        Constant:
+0:29          2.000000
+0:29          2.000000
+0:29          2.000000
+0:29          2.000000
 0:30      Function Call: type1::seti(i1; ( temp void)
 0:30        'test' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
 0:30        Constant:
@@ -97,20 +97,20 @@
 0:31      Sequence
 0:31        move second child to first child ( temp 4-component vector of float)
 0:31          'f4' ( temp 4-component vector of float)
-0:?           Constant:
-0:?             1.000000
-0:?             1.000000
-0:?             1.000000
-0:?             1.000000
+0:31          Constant:
+0:31            1.000000
+0:31            1.000000
+0:31            1.000000
+0:31            1.000000
 0:32      add second child into first child ( temp 4-component vector of float)
 0:32        'f4' ( temp 4-component vector of float)
 0:32        Function Call: type1::memFun(vf4; ( temp 4-component vector of float)
 0:32          'test' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
-0:?           Constant:
-0:?             5.000000
-0:?             5.000000
-0:?             5.000000
-0:?             5.000000
+0:32          Constant:
+0:32            5.000000
+0:32            5.000000
+0:32            5.000000
+0:32            5.000000
 0:33      add second child into first child ( temp 4-component vector of float)
 0:33        'f4' ( temp 4-component vector of float)
 0:33        Convert int to float ( temp float)
@@ -141,9 +141,9 @@
 0:1  Sequence
 0:1    move second child to first child ( temp 2-component vector of float)
 0:1      'i' ( global 2-component vector of float)
-0:?       Constant:
-0:?         1.000000
-0:?         2.000000
+0:1      Constant:
+0:1        1.000000
+0:1        2.000000
 0:5  Function Definition: type1::setmem(vf4; ( temp void)
 0:5    Function Parameters: 
 0:5      '@this' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
@@ -221,11 +221,11 @@
 0:?     Sequence
 0:29      Function Call: type1::setmem(vf4; ( temp void)
 0:29        'test' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
-0:?         Constant:
-0:?           2.000000
-0:?           2.000000
-0:?           2.000000
-0:?           2.000000
+0:29        Constant:
+0:29          2.000000
+0:29          2.000000
+0:29          2.000000
+0:29          2.000000
 0:30      Function Call: type1::seti(i1; ( temp void)
 0:30        'test' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
 0:30        Constant:
@@ -233,20 +233,20 @@
 0:31      Sequence
 0:31        move second child to first child ( temp 4-component vector of float)
 0:31          'f4' ( temp 4-component vector of float)
-0:?           Constant:
-0:?             1.000000
-0:?             1.000000
-0:?             1.000000
-0:?             1.000000
+0:31          Constant:
+0:31            1.000000
+0:31            1.000000
+0:31            1.000000
+0:31            1.000000
 0:32      add second child into first child ( temp 4-component vector of float)
 0:32        'f4' ( temp 4-component vector of float)
 0:32        Function Call: type1::memFun(vf4; ( temp 4-component vector of float)
 0:32          'test' ( temp structure{ temp 4-component vector of float memVar,  temp int i})
-0:?           Constant:
-0:?             5.000000
-0:?             5.000000
-0:?             5.000000
-0:?             5.000000
+0:32          Constant:
+0:32            5.000000
+0:32            5.000000
+0:32            5.000000
+0:32            5.000000
 0:33      add second child into first child ( temp 4-component vector of float)
 0:33        'f4' ( temp 4-component vector of float)
 0:33        Convert int to float ( temp float)
diff --git a/Test/baseResults/hlsl.overload.frag.out b/Test/baseResults/hlsl.overload.frag.out
index 3428d80..4cfc391 100644
--- a/Test/baseResults/hlsl.overload.frag.out
+++ b/Test/baseResults/hlsl.overload.frag.out
@@ -330,8 +330,8 @@
 0:133          Construct vec3 ( temp 3-component vector of float)
 0:133            'f' ( temp float)
 0:134      Function Call: foo16(vu2; ( temp void)
-0:?         Convert int to uint ( temp 2-component vector of uint)
-0:?           Construct ivec2 ( temp 2-component vector of int)
+0:134        Convert int to uint ( temp 2-component vector of uint)
+0:134          Construct ivec2 ( temp 2-component vector of int)
 0:134            'i' ( temp int)
 0:134            'i' ( temp int)
 0:136      Function Call: foo13(vf3; ( temp void)
@@ -699,8 +699,8 @@
 0:133          Construct vec3 ( temp 3-component vector of float)
 0:133            'f' ( temp float)
 0:134      Function Call: foo16(vu2; ( temp void)
-0:?         Convert int to uint ( temp 2-component vector of uint)
-0:?           Construct ivec2 ( temp 2-component vector of int)
+0:134        Convert int to uint ( temp 2-component vector of uint)
+0:134          Construct ivec2 ( temp 2-component vector of int)
 0:134            'i' ( temp int)
 0:134            'i' ( temp int)
 0:136      Function Call: foo13(vf3; ( temp void)
diff --git a/Test/baseResults/hlsl.params.default.frag.out b/Test/baseResults/hlsl.params.default.frag.out
index a28ddc4..6898240 100644
--- a/Test/baseResults/hlsl.params.default.frag.out
+++ b/Test/baseResults/hlsl.params.default.frag.out
@@ -34,11 +34,11 @@
 0:23      'x' ( in int)
 0:?     Sequence
 0:24      Branch: Return with expression
-0:?         Constant:
-0:?           10 (const int)
-0:?           11 (const int)
-0:?           12 (const int)
-0:?           13 (const int)
+0:24        Constant:
+0:24          10 (const int)
+0:24          11 (const int)
+0:24          12 (const int)
+0:24          13 (const int)
 0:28  Function Definition: fn2(vi4;f1; ( temp 4-component vector of int)
 0:28    Function Parameters: 
 0:28      'p0' ( in 4-component vector of int)
@@ -47,11 +47,11 @@
 0:29      Branch: Return with expression
 0:29        add ( temp 4-component vector of int)
 0:29          'p0' ( in 4-component vector of int)
-0:?           Constant:
-0:?             20 (const int)
-0:?             21 (const int)
-0:?             22 (const int)
-0:?             23 (const int)
+0:29          Constant:
+0:29            20 (const int)
+0:29            21 (const int)
+0:29            22 (const int)
+0:29            23 (const int)
 0:32  Function Definition: fn3(i1; ( temp void)
 0:32    Function Parameters: 
 0:32      'p0' ( in int)
@@ -84,11 +84,11 @@
 0:42                          100 (const int)
 0:42                          100 (const int)
 0:42                          100 (const int)
-0:?                         Constant:
-0:?                           -1 (const int)
-0:?                           -2 (const int)
-0:?                           -3 (const int)
-0:?                           -4 (const int)
+0:14                        Constant:
+0:14                          -1 (const int)
+0:14                          -2 (const int)
+0:14                          -3 (const int)
+0:14                          -4 (const int)
 0:15                        Constant:
 0:15                          1 (const int)
 0:15                          2 (const int)
@@ -224,11 +224,11 @@
 0:23      'x' ( in int)
 0:?     Sequence
 0:24      Branch: Return with expression
-0:?         Constant:
-0:?           10 (const int)
-0:?           11 (const int)
-0:?           12 (const int)
-0:?           13 (const int)
+0:24        Constant:
+0:24          10 (const int)
+0:24          11 (const int)
+0:24          12 (const int)
+0:24          13 (const int)
 0:28  Function Definition: fn2(vi4;f1; ( temp 4-component vector of int)
 0:28    Function Parameters: 
 0:28      'p0' ( in 4-component vector of int)
@@ -237,11 +237,11 @@
 0:29      Branch: Return with expression
 0:29        add ( temp 4-component vector of int)
 0:29          'p0' ( in 4-component vector of int)
-0:?           Constant:
-0:?             20 (const int)
-0:?             21 (const int)
-0:?             22 (const int)
-0:?             23 (const int)
+0:29          Constant:
+0:29            20 (const int)
+0:29            21 (const int)
+0:29            22 (const int)
+0:29            23 (const int)
 0:32  Function Definition: fn3(i1; ( temp void)
 0:32    Function Parameters: 
 0:32      'p0' ( in int)
@@ -274,11 +274,11 @@
 0:42                          100 (const int)
 0:42                          100 (const int)
 0:42                          100 (const int)
-0:?                         Constant:
-0:?                           -1 (const int)
-0:?                           -2 (const int)
-0:?                           -3 (const int)
-0:?                           -4 (const int)
+0:14                        Constant:
+0:14                          -1 (const int)
+0:14                          -2 (const int)
+0:14                          -3 (const int)
+0:14                          -4 (const int)
 0:15                        Constant:
 0:15                          1 (const int)
 0:15                          2 (const int)
diff --git a/Test/baseResults/hlsl.params.default.negative.frag.out b/Test/baseResults/hlsl.params.default.negative.frag.out
index f841bd8..213687a 100644
--- a/Test/baseResults/hlsl.params.default.negative.frag.out
+++ b/Test/baseResults/hlsl.params.default.negative.frag.out
@@ -14,11 +14,11 @@
 0:7      'p0' ( in 4-component vector of int)
 0:?     Sequence
 0:7      Branch: Return with expression
-0:?         Constant:
-0:?           1 (const int)
-0:?           2 (const int)
-0:?           3 (const int)
-0:?           4 (const int)
+0:7        Constant:
+0:7          1 (const int)
+0:7          2 (const int)
+0:7          3 (const int)
+0:7          4 (const int)
 0:9  Function Definition: fn1(vi4;b1;b1; ( temp 4-component vector of int)
 0:9    Function Parameters: 
 0:9      'p0' ( in 4-component vector of int)
@@ -51,11 +51,11 @@
 0:23      'x' ( in int)
 0:?     Sequence
 0:24      Branch: Return with expression
-0:?         Constant:
-0:?           10 (const int)
-0:?           11 (const int)
-0:?           12 (const int)
-0:?           13 (const int)
+0:24        Constant:
+0:24          10 (const int)
+0:24          11 (const int)
+0:24          12 (const int)
+0:24          13 (const int)
 0:28  Function Definition: fn2(vi4; ( temp 4-component vector of int)
 0:28    Function Parameters: 
 0:28      'p0' ( in 4-component vector of int)
@@ -63,11 +63,11 @@
 0:29      Branch: Return with expression
 0:29        add ( temp 4-component vector of int)
 0:29          'p0' ( in 4-component vector of int)
-0:?           Constant:
-0:?             20 (const int)
-0:?             21 (const int)
-0:?             22 (const int)
-0:?             23 (const int)
+0:29          Constant:
+0:29            20 (const int)
+0:29            21 (const int)
+0:29            22 (const int)
+0:29            23 (const int)
 0:33  Function Definition: fn3(i1; ( temp void)
 0:33    Function Parameters: 
 0:33      'p0' ( in int)
@@ -204,11 +204,11 @@
 0:7      'p0' ( in 4-component vector of int)
 0:?     Sequence
 0:7      Branch: Return with expression
-0:?         Constant:
-0:?           1 (const int)
-0:?           2 (const int)
-0:?           3 (const int)
-0:?           4 (const int)
+0:7        Constant:
+0:7          1 (const int)
+0:7          2 (const int)
+0:7          3 (const int)
+0:7          4 (const int)
 0:9  Function Definition: fn1(vi4;b1;b1; ( temp 4-component vector of int)
 0:9    Function Parameters: 
 0:9      'p0' ( in 4-component vector of int)
@@ -241,11 +241,11 @@
 0:23      'x' ( in int)
 0:?     Sequence
 0:24      Branch: Return with expression
-0:?         Constant:
-0:?           10 (const int)
-0:?           11 (const int)
-0:?           12 (const int)
-0:?           13 (const int)
+0:24        Constant:
+0:24          10 (const int)
+0:24          11 (const int)
+0:24          12 (const int)
+0:24          13 (const int)
 0:28  Function Definition: fn2(vi4; ( temp 4-component vector of int)
 0:28    Function Parameters: 
 0:28      'p0' ( in 4-component vector of int)
@@ -253,11 +253,11 @@
 0:29      Branch: Return with expression
 0:29        add ( temp 4-component vector of int)
 0:29          'p0' ( in 4-component vector of int)
-0:?           Constant:
-0:?             20 (const int)
-0:?             21 (const int)
-0:?             22 (const int)
-0:?             23 (const int)
+0:29          Constant:
+0:29            20 (const int)
+0:29            21 (const int)
+0:29            22 (const int)
+0:29            23 (const int)
 0:33  Function Definition: fn3(i1; ( temp void)
 0:33    Function Parameters: 
 0:33      'p0' ( in int)
diff --git a/Test/baseResults/hlsl.partialFlattenLocal.vert.out b/Test/baseResults/hlsl.partialFlattenLocal.vert.out
index 754c86c..12a6065 100644
--- a/Test/baseResults/hlsl.partialFlattenLocal.vert.out
+++ b/Test/baseResults/hlsl.partialFlattenLocal.vert.out
@@ -20,10 +20,10 @@
 0:15              1 (const int)
 0:15          Constant:
 0:15            0 (const int)
-0:?         Constant:
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
+0:15        Constant:
+0:15          0.000000
+0:15          0.000000
+0:15          0.000000
 0:16      move second child to first child ( temp 2-component vector of float)
 0:16        direct index ( temp 2-component vector of float)
 0:16          uv: direct index for structure ( temp 2-element array of 2-component vector of float)
@@ -32,9 +32,9 @@
 0:16              2 (const int)
 0:16          Constant:
 0:16            0 (const int)
-0:?         Constant:
-0:?           0.000000
-0:?           1.000000
+0:16        Constant:
+0:16          0.000000
+0:16          1.000000
 0:17      move second child to first child ( temp float)
 0:17        x: direct index for structure ( temp float)
 0:17          'packed' ( temp structure{ temp texture2D tex,  temp 3-element array of 3-component vector of float pos,  temp 2-element array of 2-component vector of float uv,  temp float x,  temp int n})
@@ -91,7 +91,7 @@
 0:26      Branch: Return with expression
 0:26        add ( temp 4-component vector of float)
 0:26          'pos' ( in 4-component vector of float)
-0:?           Construct vec4 ( temp 4-component vector of float)
+0:26          Construct vec4 ( temp 4-component vector of float)
 0:26            direct index ( temp 3-component vector of float)
 0:26              pos: direct index for structure ( temp 3-element array of 3-component vector of float)
 0:26                'packed2' ( temp structure{ temp texture2D tex,  temp 3-element array of 3-component vector of float pos,  temp 2-element array of 2-component vector of float uv,  temp float x,  temp int n})
@@ -140,10 +140,10 @@
 0:15              1 (const int)
 0:15          Constant:
 0:15            0 (const int)
-0:?         Constant:
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
+0:15        Constant:
+0:15          0.000000
+0:15          0.000000
+0:15          0.000000
 0:16      move second child to first child ( temp 2-component vector of float)
 0:16        direct index ( temp 2-component vector of float)
 0:16          uv: direct index for structure ( temp 2-element array of 2-component vector of float)
@@ -152,9 +152,9 @@
 0:16              2 (const int)
 0:16          Constant:
 0:16            0 (const int)
-0:?         Constant:
-0:?           0.000000
-0:?           1.000000
+0:16        Constant:
+0:16          0.000000
+0:16          1.000000
 0:17      move second child to first child ( temp float)
 0:17        x: direct index for structure ( temp float)
 0:17          'packed' ( temp structure{ temp texture2D tex,  temp 3-element array of 3-component vector of float pos,  temp 2-element array of 2-component vector of float uv,  temp float x,  temp int n})
@@ -211,7 +211,7 @@
 0:26      Branch: Return with expression
 0:26        add ( temp 4-component vector of float)
 0:26          'pos' ( in 4-component vector of float)
-0:?           Construct vec4 ( temp 4-component vector of float)
+0:26          Construct vec4 ( temp 4-component vector of float)
 0:26            direct index ( temp 3-component vector of float)
 0:26              pos: direct index for structure ( temp 3-element array of 3-component vector of float)
 0:26                'packed2' ( temp structure{ temp texture2D tex,  temp 3-element array of 3-component vector of float pos,  temp 2-element array of 2-component vector of float uv,  temp float x,  temp int n})
diff --git a/Test/baseResults/hlsl.pp.line.frag.out b/Test/baseResults/hlsl.pp.line.frag.out
index a8479f5..68476d2 100644
--- a/Test/baseResults/hlsl.pp.line.frag.out
+++ b/Test/baseResults/hlsl.pp.line.frag.out
@@ -16,7 +16,7 @@
 0:126          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
 0:126          Constant:
 0:126            0 (const int)
-0:?         Construct vec4 ( temp 4-component vector of float)
+0:126        Construct vec4 ( temp 4-component vector of float)
 0:126          Convert int to float ( temp float)
 0:126            'thisLineIs' ( temp int)
 0:126          Constant:
@@ -78,7 +78,7 @@
 0:126          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
 0:126          Constant:
 0:126            0 (const int)
-0:?         Construct vec4 ( temp 4-component vector of float)
+0:126        Construct vec4 ( temp 4-component vector of float)
 0:126          Convert int to float ( temp float)
 0:126            'thisLineIs' ( temp int)
 0:126          Constant:
diff --git a/Test/baseResults/hlsl.precedence.frag.out b/Test/baseResults/hlsl.precedence.frag.out
index 85fe187..3992618 100644
--- a/Test/baseResults/hlsl.precedence.frag.out
+++ b/Test/baseResults/hlsl.precedence.frag.out
@@ -18,7 +18,7 @@
 0:8                'a2' ( in 4-component vector of float)
 0:8                'a3' ( in 4-component vector of float)
 0:8            'a4' ( in 4-component vector of float)
-0:?           Construct vec4 ( temp 4-component vector of float)
+0:8          Construct vec4 ( temp 4-component vector of float)
 0:8            component-wise multiply ( temp 3-component vector of float)
 0:8              vector swizzle ( temp 3-component vector of float)
 0:8                'a1' ( in 4-component vector of float)
@@ -94,7 +94,7 @@
 0:8                'a2' ( in 4-component vector of float)
 0:8                'a3' ( in 4-component vector of float)
 0:8            'a4' ( in 4-component vector of float)
-0:?           Construct vec4 ( temp 4-component vector of float)
+0:8          Construct vec4 ( temp 4-component vector of float)
 0:8            component-wise multiply ( temp 3-component vector of float)
 0:8              vector swizzle ( temp 3-component vector of float)
 0:8                'a1' ( in 4-component vector of float)
diff --git a/Test/baseResults/hlsl.promote.atomic.frag.out b/Test/baseResults/hlsl.promote.atomic.frag.out
index f4197ef..a34b7dd 100644
--- a/Test/baseResults/hlsl.promote.atomic.frag.out
+++ b/Test/baseResults/hlsl.promote.atomic.frag.out
@@ -14,11 +14,11 @@
 0:13            Convert int to uint ( temp uint)
 0:13              'Inc' ( temp int)
 0:15      Branch: Return with expression
-0:?         Constant:
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
+0:15        Constant:
+0:15          0.000000
+0:15          0.000000
+0:15          0.000000
+0:15          0.000000
 0:5  Function Definition: main( ( temp void)
 0:5    Function Parameters: 
 0:?     Sequence
@@ -48,11 +48,11 @@
 0:13            Convert int to uint ( temp uint)
 0:13              'Inc' ( temp int)
 0:15      Branch: Return with expression
-0:?         Constant:
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
+0:15        Constant:
+0:15          0.000000
+0:15          0.000000
+0:15          0.000000
+0:15          0.000000
 0:5  Function Definition: main( ( temp void)
 0:5    Function Parameters: 
 0:?     Sequence
diff --git a/Test/baseResults/hlsl.promote.vec1.frag.out b/Test/baseResults/hlsl.promote.vec1.frag.out
index 8ea55d0..11e324f 100644
--- a/Test/baseResults/hlsl.promote.vec1.frag.out
+++ b/Test/baseResults/hlsl.promote.vec1.frag.out
@@ -23,11 +23,11 @@
 0:13        Construct float ( in float)
 0:13          'f1b' ( temp 1-component vector of float)
 0:15      Branch: Return with expression
-0:?         Constant:
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
+0:15        Constant:
+0:15          0.000000
+0:15          0.000000
+0:15          0.000000
+0:15          0.000000
 0:3  Function Definition: main( ( temp void)
 0:3    Function Parameters: 
 0:?     Sequence
@@ -65,11 +65,11 @@
 0:13        Construct float ( in float)
 0:13          'f1b' ( temp 1-component vector of float)
 0:15      Branch: Return with expression
-0:?         Constant:
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
+0:15        Constant:
+0:15          0.000000
+0:15          0.000000
+0:15          0.000000
+0:15          0.000000
 0:3  Function Definition: main( ( temp void)
 0:3    Function Parameters: 
 0:?     Sequence
diff --git a/Test/baseResults/hlsl.promotions.frag.out b/Test/baseResults/hlsl.promotions.frag.out
index 91ed472..f135406 100644
--- a/Test/baseResults/hlsl.promotions.frag.out
+++ b/Test/baseResults/hlsl.promotions.frag.out
@@ -757,7 +757,7 @@
 0:196      Sequence
 0:196        move second child to first child ( temp 4-component vector of float)
 0:196          'outval' ( temp 4-component vector of float)
-0:?           Construct vec4 ( temp 4-component vector of float)
+0:196          Construct vec4 ( temp 4-component vector of float)
 0:196            Constant:
 0:196              3.600000
 0:196            Constant:
@@ -1550,7 +1550,7 @@
 0:196      Sequence
 0:196        move second child to first child ( temp 4-component vector of float)
 0:196          'outval' ( temp 4-component vector of float)
-0:?           Construct vec4 ( temp 4-component vector of float)
+0:196          Construct vec4 ( temp 4-component vector of float)
 0:196            Constant:
 0:196              3.600000
 0:196            Constant:
diff --git a/Test/baseResults/hlsl.rw.bracket.frag.out b/Test/baseResults/hlsl.rw.bracket.frag.out
index 7068825..c79877c 100644
--- a/Test/baseResults/hlsl.rw.bracket.frag.out
+++ b/Test/baseResults/hlsl.rw.bracket.frag.out
@@ -183,11 +183,11 @@
 0:79      Sequence
 0:79        move second child to first child ( temp 4-component vector of int)
 0:79          'storeTemp' ( temp 4-component vector of int)
-0:?           Constant:
-0:?             2 (const int)
-0:?             2 (const int)
-0:?             3 (const int)
-0:?             4 (const int)
+0:79          Constant:
+0:79            2 (const int)
+0:79            2 (const int)
+0:79            3 (const int)
+0:79            4 (const int)
 0:79        imageStore ( temp void)
 0:79          'g_tTex1di4' (layout( rgba32i) uniform iimage1D)
 0:79          c1: direct index for structure ( uniform int)
@@ -199,11 +199,11 @@
 0:80      Sequence
 0:80        move second child to first child ( temp 4-component vector of uint)
 0:80          'storeTemp' ( temp 4-component vector of uint)
-0:?           Constant:
-0:?             3 (const uint)
-0:?             2 (const uint)
-0:?             3 (const uint)
-0:?             4 (const uint)
+0:80          Constant:
+0:80            3 (const uint)
+0:80            2 (const uint)
+0:80            3 (const uint)
+0:80            4 (const uint)
 0:80        imageStore ( temp void)
 0:80          'g_tTex1du4' (layout( rgba32ui) uniform uimage1D)
 0:80          c1: direct index for structure ( uniform int)
@@ -428,11 +428,11 @@
 0:97      Sequence
 0:97        move second child to first child ( temp 4-component vector of int)
 0:97          'storeTemp' ( temp 4-component vector of int)
-0:?           Constant:
-0:?             5 (const int)
-0:?             2 (const int)
-0:?             3 (const int)
-0:?             4 (const int)
+0:97          Constant:
+0:97            5 (const int)
+0:97            2 (const int)
+0:97            3 (const int)
+0:97            4 (const int)
 0:97        imageStore ( temp void)
 0:97          'g_tTex2di4' (layout( rgba32i) uniform iimage2D)
 0:97          c2: direct index for structure ( uniform 2-component vector of int)
@@ -444,11 +444,11 @@
 0:98      Sequence
 0:98        move second child to first child ( temp 4-component vector of uint)
 0:98          'storeTemp' ( temp 4-component vector of uint)
-0:?           Constant:
-0:?             6 (const uint)
-0:?             2 (const uint)
-0:?             3 (const uint)
-0:?             4 (const uint)
+0:98          Constant:
+0:98            6 (const uint)
+0:98            2 (const uint)
+0:98            3 (const uint)
+0:98            4 (const uint)
 0:98        imageStore ( temp void)
 0:98          'g_tTex2du4' (layout( rgba32ui) uniform uimage2D)
 0:98          c2: direct index for structure ( uniform 2-component vector of int)
@@ -481,11 +481,11 @@
 0:103      Sequence
 0:103        move second child to first child ( temp 4-component vector of int)
 0:103          'storeTemp' ( temp 4-component vector of int)
-0:?           Constant:
-0:?             8 (const int)
-0:?             6 (const int)
-0:?             7 (const int)
-0:?             8 (const int)
+0:103          Constant:
+0:103            8 (const int)
+0:103            6 (const int)
+0:103            7 (const int)
+0:103            8 (const int)
 0:103        imageStore ( temp void)
 0:103          'g_tTex3di4' (layout( rgba32i) uniform iimage3D)
 0:103          c3: direct index for structure ( uniform 3-component vector of int)
@@ -497,11 +497,11 @@
 0:104      Sequence
 0:104        move second child to first child ( temp 4-component vector of uint)
 0:104          'storeTemp' ( temp 4-component vector of uint)
-0:?           Constant:
-0:?             9 (const uint)
-0:?             2 (const uint)
-0:?             3 (const uint)
-0:?             4 (const uint)
+0:104          Constant:
+0:104            9 (const uint)
+0:104            2 (const uint)
+0:104            3 (const uint)
+0:104            4 (const uint)
 0:104        imageStore ( temp void)
 0:104          'g_tTex3du4' (layout( rgba32ui) uniform uimage3D)
 0:104          c3: direct index for structure ( uniform 3-component vector of int)
@@ -816,11 +816,11 @@
 0:135      Sequence
 0:135        move second child to first child ( temp 4-component vector of float)
 0:135          'storeTemp' ( temp 4-component vector of float)
-0:?           imageLoad ( temp 4-component vector of float)
+0:135          imageLoad ( temp 4-component vector of float)
 0:135            'g_tTex2df4' (layout( rgba32f) uniform image2D)
-0:?             Constant:
-0:?               2 (const int)
-0:?               3 (const int)
+0:135            Constant:
+0:135              2 (const int)
+0:135              3 (const int)
 0:135        imageStore ( temp void)
 0:135          'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D)
 0:135          Constant:
@@ -1057,11 +1057,11 @@
 0:79      Sequence
 0:79        move second child to first child ( temp 4-component vector of int)
 0:79          'storeTemp' ( temp 4-component vector of int)
-0:?           Constant:
-0:?             2 (const int)
-0:?             2 (const int)
-0:?             3 (const int)
-0:?             4 (const int)
+0:79          Constant:
+0:79            2 (const int)
+0:79            2 (const int)
+0:79            3 (const int)
+0:79            4 (const int)
 0:79        imageStore ( temp void)
 0:79          'g_tTex1di4' (layout( rgba32i) uniform iimage1D)
 0:79          c1: direct index for structure ( uniform int)
@@ -1073,11 +1073,11 @@
 0:80      Sequence
 0:80        move second child to first child ( temp 4-component vector of uint)
 0:80          'storeTemp' ( temp 4-component vector of uint)
-0:?           Constant:
-0:?             3 (const uint)
-0:?             2 (const uint)
-0:?             3 (const uint)
-0:?             4 (const uint)
+0:80          Constant:
+0:80            3 (const uint)
+0:80            2 (const uint)
+0:80            3 (const uint)
+0:80            4 (const uint)
 0:80        imageStore ( temp void)
 0:80          'g_tTex1du4' (layout( rgba32ui) uniform uimage1D)
 0:80          c1: direct index for structure ( uniform int)
@@ -1302,11 +1302,11 @@
 0:97      Sequence
 0:97        move second child to first child ( temp 4-component vector of int)
 0:97          'storeTemp' ( temp 4-component vector of int)
-0:?           Constant:
-0:?             5 (const int)
-0:?             2 (const int)
-0:?             3 (const int)
-0:?             4 (const int)
+0:97          Constant:
+0:97            5 (const int)
+0:97            2 (const int)
+0:97            3 (const int)
+0:97            4 (const int)
 0:97        imageStore ( temp void)
 0:97          'g_tTex2di4' (layout( rgba32i) uniform iimage2D)
 0:97          c2: direct index for structure ( uniform 2-component vector of int)
@@ -1318,11 +1318,11 @@
 0:98      Sequence
 0:98        move second child to first child ( temp 4-component vector of uint)
 0:98          'storeTemp' ( temp 4-component vector of uint)
-0:?           Constant:
-0:?             6 (const uint)
-0:?             2 (const uint)
-0:?             3 (const uint)
-0:?             4 (const uint)
+0:98          Constant:
+0:98            6 (const uint)
+0:98            2 (const uint)
+0:98            3 (const uint)
+0:98            4 (const uint)
 0:98        imageStore ( temp void)
 0:98          'g_tTex2du4' (layout( rgba32ui) uniform uimage2D)
 0:98          c2: direct index for structure ( uniform 2-component vector of int)
@@ -1355,11 +1355,11 @@
 0:103      Sequence
 0:103        move second child to first child ( temp 4-component vector of int)
 0:103          'storeTemp' ( temp 4-component vector of int)
-0:?           Constant:
-0:?             8 (const int)
-0:?             6 (const int)
-0:?             7 (const int)
-0:?             8 (const int)
+0:103          Constant:
+0:103            8 (const int)
+0:103            6 (const int)
+0:103            7 (const int)
+0:103            8 (const int)
 0:103        imageStore ( temp void)
 0:103          'g_tTex3di4' (layout( rgba32i) uniform iimage3D)
 0:103          c3: direct index for structure ( uniform 3-component vector of int)
@@ -1371,11 +1371,11 @@
 0:104      Sequence
 0:104        move second child to first child ( temp 4-component vector of uint)
 0:104          'storeTemp' ( temp 4-component vector of uint)
-0:?           Constant:
-0:?             9 (const uint)
-0:?             2 (const uint)
-0:?             3 (const uint)
-0:?             4 (const uint)
+0:104          Constant:
+0:104            9 (const uint)
+0:104            2 (const uint)
+0:104            3 (const uint)
+0:104            4 (const uint)
 0:104        imageStore ( temp void)
 0:104          'g_tTex3du4' (layout( rgba32ui) uniform uimage3D)
 0:104          c3: direct index for structure ( uniform 3-component vector of int)
@@ -1690,11 +1690,11 @@
 0:135      Sequence
 0:135        move second child to first child ( temp 4-component vector of float)
 0:135          'storeTemp' ( temp 4-component vector of float)
-0:?           imageLoad ( temp 4-component vector of float)
+0:135          imageLoad ( temp 4-component vector of float)
 0:135            'g_tTex2df4' (layout( rgba32f) uniform image2D)
-0:?             Constant:
-0:?               2 (const int)
-0:?               3 (const int)
+0:135            Constant:
+0:135              2 (const int)
+0:135              3 (const int)
 0:135        imageStore ( temp void)
 0:135          'g_tTex1df4' (layout( binding=0 rgba32f) uniform image1D)
 0:135          Constant:
diff --git a/Test/baseResults/hlsl.rw.scalar.bracket.frag.out b/Test/baseResults/hlsl.rw.scalar.bracket.frag.out
index 0614677..e76d597 100644
--- a/Test/baseResults/hlsl.rw.scalar.bracket.frag.out
+++ b/Test/baseResults/hlsl.rw.scalar.bracket.frag.out
@@ -789,11 +789,11 @@
 0:135      Sequence
 0:135        move second child to first child ( temp float)
 0:135          'storeTemp' ( temp float)
-0:?           imageLoad ( temp float)
+0:135          imageLoad ( temp float)
 0:135            'g_tTex2df1' (layout( r32f) uniform image2D)
-0:?             Constant:
-0:?               2 (const int)
-0:?               3 (const int)
+0:135            Constant:
+0:135              2 (const int)
+0:135              3 (const int)
 0:135        imageStore ( temp void)
 0:135          'g_tTex1df1' (layout( r32f) uniform image1D)
 0:135          Constant:
@@ -1636,11 +1636,11 @@
 0:135      Sequence
 0:135        move second child to first child ( temp float)
 0:135          'storeTemp' ( temp float)
-0:?           imageLoad ( temp float)
+0:135          imageLoad ( temp float)
 0:135            'g_tTex2df1' (layout( r32f) uniform image2D)
-0:?             Constant:
-0:?               2 (const int)
-0:?               3 (const int)
+0:135            Constant:
+0:135              2 (const int)
+0:135              3 (const int)
 0:135        imageStore ( temp void)
 0:135          'g_tTex1df1' (layout( r32f) uniform image1D)
 0:135          Constant:
diff --git a/Test/baseResults/hlsl.rw.swizzle.frag.out b/Test/baseResults/hlsl.rw.swizzle.frag.out
index 71a9e6c..97dd0dc 100644
--- a/Test/baseResults/hlsl.rw.swizzle.frag.out
+++ b/Test/baseResults/hlsl.rw.swizzle.frag.out
@@ -6,10 +6,10 @@
 0:4    Function Parameters: 
 0:?     Sequence
 0:4      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
+0:4        Constant:
+0:4          1.000000
+0:4          2.000000
+0:4          3.000000
 0:7  Function Definition: @main( ( temp 4-component vector of float)
 0:7    Function Parameters: 
 0:?     Sequence
@@ -35,10 +35,10 @@
 0:12                1 (const int)
 0:12              Constant:
 0:12                0 (const int)
-0:?           Constant:
-0:?             1.000000
-0:?             2.000000
-0:?             3.000000
+0:12          Constant:
+0:12            1.000000
+0:12            2.000000
+0:12            3.000000
 0:12        imageStore ( temp void)
 0:12          'rwtx' (layout( rgba32f) uniform image2D)
 0:12          'tc2' ( temp 2-component vector of int)
@@ -109,10 +109,10 @@
 0:4    Function Parameters: 
 0:?     Sequence
 0:4      Branch: Return with expression
-0:?         Constant:
-0:?           1.000000
-0:?           2.000000
-0:?           3.000000
+0:4        Constant:
+0:4          1.000000
+0:4          2.000000
+0:4          3.000000
 0:7  Function Definition: @main( ( temp 4-component vector of float)
 0:7    Function Parameters: 
 0:?     Sequence
@@ -138,10 +138,10 @@
 0:12                1 (const int)
 0:12              Constant:
 0:12                0 (const int)
-0:?           Constant:
-0:?             1.000000
-0:?             2.000000
-0:?             3.000000
+0:12          Constant:
+0:12            1.000000
+0:12            2.000000
+0:12            3.000000
 0:12        imageStore ( temp void)
 0:12          'rwtx' (layout( rgba32f) uniform image2D)
 0:12          'tc2' ( temp 2-component vector of int)
diff --git a/Test/baseResults/hlsl.rw.vec2.bracket.frag.out b/Test/baseResults/hlsl.rw.vec2.bracket.frag.out
index 68e40de..c8d10e6 100644
--- a/Test/baseResults/hlsl.rw.vec2.bracket.frag.out
+++ b/Test/baseResults/hlsl.rw.vec2.bracket.frag.out
@@ -26,27 +26,27 @@
 0:?     Sequence
 0:46      move second child to first child ( temp 2-component vector of int)
 0:46        'x' ( out 2-component vector of int)
-0:?         Constant:
-0:?           0 (const int)
-0:?           0 (const int)
+0:46        Constant:
+0:46          0 (const int)
+0:46          0 (const int)
 0:47  Function Definition: Fn2(vu2; ( temp void)
 0:47    Function Parameters: 
 0:47      'x' ( out 2-component vector of uint)
 0:?     Sequence
 0:47      move second child to first child ( temp 2-component vector of uint)
 0:47        'x' ( out 2-component vector of uint)
-0:?         Constant:
-0:?           0 (const uint)
-0:?           0 (const uint)
+0:47        Constant:
+0:47          0 (const uint)
+0:47          0 (const uint)
 0:48  Function Definition: Fn2(vf2; ( temp void)
 0:48    Function Parameters: 
 0:48      'x' ( out 2-component vector of float)
 0:?     Sequence
 0:48      move second child to first child ( temp 2-component vector of float)
 0:48        'x' ( out 2-component vector of float)
-0:?         Constant:
-0:?           0.000000
-0:?           0.000000
+0:48        Constant:
+0:48          0.000000
+0:48          0.000000
 0:50  Function Definition: SomeValue( ( temp 2-component vector of float)
 0:50    Function Parameters: 
 0:?     Sequence
@@ -177,9 +177,9 @@
 0:79      Sequence
 0:79        move second child to first child ( temp 2-component vector of int)
 0:79          'storeTemp' ( temp 2-component vector of int)
-0:?           Constant:
-0:?             2 (const int)
-0:?             2 (const int)
+0:79          Constant:
+0:79            2 (const int)
+0:79            2 (const int)
 0:79        imageStore ( temp void)
 0:79          'g_tTex1di2' (layout( rg32i) uniform iimage1D)
 0:79          c1: direct index for structure ( uniform int)
@@ -191,9 +191,9 @@
 0:80      Sequence
 0:80        move second child to first child ( temp 2-component vector of uint)
 0:80          'storeTemp' ( temp 2-component vector of uint)
-0:?           Constant:
-0:?             3 (const uint)
-0:?             2 (const uint)
+0:80          Constant:
+0:80            3 (const uint)
+0:80            2 (const uint)
 0:80        imageStore ( temp void)
 0:80          'g_tTex1du2' (layout( rg32ui) uniform uimage1D)
 0:80          c1: direct index for structure ( uniform int)
@@ -418,9 +418,9 @@
 0:97      Sequence
 0:97        move second child to first child ( temp 2-component vector of int)
 0:97          'storeTemp' ( temp 2-component vector of int)
-0:?           Constant:
-0:?             5 (const int)
-0:?             2 (const int)
+0:97          Constant:
+0:97            5 (const int)
+0:97            2 (const int)
 0:97        imageStore ( temp void)
 0:97          'g_tTex2di2' (layout( rg32i) uniform iimage2D)
 0:97          c2: direct index for structure ( uniform 2-component vector of int)
@@ -432,9 +432,9 @@
 0:98      Sequence
 0:98        move second child to first child ( temp 2-component vector of uint)
 0:98          'storeTemp' ( temp 2-component vector of uint)
-0:?           Constant:
-0:?             6 (const uint)
-0:?             2 (const uint)
+0:98          Constant:
+0:98            6 (const uint)
+0:98            2 (const uint)
 0:98        imageStore ( temp void)
 0:98          'g_tTex2du2' (layout( rg32ui) uniform uimage2D)
 0:98          c2: direct index for structure ( uniform 2-component vector of int)
@@ -467,9 +467,9 @@
 0:103      Sequence
 0:103        move second child to first child ( temp 2-component vector of int)
 0:103          'storeTemp' ( temp 2-component vector of int)
-0:?           Constant:
-0:?             8 (const int)
-0:?             6 (const int)
+0:103          Constant:
+0:103            8 (const int)
+0:103            6 (const int)
 0:103        imageStore ( temp void)
 0:103          'g_tTex3di2' (layout( rg32i) uniform iimage3D)
 0:103          c3: direct index for structure ( uniform 3-component vector of int)
@@ -481,9 +481,9 @@
 0:104      Sequence
 0:104        move second child to first child ( temp 2-component vector of uint)
 0:104          'storeTemp' ( temp 2-component vector of uint)
-0:?           Constant:
-0:?             9 (const uint)
-0:?             2 (const uint)
+0:104          Constant:
+0:104            9 (const uint)
+0:104            2 (const uint)
 0:104        imageStore ( temp void)
 0:104          'g_tTex3du2' (layout( rg32ui) uniform uimage3D)
 0:104          c3: direct index for structure ( uniform 3-component vector of int)
@@ -798,11 +798,11 @@
 0:135      Sequence
 0:135        move second child to first child ( temp 2-component vector of float)
 0:135          'storeTemp' ( temp 2-component vector of float)
-0:?           imageLoad ( temp 2-component vector of float)
+0:135          imageLoad ( temp 2-component vector of float)
 0:135            'g_tTex2df2' (layout( rg32f) uniform image2D)
-0:?             Constant:
-0:?               2 (const int)
-0:?               3 (const int)
+0:135            Constant:
+0:135              2 (const int)
+0:135              3 (const int)
 0:135        imageStore ( temp void)
 0:135          'g_tTex1df2' (layout( rg32f) uniform image1D)
 0:135          Constant:
@@ -882,27 +882,27 @@
 0:?     Sequence
 0:46      move second child to first child ( temp 2-component vector of int)
 0:46        'x' ( out 2-component vector of int)
-0:?         Constant:
-0:?           0 (const int)
-0:?           0 (const int)
+0:46        Constant:
+0:46          0 (const int)
+0:46          0 (const int)
 0:47  Function Definition: Fn2(vu2; ( temp void)
 0:47    Function Parameters: 
 0:47      'x' ( out 2-component vector of uint)
 0:?     Sequence
 0:47      move second child to first child ( temp 2-component vector of uint)
 0:47        'x' ( out 2-component vector of uint)
-0:?         Constant:
-0:?           0 (const uint)
-0:?           0 (const uint)
+0:47        Constant:
+0:47          0 (const uint)
+0:47          0 (const uint)
 0:48  Function Definition: Fn2(vf2; ( temp void)
 0:48    Function Parameters: 
 0:48      'x' ( out 2-component vector of float)
 0:?     Sequence
 0:48      move second child to first child ( temp 2-component vector of float)
 0:48        'x' ( out 2-component vector of float)
-0:?         Constant:
-0:?           0.000000
-0:?           0.000000
+0:48        Constant:
+0:48          0.000000
+0:48          0.000000
 0:50  Function Definition: SomeValue( ( temp 2-component vector of float)
 0:50    Function Parameters: 
 0:?     Sequence
@@ -1033,9 +1033,9 @@
 0:79      Sequence
 0:79        move second child to first child ( temp 2-component vector of int)
 0:79          'storeTemp' ( temp 2-component vector of int)
-0:?           Constant:
-0:?             2 (const int)
-0:?             2 (const int)
+0:79          Constant:
+0:79            2 (const int)
+0:79            2 (const int)
 0:79        imageStore ( temp void)
 0:79          'g_tTex1di2' (layout( rg32i) uniform iimage1D)
 0:79          c1: direct index for structure ( uniform int)
@@ -1047,9 +1047,9 @@
 0:80      Sequence
 0:80        move second child to first child ( temp 2-component vector of uint)
 0:80          'storeTemp' ( temp 2-component vector of uint)
-0:?           Constant:
-0:?             3 (const uint)
-0:?             2 (const uint)
+0:80          Constant:
+0:80            3 (const uint)
+0:80            2 (const uint)
 0:80        imageStore ( temp void)
 0:80          'g_tTex1du2' (layout( rg32ui) uniform uimage1D)
 0:80          c1: direct index for structure ( uniform int)
@@ -1274,9 +1274,9 @@
 0:97      Sequence
 0:97        move second child to first child ( temp 2-component vector of int)
 0:97          'storeTemp' ( temp 2-component vector of int)
-0:?           Constant:
-0:?             5 (const int)
-0:?             2 (const int)
+0:97          Constant:
+0:97            5 (const int)
+0:97            2 (const int)
 0:97        imageStore ( temp void)
 0:97          'g_tTex2di2' (layout( rg32i) uniform iimage2D)
 0:97          c2: direct index for structure ( uniform 2-component vector of int)
@@ -1288,9 +1288,9 @@
 0:98      Sequence
 0:98        move second child to first child ( temp 2-component vector of uint)
 0:98          'storeTemp' ( temp 2-component vector of uint)
-0:?           Constant:
-0:?             6 (const uint)
-0:?             2 (const uint)
+0:98          Constant:
+0:98            6 (const uint)
+0:98            2 (const uint)
 0:98        imageStore ( temp void)
 0:98          'g_tTex2du2' (layout( rg32ui) uniform uimage2D)
 0:98          c2: direct index for structure ( uniform 2-component vector of int)
@@ -1323,9 +1323,9 @@
 0:103      Sequence
 0:103        move second child to first child ( temp 2-component vector of int)
 0:103          'storeTemp' ( temp 2-component vector of int)
-0:?           Constant:
-0:?             8 (const int)
-0:?             6 (const int)
+0:103          Constant:
+0:103            8 (const int)
+0:103            6 (const int)
 0:103        imageStore ( temp void)
 0:103          'g_tTex3di2' (layout( rg32i) uniform iimage3D)
 0:103          c3: direct index for structure ( uniform 3-component vector of int)
@@ -1337,9 +1337,9 @@
 0:104      Sequence
 0:104        move second child to first child ( temp 2-component vector of uint)
 0:104          'storeTemp' ( temp 2-component vector of uint)
-0:?           Constant:
-0:?             9 (const uint)
-0:?             2 (const uint)
+0:104          Constant:
+0:104            9 (const uint)
+0:104            2 (const uint)
 0:104        imageStore ( temp void)
 0:104          'g_tTex3du2' (layout( rg32ui) uniform uimage3D)
 0:104          c3: direct index for structure ( uniform 3-component vector of int)
@@ -1654,11 +1654,11 @@
 0:135      Sequence
 0:135        move second child to first child ( temp 2-component vector of float)
 0:135          'storeTemp' ( temp 2-component vector of float)
-0:?           imageLoad ( temp 2-component vector of float)
+0:135          imageLoad ( temp 2-component vector of float)
 0:135            'g_tTex2df2' (layout( rg32f) uniform image2D)
-0:?             Constant:
-0:?               2 (const int)
-0:?               3 (const int)
+0:135            Constant:
+0:135              2 (const int)
+0:135              3 (const int)
 0:135        imageStore ( temp void)
 0:135          'g_tTex1df2' (layout( rg32f) uniform image1D)
 0:135          Constant:
diff --git a/Test/baseResults/hlsl.sample.array.dx10.frag.out b/Test/baseResults/hlsl.sample.array.dx10.frag.out
index 6ecbcf3..28d96f0 100644
--- a/Test/baseResults/hlsl.sample.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.array.dx10.frag.out
@@ -13,9 +13,9 @@
 0:27            Construct combined texture-sampler ( temp sampler1DArray)
 0:27              'g_tTex1df4' (layout( binding=0) uniform texture1DArray)
 0:27              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:27            Constant:
+0:27              0.100000
+0:27              0.200000
 0:28      Sequence
 0:28        move second child to first child ( temp 4-component vector of int)
 0:28          'txval11' ( temp 4-component vector of int)
@@ -23,9 +23,9 @@
 0:28            Construct combined texture-sampler ( temp isampler1DArray)
 0:28              'g_tTex1di4' ( uniform itexture1DArray)
 0:28              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.200000
-0:?               0.300000
+0:28            Constant:
+0:28              0.200000
+0:28              0.300000
 0:29      Sequence
 0:29        move second child to first child ( temp 4-component vector of uint)
 0:29          'txval12' ( temp 4-component vector of uint)
@@ -33,9 +33,9 @@
 0:29            Construct combined texture-sampler ( temp usampler1DArray)
 0:29              'g_tTex1du4' ( uniform utexture1DArray)
 0:29              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
+0:29            Constant:
+0:29              0.300000
+0:29              0.400000
 0:31      Sequence
 0:31        move second child to first child ( temp 4-component vector of float)
 0:31          'txval20' ( temp 4-component vector of float)
@@ -43,10 +43,10 @@
 0:31            Construct combined texture-sampler ( temp sampler2DArray)
 0:31              'g_tTex2df4' ( uniform texture2DArray)
 0:31              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:31            Constant:
+0:31              0.100000
+0:31              0.200000
+0:31              0.300000
 0:32      Sequence
 0:32        move second child to first child ( temp 4-component vector of int)
 0:32          'txval21' ( temp 4-component vector of int)
@@ -54,10 +54,10 @@
 0:32            Construct combined texture-sampler ( temp isampler2DArray)
 0:32              'g_tTex2di4' ( uniform itexture2DArray)
 0:32              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
-0:?               0.500000
+0:32            Constant:
+0:32              0.300000
+0:32              0.400000
+0:32              0.500000
 0:33      Sequence
 0:33        move second child to first child ( temp 4-component vector of uint)
 0:33          'txval22' ( temp 4-component vector of uint)
@@ -65,10 +65,10 @@
 0:33            Construct combined texture-sampler ( temp usampler2DArray)
 0:33              'g_tTex2du4' ( uniform utexture2DArray)
 0:33              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?               0.700000
+0:33            Constant:
+0:33              0.500000
+0:33              0.600000
+0:33              0.700000
 0:35      Sequence
 0:35        move second child to first child ( temp 4-component vector of float)
 0:35          'txval40' ( temp 4-component vector of float)
@@ -76,11 +76,11 @@
 0:35            Construct combined texture-sampler ( temp samplerCubeArray)
 0:35              'g_tTexcdf4' ( uniform textureCubeArray)
 0:35              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?               0.400000
+0:35            Constant:
+0:35              0.100000
+0:35              0.200000
+0:35              0.300000
+0:35              0.400000
 0:36      Sequence
 0:36        move second child to first child ( temp 4-component vector of int)
 0:36          'txval41' ( temp 4-component vector of int)
@@ -88,11 +88,11 @@
 0:36            Construct combined texture-sampler ( temp isamplerCubeArray)
 0:36              'g_tTexcdi4' ( uniform itextureCubeArray)
 0:36              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
-0:?               0.700000
+0:36            Constant:
+0:36              0.400000
+0:36              0.500000
+0:36              0.600000
+0:36              0.700000
 0:37      Sequence
 0:37        move second child to first child ( temp 4-component vector of uint)
 0:37          'txval42' ( temp 4-component vector of uint)
@@ -100,11 +100,11 @@
 0:37            Construct combined texture-sampler ( temp usamplerCubeArray)
 0:37              'g_tTexcdu4' ( uniform utextureCubeArray)
 0:37              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
-0:?               1.000000
+0:37            Constant:
+0:37              0.700000
+0:37              0.800000
+0:37              0.900000
+0:37              1.000000
 0:39      move second child to first child ( temp 4-component vector of float)
 0:39        Color: direct index for structure ( temp 4-component vector of float)
 0:39          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
@@ -176,9 +176,9 @@
 0:27            Construct combined texture-sampler ( temp sampler1DArray)
 0:27              'g_tTex1df4' (layout( binding=0) uniform texture1DArray)
 0:27              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:27            Constant:
+0:27              0.100000
+0:27              0.200000
 0:28      Sequence
 0:28        move second child to first child ( temp 4-component vector of int)
 0:28          'txval11' ( temp 4-component vector of int)
@@ -186,9 +186,9 @@
 0:28            Construct combined texture-sampler ( temp isampler1DArray)
 0:28              'g_tTex1di4' ( uniform itexture1DArray)
 0:28              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.200000
-0:?               0.300000
+0:28            Constant:
+0:28              0.200000
+0:28              0.300000
 0:29      Sequence
 0:29        move second child to first child ( temp 4-component vector of uint)
 0:29          'txval12' ( temp 4-component vector of uint)
@@ -196,9 +196,9 @@
 0:29            Construct combined texture-sampler ( temp usampler1DArray)
 0:29              'g_tTex1du4' ( uniform utexture1DArray)
 0:29              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
+0:29            Constant:
+0:29              0.300000
+0:29              0.400000
 0:31      Sequence
 0:31        move second child to first child ( temp 4-component vector of float)
 0:31          'txval20' ( temp 4-component vector of float)
@@ -206,10 +206,10 @@
 0:31            Construct combined texture-sampler ( temp sampler2DArray)
 0:31              'g_tTex2df4' ( uniform texture2DArray)
 0:31              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:31            Constant:
+0:31              0.100000
+0:31              0.200000
+0:31              0.300000
 0:32      Sequence
 0:32        move second child to first child ( temp 4-component vector of int)
 0:32          'txval21' ( temp 4-component vector of int)
@@ -217,10 +217,10 @@
 0:32            Construct combined texture-sampler ( temp isampler2DArray)
 0:32              'g_tTex2di4' ( uniform itexture2DArray)
 0:32              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
-0:?               0.500000
+0:32            Constant:
+0:32              0.300000
+0:32              0.400000
+0:32              0.500000
 0:33      Sequence
 0:33        move second child to first child ( temp 4-component vector of uint)
 0:33          'txval22' ( temp 4-component vector of uint)
@@ -228,10 +228,10 @@
 0:33            Construct combined texture-sampler ( temp usampler2DArray)
 0:33              'g_tTex2du4' ( uniform utexture2DArray)
 0:33              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?               0.700000
+0:33            Constant:
+0:33              0.500000
+0:33              0.600000
+0:33              0.700000
 0:35      Sequence
 0:35        move second child to first child ( temp 4-component vector of float)
 0:35          'txval40' ( temp 4-component vector of float)
@@ -239,11 +239,11 @@
 0:35            Construct combined texture-sampler ( temp samplerCubeArray)
 0:35              'g_tTexcdf4' ( uniform textureCubeArray)
 0:35              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?               0.400000
+0:35            Constant:
+0:35              0.100000
+0:35              0.200000
+0:35              0.300000
+0:35              0.400000
 0:36      Sequence
 0:36        move second child to first child ( temp 4-component vector of int)
 0:36          'txval41' ( temp 4-component vector of int)
@@ -251,11 +251,11 @@
 0:36            Construct combined texture-sampler ( temp isamplerCubeArray)
 0:36              'g_tTexcdi4' ( uniform itextureCubeArray)
 0:36              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
-0:?               0.700000
+0:36            Constant:
+0:36              0.400000
+0:36              0.500000
+0:36              0.600000
+0:36              0.700000
 0:37      Sequence
 0:37        move second child to first child ( temp 4-component vector of uint)
 0:37          'txval42' ( temp 4-component vector of uint)
@@ -263,11 +263,11 @@
 0:37            Construct combined texture-sampler ( temp usamplerCubeArray)
 0:37              'g_tTexcdu4' ( uniform utextureCubeArray)
 0:37              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
-0:?               1.000000
+0:37            Constant:
+0:37              0.700000
+0:37              0.800000
+0:37              0.900000
+0:37              1.000000
 0:39      move second child to first child ( temp 4-component vector of float)
 0:39        Color: direct index for structure ( temp 4-component vector of float)
 0:39          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
diff --git a/Test/baseResults/hlsl.sample.basic.dx10.frag.out b/Test/baseResults/hlsl.sample.basic.dx10.frag.out
index 9d06667..12c6711 100644
--- a/Test/baseResults/hlsl.sample.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.basic.dx10.frag.out
@@ -126,9 +126,9 @@
 0:74            Construct combined texture-sampler ( temp sampler2D)
 0:74              'g_tTex2df4' ( uniform texture2D)
 0:74              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:74            Constant:
+0:74              0.100000
+0:74              0.200000
 0:75      Sequence
 0:75        move second child to first child ( temp 4-component vector of int)
 0:75          'txval21' ( temp 4-component vector of int)
@@ -136,9 +136,9 @@
 0:75            Construct combined texture-sampler ( temp isampler2D)
 0:75              'g_tTex2di4' ( uniform itexture2D)
 0:75              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
+0:75            Constant:
+0:75              0.300000
+0:75              0.400000
 0:76      Sequence
 0:76        move second child to first child ( temp 4-component vector of uint)
 0:76          'txval22' ( temp 4-component vector of uint)
@@ -146,9 +146,9 @@
 0:76            Construct combined texture-sampler ( temp usampler2D)
 0:76              'g_tTex2du4' ( uniform utexture2D)
 0:76              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
+0:76            Constant:
+0:76              0.500000
+0:76              0.600000
 0:78      Sequence
 0:78        move second child to first child ( temp 4-component vector of float)
 0:78          'txval30' ( temp 4-component vector of float)
@@ -156,10 +156,10 @@
 0:78            Construct combined texture-sampler ( temp sampler3D)
 0:78              'g_tTex3df4' ( uniform texture3D)
 0:78              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:78            Constant:
+0:78              0.100000
+0:78              0.200000
+0:78              0.300000
 0:79      Sequence
 0:79        move second child to first child ( temp 4-component vector of int)
 0:79          'txval31' ( temp 4-component vector of int)
@@ -167,10 +167,10 @@
 0:79            Construct combined texture-sampler ( temp isampler3D)
 0:79              'g_tTex3di4' ( uniform itexture3D)
 0:79              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
+0:79            Constant:
+0:79              0.400000
+0:79              0.500000
+0:79              0.600000
 0:80      Sequence
 0:80        move second child to first child ( temp 4-component vector of uint)
 0:80          'txval32' ( temp 4-component vector of uint)
@@ -178,10 +178,10 @@
 0:80            Construct combined texture-sampler ( temp usampler3D)
 0:80              'g_tTex3du4' ( uniform utexture3D)
 0:80              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
+0:80            Constant:
+0:80              0.700000
+0:80              0.800000
+0:80              0.900000
 0:82      Sequence
 0:82        move second child to first child ( temp 4-component vector of float)
 0:82          'txval40' ( temp 4-component vector of float)
@@ -189,10 +189,10 @@
 0:82            Construct combined texture-sampler ( temp samplerCube)
 0:82              'g_tTexcdf4' ( uniform textureCube)
 0:82              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:82            Constant:
+0:82              0.100000
+0:82              0.200000
+0:82              0.300000
 0:83      Sequence
 0:83        move second child to first child ( temp 4-component vector of int)
 0:83          'txval41' ( temp 4-component vector of int)
@@ -200,10 +200,10 @@
 0:83            Construct combined texture-sampler ( temp isamplerCube)
 0:83              'g_tTexcdi4' ( uniform itextureCube)
 0:83              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
+0:83            Constant:
+0:83              0.400000
+0:83              0.500000
+0:83              0.600000
 0:84      Sequence
 0:84        move second child to first child ( temp 4-component vector of uint)
 0:84          'txval42' ( temp 4-component vector of uint)
@@ -211,10 +211,10 @@
 0:84            Construct combined texture-sampler ( temp usamplerCube)
 0:84              'g_tTexcdu4' ( uniform utextureCube)
 0:84              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
+0:84            Constant:
+0:84              0.700000
+0:84              0.800000
+0:84              0.900000
 0:86      move second child to first child ( temp 4-component vector of float)
 0:86        Color: direct index for structure ( temp 4-component vector of float)
 0:86          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
@@ -402,9 +402,9 @@
 0:74            Construct combined texture-sampler ( temp sampler2D)
 0:74              'g_tTex2df4' ( uniform texture2D)
 0:74              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:74            Constant:
+0:74              0.100000
+0:74              0.200000
 0:75      Sequence
 0:75        move second child to first child ( temp 4-component vector of int)
 0:75          'txval21' ( temp 4-component vector of int)
@@ -412,9 +412,9 @@
 0:75            Construct combined texture-sampler ( temp isampler2D)
 0:75              'g_tTex2di4' ( uniform itexture2D)
 0:75              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
+0:75            Constant:
+0:75              0.300000
+0:75              0.400000
 0:76      Sequence
 0:76        move second child to first child ( temp 4-component vector of uint)
 0:76          'txval22' ( temp 4-component vector of uint)
@@ -422,9 +422,9 @@
 0:76            Construct combined texture-sampler ( temp usampler2D)
 0:76              'g_tTex2du4' ( uniform utexture2D)
 0:76              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
+0:76            Constant:
+0:76              0.500000
+0:76              0.600000
 0:78      Sequence
 0:78        move second child to first child ( temp 4-component vector of float)
 0:78          'txval30' ( temp 4-component vector of float)
@@ -432,10 +432,10 @@
 0:78            Construct combined texture-sampler ( temp sampler3D)
 0:78              'g_tTex3df4' ( uniform texture3D)
 0:78              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:78            Constant:
+0:78              0.100000
+0:78              0.200000
+0:78              0.300000
 0:79      Sequence
 0:79        move second child to first child ( temp 4-component vector of int)
 0:79          'txval31' ( temp 4-component vector of int)
@@ -443,10 +443,10 @@
 0:79            Construct combined texture-sampler ( temp isampler3D)
 0:79              'g_tTex3di4' ( uniform itexture3D)
 0:79              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
+0:79            Constant:
+0:79              0.400000
+0:79              0.500000
+0:79              0.600000
 0:80      Sequence
 0:80        move second child to first child ( temp 4-component vector of uint)
 0:80          'txval32' ( temp 4-component vector of uint)
@@ -454,10 +454,10 @@
 0:80            Construct combined texture-sampler ( temp usampler3D)
 0:80              'g_tTex3du4' ( uniform utexture3D)
 0:80              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
+0:80            Constant:
+0:80              0.700000
+0:80              0.800000
+0:80              0.900000
 0:82      Sequence
 0:82        move second child to first child ( temp 4-component vector of float)
 0:82          'txval40' ( temp 4-component vector of float)
@@ -465,10 +465,10 @@
 0:82            Construct combined texture-sampler ( temp samplerCube)
 0:82              'g_tTexcdf4' ( uniform textureCube)
 0:82              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:82            Constant:
+0:82              0.100000
+0:82              0.200000
+0:82              0.300000
 0:83      Sequence
 0:83        move second child to first child ( temp 4-component vector of int)
 0:83          'txval41' ( temp 4-component vector of int)
@@ -476,10 +476,10 @@
 0:83            Construct combined texture-sampler ( temp isamplerCube)
 0:83              'g_tTexcdi4' ( uniform itextureCube)
 0:83              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
+0:83            Constant:
+0:83              0.400000
+0:83              0.500000
+0:83              0.600000
 0:84      Sequence
 0:84        move second child to first child ( temp 4-component vector of uint)
 0:84          'txval42' ( temp 4-component vector of uint)
@@ -487,10 +487,10 @@
 0:84            Construct combined texture-sampler ( temp usamplerCube)
 0:84              'g_tTexcdu4' ( uniform utextureCube)
 0:84              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
+0:84            Constant:
+0:84              0.700000
+0:84              0.800000
+0:84              0.900000
 0:86      move second child to first child ( temp 4-component vector of float)
 0:86        Color: direct index for structure ( temp 4-component vector of float)
 0:86          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
diff --git a/Test/baseResults/hlsl.sample.dx9.frag.out b/Test/baseResults/hlsl.sample.dx9.frag.out
index 5f2aecd..282455c 100644
--- a/Test/baseResults/hlsl.sample.dx9.frag.out
+++ b/Test/baseResults/hlsl.sample.dx9.frag.out
@@ -9,18 +9,18 @@
 0:18      Sequence
 0:18        move second child to first child ( temp 4-component vector of float)
 0:18          'ColorOut' ( temp 4-component vector of float)
-0:?           Constant:
-0:?             0.000000
-0:?             0.000000
-0:?             0.000000
-0:?             0.000000
+0:18          Constant:
+0:18            0.000000
+0:18            0.000000
+0:18            0.000000
+0:18            0.000000
 0:20      add second child into first child ( temp 4-component vector of float)
 0:20        'ColorOut' ( temp 4-component vector of float)
 0:20        texture ( temp 4-component vector of float)
 0:20          'g_sam' (layout( binding=0) uniform sampler2D)
-0:?           Constant:
-0:?             0.400000
-0:?             0.300000
+0:20          Constant:
+0:20            0.400000
+0:20            0.300000
 0:21      add second child into first child ( temp 4-component vector of float)
 0:21        'ColorOut' ( temp 4-component vector of float)
 0:21        texture ( temp 4-component vector of float)
@@ -31,41 +31,41 @@
 0:22        'ColorOut' ( temp 4-component vector of float)
 0:22        texture ( temp 4-component vector of float)
 0:22          'g_sam2D' (layout( binding=2) uniform sampler2D)
-0:?           Constant:
-0:?             0.500000
-0:?             0.600000
+0:22          Constant:
+0:22            0.500000
+0:22            0.600000
 0:23      add second child into first child ( temp 4-component vector of float)
 0:23        'ColorOut' ( temp 4-component vector of float)
 0:23        texture ( temp 4-component vector of float)
 0:23          'g_sam3D' (layout( binding=3) uniform sampler3D)
-0:?           Constant:
-0:?             0.500000
-0:?             0.600000
-0:?             0.400000
+0:23          Constant:
+0:23            0.500000
+0:23            0.600000
+0:23            0.400000
 0:24      add second child into first child ( temp 4-component vector of float)
 0:24        'ColorOut' ( temp 4-component vector of float)
 0:24        texture ( temp 4-component vector of float)
 0:24          'g_samCube' (layout( binding=4) uniform samplerCube)
-0:?           Constant:
-0:?             0.500000
-0:?             0.600000
-0:?             0.400000
+0:24          Constant:
+0:24            0.500000
+0:24            0.600000
+0:24            0.400000
 0:26      add second child into first child ( temp 4-component vector of float)
 0:26        'ColorOut' ( temp 4-component vector of float)
 0:26        textureLod ( temp 4-component vector of float)
 0:26          'g_sam' (layout( binding=0) uniform sampler2D)
 0:26          Construct vec2 ( temp 2-component vector of float)
-0:?             Constant:
-0:?               0.400000
-0:?               0.300000
-0:?               0.000000
-0:?               0.000000
+0:26            Constant:
+0:26              0.400000
+0:26              0.300000
+0:26              0.000000
+0:26              0.000000
 0:26          direct index ( temp float)
-0:?             Constant:
-0:?               0.400000
-0:?               0.300000
-0:?               0.000000
-0:?               0.000000
+0:26            Constant:
+0:26              0.400000
+0:26              0.300000
+0:26              0.000000
+0:26              0.000000
 0:26            Constant:
 0:26              3 (const int)
 0:27      add second child into first child ( temp 4-component vector of float)
@@ -73,17 +73,17 @@
 0:27        textureLod ( temp 4-component vector of float)
 0:27          'g_sam1D' (layout( binding=1) uniform sampler1D)
 0:27          Construct float ( temp float)
-0:?             Constant:
-0:?               0.500000
-0:?               0.000000
-0:?               0.000000
-0:?               0.000000
+0:27            Constant:
+0:27              0.500000
+0:27              0.000000
+0:27              0.000000
+0:27              0.000000
 0:27          direct index ( temp float)
-0:?             Constant:
-0:?               0.500000
-0:?               0.000000
-0:?               0.000000
-0:?               0.000000
+0:27            Constant:
+0:27              0.500000
+0:27              0.000000
+0:27              0.000000
+0:27              0.000000
 0:27            Constant:
 0:27              3 (const int)
 0:28      add second child into first child ( temp 4-component vector of float)
@@ -91,17 +91,17 @@
 0:28        textureLod ( temp 4-component vector of float)
 0:28          'g_sam2D' (layout( binding=2) uniform sampler2D)
 0:28          Construct vec2 ( temp 2-component vector of float)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?               0.000000
-0:?               0.000000
+0:28            Constant:
+0:28              0.500000
+0:28              0.600000
+0:28              0.000000
+0:28              0.000000
 0:28          direct index ( temp float)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?               0.000000
-0:?               0.000000
+0:28            Constant:
+0:28              0.500000
+0:28              0.600000
+0:28              0.000000
+0:28              0.000000
 0:28            Constant:
 0:28              3 (const int)
 0:29      add second child into first child ( temp 4-component vector of float)
@@ -109,17 +109,17 @@
 0:29        textureLod ( temp 4-component vector of float)
 0:29          'g_sam3D' (layout( binding=3) uniform sampler3D)
 0:29          Construct vec3 ( temp 3-component vector of float)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?               0.400000
-0:?               0.000000
+0:29            Constant:
+0:29              0.500000
+0:29              0.600000
+0:29              0.400000
+0:29              0.000000
 0:29          direct index ( temp float)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?               0.400000
-0:?               0.000000
+0:29            Constant:
+0:29              0.500000
+0:29              0.600000
+0:29              0.400000
+0:29              0.000000
 0:29            Constant:
 0:29              3 (const int)
 0:30      add second child into first child ( temp 4-component vector of float)
@@ -127,17 +127,17 @@
 0:30        textureLod ( temp 4-component vector of float)
 0:30          'g_samCube' (layout( binding=4) uniform samplerCube)
 0:30          Construct vec3 ( temp 3-component vector of float)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?               0.400000
-0:?               0.000000
+0:30            Constant:
+0:30              0.500000
+0:30              0.600000
+0:30              0.400000
+0:30              0.000000
 0:30          direct index ( temp float)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?               0.400000
-0:?               0.000000
+0:30            Constant:
+0:30              0.500000
+0:30              0.600000
+0:30              0.400000
+0:30              0.000000
 0:30            Constant:
 0:30              3 (const int)
 0:32      move second child to first child ( temp 4-component vector of float)
@@ -200,18 +200,18 @@
 0:18      Sequence
 0:18        move second child to first child ( temp 4-component vector of float)
 0:18          'ColorOut' ( temp 4-component vector of float)
-0:?           Constant:
-0:?             0.000000
-0:?             0.000000
-0:?             0.000000
-0:?             0.000000
+0:18          Constant:
+0:18            0.000000
+0:18            0.000000
+0:18            0.000000
+0:18            0.000000
 0:20      add second child into first child ( temp 4-component vector of float)
 0:20        'ColorOut' ( temp 4-component vector of float)
 0:20        texture ( temp 4-component vector of float)
 0:20          'g_sam' (layout( binding=0) uniform sampler2D)
-0:?           Constant:
-0:?             0.400000
-0:?             0.300000
+0:20          Constant:
+0:20            0.400000
+0:20            0.300000
 0:21      add second child into first child ( temp 4-component vector of float)
 0:21        'ColorOut' ( temp 4-component vector of float)
 0:21        texture ( temp 4-component vector of float)
@@ -222,41 +222,41 @@
 0:22        'ColorOut' ( temp 4-component vector of float)
 0:22        texture ( temp 4-component vector of float)
 0:22          'g_sam2D' (layout( binding=2) uniform sampler2D)
-0:?           Constant:
-0:?             0.500000
-0:?             0.600000
+0:22          Constant:
+0:22            0.500000
+0:22            0.600000
 0:23      add second child into first child ( temp 4-component vector of float)
 0:23        'ColorOut' ( temp 4-component vector of float)
 0:23        texture ( temp 4-component vector of float)
 0:23          'g_sam3D' (layout( binding=3) uniform sampler3D)
-0:?           Constant:
-0:?             0.500000
-0:?             0.600000
-0:?             0.400000
+0:23          Constant:
+0:23            0.500000
+0:23            0.600000
+0:23            0.400000
 0:24      add second child into first child ( temp 4-component vector of float)
 0:24        'ColorOut' ( temp 4-component vector of float)
 0:24        texture ( temp 4-component vector of float)
 0:24          'g_samCube' (layout( binding=4) uniform samplerCube)
-0:?           Constant:
-0:?             0.500000
-0:?             0.600000
-0:?             0.400000
+0:24          Constant:
+0:24            0.500000
+0:24            0.600000
+0:24            0.400000
 0:26      add second child into first child ( temp 4-component vector of float)
 0:26        'ColorOut' ( temp 4-component vector of float)
 0:26        textureLod ( temp 4-component vector of float)
 0:26          'g_sam' (layout( binding=0) uniform sampler2D)
 0:26          Construct vec2 ( temp 2-component vector of float)
-0:?             Constant:
-0:?               0.400000
-0:?               0.300000
-0:?               0.000000
-0:?               0.000000
+0:26            Constant:
+0:26              0.400000
+0:26              0.300000
+0:26              0.000000
+0:26              0.000000
 0:26          direct index ( temp float)
-0:?             Constant:
-0:?               0.400000
-0:?               0.300000
-0:?               0.000000
-0:?               0.000000
+0:26            Constant:
+0:26              0.400000
+0:26              0.300000
+0:26              0.000000
+0:26              0.000000
 0:26            Constant:
 0:26              3 (const int)
 0:27      add second child into first child ( temp 4-component vector of float)
@@ -264,17 +264,17 @@
 0:27        textureLod ( temp 4-component vector of float)
 0:27          'g_sam1D' (layout( binding=1) uniform sampler1D)
 0:27          Construct float ( temp float)
-0:?             Constant:
-0:?               0.500000
-0:?               0.000000
-0:?               0.000000
-0:?               0.000000
+0:27            Constant:
+0:27              0.500000
+0:27              0.000000
+0:27              0.000000
+0:27              0.000000
 0:27          direct index ( temp float)
-0:?             Constant:
-0:?               0.500000
-0:?               0.000000
-0:?               0.000000
-0:?               0.000000
+0:27            Constant:
+0:27              0.500000
+0:27              0.000000
+0:27              0.000000
+0:27              0.000000
 0:27            Constant:
 0:27              3 (const int)
 0:28      add second child into first child ( temp 4-component vector of float)
@@ -282,17 +282,17 @@
 0:28        textureLod ( temp 4-component vector of float)
 0:28          'g_sam2D' (layout( binding=2) uniform sampler2D)
 0:28          Construct vec2 ( temp 2-component vector of float)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?               0.000000
-0:?               0.000000
+0:28            Constant:
+0:28              0.500000
+0:28              0.600000
+0:28              0.000000
+0:28              0.000000
 0:28          direct index ( temp float)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?               0.000000
-0:?               0.000000
+0:28            Constant:
+0:28              0.500000
+0:28              0.600000
+0:28              0.000000
+0:28              0.000000
 0:28            Constant:
 0:28              3 (const int)
 0:29      add second child into first child ( temp 4-component vector of float)
@@ -300,17 +300,17 @@
 0:29        textureLod ( temp 4-component vector of float)
 0:29          'g_sam3D' (layout( binding=3) uniform sampler3D)
 0:29          Construct vec3 ( temp 3-component vector of float)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?               0.400000
-0:?               0.000000
+0:29            Constant:
+0:29              0.500000
+0:29              0.600000
+0:29              0.400000
+0:29              0.000000
 0:29          direct index ( temp float)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?               0.400000
-0:?               0.000000
+0:29            Constant:
+0:29              0.500000
+0:29              0.600000
+0:29              0.400000
+0:29              0.000000
 0:29            Constant:
 0:29              3 (const int)
 0:30      add second child into first child ( temp 4-component vector of float)
@@ -318,17 +318,17 @@
 0:30        textureLod ( temp 4-component vector of float)
 0:30          'g_samCube' (layout( binding=4) uniform samplerCube)
 0:30          Construct vec3 ( temp 3-component vector of float)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?               0.400000
-0:?               0.000000
+0:30            Constant:
+0:30              0.500000
+0:30              0.600000
+0:30              0.400000
+0:30              0.000000
 0:30          direct index ( temp float)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?               0.400000
-0:?               0.000000
+0:30            Constant:
+0:30              0.500000
+0:30              0.600000
+0:30              0.400000
+0:30              0.000000
 0:30            Constant:
 0:30              3 (const int)
 0:32      move second child to first child ( temp 4-component vector of float)
diff --git a/Test/baseResults/hlsl.sample.dx9.vert.out b/Test/baseResults/hlsl.sample.dx9.vert.out
index 0b47bff..4b718cf 100644
--- a/Test/baseResults/hlsl.sample.dx9.vert.out
+++ b/Test/baseResults/hlsl.sample.dx9.vert.out
@@ -7,27 +7,27 @@
 0:14      Sequence
 0:14        move second child to first child ( temp 4-component vector of float)
 0:14          'PosOut' ( temp 4-component vector of float)
-0:?           Constant:
-0:?             0.000000
-0:?             0.000000
-0:?             0.000000
-0:?             0.000000
+0:14          Constant:
+0:14            0.000000
+0:14            0.000000
+0:14            0.000000
+0:14            0.000000
 0:16      add second child into first child ( temp 4-component vector of float)
 0:16        'PosOut' ( temp 4-component vector of float)
 0:16        textureLod ( temp 4-component vector of float)
 0:16          'g_sam' (layout( binding=0) uniform sampler2D)
 0:16          Construct vec2 ( temp 2-component vector of float)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
-0:?               0.000000
-0:?               1.000000
+0:16            Constant:
+0:16              0.300000
+0:16              0.400000
+0:16              0.000000
+0:16              1.000000
 0:16          direct index ( temp float)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
-0:?               0.000000
-0:?               1.000000
+0:16            Constant:
+0:16              0.300000
+0:16              0.400000
+0:16              0.000000
+0:16              1.000000
 0:16            Constant:
 0:16              3 (const int)
 0:17      add second child into first child ( temp 4-component vector of float)
@@ -35,17 +35,17 @@
 0:17        textureLod ( temp 4-component vector of float)
 0:17          'g_sam2D' (layout( binding=1) uniform sampler2D)
 0:17          Construct vec2 ( temp 2-component vector of float)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?               0.000000
-0:?               1.000000
+0:17            Constant:
+0:17              0.500000
+0:17              0.600000
+0:17              0.000000
+0:17              1.000000
 0:17          direct index ( temp float)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?               0.000000
-0:?               1.000000
+0:17            Constant:
+0:17              0.500000
+0:17              0.600000
+0:17              0.000000
+0:17              1.000000
 0:17            Constant:
 0:17              3 (const int)
 0:19      move second child to first child ( temp 4-component vector of float)
@@ -86,27 +86,27 @@
 0:14      Sequence
 0:14        move second child to first child ( temp 4-component vector of float)
 0:14          'PosOut' ( temp 4-component vector of float)
-0:?           Constant:
-0:?             0.000000
-0:?             0.000000
-0:?             0.000000
-0:?             0.000000
+0:14          Constant:
+0:14            0.000000
+0:14            0.000000
+0:14            0.000000
+0:14            0.000000
 0:16      add second child into first child ( temp 4-component vector of float)
 0:16        'PosOut' ( temp 4-component vector of float)
 0:16        textureLod ( temp 4-component vector of float)
 0:16          'g_sam' (layout( binding=0) uniform sampler2D)
 0:16          Construct vec2 ( temp 2-component vector of float)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
-0:?               0.000000
-0:?               1.000000
+0:16            Constant:
+0:16              0.300000
+0:16              0.400000
+0:16              0.000000
+0:16              1.000000
 0:16          direct index ( temp float)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
-0:?               0.000000
-0:?               1.000000
+0:16            Constant:
+0:16              0.300000
+0:16              0.400000
+0:16              0.000000
+0:16              1.000000
 0:16            Constant:
 0:16              3 (const int)
 0:17      add second child into first child ( temp 4-component vector of float)
@@ -114,17 +114,17 @@
 0:17        textureLod ( temp 4-component vector of float)
 0:17          'g_sam2D' (layout( binding=1) uniform sampler2D)
 0:17          Construct vec2 ( temp 2-component vector of float)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?               0.000000
-0:?               1.000000
+0:17            Constant:
+0:17              0.500000
+0:17              0.600000
+0:17              0.000000
+0:17              1.000000
 0:17          direct index ( temp float)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?               0.000000
-0:?               1.000000
+0:17            Constant:
+0:17              0.500000
+0:17              0.600000
+0:17              0.000000
+0:17              1.000000
 0:17            Constant:
 0:17              3 (const int)
 0:19      move second child to first child ( temp 4-component vector of float)
diff --git a/Test/baseResults/hlsl.sample.offset.dx10.frag.out b/Test/baseResults/hlsl.sample.offset.dx10.frag.out
index fc91699..e5d204f 100644
--- a/Test/baseResults/hlsl.sample.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.offset.dx10.frag.out
@@ -46,12 +46,12 @@
 0:35            Construct combined texture-sampler ( temp sampler2D)
 0:35              'g_tTex2df4' ( uniform texture2D)
 0:35              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
+0:35            Constant:
+0:35              0.100000
+0:35              0.200000
+0:35            Constant:
+0:35              1 (const int)
+0:35              0 (const int)
 0:36      Sequence
 0:36        move second child to first child ( temp 4-component vector of int)
 0:36          'txval21' ( temp 4-component vector of int)
@@ -59,12 +59,12 @@
 0:36            Construct combined texture-sampler ( temp isampler2D)
 0:36              'g_tTex2di4' ( uniform itexture2D)
 0:36              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
-0:?             Constant:
-0:?               1 (const int)
-0:?               1 (const int)
+0:36            Constant:
+0:36              0.300000
+0:36              0.400000
+0:36            Constant:
+0:36              1 (const int)
+0:36              1 (const int)
 0:37      Sequence
 0:37        move second child to first child ( temp 4-component vector of uint)
 0:37          'txval22' ( temp 4-component vector of uint)
@@ -72,12 +72,12 @@
 0:37            Construct combined texture-sampler ( temp usampler2D)
 0:37              'g_tTex2du4' ( uniform utexture2D)
 0:37              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?             Constant:
-0:?               1 (const int)
-0:?               -1 (const int)
+0:37            Constant:
+0:37              0.500000
+0:37              0.600000
+0:37            Constant:
+0:37              1 (const int)
+0:37              -1 (const int)
 0:39      Sequence
 0:39        move second child to first child ( temp 4-component vector of float)
 0:39          'txval30' ( temp 4-component vector of float)
@@ -85,14 +85,14 @@
 0:39            Construct combined texture-sampler ( temp sampler3D)
 0:39              'g_tTex3df4' ( uniform texture3D)
 0:39              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
-0:?               1 (const int)
+0:39            Constant:
+0:39              0.100000
+0:39              0.200000
+0:39              0.300000
+0:39            Constant:
+0:39              1 (const int)
+0:39              0 (const int)
+0:39              1 (const int)
 0:40      Sequence
 0:40        move second child to first child ( temp 4-component vector of int)
 0:40          'txval31' ( temp 4-component vector of int)
@@ -100,14 +100,14 @@
 0:40            Construct combined texture-sampler ( temp isampler3D)
 0:40              'g_tTex3di4' ( uniform itexture3D)
 0:40              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
-0:?             Constant:
-0:?               1 (const int)
-0:?               1 (const int)
-0:?               1 (const int)
+0:40            Constant:
+0:40              0.400000
+0:40              0.500000
+0:40              0.600000
+0:40            Constant:
+0:40              1 (const int)
+0:40              1 (const int)
+0:40              1 (const int)
 0:41      Sequence
 0:41        move second child to first child ( temp 4-component vector of uint)
 0:41          'txval32' ( temp 4-component vector of uint)
@@ -115,14 +115,14 @@
 0:41            Construct combined texture-sampler ( temp usampler3D)
 0:41              'g_tTex3du4' ( uniform utexture3D)
 0:41              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
-0:?               -1 (const int)
+0:41            Constant:
+0:41              0.700000
+0:41              0.800000
+0:41              0.900000
+0:41            Constant:
+0:41              1 (const int)
+0:41              0 (const int)
+0:41              -1 (const int)
 0:45      move second child to first child ( temp 4-component vector of float)
 0:45        Color: direct index for structure ( temp 4-component vector of float)
 0:45          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
@@ -230,12 +230,12 @@
 0:35            Construct combined texture-sampler ( temp sampler2D)
 0:35              'g_tTex2df4' ( uniform texture2D)
 0:35              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
+0:35            Constant:
+0:35              0.100000
+0:35              0.200000
+0:35            Constant:
+0:35              1 (const int)
+0:35              0 (const int)
 0:36      Sequence
 0:36        move second child to first child ( temp 4-component vector of int)
 0:36          'txval21' ( temp 4-component vector of int)
@@ -243,12 +243,12 @@
 0:36            Construct combined texture-sampler ( temp isampler2D)
 0:36              'g_tTex2di4' ( uniform itexture2D)
 0:36              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
-0:?             Constant:
-0:?               1 (const int)
-0:?               1 (const int)
+0:36            Constant:
+0:36              0.300000
+0:36              0.400000
+0:36            Constant:
+0:36              1 (const int)
+0:36              1 (const int)
 0:37      Sequence
 0:37        move second child to first child ( temp 4-component vector of uint)
 0:37          'txval22' ( temp 4-component vector of uint)
@@ -256,12 +256,12 @@
 0:37            Construct combined texture-sampler ( temp usampler2D)
 0:37              'g_tTex2du4' ( uniform utexture2D)
 0:37              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?             Constant:
-0:?               1 (const int)
-0:?               -1 (const int)
+0:37            Constant:
+0:37              0.500000
+0:37              0.600000
+0:37            Constant:
+0:37              1 (const int)
+0:37              -1 (const int)
 0:39      Sequence
 0:39        move second child to first child ( temp 4-component vector of float)
 0:39          'txval30' ( temp 4-component vector of float)
@@ -269,14 +269,14 @@
 0:39            Construct combined texture-sampler ( temp sampler3D)
 0:39              'g_tTex3df4' ( uniform texture3D)
 0:39              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
-0:?               1 (const int)
+0:39            Constant:
+0:39              0.100000
+0:39              0.200000
+0:39              0.300000
+0:39            Constant:
+0:39              1 (const int)
+0:39              0 (const int)
+0:39              1 (const int)
 0:40      Sequence
 0:40        move second child to first child ( temp 4-component vector of int)
 0:40          'txval31' ( temp 4-component vector of int)
@@ -284,14 +284,14 @@
 0:40            Construct combined texture-sampler ( temp isampler3D)
 0:40              'g_tTex3di4' ( uniform itexture3D)
 0:40              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
-0:?             Constant:
-0:?               1 (const int)
-0:?               1 (const int)
-0:?               1 (const int)
+0:40            Constant:
+0:40              0.400000
+0:40              0.500000
+0:40              0.600000
+0:40            Constant:
+0:40              1 (const int)
+0:40              1 (const int)
+0:40              1 (const int)
 0:41      Sequence
 0:41        move second child to first child ( temp 4-component vector of uint)
 0:41          'txval32' ( temp 4-component vector of uint)
@@ -299,14 +299,14 @@
 0:41            Construct combined texture-sampler ( temp usampler3D)
 0:41              'g_tTex3du4' ( uniform utexture3D)
 0:41              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
-0:?               -1 (const int)
+0:41            Constant:
+0:41              0.700000
+0:41              0.800000
+0:41              0.900000
+0:41            Constant:
+0:41              1 (const int)
+0:41              0 (const int)
+0:41              -1 (const int)
 0:45      move second child to first child ( temp 4-component vector of float)
 0:45        Color: direct index for structure ( temp 4-component vector of float)
 0:45          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
diff --git a/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out
index 4d53975..5b14c65 100644
--- a/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out
@@ -13,9 +13,9 @@
 0:23            Construct combined texture-sampler ( temp sampler1DArray)
 0:23              'g_tTex1df4' (layout( binding=0) uniform texture1DArray)
 0:23              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:23            Constant:
+0:23              0.100000
+0:23              0.200000
 0:23            Constant:
 0:23              0 (const int)
 0:24      Sequence
@@ -25,9 +25,9 @@
 0:24            Construct combined texture-sampler ( temp isampler1DArray)
 0:24              'g_tTex1di4' ( uniform itexture1DArray)
 0:24              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.200000
-0:?               0.300000
+0:24            Constant:
+0:24              0.200000
+0:24              0.300000
 0:24            Constant:
 0:24              1 (const int)
 0:25      Sequence
@@ -37,9 +37,9 @@
 0:25            Construct combined texture-sampler ( temp usampler1DArray)
 0:25              'g_tTex1du4' ( uniform utexture1DArray)
 0:25              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
+0:25            Constant:
+0:25              0.300000
+0:25              0.400000
 0:25            Constant:
 0:25              2 (const int)
 0:27      Sequence
@@ -49,13 +49,13 @@
 0:27            Construct combined texture-sampler ( temp sampler2DArray)
 0:27              'g_tTex2df4' ( uniform texture2DArray)
 0:27              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?             Constant:
-0:?               0 (const int)
-0:?               0 (const int)
+0:27            Constant:
+0:27              0.100000
+0:27              0.200000
+0:27              0.300000
+0:27            Constant:
+0:27              0 (const int)
+0:27              0 (const int)
 0:28      Sequence
 0:28        move second child to first child ( temp 4-component vector of int)
 0:28          'txval21' ( temp 4-component vector of int)
@@ -63,13 +63,13 @@
 0:28            Construct combined texture-sampler ( temp isampler2DArray)
 0:28              'g_tTex2di4' ( uniform itexture2DArray)
 0:28              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
-0:?               0.500000
-0:?             Constant:
-0:?               0 (const int)
-0:?               0 (const int)
+0:28            Constant:
+0:28              0.300000
+0:28              0.400000
+0:28              0.500000
+0:28            Constant:
+0:28              0 (const int)
+0:28              0 (const int)
 0:29      Sequence
 0:29        move second child to first child ( temp 4-component vector of uint)
 0:29          'txval22' ( temp 4-component vector of uint)
@@ -77,13 +77,13 @@
 0:29            Construct combined texture-sampler ( temp usampler2DArray)
 0:29              'g_tTex2du4' ( uniform utexture2DArray)
 0:29              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?               0.700000
-0:?             Constant:
-0:?               0 (const int)
-0:?               1 (const int)
+0:29            Constant:
+0:29              0.500000
+0:29              0.600000
+0:29              0.700000
+0:29            Constant:
+0:29              0 (const int)
+0:29              1 (const int)
 0:33      move second child to first child ( temp 4-component vector of float)
 0:33        Color: direct index for structure ( temp 4-component vector of float)
 0:33          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
@@ -152,9 +152,9 @@
 0:23            Construct combined texture-sampler ( temp sampler1DArray)
 0:23              'g_tTex1df4' (layout( binding=0) uniform texture1DArray)
 0:23              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:23            Constant:
+0:23              0.100000
+0:23              0.200000
 0:23            Constant:
 0:23              0 (const int)
 0:24      Sequence
@@ -164,9 +164,9 @@
 0:24            Construct combined texture-sampler ( temp isampler1DArray)
 0:24              'g_tTex1di4' ( uniform itexture1DArray)
 0:24              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.200000
-0:?               0.300000
+0:24            Constant:
+0:24              0.200000
+0:24              0.300000
 0:24            Constant:
 0:24              1 (const int)
 0:25      Sequence
@@ -176,9 +176,9 @@
 0:25            Construct combined texture-sampler ( temp usampler1DArray)
 0:25              'g_tTex1du4' ( uniform utexture1DArray)
 0:25              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
+0:25            Constant:
+0:25              0.300000
+0:25              0.400000
 0:25            Constant:
 0:25              2 (const int)
 0:27      Sequence
@@ -188,13 +188,13 @@
 0:27            Construct combined texture-sampler ( temp sampler2DArray)
 0:27              'g_tTex2df4' ( uniform texture2DArray)
 0:27              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?             Constant:
-0:?               0 (const int)
-0:?               0 (const int)
+0:27            Constant:
+0:27              0.100000
+0:27              0.200000
+0:27              0.300000
+0:27            Constant:
+0:27              0 (const int)
+0:27              0 (const int)
 0:28      Sequence
 0:28        move second child to first child ( temp 4-component vector of int)
 0:28          'txval21' ( temp 4-component vector of int)
@@ -202,13 +202,13 @@
 0:28            Construct combined texture-sampler ( temp isampler2DArray)
 0:28              'g_tTex2di4' ( uniform itexture2DArray)
 0:28              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
-0:?               0.500000
-0:?             Constant:
-0:?               0 (const int)
-0:?               0 (const int)
+0:28            Constant:
+0:28              0.300000
+0:28              0.400000
+0:28              0.500000
+0:28            Constant:
+0:28              0 (const int)
+0:28              0 (const int)
 0:29      Sequence
 0:29        move second child to first child ( temp 4-component vector of uint)
 0:29          'txval22' ( temp 4-component vector of uint)
@@ -216,13 +216,13 @@
 0:29            Construct combined texture-sampler ( temp usampler2DArray)
 0:29              'g_tTex2du4' ( uniform utexture2DArray)
 0:29              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?               0.700000
-0:?             Constant:
-0:?               0 (const int)
-0:?               1 (const int)
+0:29            Constant:
+0:29              0.500000
+0:29              0.600000
+0:29              0.700000
+0:29            Constant:
+0:29              0 (const int)
+0:29              1 (const int)
 0:33      move second child to first child ( temp 4-component vector of float)
 0:33        Color: direct index for structure ( temp 4-component vector of float)
 0:33          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
diff --git a/Test/baseResults/hlsl.samplebias.array.dx10.frag.out b/Test/baseResults/hlsl.samplebias.array.dx10.frag.out
index 7990196..e177d77 100644
--- a/Test/baseResults/hlsl.samplebias.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.array.dx10.frag.out
@@ -13,9 +13,9 @@
 0:27            Construct combined texture-sampler ( temp sampler1DArray)
 0:27              'g_tTex1df4' (layout( binding=0) uniform texture1DArray)
 0:27              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:27            Constant:
+0:27              0.100000
+0:27              0.200000
 0:27            Constant:
 0:27              0.500000
 0:28      Sequence
@@ -25,9 +25,9 @@
 0:28            Construct combined texture-sampler ( temp isampler1DArray)
 0:28              'g_tTex1di4' ( uniform itexture1DArray)
 0:28              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.200000
-0:?               0.300000
+0:28            Constant:
+0:28              0.200000
+0:28              0.300000
 0:28            Constant:
 0:28              0.500000
 0:29      Sequence
@@ -37,9 +37,9 @@
 0:29            Construct combined texture-sampler ( temp usampler1DArray)
 0:29              'g_tTex1du4' ( uniform utexture1DArray)
 0:29              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
+0:29            Constant:
+0:29              0.300000
+0:29              0.400000
 0:29            Constant:
 0:29              0.500000
 0:31      Sequence
@@ -49,10 +49,10 @@
 0:31            Construct combined texture-sampler ( temp sampler2DArray)
 0:31              'g_tTex2df4' ( uniform texture2DArray)
 0:31              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:31            Constant:
+0:31              0.100000
+0:31              0.200000
+0:31              0.300000
 0:31            Constant:
 0:31              0.500000
 0:32      Sequence
@@ -62,10 +62,10 @@
 0:32            Construct combined texture-sampler ( temp isampler2DArray)
 0:32              'g_tTex2di4' ( uniform itexture2DArray)
 0:32              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
-0:?               0.500000
+0:32            Constant:
+0:32              0.300000
+0:32              0.400000
+0:32              0.500000
 0:32            Constant:
 0:32              0.500000
 0:33      Sequence
@@ -75,10 +75,10 @@
 0:33            Construct combined texture-sampler ( temp usampler2DArray)
 0:33              'g_tTex2du4' ( uniform utexture2DArray)
 0:33              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?               0.700000
+0:33            Constant:
+0:33              0.500000
+0:33              0.600000
+0:33              0.700000
 0:33            Constant:
 0:33              0.500000
 0:35      Sequence
@@ -88,11 +88,11 @@
 0:35            Construct combined texture-sampler ( temp samplerCubeArray)
 0:35              'g_tTexcdf4' ( uniform textureCubeArray)
 0:35              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?               0.400000
+0:35            Constant:
+0:35              0.100000
+0:35              0.200000
+0:35              0.300000
+0:35              0.400000
 0:35            Constant:
 0:35              0.500000
 0:36      Sequence
@@ -102,11 +102,11 @@
 0:36            Construct combined texture-sampler ( temp isamplerCubeArray)
 0:36              'g_tTexcdi4' ( uniform itextureCubeArray)
 0:36              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
-0:?               0.700000
+0:36            Constant:
+0:36              0.400000
+0:36              0.500000
+0:36              0.600000
+0:36              0.700000
 0:36            Constant:
 0:36              0.500000
 0:37      Sequence
@@ -116,11 +116,11 @@
 0:37            Construct combined texture-sampler ( temp usamplerCubeArray)
 0:37              'g_tTexcdu4' ( uniform utextureCubeArray)
 0:37              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
-0:?               1.000000
+0:37            Constant:
+0:37              0.700000
+0:37              0.800000
+0:37              0.900000
+0:37              1.000000
 0:37            Constant:
 0:37              0.500000
 0:39      move second child to first child ( temp 4-component vector of float)
@@ -194,9 +194,9 @@
 0:27            Construct combined texture-sampler ( temp sampler1DArray)
 0:27              'g_tTex1df4' (layout( binding=0) uniform texture1DArray)
 0:27              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:27            Constant:
+0:27              0.100000
+0:27              0.200000
 0:27            Constant:
 0:27              0.500000
 0:28      Sequence
@@ -206,9 +206,9 @@
 0:28            Construct combined texture-sampler ( temp isampler1DArray)
 0:28              'g_tTex1di4' ( uniform itexture1DArray)
 0:28              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.200000
-0:?               0.300000
+0:28            Constant:
+0:28              0.200000
+0:28              0.300000
 0:28            Constant:
 0:28              0.500000
 0:29      Sequence
@@ -218,9 +218,9 @@
 0:29            Construct combined texture-sampler ( temp usampler1DArray)
 0:29              'g_tTex1du4' ( uniform utexture1DArray)
 0:29              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
+0:29            Constant:
+0:29              0.300000
+0:29              0.400000
 0:29            Constant:
 0:29              0.500000
 0:31      Sequence
@@ -230,10 +230,10 @@
 0:31            Construct combined texture-sampler ( temp sampler2DArray)
 0:31              'g_tTex2df4' ( uniform texture2DArray)
 0:31              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:31            Constant:
+0:31              0.100000
+0:31              0.200000
+0:31              0.300000
 0:31            Constant:
 0:31              0.500000
 0:32      Sequence
@@ -243,10 +243,10 @@
 0:32            Construct combined texture-sampler ( temp isampler2DArray)
 0:32              'g_tTex2di4' ( uniform itexture2DArray)
 0:32              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
-0:?               0.500000
+0:32            Constant:
+0:32              0.300000
+0:32              0.400000
+0:32              0.500000
 0:32            Constant:
 0:32              0.500000
 0:33      Sequence
@@ -256,10 +256,10 @@
 0:33            Construct combined texture-sampler ( temp usampler2DArray)
 0:33              'g_tTex2du4' ( uniform utexture2DArray)
 0:33              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?               0.700000
+0:33            Constant:
+0:33              0.500000
+0:33              0.600000
+0:33              0.700000
 0:33            Constant:
 0:33              0.500000
 0:35      Sequence
@@ -269,11 +269,11 @@
 0:35            Construct combined texture-sampler ( temp samplerCubeArray)
 0:35              'g_tTexcdf4' ( uniform textureCubeArray)
 0:35              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?               0.400000
+0:35            Constant:
+0:35              0.100000
+0:35              0.200000
+0:35              0.300000
+0:35              0.400000
 0:35            Constant:
 0:35              0.500000
 0:36      Sequence
@@ -283,11 +283,11 @@
 0:36            Construct combined texture-sampler ( temp isamplerCubeArray)
 0:36              'g_tTexcdi4' ( uniform itextureCubeArray)
 0:36              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
-0:?               0.700000
+0:36            Constant:
+0:36              0.400000
+0:36              0.500000
+0:36              0.600000
+0:36              0.700000
 0:36            Constant:
 0:36              0.500000
 0:37      Sequence
@@ -297,11 +297,11 @@
 0:37            Construct combined texture-sampler ( temp usamplerCubeArray)
 0:37              'g_tTexcdu4' ( uniform utextureCubeArray)
 0:37              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
-0:?               1.000000
+0:37            Constant:
+0:37              0.700000
+0:37              0.800000
+0:37              0.900000
+0:37              1.000000
 0:37            Constant:
 0:37              0.500000
 0:39      move second child to first child ( temp 4-component vector of float)
diff --git a/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out b/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out
index b318306..2f15b42 100644
--- a/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out
@@ -46,9 +46,9 @@
 0:35            Construct combined texture-sampler ( temp sampler2D)
 0:35              'g_tTex2df4' ( uniform texture2D)
 0:35              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:35            Constant:
+0:35              0.100000
+0:35              0.200000
 0:35            Constant:
 0:35              0.500000
 0:36      Sequence
@@ -58,9 +58,9 @@
 0:36            Construct combined texture-sampler ( temp isampler2D)
 0:36              'g_tTex2di4' ( uniform itexture2D)
 0:36              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
+0:36            Constant:
+0:36              0.300000
+0:36              0.400000
 0:36            Constant:
 0:36              0.500000
 0:37      Sequence
@@ -70,9 +70,9 @@
 0:37            Construct combined texture-sampler ( temp usampler2D)
 0:37              'g_tTex2du4' ( uniform utexture2D)
 0:37              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
+0:37            Constant:
+0:37              0.500000
+0:37              0.600000
 0:37            Constant:
 0:37              0.500000
 0:39      Sequence
@@ -82,10 +82,10 @@
 0:39            Construct combined texture-sampler ( temp sampler3D)
 0:39              'g_tTex3df4' ( uniform texture3D)
 0:39              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:39            Constant:
+0:39              0.100000
+0:39              0.200000
+0:39              0.300000
 0:39            Constant:
 0:39              0.500000
 0:40      Sequence
@@ -95,10 +95,10 @@
 0:40            Construct combined texture-sampler ( temp isampler3D)
 0:40              'g_tTex3di4' ( uniform itexture3D)
 0:40              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
+0:40            Constant:
+0:40              0.400000
+0:40              0.500000
+0:40              0.600000
 0:40            Constant:
 0:40              0.500000
 0:41      Sequence
@@ -108,10 +108,10 @@
 0:41            Construct combined texture-sampler ( temp usampler3D)
 0:41              'g_tTex3du4' ( uniform utexture3D)
 0:41              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
+0:41            Constant:
+0:41              0.700000
+0:41              0.800000
+0:41              0.900000
 0:41            Constant:
 0:41              0.500000
 0:43      Sequence
@@ -121,10 +121,10 @@
 0:43            Construct combined texture-sampler ( temp samplerCube)
 0:43              'g_tTexcdf4' ( uniform textureCube)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:43            Constant:
+0:43              0.100000
+0:43              0.200000
+0:43              0.300000
 0:43            Constant:
 0:43              0.500000
 0:44      Sequence
@@ -134,10 +134,10 @@
 0:44            Construct combined texture-sampler ( temp isamplerCube)
 0:44              'g_tTexcdi4' ( uniform itextureCube)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
+0:44            Constant:
+0:44              0.400000
+0:44              0.500000
+0:44              0.600000
 0:44            Constant:
 0:44              0.500000
 0:45      Sequence
@@ -147,10 +147,10 @@
 0:45            Construct combined texture-sampler ( temp usamplerCube)
 0:45              'g_tTexcdu4' ( uniform utextureCube)
 0:45              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
+0:45            Constant:
+0:45              0.700000
+0:45              0.800000
+0:45              0.900000
 0:45            Constant:
 0:45              0.500000
 0:47      move second child to first child ( temp 4-component vector of float)
@@ -260,9 +260,9 @@
 0:35            Construct combined texture-sampler ( temp sampler2D)
 0:35              'g_tTex2df4' ( uniform texture2D)
 0:35              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:35            Constant:
+0:35              0.100000
+0:35              0.200000
 0:35            Constant:
 0:35              0.500000
 0:36      Sequence
@@ -272,9 +272,9 @@
 0:36            Construct combined texture-sampler ( temp isampler2D)
 0:36              'g_tTex2di4' ( uniform itexture2D)
 0:36              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
+0:36            Constant:
+0:36              0.300000
+0:36              0.400000
 0:36            Constant:
 0:36              0.500000
 0:37      Sequence
@@ -284,9 +284,9 @@
 0:37            Construct combined texture-sampler ( temp usampler2D)
 0:37              'g_tTex2du4' ( uniform utexture2D)
 0:37              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
+0:37            Constant:
+0:37              0.500000
+0:37              0.600000
 0:37            Constant:
 0:37              0.500000
 0:39      Sequence
@@ -296,10 +296,10 @@
 0:39            Construct combined texture-sampler ( temp sampler3D)
 0:39              'g_tTex3df4' ( uniform texture3D)
 0:39              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:39            Constant:
+0:39              0.100000
+0:39              0.200000
+0:39              0.300000
 0:39            Constant:
 0:39              0.500000
 0:40      Sequence
@@ -309,10 +309,10 @@
 0:40            Construct combined texture-sampler ( temp isampler3D)
 0:40              'g_tTex3di4' ( uniform itexture3D)
 0:40              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
+0:40            Constant:
+0:40              0.400000
+0:40              0.500000
+0:40              0.600000
 0:40            Constant:
 0:40              0.500000
 0:41      Sequence
@@ -322,10 +322,10 @@
 0:41            Construct combined texture-sampler ( temp usampler3D)
 0:41              'g_tTex3du4' ( uniform utexture3D)
 0:41              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
+0:41            Constant:
+0:41              0.700000
+0:41              0.800000
+0:41              0.900000
 0:41            Constant:
 0:41              0.500000
 0:43      Sequence
@@ -335,10 +335,10 @@
 0:43            Construct combined texture-sampler ( temp samplerCube)
 0:43              'g_tTexcdf4' ( uniform textureCube)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:43            Constant:
+0:43              0.100000
+0:43              0.200000
+0:43              0.300000
 0:43            Constant:
 0:43              0.500000
 0:44      Sequence
@@ -348,10 +348,10 @@
 0:44            Construct combined texture-sampler ( temp isamplerCube)
 0:44              'g_tTexcdi4' ( uniform itextureCube)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
+0:44            Constant:
+0:44              0.400000
+0:44              0.500000
+0:44              0.600000
 0:44            Constant:
 0:44              0.500000
 0:45      Sequence
@@ -361,10 +361,10 @@
 0:45            Construct combined texture-sampler ( temp usamplerCube)
 0:45              'g_tTexcdu4' ( uniform utextureCube)
 0:45              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
+0:45            Constant:
+0:45              0.700000
+0:45              0.800000
+0:45              0.900000
 0:45            Constant:
 0:45              0.500000
 0:47      move second child to first child ( temp 4-component vector of float)
diff --git a/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out b/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out
index 0e073ee..478091d 100644
--- a/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out
@@ -52,14 +52,14 @@
 0:35            Construct combined texture-sampler ( temp sampler2D)
 0:35              'g_tTex2df4' ( uniform texture2D)
 0:35              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:35            Constant:
+0:35              0.100000
+0:35              0.200000
 0:35            Constant:
 0:35              0.500000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
+0:35            Constant:
+0:35              1 (const int)
+0:35              0 (const int)
 0:36      Sequence
 0:36        move second child to first child ( temp 4-component vector of int)
 0:36          'txval21' ( temp 4-component vector of int)
@@ -67,14 +67,14 @@
 0:36            Construct combined texture-sampler ( temp isampler2D)
 0:36              'g_tTex2di4' ( uniform itexture2D)
 0:36              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
+0:36            Constant:
+0:36              0.300000
+0:36              0.400000
 0:36            Constant:
 0:36              0.500000
-0:?             Constant:
-0:?               1 (const int)
-0:?               1 (const int)
+0:36            Constant:
+0:36              1 (const int)
+0:36              1 (const int)
 0:37      Sequence
 0:37        move second child to first child ( temp 4-component vector of uint)
 0:37          'txval22' ( temp 4-component vector of uint)
@@ -82,14 +82,14 @@
 0:37            Construct combined texture-sampler ( temp usampler2D)
 0:37              'g_tTex2du4' ( uniform utexture2D)
 0:37              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
 0:37            Constant:
 0:37              0.500000
-0:?             Constant:
-0:?               1 (const int)
-0:?               -1 (const int)
+0:37              0.600000
+0:37            Constant:
+0:37              0.500000
+0:37            Constant:
+0:37              1 (const int)
+0:37              -1 (const int)
 0:39      Sequence
 0:39        move second child to first child ( temp 4-component vector of float)
 0:39          'txval30' ( temp 4-component vector of float)
@@ -97,16 +97,16 @@
 0:39            Construct combined texture-sampler ( temp sampler3D)
 0:39              'g_tTex3df4' ( uniform texture3D)
 0:39              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:39            Constant:
+0:39              0.100000
+0:39              0.200000
+0:39              0.300000
 0:39            Constant:
 0:39              0.500000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
-0:?               1 (const int)
+0:39            Constant:
+0:39              1 (const int)
+0:39              0 (const int)
+0:39              1 (const int)
 0:40      Sequence
 0:40        move second child to first child ( temp 4-component vector of int)
 0:40          'txval31' ( temp 4-component vector of int)
@@ -114,16 +114,16 @@
 0:40            Construct combined texture-sampler ( temp isampler3D)
 0:40              'g_tTex3di4' ( uniform itexture3D)
 0:40              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
+0:40            Constant:
+0:40              0.400000
+0:40              0.500000
+0:40              0.600000
 0:40            Constant:
 0:40              0.500000
-0:?             Constant:
-0:?               1 (const int)
-0:?               1 (const int)
-0:?               1 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40              1 (const int)
+0:40              1 (const int)
 0:41      Sequence
 0:41        move second child to first child ( temp 4-component vector of uint)
 0:41          'txval32' ( temp 4-component vector of uint)
@@ -131,16 +131,16 @@
 0:41            Construct combined texture-sampler ( temp usampler3D)
 0:41              'g_tTex3du4' ( uniform utexture3D)
 0:41              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
+0:41            Constant:
+0:41              0.700000
+0:41              0.800000
+0:41              0.900000
 0:41            Constant:
 0:41              0.500000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
-0:?               -1 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:41              0 (const int)
+0:41              -1 (const int)
 0:45      move second child to first child ( temp 4-component vector of float)
 0:45        Color: direct index for structure ( temp 4-component vector of float)
 0:45          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
@@ -254,14 +254,14 @@
 0:35            Construct combined texture-sampler ( temp sampler2D)
 0:35              'g_tTex2df4' ( uniform texture2D)
 0:35              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:35            Constant:
+0:35              0.100000
+0:35              0.200000
 0:35            Constant:
 0:35              0.500000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
+0:35            Constant:
+0:35              1 (const int)
+0:35              0 (const int)
 0:36      Sequence
 0:36        move second child to first child ( temp 4-component vector of int)
 0:36          'txval21' ( temp 4-component vector of int)
@@ -269,14 +269,14 @@
 0:36            Construct combined texture-sampler ( temp isampler2D)
 0:36              'g_tTex2di4' ( uniform itexture2D)
 0:36              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
+0:36            Constant:
+0:36              0.300000
+0:36              0.400000
 0:36            Constant:
 0:36              0.500000
-0:?             Constant:
-0:?               1 (const int)
-0:?               1 (const int)
+0:36            Constant:
+0:36              1 (const int)
+0:36              1 (const int)
 0:37      Sequence
 0:37        move second child to first child ( temp 4-component vector of uint)
 0:37          'txval22' ( temp 4-component vector of uint)
@@ -284,14 +284,14 @@
 0:37            Construct combined texture-sampler ( temp usampler2D)
 0:37              'g_tTex2du4' ( uniform utexture2D)
 0:37              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
 0:37            Constant:
 0:37              0.500000
-0:?             Constant:
-0:?               1 (const int)
-0:?               -1 (const int)
+0:37              0.600000
+0:37            Constant:
+0:37              0.500000
+0:37            Constant:
+0:37              1 (const int)
+0:37              -1 (const int)
 0:39      Sequence
 0:39        move second child to first child ( temp 4-component vector of float)
 0:39          'txval30' ( temp 4-component vector of float)
@@ -299,16 +299,16 @@
 0:39            Construct combined texture-sampler ( temp sampler3D)
 0:39              'g_tTex3df4' ( uniform texture3D)
 0:39              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:39            Constant:
+0:39              0.100000
+0:39              0.200000
+0:39              0.300000
 0:39            Constant:
 0:39              0.500000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
-0:?               1 (const int)
+0:39            Constant:
+0:39              1 (const int)
+0:39              0 (const int)
+0:39              1 (const int)
 0:40      Sequence
 0:40        move second child to first child ( temp 4-component vector of int)
 0:40          'txval31' ( temp 4-component vector of int)
@@ -316,16 +316,16 @@
 0:40            Construct combined texture-sampler ( temp isampler3D)
 0:40              'g_tTex3di4' ( uniform itexture3D)
 0:40              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
+0:40            Constant:
+0:40              0.400000
+0:40              0.500000
+0:40              0.600000
 0:40            Constant:
 0:40              0.500000
-0:?             Constant:
-0:?               1 (const int)
-0:?               1 (const int)
-0:?               1 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40              1 (const int)
+0:40              1 (const int)
 0:41      Sequence
 0:41        move second child to first child ( temp 4-component vector of uint)
 0:41          'txval32' ( temp 4-component vector of uint)
@@ -333,16 +333,16 @@
 0:41            Construct combined texture-sampler ( temp usampler3D)
 0:41              'g_tTex3du4' ( uniform utexture3D)
 0:41              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
+0:41            Constant:
+0:41              0.700000
+0:41              0.800000
+0:41              0.900000
 0:41            Constant:
 0:41              0.500000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
-0:?               -1 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:41              0 (const int)
+0:41              -1 (const int)
 0:45      move second child to first child ( temp 4-component vector of float)
 0:45        Color: direct index for structure ( temp 4-component vector of float)
 0:45          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
diff --git a/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out
index 6225c45..f5aff67 100644
--- a/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out
@@ -13,9 +13,9 @@
 0:23            Construct combined texture-sampler ( temp sampler1DArray)
 0:23              'g_tTex1df4' (layout( binding=0) uniform texture1DArray)
 0:23              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:23            Constant:
+0:23              0.100000
+0:23              0.200000
 0:23            Constant:
 0:23              0.500000
 0:23            Constant:
@@ -27,9 +27,9 @@
 0:24            Construct combined texture-sampler ( temp isampler1DArray)
 0:24              'g_tTex1di4' ( uniform itexture1DArray)
 0:24              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.200000
-0:?               0.300000
+0:24            Constant:
+0:24              0.200000
+0:24              0.300000
 0:24            Constant:
 0:24              0.500000
 0:24            Constant:
@@ -41,9 +41,9 @@
 0:25            Construct combined texture-sampler ( temp usampler1DArray)
 0:25              'g_tTex1du4' ( uniform utexture1DArray)
 0:25              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
+0:25            Constant:
+0:25              0.300000
+0:25              0.400000
 0:25            Constant:
 0:25              0.500000
 0:25            Constant:
@@ -55,15 +55,15 @@
 0:27            Construct combined texture-sampler ( temp sampler2DArray)
 0:27              'g_tTex2df4' ( uniform texture2DArray)
 0:27              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:27            Constant:
+0:27              0.100000
+0:27              0.200000
+0:27              0.300000
 0:27            Constant:
 0:27              0.500000
-0:?             Constant:
-0:?               0 (const int)
-0:?               0 (const int)
+0:27            Constant:
+0:27              0 (const int)
+0:27              0 (const int)
 0:28      Sequence
 0:28        move second child to first child ( temp 4-component vector of int)
 0:28          'txval21' ( temp 4-component vector of int)
@@ -71,15 +71,15 @@
 0:28            Construct combined texture-sampler ( temp isampler2DArray)
 0:28              'g_tTex2di4' ( uniform itexture2DArray)
 0:28              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
-0:?               0.500000
+0:28            Constant:
+0:28              0.300000
+0:28              0.400000
+0:28              0.500000
 0:28            Constant:
 0:28              0.500000
-0:?             Constant:
-0:?               0 (const int)
-0:?               0 (const int)
+0:28            Constant:
+0:28              0 (const int)
+0:28              0 (const int)
 0:29      Sequence
 0:29        move second child to first child ( temp 4-component vector of uint)
 0:29          'txval22' ( temp 4-component vector of uint)
@@ -87,15 +87,15 @@
 0:29            Construct combined texture-sampler ( temp usampler2DArray)
 0:29              'g_tTex2du4' ( uniform utexture2DArray)
 0:29              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?               0.700000
 0:29            Constant:
 0:29              0.500000
-0:?             Constant:
-0:?               0 (const int)
-0:?               1 (const int)
+0:29              0.600000
+0:29              0.700000
+0:29            Constant:
+0:29              0.500000
+0:29            Constant:
+0:29              0 (const int)
+0:29              1 (const int)
 0:33      move second child to first child ( temp 4-component vector of float)
 0:33        Color: direct index for structure ( temp 4-component vector of float)
 0:33          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
@@ -164,9 +164,9 @@
 0:23            Construct combined texture-sampler ( temp sampler1DArray)
 0:23              'g_tTex1df4' (layout( binding=0) uniform texture1DArray)
 0:23              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:23            Constant:
+0:23              0.100000
+0:23              0.200000
 0:23            Constant:
 0:23              0.500000
 0:23            Constant:
@@ -178,9 +178,9 @@
 0:24            Construct combined texture-sampler ( temp isampler1DArray)
 0:24              'g_tTex1di4' ( uniform itexture1DArray)
 0:24              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.200000
-0:?               0.300000
+0:24            Constant:
+0:24              0.200000
+0:24              0.300000
 0:24            Constant:
 0:24              0.500000
 0:24            Constant:
@@ -192,9 +192,9 @@
 0:25            Construct combined texture-sampler ( temp usampler1DArray)
 0:25              'g_tTex1du4' ( uniform utexture1DArray)
 0:25              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
+0:25            Constant:
+0:25              0.300000
+0:25              0.400000
 0:25            Constant:
 0:25              0.500000
 0:25            Constant:
@@ -206,15 +206,15 @@
 0:27            Construct combined texture-sampler ( temp sampler2DArray)
 0:27              'g_tTex2df4' ( uniform texture2DArray)
 0:27              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:27            Constant:
+0:27              0.100000
+0:27              0.200000
+0:27              0.300000
 0:27            Constant:
 0:27              0.500000
-0:?             Constant:
-0:?               0 (const int)
-0:?               0 (const int)
+0:27            Constant:
+0:27              0 (const int)
+0:27              0 (const int)
 0:28      Sequence
 0:28        move second child to first child ( temp 4-component vector of int)
 0:28          'txval21' ( temp 4-component vector of int)
@@ -222,15 +222,15 @@
 0:28            Construct combined texture-sampler ( temp isampler2DArray)
 0:28              'g_tTex2di4' ( uniform itexture2DArray)
 0:28              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
-0:?               0.500000
+0:28            Constant:
+0:28              0.300000
+0:28              0.400000
+0:28              0.500000
 0:28            Constant:
 0:28              0.500000
-0:?             Constant:
-0:?               0 (const int)
-0:?               0 (const int)
+0:28            Constant:
+0:28              0 (const int)
+0:28              0 (const int)
 0:29      Sequence
 0:29        move second child to first child ( temp 4-component vector of uint)
 0:29          'txval22' ( temp 4-component vector of uint)
@@ -238,15 +238,15 @@
 0:29            Construct combined texture-sampler ( temp usampler2DArray)
 0:29              'g_tTex2du4' ( uniform utexture2DArray)
 0:29              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?               0.700000
 0:29            Constant:
 0:29              0.500000
-0:?             Constant:
-0:?               0 (const int)
-0:?               1 (const int)
+0:29              0.600000
+0:29              0.700000
+0:29            Constant:
+0:29              0.500000
+0:29            Constant:
+0:29              0 (const int)
+0:29              1 (const int)
 0:33      move second child to first child ( temp 4-component vector of float)
 0:33        Color: direct index for structure ( temp 4-component vector of float)
 0:33          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
diff --git a/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out
index b1c1d6d..0ab61eb 100644
--- a/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out
@@ -14,9 +14,9 @@
 0:42              'g_tTex1df4a' ( uniform texture1DArrayShadow)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
 0:42            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:42              Constant:
+0:42                0.100000
+0:42                0.200000
 0:42              Constant:
 0:42                0.750000
 0:43      Sequence
@@ -27,9 +27,9 @@
 0:43              'g_tTex1di4a' ( uniform itexture1DArrayShadow)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
 0:43            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:43              Constant:
+0:43                0.100000
+0:43                0.200000
 0:43              Constant:
 0:43                0.750000
 0:44      Sequence
@@ -40,9 +40,9 @@
 0:44              'g_tTex1du4a' ( uniform utexture1DArrayShadow)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
 0:44            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:44              Constant:
+0:44                0.100000
+0:44                0.200000
 0:44              Constant:
 0:44                0.750000
 0:47      Sequence
@@ -53,10 +53,10 @@
 0:47              'g_tTex2df4a' ( uniform texture2DArrayShadow)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
 0:47            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:47              Constant:
+0:47                0.100000
+0:47                0.200000
+0:47                0.300000
 0:47              Constant:
 0:47                0.750000
 0:48      Sequence
@@ -67,10 +67,10 @@
 0:48              'g_tTex2di4a' ( uniform itexture2DArrayShadow)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
 0:48            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:48              Constant:
+0:48                0.100000
+0:48                0.200000
+0:48                0.300000
 0:48              Constant:
 0:48                0.750000
 0:49      Sequence
@@ -81,10 +81,10 @@
 0:49              'g_tTex2du4a' ( uniform utexture2DArrayShadow)
 0:49              'g_sSamp' (layout( binding=0) uniform sampler)
 0:49            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:49              Constant:
+0:49                0.100000
+0:49                0.200000
+0:49                0.300000
 0:49              Constant:
 0:49                0.750000
 0:52      Sequence
@@ -95,11 +95,11 @@
 0:52              'g_tTexcdf4a' ( uniform textureCubeArrayShadow)
 0:52              'g_sSamp' (layout( binding=0) uniform sampler)
 0:52            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
-0:?                 0.400000
+0:52              Constant:
+0:52                0.100000
+0:52                0.200000
+0:52                0.300000
+0:52                0.400000
 0:52            Constant:
 0:52              0.750000
 0:53      Sequence
@@ -110,11 +110,11 @@
 0:53              'g_tTexcdi4a' ( uniform itextureCubeArrayShadow)
 0:53              'g_sSamp' (layout( binding=0) uniform sampler)
 0:53            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
-0:?                 0.400000
+0:53              Constant:
+0:53                0.100000
+0:53                0.200000
+0:53                0.300000
+0:53                0.400000
 0:53            Constant:
 0:53              0.750000
 0:54      Sequence
@@ -125,11 +125,11 @@
 0:54              'g_tTexcdu4a' ( uniform utextureCubeArrayShadow)
 0:54              'g_sSamp' (layout( binding=0) uniform sampler)
 0:54            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
-0:?                 0.400000
+0:54              Constant:
+0:54                0.100000
+0:54                0.200000
+0:54                0.300000
+0:54                0.400000
 0:54            Constant:
 0:54              0.750000
 0:56      move second child to first child ( temp 4-component vector of float)
@@ -215,9 +215,9 @@
 0:42              'g_tTex1df4a' ( uniform texture1DArrayShadow)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
 0:42            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:42              Constant:
+0:42                0.100000
+0:42                0.200000
 0:42              Constant:
 0:42                0.750000
 0:43      Sequence
@@ -228,9 +228,9 @@
 0:43              'g_tTex1di4a' ( uniform itexture1DArrayShadow)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
 0:43            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:43              Constant:
+0:43                0.100000
+0:43                0.200000
 0:43              Constant:
 0:43                0.750000
 0:44      Sequence
@@ -241,9 +241,9 @@
 0:44              'g_tTex1du4a' ( uniform utexture1DArrayShadow)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
 0:44            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:44              Constant:
+0:44                0.100000
+0:44                0.200000
 0:44              Constant:
 0:44                0.750000
 0:47      Sequence
@@ -254,10 +254,10 @@
 0:47              'g_tTex2df4a' ( uniform texture2DArrayShadow)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
 0:47            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:47              Constant:
+0:47                0.100000
+0:47                0.200000
+0:47                0.300000
 0:47              Constant:
 0:47                0.750000
 0:48      Sequence
@@ -268,10 +268,10 @@
 0:48              'g_tTex2di4a' ( uniform itexture2DArrayShadow)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
 0:48            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:48              Constant:
+0:48                0.100000
+0:48                0.200000
+0:48                0.300000
 0:48              Constant:
 0:48                0.750000
 0:49      Sequence
@@ -282,10 +282,10 @@
 0:49              'g_tTex2du4a' ( uniform utexture2DArrayShadow)
 0:49              'g_sSamp' (layout( binding=0) uniform sampler)
 0:49            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:49              Constant:
+0:49                0.100000
+0:49                0.200000
+0:49                0.300000
 0:49              Constant:
 0:49                0.750000
 0:52      Sequence
@@ -296,11 +296,11 @@
 0:52              'g_tTexcdf4a' ( uniform textureCubeArrayShadow)
 0:52              'g_sSamp' (layout( binding=0) uniform sampler)
 0:52            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
-0:?                 0.400000
+0:52              Constant:
+0:52                0.100000
+0:52                0.200000
+0:52                0.300000
+0:52                0.400000
 0:52            Constant:
 0:52              0.750000
 0:53      Sequence
@@ -311,11 +311,11 @@
 0:53              'g_tTexcdi4a' ( uniform itextureCubeArrayShadow)
 0:53              'g_sSamp' (layout( binding=0) uniform sampler)
 0:53            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
-0:?                 0.400000
+0:53              Constant:
+0:53                0.100000
+0:53                0.200000
+0:53                0.300000
+0:53                0.400000
 0:53            Constant:
 0:53              0.750000
 0:54      Sequence
@@ -326,11 +326,11 @@
 0:54              'g_tTexcdu4a' ( uniform utextureCubeArrayShadow)
 0:54              'g_sSamp' (layout( binding=0) uniform sampler)
 0:54            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
-0:?                 0.400000
+0:54              Constant:
+0:54                0.100000
+0:54                0.200000
+0:54                0.300000
+0:54                0.400000
 0:54            Constant:
 0:54              0.750000
 0:56      move second child to first child ( temp 4-component vector of float)
diff --git a/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out
index e3d5b93..c178c57 100644
--- a/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out
@@ -50,9 +50,9 @@
 0:47              'g_tTex2df4' ( uniform texture2DShadow)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
 0:47            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:47              Constant:
+0:47                0.100000
+0:47                0.200000
 0:47              Constant:
 0:47                0.750000
 0:48      Sequence
@@ -63,9 +63,9 @@
 0:48              'g_tTex2di4' ( uniform itexture2DShadow)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
 0:48            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:48              Constant:
+0:48                0.100000
+0:48                0.200000
 0:48              Constant:
 0:48                0.750000
 0:49      Sequence
@@ -76,9 +76,9 @@
 0:49              'g_tTex2du4' ( uniform utexture2DShadow)
 0:49              'g_sSamp' (layout( binding=0) uniform sampler)
 0:49            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:49              Constant:
+0:49                0.100000
+0:49                0.200000
 0:49              Constant:
 0:49                0.750000
 0:53      Sequence
@@ -89,10 +89,10 @@
 0:53              'g_tTexcdf4' ( uniform textureCubeShadow)
 0:53              'g_sSamp' (layout( binding=0) uniform sampler)
 0:53            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:53              Constant:
+0:53                0.100000
+0:53                0.200000
+0:53                0.300000
 0:53              Constant:
 0:53                0.750000
 0:54      Sequence
@@ -103,10 +103,10 @@
 0:54              'g_tTexcdi4' ( uniform itextureCubeShadow)
 0:54              'g_sSamp' (layout( binding=0) uniform sampler)
 0:54            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:54              Constant:
+0:54                0.100000
+0:54                0.200000
+0:54                0.300000
 0:54              Constant:
 0:54                0.750000
 0:55      Sequence
@@ -117,10 +117,10 @@
 0:55              'g_tTexcdu4' ( uniform utextureCubeShadow)
 0:55              'g_sSamp' (layout( binding=0) uniform sampler)
 0:55            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:55              Constant:
+0:55                0.100000
+0:55                0.200000
+0:55                0.300000
 0:55              Constant:
 0:55                0.750000
 0:57      move second child to first child ( temp 4-component vector of float)
@@ -242,9 +242,9 @@
 0:47              'g_tTex2df4' ( uniform texture2DShadow)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
 0:47            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:47              Constant:
+0:47                0.100000
+0:47                0.200000
 0:47              Constant:
 0:47                0.750000
 0:48      Sequence
@@ -255,9 +255,9 @@
 0:48              'g_tTex2di4' ( uniform itexture2DShadow)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
 0:48            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:48              Constant:
+0:48                0.100000
+0:48                0.200000
 0:48              Constant:
 0:48                0.750000
 0:49      Sequence
@@ -268,9 +268,9 @@
 0:49              'g_tTex2du4' ( uniform utexture2DShadow)
 0:49              'g_sSamp' (layout( binding=0) uniform sampler)
 0:49            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:49              Constant:
+0:49                0.100000
+0:49                0.200000
 0:49              Constant:
 0:49                0.750000
 0:53      Sequence
@@ -281,10 +281,10 @@
 0:53              'g_tTexcdf4' ( uniform textureCubeShadow)
 0:53              'g_sSamp' (layout( binding=0) uniform sampler)
 0:53            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:53              Constant:
+0:53                0.100000
+0:53                0.200000
+0:53                0.300000
 0:53              Constant:
 0:53                0.750000
 0:54      Sequence
@@ -295,10 +295,10 @@
 0:54              'g_tTexcdi4' ( uniform itextureCubeShadow)
 0:54              'g_sSamp' (layout( binding=0) uniform sampler)
 0:54            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:54              Constant:
+0:54                0.100000
+0:54                0.200000
+0:54                0.300000
 0:54              Constant:
 0:54                0.750000
 0:55      Sequence
@@ -309,10 +309,10 @@
 0:55              'g_tTexcdu4' ( uniform utextureCubeShadow)
 0:55              'g_sSamp' (layout( binding=0) uniform sampler)
 0:55            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:55              Constant:
+0:55                0.100000
+0:55                0.200000
+0:55                0.300000
 0:55              Constant:
 0:55                0.750000
 0:57      move second child to first child ( temp 4-component vector of float)
diff --git a/Test/baseResults/hlsl.samplecmp.negative.frag.out b/Test/baseResults/hlsl.samplecmp.negative.frag.out
index 65a69e8..37a324b 100644
--- a/Test/baseResults/hlsl.samplecmp.negative.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.negative.frag.out
@@ -14,18 +14,18 @@
 0:9          'g_shadowTex' ( uniform texture2DShadow)
 0:9          'g_shadowSamplerComp' ( uniform sampler)
 0:9        Construct vec3 ( temp 3-component vector of float)
-0:?           Constant:
-0:?             0.000000
-0:?             0.000000
+0:9          Constant:
+0:9            0.000000
+0:9            0.000000
 0:9          Constant:
 0:9            0.000000
 0:10      ERROR: Bad aggregation op
  ( temp float)
 0:10        'g_nonShadowTex' ( uniform texture2D)
 0:10        'g_shadowSampler' ( uniform sampler)
-0:?         Constant:
-0:?           0.000000
-0:?           0.000000
+0:10        Constant:
+0:10          0.000000
+0:10          0.000000
 0:10        Constant:
 0:10          0.000000
 0:12      Branch: Return with expression
@@ -62,18 +62,18 @@
 0:9          'g_shadowTex' ( uniform texture2DShadow)
 0:9          'g_shadowSamplerComp' ( uniform sampler)
 0:9        Construct vec3 ( temp 3-component vector of float)
-0:?           Constant:
-0:?             0.000000
-0:?             0.000000
+0:9          Constant:
+0:9            0.000000
+0:9            0.000000
 0:9          Constant:
 0:9            0.000000
 0:10      ERROR: Bad aggregation op
  ( temp float)
 0:10        'g_nonShadowTex' ( uniform texture2D)
 0:10        'g_shadowSampler' ( uniform sampler)
-0:?         Constant:
-0:?           0.000000
-0:?           0.000000
+0:10        Constant:
+0:10          0.000000
+0:10          0.000000
 0:10        Constant:
 0:10          0.000000
 0:12      Branch: Return with expression
diff --git a/Test/baseResults/hlsl.samplecmp.negative2.frag.out b/Test/baseResults/hlsl.samplecmp.negative2.frag.out
index 996b3f8..893a6d9 100644
--- a/Test/baseResults/hlsl.samplecmp.negative2.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.negative2.frag.out
@@ -13,14 +13,14 @@
  ( temp 4-component vector of float)
 0:7        'g_shadowTex' ( uniform texture2D)
 0:7        'g_shadowSampler' ( uniform sampler)
-0:?         Constant:
-0:?           0.000000
-0:?           0.000000
 0:7        Constant:
 0:7          0.000000
-0:?         Constant:
-0:?           0 (const int)
-0:?           0 (const int)
+0:7          0.000000
+0:7        Constant:
+0:7          0.000000
+0:7        Constant:
+0:7          0 (const int)
+0:7          0 (const int)
 0:9      Branch: Return with expression
 0:9        Constant:
 0:9          0.000000
@@ -52,14 +52,14 @@
  ( temp 4-component vector of float)
 0:7        'g_shadowTex' ( uniform texture2D)
 0:7        'g_shadowSampler' ( uniform sampler)
-0:?         Constant:
-0:?           0.000000
-0:?           0.000000
 0:7        Constant:
 0:7          0.000000
-0:?         Constant:
-0:?           0 (const int)
-0:?           0 (const int)
+0:7          0.000000
+0:7        Constant:
+0:7          0.000000
+0:7        Constant:
+0:7          0 (const int)
+0:7          0 (const int)
 0:9      Branch: Return with expression
 0:9        Constant:
 0:9          0.000000
diff --git a/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out
index aaa2b74..1e50d7b 100644
--- a/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out
@@ -56,14 +56,14 @@
 0:47              'g_tTex2df4' ( uniform texture2DShadow)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
 0:47            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:47              Constant:
+0:47                0.100000
+0:47                0.200000
 0:47              Constant:
 0:47                0.750000
-0:?             Constant:
-0:?               2 (const int)
-0:?               3 (const int)
+0:47            Constant:
+0:47              2 (const int)
+0:47              3 (const int)
 0:48      Sequence
 0:48        move second child to first child ( temp float)
 0:48          'r23' ( temp float)
@@ -72,14 +72,14 @@
 0:48              'g_tTex2di4' ( uniform itexture2DShadow)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
 0:48            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:48              Constant:
+0:48                0.100000
+0:48                0.200000
 0:48              Constant:
 0:48                0.750000
-0:?             Constant:
-0:?               2 (const int)
-0:?               3 (const int)
+0:48            Constant:
+0:48              2 (const int)
+0:48              3 (const int)
 0:49      Sequence
 0:49        move second child to first child ( temp float)
 0:49          'r25' ( temp float)
@@ -88,14 +88,14 @@
 0:49              'g_tTex2du4' ( uniform utexture2DShadow)
 0:49              'g_sSamp' (layout( binding=0) uniform sampler)
 0:49            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:49              Constant:
+0:49                0.100000
+0:49                0.200000
 0:49              Constant:
 0:49                0.750000
-0:?             Constant:
-0:?               2 (const int)
-0:?               3 (const int)
+0:49            Constant:
+0:49              2 (const int)
+0:49              3 (const int)
 0:62      move second child to first child ( temp 4-component vector of float)
 0:62        Color: direct index for structure ( temp 4-component vector of float)
 0:62          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
@@ -221,14 +221,14 @@
 0:47              'g_tTex2df4' ( uniform texture2DShadow)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
 0:47            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:47              Constant:
+0:47                0.100000
+0:47                0.200000
 0:47              Constant:
 0:47                0.750000
-0:?             Constant:
-0:?               2 (const int)
-0:?               3 (const int)
+0:47            Constant:
+0:47              2 (const int)
+0:47              3 (const int)
 0:48      Sequence
 0:48        move second child to first child ( temp float)
 0:48          'r23' ( temp float)
@@ -237,14 +237,14 @@
 0:48              'g_tTex2di4' ( uniform itexture2DShadow)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
 0:48            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:48              Constant:
+0:48                0.100000
+0:48                0.200000
 0:48              Constant:
 0:48                0.750000
-0:?             Constant:
-0:?               2 (const int)
-0:?               3 (const int)
+0:48            Constant:
+0:48              2 (const int)
+0:48              3 (const int)
 0:49      Sequence
 0:49        move second child to first child ( temp float)
 0:49          'r25' ( temp float)
@@ -253,14 +253,14 @@
 0:49              'g_tTex2du4' ( uniform utexture2DShadow)
 0:49              'g_sSamp' (layout( binding=0) uniform sampler)
 0:49            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:49              Constant:
+0:49                0.100000
+0:49                0.200000
 0:49              Constant:
 0:49                0.750000
-0:?             Constant:
-0:?               2 (const int)
-0:?               3 (const int)
+0:49            Constant:
+0:49              2 (const int)
+0:49              3 (const int)
 0:62      move second child to first child ( temp 4-component vector of float)
 0:62        Color: direct index for structure ( temp 4-component vector of float)
 0:62          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
diff --git a/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out
index 501f4c0..3b1eb6f 100644
--- a/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out
@@ -14,9 +14,9 @@
 0:42              'g_tTex1df4a' ( uniform texture1DArrayShadow)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
 0:42            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:42              Constant:
+0:42                0.100000
+0:42                0.200000
 0:42              Constant:
 0:42                0.750000
 0:42            Constant:
@@ -29,9 +29,9 @@
 0:43              'g_tTex1di4a' ( uniform itexture1DArrayShadow)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
 0:43            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:43              Constant:
+0:43                0.100000
+0:43                0.200000
 0:43              Constant:
 0:43                0.750000
 0:43            Constant:
@@ -44,9 +44,9 @@
 0:44              'g_tTex1du4a' ( uniform utexture1DArrayShadow)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
 0:44            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:44              Constant:
+0:44                0.100000
+0:44                0.200000
 0:44              Constant:
 0:44                0.750000
 0:44            Constant:
@@ -59,15 +59,15 @@
 0:47              'g_tTex2df4a' ( uniform texture2DArrayShadow)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
 0:47            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:47              Constant:
+0:47                0.100000
+0:47                0.200000
+0:47                0.300000
 0:47              Constant:
 0:47                0.750000
-0:?             Constant:
-0:?               2 (const int)
-0:?               3 (const int)
+0:47            Constant:
+0:47              2 (const int)
+0:47              3 (const int)
 0:48      Sequence
 0:48        move second child to first child ( temp float)
 0:48          'r33' ( temp float)
@@ -76,15 +76,15 @@
 0:48              'g_tTex2di4a' ( uniform itexture2DArrayShadow)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
 0:48            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:48              Constant:
+0:48                0.100000
+0:48                0.200000
+0:48                0.300000
 0:48              Constant:
 0:48                0.750000
-0:?             Constant:
-0:?               2 (const int)
-0:?               3 (const int)
+0:48            Constant:
+0:48              2 (const int)
+0:48              3 (const int)
 0:49      Sequence
 0:49        move second child to first child ( temp float)
 0:49          'r35' ( temp float)
@@ -93,15 +93,15 @@
 0:49              'g_tTex2du4a' ( uniform utexture2DArrayShadow)
 0:49              'g_sSamp' (layout( binding=0) uniform sampler)
 0:49            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:49              Constant:
+0:49                0.100000
+0:49                0.200000
+0:49                0.300000
 0:49              Constant:
 0:49                0.750000
-0:?             Constant:
-0:?               2 (const int)
-0:?               3 (const int)
+0:49            Constant:
+0:49              2 (const int)
+0:49              3 (const int)
 0:63      move second child to first child ( temp 4-component vector of float)
 0:63        Color: direct index for structure ( temp 4-component vector of float)
 0:63          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
@@ -185,9 +185,9 @@
 0:42              'g_tTex1df4a' ( uniform texture1DArrayShadow)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
 0:42            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:42              Constant:
+0:42                0.100000
+0:42                0.200000
 0:42              Constant:
 0:42                0.750000
 0:42            Constant:
@@ -200,9 +200,9 @@
 0:43              'g_tTex1di4a' ( uniform itexture1DArrayShadow)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
 0:43            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:43              Constant:
+0:43                0.100000
+0:43                0.200000
 0:43              Constant:
 0:43                0.750000
 0:43            Constant:
@@ -215,9 +215,9 @@
 0:44              'g_tTex1du4a' ( uniform utexture1DArrayShadow)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
 0:44            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:44              Constant:
+0:44                0.100000
+0:44                0.200000
 0:44              Constant:
 0:44                0.750000
 0:44            Constant:
@@ -230,15 +230,15 @@
 0:47              'g_tTex2df4a' ( uniform texture2DArrayShadow)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
 0:47            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:47              Constant:
+0:47                0.100000
+0:47                0.200000
+0:47                0.300000
 0:47              Constant:
 0:47                0.750000
-0:?             Constant:
-0:?               2 (const int)
-0:?               3 (const int)
+0:47            Constant:
+0:47              2 (const int)
+0:47              3 (const int)
 0:48      Sequence
 0:48        move second child to first child ( temp float)
 0:48          'r33' ( temp float)
@@ -247,15 +247,15 @@
 0:48              'g_tTex2di4a' ( uniform itexture2DArrayShadow)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
 0:48            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:48              Constant:
+0:48                0.100000
+0:48                0.200000
+0:48                0.300000
 0:48              Constant:
 0:48                0.750000
-0:?             Constant:
-0:?               2 (const int)
-0:?               3 (const int)
+0:48            Constant:
+0:48              2 (const int)
+0:48              3 (const int)
 0:49      Sequence
 0:49        move second child to first child ( temp float)
 0:49          'r35' ( temp float)
@@ -264,15 +264,15 @@
 0:49              'g_tTex2du4a' ( uniform utexture2DArrayShadow)
 0:49              'g_sSamp' (layout( binding=0) uniform sampler)
 0:49            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:49              Constant:
+0:49                0.100000
+0:49                0.200000
+0:49                0.300000
 0:49              Constant:
 0:49                0.750000
-0:?             Constant:
-0:?               2 (const int)
-0:?               3 (const int)
+0:49            Constant:
+0:49              2 (const int)
+0:49              3 (const int)
 0:63      move second child to first child ( temp 4-component vector of float)
 0:63        Color: direct index for structure ( temp 4-component vector of float)
 0:63          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
diff --git a/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out
index ecfeb1b..a734e54 100644
--- a/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out
@@ -14,9 +14,9 @@
 0:42              'g_tTex1df4a' ( uniform texture1DArrayShadow)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
 0:42            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:42              Constant:
+0:42                0.100000
+0:42                0.200000
 0:42              Constant:
 0:42                0.750000
 0:42            Constant:
@@ -29,9 +29,9 @@
 0:43              'g_tTex1di4a' ( uniform itexture1DArrayShadow)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
 0:43            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:43              Constant:
+0:43                0.100000
+0:43                0.200000
 0:43              Constant:
 0:43                0.750000
 0:43            Constant:
@@ -44,9 +44,9 @@
 0:44              'g_tTex1du4a' ( uniform utexture1DArrayShadow)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
 0:44            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:44              Constant:
+0:44                0.100000
+0:44                0.200000
 0:44              Constant:
 0:44                0.750000
 0:44            Constant:
@@ -59,10 +59,10 @@
 0:47              'g_tTex2df4a' ( uniform texture2DArrayShadow)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
 0:47            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:47              Constant:
+0:47                0.100000
+0:47                0.200000
+0:47                0.300000
 0:47              Constant:
 0:47                0.750000
 0:47            Constant:
@@ -75,10 +75,10 @@
 0:48              'g_tTex2di4a' ( uniform itexture2DArrayShadow)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
 0:48            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:48              Constant:
+0:48                0.100000
+0:48                0.200000
+0:48                0.300000
 0:48              Constant:
 0:48                0.750000
 0:48            Constant:
@@ -91,10 +91,10 @@
 0:49              'g_tTex2du4a' ( uniform utexture2DArrayShadow)
 0:49              'g_sSamp' (layout( binding=0) uniform sampler)
 0:49            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:49              Constant:
+0:49                0.100000
+0:49                0.200000
+0:49                0.300000
 0:49              Constant:
 0:49                0.750000
 0:49            Constant:
@@ -107,11 +107,11 @@
 0:52              'g_tTexcdf4a' ( uniform textureCubeArrayShadow)
 0:52              'g_sSamp' (layout( binding=0) uniform sampler)
 0:52            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
-0:?                 0.400000
+0:52              Constant:
+0:52                0.100000
+0:52                0.200000
+0:52                0.300000
+0:52                0.400000
 0:52            Constant:
 0:52              0.750000
 0:52            Constant:
@@ -124,11 +124,11 @@
 0:53              'g_tTexcdi4a' ( uniform itextureCubeArrayShadow)
 0:53              'g_sSamp' (layout( binding=0) uniform sampler)
 0:53            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
-0:?                 0.400000
+0:53              Constant:
+0:53                0.100000
+0:53                0.200000
+0:53                0.300000
+0:53                0.400000
 0:53            Constant:
 0:53              0.750000
 0:53            Constant:
@@ -141,11 +141,11 @@
 0:54              'g_tTexcdu4a' ( uniform utextureCubeArrayShadow)
 0:54              'g_sSamp' (layout( binding=0) uniform sampler)
 0:54            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
-0:?                 0.400000
+0:54              Constant:
+0:54                0.100000
+0:54                0.200000
+0:54                0.300000
+0:54                0.400000
 0:54            Constant:
 0:54              0.750000
 0:54            Constant:
@@ -233,9 +233,9 @@
 0:42              'g_tTex1df4a' ( uniform texture1DArrayShadow)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
 0:42            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:42              Constant:
+0:42                0.100000
+0:42                0.200000
 0:42              Constant:
 0:42                0.750000
 0:42            Constant:
@@ -248,9 +248,9 @@
 0:43              'g_tTex1di4a' ( uniform itexture1DArrayShadow)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
 0:43            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:43              Constant:
+0:43                0.100000
+0:43                0.200000
 0:43              Constant:
 0:43                0.750000
 0:43            Constant:
@@ -263,9 +263,9 @@
 0:44              'g_tTex1du4a' ( uniform utexture1DArrayShadow)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
 0:44            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:44              Constant:
+0:44                0.100000
+0:44                0.200000
 0:44              Constant:
 0:44                0.750000
 0:44            Constant:
@@ -278,10 +278,10 @@
 0:47              'g_tTex2df4a' ( uniform texture2DArrayShadow)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
 0:47            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:47              Constant:
+0:47                0.100000
+0:47                0.200000
+0:47                0.300000
 0:47              Constant:
 0:47                0.750000
 0:47            Constant:
@@ -294,10 +294,10 @@
 0:48              'g_tTex2di4a' ( uniform itexture2DArrayShadow)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
 0:48            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:48              Constant:
+0:48                0.100000
+0:48                0.200000
+0:48                0.300000
 0:48              Constant:
 0:48                0.750000
 0:48            Constant:
@@ -310,10 +310,10 @@
 0:49              'g_tTex2du4a' ( uniform utexture2DArrayShadow)
 0:49              'g_sSamp' (layout( binding=0) uniform sampler)
 0:49            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:49              Constant:
+0:49                0.100000
+0:49                0.200000
+0:49                0.300000
 0:49              Constant:
 0:49                0.750000
 0:49            Constant:
@@ -326,11 +326,11 @@
 0:52              'g_tTexcdf4a' ( uniform textureCubeArrayShadow)
 0:52              'g_sSamp' (layout( binding=0) uniform sampler)
 0:52            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
-0:?                 0.400000
+0:52              Constant:
+0:52                0.100000
+0:52                0.200000
+0:52                0.300000
+0:52                0.400000
 0:52            Constant:
 0:52              0.750000
 0:52            Constant:
@@ -343,11 +343,11 @@
 0:53              'g_tTexcdi4a' ( uniform itextureCubeArrayShadow)
 0:53              'g_sSamp' (layout( binding=0) uniform sampler)
 0:53            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
-0:?                 0.400000
+0:53              Constant:
+0:53                0.100000
+0:53                0.200000
+0:53                0.300000
+0:53                0.400000
 0:53            Constant:
 0:53              0.750000
 0:53            Constant:
@@ -360,11 +360,11 @@
 0:54              'g_tTexcdu4a' ( uniform utextureCubeArrayShadow)
 0:54              'g_sSamp' (layout( binding=0) uniform sampler)
 0:54            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
-0:?                 0.400000
+0:54              Constant:
+0:54                0.100000
+0:54                0.200000
+0:54                0.300000
+0:54                0.400000
 0:54            Constant:
 0:54              0.750000
 0:54            Constant:
diff --git a/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out
index c852c9f..54135cd 100644
--- a/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out
@@ -56,9 +56,9 @@
 0:47              'g_tTex2df4' ( uniform texture2DShadow)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
 0:47            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:47              Constant:
+0:47                0.100000
+0:47                0.200000
 0:47              Constant:
 0:47                0.750000
 0:47            Constant:
@@ -71,9 +71,9 @@
 0:48              'g_tTex2di4' ( uniform itexture2DShadow)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
 0:48            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:48              Constant:
+0:48                0.100000
+0:48                0.200000
 0:48              Constant:
 0:48                0.750000
 0:48            Constant:
@@ -86,9 +86,9 @@
 0:49              'g_tTex2du4' ( uniform utexture2DShadow)
 0:49              'g_sSamp' (layout( binding=0) uniform sampler)
 0:49            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:49              Constant:
+0:49                0.100000
+0:49                0.200000
 0:49              Constant:
 0:49                0.750000
 0:49            Constant:
@@ -101,10 +101,10 @@
 0:53              'g_tTexcdf4' ( uniform textureCubeShadow)
 0:53              'g_sSamp' (layout( binding=0) uniform sampler)
 0:53            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:53              Constant:
+0:53                0.100000
+0:53                0.200000
+0:53                0.300000
 0:53              Constant:
 0:53                0.750000
 0:53            Constant:
@@ -117,10 +117,10 @@
 0:54              'g_tTexcdi4' ( uniform itextureCubeShadow)
 0:54              'g_sSamp' (layout( binding=0) uniform sampler)
 0:54            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:54              Constant:
+0:54                0.100000
+0:54                0.200000
+0:54                0.300000
 0:54              Constant:
 0:54                0.750000
 0:54            Constant:
@@ -133,10 +133,10 @@
 0:55              'g_tTexcdu4' ( uniform utextureCubeShadow)
 0:55              'g_sSamp' (layout( binding=0) uniform sampler)
 0:55            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:55              Constant:
+0:55                0.100000
+0:55                0.200000
+0:55                0.300000
 0:55              Constant:
 0:55                0.750000
 0:55            Constant:
@@ -266,9 +266,9 @@
 0:47              'g_tTex2df4' ( uniform texture2DShadow)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
 0:47            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:47              Constant:
+0:47                0.100000
+0:47                0.200000
 0:47              Constant:
 0:47                0.750000
 0:47            Constant:
@@ -281,9 +281,9 @@
 0:48              'g_tTex2di4' ( uniform itexture2DShadow)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
 0:48            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:48              Constant:
+0:48                0.100000
+0:48                0.200000
 0:48              Constant:
 0:48                0.750000
 0:48            Constant:
@@ -296,9 +296,9 @@
 0:49              'g_tTex2du4' ( uniform utexture2DShadow)
 0:49              'g_sSamp' (layout( binding=0) uniform sampler)
 0:49            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:49              Constant:
+0:49                0.100000
+0:49                0.200000
 0:49              Constant:
 0:49                0.750000
 0:49            Constant:
@@ -311,10 +311,10 @@
 0:53              'g_tTexcdf4' ( uniform textureCubeShadow)
 0:53              'g_sSamp' (layout( binding=0) uniform sampler)
 0:53            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:53              Constant:
+0:53                0.100000
+0:53                0.200000
+0:53                0.300000
 0:53              Constant:
 0:53                0.750000
 0:53            Constant:
@@ -327,10 +327,10 @@
 0:54              'g_tTexcdi4' ( uniform itextureCubeShadow)
 0:54              'g_sSamp' (layout( binding=0) uniform sampler)
 0:54            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:54              Constant:
+0:54                0.100000
+0:54                0.200000
+0:54                0.300000
 0:54              Constant:
 0:54                0.750000
 0:54            Constant:
@@ -343,10 +343,10 @@
 0:55              'g_tTexcdu4' ( uniform utextureCubeShadow)
 0:55              'g_sSamp' (layout( binding=0) uniform sampler)
 0:55            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:55              Constant:
+0:55                0.100000
+0:55                0.200000
+0:55                0.300000
 0:55              Constant:
 0:55                0.750000
 0:55            Constant:
diff --git a/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out
index 95c5c61..4922cde 100644
--- a/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out
@@ -62,16 +62,16 @@
 0:47              'g_tTex2df4' ( uniform texture2DShadow)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
 0:47            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:47              Constant:
+0:47                0.100000
+0:47                0.200000
 0:47              Constant:
 0:47                0.750000
 0:47            Constant:
 0:47              0.000000
-0:?             Constant:
-0:?               2 (const int)
-0:?               3 (const int)
+0:47            Constant:
+0:47              2 (const int)
+0:47              3 (const int)
 0:48      Sequence
 0:48        move second child to first child ( temp float)
 0:48          'r23' ( temp float)
@@ -80,16 +80,16 @@
 0:48              'g_tTex2di4' ( uniform itexture2DShadow)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
 0:48            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:48              Constant:
+0:48                0.100000
+0:48                0.200000
 0:48              Constant:
 0:48                0.750000
 0:48            Constant:
 0:48              0.000000
-0:?             Constant:
-0:?               2 (const int)
-0:?               3 (const int)
+0:48            Constant:
+0:48              2 (const int)
+0:48              3 (const int)
 0:49      Sequence
 0:49        move second child to first child ( temp float)
 0:49          'r25' ( temp float)
@@ -98,16 +98,16 @@
 0:49              'g_tTex2du4' ( uniform utexture2DShadow)
 0:49              'g_sSamp' (layout( binding=0) uniform sampler)
 0:49            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:49              Constant:
+0:49                0.100000
+0:49                0.200000
 0:49              Constant:
 0:49                0.750000
 0:49            Constant:
 0:49              0.000000
-0:?             Constant:
-0:?               2 (const int)
-0:?               3 (const int)
+0:49            Constant:
+0:49              2 (const int)
+0:49              3 (const int)
 0:62      move second child to first child ( temp 4-component vector of float)
 0:62        Color: direct index for structure ( temp 4-component vector of float)
 0:62          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
@@ -239,16 +239,16 @@
 0:47              'g_tTex2df4' ( uniform texture2DShadow)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
 0:47            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:47              Constant:
+0:47                0.100000
+0:47                0.200000
 0:47              Constant:
 0:47                0.750000
 0:47            Constant:
 0:47              0.000000
-0:?             Constant:
-0:?               2 (const int)
-0:?               3 (const int)
+0:47            Constant:
+0:47              2 (const int)
+0:47              3 (const int)
 0:48      Sequence
 0:48        move second child to first child ( temp float)
 0:48          'r23' ( temp float)
@@ -257,16 +257,16 @@
 0:48              'g_tTex2di4' ( uniform itexture2DShadow)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
 0:48            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:48              Constant:
+0:48                0.100000
+0:48                0.200000
 0:48              Constant:
 0:48                0.750000
 0:48            Constant:
 0:48              0.000000
-0:?             Constant:
-0:?               2 (const int)
-0:?               3 (const int)
+0:48            Constant:
+0:48              2 (const int)
+0:48              3 (const int)
 0:49      Sequence
 0:49        move second child to first child ( temp float)
 0:49          'r25' ( temp float)
@@ -275,16 +275,16 @@
 0:49              'g_tTex2du4' ( uniform utexture2DShadow)
 0:49              'g_sSamp' (layout( binding=0) uniform sampler)
 0:49            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:49              Constant:
+0:49                0.100000
+0:49                0.200000
 0:49              Constant:
 0:49                0.750000
 0:49            Constant:
 0:49              0.000000
-0:?             Constant:
-0:?               2 (const int)
-0:?               3 (const int)
+0:49            Constant:
+0:49              2 (const int)
+0:49              3 (const int)
 0:62      move second child to first child ( temp 4-component vector of float)
 0:62        Color: direct index for structure ( temp 4-component vector of float)
 0:62          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
diff --git a/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out
index 89a7bba..22bd257 100644
--- a/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out
@@ -14,9 +14,9 @@
 0:42              'g_tTex1df4a' ( uniform texture1DArrayShadow)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
 0:42            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:42              Constant:
+0:42                0.100000
+0:42                0.200000
 0:42              Constant:
 0:42                0.750000
 0:42            Constant:
@@ -31,9 +31,9 @@
 0:43              'g_tTex1di4a' ( uniform itexture1DArrayShadow)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
 0:43            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:43              Constant:
+0:43                0.100000
+0:43                0.200000
 0:43              Constant:
 0:43                0.750000
 0:43            Constant:
@@ -48,9 +48,9 @@
 0:44              'g_tTex1du4a' ( uniform utexture1DArrayShadow)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
 0:44            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:44              Constant:
+0:44                0.100000
+0:44                0.200000
 0:44              Constant:
 0:44                0.750000
 0:44            Constant:
@@ -65,17 +65,17 @@
 0:47              'g_tTex2df4a' ( uniform texture2DArrayShadow)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
 0:47            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:47              Constant:
+0:47                0.100000
+0:47                0.200000
+0:47                0.300000
 0:47              Constant:
 0:47                0.750000
 0:47            Constant:
 0:47              0.000000
-0:?             Constant:
-0:?               2 (const int)
-0:?               3 (const int)
+0:47            Constant:
+0:47              2 (const int)
+0:47              3 (const int)
 0:48      Sequence
 0:48        move second child to first child ( temp float)
 0:48          'r33' ( temp float)
@@ -84,17 +84,17 @@
 0:48              'g_tTex2di4a' ( uniform itexture2DArrayShadow)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
 0:48            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:48              Constant:
+0:48                0.100000
+0:48                0.200000
+0:48                0.300000
 0:48              Constant:
 0:48                0.750000
 0:48            Constant:
 0:48              0.000000
-0:?             Constant:
-0:?               2 (const int)
-0:?               3 (const int)
+0:48            Constant:
+0:48              2 (const int)
+0:48              3 (const int)
 0:49      Sequence
 0:49        move second child to first child ( temp float)
 0:49          'r35' ( temp float)
@@ -103,17 +103,17 @@
 0:49              'g_tTex2du4a' ( uniform utexture2DArrayShadow)
 0:49              'g_sSamp' (layout( binding=0) uniform sampler)
 0:49            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:49              Constant:
+0:49                0.100000
+0:49                0.200000
+0:49                0.300000
 0:49              Constant:
 0:49                0.750000
 0:49            Constant:
 0:49              0.000000
-0:?             Constant:
-0:?               2 (const int)
-0:?               3 (const int)
+0:49            Constant:
+0:49              2 (const int)
+0:49              3 (const int)
 0:63      move second child to first child ( temp 4-component vector of float)
 0:63        Color: direct index for structure ( temp 4-component vector of float)
 0:63          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
@@ -197,9 +197,9 @@
 0:42              'g_tTex1df4a' ( uniform texture1DArrayShadow)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
 0:42            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:42              Constant:
+0:42                0.100000
+0:42                0.200000
 0:42              Constant:
 0:42                0.750000
 0:42            Constant:
@@ -214,9 +214,9 @@
 0:43              'g_tTex1di4a' ( uniform itexture1DArrayShadow)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
 0:43            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:43              Constant:
+0:43                0.100000
+0:43                0.200000
 0:43              Constant:
 0:43                0.750000
 0:43            Constant:
@@ -231,9 +231,9 @@
 0:44              'g_tTex1du4a' ( uniform utexture1DArrayShadow)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
 0:44            Construct vec3 ( temp 3-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
+0:44              Constant:
+0:44                0.100000
+0:44                0.200000
 0:44              Constant:
 0:44                0.750000
 0:44            Constant:
@@ -248,17 +248,17 @@
 0:47              'g_tTex2df4a' ( uniform texture2DArrayShadow)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
 0:47            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:47              Constant:
+0:47                0.100000
+0:47                0.200000
+0:47                0.300000
 0:47              Constant:
 0:47                0.750000
 0:47            Constant:
 0:47              0.000000
-0:?             Constant:
-0:?               2 (const int)
-0:?               3 (const int)
+0:47            Constant:
+0:47              2 (const int)
+0:47              3 (const int)
 0:48      Sequence
 0:48        move second child to first child ( temp float)
 0:48          'r33' ( temp float)
@@ -267,17 +267,17 @@
 0:48              'g_tTex2di4a' ( uniform itexture2DArrayShadow)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
 0:48            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:48              Constant:
+0:48                0.100000
+0:48                0.200000
+0:48                0.300000
 0:48              Constant:
 0:48                0.750000
 0:48            Constant:
 0:48              0.000000
-0:?             Constant:
-0:?               2 (const int)
-0:?               3 (const int)
+0:48            Constant:
+0:48              2 (const int)
+0:48              3 (const int)
 0:49      Sequence
 0:49        move second child to first child ( temp float)
 0:49          'r35' ( temp float)
@@ -286,17 +286,17 @@
 0:49              'g_tTex2du4a' ( uniform utexture2DArrayShadow)
 0:49              'g_sSamp' (layout( binding=0) uniform sampler)
 0:49            Construct vec4 ( temp 4-component vector of float)
-0:?               Constant:
-0:?                 0.100000
-0:?                 0.200000
-0:?                 0.300000
+0:49              Constant:
+0:49                0.100000
+0:49                0.200000
+0:49                0.300000
 0:49              Constant:
 0:49                0.750000
 0:49            Constant:
 0:49              0.000000
-0:?             Constant:
-0:?               2 (const int)
-0:?               3 (const int)
+0:49            Constant:
+0:49              2 (const int)
+0:49              3 (const int)
 0:63      move second child to first child ( temp 4-component vector of float)
 0:63        Color: direct index for structure ( temp 4-component vector of float)
 0:63          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
diff --git a/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out
index 8daeb7f..67e1d15 100644
--- a/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out
@@ -13,9 +13,9 @@
 0:27            Construct combined texture-sampler ( temp sampler1DArray)
 0:27              'g_tTex1df4' (layout( binding=0) uniform texture1DArray)
 0:27              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:27            Constant:
+0:27              0.100000
+0:27              0.200000
 0:27            Constant:
 0:27              1.100000
 0:27            Constant:
@@ -27,9 +27,9 @@
 0:28            Construct combined texture-sampler ( temp isampler1DArray)
 0:28              'g_tTex1di4' ( uniform itexture1DArray)
 0:28              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:28            Constant:
+0:28              0.100000
+0:28              0.200000
 0:28            Constant:
 0:28              1.100000
 0:28            Constant:
@@ -41,9 +41,9 @@
 0:29            Construct combined texture-sampler ( temp usampler1DArray)
 0:29              'g_tTex1du4' ( uniform utexture1DArray)
 0:29              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:29            Constant:
+0:29              0.100000
+0:29              0.200000
 0:29            Constant:
 0:29              1.100000
 0:29            Constant:
@@ -55,16 +55,16 @@
 0:31            Construct combined texture-sampler ( temp sampler2DArray)
 0:31              'g_tTex2df4' ( uniform texture2DArray)
 0:31              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
+0:31            Constant:
+0:31              0.100000
+0:31              0.200000
+0:31              0.300000
+0:31            Constant:
+0:31              1.100000
+0:31              1.200000
+0:31            Constant:
+0:31              1.100000
+0:31              1.200000
 0:32      Sequence
 0:32        move second child to first child ( temp 4-component vector of int)
 0:32          'txval21' ( temp 4-component vector of int)
@@ -72,16 +72,16 @@
 0:32            Construct combined texture-sampler ( temp isampler2DArray)
 0:32              'g_tTex2di4' ( uniform itexture2DArray)
 0:32              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
+0:32            Constant:
+0:32              0.100000
+0:32              0.200000
+0:32              0.300000
+0:32            Constant:
+0:32              1.100000
+0:32              1.200000
+0:32            Constant:
+0:32              1.100000
+0:32              1.200000
 0:33      Sequence
 0:33        move second child to first child ( temp 4-component vector of uint)
 0:33          'txval22' ( temp 4-component vector of uint)
@@ -89,16 +89,16 @@
 0:33            Construct combined texture-sampler ( temp usampler2DArray)
 0:33              'g_tTex2du4' ( uniform utexture2DArray)
 0:33              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
+0:33            Constant:
+0:33              0.100000
+0:33              0.200000
+0:33              0.300000
+0:33            Constant:
+0:33              1.100000
+0:33              1.200000
+0:33            Constant:
+0:33              1.100000
+0:33              1.200000
 0:35      Sequence
 0:35        move second child to first child ( temp 4-component vector of float)
 0:35          'txval40' ( temp 4-component vector of float)
@@ -106,19 +106,19 @@
 0:35            Construct combined texture-sampler ( temp samplerCubeArray)
 0:35              'g_tTexcdf4' ( uniform textureCubeArray)
 0:35              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?               0.400000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
+0:35            Constant:
+0:35              0.100000
+0:35              0.200000
+0:35              0.300000
+0:35              0.400000
+0:35            Constant:
+0:35              1.100000
+0:35              1.200000
+0:35              1.300000
+0:35            Constant:
+0:35              1.100000
+0:35              1.200000
+0:35              1.300000
 0:36      Sequence
 0:36        move second child to first child ( temp 4-component vector of int)
 0:36          'txval41' ( temp 4-component vector of int)
@@ -126,19 +126,19 @@
 0:36            Construct combined texture-sampler ( temp isamplerCubeArray)
 0:36              'g_tTexcdi4' ( uniform itextureCubeArray)
 0:36              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?               0.400000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
+0:36            Constant:
+0:36              0.100000
+0:36              0.200000
+0:36              0.300000
+0:36              0.400000
+0:36            Constant:
+0:36              1.100000
+0:36              1.200000
+0:36              1.300000
+0:36            Constant:
+0:36              1.100000
+0:36              1.200000
+0:36              1.300000
 0:37      Sequence
 0:37        move second child to first child ( temp 4-component vector of uint)
 0:37          'txval42' ( temp 4-component vector of uint)
@@ -146,19 +146,19 @@
 0:37            Construct combined texture-sampler ( temp usamplerCubeArray)
 0:37              'g_tTexcdu4' ( uniform utextureCubeArray)
 0:37              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?               0.400000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
+0:37            Constant:
+0:37              0.100000
+0:37              0.200000
+0:37              0.300000
+0:37              0.400000
+0:37            Constant:
+0:37              1.100000
+0:37              1.200000
+0:37              1.300000
+0:37            Constant:
+0:37              1.100000
+0:37              1.200000
+0:37              1.300000
 0:39      move second child to first child ( temp 4-component vector of float)
 0:39        Color: direct index for structure ( temp 4-component vector of float)
 0:39          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
@@ -230,9 +230,9 @@
 0:27            Construct combined texture-sampler ( temp sampler1DArray)
 0:27              'g_tTex1df4' (layout( binding=0) uniform texture1DArray)
 0:27              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:27            Constant:
+0:27              0.100000
+0:27              0.200000
 0:27            Constant:
 0:27              1.100000
 0:27            Constant:
@@ -244,9 +244,9 @@
 0:28            Construct combined texture-sampler ( temp isampler1DArray)
 0:28              'g_tTex1di4' ( uniform itexture1DArray)
 0:28              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:28            Constant:
+0:28              0.100000
+0:28              0.200000
 0:28            Constant:
 0:28              1.100000
 0:28            Constant:
@@ -258,9 +258,9 @@
 0:29            Construct combined texture-sampler ( temp usampler1DArray)
 0:29              'g_tTex1du4' ( uniform utexture1DArray)
 0:29              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:29            Constant:
+0:29              0.100000
+0:29              0.200000
 0:29            Constant:
 0:29              1.100000
 0:29            Constant:
@@ -272,16 +272,16 @@
 0:31            Construct combined texture-sampler ( temp sampler2DArray)
 0:31              'g_tTex2df4' ( uniform texture2DArray)
 0:31              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
+0:31            Constant:
+0:31              0.100000
+0:31              0.200000
+0:31              0.300000
+0:31            Constant:
+0:31              1.100000
+0:31              1.200000
+0:31            Constant:
+0:31              1.100000
+0:31              1.200000
 0:32      Sequence
 0:32        move second child to first child ( temp 4-component vector of int)
 0:32          'txval21' ( temp 4-component vector of int)
@@ -289,16 +289,16 @@
 0:32            Construct combined texture-sampler ( temp isampler2DArray)
 0:32              'g_tTex2di4' ( uniform itexture2DArray)
 0:32              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
+0:32            Constant:
+0:32              0.100000
+0:32              0.200000
+0:32              0.300000
+0:32            Constant:
+0:32              1.100000
+0:32              1.200000
+0:32            Constant:
+0:32              1.100000
+0:32              1.200000
 0:33      Sequence
 0:33        move second child to first child ( temp 4-component vector of uint)
 0:33          'txval22' ( temp 4-component vector of uint)
@@ -306,16 +306,16 @@
 0:33            Construct combined texture-sampler ( temp usampler2DArray)
 0:33              'g_tTex2du4' ( uniform utexture2DArray)
 0:33              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
+0:33            Constant:
+0:33              0.100000
+0:33              0.200000
+0:33              0.300000
+0:33            Constant:
+0:33              1.100000
+0:33              1.200000
+0:33            Constant:
+0:33              1.100000
+0:33              1.200000
 0:35      Sequence
 0:35        move second child to first child ( temp 4-component vector of float)
 0:35          'txval40' ( temp 4-component vector of float)
@@ -323,19 +323,19 @@
 0:35            Construct combined texture-sampler ( temp samplerCubeArray)
 0:35              'g_tTexcdf4' ( uniform textureCubeArray)
 0:35              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?               0.400000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
+0:35            Constant:
+0:35              0.100000
+0:35              0.200000
+0:35              0.300000
+0:35              0.400000
+0:35            Constant:
+0:35              1.100000
+0:35              1.200000
+0:35              1.300000
+0:35            Constant:
+0:35              1.100000
+0:35              1.200000
+0:35              1.300000
 0:36      Sequence
 0:36        move second child to first child ( temp 4-component vector of int)
 0:36          'txval41' ( temp 4-component vector of int)
@@ -343,19 +343,19 @@
 0:36            Construct combined texture-sampler ( temp isamplerCubeArray)
 0:36              'g_tTexcdi4' ( uniform itextureCubeArray)
 0:36              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?               0.400000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
+0:36            Constant:
+0:36              0.100000
+0:36              0.200000
+0:36              0.300000
+0:36              0.400000
+0:36            Constant:
+0:36              1.100000
+0:36              1.200000
+0:36              1.300000
+0:36            Constant:
+0:36              1.100000
+0:36              1.200000
+0:36              1.300000
 0:37      Sequence
 0:37        move second child to first child ( temp 4-component vector of uint)
 0:37          'txval42' ( temp 4-component vector of uint)
@@ -363,19 +363,19 @@
 0:37            Construct combined texture-sampler ( temp usamplerCubeArray)
 0:37              'g_tTexcdu4' ( uniform utextureCubeArray)
 0:37              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?               0.400000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
+0:37            Constant:
+0:37              0.100000
+0:37              0.200000
+0:37              0.300000
+0:37              0.400000
+0:37            Constant:
+0:37              1.100000
+0:37              1.200000
+0:37              1.300000
+0:37            Constant:
+0:37              1.100000
+0:37              1.200000
+0:37              1.300000
 0:39      move second child to first child ( temp 4-component vector of float)
 0:39        Color: direct index for structure ( temp 4-component vector of float)
 0:39          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
diff --git a/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out
index 03888b6..8f2fabc 100644
--- a/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out
@@ -52,15 +52,15 @@
 0:35            Construct combined texture-sampler ( temp sampler2D)
 0:35              'g_tTex2df4' ( uniform texture2D)
 0:35              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
+0:35            Constant:
+0:35              0.100000
+0:35              0.200000
+0:35            Constant:
+0:35              1.100000
+0:35              1.200000
+0:35            Constant:
+0:35              1.100000
+0:35              1.200000
 0:36      Sequence
 0:36        move second child to first child ( temp 4-component vector of int)
 0:36          'txval21' ( temp 4-component vector of int)
@@ -68,15 +68,15 @@
 0:36            Construct combined texture-sampler ( temp isampler2D)
 0:36              'g_tTex2di4' ( uniform itexture2D)
 0:36              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
+0:36            Constant:
+0:36              0.300000
+0:36              0.400000
+0:36            Constant:
+0:36              1.100000
+0:36              1.200000
+0:36            Constant:
+0:36              1.100000
+0:36              1.200000
 0:37      Sequence
 0:37        move second child to first child ( temp 4-component vector of uint)
 0:37          'txval22' ( temp 4-component vector of uint)
@@ -84,15 +84,15 @@
 0:37            Construct combined texture-sampler ( temp usampler2D)
 0:37              'g_tTex2du4' ( uniform utexture2D)
 0:37              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
+0:37            Constant:
+0:37              0.500000
+0:37              0.600000
+0:37            Constant:
+0:37              1.100000
+0:37              1.200000
+0:37            Constant:
+0:37              1.100000
+0:37              1.200000
 0:39      Sequence
 0:39        move second child to first child ( temp 4-component vector of float)
 0:39          'txval30' ( temp 4-component vector of float)
@@ -100,18 +100,18 @@
 0:39            Construct combined texture-sampler ( temp sampler3D)
 0:39              'g_tTex3df4' ( uniform texture3D)
 0:39              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
+0:39            Constant:
+0:39              0.100000
+0:39              0.200000
+0:39              0.300000
+0:39            Constant:
+0:39              1.100000
+0:39              1.200000
+0:39              1.300000
+0:39            Constant:
+0:39              1.100000
+0:39              1.200000
+0:39              1.300000
 0:40      Sequence
 0:40        move second child to first child ( temp 4-component vector of int)
 0:40          'txval31' ( temp 4-component vector of int)
@@ -119,18 +119,18 @@
 0:40            Construct combined texture-sampler ( temp isampler3D)
 0:40              'g_tTex3di4' ( uniform itexture3D)
 0:40              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
+0:40            Constant:
+0:40              0.400000
+0:40              0.500000
+0:40              0.600000
+0:40            Constant:
+0:40              1.100000
+0:40              1.200000
+0:40              1.300000
+0:40            Constant:
+0:40              1.100000
+0:40              1.200000
+0:40              1.300000
 0:41      Sequence
 0:41        move second child to first child ( temp 4-component vector of uint)
 0:41          'txval32' ( temp 4-component vector of uint)
@@ -138,18 +138,18 @@
 0:41            Construct combined texture-sampler ( temp usampler3D)
 0:41              'g_tTex3du4' ( uniform utexture3D)
 0:41              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
+0:41            Constant:
+0:41              0.700000
+0:41              0.800000
+0:41              0.900000
+0:41            Constant:
+0:41              1.100000
+0:41              1.200000
+0:41              1.300000
+0:41            Constant:
+0:41              1.100000
+0:41              1.200000
+0:41              1.300000
 0:43      Sequence
 0:43        move second child to first child ( temp 4-component vector of float)
 0:43          'txval40' ( temp 4-component vector of float)
@@ -157,18 +157,18 @@
 0:43            Construct combined texture-sampler ( temp samplerCube)
 0:43              'g_tTexcdf4' ( uniform textureCube)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
+0:43            Constant:
+0:43              0.100000
+0:43              0.200000
+0:43              0.300000
+0:43            Constant:
+0:43              1.100000
+0:43              1.200000
+0:43              1.300000
+0:43            Constant:
+0:43              1.100000
+0:43              1.200000
+0:43              1.300000
 0:44      Sequence
 0:44        move second child to first child ( temp 4-component vector of int)
 0:44          'txval41' ( temp 4-component vector of int)
@@ -176,18 +176,18 @@
 0:44            Construct combined texture-sampler ( temp isamplerCube)
 0:44              'g_tTexcdi4' ( uniform itextureCube)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
+0:44            Constant:
+0:44              0.400000
+0:44              0.500000
+0:44              0.600000
+0:44            Constant:
+0:44              1.100000
+0:44              1.200000
+0:44              1.300000
+0:44            Constant:
+0:44              1.100000
+0:44              1.200000
+0:44              1.300000
 0:45      Sequence
 0:45        move second child to first child ( temp 4-component vector of uint)
 0:45          'txval42' ( temp 4-component vector of uint)
@@ -195,18 +195,18 @@
 0:45            Construct combined texture-sampler ( temp usamplerCube)
 0:45              'g_tTexcdu4' ( uniform utextureCube)
 0:45              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
+0:45            Constant:
+0:45              0.700000
+0:45              0.800000
+0:45              0.900000
+0:45            Constant:
+0:45              1.100000
+0:45              1.200000
+0:45              1.300000
+0:45            Constant:
+0:45              1.100000
+0:45              1.200000
+0:45              1.300000
 0:47      move second child to first child ( temp 4-component vector of float)
 0:47        Color: direct index for structure ( temp 4-component vector of float)
 0:47          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
@@ -320,15 +320,15 @@
 0:35            Construct combined texture-sampler ( temp sampler2D)
 0:35              'g_tTex2df4' ( uniform texture2D)
 0:35              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
+0:35            Constant:
+0:35              0.100000
+0:35              0.200000
+0:35            Constant:
+0:35              1.100000
+0:35              1.200000
+0:35            Constant:
+0:35              1.100000
+0:35              1.200000
 0:36      Sequence
 0:36        move second child to first child ( temp 4-component vector of int)
 0:36          'txval21' ( temp 4-component vector of int)
@@ -336,15 +336,15 @@
 0:36            Construct combined texture-sampler ( temp isampler2D)
 0:36              'g_tTex2di4' ( uniform itexture2D)
 0:36              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
+0:36            Constant:
+0:36              0.300000
+0:36              0.400000
+0:36            Constant:
+0:36              1.100000
+0:36              1.200000
+0:36            Constant:
+0:36              1.100000
+0:36              1.200000
 0:37      Sequence
 0:37        move second child to first child ( temp 4-component vector of uint)
 0:37          'txval22' ( temp 4-component vector of uint)
@@ -352,15 +352,15 @@
 0:37            Construct combined texture-sampler ( temp usampler2D)
 0:37              'g_tTex2du4' ( uniform utexture2D)
 0:37              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
+0:37            Constant:
+0:37              0.500000
+0:37              0.600000
+0:37            Constant:
+0:37              1.100000
+0:37              1.200000
+0:37            Constant:
+0:37              1.100000
+0:37              1.200000
 0:39      Sequence
 0:39        move second child to first child ( temp 4-component vector of float)
 0:39          'txval30' ( temp 4-component vector of float)
@@ -368,18 +368,18 @@
 0:39            Construct combined texture-sampler ( temp sampler3D)
 0:39              'g_tTex3df4' ( uniform texture3D)
 0:39              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
+0:39            Constant:
+0:39              0.100000
+0:39              0.200000
+0:39              0.300000
+0:39            Constant:
+0:39              1.100000
+0:39              1.200000
+0:39              1.300000
+0:39            Constant:
+0:39              1.100000
+0:39              1.200000
+0:39              1.300000
 0:40      Sequence
 0:40        move second child to first child ( temp 4-component vector of int)
 0:40          'txval31' ( temp 4-component vector of int)
@@ -387,18 +387,18 @@
 0:40            Construct combined texture-sampler ( temp isampler3D)
 0:40              'g_tTex3di4' ( uniform itexture3D)
 0:40              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
+0:40            Constant:
+0:40              0.400000
+0:40              0.500000
+0:40              0.600000
+0:40            Constant:
+0:40              1.100000
+0:40              1.200000
+0:40              1.300000
+0:40            Constant:
+0:40              1.100000
+0:40              1.200000
+0:40              1.300000
 0:41      Sequence
 0:41        move second child to first child ( temp 4-component vector of uint)
 0:41          'txval32' ( temp 4-component vector of uint)
@@ -406,18 +406,18 @@
 0:41            Construct combined texture-sampler ( temp usampler3D)
 0:41              'g_tTex3du4' ( uniform utexture3D)
 0:41              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
+0:41            Constant:
+0:41              0.700000
+0:41              0.800000
+0:41              0.900000
+0:41            Constant:
+0:41              1.100000
+0:41              1.200000
+0:41              1.300000
+0:41            Constant:
+0:41              1.100000
+0:41              1.200000
+0:41              1.300000
 0:43      Sequence
 0:43        move second child to first child ( temp 4-component vector of float)
 0:43          'txval40' ( temp 4-component vector of float)
@@ -425,18 +425,18 @@
 0:43            Construct combined texture-sampler ( temp samplerCube)
 0:43              'g_tTexcdf4' ( uniform textureCube)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
+0:43            Constant:
+0:43              0.100000
+0:43              0.200000
+0:43              0.300000
+0:43            Constant:
+0:43              1.100000
+0:43              1.200000
+0:43              1.300000
+0:43            Constant:
+0:43              1.100000
+0:43              1.200000
+0:43              1.300000
 0:44      Sequence
 0:44        move second child to first child ( temp 4-component vector of int)
 0:44          'txval41' ( temp 4-component vector of int)
@@ -444,18 +444,18 @@
 0:44            Construct combined texture-sampler ( temp isamplerCube)
 0:44              'g_tTexcdi4' ( uniform itextureCube)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
+0:44            Constant:
+0:44              0.400000
+0:44              0.500000
+0:44              0.600000
+0:44            Constant:
+0:44              1.100000
+0:44              1.200000
+0:44              1.300000
+0:44            Constant:
+0:44              1.100000
+0:44              1.200000
+0:44              1.300000
 0:45      Sequence
 0:45        move second child to first child ( temp 4-component vector of uint)
 0:45          'txval42' ( temp 4-component vector of uint)
@@ -463,18 +463,18 @@
 0:45            Construct combined texture-sampler ( temp usamplerCube)
 0:45              'g_tTexcdu4' ( uniform utextureCube)
 0:45              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
+0:45            Constant:
+0:45              0.700000
+0:45              0.800000
+0:45              0.900000
+0:45            Constant:
+0:45              1.100000
+0:45              1.200000
+0:45              1.300000
+0:45            Constant:
+0:45              1.100000
+0:45              1.200000
+0:45              1.300000
 0:47      move second child to first child ( temp 4-component vector of float)
 0:47        Color: direct index for structure ( temp 4-component vector of float)
 0:47          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
diff --git a/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out b/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out
index 71da245..6982090 100644
--- a/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out
+++ b/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out
@@ -50,15 +50,15 @@
 0:34            Construct combined texture-sampler ( temp sampler2D)
 0:34              'g_tTex2df4' ( uniform texture2D)
 0:34              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
+0:34            Constant:
+0:34              0.100000
+0:34              0.200000
+0:34            Constant:
+0:34              1.100000
+0:34              1.200000
+0:34            Constant:
+0:34              1.100000
+0:34              1.200000
 0:35      Sequence
 0:35        move second child to first child ( temp 4-component vector of int)
 0:35          'txval21' ( temp 4-component vector of int)
@@ -66,15 +66,15 @@
 0:35            Construct combined texture-sampler ( temp isampler2D)
 0:35              'g_tTex2di4' ( uniform itexture2D)
 0:35              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
+0:35            Constant:
+0:35              0.300000
+0:35              0.400000
+0:35            Constant:
+0:35              1.100000
+0:35              1.200000
+0:35            Constant:
+0:35              1.100000
+0:35              1.200000
 0:36      Sequence
 0:36        move second child to first child ( temp 4-component vector of uint)
 0:36          'txval22' ( temp 4-component vector of uint)
@@ -82,15 +82,15 @@
 0:36            Construct combined texture-sampler ( temp usampler2D)
 0:36              'g_tTex2du4' ( uniform utexture2D)
 0:36              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
+0:36            Constant:
+0:36              0.500000
+0:36              0.600000
+0:36            Constant:
+0:36              1.100000
+0:36              1.200000
+0:36            Constant:
+0:36              1.100000
+0:36              1.200000
 0:38      Sequence
 0:38        move second child to first child ( temp 4-component vector of float)
 0:38          'txval30' ( temp 4-component vector of float)
@@ -98,18 +98,18 @@
 0:38            Construct combined texture-sampler ( temp sampler3D)
 0:38              'g_tTex3df4' ( uniform texture3D)
 0:38              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
+0:38            Constant:
+0:38              0.100000
+0:38              0.200000
+0:38              0.300000
+0:38            Constant:
+0:38              1.100000
+0:38              1.200000
+0:38              1.300000
+0:38            Constant:
+0:38              1.100000
+0:38              1.200000
+0:38              1.300000
 0:39      Sequence
 0:39        move second child to first child ( temp 4-component vector of int)
 0:39          'txval31' ( temp 4-component vector of int)
@@ -117,18 +117,18 @@
 0:39            Construct combined texture-sampler ( temp isampler3D)
 0:39              'g_tTex3di4' ( uniform itexture3D)
 0:39              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
+0:39            Constant:
+0:39              0.400000
+0:39              0.500000
+0:39              0.600000
+0:39            Constant:
+0:39              1.100000
+0:39              1.200000
+0:39              1.300000
+0:39            Constant:
+0:39              1.100000
+0:39              1.200000
+0:39              1.300000
 0:40      Sequence
 0:40        move second child to first child ( temp 4-component vector of uint)
 0:40          'txval32' ( temp 4-component vector of uint)
@@ -136,18 +136,18 @@
 0:40            Construct combined texture-sampler ( temp usampler3D)
 0:40              'g_tTex3du4' ( uniform utexture3D)
 0:40              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
+0:40            Constant:
+0:40              0.700000
+0:40              0.800000
+0:40              0.900000
+0:40            Constant:
+0:40              1.100000
+0:40              1.200000
+0:40              1.300000
+0:40            Constant:
+0:40              1.100000
+0:40              1.200000
+0:40              1.300000
 0:42      Sequence
 0:42        move second child to first child ( temp 4-component vector of float)
 0:42          'txval40' ( temp 4-component vector of float)
@@ -155,18 +155,18 @@
 0:42            Construct combined texture-sampler ( temp samplerCube)
 0:42              'g_tTexcdf4' ( uniform textureCube)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
+0:42            Constant:
+0:42              0.100000
+0:42              0.200000
+0:42              0.300000
+0:42            Constant:
+0:42              1.100000
+0:42              1.200000
+0:42              1.300000
+0:42            Constant:
+0:42              1.100000
+0:42              1.200000
+0:42              1.300000
 0:43      Sequence
 0:43        move second child to first child ( temp 4-component vector of int)
 0:43          'txval41' ( temp 4-component vector of int)
@@ -174,18 +174,18 @@
 0:43            Construct combined texture-sampler ( temp isamplerCube)
 0:43              'g_tTexcdi4' ( uniform itextureCube)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
+0:43            Constant:
+0:43              0.400000
+0:43              0.500000
+0:43              0.600000
+0:43            Constant:
+0:43              1.100000
+0:43              1.200000
+0:43              1.300000
+0:43            Constant:
+0:43              1.100000
+0:43              1.200000
+0:43              1.300000
 0:44      Sequence
 0:44        move second child to first child ( temp 4-component vector of uint)
 0:44          'txval42' ( temp 4-component vector of uint)
@@ -193,28 +193,28 @@
 0:44            Construct combined texture-sampler ( temp usamplerCube)
 0:44              'g_tTexcdu4' ( uniform utextureCube)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
+0:44            Constant:
+0:44              0.700000
+0:44              0.800000
+0:44              0.900000
+0:44            Constant:
+0:44              1.100000
+0:44              1.200000
+0:44              1.300000
+0:44            Constant:
+0:44              1.100000
+0:44              1.200000
+0:44              1.300000
 0:46      move second child to first child ( temp 4-component vector of float)
 0:46        Pos: direct index for structure ( temp 4-component vector of float)
 0:46          'vsout' ( temp structure{ temp 4-component vector of float Pos})
 0:46          Constant:
 0:46            0 (const int)
-0:?         Constant:
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
+0:46        Constant:
+0:46          0.000000
+0:46          0.000000
+0:46          0.000000
+0:46          0.000000
 0:48      Branch: Return with expression
 0:48        'vsout' ( temp structure{ temp 4-component vector of float Pos})
 0:27  Function Definition: main( ( temp void)
@@ -299,15 +299,15 @@
 0:34            Construct combined texture-sampler ( temp sampler2D)
 0:34              'g_tTex2df4' ( uniform texture2D)
 0:34              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
+0:34            Constant:
+0:34              0.100000
+0:34              0.200000
+0:34            Constant:
+0:34              1.100000
+0:34              1.200000
+0:34            Constant:
+0:34              1.100000
+0:34              1.200000
 0:35      Sequence
 0:35        move second child to first child ( temp 4-component vector of int)
 0:35          'txval21' ( temp 4-component vector of int)
@@ -315,15 +315,15 @@
 0:35            Construct combined texture-sampler ( temp isampler2D)
 0:35              'g_tTex2di4' ( uniform itexture2D)
 0:35              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
+0:35            Constant:
+0:35              0.300000
+0:35              0.400000
+0:35            Constant:
+0:35              1.100000
+0:35              1.200000
+0:35            Constant:
+0:35              1.100000
+0:35              1.200000
 0:36      Sequence
 0:36        move second child to first child ( temp 4-component vector of uint)
 0:36          'txval22' ( temp 4-component vector of uint)
@@ -331,15 +331,15 @@
 0:36            Construct combined texture-sampler ( temp usampler2D)
 0:36              'g_tTex2du4' ( uniform utexture2D)
 0:36              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
+0:36            Constant:
+0:36              0.500000
+0:36              0.600000
+0:36            Constant:
+0:36              1.100000
+0:36              1.200000
+0:36            Constant:
+0:36              1.100000
+0:36              1.200000
 0:38      Sequence
 0:38        move second child to first child ( temp 4-component vector of float)
 0:38          'txval30' ( temp 4-component vector of float)
@@ -347,18 +347,18 @@
 0:38            Construct combined texture-sampler ( temp sampler3D)
 0:38              'g_tTex3df4' ( uniform texture3D)
 0:38              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
+0:38            Constant:
+0:38              0.100000
+0:38              0.200000
+0:38              0.300000
+0:38            Constant:
+0:38              1.100000
+0:38              1.200000
+0:38              1.300000
+0:38            Constant:
+0:38              1.100000
+0:38              1.200000
+0:38              1.300000
 0:39      Sequence
 0:39        move second child to first child ( temp 4-component vector of int)
 0:39          'txval31' ( temp 4-component vector of int)
@@ -366,18 +366,18 @@
 0:39            Construct combined texture-sampler ( temp isampler3D)
 0:39              'g_tTex3di4' ( uniform itexture3D)
 0:39              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
+0:39            Constant:
+0:39              0.400000
+0:39              0.500000
+0:39              0.600000
+0:39            Constant:
+0:39              1.100000
+0:39              1.200000
+0:39              1.300000
+0:39            Constant:
+0:39              1.100000
+0:39              1.200000
+0:39              1.300000
 0:40      Sequence
 0:40        move second child to first child ( temp 4-component vector of uint)
 0:40          'txval32' ( temp 4-component vector of uint)
@@ -385,18 +385,18 @@
 0:40            Construct combined texture-sampler ( temp usampler3D)
 0:40              'g_tTex3du4' ( uniform utexture3D)
 0:40              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
+0:40            Constant:
+0:40              0.700000
+0:40              0.800000
+0:40              0.900000
+0:40            Constant:
+0:40              1.100000
+0:40              1.200000
+0:40              1.300000
+0:40            Constant:
+0:40              1.100000
+0:40              1.200000
+0:40              1.300000
 0:42      Sequence
 0:42        move second child to first child ( temp 4-component vector of float)
 0:42          'txval40' ( temp 4-component vector of float)
@@ -404,18 +404,18 @@
 0:42            Construct combined texture-sampler ( temp samplerCube)
 0:42              'g_tTexcdf4' ( uniform textureCube)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
+0:42            Constant:
+0:42              0.100000
+0:42              0.200000
+0:42              0.300000
+0:42            Constant:
+0:42              1.100000
+0:42              1.200000
+0:42              1.300000
+0:42            Constant:
+0:42              1.100000
+0:42              1.200000
+0:42              1.300000
 0:43      Sequence
 0:43        move second child to first child ( temp 4-component vector of int)
 0:43          'txval41' ( temp 4-component vector of int)
@@ -423,18 +423,18 @@
 0:43            Construct combined texture-sampler ( temp isamplerCube)
 0:43              'g_tTexcdi4' ( uniform itextureCube)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
+0:43            Constant:
+0:43              0.400000
+0:43              0.500000
+0:43              0.600000
+0:43            Constant:
+0:43              1.100000
+0:43              1.200000
+0:43              1.300000
+0:43            Constant:
+0:43              1.100000
+0:43              1.200000
+0:43              1.300000
 0:44      Sequence
 0:44        move second child to first child ( temp 4-component vector of uint)
 0:44          'txval42' ( temp 4-component vector of uint)
@@ -442,28 +442,28 @@
 0:44            Construct combined texture-sampler ( temp usamplerCube)
 0:44              'g_tTexcdu4' ( uniform utextureCube)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
+0:44            Constant:
+0:44              0.700000
+0:44              0.800000
+0:44              0.900000
+0:44            Constant:
+0:44              1.100000
+0:44              1.200000
+0:44              1.300000
+0:44            Constant:
+0:44              1.100000
+0:44              1.200000
+0:44              1.300000
 0:46      move second child to first child ( temp 4-component vector of float)
 0:46        Pos: direct index for structure ( temp 4-component vector of float)
 0:46          'vsout' ( temp structure{ temp 4-component vector of float Pos})
 0:46          Constant:
 0:46            0 (const int)
-0:?         Constant:
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
+0:46        Constant:
+0:46          0.000000
+0:46          0.000000
+0:46          0.000000
+0:46          0.000000
 0:48      Branch: Return with expression
 0:48        'vsout' ( temp structure{ temp 4-component vector of float Pos})
 0:27  Function Definition: main( ( temp void)
diff --git a/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out
index 63192df..5694f89 100644
--- a/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out
@@ -58,18 +58,18 @@
 0:35            Construct combined texture-sampler ( temp sampler2D)
 0:35              'g_tTex2df4' ( uniform texture2D)
 0:35              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
+0:35            Constant:
+0:35              0.100000
+0:35              0.200000
+0:35            Constant:
+0:35              0.100000
+0:35              0.200000
+0:35            Constant:
+0:35              1.100000
+0:35              1.200000
+0:35            Constant:
+0:35              1 (const int)
+0:35              0 (const int)
 0:36      Sequence
 0:36        move second child to first child ( temp 4-component vector of int)
 0:36          'txval21' ( temp 4-component vector of int)
@@ -77,18 +77,18 @@
 0:36            Construct combined texture-sampler ( temp isampler2D)
 0:36              'g_tTex2di4' ( uniform itexture2D)
 0:36              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1 (const int)
-0:?               1 (const int)
+0:36            Constant:
+0:36              0.300000
+0:36              0.400000
+0:36            Constant:
+0:36              0.100000
+0:36              0.200000
+0:36            Constant:
+0:36              1.100000
+0:36              1.200000
+0:36            Constant:
+0:36              1 (const int)
+0:36              1 (const int)
 0:37      Sequence
 0:37        move second child to first child ( temp 4-component vector of uint)
 0:37          'txval22' ( temp 4-component vector of uint)
@@ -96,18 +96,18 @@
 0:37            Construct combined texture-sampler ( temp usampler2D)
 0:37              'g_tTex2du4' ( uniform utexture2D)
 0:37              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1 (const int)
-0:?               -1 (const int)
+0:37            Constant:
+0:37              0.500000
+0:37              0.600000
+0:37            Constant:
+0:37              0.100000
+0:37              0.200000
+0:37            Constant:
+0:37              1.100000
+0:37              1.200000
+0:37            Constant:
+0:37              1 (const int)
+0:37              -1 (const int)
 0:39      Sequence
 0:39        move second child to first child ( temp 4-component vector of float)
 0:39          'txval30' ( temp 4-component vector of float)
@@ -115,22 +115,22 @@
 0:39            Construct combined texture-sampler ( temp sampler3D)
 0:39              'g_tTex3df4' ( uniform texture3D)
 0:39              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
-0:?               1 (const int)
+0:39            Constant:
+0:39              0.100000
+0:39              0.200000
+0:39              0.300000
+0:39            Constant:
+0:39              1.100000
+0:39              1.200000
+0:39              1.300000
+0:39            Constant:
+0:39              1.100000
+0:39              1.200000
+0:39              1.300000
+0:39            Constant:
+0:39              1 (const int)
+0:39              0 (const int)
+0:39              1 (const int)
 0:40      Sequence
 0:40        move second child to first child ( temp 4-component vector of int)
 0:40          'txval31' ( temp 4-component vector of int)
@@ -138,22 +138,22 @@
 0:40            Construct combined texture-sampler ( temp isampler3D)
 0:40              'g_tTex3di4' ( uniform itexture3D)
 0:40              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1 (const int)
-0:?               1 (const int)
-0:?               1 (const int)
+0:40            Constant:
+0:40              0.400000
+0:40              0.500000
+0:40              0.600000
+0:40            Constant:
+0:40              1.100000
+0:40              1.200000
+0:40              1.300000
+0:40            Constant:
+0:40              1.100000
+0:40              1.200000
+0:40              1.300000
+0:40            Constant:
+0:40              1 (const int)
+0:40              1 (const int)
+0:40              1 (const int)
 0:41      Sequence
 0:41        move second child to first child ( temp 4-component vector of uint)
 0:41          'txval32' ( temp 4-component vector of uint)
@@ -161,22 +161,22 @@
 0:41            Construct combined texture-sampler ( temp usampler3D)
 0:41              'g_tTex3du4' ( uniform utexture3D)
 0:41              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
-0:?               -1 (const int)
+0:41            Constant:
+0:41              0.700000
+0:41              0.800000
+0:41              0.900000
+0:41            Constant:
+0:41              1.100000
+0:41              1.200000
+0:41              1.300000
+0:41            Constant:
+0:41              1.100000
+0:41              1.200000
+0:41              1.300000
+0:41            Constant:
+0:41              1 (const int)
+0:41              0 (const int)
+0:41              -1 (const int)
 0:45      move second child to first child ( temp 4-component vector of float)
 0:45        Color: direct index for structure ( temp 4-component vector of float)
 0:45          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
@@ -296,18 +296,18 @@
 0:35            Construct combined texture-sampler ( temp sampler2D)
 0:35              'g_tTex2df4' ( uniform texture2D)
 0:35              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
+0:35            Constant:
+0:35              0.100000
+0:35              0.200000
+0:35            Constant:
+0:35              0.100000
+0:35              0.200000
+0:35            Constant:
+0:35              1.100000
+0:35              1.200000
+0:35            Constant:
+0:35              1 (const int)
+0:35              0 (const int)
 0:36      Sequence
 0:36        move second child to first child ( temp 4-component vector of int)
 0:36          'txval21' ( temp 4-component vector of int)
@@ -315,18 +315,18 @@
 0:36            Construct combined texture-sampler ( temp isampler2D)
 0:36              'g_tTex2di4' ( uniform itexture2D)
 0:36              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1 (const int)
-0:?               1 (const int)
+0:36            Constant:
+0:36              0.300000
+0:36              0.400000
+0:36            Constant:
+0:36              0.100000
+0:36              0.200000
+0:36            Constant:
+0:36              1.100000
+0:36              1.200000
+0:36            Constant:
+0:36              1 (const int)
+0:36              1 (const int)
 0:37      Sequence
 0:37        move second child to first child ( temp 4-component vector of uint)
 0:37          'txval22' ( temp 4-component vector of uint)
@@ -334,18 +334,18 @@
 0:37            Construct combined texture-sampler ( temp usampler2D)
 0:37              'g_tTex2du4' ( uniform utexture2D)
 0:37              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1 (const int)
-0:?               -1 (const int)
+0:37            Constant:
+0:37              0.500000
+0:37              0.600000
+0:37            Constant:
+0:37              0.100000
+0:37              0.200000
+0:37            Constant:
+0:37              1.100000
+0:37              1.200000
+0:37            Constant:
+0:37              1 (const int)
+0:37              -1 (const int)
 0:39      Sequence
 0:39        move second child to first child ( temp 4-component vector of float)
 0:39          'txval30' ( temp 4-component vector of float)
@@ -353,22 +353,22 @@
 0:39            Construct combined texture-sampler ( temp sampler3D)
 0:39              'g_tTex3df4' ( uniform texture3D)
 0:39              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
-0:?               1 (const int)
+0:39            Constant:
+0:39              0.100000
+0:39              0.200000
+0:39              0.300000
+0:39            Constant:
+0:39              1.100000
+0:39              1.200000
+0:39              1.300000
+0:39            Constant:
+0:39              1.100000
+0:39              1.200000
+0:39              1.300000
+0:39            Constant:
+0:39              1 (const int)
+0:39              0 (const int)
+0:39              1 (const int)
 0:40      Sequence
 0:40        move second child to first child ( temp 4-component vector of int)
 0:40          'txval31' ( temp 4-component vector of int)
@@ -376,22 +376,22 @@
 0:40            Construct combined texture-sampler ( temp isampler3D)
 0:40              'g_tTex3di4' ( uniform itexture3D)
 0:40              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1 (const int)
-0:?               1 (const int)
-0:?               1 (const int)
+0:40            Constant:
+0:40              0.400000
+0:40              0.500000
+0:40              0.600000
+0:40            Constant:
+0:40              1.100000
+0:40              1.200000
+0:40              1.300000
+0:40            Constant:
+0:40              1.100000
+0:40              1.200000
+0:40              1.300000
+0:40            Constant:
+0:40              1 (const int)
+0:40              1 (const int)
+0:40              1 (const int)
 0:41      Sequence
 0:41        move second child to first child ( temp 4-component vector of uint)
 0:41          'txval32' ( temp 4-component vector of uint)
@@ -399,22 +399,22 @@
 0:41            Construct combined texture-sampler ( temp usampler3D)
 0:41              'g_tTex3du4' ( uniform utexture3D)
 0:41              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?               1.300000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
-0:?               -1 (const int)
+0:41            Constant:
+0:41              0.700000
+0:41              0.800000
+0:41              0.900000
+0:41            Constant:
+0:41              1.100000
+0:41              1.200000
+0:41              1.300000
+0:41            Constant:
+0:41              1.100000
+0:41              1.200000
+0:41              1.300000
+0:41            Constant:
+0:41              1 (const int)
+0:41              0 (const int)
+0:41              -1 (const int)
 0:45      move second child to first child ( temp 4-component vector of float)
 0:45        Color: direct index for structure ( temp 4-component vector of float)
 0:45          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
diff --git a/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out
index fb8513b..a3bc4c1 100644
--- a/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out
@@ -13,9 +13,9 @@
 0:27            Construct combined texture-sampler ( temp sampler1DArray)
 0:27              'g_tTex1df4' (layout( binding=0) uniform texture1DArray)
 0:27              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:27            Constant:
+0:27              0.100000
+0:27              0.200000
 0:27            Constant:
 0:27              1.100000
 0:27            Constant:
@@ -29,9 +29,9 @@
 0:28            Construct combined texture-sampler ( temp isampler1DArray)
 0:28              'g_tTex1di4' ( uniform itexture1DArray)
 0:28              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:28            Constant:
+0:28              0.100000
+0:28              0.200000
 0:28            Constant:
 0:28              1.100000
 0:28            Constant:
@@ -45,9 +45,9 @@
 0:29            Construct combined texture-sampler ( temp usampler1DArray)
 0:29              'g_tTex1du4' ( uniform utexture1DArray)
 0:29              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:29            Constant:
+0:29              0.100000
+0:29              0.200000
 0:29            Constant:
 0:29              1.100000
 0:29            Constant:
@@ -61,19 +61,19 @@
 0:31            Construct combined texture-sampler ( temp sampler2DArray)
 0:31              'g_tTex2df4' ( uniform texture2DArray)
 0:31              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
+0:31            Constant:
+0:31              0.100000
+0:31              0.200000
+0:31              0.300000
+0:31            Constant:
+0:31              1.100000
+0:31              1.200000
+0:31            Constant:
+0:31              1.100000
+0:31              1.200000
+0:31            Constant:
+0:31              1 (const int)
+0:31              0 (const int)
 0:32      Sequence
 0:32        move second child to first child ( temp 4-component vector of int)
 0:32          'txval21' ( temp 4-component vector of int)
@@ -81,19 +81,19 @@
 0:32            Construct combined texture-sampler ( temp isampler2DArray)
 0:32              'g_tTex2di4' ( uniform itexture2DArray)
 0:32              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
+0:32            Constant:
+0:32              0.100000
+0:32              0.200000
+0:32              0.300000
+0:32            Constant:
+0:32              1.100000
+0:32              1.200000
+0:32            Constant:
+0:32              1.100000
+0:32              1.200000
+0:32            Constant:
+0:32              1 (const int)
+0:32              0 (const int)
 0:33      Sequence
 0:33        move second child to first child ( temp 4-component vector of uint)
 0:33          'txval22' ( temp 4-component vector of uint)
@@ -101,19 +101,19 @@
 0:33            Construct combined texture-sampler ( temp usampler2DArray)
 0:33              'g_tTex2du4' ( uniform utexture2DArray)
 0:33              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
+0:33            Constant:
+0:33              0.100000
+0:33              0.200000
+0:33              0.300000
+0:33            Constant:
+0:33              1.100000
+0:33              1.200000
+0:33            Constant:
+0:33              1.100000
+0:33              1.200000
+0:33            Constant:
+0:33              1 (const int)
+0:33              0 (const int)
 0:35      move second child to first child ( temp 4-component vector of float)
 0:35        Color: direct index for structure ( temp 4-component vector of float)
 0:35          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
@@ -185,9 +185,9 @@
 0:27            Construct combined texture-sampler ( temp sampler1DArray)
 0:27              'g_tTex1df4' (layout( binding=0) uniform texture1DArray)
 0:27              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:27            Constant:
+0:27              0.100000
+0:27              0.200000
 0:27            Constant:
 0:27              1.100000
 0:27            Constant:
@@ -201,9 +201,9 @@
 0:28            Construct combined texture-sampler ( temp isampler1DArray)
 0:28              'g_tTex1di4' ( uniform itexture1DArray)
 0:28              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:28            Constant:
+0:28              0.100000
+0:28              0.200000
 0:28            Constant:
 0:28              1.100000
 0:28            Constant:
@@ -217,9 +217,9 @@
 0:29            Construct combined texture-sampler ( temp usampler1DArray)
 0:29              'g_tTex1du4' ( uniform utexture1DArray)
 0:29              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:29            Constant:
+0:29              0.100000
+0:29              0.200000
 0:29            Constant:
 0:29              1.100000
 0:29            Constant:
@@ -233,19 +233,19 @@
 0:31            Construct combined texture-sampler ( temp sampler2DArray)
 0:31              'g_tTex2df4' ( uniform texture2DArray)
 0:31              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
+0:31            Constant:
+0:31              0.100000
+0:31              0.200000
+0:31              0.300000
+0:31            Constant:
+0:31              1.100000
+0:31              1.200000
+0:31            Constant:
+0:31              1.100000
+0:31              1.200000
+0:31            Constant:
+0:31              1 (const int)
+0:31              0 (const int)
 0:32      Sequence
 0:32        move second child to first child ( temp 4-component vector of int)
 0:32          'txval21' ( temp 4-component vector of int)
@@ -253,19 +253,19 @@
 0:32            Construct combined texture-sampler ( temp isampler2DArray)
 0:32              'g_tTex2di4' ( uniform itexture2DArray)
 0:32              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
+0:32            Constant:
+0:32              0.100000
+0:32              0.200000
+0:32              0.300000
+0:32            Constant:
+0:32              1.100000
+0:32              1.200000
+0:32            Constant:
+0:32              1.100000
+0:32              1.200000
+0:32            Constant:
+0:32              1 (const int)
+0:32              0 (const int)
 0:33      Sequence
 0:33        move second child to first child ( temp 4-component vector of uint)
 0:33          'txval22' ( temp 4-component vector of uint)
@@ -273,19 +273,19 @@
 0:33            Construct combined texture-sampler ( temp usampler2DArray)
 0:33              'g_tTex2du4' ( uniform utexture2DArray)
 0:33              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1.100000
-0:?               1.200000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
+0:33            Constant:
+0:33              0.100000
+0:33              0.200000
+0:33              0.300000
+0:33            Constant:
+0:33              1.100000
+0:33              1.200000
+0:33            Constant:
+0:33              1.100000
+0:33              1.200000
+0:33            Constant:
+0:33              1 (const int)
+0:33              0 (const int)
 0:35      move second child to first child ( temp 4-component vector of float)
 0:35        Color: direct index for structure ( temp 4-component vector of float)
 0:35          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
diff --git a/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out
index 95a1a54..68e0e87 100644
--- a/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out
@@ -13,9 +13,9 @@
 0:27            Construct combined texture-sampler ( temp sampler1DArray)
 0:27              'g_tTex1df4a' (layout( binding=1) uniform texture1DArray)
 0:27              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:27            Constant:
+0:27              0.100000
+0:27              0.200000
 0:27            Constant:
 0:27              0.750000
 0:28      Sequence
@@ -25,9 +25,9 @@
 0:28            Construct combined texture-sampler ( temp isampler1DArray)
 0:28              'g_tTex1di4a' ( uniform itexture1DArray)
 0:28              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.200000
-0:?               0.300000
+0:28            Constant:
+0:28              0.200000
+0:28              0.300000
 0:28            Constant:
 0:28              0.750000
 0:29      Sequence
@@ -37,9 +37,9 @@
 0:29            Construct combined texture-sampler ( temp usampler1DArray)
 0:29              'g_tTex1du4a' ( uniform utexture1DArray)
 0:29              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
+0:29            Constant:
+0:29              0.300000
+0:29              0.400000
 0:29            Constant:
 0:29              0.750000
 0:31      Sequence
@@ -49,10 +49,10 @@
 0:31            Construct combined texture-sampler ( temp sampler2DArray)
 0:31              'g_tTex2df4a' ( uniform texture2DArray)
 0:31              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:31            Constant:
+0:31              0.100000
+0:31              0.200000
+0:31              0.300000
 0:31            Constant:
 0:31              0.750000
 0:32      Sequence
@@ -62,10 +62,10 @@
 0:32            Construct combined texture-sampler ( temp isampler2DArray)
 0:32              'g_tTex2di4a' ( uniform itexture2DArray)
 0:32              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
-0:?               0.500000
+0:32            Constant:
+0:32              0.300000
+0:32              0.400000
+0:32              0.500000
 0:32            Constant:
 0:32              0.750000
 0:33      Sequence
@@ -75,10 +75,10 @@
 0:33            Construct combined texture-sampler ( temp usampler2DArray)
 0:33              'g_tTex2du4a' ( uniform utexture2DArray)
 0:33              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?               0.700000
+0:33            Constant:
+0:33              0.500000
+0:33              0.600000
+0:33              0.700000
 0:33            Constant:
 0:33              0.750000
 0:35      Sequence
@@ -88,11 +88,11 @@
 0:35            Construct combined texture-sampler ( temp samplerCubeArray)
 0:35              'g_tTexcdf4a' ( uniform textureCubeArray)
 0:35              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?               0.400000
+0:35            Constant:
+0:35              0.100000
+0:35              0.200000
+0:35              0.300000
+0:35              0.400000
 0:35            Constant:
 0:35              0.750000
 0:36      Sequence
@@ -102,11 +102,11 @@
 0:36            Construct combined texture-sampler ( temp isamplerCubeArray)
 0:36              'g_tTexcdi4a' ( uniform itextureCubeArray)
 0:36              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
-0:?               0.700000
+0:36            Constant:
+0:36              0.400000
+0:36              0.500000
+0:36              0.600000
+0:36              0.700000
 0:36            Constant:
 0:36              0.750000
 0:37      Sequence
@@ -116,11 +116,11 @@
 0:37            Construct combined texture-sampler ( temp usamplerCubeArray)
 0:37              'g_tTexcdu4a' ( uniform utextureCubeArray)
 0:37              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
-0:?               1.000000
+0:37            Constant:
+0:37              0.700000
+0:37              0.800000
+0:37              0.900000
+0:37              1.000000
 0:37            Constant:
 0:37              0.750000
 0:39      move second child to first child ( temp 4-component vector of float)
@@ -194,9 +194,9 @@
 0:27            Construct combined texture-sampler ( temp sampler1DArray)
 0:27              'g_tTex1df4a' (layout( binding=1) uniform texture1DArray)
 0:27              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:27            Constant:
+0:27              0.100000
+0:27              0.200000
 0:27            Constant:
 0:27              0.750000
 0:28      Sequence
@@ -206,9 +206,9 @@
 0:28            Construct combined texture-sampler ( temp isampler1DArray)
 0:28              'g_tTex1di4a' ( uniform itexture1DArray)
 0:28              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.200000
-0:?               0.300000
+0:28            Constant:
+0:28              0.200000
+0:28              0.300000
 0:28            Constant:
 0:28              0.750000
 0:29      Sequence
@@ -218,9 +218,9 @@
 0:29            Construct combined texture-sampler ( temp usampler1DArray)
 0:29              'g_tTex1du4a' ( uniform utexture1DArray)
 0:29              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
+0:29            Constant:
+0:29              0.300000
+0:29              0.400000
 0:29            Constant:
 0:29              0.750000
 0:31      Sequence
@@ -230,10 +230,10 @@
 0:31            Construct combined texture-sampler ( temp sampler2DArray)
 0:31              'g_tTex2df4a' ( uniform texture2DArray)
 0:31              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:31            Constant:
+0:31              0.100000
+0:31              0.200000
+0:31              0.300000
 0:31            Constant:
 0:31              0.750000
 0:32      Sequence
@@ -243,10 +243,10 @@
 0:32            Construct combined texture-sampler ( temp isampler2DArray)
 0:32              'g_tTex2di4a' ( uniform itexture2DArray)
 0:32              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
-0:?               0.500000
+0:32            Constant:
+0:32              0.300000
+0:32              0.400000
+0:32              0.500000
 0:32            Constant:
 0:32              0.750000
 0:33      Sequence
@@ -256,10 +256,10 @@
 0:33            Construct combined texture-sampler ( temp usampler2DArray)
 0:33              'g_tTex2du4a' ( uniform utexture2DArray)
 0:33              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?               0.700000
+0:33            Constant:
+0:33              0.500000
+0:33              0.600000
+0:33              0.700000
 0:33            Constant:
 0:33              0.750000
 0:35      Sequence
@@ -269,11 +269,11 @@
 0:35            Construct combined texture-sampler ( temp samplerCubeArray)
 0:35              'g_tTexcdf4a' ( uniform textureCubeArray)
 0:35              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
-0:?               0.400000
+0:35            Constant:
+0:35              0.100000
+0:35              0.200000
+0:35              0.300000
+0:35              0.400000
 0:35            Constant:
 0:35              0.750000
 0:36      Sequence
@@ -283,11 +283,11 @@
 0:36            Construct combined texture-sampler ( temp isamplerCubeArray)
 0:36              'g_tTexcdi4a' ( uniform itextureCubeArray)
 0:36              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
-0:?               0.700000
+0:36            Constant:
+0:36              0.400000
+0:36              0.500000
+0:36              0.600000
+0:36              0.700000
 0:36            Constant:
 0:36              0.750000
 0:37      Sequence
@@ -297,11 +297,11 @@
 0:37            Construct combined texture-sampler ( temp usamplerCubeArray)
 0:37              'g_tTexcdu4a' ( uniform utextureCubeArray)
 0:37              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
-0:?               1.000000
+0:37            Constant:
+0:37              0.700000
+0:37              0.800000
+0:37              0.900000
+0:37              1.000000
 0:37            Constant:
 0:37              0.750000
 0:39      move second child to first child ( temp 4-component vector of float)
diff --git a/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out
index 99e252c..ee3588d 100644
--- a/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out
@@ -46,9 +46,9 @@
 0:36            Construct combined texture-sampler ( temp sampler2D)
 0:36              'g_tTex2df4' ( uniform texture2D)
 0:36              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:36            Constant:
+0:36              0.100000
+0:36              0.200000
 0:36            Constant:
 0:36              0.750000
 0:37      Sequence
@@ -58,9 +58,9 @@
 0:37            Construct combined texture-sampler ( temp isampler2D)
 0:37              'g_tTex2di4' ( uniform itexture2D)
 0:37              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
+0:37            Constant:
+0:37              0.300000
+0:37              0.400000
 0:37            Constant:
 0:37              0.750000
 0:38      Sequence
@@ -70,9 +70,9 @@
 0:38            Construct combined texture-sampler ( temp usampler2D)
 0:38              'g_tTex2du4' ( uniform utexture2D)
 0:38              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
+0:38            Constant:
+0:38              0.500000
+0:38              0.600000
 0:38            Constant:
 0:38              0.750000
 0:40      Sequence
@@ -82,10 +82,10 @@
 0:40            Construct combined texture-sampler ( temp sampler3D)
 0:40              'g_tTex3df4' ( uniform texture3D)
 0:40              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:40            Constant:
+0:40              0.100000
+0:40              0.200000
+0:40              0.300000
 0:40            Constant:
 0:40              0.750000
 0:41      Sequence
@@ -95,10 +95,10 @@
 0:41            Construct combined texture-sampler ( temp isampler3D)
 0:41              'g_tTex3di4' ( uniform itexture3D)
 0:41              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
+0:41            Constant:
+0:41              0.400000
+0:41              0.500000
+0:41              0.600000
 0:41            Constant:
 0:41              0.750000
 0:42      Sequence
@@ -108,10 +108,10 @@
 0:42            Construct combined texture-sampler ( temp usampler3D)
 0:42              'g_tTex3du4' ( uniform utexture3D)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
+0:42            Constant:
+0:42              0.700000
+0:42              0.800000
+0:42              0.900000
 0:42            Constant:
 0:42              0.750000
 0:44      Sequence
@@ -121,10 +121,10 @@
 0:44            Construct combined texture-sampler ( temp samplerCube)
 0:44              'g_tTexcdf4' ( uniform textureCube)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:44            Constant:
+0:44              0.100000
+0:44              0.200000
+0:44              0.300000
 0:44            Constant:
 0:44              0.750000
 0:45      Sequence
@@ -134,10 +134,10 @@
 0:45            Construct combined texture-sampler ( temp isamplerCube)
 0:45              'g_tTexcdi4' ( uniform itextureCube)
 0:45              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
+0:45            Constant:
+0:45              0.400000
+0:45              0.500000
+0:45              0.600000
 0:45            Constant:
 0:45              0.750000
 0:46      Sequence
@@ -147,10 +147,10 @@
 0:46            Construct combined texture-sampler ( temp usamplerCube)
 0:46              'g_tTexcdu4' ( uniform utextureCube)
 0:46              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
+0:46            Constant:
+0:46              0.700000
+0:46              0.800000
+0:46              0.900000
 0:46            Constant:
 0:46              0.750000
 0:48      move second child to first child ( temp 4-component vector of float)
@@ -261,9 +261,9 @@
 0:36            Construct combined texture-sampler ( temp sampler2D)
 0:36              'g_tTex2df4' ( uniform texture2D)
 0:36              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:36            Constant:
+0:36              0.100000
+0:36              0.200000
 0:36            Constant:
 0:36              0.750000
 0:37      Sequence
@@ -273,9 +273,9 @@
 0:37            Construct combined texture-sampler ( temp isampler2D)
 0:37              'g_tTex2di4' ( uniform itexture2D)
 0:37              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
+0:37            Constant:
+0:37              0.300000
+0:37              0.400000
 0:37            Constant:
 0:37              0.750000
 0:38      Sequence
@@ -285,9 +285,9 @@
 0:38            Construct combined texture-sampler ( temp usampler2D)
 0:38              'g_tTex2du4' ( uniform utexture2D)
 0:38              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
+0:38            Constant:
+0:38              0.500000
+0:38              0.600000
 0:38            Constant:
 0:38              0.750000
 0:40      Sequence
@@ -297,10 +297,10 @@
 0:40            Construct combined texture-sampler ( temp sampler3D)
 0:40              'g_tTex3df4' ( uniform texture3D)
 0:40              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:40            Constant:
+0:40              0.100000
+0:40              0.200000
+0:40              0.300000
 0:40            Constant:
 0:40              0.750000
 0:41      Sequence
@@ -310,10 +310,10 @@
 0:41            Construct combined texture-sampler ( temp isampler3D)
 0:41              'g_tTex3di4' ( uniform itexture3D)
 0:41              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
+0:41            Constant:
+0:41              0.400000
+0:41              0.500000
+0:41              0.600000
 0:41            Constant:
 0:41              0.750000
 0:42      Sequence
@@ -323,10 +323,10 @@
 0:42            Construct combined texture-sampler ( temp usampler3D)
 0:42              'g_tTex3du4' ( uniform utexture3D)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
+0:42            Constant:
+0:42              0.700000
+0:42              0.800000
+0:42              0.900000
 0:42            Constant:
 0:42              0.750000
 0:44      Sequence
@@ -336,10 +336,10 @@
 0:44            Construct combined texture-sampler ( temp samplerCube)
 0:44              'g_tTexcdf4' ( uniform textureCube)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:44            Constant:
+0:44              0.100000
+0:44              0.200000
+0:44              0.300000
 0:44            Constant:
 0:44              0.750000
 0:45      Sequence
@@ -349,10 +349,10 @@
 0:45            Construct combined texture-sampler ( temp isamplerCube)
 0:45              'g_tTexcdi4' ( uniform itextureCube)
 0:45              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
+0:45            Constant:
+0:45              0.400000
+0:45              0.500000
+0:45              0.600000
 0:45            Constant:
 0:45              0.750000
 0:46      Sequence
@@ -362,10 +362,10 @@
 0:46            Construct combined texture-sampler ( temp usamplerCube)
 0:46              'g_tTexcdu4' ( uniform utextureCube)
 0:46              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
+0:46            Constant:
+0:46              0.700000
+0:46              0.800000
+0:46              0.900000
 0:46            Constant:
 0:46              0.750000
 0:48      move second child to first child ( temp 4-component vector of float)
diff --git a/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out b/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out
index d4d720b..a3ff9e6 100644
--- a/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out
+++ b/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out
@@ -44,9 +44,9 @@
 0:34            Construct combined texture-sampler ( temp sampler2D)
 0:34              'g_tTex2df4' ( uniform texture2D)
 0:34              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:34            Constant:
+0:34              0.100000
+0:34              0.200000
 0:34            Constant:
 0:34              0.750000
 0:35      Sequence
@@ -56,9 +56,9 @@
 0:35            Construct combined texture-sampler ( temp isampler2D)
 0:35              'g_tTex2di4' ( uniform itexture2D)
 0:35              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
+0:35            Constant:
+0:35              0.300000
+0:35              0.400000
 0:35            Constant:
 0:35              0.750000
 0:36      Sequence
@@ -68,9 +68,9 @@
 0:36            Construct combined texture-sampler ( temp usampler2D)
 0:36              'g_tTex2du4' ( uniform utexture2D)
 0:36              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
+0:36            Constant:
+0:36              0.500000
+0:36              0.600000
 0:36            Constant:
 0:36              0.750000
 0:38      Sequence
@@ -80,10 +80,10 @@
 0:38            Construct combined texture-sampler ( temp sampler3D)
 0:38              'g_tTex3df4' ( uniform texture3D)
 0:38              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:38            Constant:
+0:38              0.100000
+0:38              0.200000
+0:38              0.300000
 0:38            Constant:
 0:38              0.750000
 0:39      Sequence
@@ -93,10 +93,10 @@
 0:39            Construct combined texture-sampler ( temp isampler3D)
 0:39              'g_tTex3di4' ( uniform itexture3D)
 0:39              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
+0:39            Constant:
+0:39              0.400000
+0:39              0.500000
+0:39              0.600000
 0:39            Constant:
 0:39              0.750000
 0:40      Sequence
@@ -106,10 +106,10 @@
 0:40            Construct combined texture-sampler ( temp usampler3D)
 0:40              'g_tTex3du4' ( uniform utexture3D)
 0:40              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
+0:40            Constant:
+0:40              0.700000
+0:40              0.800000
+0:40              0.900000
 0:40            Constant:
 0:40              0.750000
 0:42      Sequence
@@ -119,10 +119,10 @@
 0:42            Construct combined texture-sampler ( temp samplerCube)
 0:42              'g_tTexcdf4' ( uniform textureCube)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:42            Constant:
+0:42              0.100000
+0:42              0.200000
+0:42              0.300000
 0:42            Constant:
 0:42              0.750000
 0:43      Sequence
@@ -132,10 +132,10 @@
 0:43            Construct combined texture-sampler ( temp isamplerCube)
 0:43              'g_tTexcdi4' ( uniform itextureCube)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
+0:43            Constant:
+0:43              0.400000
+0:43              0.500000
+0:43              0.600000
 0:43            Constant:
 0:43              0.750000
 0:44      Sequence
@@ -145,10 +145,10 @@
 0:44            Construct combined texture-sampler ( temp usamplerCube)
 0:44              'g_tTexcdu4' ( uniform utextureCube)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
+0:44            Constant:
+0:44              0.700000
+0:44              0.800000
+0:44              0.900000
 0:44            Constant:
 0:44              0.750000
 0:46      move second child to first child ( temp 4-component vector of float)
@@ -156,11 +156,11 @@
 0:46          'vsout' ( temp structure{ temp 4-component vector of float Pos})
 0:46          Constant:
 0:46            0 (const int)
-0:?         Constant:
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
+0:46        Constant:
+0:46          0.000000
+0:46          0.000000
+0:46          0.000000
+0:46          0.000000
 0:48      Branch: Return with expression
 0:48        'vsout' ( temp structure{ temp 4-component vector of float Pos})
 0:27  Function Definition: main( ( temp void)
@@ -239,9 +239,9 @@
 0:34            Construct combined texture-sampler ( temp sampler2D)
 0:34              'g_tTex2df4' ( uniform texture2D)
 0:34              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:34            Constant:
+0:34              0.100000
+0:34              0.200000
 0:34            Constant:
 0:34              0.750000
 0:35      Sequence
@@ -251,9 +251,9 @@
 0:35            Construct combined texture-sampler ( temp isampler2D)
 0:35              'g_tTex2di4' ( uniform itexture2D)
 0:35              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
+0:35            Constant:
+0:35              0.300000
+0:35              0.400000
 0:35            Constant:
 0:35              0.750000
 0:36      Sequence
@@ -263,9 +263,9 @@
 0:36            Construct combined texture-sampler ( temp usampler2D)
 0:36              'g_tTex2du4' ( uniform utexture2D)
 0:36              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
+0:36            Constant:
+0:36              0.500000
+0:36              0.600000
 0:36            Constant:
 0:36              0.750000
 0:38      Sequence
@@ -275,10 +275,10 @@
 0:38            Construct combined texture-sampler ( temp sampler3D)
 0:38              'g_tTex3df4' ( uniform texture3D)
 0:38              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:38            Constant:
+0:38              0.100000
+0:38              0.200000
+0:38              0.300000
 0:38            Constant:
 0:38              0.750000
 0:39      Sequence
@@ -288,10 +288,10 @@
 0:39            Construct combined texture-sampler ( temp isampler3D)
 0:39              'g_tTex3di4' ( uniform itexture3D)
 0:39              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
+0:39            Constant:
+0:39              0.400000
+0:39              0.500000
+0:39              0.600000
 0:39            Constant:
 0:39              0.750000
 0:40      Sequence
@@ -301,10 +301,10 @@
 0:40            Construct combined texture-sampler ( temp usampler3D)
 0:40              'g_tTex3du4' ( uniform utexture3D)
 0:40              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
+0:40            Constant:
+0:40              0.700000
+0:40              0.800000
+0:40              0.900000
 0:40            Constant:
 0:40              0.750000
 0:42      Sequence
@@ -314,10 +314,10 @@
 0:42            Construct combined texture-sampler ( temp samplerCube)
 0:42              'g_tTexcdf4' ( uniform textureCube)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:42            Constant:
+0:42              0.100000
+0:42              0.200000
+0:42              0.300000
 0:42            Constant:
 0:42              0.750000
 0:43      Sequence
@@ -327,10 +327,10 @@
 0:43            Construct combined texture-sampler ( temp isamplerCube)
 0:43              'g_tTexcdi4' ( uniform itextureCube)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
+0:43            Constant:
+0:43              0.400000
+0:43              0.500000
+0:43              0.600000
 0:43            Constant:
 0:43              0.750000
 0:44      Sequence
@@ -340,10 +340,10 @@
 0:44            Construct combined texture-sampler ( temp usamplerCube)
 0:44              'g_tTexcdu4' ( uniform utextureCube)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
+0:44            Constant:
+0:44              0.700000
+0:44              0.800000
+0:44              0.900000
 0:44            Constant:
 0:44              0.750000
 0:46      move second child to first child ( temp 4-component vector of float)
@@ -351,11 +351,11 @@
 0:46          'vsout' ( temp structure{ temp 4-component vector of float Pos})
 0:46          Constant:
 0:46            0 (const int)
-0:?         Constant:
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
+0:46        Constant:
+0:46          0.000000
+0:46          0.000000
+0:46          0.000000
+0:46          0.000000
 0:48      Branch: Return with expression
 0:48        'vsout' ( temp structure{ temp 4-component vector of float Pos})
 0:27  Function Definition: main( ( temp void)
diff --git a/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out
index dda4238..c9d431b 100644
--- a/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out
@@ -52,14 +52,14 @@
 0:35            Construct combined texture-sampler ( temp sampler2D)
 0:35              'g_tTex2df4' ( uniform texture2D)
 0:35              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:35            Constant:
+0:35              0.100000
+0:35              0.200000
 0:35            Constant:
 0:35              0.750000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
+0:35            Constant:
+0:35              1 (const int)
+0:35              0 (const int)
 0:36      Sequence
 0:36        move second child to first child ( temp 4-component vector of int)
 0:36          'txval21' ( temp 4-component vector of int)
@@ -67,14 +67,14 @@
 0:36            Construct combined texture-sampler ( temp isampler2D)
 0:36              'g_tTex2di4' ( uniform itexture2D)
 0:36              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
+0:36            Constant:
+0:36              0.300000
+0:36              0.400000
 0:36            Constant:
 0:36              0.750000
-0:?             Constant:
-0:?               1 (const int)
-0:?               1 (const int)
+0:36            Constant:
+0:36              1 (const int)
+0:36              1 (const int)
 0:37      Sequence
 0:37        move second child to first child ( temp 4-component vector of uint)
 0:37          'txval22' ( temp 4-component vector of uint)
@@ -82,14 +82,14 @@
 0:37            Construct combined texture-sampler ( temp usampler2D)
 0:37              'g_tTex2du4' ( uniform utexture2D)
 0:37              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
+0:37            Constant:
+0:37              0.500000
+0:37              0.600000
 0:37            Constant:
 0:37              0.750000
-0:?             Constant:
-0:?               1 (const int)
-0:?               -1 (const int)
+0:37            Constant:
+0:37              1 (const int)
+0:37              -1 (const int)
 0:39      Sequence
 0:39        move second child to first child ( temp 4-component vector of float)
 0:39          'txval30' ( temp 4-component vector of float)
@@ -97,16 +97,16 @@
 0:39            Construct combined texture-sampler ( temp sampler3D)
 0:39              'g_tTex3df4' ( uniform texture3D)
 0:39              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:39            Constant:
+0:39              0.100000
+0:39              0.200000
+0:39              0.300000
 0:39            Constant:
 0:39              0.750000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
-0:?               1 (const int)
+0:39            Constant:
+0:39              1 (const int)
+0:39              0 (const int)
+0:39              1 (const int)
 0:40      Sequence
 0:40        move second child to first child ( temp 4-component vector of int)
 0:40          'txval31' ( temp 4-component vector of int)
@@ -114,16 +114,16 @@
 0:40            Construct combined texture-sampler ( temp isampler3D)
 0:40              'g_tTex3di4' ( uniform itexture3D)
 0:40              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
+0:40            Constant:
+0:40              0.400000
+0:40              0.500000
+0:40              0.600000
 0:40            Constant:
 0:40              0.750000
-0:?             Constant:
-0:?               1 (const int)
-0:?               1 (const int)
-0:?               1 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40              1 (const int)
+0:40              1 (const int)
 0:41      Sequence
 0:41        move second child to first child ( temp 4-component vector of uint)
 0:41          'txval32' ( temp 4-component vector of uint)
@@ -131,16 +131,16 @@
 0:41            Construct combined texture-sampler ( temp usampler3D)
 0:41              'g_tTex3du4' ( uniform utexture3D)
 0:41              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
+0:41            Constant:
+0:41              0.700000
+0:41              0.800000
+0:41              0.900000
 0:41            Constant:
 0:41              0.750000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
-0:?               -1 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:41              0 (const int)
+0:41              -1 (const int)
 0:45      move second child to first child ( temp 4-component vector of float)
 0:45        Color: direct index for structure ( temp 4-component vector of float)
 0:45          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
@@ -254,14 +254,14 @@
 0:35            Construct combined texture-sampler ( temp sampler2D)
 0:35              'g_tTex2df4' ( uniform texture2D)
 0:35              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:35            Constant:
+0:35              0.100000
+0:35              0.200000
 0:35            Constant:
 0:35              0.750000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
+0:35            Constant:
+0:35              1 (const int)
+0:35              0 (const int)
 0:36      Sequence
 0:36        move second child to first child ( temp 4-component vector of int)
 0:36          'txval21' ( temp 4-component vector of int)
@@ -269,14 +269,14 @@
 0:36            Construct combined texture-sampler ( temp isampler2D)
 0:36              'g_tTex2di4' ( uniform itexture2D)
 0:36              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
+0:36            Constant:
+0:36              0.300000
+0:36              0.400000
 0:36            Constant:
 0:36              0.750000
-0:?             Constant:
-0:?               1 (const int)
-0:?               1 (const int)
+0:36            Constant:
+0:36              1 (const int)
+0:36              1 (const int)
 0:37      Sequence
 0:37        move second child to first child ( temp 4-component vector of uint)
 0:37          'txval22' ( temp 4-component vector of uint)
@@ -284,14 +284,14 @@
 0:37            Construct combined texture-sampler ( temp usampler2D)
 0:37              'g_tTex2du4' ( uniform utexture2D)
 0:37              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
+0:37            Constant:
+0:37              0.500000
+0:37              0.600000
 0:37            Constant:
 0:37              0.750000
-0:?             Constant:
-0:?               1 (const int)
-0:?               -1 (const int)
+0:37            Constant:
+0:37              1 (const int)
+0:37              -1 (const int)
 0:39      Sequence
 0:39        move second child to first child ( temp 4-component vector of float)
 0:39          'txval30' ( temp 4-component vector of float)
@@ -299,16 +299,16 @@
 0:39            Construct combined texture-sampler ( temp sampler3D)
 0:39              'g_tTex3df4' ( uniform texture3D)
 0:39              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:39            Constant:
+0:39              0.100000
+0:39              0.200000
+0:39              0.300000
 0:39            Constant:
 0:39              0.750000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
-0:?               1 (const int)
+0:39            Constant:
+0:39              1 (const int)
+0:39              0 (const int)
+0:39              1 (const int)
 0:40      Sequence
 0:40        move second child to first child ( temp 4-component vector of int)
 0:40          'txval31' ( temp 4-component vector of int)
@@ -316,16 +316,16 @@
 0:40            Construct combined texture-sampler ( temp isampler3D)
 0:40              'g_tTex3di4' ( uniform itexture3D)
 0:40              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.400000
-0:?               0.500000
-0:?               0.600000
+0:40            Constant:
+0:40              0.400000
+0:40              0.500000
+0:40              0.600000
 0:40            Constant:
 0:40              0.750000
-0:?             Constant:
-0:?               1 (const int)
-0:?               1 (const int)
-0:?               1 (const int)
+0:40            Constant:
+0:40              1 (const int)
+0:40              1 (const int)
+0:40              1 (const int)
 0:41      Sequence
 0:41        move second child to first child ( temp 4-component vector of uint)
 0:41          'txval32' ( temp 4-component vector of uint)
@@ -333,16 +333,16 @@
 0:41            Construct combined texture-sampler ( temp usampler3D)
 0:41              'g_tTex3du4' ( uniform utexture3D)
 0:41              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.700000
-0:?               0.800000
-0:?               0.900000
+0:41            Constant:
+0:41              0.700000
+0:41              0.800000
+0:41              0.900000
 0:41            Constant:
 0:41              0.750000
-0:?             Constant:
-0:?               1 (const int)
-0:?               0 (const int)
-0:?               -1 (const int)
+0:41            Constant:
+0:41              1 (const int)
+0:41              0 (const int)
+0:41              -1 (const int)
 0:45      move second child to first child ( temp 4-component vector of float)
 0:45        Color: direct index for structure ( temp 4-component vector of float)
 0:45          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
diff --git a/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out
index c0c27e4..3f6ae55 100644
--- a/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out
@@ -13,9 +13,9 @@
 0:23            Construct combined texture-sampler ( temp sampler1DArray)
 0:23              'g_tTex1df4' (layout( binding=0) uniform texture1DArray)
 0:23              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:23            Constant:
+0:23              0.100000
+0:23              0.200000
 0:23            Constant:
 0:23              0.750000
 0:23            Constant:
@@ -27,9 +27,9 @@
 0:24            Construct combined texture-sampler ( temp isampler1DArray)
 0:24              'g_tTex1di4' ( uniform itexture1DArray)
 0:24              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.200000
-0:?               0.300000
+0:24            Constant:
+0:24              0.200000
+0:24              0.300000
 0:24            Constant:
 0:24              0.750000
 0:24            Constant:
@@ -41,9 +41,9 @@
 0:25            Construct combined texture-sampler ( temp usampler1DArray)
 0:25              'g_tTex1du4' ( uniform utexture1DArray)
 0:25              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
+0:25            Constant:
+0:25              0.300000
+0:25              0.400000
 0:25            Constant:
 0:25              0.750000
 0:25            Constant:
@@ -55,15 +55,15 @@
 0:27            Construct combined texture-sampler ( temp sampler2DArray)
 0:27              'g_tTex2df4' ( uniform texture2DArray)
 0:27              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:27            Constant:
+0:27              0.100000
+0:27              0.200000
+0:27              0.300000
 0:27            Constant:
 0:27              0.750000
-0:?             Constant:
-0:?               0 (const int)
-0:?               0 (const int)
+0:27            Constant:
+0:27              0 (const int)
+0:27              0 (const int)
 0:28      Sequence
 0:28        move second child to first child ( temp 4-component vector of int)
 0:28          'txval21' ( temp 4-component vector of int)
@@ -71,15 +71,15 @@
 0:28            Construct combined texture-sampler ( temp isampler2DArray)
 0:28              'g_tTex2di4' ( uniform itexture2DArray)
 0:28              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
-0:?               0.500000
+0:28            Constant:
+0:28              0.300000
+0:28              0.400000
+0:28              0.500000
 0:28            Constant:
 0:28              0.750000
-0:?             Constant:
-0:?               0 (const int)
-0:?               0 (const int)
+0:28            Constant:
+0:28              0 (const int)
+0:28              0 (const int)
 0:29      Sequence
 0:29        move second child to first child ( temp 4-component vector of uint)
 0:29          'txval22' ( temp 4-component vector of uint)
@@ -87,15 +87,15 @@
 0:29            Construct combined texture-sampler ( temp usampler2DArray)
 0:29              'g_tTex2du4' ( uniform utexture2DArray)
 0:29              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?               0.700000
+0:29            Constant:
+0:29              0.500000
+0:29              0.600000
+0:29              0.700000
 0:29            Constant:
 0:29              0.750000
-0:?             Constant:
-0:?               0 (const int)
-0:?               1 (const int)
+0:29            Constant:
+0:29              0 (const int)
+0:29              1 (const int)
 0:33      move second child to first child ( temp 4-component vector of float)
 0:33        Color: direct index for structure ( temp 4-component vector of float)
 0:33          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
@@ -164,9 +164,9 @@
 0:23            Construct combined texture-sampler ( temp sampler1DArray)
 0:23              'g_tTex1df4' (layout( binding=0) uniform texture1DArray)
 0:23              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
+0:23            Constant:
+0:23              0.100000
+0:23              0.200000
 0:23            Constant:
 0:23              0.750000
 0:23            Constant:
@@ -178,9 +178,9 @@
 0:24            Construct combined texture-sampler ( temp isampler1DArray)
 0:24              'g_tTex1di4' ( uniform itexture1DArray)
 0:24              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.200000
-0:?               0.300000
+0:24            Constant:
+0:24              0.200000
+0:24              0.300000
 0:24            Constant:
 0:24              0.750000
 0:24            Constant:
@@ -192,9 +192,9 @@
 0:25            Construct combined texture-sampler ( temp usampler1DArray)
 0:25              'g_tTex1du4' ( uniform utexture1DArray)
 0:25              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
+0:25            Constant:
+0:25              0.300000
+0:25              0.400000
 0:25            Constant:
 0:25              0.750000
 0:25            Constant:
@@ -206,15 +206,15 @@
 0:27            Construct combined texture-sampler ( temp sampler2DArray)
 0:27              'g_tTex2df4' ( uniform texture2DArray)
 0:27              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.100000
-0:?               0.200000
-0:?               0.300000
+0:27            Constant:
+0:27              0.100000
+0:27              0.200000
+0:27              0.300000
 0:27            Constant:
 0:27              0.750000
-0:?             Constant:
-0:?               0 (const int)
-0:?               0 (const int)
+0:27            Constant:
+0:27              0 (const int)
+0:27              0 (const int)
 0:28      Sequence
 0:28        move second child to first child ( temp 4-component vector of int)
 0:28          'txval21' ( temp 4-component vector of int)
@@ -222,15 +222,15 @@
 0:28            Construct combined texture-sampler ( temp isampler2DArray)
 0:28              'g_tTex2di4' ( uniform itexture2DArray)
 0:28              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.300000
-0:?               0.400000
-0:?               0.500000
+0:28            Constant:
+0:28              0.300000
+0:28              0.400000
+0:28              0.500000
 0:28            Constant:
 0:28              0.750000
-0:?             Constant:
-0:?               0 (const int)
-0:?               0 (const int)
+0:28            Constant:
+0:28              0 (const int)
+0:28              0 (const int)
 0:29      Sequence
 0:29        move second child to first child ( temp 4-component vector of uint)
 0:29          'txval22' ( temp 4-component vector of uint)
@@ -238,15 +238,15 @@
 0:29            Construct combined texture-sampler ( temp usampler2DArray)
 0:29              'g_tTex2du4' ( uniform utexture2DArray)
 0:29              'g_sSamp' (layout( binding=0) uniform sampler)
-0:?             Constant:
-0:?               0.500000
-0:?               0.600000
-0:?               0.700000
+0:29            Constant:
+0:29              0.500000
+0:29              0.600000
+0:29              0.700000
 0:29            Constant:
 0:29              0.750000
-0:?             Constant:
-0:?               0 (const int)
-0:?               1 (const int)
+0:29            Constant:
+0:29              0 (const int)
+0:29              1 (const int)
 0:33      move second child to first child ( temp 4-component vector of float)
 0:33        Color: direct index for structure ( temp 4-component vector of float)
 0:33          'psout' ( temp structure{ temp 4-component vector of float Color,  temp float Depth})
diff --git a/Test/baseResults/hlsl.scalar2matrix.frag.out b/Test/baseResults/hlsl.scalar2matrix.frag.out
index 8a1413f..62980dd 100644
--- a/Test/baseResults/hlsl.scalar2matrix.frag.out
+++ b/Test/baseResults/hlsl.scalar2matrix.frag.out
@@ -89,23 +89,23 @@
 0:16          0.750000
 0:17      move second child to first child ( temp 4X4 matrix of float)
 0:17        'mat4' ( temp 4X4 matrix of float)
-0:?         Constant:
-0:?           4.000000
-0:?           4.100000
-0:?           4.200000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
+0:17        Constant:
+0:17          4.000000
+0:17          4.100000
+0:17          4.200000
+0:17          0.000000
+0:17          0.000000
+0:17          0.000000
+0:17          0.000000
+0:17          0.000000
+0:17          0.000000
+0:17          0.000000
+0:17          0.000000
+0:17          0.000000
+0:17          0.000000
+0:17          0.000000
+0:17          0.000000
+0:17          0.000000
 0:18      move second child to first child ( temp 4X4 matrix of float)
 0:18        'mat4' ( temp 4X4 matrix of float)
 0:18        Constant:
@@ -278,23 +278,23 @@
 0:16          0.750000
 0:17      move second child to first child ( temp 4X4 matrix of float)
 0:17        'mat4' ( temp 4X4 matrix of float)
-0:?         Constant:
-0:?           4.000000
-0:?           4.100000
-0:?           4.200000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000
-0:?           0.000000