llvm-6502/include/llvm/IR
Manman Ren 0d12d4ebc6 [llvm link] Destroy ConstantArrays in LLVMContext if they are not used.
ConstantArrays constructed during linking can cause quadratic memory
explosion. An example is the ConstantArrays constructed when linking in
GlobalVariables with appending linkage.

Releasing all unused constants can cause a 20% LTO compile-time
slowdown for a large application. So this commit releases unused ConstantArrays
only.

rdar://19040716. It reduces memory footprint from 20+G to 6+G.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226592 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-20 19:24:59 +00:00
..
Argument.h
AssemblyAnnotationWriter.h
Attributes.h Revert accidentally committed r217107 2014-09-03 23:38:05 +00:00
AutoUpgrade.h
BasicBlock.h
CallingConv.h X86: Implement the vectorcall calling convention 2014-10-28 01:29:26 +00:00
CallSite.h
CFG.h Standardize {pred,succ,use,user}_empty() 2015-01-13 03:46:47 +00:00
CMakeLists.txt
Comdat.h
Constant.h
ConstantFolder.h
ConstantRange.h fix typos; remove names from comments; NFC 2015-01-09 17:11:51 +00:00
Constants.h Rename END_WITH_NULL to LLVM_END_WITH_NULL and move to Compiler.h 2014-11-04 01:12:21 +00:00
DataLayout.h AArch64: treat [N x Ty] as a block during procedure calls. 2014-11-27 21:02:42 +00:00
DebugInfo.h Remove support for DIVariable's FlagIndirectVariable and expect 2015-01-19 17:57:29 +00:00
DebugLoc.h [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
DerivedTypes.h Add params() to FunctionType. NFC. 2014-11-21 19:03:35 +00:00
DiagnosticInfo.h Use the DiagnosticHandler to print diagnostics when reading bitcode. 2015-01-10 00:07:30 +00:00
DiagnosticPrinter.h
DIBuilder.h IR: Remove MDNodeFwdDecl 2015-01-19 20:36:39 +00:00
Dominators.h [PM] Port domtree to the new pass manager (at last). 2015-01-14 10:19:28 +00:00
Function.h Move ownership of GCStrategy objects to LLVMContext 2015-01-16 20:07:33 +00:00
GCStrategy.h clang-format all the GC related files (NFC) 2015-01-16 23:16:12 +00:00
GetElementPtrTypeIterator.h
GlobalAlias.h
GlobalObject.h Fix broken C++ mode comment 2014-11-05 01:36:22 +00:00
GlobalValue.h [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
GlobalVariable.h
GVMaterializer.h Ask the module for its the identified types. 2014-12-03 07:18:23 +00:00
InlineAsm.h
InstIterator.h
InstrTypes.h Revert r220349 to re-instate r220277 with a fix for PR21330 -- quite 2014-11-25 08:20:27 +00:00
Instruction.def
Instruction.h Revert "IR: MDNode => Value" 2014-11-11 21:30:22 +00:00
Instructions.h [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
InstVisitor.h
IntrinsicInst.h IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
Intrinsics.h Masked Load/Store - Changed the order of parameters in intrinsics. 2014-12-25 07:49:20 +00:00
Intrinsics.td Rename llvm.recoverframeallocation to llvm.framerecover 2015-01-13 01:51:34 +00:00
IntrinsicsAArch64.td
IntrinsicsARM.td ARM: add @llvm.arm.space intrinsic for testing ConstantIslands. 2014-11-13 17:58:48 +00:00
IntrinsicsHexagon.td
IntrinsicsMips.td
IntrinsicsNVVM.td [NVPTX] Make the alignment an explicit argument to ldu/ldg 2014-08-29 15:30:20 +00:00
IntrinsicsPowerPC.td [PowerPC] Add VSX builtins for vec_div 2014-11-14 12:10:40 +00:00
IntrinsicsR600.td R600/SI: Add class intrinsic 2015-01-06 23:00:37 +00:00
IntrinsicsX86.td [x86] Change AVX512 intrinsics to take a 8-bit immediate for the comparision kind instead of a 32-bit immediate. This better aligns with the emitted instruction. It also matches SSE and AVX1 equivalents. Also add auto upgrade support. 2015-01-19 06:07:27 +00:00
IntrinsicsXCore.td
IRBuilder.h Some code improvements in Masked Load/Store. 2014-12-30 14:28:14 +00:00
IRPrintingPasses.h [PM] Switch the new pass manager to use a reference-based API for IR 2015-01-05 02:47:05 +00:00
LegacyPassManager.h Document that PassManager::add() may delete the pass right away. 2014-12-12 01:27:01 +00:00
LegacyPassManagers.h FunctionPassManager isn't used by the JIT anymore, it is used in 2014-09-10 10:48:06 +00:00
LegacyPassNameParser.h
LLVMContext.h Introduce enum values for previously defined metadata types. (NFC) 2014-10-21 00:13:20 +00:00
Mangler.h
MDBuilder.h IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
Metadata.def IR: Introduce GenericDwarfNode 2015-01-20 00:01:43 +00:00
Metadata.h Revert "IR: Specify underlying type instead of r226570, NFC" 2015-01-20 17:04:56 +00:00
MetadataTracking.h IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
Module.h [llvm link] Destroy ConstantArrays in LLVMContext if they are not used. 2015-01-20 19:24:59 +00:00
NoFolder.h
OperandTraits.h
Operator.h InstCombine: Don't assume that m_ZExt matches an Instruction 2014-11-01 23:46:05 +00:00
PassManager.h [PM] Push the debug option for the new pass manager into the opt tool 2015-01-13 22:42:38 +00:00
PassManagerInternal.h [PM] Remove the 'AnalysisManagerT' type parameter from numerous layers 2015-01-13 11:31:43 +00:00
PatternMatch.h InstSimplify: Optimize away pointless comparisons 2014-12-20 03:04:38 +00:00
PredIteratorCache.h
Statepoint.h [GC] CodeGenPrep transform: simplify offsetable relocate 2015-01-14 23:27:07 +00:00
SymbolTableListTraits.h
TrackingMDRef.h Add a C++ marker to this header file. 2014-12-22 19:07:45 +00:00
Type.h Add and use Type::subtypes. NFC. 2014-11-24 20:44:36 +00:00
TypeBuilder.h
TypeFinder.h IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
Use.h
UseListOrder.h
User.h IR: Move NumOperands from User to Value, NFC 2014-10-15 20:39:05 +00:00
Value.h Standardize {pred,succ,use,user}_empty() 2015-01-13 03:46:47 +00:00
ValueHandle.h Fix UBSan error reports in ValueMapCallbackVH and AssertingVH<T> empty/tombstone keys generation. 2015-01-09 23:17:25 +00:00
ValueMap.h Fix UBSan error reports in ValueMapCallbackVH and AssertingVH<T> empty/tombstone keys generation. 2015-01-09 23:17:25 +00:00
ValueSymbolTable.h
Verifier.h [PM] Switch the new pass manager to use a reference-based API for IR 2015-01-05 02:47:05 +00:00