llvm-6502/include/llvm
Eli Bendersky 9ccb76998f Optimize the memory usage of MC bundling, by creating a new type of fragment
into which we can emit single instructions without fixups (which is most
instructions). This is an optimization required because MCDataFragment
is prety large (240 bytes on x64), with no change in functionality.

For large programs, this reduces memory usage overhead required for bundling
by 40%.

To make the code as palatable as possible, the MCEncodedFragment interface was
further fragmented (no pun intended) and MCEncodedFragmentWithFixups is used
as the interface to work against when the user expects fixups. MCDataFragment
and MCRelaxableFragment implement this interface, while the new
MCCompactEncodedInstFragment implements MCEncodeFragment.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172572 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-15 23:22:09 +00:00
..
ADT [ADT/StringMap] Follow-up to r172455, use the correct constructor for setting the InitialSize, 2013-01-15 01:58:45 +00:00
Analysis SCEVExpander fix. RAUW needs to update the InsertedExpressions cache. 2013-01-14 21:00:37 +00:00
Assembly
Bitcode Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
CodeGen Precompute some information about register costs. 2013-01-12 00:54:59 +00:00
Config
DebugInfo
ExecutionEngine Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
IR Fix operand type conditions in one of ICmpInst constructors. 2013-01-15 15:30:33 +00:00
MC Optimize the memory usage of MC bundling, by creating a new type of fragment 2013-01-15 23:22:09 +00:00
Object [Object][ELF] Fix -Wenum-compare. 2013-01-15 22:00:16 +00:00
Option Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Support [Support] Add LLVM_CONSTEXPR. 2013-01-15 05:01:39 +00:00
TableGen TableGen: Keep track of superclass reference ranges. 2013-01-10 18:50:11 +00:00
Target Split TargetLowering into a CodeGen and a SelectionDAG part. 2013-01-11 20:05:37 +00:00
Transforms Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Attributes.h
AutoUpgrade.h
CMakeLists.txt
DebugInfo.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
DIBuilder.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
GVMaterializer.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
InitializePasses.h Added -view-callgraph module pass. 2013-01-11 17:28:14 +00:00
InstVisitor.h
LinkAllIR.h Rename LinkAllVMCore.h to LinkAllIR.h since VMCore directory was renamed to IR. 2013-01-10 21:55:02 +00:00
LinkAllPasses.h Added -view-callgraph module pass. 2013-01-11 17:28:14 +00:00
Linker.h
Pass.h
PassAnalysisSupport.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
PassManager.h
PassManagers.h
PassRegistry.h
PassSupport.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00