#include <limits>
#include "src/compiler/access-info.h"
#include "src/compiler/js-heap-broker.h"
#include "src/compiler/node-matchers.h"
#include "src/compiler/representation-change.h"
#include "src/compiler/type-cache.h"
#include "src/objects/objects-inl.h"
#include "test/cctest/cctest.h"
#include "test/cctest/compiler/codegen-tester.h"
#include "test/cctest/compiler/graph-and-builders.h"
#include "test/cctest/compiler/js-heap-broker-base.h"
#include "test/common/value-helper.h"
namespace v8 {
namespace internal {
namespace compiler {
class RepresentationChangerTester : public HandleAndZoneScope,
public GraphAndBuilders,
public JSHeapBrokerTestBase { … };
const MachineType kMachineTypes[] = …;
TEST(BoolToBit_constant) { … }
TEST(ToTagged_constant) { … }
TEST(ToFloat64_constant) { … }
static bool IsFloat32Int32(int32_t val) { … }
static bool IsFloat32Uint32(uint32_t val) { … }
TEST(ToFloat32_constant) { … }
TEST(ToInt32_constant) { … }
TEST(ToUint32_constant) { … }
TEST(ToInt64_constant) { … }
static void CheckChange(IrOpcode::Value expected, MachineRepresentation from,
Type from_type, UseInfo use_info) { … }
static void CheckChange(IrOpcode::Value expected, MachineRepresentation from,
Type from_type, MachineRepresentation to) { … }
static void CheckTwoChanges(IrOpcode::Value expected2,
IrOpcode::Value expected1,
MachineRepresentation from, Type from_type,
MachineRepresentation to, UseInfo use_info) { … }
static void CheckTwoChanges(IrOpcode::Value expected2,
IrOpcode::Value expected1,
MachineRepresentation from, Type from_type,
MachineRepresentation to) { … }
static void CheckChange(IrOpcode::Value expected, MachineRepresentation from,
Type from_type, MachineRepresentation to,
UseInfo use_info) { … }
TEST(Word64) { … }
TEST(SingleChanges) { … }
TEST(SignednessInWord32) { … }
static void TestMinusZeroCheck(IrOpcode::Value expected, Type from_type) { … }
TEST(MinusZeroCheck) { … }
TEST(Nops) { … }
TEST(TypeErrors) { … }
}
}
}