diff options
author | shadchin <shadchin@yandex-team.ru> | 2022-02-10 16:44:39 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:44:39 +0300 |
commit | e9656aae26e0358d5378e5b63dcac5c8dbe0e4d0 (patch) | |
tree | 64175d5cadab313b3e7039ebaa06c5bc3295e274 /contrib/libs/llvm12/include/llvm/CodeGen/FunctionLoweringInfo.h | |
parent | 2598ef1d0aee359b4b6d5fdd1758916d5907d04f (diff) | |
download | ydb-e9656aae26e0358d5378e5b63dcac5c8dbe0e4d0.tar.gz |
Restoring authorship annotation for <shadchin@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'contrib/libs/llvm12/include/llvm/CodeGen/FunctionLoweringInfo.h')
-rw-r--r-- | contrib/libs/llvm12/include/llvm/CodeGen/FunctionLoweringInfo.h | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/contrib/libs/llvm12/include/llvm/CodeGen/FunctionLoweringInfo.h b/contrib/libs/llvm12/include/llvm/CodeGen/FunctionLoweringInfo.h index 665c243054..9fe48ef5ff 100644 --- a/contrib/libs/llvm12/include/llvm/CodeGen/FunctionLoweringInfo.h +++ b/contrib/libs/llvm12/include/llvm/CodeGen/FunctionLoweringInfo.h @@ -98,34 +98,34 @@ public: /// Track virtual registers created for exception pointers. DenseMap<const Value *, Register> CatchPadExceptionPointers; - /// Helper object to track which of three possible relocation mechanisms are - /// used for a particular value being relocated over a statepoint. - struct StatepointRelocationRecord { - enum RelocType { - // Value did not need to be relocated and can be used directly. - NoRelocate, - // Value was spilled to stack and needs filled at the gc.relocate. - Spill, - // Value was lowered to tied def and gc.relocate should be replaced with - // copy from vreg. - VReg, - } type = NoRelocate; - // Payload contains either frame index of the stack slot in which the value - // was spilled, or virtual register which contains the re-definition. - union payload_t { - payload_t() : FI(-1) {} - int FI; - Register Reg; - } payload; - }; - - /// Keep track of each value which was relocated and the strategy used to - /// relocate that value. This information is required when visiting - /// gc.relocates which may appear in following blocks. - using StatepointSpillMapTy = - DenseMap<const Value *, StatepointRelocationRecord>; - DenseMap<const Instruction *, StatepointSpillMapTy> StatepointRelocationMaps; - + /// Helper object to track which of three possible relocation mechanisms are + /// used for a particular value being relocated over a statepoint. + struct StatepointRelocationRecord { + enum RelocType { + // Value did not need to be relocated and can be used directly. + NoRelocate, + // Value was spilled to stack and needs filled at the gc.relocate. + Spill, + // Value was lowered to tied def and gc.relocate should be replaced with + // copy from vreg. + VReg, + } type = NoRelocate; + // Payload contains either frame index of the stack slot in which the value + // was spilled, or virtual register which contains the re-definition. + union payload_t { + payload_t() : FI(-1) {} + int FI; + Register Reg; + } payload; + }; + + /// Keep track of each value which was relocated and the strategy used to + /// relocate that value. This information is required when visiting + /// gc.relocates which may appear in following blocks. + using StatepointSpillMapTy = + DenseMap<const Value *, StatepointRelocationRecord>; + DenseMap<const Instruction *, StatepointSpillMapTy> StatepointRelocationMaps; + /// StaticAllocaMap - Keep track of frame indices for fixed sized allocas in /// the entry block. This allows the allocas to be efficiently referenced /// anywhere in the function. |