Represents the DLL storage classes in LLVM, that specifies how a global value,
such as a function or global variable, should be treated with respect to
dynamic link libraries (DLLs) on platforms like Windows. The DLLStorageClass
controls whether a symbol should be imported from a DLL, exported to a DLL, or
treated as a normal global symbol.
Represents the linkage types in LLVM for global values.
Linkage types determine the visibility and behavior of symbols across different modules and within the same module.
Visibility is an enumeration in LLVM that represents the
visibility of global values such as functions and global
variables. Visibility determines how symbols are treated by
the linker and whether they can be seen by other modules or
shared libraries.
Generally Visibility represent access to the symbol after Linkage.
Useful to compose Linkage and Visibility to define the symbol behavior.