diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/lld/Common/Args.h | 3 | ||||
-rw-r--r-- | include/lld/Common/ErrorHandler.h | 2 | ||||
-rw-r--r-- | include/lld/Common/LLVM.h | 100 | ||||
-rw-r--r-- | include/lld/Common/Strings.h | 3 | ||||
-rw-r--r-- | include/lld/Common/TargetOptionsCommandFlags.h | 1 | ||||
-rw-r--r-- | include/lld/Common/Threads.h | 2 | ||||
-rw-r--r-- | include/lld/Core/TODO.txt | 14 |
7 files changed, 64 insertions, 61 deletions
diff --git a/include/lld/Common/Args.h b/include/lld/Common/Args.h index c49a6a7e17e7..769d4840cf06 100644 --- a/include/lld/Common/Args.h +++ b/include/lld/Common/Args.h @@ -29,6 +29,9 @@ uint64_t getZOptionValue(llvm::opt::InputArgList &Args, int Id, StringRef Key, uint64_t Default); std::vector<StringRef> getLines(MemoryBufferRef MB); + +StringRef getFilenameWithoutExe(StringRef Path); + } // namespace args } // namespace lld diff --git a/include/lld/Common/ErrorHandler.h b/include/lld/Common/ErrorHandler.h index f17f7cc99035..c169f7b50de8 100644 --- a/include/lld/Common/ErrorHandler.h +++ b/include/lld/Common/ErrorHandler.h @@ -153,7 +153,7 @@ T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) { inline std::string toString(const Twine &S) { return S.str(); } // To evaluate the second argument lazily, we use C macro. -#define CHECK(E, S) check2(E, [&] { return toString(S); }) +#define CHECK(E, S) check2((E), [&] { return toString(S); }) } // namespace lld diff --git a/include/lld/Common/LLVM.h b/include/lld/Common/LLVM.h index b5d0e2bffb03..95a2aa903957 100644 --- a/include/lld/Common/LLVM.h +++ b/include/lld/Common/LLVM.h @@ -22,53 +22,69 @@ #include <utility> namespace llvm { - // ADT's. - class Error; - class StringRef; - class Twine; - class MemoryBuffer; - class MemoryBufferRef; - template<typename T> class ArrayRef; - template<unsigned InternalLen> class SmallString; - template<typename T, unsigned N> class SmallVector; - template<typename T> class SmallVectorImpl; +// ADT's. +class raw_ostream; +class Error; +class StringRef; +class Twine; +class MemoryBuffer; +class MemoryBufferRef; +template <typename T> class ArrayRef; +template <unsigned InternalLen> class SmallString; +template <typename T, unsigned N> class SmallVector; +template <typename T> class ErrorOr; +template <typename T> class Expected; - template<typename T> - struct SaveAndRestore; +namespace object { +class WasmObjectFile; +struct WasmSection; +struct WasmSegment; +class WasmSymbol; +} // namespace object - template<typename T> - class ErrorOr; - - template<typename T> - class Expected; - - class raw_ostream; - // TODO: DenseMap, ... -} +namespace wasm { +struct WasmEvent; +struct WasmEventType; +struct WasmFunction; +struct WasmGlobal; +struct WasmGlobalType; +struct WasmRelocation; +struct WasmSignature; +} // namespace wasm +} // namespace llvm namespace lld { - // Casting operators. - using llvm::isa; - using llvm::cast; - using llvm::dyn_cast; - using llvm::dyn_cast_or_null; - using llvm::cast_or_null; +// Casting operators. +using llvm::cast; +using llvm::cast_or_null; +using llvm::dyn_cast; +using llvm::dyn_cast_or_null; +using llvm::isa; - // ADT's. - using llvm::Error; - using llvm::StringRef; - using llvm::Twine; - using llvm::MemoryBuffer; - using llvm::MemoryBufferRef; - using llvm::ArrayRef; - using llvm::SmallString; - using llvm::SmallVector; - using llvm::SmallVectorImpl; - using llvm::SaveAndRestore; - using llvm::ErrorOr; - using llvm::Expected; +// ADT's. +using llvm::ArrayRef; +using llvm::Error; +using llvm::ErrorOr; +using llvm::Expected; +using llvm::MemoryBuffer; +using llvm::MemoryBufferRef; +using llvm::raw_ostream; +using llvm::SmallString; +using llvm::SmallVector; +using llvm::StringRef; +using llvm::Twine; - using llvm::raw_ostream; +using llvm::object::WasmObjectFile; +using llvm::object::WasmSection; +using llvm::object::WasmSegment; +using llvm::object::WasmSymbol; +using llvm::wasm::WasmEvent; +using llvm::wasm::WasmEventType; +using llvm::wasm::WasmFunction; +using llvm::wasm::WasmGlobal; +using llvm::wasm::WasmGlobalType; +using llvm::wasm::WasmRelocation; +using llvm::wasm::WasmSignature; } // end namespace lld. namespace std { @@ -78,6 +94,6 @@ public: return llvm::hash_value(s); } }; -} +} // namespace std #endif diff --git a/include/lld/Common/Strings.h b/include/lld/Common/Strings.h index e17b25763781..566030e43aa6 100644 --- a/include/lld/Common/Strings.h +++ b/include/lld/Common/Strings.h @@ -41,9 +41,6 @@ private: std::vector<llvm::GlobPattern> Patterns; }; -inline llvm::ArrayRef<uint8_t> toArrayRef(llvm::StringRef S) { - return {reinterpret_cast<const uint8_t *>(S.data()), S.size()}; -} } // namespace lld #endif diff --git a/include/lld/Common/TargetOptionsCommandFlags.h b/include/lld/Common/TargetOptionsCommandFlags.h index 8443b184aa70..2eaecb72759e 100644 --- a/include/lld/Common/TargetOptionsCommandFlags.h +++ b/include/lld/Common/TargetOptionsCommandFlags.h @@ -19,4 +19,5 @@ namespace lld { llvm::TargetOptions InitTargetOptionsFromCodeGenFlags(); llvm::Optional<llvm::CodeModel::Model> GetCodeModelFromCMModel(); std::string GetCPUStr(); +std::vector<std::string> GetMAttrs(); } diff --git a/include/lld/Common/Threads.h b/include/lld/Common/Threads.h index 854590753143..1425abd12922 100644 --- a/include/lld/Common/Threads.h +++ b/include/lld/Common/Threads.h @@ -74,7 +74,7 @@ template <typename R, class FuncTy> void parallelForEach(R &&Range, FuncTy Fn) { } inline void parallelForEachN(size_t Begin, size_t End, - std::function<void(size_t)> Fn) { + llvm::function_ref<void(size_t)> Fn) { if (ThreadsEnabled) for_each_n(llvm::parallel::par, Begin, End, Fn); else diff --git a/include/lld/Core/TODO.txt b/include/lld/Core/TODO.txt deleted file mode 100644 index 2aa61ff8612d..000000000000 --- a/include/lld/Core/TODO.txt +++ /dev/null @@ -1,14 +0,0 @@ -include/lld/Core -~~~~~~~~~~~~~~~~ - -* The yaml reader/writer interfaces should be changed to return - an explanatory string if there is an error. The existing error_code - abstraction only works for returning low level OS errors. It does not - work for describing formatting issues. - -* We need to add more attributes to File. In particular, we need cpu - and OS information (like target triples). We should also provide explicit - support for `LLVM IR module flags metadata`__. - -.. __: http://llvm.org/docs/LangRef.html#module_flags -.. _Clang: http://clang.llvm.org/docs/InternalsManual.html#Diagnostics |