llvm-project/llvm/unittests
Duncan P. N. Exon Smith 456c9968e5 Support: Implement StreamingMemoryObject::getPointer
The implementation is fairly obvious.  This is preparation for using
some blobs in bitcode.

For clarity (and perhaps future-proofing?), I moved the call to
JumpToBit in BitstreamCursor::readRecord ahead of calling
MemoryObject::getPointer, since JumpToBit can theoretically (a) read
bytes, which (b) invalidates the blob pointer.

This isn't strictly necessary the two memory objects we have:

  - The return of RawMemoryObject::getPointer is valid until the memory
    object is destroyed.

  - StreamingMemoryObject::getPointer is valid until the next chunk is
    read from the stream.  Since the JumpToBit call is only going ahead
    to a word boundary, we'll never load another chunk.

However, reordering makes it clear by inspection that the blob returned
by BitstreamCursor::readRecord will be valid.

I added some tests for StreamingMemoryObject::getPointer and
BitstreamCursor::readRecord.

llvm-svn: 264549
2016-03-27 23:00:59 +00:00
..
ADT StringMap/DenseMap unittests: use piecewise_construct and ensure no copy occurs. 2016-03-25 23:25:06 +00:00
Analysis Add getBlockProfileCount method to BlockFrequencyInfo 2016-03-23 18:18:26 +00:00
AsmParser [AsmParser] Expose an API to parse a string starting with a type. 2016-03-08 00:37:07 +00:00
Bitcode Support: Implement StreamingMemoryObject::getPointer 2016-03-27 23:00:59 +00:00
CodeGen Remove autoconf support 2016-01-26 21:29:08 +00:00
DebugInfo [DebugInfoPDB] Add source / line number accessors for PDB. 2016-02-18 18:47:29 +00:00
ExecutionEngine [Orc] Switch RPC Procedure to take a function type, rather than an arg list. 2016-03-21 16:56:25 +00:00
IR Remove some unused variables 2016-03-13 22:00:18 +00:00
LineEditor Remove autoconf support 2016-01-26 21:29:08 +00:00
Linker Delete the deprecated LLVMLinkModules. 2016-02-12 15:28:45 +00:00
MC Move ObjectYAML code to a new library. 2016-03-01 19:15:06 +00:00
MI Make a stub version of MITests, instead of reverting. 2016-02-18 07:37:17 +00:00
ObjectYAML Move ObjectYAML code to a new library. 2016-03-01 19:15:06 +00:00
Option Remove autoconf support 2016-01-26 21:29:08 +00:00
ProfileData [unittests] clang-format a line, NFC 2016-03-22 15:14:18 +00:00
Support Support: Implement StreamingMemoryObject::getPointer 2016-03-27 23:00:59 +00:00
Transforms Really fix ASAN leak/etc issues with MemorySSA unittests 2016-03-02 21:16:28 +00:00
CMakeLists.txt Move ObjectYAML code to a new library. 2016-03-01 19:15:06 +00:00