diff options
author | Chris Lattner <sabre@nondot.org> | 2006-03-24 19:41:10 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-03-24 19:41:10 +0000 |
commit | 782651cffe391298adf58cacead8bcc96bc13e30 (patch) | |
tree | 2080fd9dad10082c11baeda5ab361b0bc16a116b /include | |
parent | da10f19d5c008157d4cee7353a35092f34681a38 (diff) | |
download | external_llvm-782651cffe391298adf58cacead8bcc96bc13e30.zip external_llvm-782651cffe391298adf58cacead8bcc96bc13e30.tar.gz external_llvm-782651cffe391298adf58cacead8bcc96bc13e30.tar.bz2 |
Specify the value type for each llvm type. This needs work for pointers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27074 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/Intrinsics.td | 44 |
1 files changed, 23 insertions, 21 deletions
diff --git a/include/llvm/Intrinsics.td b/include/llvm/Intrinsics.td index 2c195be..5fde698 100644 --- a/include/llvm/Intrinsics.td +++ b/include/llvm/Intrinsics.td @@ -52,34 +52,36 @@ def IntrWriteMem : IntrinsicProperty; // Types used by intrinsics. //===----------------------------------------------------------------------===// -class LLVMType<string typeval> { +class LLVMType<ValueType vt, string typeval> { + ValueType VT = vt; string TypeVal = typeval; } -class LLVMPackedType<int numelts, LLVMType elty> : LLVMType<"Type::PackedTyID">{ +class LLVMPackedType<ValueType VT, int numelts, LLVMType elty> + : LLVMType<VT, "Type::PackedTyID">{ int NumElts = numelts; LLVMType ElTy = elty; } -def llvm_void_ty : LLVMType<"Type::VoidTyID">; -def llvm_bool_ty : LLVMType<"Type::BoolTyID">; -def llvm_sbyte_ty : LLVMType<"Type::SByteTyID">; -def llvm_short_ty : LLVMType<"Type::ShortTyID">; -def llvm_int_ty : LLVMType<"Type::IntTyID">; -def llvm_long_ty : LLVMType<"Type::LongTyID">; -def llvm_ubyte_ty : LLVMType<"Type::UByteTyID">; -def llvm_ushort_ty : LLVMType<"Type::UShortTyID">; -def llvm_uint_ty : LLVMType<"Type::UIntTyID">; -def llvm_ulong_ty : LLVMType<"Type::ULongTyID">; -def llvm_float_ty : LLVMType<"Type::FloatTyID">; -def llvm_double_ty : LLVMType<"Type::DoubleTyID">; -def llvm_ptr_ty : LLVMType<"Type::PointerTyID">; // sbyte* -def llvm_ptrptr_ty : LLVMType<"Type::PointerTyID">; // sbyte** -def llvm_descriptor_ty : LLVMType<"Type::PointerTyID">; // global* - -def llvm_v4i32_ty : LLVMPackedType<4, llvm_int_ty>; // 4 x int -def llvm_v4f32_ty : LLVMPackedType<4, llvm_float_ty>; // 4 x float -def llvm_v2f64_ty : LLVMPackedType<2, llvm_double_ty>; // 2 x double +def llvm_void_ty : LLVMType<isVoid, "Type::VoidTyID">; +def llvm_bool_ty : LLVMType<i1 , "Type::BoolTyID">; +def llvm_sbyte_ty : LLVMType<i8 , "Type::SByteTyID">; +def llvm_short_ty : LLVMType<i16, "Type::ShortTyID">; +def llvm_int_ty : LLVMType<i32, "Type::IntTyID">; +def llvm_long_ty : LLVMType<i64, "Type::LongTyID">; +def llvm_ubyte_ty : LLVMType<i8, "Type::UByteTyID">; +def llvm_ushort_ty : LLVMType<i16, "Type::UShortTyID">; +def llvm_uint_ty : LLVMType<i32, "Type::UIntTyID">; +def llvm_ulong_ty : LLVMType<i64, "Type::ULongTyID">; +def llvm_float_ty : LLVMType<f32, "Type::FloatTyID">; +def llvm_double_ty : LLVMType<f64, "Type::DoubleTyID">; +def llvm_ptr_ty : LLVMType<OtherVT, "Type::PointerTyID">; // sbyte* +def llvm_ptrptr_ty : LLVMType<OtherVT, "Type::PointerTyID">; // sbyte** +def llvm_descriptor_ty : LLVMType<OtherVT, "Type::PointerTyID">; // global* + +def llvm_v4i32_ty : LLVMPackedType<v4i32, 4, llvm_int_ty>; // 4 x int +def llvm_v4f32_ty : LLVMPackedType<v4f32, 4, llvm_float_ty>; // 4 x float +def llvm_v2f64_ty : LLVMPackedType<v2f64, 2, llvm_double_ty>; // 2 x double //===----------------------------------------------------------------------===// // Intrinsic Definitions. |