clang
15.0.0git
lib
Basic
Targets
VE.cpp
Go to the documentation of this file.
1
//===--- VE.cpp - Implement VE target feature support ---------------------===//
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
// This file implements VE TargetInfo objects.
10
//
11
//===----------------------------------------------------------------------===//
12
13
#include "
VE.h
"
14
#include "
clang/Basic/Builtins.h
"
15
#include "
clang/Basic/MacroBuilder.h
"
16
#include "
clang/Basic/TargetBuiltins.h
"
17
18
using namespace
clang
;
19
using namespace
clang::targets
;
20
21
const
Builtin::Info
VETargetInfo::BuiltinInfo[] = {
22
#define BUILTIN(ID, TYPE, ATTRS) \
23
{#ID, TYPE, ATTRS, nullptr, ALL_LANGUAGES, nullptr},
24
#include "clang/Basic/BuiltinsVE.def"
25
};
26
27
void
VETargetInfo::getTargetDefines
(
const
LangOptions
&Opts,
28
MacroBuilder
&Builder)
const
{
29
Builder.defineMacro(
"_LP64"
,
"1"
);
30
Builder.defineMacro(
"unix"
,
"1"
);
31
Builder.defineMacro(
"__unix__"
,
"1"
);
32
Builder.defineMacro(
"__linux__"
,
"1"
);
33
Builder.defineMacro(
"__ve"
,
"1"
);
34
Builder.defineMacro(
"__ve__"
,
"1"
);
35
Builder.defineMacro(
"__STDC_HOSTED__"
,
"1"
);
36
Builder.defineMacro(
"__STDC__"
,
"1"
);
37
Builder.defineMacro(
"__NEC__"
,
"1"
);
38
// FIXME: define __FAST_MATH__ 1 if -ffast-math is enabled
39
// FIXME: define __OPTIMIZE__ n if -On is enabled
40
// FIXME: define __VECTOR__ n 1 if automatic vectorization is enabled
41
}
42
43
ArrayRef<Builtin::Info>
VETargetInfo::getTargetBuiltins
()
const
{
44
return
llvm::makeArrayRef(BuiltinInfo,
45
clang::VE::LastTSBuiltin
-
Builtin::FirstTSBuiltin
);
46
}
clang::targets::VETargetInfo::getTargetBuiltins
ArrayRef< Builtin::Info > getTargetBuiltins() const override
Return information about target-specific builtins for the current primary target, and info about whic...
Definition:
VE.cpp:43
Builtins.h
clang::VE::LastTSBuiltin
@ LastTSBuiltin
Definition:
TargetBuiltins.h:128
VE.h
MacroBuilder.h
clang::targets::VETargetInfo::getTargetDefines
void getTargetDefines(const LangOptions &Opts, MacroBuilder &Builder) const override
===-— Other target property query methods -----------------------—===//
Definition:
VE.cpp:27
llvm::ArrayRef
Definition:
LLVM.h:34
TargetBuiltins.h
clang::LangOptions
Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...
Definition:
LangOptions.h:78
clang
Definition:
CalledOnceCheck.h:17
clang::targets
Definition:
AArch64.h:22
clang::Builtin::Info
Definition:
Builtins.h:58
clang::Builtin::FirstTSBuiltin
@ FirstTSBuiltin
Definition:
Builtins.h:55
clang::MacroBuilder
Definition:
MacroBuilder.h:23
Generated on Mon May 23 2022 10:54:50 for clang by
1.8.17