Duncan P. N. Exon Smith
ae3211466a
IR: Add assembly/bitcode support for function metadata attachments
...
Add serialization support for function metadata attachments (added in
r235783). The syntax is:
define @foo() !attach !0 {
Metadata attachments are only allowed on functions with bodies. Since
they come before the `{`, they're not really part of the body; since
they require a body, they're not really part of the header. In
`LLParser` I gave them a separate function called from `ParseDefine()`,
`ParseOptionalFunctionMetadata()`.
In bitcode, I'm using the same `METADATA_ATTACHMENT` record used by
instructions. Instruction metadata attachments are included in a
special "attachment" block at the end of a `Function`. The attachment
records are laid out like this:
InstID (KindID MetadataID)+
Note that these records always have an odd number of fields. The new
code takes advantage of this to recognize function attachments (which
don't need an instruction ID):
(KindID MetadataID)+
This means we can use the same attachment block already used for
instructions.
This is part of PR23340.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235785 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-24 22:04:41 +00:00
..
2015-02-27 21:17:42 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2015-03-13 18:20:45 +00:00
2015-03-13 18:20:45 +00:00
2015-02-27 21:17:42 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2015-03-13 18:20:45 +00:00
2015-02-27 19:29:02 +00:00
2015-02-27 21:17:42 +00:00
2015-03-13 18:20:45 +00:00
2015-02-27 21:17:42 +00:00
2015-03-13 18:20:45 +00:00
2015-04-16 23:24:18 +00:00
2015-03-13 18:20:45 +00:00
2015-04-15 21:04:10 +00:00
2015-03-13 18:20:45 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-02-16 08:38:03 +00:00
2015-02-16 08:38:03 +00:00
2015-03-13 19:30:44 +00:00
2015-02-27 21:17:42 +00:00
2015-03-13 18:20:45 +00:00
2015-02-23 00:01:32 +00:00
2015-03-13 18:20:45 +00:00
2015-03-13 18:20:45 +00:00
2015-04-06 17:04:58 +00:00
2015-03-03 17:24:31 +00:00
2015-02-16 09:18:13 +00:00
2015-02-27 21:17:42 +00:00
2015-03-13 18:20:45 +00:00
2015-03-09 23:08:44 +00:00
2015-02-27 19:29:02 +00:00
2015-02-27 19:29:02 +00:00
2015-02-27 19:29:02 +00:00
2015-02-27 19:29:02 +00:00
2015-03-13 18:20:45 +00:00
2015-02-27 19:29:02 +00:00
2015-03-13 18:20:45 +00:00
2015-02-16 08:41:08 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-02-23 07:13:52 +00:00
2015-02-11 07:43:58 +00:00
2015-02-16 09:37:35 +00:00
2015-02-11 09:13:09 +00:00
2015-02-16 05:41:53 +00:00
2015-02-16 05:41:53 +00:00
2015-02-16 05:41:53 +00:00
2015-02-16 05:41:55 +00:00
2015-03-02 06:00:02 +00:00
2015-03-02 06:33:51 +00:00
2015-03-02 06:33:51 +00:00
2015-03-02 09:34:59 +00:00
2015-03-02 09:35:03 +00:00
2015-03-02 09:35:03 +00:00
2015-02-16 06:04:53 +00:00
2015-03-22 15:58:21 +00:00
2015-02-27 19:29:02 +00:00
2015-02-27 19:29:02 +00:00
2015-03-02 05:25:09 +00:00
2015-03-09 07:13:42 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-02-13 01:25:10 +00:00
2015-03-22 15:58:21 +00:00
2015-02-13 01:25:10 +00:00
2015-03-31 00:47:15 +00:00
2015-02-13 01:20:38 +00:00
2015-02-13 01:20:38 +00:00
2015-02-13 01:20:38 +00:00
2015-02-13 01:14:11 +00:00
2015-02-13 01:14:11 +00:00
2015-03-22 15:58:21 +00:00
2015-02-13 01:42:09 +00:00
2015-02-13 01:19:14 +00:00
2015-02-13 01:19:14 +00:00
2015-03-31 01:28:22 +00:00
2015-03-31 01:28:22 +00:00
2015-03-30 16:21:28 +00:00
2015-02-13 01:46:02 +00:00
2015-03-30 16:21:28 +00:00
2015-03-30 16:37:48 +00:00
2015-02-13 01:30:42 +00:00
2015-03-30 16:21:28 +00:00
2015-03-30 16:37:48 +00:00
2015-03-27 17:29:58 +00:00
2015-03-27 17:29:58 +00:00
2015-03-27 17:56:39 +00:00
2015-03-27 17:56:39 +00:00
2015-03-22 15:58:21 +00:00
2015-03-22 15:58:21 +00:00
2015-02-13 01:32:09 +00:00
2015-03-22 15:58:21 +00:00
2015-02-13 01:10:38 +00:00
2015-03-22 15:58:21 +00:00
2015-02-13 01:10:38 +00:00
2015-02-13 01:10:38 +00:00
2015-02-21 01:02:18 +00:00
2015-02-19 00:37:21 +00:00
2015-02-19 00:37:21 +00:00
2015-02-20 20:35:17 +00:00
2015-02-13 01:42:09 +00:00
2015-02-28 22:20:16 +00:00
2015-03-31 01:28:22 +00:00
2015-03-30 17:21:38 +00:00
2015-03-30 16:37:48 +00:00
2015-04-15 22:29:27 +00:00
2015-03-26 22:05:04 +00:00
2015-03-30 17:21:38 +00:00
2015-03-30 17:21:38 +00:00
2015-03-28 02:26:45 +00:00
2015-02-18 23:17:51 +00:00
2015-03-28 02:43:53 +00:00
2015-03-30 17:21:38 +00:00
2015-02-28 23:21:38 +00:00
2015-03-15 00:45:51 +00:00
2015-03-31 00:47:15 +00:00
2015-04-24 22:04:41 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-04-16 23:24:18 +00:00
2015-02-27 21:17:42 +00:00
2015-02-27 21:17:42 +00:00
2015-03-10 06:34:57 +00:00
2015-02-27 21:17:42 +00:00
2015-03-13 18:20:45 +00:00
2015-03-13 18:20:45 +00:00