diff options
author | orivej <orivej@yandex-team.ru> | 2022-02-10 16:44:49 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:44:49 +0300 |
commit | 718c552901d703c502ccbefdfc3c9028d608b947 (patch) | |
tree | 46534a98bbefcd7b1f3faa5b52c138ab27db75b7 /contrib/libs/llvm12/lib/Remarks/RemarkStreamer.cpp | |
parent | e9656aae26e0358d5378e5b63dcac5c8dbe0e4d0 (diff) | |
download | ydb-718c552901d703c502ccbefdfc3c9028d608b947.tar.gz |
Restoring authorship annotation for <orivej@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'contrib/libs/llvm12/lib/Remarks/RemarkStreamer.cpp')
-rw-r--r-- | contrib/libs/llvm12/lib/Remarks/RemarkStreamer.cpp | 144 |
1 files changed, 72 insertions, 72 deletions
diff --git a/contrib/libs/llvm12/lib/Remarks/RemarkStreamer.cpp b/contrib/libs/llvm12/lib/Remarks/RemarkStreamer.cpp index 2f00b8e736..f2d279d31d 100644 --- a/contrib/libs/llvm12/lib/Remarks/RemarkStreamer.cpp +++ b/contrib/libs/llvm12/lib/Remarks/RemarkStreamer.cpp @@ -1,72 +1,72 @@ -//===- llvm/Remarks/RemarkStreamer.cpp - Remark Streamer -*- C++ --------*-===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file contains the implementation of the main remark streamer. -// -//===----------------------------------------------------------------------===// - -#include "llvm/Remarks/RemarkStreamer.h" -#include "llvm/Support/CommandLine.h" - -using namespace llvm; -using namespace llvm::remarks; - -static cl::opt<cl::boolOrDefault> EnableRemarksSection( - "remarks-section", - cl::desc( - "Emit a section containing remark diagnostics metadata. By default, " - "this is enabled for the following formats: yaml-strtab, bitstream."), - cl::init(cl::BOU_UNSET), cl::Hidden); - -RemarkStreamer::RemarkStreamer( - std::unique_ptr<remarks::RemarkSerializer> RemarkSerializer, - Optional<StringRef> FilenameIn) - : PassFilter(), RemarkSerializer(std::move(RemarkSerializer)), - Filename(FilenameIn ? Optional<std::string>(FilenameIn->str()) : None) {} - -Error RemarkStreamer::setFilter(StringRef Filter) { - Regex R = Regex(Filter); - std::string RegexError; - if (!R.isValid(RegexError)) - return createStringError(std::make_error_code(std::errc::invalid_argument), - RegexError.data()); - PassFilter = std::move(R); - return Error::success(); -} - -bool RemarkStreamer::matchesFilter(StringRef Str) { - if (PassFilter) - return PassFilter->match(Str); - // No filter means all strings pass. - return true; -} - -bool RemarkStreamer::needsSection() const { - if (EnableRemarksSection == cl::BOU_TRUE) - return true; - - if (EnableRemarksSection == cl::BOU_FALSE) - return false; - - assert(EnableRemarksSection == cl::BOU_UNSET); - - // We only need a section if we're in separate mode. - if (RemarkSerializer->Mode != remarks::SerializerMode::Separate) - return false; - - // Only some formats need a section: - // * bitstream - // * yaml-strtab - switch (RemarkSerializer->SerializerFormat) { - case remarks::Format::YAMLStrTab: - case remarks::Format::Bitstream: - return true; - default: - return false; - } -} +//===- llvm/Remarks/RemarkStreamer.cpp - Remark Streamer -*- C++ --------*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// +// +// This file contains the implementation of the main remark streamer. +// +//===----------------------------------------------------------------------===// + +#include "llvm/Remarks/RemarkStreamer.h" +#include "llvm/Support/CommandLine.h" + +using namespace llvm; +using namespace llvm::remarks; + +static cl::opt<cl::boolOrDefault> EnableRemarksSection( + "remarks-section", + cl::desc( + "Emit a section containing remark diagnostics metadata. By default, " + "this is enabled for the following formats: yaml-strtab, bitstream."), + cl::init(cl::BOU_UNSET), cl::Hidden); + +RemarkStreamer::RemarkStreamer( + std::unique_ptr<remarks::RemarkSerializer> RemarkSerializer, + Optional<StringRef> FilenameIn) + : PassFilter(), RemarkSerializer(std::move(RemarkSerializer)), + Filename(FilenameIn ? Optional<std::string>(FilenameIn->str()) : None) {} + +Error RemarkStreamer::setFilter(StringRef Filter) { + Regex R = Regex(Filter); + std::string RegexError; + if (!R.isValid(RegexError)) + return createStringError(std::make_error_code(std::errc::invalid_argument), + RegexError.data()); + PassFilter = std::move(R); + return Error::success(); +} + +bool RemarkStreamer::matchesFilter(StringRef Str) { + if (PassFilter) + return PassFilter->match(Str); + // No filter means all strings pass. + return true; +} + +bool RemarkStreamer::needsSection() const { + if (EnableRemarksSection == cl::BOU_TRUE) + return true; + + if (EnableRemarksSection == cl::BOU_FALSE) + return false; + + assert(EnableRemarksSection == cl::BOU_UNSET); + + // We only need a section if we're in separate mode. + if (RemarkSerializer->Mode != remarks::SerializerMode::Separate) + return false; + + // Only some formats need a section: + // * bitstream + // * yaml-strtab + switch (RemarkSerializer->SerializerFormat) { + case remarks::Format::YAMLStrTab: + case remarks::Format::Bitstream: + return true; + default: + return false; + } +} |