codon/test/cir/var.cpp

25 lines
817 B
C++
Raw Normal View History

2021-09-28 02:02:44 +08:00
#include "test.h"
using namespace codon::ir;
2021-09-28 02:02:44 +08:00
TEST_F(CIRCoreTest, VarQueryMethodsDelegate) {
2021-09-28 02:02:44 +08:00
Var *original = module->Nr<Var>(module->getIntType());
Var *replacement = module->Nr<Var>(module->getFloatType());
original->replaceAll(replacement);
ASSERT_EQ(module->getFloatType(), original->getType());
ASSERT_EQ(module->getFloatType(), original->getUsedTypes().back());
}
TEST_F(CIRCoreTest, VarReplaceMethodsDelegate) {
2021-09-28 02:02:44 +08:00
Var *original = module->Nr<Var>(module->getIntType());
Var *replacement = module->Nr<Var>(module->getFloatType());
auto originalId = original->getId();
original->replaceAll(replacement);
ASSERT_EQ(1, original->replaceUsedType(module->getFloatType(), module->getIntType()));
ASSERT_NE(originalId, original->getId());
ASSERT_EQ(original->getId(), replacement->getId());
}