mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-01 13:11:39 +01:00
d4f51b5c4f
There's quite a lot of references to Polly in the LLVM CMake codebase. However the registration pattern used by Polly could be useful to other external projects: thanks to that mechanism it would be possible to develop LLVM extension without touching the LLVM code base. This patch has two effects: 1. Remove all code specific to Polly in the llvm/clang codebase, replaicing it with a generic mechanism 2. Provide a generic mechanism to register compiler extensions. A compiler extension is similar to a pass plugin, with the notable difference that the compiler extension can be configured to be built dynamically (like plugins) or statically (like regular passes). As a result, people willing to add extra passes to clang/opt can do it using a separate code repo, but still have their pass be linked in clang/opt as built-in passes. Differential Revision: https://reviews.llvm.org/D61446
83 lines
3.2 KiB
CMake
83 lines
3.2 KiB
CMake
/*===------- llvm/Config/llvm-config.h - llvm configuration -------*- 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 */
|
|
/* */
|
|
/*===----------------------------------------------------------------------===*/
|
|
|
|
/* This file enumerates variables from the LLVM configuration so that they
|
|
can be in exported headers and won't override package specific directives.
|
|
This is a C header that can be included in the llvm-c headers. */
|
|
|
|
#ifndef LLVM_CONFIG_H
|
|
#define LLVM_CONFIG_H
|
|
|
|
/* Define if LLVM_ENABLE_DUMP is enabled */
|
|
#cmakedefine LLVM_ENABLE_DUMP
|
|
|
|
/* Target triple LLVM will generate code for by default */
|
|
#cmakedefine LLVM_DEFAULT_TARGET_TRIPLE "${LLVM_DEFAULT_TARGET_TRIPLE}"
|
|
|
|
/* Define if threads enabled */
|
|
#cmakedefine01 LLVM_ENABLE_THREADS
|
|
|
|
/* Has gcc/MSVC atomic intrinsics */
|
|
#cmakedefine01 LLVM_HAS_ATOMICS
|
|
|
|
/* Host triple LLVM will be executed on */
|
|
#cmakedefine LLVM_HOST_TRIPLE "${LLVM_HOST_TRIPLE}"
|
|
|
|
/* LLVM architecture name for the native architecture, if available */
|
|
#cmakedefine LLVM_NATIVE_ARCH ${LLVM_NATIVE_ARCH}
|
|
|
|
/* LLVM name for the native AsmParser init function, if available */
|
|
#cmakedefine LLVM_NATIVE_ASMPARSER LLVMInitialize${LLVM_NATIVE_ARCH}AsmParser
|
|
|
|
/* LLVM name for the native AsmPrinter init function, if available */
|
|
#cmakedefine LLVM_NATIVE_ASMPRINTER LLVMInitialize${LLVM_NATIVE_ARCH}AsmPrinter
|
|
|
|
/* LLVM name for the native Disassembler init function, if available */
|
|
#cmakedefine LLVM_NATIVE_DISASSEMBLER LLVMInitialize${LLVM_NATIVE_ARCH}Disassembler
|
|
|
|
/* LLVM name for the native Target init function, if available */
|
|
#cmakedefine LLVM_NATIVE_TARGET LLVMInitialize${LLVM_NATIVE_ARCH}Target
|
|
|
|
/* LLVM name for the native TargetInfo init function, if available */
|
|
#cmakedefine LLVM_NATIVE_TARGETINFO LLVMInitialize${LLVM_NATIVE_ARCH}TargetInfo
|
|
|
|
/* LLVM name for the native target MC init function, if available */
|
|
#cmakedefine LLVM_NATIVE_TARGETMC LLVMInitialize${LLVM_NATIVE_ARCH}TargetMC
|
|
|
|
/* Define if this is Unixish platform */
|
|
#cmakedefine LLVM_ON_UNIX ${LLVM_ON_UNIX}
|
|
|
|
/* Define if we have the Intel JIT API runtime support library */
|
|
#cmakedefine01 LLVM_USE_INTEL_JITEVENTS
|
|
|
|
/* Define if we have the oprofile JIT-support library */
|
|
#cmakedefine01 LLVM_USE_OPROFILE
|
|
|
|
/* Define if we have the perf JIT-support library */
|
|
#cmakedefine01 LLVM_USE_PERF
|
|
|
|
/* Major version of the LLVM API */
|
|
#define LLVM_VERSION_MAJOR ${LLVM_VERSION_MAJOR}
|
|
|
|
/* Minor version of the LLVM API */
|
|
#define LLVM_VERSION_MINOR ${LLVM_VERSION_MINOR}
|
|
|
|
/* Patch version of the LLVM API */
|
|
#define LLVM_VERSION_PATCH ${LLVM_VERSION_PATCH}
|
|
|
|
/* LLVM version string */
|
|
#define LLVM_VERSION_STRING "${PACKAGE_VERSION}"
|
|
|
|
/* Whether LLVM records statistics for use with GetStatistics(),
|
|
* PrintStatistics() or PrintStatisticsJSON()
|
|
*/
|
|
#cmakedefine01 LLVM_FORCE_ENABLE_STATS
|
|
|
|
#endif
|