fix error message for hlslGrammar::acceptConstructor

Fix the error message for when an erroneous HLSL constructor statement
is detected.

Prior to this change, such error messages would not show correct file
path and line number information.

Additionally, update test data to account for updated error messages.
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
-0:?           0.000000
-0:?           0.000000