Expand Up
@@ -269,36 +269,49 @@ TEST(MachineInstrExtraInfo, AddExtraInfo) {
MMOs.push_back (MMO);
MCSymbol *Sym1 = MC->createTempSymbol (" pre_label" , false );
MCSymbol *Sym2 = MC->createTempSymbol (" post_label" , false );
MDNode *MDN = MDNode::getDistinct (Ctx, None);
MDNode *HAM = MDNode::getDistinct (Ctx, None);
MDNode *PCS = MDNode::getDistinct (Ctx, None);
ASSERT_TRUE (MI->memoperands_empty ());
ASSERT_FALSE (MI->getPreInstrSymbol ());
ASSERT_FALSE (MI->getPostInstrSymbol ());
ASSERT_FALSE (MI->getHeapAllocMarker ());
ASSERT_FALSE (MI->getPCSections ());
MI->setMemRefs (*MF, MMOs);
ASSERT_TRUE (MI->memoperands ().size () == 1 );
ASSERT_FALSE (MI->getPreInstrSymbol ());
ASSERT_FALSE (MI->getPostInstrSymbol ());
ASSERT_FALSE (MI->getHeapAllocMarker ());
ASSERT_FALSE (MI->getPCSections ());
MI->setPreInstrSymbol (*MF, Sym1);
ASSERT_TRUE (MI->memoperands ().size () == 1 );
ASSERT_TRUE (MI->getPreInstrSymbol () == Sym1);
ASSERT_FALSE (MI->getPostInstrSymbol ());
ASSERT_FALSE (MI->getHeapAllocMarker ());
ASSERT_FALSE (MI->getPCSections ());
MI->setPostInstrSymbol (*MF, Sym2);
ASSERT_TRUE (MI->memoperands ().size () == 1 );
ASSERT_TRUE (MI->getPreInstrSymbol () == Sym1);
ASSERT_TRUE (MI->getPostInstrSymbol () == Sym2);
ASSERT_FALSE (MI->getHeapAllocMarker ());
ASSERT_FALSE (MI->getPCSections ());
MI->setHeapAllocMarker (*MF, MDN );
MI->setHeapAllocMarker (*MF, HAM );
ASSERT_TRUE (MI->memoperands ().size () == 1 );
ASSERT_TRUE (MI->getPreInstrSymbol () == Sym1);
ASSERT_TRUE (MI->getPostInstrSymbol () == Sym2);
ASSERT_TRUE (MI->getHeapAllocMarker () == MDN);
ASSERT_TRUE (MI->getHeapAllocMarker () == HAM);
ASSERT_FALSE (MI->getPCSections ());
MI->setPCSections (*MF, PCS);
ASSERT_TRUE (MI->memoperands ().size () == 1 );
ASSERT_TRUE (MI->getPreInstrSymbol () == Sym1);
ASSERT_TRUE (MI->getPostInstrSymbol () == Sym2);
ASSERT_TRUE (MI->getHeapAllocMarker () == HAM);
ASSERT_TRUE (MI->getPCSections () == PCS);
}
TEST (MachineInstrExtraInfo, ChangeExtraInfo) {
Expand All
@@ -316,26 +329,30 @@ TEST(MachineInstrExtraInfo, ChangeExtraInfo) {
MMOs.push_back (MMO);
MCSymbol *Sym1 = MC->createTempSymbol (" pre_label" , false );
MCSymbol *Sym2 = MC->createTempSymbol (" post_label" , false );
MDNode *MDN = MDNode::getDistinct (Ctx, None);
MDNode *HAM = MDNode::getDistinct (Ctx, None);
MDNode *PCS = MDNode::getDistinct (Ctx, None);
MI->setMemRefs (*MF, MMOs);
MI->setPreInstrSymbol (*MF, Sym1);
MI->setPostInstrSymbol (*MF, Sym2);
MI->setHeapAllocMarker (*MF, MDN);
MI->setHeapAllocMarker (*MF, HAM);
MI->setPCSections (*MF, PCS);
MMOs.push_back (MMO);
MI->setMemRefs (*MF, MMOs);
ASSERT_TRUE (MI->memoperands ().size () == 2 );
ASSERT_TRUE (MI->getPreInstrSymbol () == Sym1);
ASSERT_TRUE (MI->getPostInstrSymbol () == Sym2);
ASSERT_TRUE (MI->getHeapAllocMarker () == MDN);
ASSERT_TRUE (MI->getHeapAllocMarker () == HAM);
ASSERT_TRUE (MI->getPCSections () == PCS);
MI->setPostInstrSymbol (*MF, Sym1);
ASSERT_TRUE (MI->memoperands ().size () == 2 );
ASSERT_TRUE (MI->getPreInstrSymbol () == Sym1);
ASSERT_TRUE (MI->getPostInstrSymbol () == Sym1);
ASSERT_TRUE (MI->getHeapAllocMarker () == MDN);
ASSERT_TRUE (MI->getHeapAllocMarker () == HAM);
ASSERT_TRUE (MI->getPCSections () == PCS);
}
TEST (MachineInstrExtraInfo, RemoveExtraInfo) {
Expand All
@@ -354,36 +371,49 @@ TEST(MachineInstrExtraInfo, RemoveExtraInfo) {
MMOs.push_back (MMO);
MCSymbol *Sym1 = MC->createTempSymbol (" pre_label" , false );
MCSymbol *Sym2 = MC->createTempSymbol (" post_label" , false );
MDNode *MDN = MDNode::getDistinct (Ctx, None);
MDNode *HAM = MDNode::getDistinct (Ctx, None);
MDNode *PCS = MDNode::getDistinct (Ctx, None);
MI->setMemRefs (*MF, MMOs);
MI->setPreInstrSymbol (*MF, Sym1);
MI->setPostInstrSymbol (*MF, Sym2);
MI->setHeapAllocMarker (*MF, MDN);
MI->setHeapAllocMarker (*MF, HAM);
MI->setPCSections (*MF, PCS);
MI->setPostInstrSymbol (*MF, nullptr );
ASSERT_TRUE (MI->memoperands ().size () == 2 );
ASSERT_TRUE (MI->getPreInstrSymbol () == Sym1);
ASSERT_FALSE (MI->getPostInstrSymbol ());
ASSERT_TRUE (MI->getHeapAllocMarker () == MDN);
ASSERT_TRUE (MI->getHeapAllocMarker () == HAM);
ASSERT_TRUE (MI->getPCSections () == PCS);
MI->setHeapAllocMarker (*MF, nullptr );
ASSERT_TRUE (MI->memoperands ().size () == 2 );
ASSERT_TRUE (MI->getPreInstrSymbol () == Sym1);
ASSERT_FALSE (MI->getPostInstrSymbol ());
ASSERT_FALSE (MI->getHeapAllocMarker ());
ASSERT_TRUE (MI->getPCSections () == PCS);
MI->setPCSections (*MF, nullptr );
ASSERT_TRUE (MI->memoperands ().size () == 2 );
ASSERT_TRUE (MI->getPreInstrSymbol () == Sym1);
ASSERT_FALSE (MI->getPostInstrSymbol ());
ASSERT_FALSE (MI->getHeapAllocMarker ());
ASSERT_FALSE (MI->getPCSections ());
MI->setPreInstrSymbol (*MF, nullptr );
ASSERT_TRUE (MI->memoperands ().size () == 2 );
ASSERT_FALSE (MI->getPreInstrSymbol ());
ASSERT_FALSE (MI->getPostInstrSymbol ());
ASSERT_FALSE (MI->getHeapAllocMarker ());
ASSERT_FALSE (MI->getPCSections ());
MI->setMemRefs (*MF, {});
ASSERT_TRUE (MI->memoperands_empty ());
ASSERT_FALSE (MI->getPreInstrSymbol ());
ASSERT_FALSE (MI->getPostInstrSymbol ());
ASSERT_FALSE (MI->getHeapAllocMarker ());
ASSERT_FALSE (MI->getPCSections ());
}
TEST (MachineInstrDebugValue, AddDebugValueOperand) {
Expand Down