1326947Sdim//===- Args.h ---------------------------------------------------*- C++ -*-===//
2326947Sdim//
3353358Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4353358Sdim// See https://llvm.org/LICENSE.txt for license information.
5353358Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6326947Sdim//
7326947Sdim//===----------------------------------------------------------------------===//
8326947Sdim
9326947Sdim#ifndef LLD_ARGS_H
10326947Sdim#define LLD_ARGS_H
11326947Sdim
12326947Sdim#include "lld/Common/LLVM.h"
13353358Sdim#include "llvm/Support/CodeGen.h"
14326947Sdim#include "llvm/Support/MemoryBuffer.h"
15326947Sdim#include <vector>
16326947Sdim
17326947Sdimnamespace llvm {
18326947Sdimnamespace opt {
19326947Sdimclass InputArgList;
20326947Sdim}
21326947Sdim} // namespace llvm
22326947Sdim
23326947Sdimnamespace lld {
24326947Sdimnamespace args {
25326947Sdim
26353358Sdimllvm::CodeGenOpt::Level getCGOptLevel(int optLevelLTO);
27353358Sdim
28353358Sdimint64_t getInteger(llvm::opt::InputArgList &args, unsigned key,
29353358Sdim                   int64_t Default);
30353358Sdim
31353358Sdimstd::vector<StringRef> getStrings(llvm::opt::InputArgList &args, int id);
32353358Sdim
33353358Sdimuint64_t getZOptionValue(llvm::opt::InputArgList &args, int id, StringRef key,
34326947Sdim                         uint64_t Default);
35326947Sdim
36353358Sdimstd::vector<StringRef> getLines(MemoryBufferRef mb);
37344779Sdim
38353358SdimStringRef getFilenameWithoutExe(StringRef path);
39344779Sdim
40326947Sdim} // namespace args
41326947Sdim} // namespace lld
42326947Sdim
43326947Sdim#endif
44