Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions mlir/include/mlir-c/Dialect/LLVM.h
Original file line number Diff line number Diff line change
Expand Up @@ -175,17 +175,17 @@ MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMComdatAttrGet(MlirContext ctx,
MlirLLVMComdat comdat);

enum MlirLLVMLinkage {
MlirLLVMLinkagePrivate = 0,
MlirLLVMLinkageInternal = 1,
MlirLLVMLinkageAvailableExternally = 2,
MlirLLVMLinkageLinkonce = 3,
MlirLLVMLinkageExternal = 0,
MlirLLVMLinkageAvailableExternally = 1,
MlirLLVMLinkageLinkonce = 2,
MlirLLVMLinkageLinkonceODR = 3,
MlirLLVMLinkageWeak = 4,
MlirLLVMLinkageCommon = 5,
MlirLLVMLinkageWeakODR = 5,
MlirLLVMLinkageAppending = 6,
MlirLLVMLinkageExternWeak = 7,
MlirLLVMLinkageLinkonceODR = 8,
MlirLLVMLinkageWeakODR = 9,
MlirLLVMLinkageExternal = 10,
MlirLLVMLinkageInternal = 7,
MlirLLVMLinkagePrivate = 8,
MlirLLVMLinkageExternWeak = 9,
MlirLLVMLinkageCommon = 10,
};
typedef enum MlirLLVMLinkage MlirLLVMLinkage;

Expand Down
42 changes: 21 additions & 21 deletions mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
Original file line number Diff line number Diff line change
Expand Up @@ -615,40 +615,40 @@ def ICmpPredicate : LLVM_EnumAttr<
//===----------------------------------------------------------------------===//

// Linkage attribute is used on functions and globals. The order follows that of
// https://llvm.org/docs/LangRef.html#linkage-types. The names are equivalent to
// visible names in the IR rather than to enum values names in llvm::GlobalValue
// since the latter is easier to change.
def LinkagePrivate
: LLVM_EnumAttrCase<"Private", "private", "PrivateLinkage", 0>;
def LinkageInternal
: LLVM_EnumAttrCase<"Internal", "internal", "InternalLinkage", 1>;
// llvm::GlobalValue::LinkageTypes from llvm/IR/GlobalValue.h. The names are
// equivalent to visible names in the IR rather than to enum values names in
// llvm::GlobalValue since the latter is easier to change.
def LinkageExternal
: LLVM_EnumAttrCase<"External", "external", "ExternalLinkage", 0>;
def LinkageAvailableExternally
: LLVM_EnumAttrCase<"AvailableExternally", "available_externally",
"AvailableExternallyLinkage", 2>;
"AvailableExternallyLinkage", 1>;
def LinkageLinkonce
: LLVM_EnumAttrCase<"Linkonce", "linkonce", "LinkOnceAnyLinkage", 3>;
: LLVM_EnumAttrCase<"Linkonce", "linkonce", "LinkOnceAnyLinkage", 2>;
def LinkageLinkonceODR
: LLVM_EnumAttrCase<"LinkonceODR", "linkonce_odr", "LinkOnceODRLinkage", 3>;
def LinkageWeak
: LLVM_EnumAttrCase<"Weak", "weak", "WeakAnyLinkage", 4>;
def LinkageCommon
: LLVM_EnumAttrCase<"Common", "common", "CommonLinkage", 5>;
def LinkageWeakODR
: LLVM_EnumAttrCase<"WeakODR", "weak_odr", "WeakODRLinkage", 5>;
def LinkageAppending
: LLVM_EnumAttrCase<"Appending", "appending", "AppendingLinkage", 6>;
def LinkageInternal
: LLVM_EnumAttrCase<"Internal", "internal", "InternalLinkage", 7>;
def LinkagePrivate
: LLVM_EnumAttrCase<"Private", "private", "PrivateLinkage", 8>;
def LinkageExternWeak
: LLVM_EnumAttrCase<"ExternWeak", "extern_weak", "ExternalWeakLinkage", 7>;
def LinkageLinkonceODR
: LLVM_EnumAttrCase<"LinkonceODR", "linkonce_odr", "LinkOnceODRLinkage", 8>;
def LinkageWeakODR
: LLVM_EnumAttrCase<"WeakODR", "weak_odr", "WeakODRLinkage", 9>;
def LinkageExternal
: LLVM_EnumAttrCase<"External", "external", "ExternalLinkage", 10>;
: LLVM_EnumAttrCase<"ExternWeak", "extern_weak", "ExternalWeakLinkage", 9>;
def LinkageCommon
: LLVM_EnumAttrCase<"Common", "common", "CommonLinkage", 10>;

def LinkageEnum : LLVM_EnumAttr<
"Linkage",
"::llvm::GlobalValue::LinkageTypes",
"LLVM linkage types",
[LinkagePrivate, LinkageInternal, LinkageAvailableExternally,
LinkageLinkonce, LinkageWeak, LinkageCommon, LinkageAppending,
LinkageExternWeak, LinkageLinkonceODR, LinkageWeakODR, LinkageExternal]> {
[LinkageExternal, LinkageAvailableExternally, LinkageLinkonce,
LinkageLinkonceODR, LinkageWeak, LinkageWeakODR, LinkageAppending,
LinkageInternal, LinkagePrivate, LinkageExternWeak, LinkageCommon]> {
let cppNamespace = "::mlir::LLVM::linkage";
}

Expand Down
Loading