30 R.push_back(RecordID);
54 auto Abbrev = std::make_shared<BitCodeAbbrev>();
66 auto Abbrev = std::make_shared<BitCodeAbbrev>();
78 R.push_back(RemarkVersion);
85 auto Abbrev = std::make_shared<BitCodeAbbrev>();
109 auto Abbrev = std::make_shared<BitCodeAbbrev>();
131 auto Abbrev = std::make_shared<BitCodeAbbrev>();
145 auto Abbrev = std::make_shared<BitCodeAbbrev>();
158 auto Abbrev = std::make_shared<BitCodeAbbrev>();
170 auto Abbrev = std::make_shared<BitCodeAbbrev>();
186 auto Abbrev = std::make_shared<BitCodeAbbrev>();
225 std::optional<StringRef> Filename) {
239 assert(Filename != std::nullopt);
269 if (
const std::optional<RemarkLocation> &
Loc =
Remark.
Loc) {
272 R.push_back(StrTab.
add(
Loc->SourceFilePath).first);
273 R.push_back(
Loc->SourceLine);
274 R.push_back(
Loc->SourceColumn);
281 R.push_back(*Hotness);
287 unsigned Key = StrTab.
add(Arg.
Key).first;
288 unsigned Val = StrTab.
add(Arg.
Val).first;
289 bool HasDebugLoc = Arg.
Loc != std::nullopt;
295 R.push_back(StrTab.
add(Arg.
Loc->SourceFilePath).first);
296 R.push_back(Arg.
Loc->SourceLine);
297 R.push_back(Arg.
Loc->SourceColumn);
299 Bitstream.EmitRecordWithAbbrev(HasDebugLoc
315 StrTab = std::move(StrTabIn);
320void BitstreamRemarkSerializer::setup() {
340std::unique_ptr<MetaSerializer>
343 return std::make_unique<BitstreamMetaSerializer>(
348 assert(
Helper &&
"BitstreamMetaSerializer emitted multiple times");
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
This file defines the make_scope_exit function, which executes user-defined cleanup logic at scope ex...
BitCodeAbbrevOp - This describes one or more operands in an abbreviation.
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
StringRef - Represent a constant reference to a string, i.e.
This class implements an extremely fast bulk output stream that can only output to a stream.
A raw_ostream that writes to an std::string.
std::string & str()
Returns the string's reference.
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
@ C
The default llvm calling convention, compatible with C.
@ BLOCKINFO_CODE_BLOCKNAME
@ BLOCKINFO_CODE_SETRECORDNAME
This is an optimization pass for GlobalISel generic memory operations.
detail::scope_exit< std::decay_t< Callable > > make_scope_exit(Callable &&F)
void append_range(Container &C, Range &&R)
Wrapper function to append range R to container C.
LLVM_ATTRIBUTE_VISIBILITY_DEFAULT AnalysisKey InnerAnalysisManagerProxy< AnalysisManagerT, IRUnitT, ExtraArgTs... >::Key