| Index: test/cctest/compiler/test-representation-change.cc | 
| diff --git a/test/cctest/compiler/test-representation-change.cc b/test/cctest/compiler/test-representation-change.cc | 
| index 4d054fcaced7d34ab7e3ea3c120ccff22cd981b7..b475e9a5b9d76e79148bd4fb4c4d78e84c32ba84 100644 | 
| --- a/test/cctest/compiler/test-representation-change.cc | 
| +++ b/test/cctest/compiler/test-representation-change.cc | 
| @@ -493,9 +493,9 @@ | 
|  | 
| TEST(SingleChanges) { | 
| CheckChange(IrOpcode::kChangeTaggedToBit, MachineRepresentation::kTagged, | 
| -              Type::Boolean(), MachineRepresentation::kBit); | 
| +              Type::None(), MachineRepresentation::kBit); | 
| CheckChange(IrOpcode::kChangeBitToTagged, MachineRepresentation::kBit, | 
| -              Type::Boolean(), MachineRepresentation::kTagged); | 
| +              Type::None(), MachineRepresentation::kTagged); | 
|  | 
| CheckChange(IrOpcode::kChangeInt31ToTaggedSigned, | 
| MachineRepresentation::kWord32, Type::Signed31(), | 
| @@ -546,7 +546,7 @@ | 
| Type::Unsigned32(), MachineRepresentation::kWord32); | 
|  | 
| CheckChange(IrOpcode::kTruncateFloat64ToFloat32, | 
| -              MachineRepresentation::kFloat64, Type::Number(), | 
| +              MachineRepresentation::kFloat64, Type::None(), | 
| MachineRepresentation::kFloat32); | 
|  | 
| // Int32,Uint32 <-> Float32 require two changes. | 
| @@ -570,11 +570,11 @@ | 
| // Float32 <-> Tagged require two changes. | 
| CheckTwoChanges(IrOpcode::kChangeFloat32ToFloat64, | 
| IrOpcode::kChangeFloat64ToTagged, | 
| -                  MachineRepresentation::kFloat32, Type::Number(), | 
| +                  MachineRepresentation::kFloat32, Type::None(), | 
| MachineRepresentation::kTagged); | 
| CheckTwoChanges(IrOpcode::kChangeTaggedToFloat64, | 
| IrOpcode::kTruncateFloat64ToFloat32, | 
| -                  MachineRepresentation::kTagged, Type::Number(), | 
| +                  MachineRepresentation::kTagged, Type::None(), | 
| MachineRepresentation::kFloat32); | 
| } | 
|  | 
| @@ -587,7 +587,7 @@ | 
| CheckChange(IrOpcode::kChangeTaggedToUint32, MachineRepresentation::kTagged, | 
| Type::Unsigned32(), MachineRepresentation::kWord32); | 
| CheckChange(IrOpcode::kChangeInt32ToFloat64, MachineRepresentation::kWord32, | 
| -              Type::Signed32(), MachineRepresentation::kFloat64); | 
| +              Type::None(), MachineRepresentation::kFloat64); | 
| CheckChange(IrOpcode::kChangeFloat64ToInt32, MachineRepresentation::kFloat64, | 
| Type::Signed32(), MachineRepresentation::kWord32); | 
| CheckChange(IrOpcode::kTruncateFloat64ToWord32, | 
| @@ -600,7 +600,7 @@ | 
|  | 
| CheckTwoChanges(IrOpcode::kChangeInt32ToFloat64, | 
| IrOpcode::kTruncateFloat64ToFloat32, | 
| -                  MachineRepresentation::kWord32, Type::Signed32(), | 
| +                  MachineRepresentation::kWord32, Type::None(), | 
| MachineRepresentation::kFloat32); | 
| CheckTwoChanges(IrOpcode::kChangeFloat32ToFloat64, | 
| IrOpcode::kTruncateFloat64ToWord32, | 
| @@ -614,11 +614,13 @@ | 
|  | 
| // X -> X is always a nop for any single representation X. | 
| for (size_t i = 0; i < arraysize(kMachineTypes); i++) { | 
| -    r.CheckNop(kMachineTypes[i].representation(), Type::Number(), | 
| +    r.CheckNop(kMachineTypes[i].representation(), Type::None(), | 
| kMachineTypes[i].representation()); | 
| } | 
|  | 
| // 32-bit floats. | 
| +  r.CheckNop(MachineRepresentation::kFloat32, Type::None(), | 
| +             MachineRepresentation::kFloat32); | 
| r.CheckNop(MachineRepresentation::kFloat32, Type::Number(), | 
| MachineRepresentation::kFloat32); | 
|  | 
| @@ -637,6 +639,14 @@ | 
| MachineRepresentation::kWord32); | 
|  | 
| // kRepBit (result of comparison) is implicitly a wordish thing. | 
| +  r.CheckNop(MachineRepresentation::kBit, Type::None(), | 
| +             MachineRepresentation::kWord8); | 
| +  r.CheckNop(MachineRepresentation::kBit, Type::None(), | 
| +             MachineRepresentation::kWord16); | 
| +  r.CheckNop(MachineRepresentation::kBit, Type::None(), | 
| +             MachineRepresentation::kWord32); | 
| +  r.CheckNop(MachineRepresentation::kBit, Type::None(), | 
| +             MachineRepresentation::kWord64); | 
| r.CheckNop(MachineRepresentation::kBit, Type::Boolean(), | 
| MachineRepresentation::kWord8); | 
| r.CheckNop(MachineRepresentation::kBit, Type::Boolean(), | 
| @@ -652,39 +662,39 @@ | 
| RepresentationChangerTester r; | 
|  | 
| // Wordish cannot be implicitly converted to/from comparison conditions. | 
| -  r.CheckTypeError(MachineRepresentation::kWord8, Type::Number(), | 
| +  r.CheckTypeError(MachineRepresentation::kWord8, Type::None(), | 
| MachineRepresentation::kBit); | 
| -  r.CheckTypeError(MachineRepresentation::kWord16, Type::Number(), | 
| +  r.CheckTypeError(MachineRepresentation::kWord16, Type::None(), | 
| MachineRepresentation::kBit); | 
| -  r.CheckTypeError(MachineRepresentation::kWord32, Type::Number(), | 
| +  r.CheckTypeError(MachineRepresentation::kWord32, Type::None(), | 
| MachineRepresentation::kBit); | 
| -  r.CheckTypeError(MachineRepresentation::kWord64, Type::Number(), | 
| +  r.CheckTypeError(MachineRepresentation::kWord64, Type::None(), | 
| MachineRepresentation::kBit); | 
|  | 
| // Floats cannot be implicitly converted to/from comparison conditions. | 
| -  r.CheckTypeError(MachineRepresentation::kFloat64, Type::Number(), | 
| +  r.CheckTypeError(MachineRepresentation::kFloat64, Type::None(), | 
| MachineRepresentation::kBit); | 
|  | 
| // Floats cannot be implicitly converted to/from comparison conditions. | 
| -  r.CheckTypeError(MachineRepresentation::kFloat32, Type::Number(), | 
| +  r.CheckTypeError(MachineRepresentation::kFloat32, Type::None(), | 
| MachineRepresentation::kBit); | 
| -  r.CheckTypeError(MachineRepresentation::kBit, Type::Number(), | 
| +  r.CheckTypeError(MachineRepresentation::kBit, Type::None(), | 
| MachineRepresentation::kFloat32); | 
| r.CheckTypeError(MachineRepresentation::kBit, Type::Boolean(), | 
| MachineRepresentation::kFloat32); | 
|  | 
| // Word64 is internal and shouldn't be implicitly converted. | 
| -  r.CheckTypeError(MachineRepresentation::kWord64, Type::Internal(), | 
| +  r.CheckTypeError(MachineRepresentation::kWord64, Type::None(), | 
| MachineRepresentation::kTagged); | 
| -  r.CheckTypeError(MachineRepresentation::kTagged, Type::Number(), | 
| +  r.CheckTypeError(MachineRepresentation::kTagged, Type::None(), | 
| MachineRepresentation::kWord64); | 
| r.CheckTypeError(MachineRepresentation::kTagged, Type::Boolean(), | 
| MachineRepresentation::kWord64); | 
|  | 
| // Word64 / Word32 shouldn't be implicitly converted. | 
| -  r.CheckTypeError(MachineRepresentation::kWord64, Type::Internal(), | 
| +  r.CheckTypeError(MachineRepresentation::kWord64, Type::None(), | 
| MachineRepresentation::kWord32); | 
| -  r.CheckTypeError(MachineRepresentation::kWord32, Type::Number(), | 
| +  r.CheckTypeError(MachineRepresentation::kWord32, Type::None(), | 
| MachineRepresentation::kWord64); | 
| r.CheckTypeError(MachineRepresentation::kWord32, Type::Signed32(), | 
| MachineRepresentation::kWord64); | 
|  |