LLVM 20.0.0git
CodeGenData.inc
Go to the documentation of this file.
1/*===-- CodeGenData.inc ----------------------------------------*- 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 * This is the main file that defines all the data structure, signature,
10 * constant literals that are shared across compiler, host tools (reader/writer)
11 * to support codegen data.
12 *
13\*===----------------------------------------------------------------------===*/
14
15/* Helper macros. */
16#define CG_DATA_SIMPLE_QUOTE(x) #x
17#define CG_DATA_QUOTE(x) CG_DATA_SIMPLE_QUOTE(x)
18
19#ifdef CG_DATA_SECT_ENTRY
20#define CG_DATA_DEFINED
21CG_DATA_SECT_ENTRY(CG_outline, CG_DATA_QUOTE(CG_DATA_OUTLINE_COMMON),
22 CG_DATA_OUTLINE_COFF, "__DATA,")
23
24#undef CG_DATA_SECT_ENTRY
25#endif
26
27/* section name strings common to all targets other
28 than WIN32 */
29#define CG_DATA_OUTLINE_COMMON __llvm_outline
30/* Since cg data sections are not allocated, we don't need to
31 * access them at runtime.
32 */
33#define CG_DATA_OUTLINE_COFF ".loutline"
34
35#ifdef _WIN32
36/* Runtime section names and name strings. */
37#define CG_DATA_SECT_NAME CG_DATA_OUTLINE_COFF
38
39#else
40/* Runtime section names and name strings. */
41#define CG_DATA_SECT_NAME CG_DATA_QUOTE(CG_DATA_OUTLINE_COMMON)
42
43#endif
44
45/* Indexed codegen data format version (start from 1). */
46#define CG_DATA_INDEX_VERSION 1
#define CG_DATA_SECT_ENTRY(Kind, SectNameCommon, SectNameCoff, Prefix)
Definition: CodeGenData.h:30