LLVMAttribute.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 15 Sep 2016 22:14:32 +0100
changeset 79 6d6e5a3ec6b1
parent 37 0933f973bc22
permissions -rw-r--r--
llvm_c_ext: Updated to use `llvm::DINode::DIFlags` rather than just `unsigned`. Added new constantpool `LLVMDIFLags`

"
    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:#LLVMAttribute
	instanceVariableNames:''
	classVariableNames:'LLVMZExtAttribute LLVMSExtAttribute LLVMNoReturnAttribute
		LLVMInRegAttribute LLVMStructRetAttribute LLVMNoUnwindAttribute
		LLVMNoAliasAttribute LLVMByValAttribute LLVMNestAttribute
		LLVMReadNoneAttribute LLVMReadOnlyAttribute LLVMNoInlineAttribute
		LLVMAlwaysInlineAttribute LLVMOptimizeForSizeAttribute
		LLVMStackProtectAttribute LLVMStackProtectReqAttribute
		LLVMAlignment LLVMNoCaptureAttribute LLVMNoRedZoneAttribute
		LLVMNoImplicitFloatAttribute LLVMNakedAttribute
		LLVMInlineHintAttribute LLVMStackAlignment LLVMReturnsTwice
		LLVMUWTable LLVMNonLazyBind'
	poolDictionaries:''
	category:'LLVM-S-Core-Constants'
!

!LLVMAttribute 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.
"
! !

!LLVMAttribute class methodsFor:'initialization'!

initialize

    LLVMZExtAttribute := 1.
    LLVMSExtAttribute := 2.
    LLVMNoReturnAttribute := 4.
    LLVMInRegAttribute := 8.
    LLVMStructRetAttribute := 16.
    LLVMNoUnwindAttribute := 32.
    LLVMNoAliasAttribute := 64.
    LLVMByValAttribute := 128.
    LLVMNestAttribute := 256.
    LLVMReadNoneAttribute := 512.
    LLVMReadOnlyAttribute := 1024.
    LLVMNoInlineAttribute := 2048.
    LLVMAlwaysInlineAttribute := 4096.
    LLVMOptimizeForSizeAttribute := 8192.
    LLVMStackProtectAttribute := 16384.
    LLVMStackProtectReqAttribute := 32768.
    LLVMAlignment := 2031616.
    LLVMNoCaptureAttribute := 2097152.
    LLVMNoRedZoneAttribute := 4194304.
    LLVMNoImplicitFloatAttribute := 8388608.
    LLVMNakedAttribute := 16777216.
    LLVMInlineHintAttribute := 33554432.
    LLVMStackAlignment := 469762048.
    LLVMReturnsTwice := 536870912.
    LLVMUWTable := 1073741824.
    LLVMNonLazyBind := -2147483648.
! !

!LLVMAttribute class methodsFor:'constants'!

LLVMAlignment

    ^LLVMAlignment
!

LLVMAlwaysInlineAttribute

    ^LLVMAlwaysInlineAttribute
!

LLVMByValAttribute

    ^LLVMByValAttribute
!

LLVMInRegAttribute

    ^LLVMInRegAttribute
!

LLVMInlineHintAttribute

    ^LLVMInlineHintAttribute
!

LLVMNakedAttribute

    ^LLVMNakedAttribute
!

LLVMNestAttribute

    ^LLVMNestAttribute
!

LLVMNoAliasAttribute

    ^LLVMNoAliasAttribute
!

LLVMNoCaptureAttribute

    ^LLVMNoCaptureAttribute
!

LLVMNoImplicitFloatAttribute

    ^LLVMNoImplicitFloatAttribute
!

LLVMNoInlineAttribute

    ^LLVMNoInlineAttribute
!

LLVMNoRedZoneAttribute

    ^LLVMNoRedZoneAttribute
!

LLVMNoReturnAttribute

    ^LLVMNoReturnAttribute
!

LLVMNoUnwindAttribute

    ^LLVMNoUnwindAttribute
!

LLVMNonLazyBind

    ^LLVMNonLazyBind
!

LLVMOptimizeForSizeAttribute

    ^LLVMOptimizeForSizeAttribute
!

LLVMReadNoneAttribute

    ^LLVMReadNoneAttribute
!

LLVMReadOnlyAttribute

    ^LLVMReadOnlyAttribute
!

LLVMReturnsTwice

    ^LLVMReturnsTwice
!

LLVMSExtAttribute

    ^LLVMSExtAttribute
!

LLVMStackAlignment

    ^LLVMStackAlignment
!

LLVMStackProtectAttribute

    ^LLVMStackProtectAttribute
!

LLVMStackProtectReqAttribute

    ^LLVMStackProtectReqAttribute
!

LLVMStructRetAttribute

    ^LLVMStructRetAttribute
!

LLVMUWTable

    ^LLVMUWTable
!

LLVMZExtAttribute

    ^LLVMZExtAttribute
! !

!LLVMAttribute class methodsFor:'documentation'!

version_HG

    ^ '$Changeset: <not expanded> $'
! !


LLVMAttribute initialize!