// RUN: llvm-tblgen -gen-intrinsic %s | FileCheck %s // XFAIL: vg_leak class IntrinsicProperty; class ValueType { string Namespace = "MVT"; int Size = size; int Value = value; } class LLVMType { ValueType VT = vt; } class Intrinsic param_types = []> { string LLVMName = name; bit isTarget = 0; string TargetPrefix = ""; list RetTypes = []; list ParamTypes = param_types; list Properties = []; } def iAny : ValueType<0, 254>; def llvm_anyint_ty : LLVMType; // Make sure an intrinsic name that is a prefix of another is checked after the // other. // CHECK: if (NameR.startswith("oo.bar.")) return Intrinsic::foo_bar; // CHECK: if (NameR.startswith("oo.")) return Intrinsic::foo; def int_foo : Intrinsic<"llvm.foo", [llvm_anyint_ty]>; def int_foo_bar : Intrinsic<"llvm.foo.bar", [llvm_anyint_ty]>;