summaryrefslogtreecommitdiffstats
path: root/llvm/unittests
diff options
context:
space:
mode:
authorFrancis Visoiu Mistrih <francisvm@yahoo.com>2019-07-31 00:01:34 +0000
committerFrancis Visoiu Mistrih <francisvm@yahoo.com>2019-07-31 00:01:34 +0000
commitd8e7967a22b600e059fef140083950bc514a4c43 (patch)
tree7a7f6e52b19eb85b8edeb4485039824582559c1d /llvm/unittests
parent9cf980d4a7ac7bda6f05807dd1e0456b8b2906ff (diff)
downloadbcm5719-llvm-d8e7967a22b600e059fef140083950bc514a4c43.tar.gz
bcm5719-llvm-d8e7967a22b600e059fef140083950bc514a4c43.zip
Revert "[Remarks] Add an LLVM-bitstream-based remark serializer"
This reverts commit r367364. Breaks some bots: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-gn/builds/3161/steps/annotate/logs/stdio llvm-svn: 367370
Diffstat (limited to 'llvm/unittests')
-rw-r--r--llvm/unittests/Remarks/BitstreamRemarksFormatTest.cpp48
-rw-r--r--llvm/unittests/Remarks/BitstreamRemarksSerializerTest.cpp341
-rw-r--r--llvm/unittests/Remarks/CMakeLists.txt3
3 files changed, 0 insertions, 392 deletions
diff --git a/llvm/unittests/Remarks/BitstreamRemarksFormatTest.cpp b/llvm/unittests/Remarks/BitstreamRemarksFormatTest.cpp
deleted file mode 100644
index ea61691f4c8..00000000000
--- a/llvm/unittests/Remarks/BitstreamRemarksFormatTest.cpp
+++ /dev/null
@@ -1,48 +0,0 @@
-//===- unittest/Support/BitstreamRemarksFormatTest.cpp - BitCodes tests ---===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#include "llvm/Remarks/BitstreamRemarkContainer.h"
-#include "gtest/gtest.h"
-
-using namespace llvm;
-
-// The goal for this test is to observe test failures and carefully update the
-// constants when they change.
-
-// This should not change over time.
-TEST(BitstreamRemarksFormat, Magic) {
- EXPECT_EQ(remarks::ContainerMagic, "RMRK");
-}
-
-// This should be updated whenever any of the tests below are modified.
-TEST(BitstreamRemarksFormat, ContainerVersion) {
- EXPECT_EQ(remarks::CurrentContainerVersion, 0UL);
-}
-
-// The values of the current blocks should not change over time.
-// When adding new blocks, make sure to append them to the enum.
-TEST(BitstreamRemarksFormat, BlockIDs) {
- EXPECT_EQ(remarks::META_BLOCK_ID, 8);
- EXPECT_EQ(remarks::REMARK_BLOCK_ID, 9);
-}
-
-// The values of the current records should not change over time.
-// When adding new records, make sure to append them to the enum.
-TEST(BitstreamRemarksFormat, RecordIDs) {
- EXPECT_EQ(remarks::RECORD_FIRST, 1);
- EXPECT_EQ(remarks::RECORD_META_CONTAINER_INFO, 1);
- EXPECT_EQ(remarks::RECORD_META_REMARK_VERSION, 2);
- EXPECT_EQ(remarks::RECORD_META_STRTAB, 3);
- EXPECT_EQ(remarks::RECORD_META_EXTERNAL_FILE, 4);
- EXPECT_EQ(remarks::RECORD_REMARK_HEADER, 5);
- EXPECT_EQ(remarks::RECORD_REMARK_DEBUG_LOC, 6);
- EXPECT_EQ(remarks::RECORD_REMARK_HOTNESS, 7);
- EXPECT_EQ(remarks::RECORD_REMARK_ARG_WITH_DEBUGLOC, 8);
- EXPECT_EQ(remarks::RECORD_REMARK_ARG_WITHOUT_DEBUGLOC, 9);
- EXPECT_EQ(remarks::RECORD_LAST, 9);
-}
diff --git a/llvm/unittests/Remarks/BitstreamRemarksSerializerTest.cpp b/llvm/unittests/Remarks/BitstreamRemarksSerializerTest.cpp
deleted file mode 100644
index 4c6bf7f3292..00000000000
--- a/llvm/unittests/Remarks/BitstreamRemarksSerializerTest.cpp
+++ /dev/null
@@ -1,341 +0,0 @@
-//===- unittest/Support/BitstreamRemarksSerializerTest.cpp ----------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#include "llvm/Bitcode/BitcodeAnalyzer.h"
-#include "llvm/Remarks/BitstreamRemarkSerializer.h"
-#include "llvm/Support/raw_ostream.h"
-#include "gtest/gtest.h"
-#include <string>
-
-// We need to supprt Windows paths as well. In order to have paths with the same
-// length, use a different path according to the platform.
-#ifdef _WIN32
-#define EXTERNALFILETESTPATH "C:/externalfi"
-#else
-#define EXTERNALFILETESTPATH "/externalfile"
-#endif
-
-using namespace llvm;
-
-static void checkAnalyze(StringRef Input, StringRef Expected) {
- std::string OutputBuf;
- raw_string_ostream OutputOS(OutputBuf);
- BCDumpOptions O(OutputOS);
- O.ShowBinaryBlobs = true;
- BitcodeAnalyzer BA(Input);
- EXPECT_FALSE(BA.analyze(O)); // Expect no errors.
- EXPECT_EQ(OutputOS.str(), Expected);
-}
-
-static void check(remarks::SerializerMode Mode, const remarks::Remark &R,
- StringRef ExpectedR, Optional<StringRef> ExpectedMeta,
- Optional<remarks::StringTable> StrTab) {
- // Emit the remark.
- std::string InputBuf;
- raw_string_ostream InputOS(InputBuf);
- Expected<std::unique_ptr<remarks::RemarkSerializer>> MaybeSerializer = [&] {
- if (StrTab)
- return createRemarkSerializer(remarks::Format::Bitstream, Mode, InputOS,
- std::move(*StrTab));
- else
- return createRemarkSerializer(remarks::Format::Bitstream, Mode, InputOS);
- }();
- EXPECT_FALSE(errorToBool(MaybeSerializer.takeError()));
- std::unique_ptr<remarks::RemarkSerializer> Serializer =
- std::move(*MaybeSerializer);
- Serializer->emit(R);
-
- // Analyze the serialized remark.
- checkAnalyze(InputOS.str(), ExpectedR);
-
- // Analyze the serialized metadata if it's not in standalone mode.
- if (ExpectedMeta) {
- std::string MetaBuf;
- raw_string_ostream MetaOS(MetaBuf);
- std::unique_ptr<remarks::MetaSerializer> MetaSerializer =
- Serializer->metaSerializer(MetaOS, StringRef(EXTERNALFILETESTPATH));
- MetaSerializer->emit();
- checkAnalyze(MetaOS.str(), *ExpectedMeta);
- }
-}
-
-static void check(const remarks::Remark &R, StringRef ExpectedR,
- StringRef ExpectedMeta,
- Optional<remarks::StringTable> StrTab = None) {
- return check(remarks::SerializerMode::Separate, R, ExpectedR, ExpectedMeta,
- std::move(StrTab));
-}
-
-static void checkStandalone(const remarks::Remark &R, StringRef ExpectedR,
- Optional<remarks::StringTable> StrTab = None) {
- return check(remarks::SerializerMode::Standalone, R, ExpectedR,
- /*ExpectedMeta=*/None, std::move(StrTab));
-}
-
-TEST(BitstreamRemarkSerializer, SeparateRemarkFileNoOptionals) {
- remarks::Remark R;
- R.RemarkType = remarks::Type::Missed;
- R.PassName = "pass";
- R.RemarkName = "remark";
- R.FunctionName = "function";
- check(R,
- "<BLOCKINFO_BLOCK/>\n"
- "<Meta BlockID=8 NumWords=3 BlockCodeSize=3>\n"
- " <Container info codeid=1 abbrevid=4 op0=0 op1=1/>\n"
- " <Remark version codeid=2 abbrevid=5 op0=0/>\n"
- "</Meta>\n"
- "<Remark BlockID=9 NumWords=1 BlockCodeSize=4>\n"
- " <Remark header codeid=5 abbrevid=4 op0=2 op1=0 op2=1 op3=2/>\n"
- "</Remark>\n",
- "<BLOCKINFO_BLOCK/>\n"
- "<Meta BlockID=8 NumWords=14 BlockCodeSize=3>\n"
- " <Container info codeid=1 abbrevid=4 op0=0 op1=0/>\n"
- " <String table codeid=3 abbrevid=5/> blob data = "
- "'remark\\x00pass\\x00function\\x00'\n"
- " <External File codeid=4 abbrevid=6/> blob data = "
- "'" EXTERNALFILETESTPATH"'\n"
- "</Meta>\n");
-}
-
-TEST(BitstreamRemarkSerializer, SeparateRemarkFileNoOptionalsSeparateStrTab) {
- remarks::StringTable StrTab;
- StrTab.add("function");
- StrTab.add("pass");
- StrTab.add("remark");
- remarks::Remark R;
- R.RemarkType = remarks::Type::Missed;
- R.PassName = "pass";
- R.RemarkName = "remark";
- R.FunctionName = "function";
- check(R,
- "<BLOCKINFO_BLOCK/>\n"
- "<Meta BlockID=8 NumWords=3 BlockCodeSize=3>\n"
- " <Container info codeid=1 abbrevid=4 op0=0 op1=1/>\n"
- " <Remark version codeid=2 abbrevid=5 op0=0/>\n"
- "</Meta>\n"
- "<Remark BlockID=9 NumWords=1 BlockCodeSize=4>\n"
- " <Remark header codeid=5 abbrevid=4 op0=2 op1=2 op2=1 op3=0/>\n"
- "</Remark>\n",
- "<BLOCKINFO_BLOCK/>\n"
- "<Meta BlockID=8 NumWords=14 BlockCodeSize=3>\n"
- " <Container info codeid=1 abbrevid=4 op0=0 op1=0/>\n"
- " <String table codeid=3 abbrevid=5/> blob data = "
- "'function\\x00pass\\x00remark\\x00'\n"
- " <External File codeid=4 abbrevid=6/> blob data = "
- "'" EXTERNALFILETESTPATH"'\n"
- "</Meta>\n",
- std::move(StrTab));
-}
-
-TEST(BitstreamRemarkSerializer, SeparateRemarkFileDebugLoc) {
- remarks::Remark R;
- R.RemarkType = remarks::Type::Missed;
- R.PassName = "pass";
- R.RemarkName = "remark";
- R.FunctionName = "function";
- R.Loc.emplace();
- R.Loc->SourceFilePath = "path";
- R.Loc->SourceLine = 99;
- R.Loc->SourceColumn = 55;
- check(R,
- "<BLOCKINFO_BLOCK/>\n"
- "<Meta BlockID=8 NumWords=3 BlockCodeSize=3>\n"
- " <Container info codeid=1 abbrevid=4 op0=0 op1=1/>\n"
- " <Remark version codeid=2 abbrevid=5 op0=0/>\n"
- "</Meta>\n"
- "<Remark BlockID=9 NumWords=4 BlockCodeSize=4>\n"
- " <Remark header codeid=5 abbrevid=4 op0=2 op1=0 op2=1 op3=2/>\n"
- " <Remark debug location codeid=6 abbrevid=5 op0=3 op1=99 op2=55/>\n"
- "</Remark>\n",
- "<BLOCKINFO_BLOCK/>\n"
- "<Meta BlockID=8 NumWords=15 BlockCodeSize=3>\n"
- " <Container info codeid=1 abbrevid=4 op0=0 op1=0/>\n"
- " <String table codeid=3 abbrevid=5/> blob data = "
- "'remark\\x00pass\\x00function\\x00path\\x00'\n"
- " <External File codeid=4 abbrevid=6/> blob data = "
- "'" EXTERNALFILETESTPATH"'\n"
- "</Meta>\n");
-}
-
-TEST(BitstreamRemarkSerializer, SeparateRemarkFileHotness) {
- remarks::Remark R;
- R.RemarkType = remarks::Type::Missed;
- R.PassName = "pass";
- R.RemarkName = "remark";
- R.FunctionName = "function";
- R.Hotness.emplace(999999999);
- check(R,
- "<BLOCKINFO_BLOCK/>\n"
- "<Meta BlockID=8 NumWords=3 BlockCodeSize=3>\n"
- " <Container info codeid=1 abbrevid=4 op0=0 op1=1/>\n"
- " <Remark version codeid=2 abbrevid=5 op0=0/>\n"
- "</Meta>\n"
- "<Remark BlockID=9 NumWords=3 BlockCodeSize=4>\n"
- " <Remark header codeid=5 abbrevid=4 op0=2 op1=0 op2=1 op3=2/>\n"
- " <Remark hotness codeid=7 abbrevid=6 op0=999999999/>\n"
- "</Remark>\n",
- "<BLOCKINFO_BLOCK/>\n"
- "<Meta BlockID=8 NumWords=14 BlockCodeSize=3>\n"
- " <Container info codeid=1 abbrevid=4 op0=0 op1=0/>\n"
- " <String table codeid=3 abbrevid=5/> blob data = "
- "'remark\\x00pass\\x00function\\x00'\n"
- " <External File codeid=4 abbrevid=6/> blob data = "
- "'" EXTERNALFILETESTPATH"'\n"
- "</Meta>\n");
-}
-
-TEST(BitstreamRemarkSerializer, SeparateRemarkFileArgNoDebugLoc) {
- remarks::Remark R;
- R.RemarkType = remarks::Type::Missed;
- R.PassName = "pass";
- R.RemarkName = "remark";
- R.FunctionName = "function";
- R.Args.emplace_back();
- R.Args.back().Key = "key";
- R.Args.back().Val = "value";
- check(R,
- "<BLOCKINFO_BLOCK/>\n"
- "<Meta BlockID=8 NumWords=3 BlockCodeSize=3>\n"
- " <Container info codeid=1 abbrevid=4 op0=0 op1=1/>\n"
- " <Remark version codeid=2 abbrevid=5 op0=0/>\n"
- "</Meta>\n"
- "<Remark BlockID=9 NumWords=2 BlockCodeSize=4>\n"
- " <Remark header codeid=5 abbrevid=4 op0=2 op1=0 op2=1 op3=2/>\n"
- " <Argument codeid=9 abbrevid=8 op0=3 op1=4/>\n"
- "</Remark>\n",
- "<BLOCKINFO_BLOCK/>\n"
- "<Meta BlockID=8 NumWords=16 BlockCodeSize=3>\n"
- " <Container info codeid=1 abbrevid=4 op0=0 op1=0/>\n"
- " <String table codeid=3 abbrevid=5/> blob data = "
- "'remark\\x00pass\\x00function\\x00key\\x00value\\x00'\n"
- " <External File codeid=4 abbrevid=6/> blob data = "
- "'" EXTERNALFILETESTPATH"'\n"
- "</Meta>\n");
-}
-
-TEST(BitstreamRemarkSerializer, SeparateRemarkFileArgDebugLoc) {
- remarks::Remark R;
- R.RemarkType = remarks::Type::Missed;
- R.PassName = "pass";
- R.RemarkName = "remark";
- R.FunctionName = "function";
- R.Args.emplace_back();
- R.Args.back().Key = "key";
- R.Args.back().Val = "value";
- R.Args.back().Loc.emplace();
- R.Args.back().Loc->SourceFilePath = "path";
- R.Args.back().Loc->SourceLine = 99;
- R.Args.back().Loc->SourceColumn = 55;
- check(R,
- "<BLOCKINFO_BLOCK/>\n"
- "<Meta BlockID=8 NumWords=3 BlockCodeSize=3>\n"
- " <Container info codeid=1 abbrevid=4 op0=0 op1=1/>\n"
- " <Remark version codeid=2 abbrevid=5 op0=0/>\n"
- "</Meta>\n"
- "<Remark BlockID=9 NumWords=4 BlockCodeSize=4>\n"
- " <Remark header codeid=5 abbrevid=4 op0=2 op1=0 op2=1 op3=2/>\n"
- " <Argument with debug location codeid=8 abbrevid=7 op0=3 op1=4 op2=5 "
- "op3=99 op4=55/>\n"
- "</Remark>\n",
- "<BLOCKINFO_BLOCK/>\n"
- "<Meta BlockID=8 NumWords=17 BlockCodeSize=3>\n"
- " <Container info codeid=1 abbrevid=4 op0=0 op1=0/>\n"
- " <String table codeid=3 abbrevid=5/> blob data = "
- "'remark\\x00pass\\x00function\\x00key\\x00value\\x00path\\x00'\n"
- " <External File codeid=4 abbrevid=6/> blob data = "
- "'" EXTERNALFILETESTPATH"'\n"
- "</Meta>\n");
-}
-
-TEST(BitstreamRemarkSerializer, SeparateRemarkFileAll) {
- remarks::Remark R;
- R.RemarkType = remarks::Type::Missed;
- R.PassName = "pass";
- R.RemarkName = "remark";
- R.FunctionName = "function";
- R.Loc.emplace();
- R.Loc->SourceFilePath = "path";
- R.Loc->SourceLine = 99;
- R.Loc->SourceColumn = 55;
- R.Hotness.emplace(999999999);
- R.Args.emplace_back();
- R.Args.back().Key = "key";
- R.Args.back().Val = "value";
- R.Args.back().Loc.emplace();
- R.Args.back().Loc->SourceFilePath = "argpath";
- R.Args.back().Loc->SourceLine = 11;
- R.Args.back().Loc->SourceColumn = 66;
- check(R,
- "<BLOCKINFO_BLOCK/>\n"
- "<Meta BlockID=8 NumWords=3 BlockCodeSize=3>\n"
- " <Container info codeid=1 abbrevid=4 op0=0 op1=1/>\n"
- " <Remark version codeid=2 abbrevid=5 op0=0/>\n"
- "</Meta>\n"
- "<Remark BlockID=9 NumWords=8 BlockCodeSize=4>\n"
- " <Remark header codeid=5 abbrevid=4 op0=2 op1=0 op2=1 op3=2/>\n"
- " <Remark debug location codeid=6 abbrevid=5 op0=3 op1=99 op2=55/>\n"
- " <Remark hotness codeid=7 abbrevid=6 op0=999999999/>\n"
- " <Argument with debug location codeid=8 abbrevid=7 op0=4 op1=5 op2=6 "
- "op3=11 op4=66/>\n"
- "</Remark>\n",
- "<BLOCKINFO_BLOCK/>\n"
- "<Meta BlockID=8 NumWords=19 BlockCodeSize=3>\n"
- " <Container info codeid=1 abbrevid=4 op0=0 op1=0/>\n"
- " <String table codeid=3 abbrevid=5/> blob data = "
- "'remark\\x00pass\\x00function\\x00path\\x00key\\x00value\\x00argpa"
- "th\\x00'\n <External File codeid=4 abbrevid=6/> blob data = "
- "'" EXTERNALFILETESTPATH"'\n"
- "</Meta>\n");
-}
-
-TEST(BitstreamRemarkSerializer, Standalone) {
- // Pre-populate the string table.
- remarks::StringTable StrTab;
- StrTab.add("pass");
- StrTab.add("remark");
- StrTab.add("function");
- StrTab.add("path");
- StrTab.add("key");
- StrTab.add("value");
- StrTab.add("argpath");
- remarks::Remark R;
- R.RemarkType = remarks::Type::Missed;
- R.PassName = "pass";
- R.RemarkName = "remark";
- R.FunctionName = "function";
- R.Loc.emplace();
- R.Loc->SourceFilePath = "path";
- R.Loc->SourceLine = 99;
- R.Loc->SourceColumn = 55;
- R.Hotness.emplace(999999999);
- R.Args.emplace_back();
- R.Args.back().Key = "key";
- R.Args.back().Val = "value";
- R.Args.back().Loc.emplace();
- R.Args.back().Loc->SourceFilePath = "argpath";
- R.Args.back().Loc->SourceLine = 11;
- R.Args.back().Loc->SourceColumn = 66;
- checkStandalone(
- R,
- "<BLOCKINFO_BLOCK/>\n"
- "<Meta BlockID=8 NumWords=15 BlockCodeSize=3>\n"
- " <Container info codeid=1 abbrevid=4 op0=0 op1=2/>\n"
- " <Remark version codeid=2 abbrevid=5 op0=0/>\n"
- " <String table codeid=3 abbrevid=6/> blob data = "
- "'pass\\x00remark\\x00function\\x00path\\x00key\\x00value\\x00argpath\\x0"
- "0'\n"
- "</Meta>\n"
- "<Remark BlockID=9 NumWords=8 BlockCodeSize=4>\n"
- " <Remark header codeid=5 abbrevid=4 op0=2 op1=1 op2=0 op3=2/>\n"
- " <Remark debug location codeid=6 abbrevid=5 op0=3 op1=99 op2=55/>\n"
- " <Remark hotness codeid=7 abbrevid=6 op0=999999999/>\n"
- " <Argument with debug location codeid=8 abbrevid=7 op0=4 op1=5 op2=6 "
- "op3=11 op4=66/>\n"
- "</Remark>\n",
- std::move(StrTab));
-}
diff --git a/llvm/unittests/Remarks/CMakeLists.txt b/llvm/unittests/Remarks/CMakeLists.txt
index 5731650c40b..91d9702f93d 100644
--- a/llvm/unittests/Remarks/CMakeLists.txt
+++ b/llvm/unittests/Remarks/CMakeLists.txt
@@ -1,12 +1,9 @@
set(LLVM_LINK_COMPONENTS
- BitReader
Remarks
Support
)
add_llvm_unittest(RemarksTests
- BitstreamRemarksFormatTest.cpp
- BitstreamRemarksSerializerTest.cpp
RemarksStrTabParsingTest.cpp
YAMLRemarksParsingTest.cpp
YAMLRemarksSerializerTest.cpp
OpenPOWER on IntegriCloud