// linkage, alignment, section, visibility, threadlocal]
MODULE_CODE_GLOBALVAR = 7,
- // FUNCTION: [type, callingconv, isproto, linkage, alignment, section,
- // visibility]
+ // FUNCTION: [type, callingconv, isproto, linkage, paramattrs, alignment,
+ // section, visibility]
MODULE_CODE_FUNCTION = 8,
// ALIAS: [alias type, aliasee val#, linkage]
MODULE_CODE_ALIAS = 9,
/// MODULE_CODE_PURGEVALS: [numvals]
- MODULE_CODE_PURGEVALS = 10
+ MODULE_CODE_PURGEVALS = 10,
+
+ MODULE_CODE_COLLECTORNAME = 11 // COLLECTORNAME: [strchr x N]
};
/// PARAMATTR blocks have code for defining a parameter attribute set.
TYPE_CODE_FUNCTION = 9, // FUNCTION: [vararg, retty, paramty x N]
TYPE_CODE_STRUCT = 10, // STRUCT: [ispacked, eltty x N]
TYPE_CODE_ARRAY = 11, // ARRAY: [numelts, eltty]
- TYPE_CODE_VECTOR = 12 // VECTOR: [numelts, eltty]
+ TYPE_CODE_VECTOR = 12, // VECTOR: [numelts, eltty]
+
+ // These are not with the other floating point types because they're
+ // a late addition, and putting them in the right place breaks
+ // binary compatibility.
+ TYPE_CODE_X86_FP80 = 13, // X86 LONG DOUBLE
+ TYPE_CODE_FP128 = 14, // LONG DOUBLE (112 bit mantissa)
+ TYPE_CODE_PPC_FP128= 15 // PPC LONG DOUBLE (2 doubles)
// Any other type code is assumed to be an unknown type.
};
FUNC_CODE_INST_RET = 10, // RET: [opty,opval<both optional>]
FUNC_CODE_INST_BR = 11, // BR: [bb#, bb#, cond] or [bb#]
FUNC_CODE_INST_SWITCH = 12, // SWITCH: [opty, opval, n, n x ops]
- FUNC_CODE_INST_INVOKE = 13, // INVOKE: [fnty, op0,op1,op2, ...]
+ FUNC_CODE_INST_INVOKE = 13, // INVOKE: [attr, fnty, op0,op1, ...]
FUNC_CODE_INST_UNWIND = 14, // UNWIND
FUNC_CODE_INST_UNREACHABLE = 15, // UNREACHABLE
FUNC_CODE_INST_ALLOCA = 19, // ALLOCA: [instty, op, align]
FUNC_CODE_INST_LOAD = 20, // LOAD: [opty, op, align, vol]
FUNC_CODE_INST_STORE = 21, // STORE: [ptrty,val,ptr, align, vol]
- FUNC_CODE_INST_CALL = 22, // CALL: [fnty, fnid, arg0, arg1...]
+ FUNC_CODE_INST_CALL = 22, // CALL: [attr, fnty, fnid, args...]
FUNC_CODE_INST_VAARG = 23 // VAARG: [valistty, valist, instty]
};
} // End bitc namespace