Viewing file: Comdat.h (2.66 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/*===-- llvm-c/Comdat.h - Module Comdat C Interface -------------*- 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 defines the C interface to COMDAT. *| |* *| \*===----------------------------------------------------------------------===*/
#ifndef LLVM_C_COMDAT_H #define LLVM_C_COMDAT_H
#include "llvm-c/ExternC.h" #include "llvm-c/Types.h"
LLVM_C_EXTERN_C_BEGIN
/** * @defgroup LLVMCCoreComdat Comdats * @ingroup LLVMCCore * * @{ */
typedef enum { LLVMAnyComdatSelectionKind, ///< The linker may choose any COMDAT. LLVMExactMatchComdatSelectionKind, ///< The data referenced by the COMDAT must ///< be the same. LLVMLargestComdatSelectionKind, ///< The linker will choose the largest ///< COMDAT. LLVMNoDeduplicateComdatSelectionKind, ///< No deduplication is performed. LLVMSameSizeComdatSelectionKind ///< The data referenced by the COMDAT must be ///< the same size. } LLVMComdatSelectionKind;
/** * Return the Comdat in the module with the specified name. It is created * if it didn't already exist. * * @see llvm::Module::getOrInsertComdat() */ LLVMComdatRef LLVMGetOrInsertComdat(LLVMModuleRef M, const char *Name);
/** * Get the Comdat assigned to the given global object. * * @see llvm::GlobalObject::getComdat() */ LLVMComdatRef LLVMGetComdat(LLVMValueRef V);
/** * Assign the Comdat to the given global object. * * @see llvm::GlobalObject::setComdat() */ void LLVMSetComdat(LLVMValueRef V, LLVMComdatRef C);
/* * Get the conflict resolution selection kind for the Comdat. * * @see llvm::Comdat::getSelectionKind() */ LLVMComdatSelectionKind LLVMGetComdatSelectionKind(LLVMComdatRef C);
/* * Set the conflict resolution selection kind for the Comdat. * * @see llvm::Comdat::setSelectionKind() */ void LLVMSetComdatSelectionKind(LLVMComdatRef C, LLVMComdatSelectionKind Kind);
/** * @} */
LLVM_C_EXTERN_C_END
#endif
|