llvm-6502/include/llvm
Rafael Espindola 548f2b6e8f Don't own the buffer in object::Binary.
Owning the buffer is somewhat inflexible. Some Binaries have sub Binaries
(like Archive) and we had to create dummy buffers just to handle that. It is
also a bad fit for IRObjectFile where the Module wants to own the buffer too.

Keeping this ownership would make supporting IR inside native objects
particularly painful.

This patch focuses in lib/Object. If something elsewhere used to own an Binary,
now it also owns a MemoryBuffer.

This patch introduces a few new types.

* MemoryBufferRef. This is just a pair of StringRefs for the data and name.
  This is to MemoryBuffer as StringRef is to std::string.
* OwningBinary. A combination of Binary and a MemoryBuffer. This is needed
  for convenience functions that take a filename and return both the
  buffer and the Binary using that buffer.

The C api now uses OwningBinary to avoid any change in semantics. I will start
a new thread to see if we want to change it and how.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216002 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-19 18:44:46 +00:00
..
ADT ADT: Avoid using std::equal in ArrayRef::equals 2014-08-19 16:36:21 +00:00
Analysis Revert "Repace SmallPtrSet with SmallPtrSetImpl in function arguments to avoid needing to mention the size." 2014-08-18 00:24:38 +00:00
AsmParser Modernize the .ll parsing interface. 2014-08-19 16:58:54 +00:00
Bitcode Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
CodeGen Revert "Repace SmallPtrSet with SmallPtrSetImpl in function arguments to avoid needing to mention the size." 2014-08-18 00:24:38 +00:00
Config Regenerate autoconf, previous updates to the configury haven't 2014-07-28 22:00:44 +00:00
DebugInfo Use a reference instead of a pointer. 2014-07-31 20:19:36 +00:00
ExecutionEngine Don't own the buffer in object::Binary. 2014-08-19 18:44:46 +00:00
IR Reapply r215966, r215965, r215964, r215963, r215960, r215959, r215958, and r215957 2014-08-19 16:39:58 +00:00
IRReader Make a helper function static. No functionality change. 2014-07-05 00:39:08 +00:00
LineEditor
Linker IR: Add COMDATs to the IR 2014-06-27 18:19:56 +00:00
LTO Don't own the buffer in object::Binary. 2014-08-19 18:44:46 +00:00
MC TableGen: allow use of uint64_t for available features mask. 2014-08-18 11:49:42 +00:00
Object Don't own the buffer in object::Binary. 2014-08-19 18:44:46 +00:00
Option Option: Propagate flags from groups to options in each group 2014-07-12 00:18:58 +00:00
ProfileData Don't own the buffer in object::Binary. 2014-08-19 18:44:46 +00:00
Support Don't own the buffer in object::Binary. 2014-08-19 18:44:46 +00:00
TableGen Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
Target [PowerPC] Implement PPCTargetLowering::getTgtMemIntrinsic 2014-08-13 01:15:40 +00:00
Transforms Revert "Repace SmallPtrSet with SmallPtrSetImpl in function arguments to avoid needing to mention the size." 2014-08-18 00:24:38 +00:00
CMakeLists.txt Remove llvm_headers_do_not_build for the benefit of XCode and Visual Studio users. 2014-08-14 00:51:47 +00:00
InitializePasses.h MachineCombiner Pass for selecting faster instruction 2014-08-03 21:35:39 +00:00
LinkAllIR.h
LinkAllPasses.h Move -verify-use-list-order into llvm-uselistorder 2014-07-25 17:13:03 +00:00
module.modulemap [modules] Update module map workaround to cope with the problematic file having 2014-08-07 20:27:08 +00:00
module.modulemap.build [modules] Add module maps for LLVM. These are not quite ready for prime-time 2014-05-21 02:46:14 +00:00
Pass.h Revert "[PM] Add pass run listeners to the pass manager." 2014-05-15 17:49:20 +00:00
PassAnalysisSupport.h
PassInfo.h Remove pimpl class from PassRegistry. 2014-06-12 16:06:51 +00:00
PassManager.h
PassRegistry.h Remove pimpl class from PassRegistry. 2014-06-12 16:06:51 +00:00
PassSupport.h Move GlobalMerge from Transform to CodeGen. 2014-06-13 22:57:59 +00:00