mirror of
https://github.com/RPCS3/llvm.git
synced 2024-11-27 05:30:29 +00:00
[Bitcode] Move Bitstream to a separate library
This moves Bitcode/Bitstream*, Bitcode/BitCodes.h to Bitstream/. This is needed to avoid a circular dependency when using the bitstream code for parsing optimization remarks. Since Bitcode uses Core for the IR part: libLLVMRemarks -> Bitcode -> Core and Core uses libLLVMRemarks to generate remarks (see IR/RemarkStreamer.cpp): Core -> libLLVMRemarks we need to separate the Bitstream and Bitcode part. For clang-doc, it seems that it doesn't need the whole bitcode layer, so I updated the CMake to only use the bitstream part. Differential Revision: https://reviews.llvm.org/D63899 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365091 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
24e7b73648
commit
742690b61b
@ -15,7 +15,7 @@
|
||||
|
||||
#include "llvm/ADT/ArrayRef.h"
|
||||
#include "llvm/ADT/StringRef.h"
|
||||
#include "llvm/Bitcode/BitCodes.h"
|
||||
#include "llvm/Bitstream/BitCodes.h"
|
||||
#include "llvm/IR/ModuleSummaryIndex.h"
|
||||
#include "llvm/Support/Endian.h"
|
||||
#include "llvm/Support/Error.h"
|
||||
|
@ -17,7 +17,7 @@
|
||||
#ifndef LLVM_BITCODE_LLVMBITCODES_H
|
||||
#define LLVM_BITCODE_LLVMBITCODES_H
|
||||
|
||||
#include "llvm/Bitcode/BitCodes.h"
|
||||
#include "llvm/Bitstream/BitCodes.h"
|
||||
|
||||
namespace llvm {
|
||||
namespace bitc {
|
||||
|
@ -1,4 +1,4 @@
|
||||
//===- BitCodes.h - Enum values for the bitcode format ----------*- C++ -*-===//
|
||||
//===- BitCodes.h - Enum values for the bitstream format --------*- C++ -*-===//
|
||||
//
|
||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||
// See https://llvm.org/LICENSE.txt for license information.
|
||||
@ -6,7 +6,7 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// This header Bitcode enum values.
|
||||
// This header defines bitstream enum values.
|
||||
//
|
||||
// The enum values defined in this file should be considered permanent. If
|
||||
// new features are added, they should have values added at the end of the
|
||||
@ -14,8 +14,8 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#ifndef LLVM_BITCODE_BITCODES_H
|
||||
#define LLVM_BITCODE_BITCODES_H
|
||||
#ifndef LLVM_BITSTREAM_BITCODES_H
|
||||
#define LLVM_BITSTREAM_BITCODES_H
|
||||
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
#include "llvm/Support/DataTypes.h"
|
||||
@ -23,7 +23,7 @@
|
||||
#include <cassert>
|
||||
|
||||
namespace llvm {
|
||||
/// Offsets of the 32-bit fields of bitcode wrapper header.
|
||||
/// Offsets of the 32-bit fields of bitstream wrapper header.
|
||||
static const unsigned BWH_MagicField = 0 * 4;
|
||||
static const unsigned BWH_VersionField = 1 * 4;
|
||||
static const unsigned BWH_OffsetField = 2 * 4;
|
@ -11,12 +11,12 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#ifndef LLVM_BITCODE_BITSTREAMREADER_H
|
||||
#define LLVM_BITCODE_BITSTREAMREADER_H
|
||||
#ifndef LLVM_BITSTREAM_BITSTREAMREADER_H
|
||||
#define LLVM_BITSTREAM_BITSTREAMREADER_H
|
||||
|
||||
#include "llvm/ADT/ArrayRef.h"
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
#include "llvm/Bitcode/BitCodes.h"
|
||||
#include "llvm/Bitstream/BitCodes.h"
|
||||
#include "llvm/Support/Endian.h"
|
||||
#include "llvm/Support/ErrorHandling.h"
|
||||
#include "llvm/Support/MathExtras.h"
|
||||
@ -550,4 +550,4 @@ public:
|
||||
|
||||
} // end llvm namespace
|
||||
|
||||
#endif // LLVM_BITCODE_BITSTREAMREADER_H
|
||||
#endif // LLVM_BITSTREAM_BITSTREAMREADER_H
|
@ -11,14 +11,14 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#ifndef LLVM_BITCODE_BITSTREAMWRITER_H
|
||||
#define LLVM_BITCODE_BITSTREAMWRITER_H
|
||||
#ifndef LLVM_BITSTREAM_BITSTREAMWRITER_H
|
||||
#define LLVM_BITSTREAM_BITSTREAMWRITER_H
|
||||
|
||||
#include "llvm/ADT/ArrayRef.h"
|
||||
#include "llvm/ADT/Optional.h"
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
#include "llvm/ADT/StringRef.h"
|
||||
#include "llvm/Bitcode/BitCodes.h"
|
||||
#include "llvm/Bitstream/BitCodes.h"
|
||||
#include "llvm/Support/Endian.h"
|
||||
#include <vector>
|
||||
|
@ -39,7 +39,7 @@
|
||||
///
|
||||
/// - LLVM bitstream is a space- and CPU- efficient binary format. Typically it
|
||||
/// encodes LLVM IR ("bitcode"), but it can be a container for other data.
|
||||
/// Low-level reader/writer libraries are in Bitcode/Bitstream*.h
|
||||
/// Low-level reader/writer libraries are in Bitstream/Bitstream*.h
|
||||
///
|
||||
//===---------------------------------------------------------------------===//
|
||||
|
||||
|
@ -20,7 +20,7 @@
|
||||
#include "llvm/ADT/StringRef.h"
|
||||
#include "llvm/ADT/Triple.h"
|
||||
#include "llvm/ADT/Twine.h"
|
||||
#include "llvm/Bitcode/BitstreamReader.h"
|
||||
#include "llvm/Bitstream/BitstreamReader.h"
|
||||
#include "llvm/Bitcode/LLVMBitCodes.h"
|
||||
#include "llvm/Config/llvm-config.h"
|
||||
#include "llvm/IR/Argument.h"
|
||||
|
@ -1,7 +1,6 @@
|
||||
add_llvm_library(LLVMBitReader
|
||||
BitReader.cpp
|
||||
BitcodeReader.cpp
|
||||
BitstreamReader.cpp
|
||||
MetadataLoader.cpp
|
||||
ValueList.cpp
|
||||
|
||||
|
@ -18,4 +18,4 @@
|
||||
type = Library
|
||||
name = BitReader
|
||||
parent = Bitcode
|
||||
required_libraries = Core Support
|
||||
required_libraries = BitstreamReader Core Support
|
||||
|
@ -22,7 +22,7 @@
|
||||
#include "llvm/ADT/StringRef.h"
|
||||
#include "llvm/ADT/Twine.h"
|
||||
#include "llvm/Bitcode/BitcodeReader.h"
|
||||
#include "llvm/Bitcode/BitstreamReader.h"
|
||||
#include "llvm/Bitstream/BitstreamReader.h"
|
||||
#include "llvm/Bitcode/LLVMBitCodes.h"
|
||||
#include "llvm/IR/Argument.h"
|
||||
#include "llvm/IR/Attributes.h"
|
||||
|
@ -24,8 +24,8 @@
|
||||
#include "llvm/ADT/StringMap.h"
|
||||
#include "llvm/ADT/StringRef.h"
|
||||
#include "llvm/ADT/Triple.h"
|
||||
#include "llvm/Bitcode/BitCodes.h"
|
||||
#include "llvm/Bitcode/BitstreamWriter.h"
|
||||
#include "llvm/Bitstream/BitCodes.h"
|
||||
#include "llvm/Bitstream/BitstreamWriter.h"
|
||||
#include "llvm/Bitcode/LLVMBitCodes.h"
|
||||
#include "llvm/Config/llvm-config.h"
|
||||
#include "llvm/IR/Attributes.h"
|
||||
|
2
lib/Bitstream/CMakeLists.txt
Normal file
2
lib/Bitstream/CMakeLists.txt
Normal file
@ -0,0 +1,2 @@
|
||||
add_subdirectory(Reader)
|
||||
# The writer is header-only.
|
23
lib/Bitstream/LLVMBuild.txt
Normal file
23
lib/Bitstream/LLVMBuild.txt
Normal file
@ -0,0 +1,23 @@
|
||||
;===- ./lib/Bitstream/LLVMBuild.txt ----------------------------*- Conf -*--===;
|
||||
;
|
||||
; 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 is an LLVMBuild description file for the components in this subdirectory.
|
||||
;
|
||||
; For more information on the LLVMBuild system, please see:
|
||||
;
|
||||
; http://llvm.org/docs/LLVMBuild.html
|
||||
;
|
||||
;===------------------------------------------------------------------------===;
|
||||
|
||||
[common]
|
||||
subdirectories = Reader
|
||||
|
||||
[component_0]
|
||||
type = Group
|
||||
name = Bitstream
|
||||
parent = Libraries
|
@ -6,7 +6,7 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "llvm/Bitcode/BitstreamReader.h"
|
||||
#include "llvm/Bitstream/BitstreamReader.h"
|
||||
#include "llvm/ADT/StringRef.h"
|
||||
#include <cassert>
|
||||
#include <string>
|
7
lib/Bitstream/Reader/CMakeLists.txt
Normal file
7
lib/Bitstream/Reader/CMakeLists.txt
Normal file
@ -0,0 +1,7 @@
|
||||
add_llvm_library(LLVMBitstreamReader
|
||||
BitstreamReader.cpp
|
||||
|
||||
ADDITIONAL_HEADER_DIRS
|
||||
${LLVM_MAIN_INCLUDE_DIR}/llvm/Bitcode
|
||||
${LLVM_MAIN_INCLUDE_DIR}/llvm/Bitstream
|
||||
)
|
21
lib/Bitstream/Reader/LLVMBuild.txt
Normal file
21
lib/Bitstream/Reader/LLVMBuild.txt
Normal file
@ -0,0 +1,21 @@
|
||||
;===- ./lib/Bitstream/Reader/LLVMBuild.txt ---------------------*- Conf -*--===;
|
||||
;
|
||||
; 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 is an LLVMBuild description file for the components in this subdirectory.
|
||||
;
|
||||
; For more information on the LLVMBuild system, please see:
|
||||
;
|
||||
; http://llvm.org/docs/LLVMBuild.html
|
||||
;
|
||||
;===------------------------------------------------------------------------===;
|
||||
|
||||
[component_0]
|
||||
type = Library
|
||||
name = BitstreamReader
|
||||
parent = Bitstream
|
||||
required_libraries = Support
|
@ -7,6 +7,7 @@ add_subdirectory(IRReader)
|
||||
add_subdirectory(CodeGen)
|
||||
add_subdirectory(BinaryFormat)
|
||||
add_subdirectory(Bitcode)
|
||||
add_subdirectory(Bitstream)
|
||||
add_subdirectory(Transforms)
|
||||
add_subdirectory(Linker)
|
||||
add_subdirectory(Analysis)
|
||||
|
@ -19,6 +19,7 @@ subdirectories =
|
||||
Analysis
|
||||
AsmParser
|
||||
Bitcode
|
||||
Bitstream
|
||||
CodeGen
|
||||
DebugInfo
|
||||
Demangle
|
||||
|
@ -1,5 +1,6 @@
|
||||
set(LLVM_LINK_COMPONENTS
|
||||
BitReader
|
||||
BitstreamReader
|
||||
Support
|
||||
)
|
||||
|
||||
|
@ -18,4 +18,4 @@
|
||||
type = Tool
|
||||
name = llvm-bcanalyzer
|
||||
parent = Tools
|
||||
required_libraries = BitReader
|
||||
required_libraries = BitReader BitstreamReader Support
|
||||
|
@ -28,7 +28,7 @@
|
||||
|
||||
#include "llvm/ADT/StringExtras.h"
|
||||
#include "llvm/Bitcode/BitcodeReader.h"
|
||||
#include "llvm/Bitcode/BitstreamReader.h"
|
||||
#include "llvm/Bitstream/BitstreamReader.h"
|
||||
#include "llvm/Bitcode/LLVMBitCodes.h"
|
||||
#include "llvm/Support/CommandLine.h"
|
||||
#include "llvm/Support/Format.h"
|
||||
|
@ -8,6 +8,4 @@ set(LLVM_LINK_COMPONENTS
|
||||
|
||||
add_llvm_unittest(BitcodeTests
|
||||
BitReaderTest.cpp
|
||||
BitstreamReaderTest.cpp
|
||||
BitstreamWriterTest.cpp
|
||||
)
|
||||
|
@ -6,9 +6,9 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "llvm/Bitcode/BitstreamReader.h"
|
||||
#include "llvm/Bitstream/BitstreamReader.h"
|
||||
#include "llvm/ADT/STLExtras.h"
|
||||
#include "llvm/Bitcode/BitstreamWriter.h"
|
||||
#include "llvm/Bitstream/BitstreamWriter.h"
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
using namespace llvm;
|
@ -6,7 +6,7 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "llvm/Bitcode/BitstreamWriter.h"
|
||||
#include "llvm/Bitstream/BitstreamWriter.h"
|
||||
#include "llvm/ADT/STLExtras.h"
|
||||
#include "llvm/ADT/SmallString.h"
|
||||
#include "gtest/gtest.h"
|
8
unittests/Bitstream/CMakeLists.txt
Normal file
8
unittests/Bitstream/CMakeLists.txt
Normal file
@ -0,0 +1,8 @@
|
||||
set(LLVM_LINK_COMPONENTS
|
||||
BitstreamReader
|
||||
)
|
||||
|
||||
add_llvm_unittest(BitstreamTests
|
||||
BitstreamReaderTest.cpp
|
||||
BitstreamWriterTest.cpp
|
||||
)
|
@ -13,6 +13,7 @@ add_subdirectory(Analysis)
|
||||
add_subdirectory(AsmParser)
|
||||
add_subdirectory(BinaryFormat)
|
||||
add_subdirectory(Bitcode)
|
||||
add_subdirectory(Bitstream)
|
||||
add_subdirectory(CodeGen)
|
||||
add_subdirectory(DebugInfo)
|
||||
add_subdirectory(Demangle)
|
||||
|
@ -96,6 +96,8 @@ if ($PEROBJ) {
|
||||
$libpath =~ s/^AsmPrinter/CodeGen\/AsmPrinter/;
|
||||
$libpath =~ s/^BitReader/Bitcode\/Reader/;
|
||||
$libpath =~ s/^BitWriter/Bitcode\/Writer/;
|
||||
$libpath =~ s/^BitstreamReader/Bitstream\/Reader/;
|
||||
$libpath =~ s/^BitstreamWriter/Bitstream\/Writer/;
|
||||
$libpath =~ s/^MSIL/Target\/MSIL/;
|
||||
$libpath =~ s/^Core/IR/;
|
||||
$libpath =~ s/^Instrumentation/Transforms\/Instrumentation/;
|
||||
@ -136,6 +138,8 @@ if ($PEROBJ) {
|
||||
$libpath =~ s/^AsmPrinter/CodeGen\/AsmPrinter/;
|
||||
$libpath =~ s/^BitReader/Bitcode\/Reader/;
|
||||
$libpath =~ s/^BitWriter/Bitcode\/Writer/;
|
||||
$libpath =~ s/^BitstreamReader/Bitstream\/Reader/;
|
||||
$libpath =~ s/^BitstreamWriter/Bitstream\/Writer/;
|
||||
$libpath =~ s/^MSIL/Target\/MSIL/;
|
||||
$libpath =~ s/^Core/VMCore/;
|
||||
$libpath =~ s/^Instrumentation/Transforms\/Instrumentation/;
|
||||
|
Loading…
Reference in New Issue
Block a user