1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 12:33:33 +02:00
llvm-mirror/lib/IR
Adrian Prantl 800e36b695 Turn DISubprogram into a variable-length node.
DISubprogram currently has 10 pointer operands, several of which are
often nullptr. This patch reduces the amount of memory allocated by
DISubprogram by rearranging the operands such that containing type,
template params, and thrown types come last, and are only allocated
when they are non-null (or followed by non-null operands).

This patch also eliminates the entirely unused DisplayName operand.

This saves up to 4 pointer operands per DISubprogram. (I tried
measuring the effect on peak memory usage on an LTO link of an X86
llc, but the results were very noisy).

llvm-svn: 301498
2017-04-26 23:44:54 +00:00
..
AsmWriter.cpp Add support for DW_TAG_thrown_type. 2017-04-26 22:56:44 +00:00
AttributeImpl.h Make getSlotAttributes return an AttributeSet instead of a wrapper list 2017-04-24 22:25:02 +00:00
Attributes.cpp Make getSlotAttributes return an AttributeSet instead of a wrapper list 2017-04-24 22:25:02 +00:00
AttributesCompatFunc.td
AutoUpgrade.cpp [X86][SSE] Update MOVNTDQA non-temporal loads to generic implementation (LLVM) 2017-04-14 15:05:35 +00:00
BasicBlock.cpp [IR] Share implementation for pairs of const and non-const methods using const_cast. NFCI 2017-03-27 05:46:58 +00:00
CMakeLists.txt
Comdat.cpp [IR] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-17 00:00:09 +00:00
ConstantFold.cpp [APInt] Use lshrInPlace to replace lshr where possible 2017-04-18 17:14:21 +00:00
ConstantFold.h
ConstantRange.cpp [ConstantRange] Optimize APInt creation in getSignedMax/getSignedMin. 2017-04-18 23:02:39 +00:00
Constants.cpp [Constants] simplify get true/false code; NFCI 2017-04-16 17:00:21 +00:00
ConstantsContext.h
Core.cpp Prefer addAttr(Attribute::AttrKind) over the AttributeList overload 2017-04-19 17:28:52 +00:00
DataLayout.cpp [DataLayout] Removed default value from a variable that isn't used without being overwritten. Make variable an enum instead of an int to avoid a cast later. NFC 2017-04-19 00:31:38 +00:00
DebugInfo.cpp [StripDeadDebug/DIFinder] Track inlined SPs 2017-04-11 13:32:11 +00:00
DebugInfoMetadata.cpp Turn DISubprogram into a variable-length node. 2017-04-26 23:44:54 +00:00
DebugLoc.cpp Cleanup dump() functions. 2017-01-28 02:02:38 +00:00
DiagnosticInfo.cpp [Stack Protection] Add diagnostic information for why stack protection was applied to a function 2017-02-28 16:02:37 +00:00
DiagnosticPrinter.cpp
DIBuilder.cpp Add support for DW_TAG_thrown_type. 2017-04-26 22:56:44 +00:00
Dominators.cpp Revert "Do not verify dominator tree if it has no roots" 2017-01-25 17:15:48 +00:00
Function.cpp Prefer addAttr(Attribute::AttrKind) over the AttributeList overload 2017-04-19 17:28:52 +00:00
GCOV.cpp [gcov] Sort file info before printing it 2017-04-26 00:16:10 +00:00
Globals.cpp [IR] Implement pairs of non-const and const methods using the const version instead of the non-const version. NFCI 2017-03-27 05:47:03 +00:00
GVMaterializer.cpp
InlineAsm.cpp [IR] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-17 00:00:09 +00:00
Instruction.cpp [IR] Add AllowContract to FastMathFlags 2017-03-28 20:11:52 +00:00
Instructions.cpp use 'auto' with 'dyn_cast' and fix formatting; NFC 2017-04-19 16:22:19 +00:00
IntrinsicInst.cpp Add intrinsics for constrained floating point operations 2017-01-26 23:27:59 +00:00
IRBuilder.cpp Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
IRPrintingPasses.cpp Implement getPassName() for IR printing passes. 2017-03-10 07:09:20 +00:00
LegacyPassManager.cpp Reverted: Track validity of pass results 2017-01-15 10:23:18 +00:00
LLVMBuild.txt
LLVMContext.cpp Add !associated metadata. 2017-03-17 22:17:24 +00:00
LLVMContextImpl.cpp Rename AttributeSet to AttributeList 2017-03-21 16:57:19 +00:00
LLVMContextImpl.h Add support for DW_TAG_thrown_type. 2017-04-26 22:56:44 +00:00
Mangler.cpp Move llvm::emitLinkerFlagsForGlobalCOFF() to Mangler. 2017-03-31 04:46:50 +00:00
MDBuilder.cpp Add function importing info from samplepgo profile to the module summary. 2017-02-28 18:09:44 +00:00
Metadata.cpp Fix the InstCombine to reserve the VP metadata and sets correct call count. 2017-03-31 15:59:52 +00:00
MetadataImpl.h
Module.cpp Module::getOrInsertFunction is using C-style vararg instead of variadic templates. 2017-04-11 15:01:18 +00:00
ModuleSummaryIndex.cpp
Operator.cpp [IR] Remove some unneeded includes from Operator.h and fix cpp files that were transitively depending on it. NFC 2017-03-20 05:08:41 +00:00
OptBisect.cpp Remove opt-bisect support for "cases" in favor of debug counters 2017-03-11 01:41:03 +00:00
Pass.cpp Cleanup dump() functions. 2017-01-28 02:02:38 +00:00
PassManager.cpp [PM] Introduce an analysis set used to preserve all analyses over 2017-01-15 06:32:49 +00:00
PassRegistry.cpp
ProfileSummary.cpp
Statepoint.cpp Rename AttributeSet to AttributeList 2017-03-21 16:57:19 +00:00
SymbolTableListTraitsImpl.h
Type.cpp [IR] Inline Type::getScalarType() by using isVectorTy() and getVectorElementType() that were already available inline. 2017-04-08 05:47:09 +00:00
TypeFinder.cpp [IR] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-17 00:00:09 +00:00
Use.cpp
User.cpp
Value.cpp Reverts commit r301424, r301425 and r301426 2017-04-26 16:37:05 +00:00
ValueSymbolTable.cpp [IR] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-17 00:00:09 +00:00
ValueTypes.cpp
Verifier.cpp Add support for DW_TAG_thrown_type. 2017-04-26 22:56:44 +00:00