Duncan P. N. Exon Smith
7b1e6b8367
Bitcode: Collect all MDString records into a single blob
...
Optimize output of MDStrings in bitcode. This emits them in big blocks
(currently 1024) in a pair of records:
- BULK_STRING_SIZES: the sizes of the strings in the block, and
- BULK_STRING_DATA: a single blob, which is the concatenation of all
the strings.
Inspired by Mehdi's similar patch, http://reviews.llvm.org/D18342 , this
should (a) slightly reduce bitcode size, since there is less record
overhead, and (b) greatly improve reading speed, since blobs are super
cheap to deserialize.
I needed to add support for blobs to streaming input to get the test
suite passing.
- StreamingMemoryObject::getPointer reads ahead and returns the
address of the blob.
- To avoid a possible reallocation of StreamingMemoryObject::Bytes,
BitstreamCursor::readRecord needs to move the call to JumpToEnd
forward so that getPointer is the last bitstream operation.
llvm-svn: 264409
2016-03-25 14:40:18 +00:00
..
2016-03-25 14:40:18 +00:00
2014-08-19 21:08:27 +00:00
2014-08-19 21:08:27 +00:00
2014-08-19 21:08:27 +00:00
2014-02-26 12:06:36 +00:00
2015-10-10 14:18:36 +00:00
2015-02-27 21:17:42 +00:00
2014-08-19 21:08:27 +00:00
2014-08-19 21:08:27 +00:00
2013-07-26 04:16:55 +00:00
2015-12-16 16:16:19 +00:00
2016-03-16 23:17:54 +00:00
2016-03-03 10:08:02 +00:00
2016-03-03 10:08:02 +00:00
2014-08-19 21:08:27 +00:00
2014-02-26 12:06:36 +00:00
2014-08-19 21:08:27 +00:00
2014-02-26 12:06:36 +00:00
2016-01-29 05:55:09 +00:00
2016-01-29 05:55:09 +00:00
2014-08-19 21:08:27 +00:00
2014-02-26 12:06:36 +00:00
2014-08-19 21:08:27 +00:00
2014-12-01 21:04:44 +00:00
2013-12-22 07:51:53 +00:00
2015-02-27 21:17:42 +00:00
2013-09-09 19:14:35 +00:00
2014-08-19 21:08:27 +00:00
2014-03-11 10:48:52 +00:00
2015-04-28 04:30:29 +00:00
2015-04-28 04:30:29 +00:00
2015-11-11 02:11:46 +00:00
2015-10-27 21:17:06 +00:00
2015-11-11 02:11:46 +00:00
2015-10-27 21:17:06 +00:00
2016-03-16 05:43:03 +00:00
2016-03-16 05:43:03 +00:00
2016-01-10 04:28:38 +00:00
2015-02-27 19:29:02 +00:00
2014-09-23 08:48:01 +00:00
2014-09-23 08:48:01 +00:00
2014-09-23 08:48:01 +00:00
2015-08-28 20:26:49 +00:00
2015-08-03 17:26:41 +00:00
2015-05-21 20:37:30 +00:00
2015-08-28 20:26:49 +00:00
2015-07-31 18:58:39 +00:00
2015-08-28 20:26:49 +00:00
2015-08-28 20:26:49 +00:00
2015-02-25 01:10:03 +00:00
2015-02-25 01:10:03 +00:00
2014-08-19 21:08:27 +00:00
2015-07-10 12:52:00 +00:00
2014-08-19 21:08:27 +00:00
2015-02-27 21:17:42 +00:00
2014-12-15 19:07:53 +00:00
2014-12-08 00:41:39 +00:00
2014-08-19 21:08:27 +00:00
2013-12-15 11:50:45 +00:00
2015-09-11 03:22:04 +00:00
2014-09-23 08:48:01 +00:00
2015-10-26 18:37:00 +00:00
2014-08-19 21:08:27 +00:00
2015-12-16 16:16:19 +00:00
2015-12-16 16:16:19 +00:00
2016-03-25 14:40:18 +00:00
2015-01-19 15:16:06 +00:00
2013-12-01 10:16:35 +00:00
2015-09-11 03:22:04 +00:00
2014-05-07 22:57:20 +00:00
2014-12-15 19:07:53 +00:00
2015-03-13 18:20:45 +00:00
2014-03-02 15:26:36 +00:00
2015-03-13 18:20:45 +00:00
2014-12-15 19:07:53 +00:00
2014-12-11 23:02:24 +00:00
2014-12-15 19:07:53 +00:00
2015-06-17 20:52:32 +00:00
2014-09-23 08:48:01 +00:00
2013-11-04 16:16:24 +00:00
2010-10-28 15:57:30 +00:00
2015-09-11 03:22:04 +00:00
2014-05-16 19:35:39 +00:00
2015-09-24 23:34:52 +00:00
2015-06-16 20:03:39 +00:00
2015-02-25 01:10:03 +00:00
2014-03-27 12:08:23 +00:00
2015-07-02 16:22:40 +00:00
2014-08-19 21:08:27 +00:00
2014-08-19 21:08:27 +00:00
2015-08-31 18:00:30 +00:00
2014-08-19 21:08:27 +00:00
2016-02-10 21:55:02 +00:00
2014-08-19 21:08:27 +00:00
2015-11-19 05:56:52 +00:00
2014-09-23 08:48:01 +00:00
2015-10-27 21:17:06 +00:00
2014-09-23 08:48:01 +00:00
2014-09-23 08:48:01 +00:00
2016-03-15 00:04:37 +00:00
2016-03-15 00:04:37 +00:00
2016-03-15 00:04:37 +00:00
2016-03-15 00:04:37 +00:00
2016-03-15 00:04:37 +00:00
2014-08-19 21:08:27 +00:00
2014-05-17 21:00:22 +00:00
2015-02-27 21:17:42 +00:00
2014-06-25 15:41:39 +00:00
2015-11-05 22:03:56 +00:00
2015-11-05 22:03:56 +00:00
2014-12-15 19:07:53 +00:00
2015-09-10 16:02:24 +00:00
2015-09-11 03:22:04 +00:00
2014-08-19 21:08:27 +00:00
2014-03-02 15:26:36 +00:00
2014-08-19 21:08:27 +00:00
2014-02-26 12:06:36 +00:00
2014-08-19 21:08:27 +00:00
2013-12-08 11:35:09 +00:00
2015-09-17 20:12:00 +00:00
2014-08-19 21:08:27 +00:00
2014-06-13 14:24:07 +00:00
2015-01-20 05:58:07 +00:00
2015-01-20 05:58:07 +00:00