1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/lib/IR
Craig Topper 58085bdcab [StructLayout] Use TrailingObjects to allocate space for MemberOffsets.
MemberOffsets are stored at the end of StructLayout. The class
contains a single entry array to mark the start of the member
offsets. getStructLayout calculates the additional space needed
for additional elements before allocating memory.

This patch converts this to use TrailingObjects. This simplifies
the size computation in getStructLayout and gets rid of the
single entry array.

This is prep work, but to use TypeSize instead of uint64_t for
D98169. The single entry array doesn't work with TypeSize because
TypeSize doesn't have a default constructor. We thought this
change was an improvement by itself so we've separated it out.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D99608
2021-03-30 17:36:50 -07:00
..
AbstractCallSite.cpp
AsmWriter.cpp [DebugInfo] Support for signed constants inside DIExpression 2021-03-30 23:20:38 +05:30
Assumptions.cpp
AttributeImpl.h Reapply "OpaquePtr: Turn inalloca into a type attribute" 2021-03-29 08:55:30 -04:00
Attributes.cpp Reapply "OpaquePtr: Turn inalloca into a type attribute" 2021-03-29 08:55:30 -04:00
AutoUpgrade.cpp [AArch64][SVE/NEON] Add support for FROUNDEVEN for both NEON and fixed length SVE 2021-03-17 11:41:22 +00:00
BasicBlock.cpp [IR] Use range-based for loops (NFC) 2021-02-27 10:09:25 -08:00
CMakeLists.txt
Comdat.cpp
ConstantFold.cpp [ConstantFold] Handle icmp of global and null consistently 2021-03-08 17:18:01 +01:00
ConstantFold.h
ConstantRange.cpp [ConstantRange] Handle wrapping ranges in min/max (PR48643) 2021-02-20 22:52:09 +01:00
Constants.cpp Reapply [ConstantFold] Handle vectors in ConstantFoldLoadThroughBitcast() 2021-03-21 17:48:21 +01:00
ConstantsContext.h
Core.cpp Add type attributes to LLVM C API 2021-03-19 19:07:04 -04:00
DataLayout.cpp [StructLayout] Use TrailingObjects to allocate space for MemberOffsets. 2021-03-30 17:36:50 -07:00
DebugInfo.cpp Support !heapallocsite attachments in StripDebugInfo(). 2021-03-16 10:05:13 -07:00
DebugInfoMetadata.cpp [DebugInfo] Support for signed constants inside DIExpression 2021-03-30 23:20:38 +05:30
DebugLoc.cpp
DiagnosticHandler.cpp
DiagnosticInfo.cpp [Diagnose] Unify MCContext and LLVMContext diagnosing 2021-03-01 15:58:37 -08:00
DiagnosticPrinter.cpp
DIBuilder.cpp Add debug support for set types 2021-03-29 18:04:48 -07:00
Dominators.cpp [gvn] Precisely propagate equalities to phi operands 2021-03-08 08:59:00 -08:00
FPEnv.cpp
Function.cpp Reapply "OpaquePtr: Turn inalloca into a type attribute" 2021-03-29 08:55:30 -04:00
Globals.cpp
GVMaterializer.cpp
InlineAsm.cpp
Instruction.cpp [IR] Move willReturn() to Instruction 2021-02-19 11:56:01 +01:00
Instructions.cpp [SampleFDO] Do not scale the magic number NOMORE_ICP_MAGICNUM in value profile 2021-03-29 09:34:37 -07:00
IntrinsicInst.cpp Reapply "[DebugInfo] Handle multiple variable location operands in IR" 2021-03-17 16:45:25 +00:00
IRBuilder.cpp [IR][SVE] Add new llvm.experimental.stepvector intrinsic 2021-03-23 10:43:35 +00:00
IRPrintingPasses.cpp
LegacyPassManager.cpp [opt] Error if -debug-pass is specified alongside the new PM 2021-03-02 15:59:28 -08:00
LLVMContext.cpp [ObjC][ARC] Use operand bundle 'clang.arc.attachedcall' instead of 2021-03-04 11:22:30 -08:00
LLVMContextImpl.cpp
LLVMContextImpl.h [DebugInfo] Add DIArgList MD to store multple values in DbgVariableIntrinsics 2021-03-05 17:02:24 +00:00
LLVMRemarkStreamer.cpp
Mangler.cpp [IR] Use range-based for loops (NFC) 2021-02-27 10:09:25 -08:00
MDBuilder.cpp
Metadata.cpp [SamplePGO] Keeping prof metadata for IndirectBrInst 2021-03-30 10:44:48 -07:00
MetadataImpl.h
Module.cpp [NFC] Module::getInstructionCount() is const 2021-03-25 12:29:19 -07:00
ModuleSummaryIndex.cpp [IR] Use range-based for loops (NFC) 2021-03-01 23:40:33 -08:00
Operator.cpp Revert "[DebugInfo] Use variadic debug values to salvage BinOps and GEP instrs with non-const operands" 2021-03-11 14:48:01 +00:00
OptBisect.cpp
Pass.cpp
PassInstrumentation.cpp
PassManager.cpp
PassRegistry.cpp
PassTimingInfo.cpp
PrintPasses.cpp
ProfileSummary.cpp
PseudoProbe.cpp [CSSPGO] Deduplicating dangling pseudo probes. 2021-03-03 22:44:42 -08:00
ReplaceConstant.cpp [HIP] Fix managed variable linkage 2021-02-23 22:34:45 -05:00
SafepointIRVerifier.cpp
Statepoint.cpp
StructuralHash.cpp
SymbolTableListTraitsImpl.h
Type.cpp [X86][AMX] Prevent transforming load pointer from <256 x i32>* to x86_amx*. 2021-03-14 09:24:56 +08:00
TypeFinder.cpp
Use.cpp
User.cpp Reapply "[DebugInfo] Handle multiple variable location operands in IR" 2021-03-17 16:45:25 +00:00
Value.cpp [deref] Handle byval/byref/sret/inalloc/preallocated arguments for deref-at-point semantics 2021-03-25 14:47:31 -07:00
ValueSymbolTable.cpp
Verifier.cpp [DebugInfo] Upgrade DISubragne::count to accept DIExpression also 2021-03-30 09:16:55 +05:30