clang
20.0.0git
include
clang
Basic
TargetOptions.h
Go to the documentation of this file.
1
//===--- TargetOptions.h ----------------------------------------*- C++ -*-===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
///
9
/// \file
10
/// Defines the clang::TargetOptions class.
11
///
12
//===----------------------------------------------------------------------===//
13
14
#ifndef LLVM_CLANG_BASIC_TARGETOPTIONS_H
15
#define LLVM_CLANG_BASIC_TARGETOPTIONS_H
16
17
#include "
clang/Basic/OpenCLOptions.h
"
18
#include "llvm/Support/VersionTuple.h"
19
#include "llvm/Target/TargetOptions.h"
20
#include <string>
21
#include <vector>
22
23
namespace
clang
{
24
25
/// Options for controlling the target.
26
class
TargetOptions
{
27
public
:
28
/// The name of the target triple to compile for.
29
std::string
Triple
;
30
31
/// When compiling for the device side, contains the triple used to compile
32
/// for the host.
33
std::string
HostTriple
;
34
35
/// If given, the name of the target CPU to generate code for.
36
std::string
CPU
;
37
38
/// If given, the name of the target CPU to tune code for.
39
std::string
TuneCPU
;
40
41
/// If given, the unit to use for floating point math.
42
std::string
FPMath
;
43
44
/// If given, the name of the target ABI to use.
45
std::string
ABI
;