aboutsummaryrefslogtreecommitdiff
path: root/clang/include
diff options
context:
space:
mode:
authorLambert, Jacob <jlambert@uoregon.edu>2022-07-26 11:22:31 -0700
committerLambert, Jacob <jlambert@uoregon.edu>2022-07-26 11:22:31 -0700
commit4638d7a28f62d2869a7394b009439a72c04c5b72 (patch)
treef2fc3f665db87fc0daa9fe77dd88bde19acbe9ec /clang/include
parent448a094d3e570df8361ce75b53cbcc27933387d2 (diff)
downloadllvm-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.h89
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