Added builder support for llvm.memset , llvm.memmove and llvm.memcpy intrinsics
For those, use specialized IR builder routines rather than manually
calling the intrinsic. The problem which the latter is that those
instrinsics are overloaded and - for reason not yet known - retrieving
them cause crash. So better strick to LLVM way of doing so - through
IRBuilder.
"
Copyright (C) 2015-now Jan Vrany
This code is not an open-source (yet). You may use this code
for your own experiments and projects, given that:
* all modification to the code will be sent to the
original author for inclusion in future releases
* this is not used in any commercial software
This license is provisional and may (will) change in
a future.
"
"{ Package: 'jv:llvm_s' }"
"{ NameSpace: Smalltalk }"
SharedPool subclass:#LLVMLinkage
instanceVariableNames:''
classVariableNames:'LLVMExternalLinkage LLVMAvailableExternallyLinkage
LLVMLinkOnceAnyLinkage LLVMLinkOnceODRLinkage
LLVMLinkOnceODRAutoHideLinkage LLVMWeakAnyLinkage
LLVMWeakODRLinkage LLVMAppendingLinkage LLVMInternalLinkage
LLVMPrivateLinkage LLVMDLLImportLinkage LLVMDLLExportLinkage
LLVMExternalWeakLinkage LLVMGhostLinkage LLVMCommonLinkage
LLVMLinkerPrivateLinkage LLVMLinkerPrivateWeakLinkage'
poolDictionaries:''
category:'LLVM-S-Core-Constants'
!
!LLVMLinkage class methodsFor:'documentation'!
copyright
"
Copyright (C) 2015-now Jan Vrany
This code is not an open-source (yet). You may use this code
for your own experiments and projects, given that:
* all modification to the code will be sent to the
original author for inclusion in future releases
* this is not used in any commercial software
This license is provisional and may (will) change in
a future.
"
! !
!LLVMLinkage class methodsFor:'initialization'!
initialize
LLVMExternalLinkage := 0.
LLVMAvailableExternallyLinkage := 1.
LLVMLinkOnceAnyLinkage := 2.
LLVMLinkOnceODRLinkage := 3.
LLVMLinkOnceODRAutoHideLinkage := 4.
LLVMWeakAnyLinkage := 5.
LLVMWeakODRLinkage := 6.
LLVMAppendingLinkage := 7.
LLVMInternalLinkage := 8.
LLVMPrivateLinkage := 9.
LLVMDLLImportLinkage := 10.
LLVMDLLExportLinkage := 11.
LLVMExternalWeakLinkage := 12.
LLVMGhostLinkage := 13.
LLVMCommonLinkage := 14.
LLVMLinkerPrivateLinkage := 15.
LLVMLinkerPrivateWeakLinkage := 16.
! !
!LLVMLinkage class methodsFor:'constants'!
LLVMAppendingLinkage
^LLVMAppendingLinkage
!
LLVMAvailableExternallyLinkage
^LLVMAvailableExternallyLinkage
!
LLVMCommonLinkage
^LLVMCommonLinkage
!
LLVMDLLExportLinkage
^LLVMDLLExportLinkage
!
LLVMDLLImportLinkage
^LLVMDLLImportLinkage
!
LLVMExternalLinkage
^LLVMExternalLinkage
!
LLVMExternalWeakLinkage
^LLVMExternalWeakLinkage
!
LLVMGhostLinkage
^LLVMGhostLinkage
!
LLVMInternalLinkage
^LLVMInternalLinkage
!
LLVMLinkOnceAnyLinkage
^LLVMLinkOnceAnyLinkage
!
LLVMLinkOnceODRAutoHideLinkage
^LLVMLinkOnceODRAutoHideLinkage
!
LLVMLinkOnceODRLinkage
^LLVMLinkOnceODRLinkage
!
LLVMLinkerPrivateLinkage
^LLVMLinkerPrivateLinkage
!
LLVMLinkerPrivateWeakLinkage
^LLVMLinkerPrivateWeakLinkage
!
LLVMPrivateLinkage
^LLVMPrivateLinkage
!
LLVMWeakAnyLinkage
^LLVMWeakAnyLinkage
!
LLVMWeakODRLinkage
^LLVMWeakODRLinkage
! !
LLVMLinkage initialize!