//===- llvm/unittest/IR/IntrinsicsTest.cpp - ------------------------------===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// #include "llvm/IR/IntrinsicInst.h" #include "gtest/gtest.h" using namespace llvm; namespace { static const char *const NameTable1[] = { "llvm.foo", "llvm.foo.a", "llvm.foo.b", "llvm.foo.b.a", "llvm.foo.c", }; TEST(IntrinNameLookup, Basic) { int I = Intrinsic::lookupLLVMIntrinsicByName(NameTable1, "llvm.foo"); EXPECT_EQ(0, I); I = Intrinsic::lookupLLVMIntrinsicByName(NameTable1, "llvm.foo.f64"); EXPECT_EQ(0, I); I = Intrinsic::lookupLLVMIntrinsicByName(NameTable1, "llvm.foo.b"); EXPECT_EQ(2, I); I = Intrinsic::lookupLLVMIntrinsicByName(NameTable1, "llvm.foo.b.a"); EXPECT_EQ(3, I); I = Intrinsic::lookupLLVMIntrinsicByName(NameTable1, "llvm.foo.c"); EXPECT_EQ(4, I); I = Intrinsic::lookupLLVMIntrinsicByName(NameTable1, "llvm.foo.c.f64"); EXPECT_EQ(4, I); } } // end namespace