diff options
author | Matt Morehouse <mascasa@google.com> | 2021-08-05 11:07:53 -0700 |
---|---|---|
committer | Matt Morehouse <mascasa@google.com> | 2021-08-05 11:10:58 -0700 |
commit | ec5137029bf267bf3b6a52f035cf02ddc1932539 (patch) | |
tree | 3403f18c69256ae607265cd2626b0c6ee2ad3172 /llvm/tools/llvm-diff/lib/DiffLog.h | |
parent | b260f3fdda63bbddb7834c42cfeeb2b0a8b86a23 (diff) | |
download | llvm-ec5137029bf267bf3b6a52f035cf02ddc1932539.zip llvm-ec5137029bf267bf3b6a52f035cf02ddc1932539.tar.gz llvm-ec5137029bf267bf3b6a52f035cf02ddc1932539.tar.bz2 |
Revert "[llvm-diff] Create libLLVMDiff library"
This reverts commit 9854f2f30f84123ca78aa3603102e7cef4ec33c8 since it
broke all the builds.
Diffstat (limited to 'llvm/tools/llvm-diff/lib/DiffLog.h')
-rw-r--r-- | llvm/tools/llvm-diff/lib/DiffLog.h | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/llvm/tools/llvm-diff/lib/DiffLog.h b/llvm/tools/llvm-diff/lib/DiffLog.h deleted file mode 100644 index d8b07b9..0000000 --- a/llvm/tools/llvm-diff/lib/DiffLog.h +++ /dev/null @@ -1,83 +0,0 @@ -//===-- DiffLog.h - Difference Log Builder and accessories ------*- 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 header defines the interface to the LLVM difference log builder. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_TOOLS_LLVM_DIFF_DIFFLOG_H -#define LLVM_TOOLS_LLVM_DIFF_DIFFLOG_H - -#include "llvm/ADT/SmallVector.h" -#include "llvm/ADT/StringRef.h" - -namespace llvm { - class Instruction; - class Value; - class Consumer; - - /// Trichotomy assumption - enum DiffChange { DC_match, DC_left, DC_right }; - - /// A temporary-object class for building up log messages. - class LogBuilder { - Consumer *consumer; - - /// The use of a stored StringRef here is okay because - /// LogBuilder should be used only as a temporary, and as a - /// temporary it will be destructed before whatever temporary - /// might be initializing this format. - StringRef Format; - - SmallVector<const Value *, 4> Arguments; - - public: - LogBuilder(Consumer &c, StringRef Format) : consumer(&c), Format(Format) {} - LogBuilder(LogBuilder &&L) - : consumer(L.consumer), Format(L.Format), - Arguments(std::move(L.Arguments)) { - L.consumer = nullptr; - } - - LogBuilder &operator<<(const Value *V) { - Arguments.push_back(V); - return *this; - } - - ~LogBuilder(); - - StringRef getFormat() const; - unsigned getNumArguments() const; - const Value *getArgument(unsigned I) const; - }; - - /// A temporary-object class for building up diff messages. - class DiffLogBuilder { - typedef std::pair<const Instruction *, const Instruction *> DiffRecord; - SmallVector<DiffRecord, 20> Diff; - - Consumer &consumer; - - public: - DiffLogBuilder(Consumer &c) : consumer(c) {} - ~DiffLogBuilder(); - - void addMatch(const Instruction *L, const Instruction *R); - // HACK: VS 2010 has a bug in the stdlib that requires this. - void addLeft(const Instruction *L); - void addRight(const Instruction *R); - - unsigned getNumLines() const; - DiffChange getLineKind(unsigned I) const; - const Instruction *getLeft(unsigned I) const; - const Instruction *getRight(unsigned I) const; - }; - -} - -#endif |