|
|
|||
File indexing completed on 2026-05-10 08:43:00
0001 /*===-- llvm-c/Comdat.h - Module Comdat C Interface -------------*- C++ -*-===*\ 0002 |* *| 0003 |* Part of the LLVM Project, under the Apache License v2.0 with LLVM *| 0004 |* Exceptions. *| 0005 |* See https://llvm.org/LICENSE.txt for license information. *| 0006 |* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception *| 0007 |* *| 0008 |*===----------------------------------------------------------------------===*| 0009 |* *| 0010 |* This file defines the C interface to COMDAT. *| 0011 |* *| 0012 \*===----------------------------------------------------------------------===*/ 0013 0014 #ifndef LLVM_C_COMDAT_H 0015 #define LLVM_C_COMDAT_H 0016 0017 #include "llvm-c/ExternC.h" 0018 #include "llvm-c/Types.h" 0019 0020 LLVM_C_EXTERN_C_BEGIN 0021 0022 /** 0023 * @defgroup LLVMCCoreComdat Comdats 0024 * @ingroup LLVMCCore 0025 * 0026 * @{ 0027 */ 0028 0029 typedef enum { 0030 LLVMAnyComdatSelectionKind, ///< The linker may choose any COMDAT. 0031 LLVMExactMatchComdatSelectionKind, ///< The data referenced by the COMDAT must 0032 ///< be the same. 0033 LLVMLargestComdatSelectionKind, ///< The linker will choose the largest 0034 ///< COMDAT. 0035 LLVMNoDeduplicateComdatSelectionKind, ///< No deduplication is performed. 0036 LLVMSameSizeComdatSelectionKind ///< The data referenced by the COMDAT must be 0037 ///< the same size. 0038 } LLVMComdatSelectionKind; 0039 0040 /** 0041 * Return the Comdat in the module with the specified name. It is created 0042 * if it didn't already exist. 0043 * 0044 * @see llvm::Module::getOrInsertComdat() 0045 */ 0046 LLVMComdatRef LLVMGetOrInsertComdat(LLVMModuleRef M, const char *Name); 0047 0048 /** 0049 * Get the Comdat assigned to the given global object. 0050 * 0051 * @see llvm::GlobalObject::getComdat() 0052 */ 0053 LLVMComdatRef LLVMGetComdat(LLVMValueRef V); 0054 0055 /** 0056 * Assign the Comdat to the given global object. 0057 * 0058 * @see llvm::GlobalObject::setComdat() 0059 */ 0060 void LLVMSetComdat(LLVMValueRef V, LLVMComdatRef C); 0061 0062 /* 0063 * Get the conflict resolution selection kind for the Comdat. 0064 * 0065 * @see llvm::Comdat::getSelectionKind() 0066 */ 0067 LLVMComdatSelectionKind LLVMGetComdatSelectionKind(LLVMComdatRef C); 0068 0069 /* 0070 * Set the conflict resolution selection kind for the Comdat. 0071 * 0072 * @see llvm::Comdat::setSelectionKind() 0073 */ 0074 void LLVMSetComdatSelectionKind(LLVMComdatRef C, LLVMComdatSelectionKind Kind); 0075 0076 /** 0077 * @} 0078 */ 0079 0080 LLVM_C_EXTERN_C_END 0081 0082 #endif
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|