Home
last modified time | relevance | path

Searched full:records (Results 1 – 25 of 1141) sorted by relevance

12345678910>>...46

/llvm-project/clang/utils/TableGen/
H A DTableGenBackends.h38 void EmitClangBasicReader(const llvm::RecordKeeper &Records,
40 void EmitClangBasicWriter(const llvm::RecordKeeper &Records,
42 void EmitClangTypeNodes(const llvm::RecordKeeper &Records,
44 void EmitClangTypeReader(const llvm::RecordKeeper &Records,
46 void EmitClangTypeWriter(const llvm::RecordKeeper &Records,
48 void EmitClangAttrParserStringSwitches(const llvm::RecordKeeper &Records,
51 const llvm::RecordKeeper &Records, llvm::raw_ostream &OS);
52 void EmitCXX11AttributeInfo(const llvm::RecordKeeper &Records,
54 void EmitClangAttrClass(const llvm::RecordKeeper &Records,
56 void EmitClangAttrImpl(const llvm::RecordKeeper &Records,
[all...]
H A DTableGen.cpp120 clEnumValN(PrintRecords, "print-records",
121 "Print all records to stdout (default)"),
123 "Dump all records as machine-readable JSON"),
325 bool ClangTableGenMain(raw_ostream &OS, const RecordKeeper &Records) { in ClangTableGenMain()
328 OS << Records; // No argument, dump all contents in ClangTableGenMain()
331 EmitJSON(Records, OS); in ClangTableGenMain()
334 EmitClangAttrClass(Records, OS); in ClangTableGenMain()
337 EmitClangAttrParserStringSwitches(Records, OS); in ClangTableGenMain()
340 EmitClangAttrSubjectMatchRulesParserStringSwitches(Records, OS); in ClangTableGenMain()
343 EmitCXX11AttributeInfo(Records, O in ClangTableGenMain()
315 ClangTableGenMain(raw_ostream & OS,RecordKeeper & Records) ClangTableGenMain() argument
[all...]
/llvm-project/clang/test/SemaCXX/
H A Dwarn-range-loop-analysis-trivially-copyable.cpp9 Record records[8]; in test_POD_64_bytes() local
10 for (const auto r : records) in test_POD_64_bytes()
21 Record records[8]; in test_POD_65_bytes() local
22 for (const auto r : records) in test_POD_65_bytes()
32 Record records[8]; in test_TriviallyCopyable_64_bytes() local
33 for (const auto r : records) in test_TriviallyCopyable_64_bytes()
43 Record records[8]; in test_TriviallyCopyConstructible_64_bytes() local
44 for (const auto r : records) in test_TriviallyCopyConstructible_64_bytes()
56 Record records[8]; in test_TriviallyCopyable_65_bytes() local
57 for (const auto r : records) in test_TriviallyCopyable_65_bytes()
[all …]
/llvm-project/llvm/include/llvm/DebugInfo/CodeView/
H A DTypeStreamMerger.h32 /// Merge one set of type records into another. This method assumes
33 /// that all records are type records, and there are no Id records present.
35 /// \param Dest The table to store the re-written type records into.
49 /// Merge one set of id records into another. This method assumes
50 /// that all records are id records, and there are no Type records present.
51 /// However, since Id records can refer back to Type records, this method
52 /// assumes that the referenced type records have also been merged into
57 /// \param Dest The table to store the re-written id records into.
59 /// \param Types The mapping to use for the type records that these id
60 /// records refer to.
[all …]
H A DTypeHashing.h31 /// records within a single sequence of types, because if two records both have
43 static std::vector<LocallyHashedType> hashTypes(Range &&Records) { in hashTypes()
45 Hashes.reserve(std::distance(std::begin(Records), std::end(Records))); in hashTypes()
46 for (const auto &R : Records) in hashTypes()
77 /// is considered "as good as" the original type. Since type records can be
104 /// of referenced records, this function requires a list of types and ids
112 /// of referenced records, this function requires a list of types and ids
120 /// Given a sequence of combined type and ID records, compute global hashes
123 static std::vector<GloballyHashedType> hashTypes(Range &&Records) { in hashTypes()
126 for (const auto &R : Records) { in hashTypes()
[all …]
/llvm-project/llvm/lib/XRay/
H A DBlockIndexer.cpp10 // thread and a range of records representing a block.
21 CurrentBlock.Records.push_back(&R); in visit()
27 CurrentBlock.Records.push_back(&R); in visit()
32 CurrentBlock.Records.push_back(&R); in visit()
37 CurrentBlock.Records.push_back(&R); in visit()
42 CurrentBlock.Records.push_back(&R); in visit()
47 CurrentBlock.Records.push_back(&R); in visit()
52 CurrentBlock.Records.push_back(&R); in visit()
58 CurrentBlock.Records.push_back(&R); in visit()
63 if (!CurrentBlock.Records in visit()
[all...]
H A DTrace.cpp36 std::vector<XRayRecord> &Records) { in loadNaiveFormatLog() argument
55 Records.reserve(NumReservations); in loadNaiveFormatLog()
81 case 0: { // Normal records. in loadNaiveFormatLog()
82 Records.emplace_back(); in loadNaiveFormatLog()
83 auto &Record = Records.back(); in loadNaiveFormatLog()
152 auto &Record = Records.back(); in loadNaiveFormatLog()
207 // Advance the offset pointer enough bytes to align to 32-byte records for in loadNaiveFormatLog()
217 /// of interspersed 16 byte Metadata Records and 8 byte Function Records.
269 XRayFileHeader &FileHeader, std::vector<XRayRecord> &Records) { in loadFDRLog() argument
282 // First we load the records into memory. in loadFDRLog()
[all …]
/llvm-project/llvm/docs/
H A DRemoveDIsDebugInfo.md1 # Debug info migration: From intrinsics to records
13 with `dbg.value` intrinsics representing debug info records, it would instead be printed as:
23 The debug records are not instructions, do not appear in the instruction list, and won't appear in your optimisation passes unless you go digging for them deliberately.
39 The second matter is that if you transfer sequences of instructions from one place to another manually, i.e. repeatedly using `moveBefore` where you might have used `splice`, then you should instead use the method `moveBeforePreserving`. `moveBeforePreserving` will transfer debug info records with the instruction they're attached to. This is something that happens automatically today -- if you use `moveBefore` on every element of an instruction sequence, then debug intrinsics will be moved in the normal course of your code, but we lose this behaviour with non-instruction debug info.
41 For a more in-depth overview of how to update existing code to support debug records, see [the guide below](#how-to-update-existing-code).
45 As we change from using debug intrinsics to debug records, any tools that depend on parsing IR produced by LLVM will need to handle the new format. For the most part, the difference between the printed form of a debug intrinsic call and a debug record is trivial:
63 Any tests downstream of the main LLVM repo that test the IR output of LLVM may break as a result of the change to using records. Updating an individual test to expect records instead of intrinsics should be trivial, given the update rules above. Updating many tests may be burdensome however; to update the lit tests in the main repository, the following steps were used:
178 `LLVMPositionBuilderBeforeDbgRecords` and `LLVMPositionBuilderBeforeInstrAndDbgRecords` behave the same as `LLVMPositionBuilder` and `LLVMPositionBuilderBefore` except the insertion position is set before the debug records that precede the target instruction. Note that this doesn't mean that debug intrinsics before the chosen instruction are skipped, only debug records (whic
[all...]
H A DAssignmentTracking.md31 converts conventional debug records to assignment tracking metadata and sets
82 `#dbg_assign` records use a `DIAssignID` metadata node instance as an
123 This gives us a safe fall-back in cases where `#dbg_assign` records have
149 becomes linked to all the `#dbg_assign` records that the merged stores
154 records and `DIAssignID` attachments as if the stores represent source
160 records similarly to `#dbg_declare` records. Clone the
161 `#dbg_assign` records linked to the store, update the FragmentInfo in
162 the `ValueExpression`, and give the split stores (and cloned records) new
168 **Promoting** allocas and store/loads: `#dbg_assign` records implicitl
[all...]
/llvm-project/llvm/lib/DebugInfo/CodeView/
H A DLazyRandomTypeCollection.cpp39 Records.resize(RecordCountHint); in LazyRandomTypeCollection()
64 Records.clear(); in reset()
65 Records.resize(RecordCountHint); in reset()
83 return Records[Index.toArrayIndex()].Offset; in getOffsetOfType()
93 return Records[Index.toArrayIndex()].Type; in getType()
106 return Records[Index.toArrayIndex()].Type; in tryGetType()
124 if (Records[I].Name.data() == nullptr) { in getTypeName()
126 Records[I].Name = Result; in getTypeName()
128 return Records[I].Name; in getTypeName()
135 if (Records in contains()
[all...]
H A DTypeTableCollection.cpp18 TypeTableCollection::TypeTableCollection(ArrayRef<ArrayRef<uint8_t>> Records)
19 : NameStorage(Allocator), Records(Records) { in TypeTableCollection() argument
20 Names.resize(Records.size()); in TypeTableCollection()
38 assert(Index.toArrayIndex() < Records.size()); in getType()
39 return CVType(Records[Index.toArrayIndex()]); in getType()
58 uint32_t TypeTableCollection::size() { return Records.size(); }
60 uint32_t TypeTableCollection::capacity() { return Records.size(); }
/llvm-project/llvm/lib/DebugInfo/PDB/Native/
H A DGSIStreamBuilder.cpp41 // Sum of the size of all public or global records.
61 // Assign public and global symbol records into hash table buckets.
62 // Modifies the list of records to store the bucket index, but does not
68 // DenseMapInfo implementation for deduplicating symbol records.
177 // structure for this purpose, even though these are global records, not in finalizeGlobalBuckets()
178 // public records. Most of the same fields are required: in finalizeGlobalBuckets()
184 std::vector<BulkPublic> Records; in finalizeGlobalBuckets() local
185 Records.resize(Globals.size()); in finalizeGlobalBuckets()
189 Records[I].Name = Name.data(); in finalizeGlobalBuckets()
190 Records[I].NameLen = Name.size(); in finalizeGlobalBuckets()
[all …]
/llvm-project/llvm/utils/TableGen/
H A DTableGen.cpp
/llvm-project/llvm/lib/TableGen/
H A DMain.cpp101 RecordKeeper Records; in TableGenMain()
102 TGTimer &Timer = Records.getTimer(); in TableGenMain()
109 Timer.startTimer("Parse, build records"); in TableGenMain()
116 Records.saveInputFilename(InputFilename); in TableGenMain()
125 TGParser Parser(SrcMgr, MacroNames, Records, NoWarnOnUnusedTemplateArgs); in TableGenMain()
143 if (TableGen::Emitter::ApplyCallback(Records, Out)) in TableGenMain()
144 status = MainFn ? MainFn(Out, Records) : 1; in TableGenMain()
100 RecordKeeper Records; TableGenMain() local
H A DDetailedRecordsBackend.cpp1 //===- DetailedRecordBackend.cpp - Detailed Records Report -*- C++ -*-===//
10 // variables, classes, and records in complete detail. It includes more
33 const RecordKeeper &Records;
36 explicit DetailedRecordsEmitter(const RecordKeeper &RK) : Records(RK) {}
64 OS << formatv("DETAILED RECORDS for file {0}\n", Records.getInputFilename()); in run()
75 const auto GlobalList = Records.getGlobals(); in printVariables()
85 const auto &ClassList = Records.getClasses(); in printClasses()
97 // Print the records, including the defm sequences, supercasses, and fields.
99 const auto &RecordList = Records
39 RecordKeeper &Records; global() member in __anon334cc96a0111::DetailedRecordsEmitter
[all...]
/llvm-project/llvm/docs/PDB/
H A DCodeViewTypes.rst2 CodeView Type Records
15 CodeView type records that LLVM understands. This document does not describe
17 because the records are clearly deprecated and can only appear in very old
18 software (e.g. the 16-bit types). On other cases, it is because the records
21 made obsolete by newer records, or any number of other reasons. However, the
22 records we describe here should cover 99% of type records that one can expect
28 We can think of a sequence of CodeView type records as an array of variable length
29 `leaf records`. Each such record describes its own length as part of a fixed-size
30 header, as well as the kind of record it is. Leaf records are either padded to 4
37 ``LF_FIELDLIST`` -- contains a series of embedded records. While the outer
[all …]
H A DCodeViewSymbols.rst2 CodeView Symbol Records
15 CodeView symbol records that LLVM understands. Like
16 :doc:`CodeView Type Records <CodeViewTypes>`, we describe only the important
22 Symbol records share one major similarity with :doc:`type records <CodeViewTypes>`:
25 of symbol records can be processed with largely the same code as that which processes
26 type records. There are several important differences between symbol and type records:
28 * Symbol records only appear in the :doc:`PublicStream`, :doc:`GlobalStream`, and
30 * Type records only appear in the :doc:`TPI & IPI streams <TpiStream>`.
31 * While types are referenced from other CodeView records via :ref:`type indices <type_indices>`,
32 symbol records are referenced by the byte offset of the record in the stream that it appears
[all …]
/llvm-project/lldb/utils/TableGen/
H A DLLDBTableGen.cpp35 cl::values(clEnumValN(PrintRecords, "print-records",
36 "Print all records to stdout (default)"),
38 "Dump all records as machine-readable JSON"),
46 static bool LLDBTableGenMain(raw_ostream &OS, const RecordKeeper &Records) { in LLDBTableGenMain() argument
49 OS << Records; // No argument, dump all contents in LLDBTableGenMain()
52 EmitJSON(Records, OS); in LLDBTableGenMain()
55 EmitOptionDefs(Records, OS); in LLDBTableGenMain()
58 EmitPropertyDefs(Records, OS); in LLDBTableGenMain()
61 EmitPropertyEnumDefs(Records, OS); in LLDBTableGenMain()
/llvm-project/lld/test/COFF/
H A Dprecomp-summary-fail.test17 SUMMARY-NEXT: 8 Input type records
18 SUMMARY-NEXT: 232 Input type records bytes
19 SUMMARY-NEXT: 3 Merged TPI records
20 SUMMARY-NEXT: 2 Merged IPI records
22 SUMMARY-NEXT: 0 Global symbol records
23 SUMMARY-NEXT: 4 Module symbol records
24 SUMMARY-NEXT: 0 Public symbol records
/llvm-project/llvm/include/llvm/XRay/
H A DTrace.h9 // Defines the XRay Trace class representing records in an XRay trace file.
26 /// A Trace object represents the records that have been loaded from XRay
49 RecordVector Records; variable
63 const_iterator begin() const { return Records.begin(); } in begin()
64 const_iterator end() const { return Records.end(); } in end()
65 bool empty() const { return Records.empty(); } in empty()
66 size_type size() const { return Records.size(); } in size()
69 /// This function will attempt to load XRay trace records from the provided
73 /// This function will attempt to load XRay trace records from the provided
/llvm-project/llvm/docs/TableGen/
H A DBackGuide.rst16 information is coded in a declarative style involving classes and records,
17 which are then processed by TableGen. The internalized records are passed on
18 to various backends, which extract information from a subset of the records
37 and records that are collected from the TableGen source files by the
48 classes and records parsed and collected by TableGen. The ``RecordKeeper``
52 There are two maps in the recordkeeper, one for classes and one for records
63 * A counter for naming anonymous records.
69 * Functions to get a subset of the records based on their parent classes.
71 * Functions to get individual classes, records, and globals, by name.
81 classes and one for the records
[all...]
H A DProgRef.rst16 information is coded in a declarative style involving classes and records,
17 which are then processed by TableGen. The internalized records are passed on
18 to various *backends*, which extract information from a subset of the records
56 TableGen source files contain two primary items: *abstract records* and
57 *concrete records*. In this and other TableGen documents, abstract records
59 not map onto them.) In addition, concrete records are usually just called
60 records, although sometimes the term *record* refers to both classes and
61 concrete records. The distinction should be clear in context.
63 Classes and concrete records hav
[all...]
/llvm-project/llvm/unittests/XRay/
H A DFDRProducerConsumerTest.cpp138 std::vector<std::unique_ptr<Record>> Records; in TYPED_TEST_P()
139 LogBuilderConsumer C(Records); in TYPED_TEST_P() local
147 ASSERT_THAT(Records, Not(IsEmpty())); in TYPED_TEST_P()
151 for (auto &P : Records) in TYPED_TEST_P()
156 ASSERT_THAT(Records, SizeIs(2)); in TYPED_TEST_P()
157 EXPECT_THAT(Records[1]->getRecordType(), Eq(R->getRecordType())); in TYPED_TEST_P()
177 std::vector<std::unique_ptr<Record>> Records; in TYPED_TEST_P()
178 LogBuilderConsumer C(Records); in TYPED_TEST_P()
186 ASSERT_THAT(Records, Not(IsEmpty())); in TYPED_TEST_P()
190 for (auto &P : Records) in TYPED_TEST_P()
180 std::vector<std::unique_ptr<Record>> Records; TYPED_TEST_P() local
[all...]
/llvm-project/llvm/test/Bitcode/
H A Ddbg-record-roundtrip.ll11 ; RUN: | FileCheck %s --check-prefixes=RECORDS
16 ; RUN: | FileCheck %s --check-prefixes=RECORDS
22 ; RUN: | FileCheck %s --check-prefixes=RECORDS
32 ;; Confirm we're producing RemoveDI records from various tools.
67 ; RECORDS: entry:
68 ; RECORDS-NEXT: dbg_value(i32 %p, ![[e:[0-9]+]], !DIExpression(), ![[dbg:[0-9]+]])
69 ; RECORDS-NEXT: dbg_value(![[empty:[0-9]+]], ![[e]], !DIExpression(), ![[dbg]])
70 ; RECORDS-NEXT: dbg_value(i32 poison, ![[e]], !DIExpression(), ![[dbg]])
71 ; RECORDS-NEXT: dbg_value(i32 1, ![[f:[0-9]+]], !DIExpression(), ![[dbg]])
78 ; RECORDS-NEXT: dbg_value(!DIArgList(i32 %p, i32 0, i32 %0, i32 poison), ![[f]], !DIExpression(DW_O…
[all …]
/llvm-project/llvm/unittests/DebugInfo/CodeView/
H A DTypeIndexDiscoveryTest.cpp43 // Choose between type or symbol records. The checking code doesn't care in checkTypeReferences()
47 CVRecords = TTB->records(); in checkTypeReferences()
60 auto Records = CRB->end(TTB->nextTypeIndex()); in writeFieldList() local
61 ASSERT_EQ(1u, Records.size()); in writeFieldList()
62 TTB->insertRecordBytes(Records.front().RecordData); in writeFieldList()
66 template <typename... T> void writeTypeRecords(T &&... Records) { in writeTypeRecords() argument
67 writeTypeRecordsImpl(std::forward<T>(Records)...); in writeTypeRecords()
68 ASSERT_EQ(sizeof...(T), TTB->records().size()); in writeTypeRecords()
72 template <typename... T> void writeSymbolRecords(T &&... Records) { in writeSymbolRecords() argument
73 writeSymbolRecordsImpl(std::forward<T>(Records)...); in writeSymbolRecords()
[all …]

12345678910>>...46