diff options
author | Lambert, Jacob <jlambert@uoregon.edu> | 2022-07-26 11:22:31 -0700 |
---|---|---|
committer | Lambert, Jacob <jlambert@uoregon.edu> | 2022-07-26 11:22:31 -0700 |
commit | 4638d7a28f62d2869a7394b009439a72c04c5b72 (patch) | |
tree | f2fc3f665db87fc0daa9fe77dd88bde19acbe9ec /clang/include | |
parent | 448a094d3e570df8361ce75b53cbcc27933387d2 (diff) | |
download | llvm-4638d7a28f62d2869a7394b009439a72c04c5b72.zip llvm-4638d7a28f62d2869a7394b009439a72c04c5b72.tar.gz llvm-4638d7a28f62d2869a7394b009439a72c04c5b72.tar.bz2 |
Revert "[clang-offload-bundler] Library-ize ClangOffloadBundler"
This reverts commit 8348c4095600ec2c0beee293267832799d2ebee3.
Diffstat (limited to 'clang/include')
-rw-r--r-- | clang/include/clang/Driver/OffloadBundler.h | 89 |
1 files changed, 0 insertions, 89 deletions
diff --git a/clang/include/clang/Driver/OffloadBundler.h b/clang/include/clang/Driver/OffloadBundler.h deleted file mode 100644 index ea0631b..0000000 --- a/clang/include/clang/Driver/OffloadBundler.h +++ /dev/null @@ -1,89 +0,0 @@ -//===- OffloadBundler.h - File Bundling and Unbundling ----------*- 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 -// -//===----------------------------------------------------------------------===// -/// -/// \file -/// This file defines an offload bundling API that bundles different files -/// that relate with the same source code but different targets into a single -/// one. Also the implements the opposite functionality, i.e. unbundle files -/// previous created by this API. -/// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_CLANG_DRIVER_OFFLOADBUNDLER_H -#define LLVM_CLANG_DRIVER_OFFLOADBUNDLER_H - -#include "llvm/ADT/Triple.h" -#include "llvm/Support/Error.h" -#include <string> -#include <vector> - -namespace clang { - -class OffloadBundlerConfig { -public: - bool AllowNoHost = false; - bool AllowMissingBundles = false; - bool CheckInputArchive = false; - bool PrintExternalCommands = false; - bool HipOpenmpCompatible = false; - - unsigned BundleAlignment = 1; - unsigned HostInputIndex = ~0u; - - std::string FilesType; - std::string ObjcopyPath; - - // TODO: Convert these to llvm::SmallVector - std::vector<std::string> TargetNames; - std::vector<std::string> InputFileNames; - std::vector<std::string> OutputFileNames; -}; - -class OffloadBundler { -public: - const OffloadBundlerConfig &BundlerConfig; - - // TODO: Add error checking from ClangOffloadBundler.cpp - OffloadBundler(const OffloadBundlerConfig &BC) : BundlerConfig(BC) {} - - // List bundle IDs. Return true if an error was found. - static llvm::Error - ListBundleIDsInFile(llvm::StringRef InputFileName, - const OffloadBundlerConfig &BundlerConfig); - - llvm::Error BundleFiles(); - llvm::Error UnbundleFiles(); - llvm::Error UnbundleArchive(); -}; - -/// Obtain the offload kind, real machine triple, and an optional GPUArch -/// out of the target information specified by the user. -/// Bundle Entry ID (or, Offload Target String) has following components: -/// * Offload Kind - Host, OpenMP, or HIP -/// * Triple - Standard LLVM Triple -/// * GPUArch (Optional) - Processor name, like gfx906 or sm_30 -struct OffloadTargetInfo { - llvm::StringRef OffloadKind; - llvm::Triple Triple; - llvm::StringRef GPUArch; - - const OffloadBundlerConfig &BundlerConfig; - - OffloadTargetInfo(const llvm::StringRef Target, - const OffloadBundlerConfig &BC); - bool hasHostKind() const; - bool isOffloadKindValid() const; - bool isOffloadKindCompatible(const llvm::StringRef TargetOffloadKind) const; - bool isTripleValid() const; - bool operator==(const OffloadTargetInfo &Target) const; - std::string str(); -}; - -} // namespace clang - -#endif // LLVM_CLANG_DRIVER_OFFLOADBUNDLER_H |