- FUNC_CODE_INST_STORE = 21, // STORE: [ptrty,val,ptr, align, vol]
- FUNC_CODE_INST_CALL = 22, // CALL: [fnty, fnid, arg0, arg1...]
- FUNC_CODE_INST_VAARG = 23 // VAARG: [valistty, valist, instty]
+ // FIXME: Remove STORE in favor of STORE2 in LLVM 3.0
+ FUNC_CODE_INST_STORE = 21, // STORE: [valty,val,ptr, align, vol]
+ FUNC_CODE_INST_CALL = 22, // CALL: [attr, fnty, fnid, args...]
+ FUNC_CODE_INST_VAARG = 23, // VAARG: [valistty, valist, instty]
+ // This store code encodes the pointer type, rather than the value type
+ // this is so information only available in the pointer type (e.g. address
+ // spaces) is retained.
+ FUNC_CODE_INST_STORE2 = 24, // STORE: [ptrty,ptr,val, align, vol]
+ // FIXME: Remove GETRESULT in favor of EXTRACTVAL in LLVM 3.0
+ FUNC_CODE_INST_GETRESULT = 25, // GETRESULT: [ty, opval, n]
+ FUNC_CODE_INST_EXTRACTVAL = 26, // EXTRACTVAL: [n x operands]
+ FUNC_CODE_INST_INSERTVAL = 27 // INSERTVAL: [n x operands]