| Index: test/unittests/wasm/loop-assignment-analysis-unittest.cc | 
| diff --git a/test/unittests/wasm/loop-assignment-analysis-unittest.cc b/test/unittests/wasm/loop-assignment-analysis-unittest.cc | 
| index 9c89d5df586fb13ea1936f4ad44affcb8b3e3b94..f4e4be5fb2f636eeb3d992a0ad60769b3c5e804f 100644 | 
| --- a/test/unittests/wasm/loop-assignment-analysis-unittest.cc | 
| +++ b/test/unittests/wasm/loop-assignment-analysis-unittest.cc | 
| @@ -39,7 +39,7 @@ TEST_F(WasmLoopAssignmentAnalyzerTest, Empty0) { | 
| } | 
|  | 
| TEST_F(WasmLoopAssignmentAnalyzerTest, Empty1) { | 
| -  byte code[] = {kExprLoop, 0}; | 
| +  byte code[] = {kExprLoop, kLocalVoid, 0}; | 
| for (int i = 0; i < 5; i++) { | 
| BitVector* assigned = Analyze(code, code + arraysize(code)); | 
| for (int j = 0; j < assigned->length(); j++) { | 
| @@ -60,6 +60,17 @@ TEST_F(WasmLoopAssignmentAnalyzerTest, One) { | 
| } | 
| } | 
|  | 
| +TEST_F(WasmLoopAssignmentAnalyzerTest, TeeOne) { | 
| +  num_locals = 5; | 
| +  for (int i = 0; i < 5; i++) { | 
| +    byte code[] = {WASM_LOOP(WASM_TEE_LOCAL(i, WASM_ZERO))}; | 
| +    BitVector* assigned = Analyze(code, code + arraysize(code)); | 
| +    for (int j = 0; j < assigned->length(); j++) { | 
| +      CHECK_EQ(j == i, assigned->Contains(j)); | 
| +    } | 
| +  } | 
| +} | 
| + | 
| TEST_F(WasmLoopAssignmentAnalyzerTest, OneBeyond) { | 
| num_locals = 5; | 
| for (int i = 0; i < 5; i++) { | 
| @@ -98,24 +109,10 @@ TEST_F(WasmLoopAssignmentAnalyzerTest, NestedIf) { | 
| } | 
| } | 
|  | 
| -static byte LEBByte(uint32_t val, byte which) { | 
| -  byte b = (val >> (which * 7)) & 0x7F; | 
| -  if (val >> ((which + 1) * 7)) b |= 0x80; | 
| -  return b; | 
| -} | 
| - | 
| TEST_F(WasmLoopAssignmentAnalyzerTest, BigLocal) { | 
| num_locals = 65000; | 
| for (int i = 13; i < 65000; i = static_cast<int>(i * 1.5)) { | 
| -    byte code[] = {kExprLoop, | 
| -                   1, | 
| -                   kExprSetLocal, | 
| -                   LEBByte(i, 0), | 
| -                   LEBByte(i, 1), | 
| -                   LEBByte(i, 2), | 
| -                   11, | 
| -                   12, | 
| -                   13}; | 
| +    byte code[] = {WASM_LOOP(WASM_I8(11), kExprSetLocal, U32V_3(i))}; | 
|  | 
| BitVector* assigned = Analyze(code, code + arraysize(code)); | 
| for (int j = 0; j < assigned->length(); j++) { | 
| @@ -172,7 +169,7 @@ TEST_F(WasmLoopAssignmentAnalyzerTest, Loop2) { | 
| WASM_STORE_MEM(MachineType::Float32(), WASM_ZERO, WASM_GET_LOCAL(kSum)), | 
| WASM_GET_LOCAL(kIter))}; | 
|  | 
| -  BitVector* assigned = Analyze(code + 1, code + arraysize(code)); | 
| +  BitVector* assigned = Analyze(code + 2, code + arraysize(code)); | 
| for (int j = 0; j < assigned->length(); j++) { | 
| bool expected = j == kIter || j == kSum; | 
| CHECK_EQ(expected, assigned->Contains(j)); | 
| @@ -180,9 +177,9 @@ TEST_F(WasmLoopAssignmentAnalyzerTest, Loop2) { | 
| } | 
|  | 
| TEST_F(WasmLoopAssignmentAnalyzerTest, Malformed) { | 
| -  byte code[] = {kExprLoop, kExprF32Neg, kExprBrTable, 0x0e, 'h', 'e', | 
| -                 'l',       'l',         'o',          ',',  ' ', 'w', | 
| -                 'o',       'r',         'l',          'd',  '!'}; | 
| +  byte code[] = {kExprLoop, kLocalVoid, kExprF32Neg, kExprBrTable, 0x0e, 'h', | 
| +                 'e',       'l',        'l',         'o',          ',',  ' ', | 
| +                 'w',       'o',        'r',         'l',          'd',  '!'}; | 
| BitVector* assigned = Analyze(code, code + arraysize(code)); | 
| CHECK_NULL(assigned); | 
| } | 
|  |