llvm-6502/utils/TableGen
Alp Toker 2559070422 Introduce a string_ostream string builder facilty
string_ostream is a safe and efficient string builder that combines opaque
stack storage with a built-in ostream interface.

small_string_ostream<bytes> additionally permits an explicit stack storage size
other than the default 128 bytes to be provided. Beyond that, storage is
transferred to the heap.

This convenient class can be used in most places an
std::string+raw_string_ostream pair or SmallString<>+raw_svector_ostream pair
would previously have been used, in order to guarantee consistent access
without byte truncation.

The patch also converts much of LLVM to use the new facility. These changes
include several probable bug fixes for truncated output, a programming error
that's no longer possible with the new interface.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211749 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-26 00:00:48 +00:00
..
AsmMatcherEmitter.cpp AsmMatchers: Use unique_ptr to manage ownership of MCParsedAsmOperand 2014-06-08 16:18:35 +00:00
AsmWriterEmitter.cpp Condition codes AL and NV are invalid in the aliases that use 2014-06-10 13:11:35 +00:00
AsmWriterInst.cpp
AsmWriterInst.h
CallingConvEmitter.cpp
CMakeLists.txt Move SetTheory from utils/TableGen into lib/TableGen so Clang can use it. 2014-06-17 13:10:38 +00:00
CodeEmitterGen.cpp Introduce a string_ostream string builder facilty 2014-06-26 00:00:48 +00:00
CodeGenDAGPatterns.cpp ARM64: separate load/store operands to simplify assembler 2014-05-22 11:56:09 +00:00
CodeGenDAGPatterns.h TableGen: permit non-leaf ComplexPattern uses 2014-05-20 11:52:46 +00:00
CodeGenInstruction.cpp TableGen: use correct MIOperand when printing aliases 2014-05-15 13:36:01 +00:00
CodeGenInstruction.h TableGen: use correct MIOperand when printing aliases 2014-05-15 13:36:01 +00:00
CodeGenIntrinsics.h
CodeGenMapTable.cpp
CodeGenRegisters.cpp [Modules] Fix potential ODR violations by sinking the DEBUG_TYPE 2014-04-22 03:06:00 +00:00
CodeGenRegisters.h Move SetTheory from utils/TableGen into lib/TableGen so Clang can use it. 2014-06-17 13:10:38 +00:00
CodeGenSchedule.cpp [Modules] Fix potential ODR violations by sinking the DEBUG_TYPE 2014-04-22 03:06:00 +00:00
CodeGenSchedule.h Move SetTheory from utils/TableGen into lib/TableGen so Clang can use it. 2014-06-17 13:10:38 +00:00
CodeGenTarget.cpp
CodeGenTarget.h
CTagsEmitter.cpp Use SourceMgr::getMemoryBuffer() in a couple of places 2014-06-25 00:41:15 +00:00
DAGISelEmitter.cpp
DAGISelMatcher.cpp
DAGISelMatcher.h
DAGISelMatcherEmitter.cpp
DAGISelMatcherGen.cpp TableGen: permit non-leaf ComplexPattern uses 2014-05-20 11:52:46 +00:00
DAGISelMatcherOpt.cpp [Modules] Fix potential ODR violations by sinking the DEBUG_TYPE 2014-04-22 03:06:00 +00:00
DFAPacketizerEmitter.cpp
DisassemblerEmitter.cpp AArch64/ARM64: implement diagnosis of unpredictable loads & stores 2014-05-06 14:15:14 +00:00
FastISelEmitter.cpp
FixedLenDecoderEmitter.cpp [Modules] Fix potential ODR violations by sinking the DEBUG_TYPE 2014-04-22 03:06:00 +00:00
InstrInfoEmitter.cpp [C++11] Use 'nullptr' in tablegen output files. 2014-04-30 05:53:35 +00:00
IntrinsicEmitter.cpp Replace some assert(0)'s with llvm_unreachable. 2014-06-18 05:05:13 +00:00
LLVMBuild.txt
Makefile
module.modulemap [modules] Add module maps for LLVM. These are not quite ready for prime-time 2014-05-21 02:46:14 +00:00
OptParserEmitter.cpp
PseudoLoweringEmitter.cpp Teach the table generated emitPseudoExpansionLowering function to not emit a switch statement containing only a default statement (and no cases). Updated some of the code to use range-based for loops as well. No functional changes. 2014-05-23 15:33:39 +00:00
RegisterInfoEmitter.cpp [C++11] Use 'nullptr' in tablegen output files. 2014-04-30 05:53:35 +00:00
SequenceToOffsetTable.h
SubtargetEmitter.cpp Move late partial-unrolling thresholds into the processor definitions 2014-05-08 09:14:44 +00:00
TableGen.cpp Move SetTheory from utils/TableGen into lib/TableGen so Clang can use it. 2014-06-17 13:10:38 +00:00
TableGenBackends.h
tdtags
X86DisassemblerShared.h
X86DisassemblerTables.cpp
X86DisassemblerTables.h
X86ModRMFilters.cpp
X86ModRMFilters.h
X86RecognizableInstr.cpp
X86RecognizableInstr.h