1*61f48ca3SMarcello Maggioni //===- MachineOperandTest.cpp ---------------------------------===// 2*61f48ca3SMarcello Maggioni // 3*61f48ca3SMarcello Maggioni // The LLVM Compiler Infrastructure 4*61f48ca3SMarcello Maggioni // 5*61f48ca3SMarcello Maggioni // This file is distributed under the University of Illinois Open Source 6*61f48ca3SMarcello Maggioni // License. See LICENSE.TXT for details. 7*61f48ca3SMarcello Maggioni // 8*61f48ca3SMarcello Maggioni //===----------------------------------------------------------------------===// 9*61f48ca3SMarcello Maggioni 10*61f48ca3SMarcello Maggioni #include "llvm/ADT/ilist_node.h" 11*61f48ca3SMarcello Maggioni #include "llvm/CodeGen/MachineOperand.h" 12*61f48ca3SMarcello Maggioni #include "gtest/gtest.h" 13*61f48ca3SMarcello Maggioni 14*61f48ca3SMarcello Maggioni using namespace llvm; 15*61f48ca3SMarcello Maggioni 16*61f48ca3SMarcello Maggioni namespace { 17*61f48ca3SMarcello Maggioni 18*61f48ca3SMarcello Maggioni TEST(MachineOperandTest, ChangeToTargetIndexTest) { 19*61f48ca3SMarcello Maggioni // Creating a MachineOperand to change it to TargetIndex 20*61f48ca3SMarcello Maggioni MachineOperand MO = MachineOperand::CreateImm(50); 21*61f48ca3SMarcello Maggioni 22*61f48ca3SMarcello Maggioni // Checking some precondition on the newly created 23*61f48ca3SMarcello Maggioni // MachineOperand. 24*61f48ca3SMarcello Maggioni ASSERT_TRUE(MO.isImm()); 25*61f48ca3SMarcello Maggioni ASSERT_TRUE(MO.getImm() == 50); 26*61f48ca3SMarcello Maggioni ASSERT_FALSE(MO.isTargetIndex()); 27*61f48ca3SMarcello Maggioni 28*61f48ca3SMarcello Maggioni // Changing to TargetIndex with some arbitrary values 29*61f48ca3SMarcello Maggioni // for index, offset and flags. 30*61f48ca3SMarcello Maggioni MO.ChangeToTargetIndex(74, 57, 12); 31*61f48ca3SMarcello Maggioni 32*61f48ca3SMarcello Maggioni // Checking that the mutation to TargetIndex happened 33*61f48ca3SMarcello Maggioni // correctly. 34*61f48ca3SMarcello Maggioni ASSERT_TRUE(MO.isTargetIndex()); 35*61f48ca3SMarcello Maggioni ASSERT_TRUE(MO.getIndex() == 74); 36*61f48ca3SMarcello Maggioni ASSERT_TRUE(MO.getOffset() == 57); 37*61f48ca3SMarcello Maggioni ASSERT_TRUE(MO.getTargetFlags() == 12); 38*61f48ca3SMarcello Maggioni } 39*61f48ca3SMarcello Maggioni 40*61f48ca3SMarcello Maggioni } // end namespace 41