LLVMOpcode.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 17 Sep 2015 17:17:56 +0100
changeset 42 23ae490859cd
parent 33 feabf14b6c1d
permissions -rw-r--r--
Fixed LLVMExamples>>example7_factorial_with_debug_info Pass DIFile instead of DICompileUnit to #createTypeFunctionIn:parameterTypes: Fixed #createParameterVariable: - parameters are numbered starting with 1.

"
    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:#LLVMOpcode
	instanceVariableNames:''
	classVariableNames:'LLVMRet LLVMBr LLVMSwitch LLVMIndirectBr LLVMInvoke
		LLVMUnreachable LLVMAdd LLVMFAdd LLVMSub LLVMFSub LLVMMul
		LLVMFMul LLVMUDiv LLVMSDiv LLVMFDiv LLVMURem LLVMSRem LLVMFRem
		LLVMShl LLVMLShr LLVMAShr LLVMAnd LLVMOr LLVMXor LLVMAlloca
		LLVMLoad LLVMStore LLVMGetElementPtr LLVMTrunc LLVMZExt LLVMSExt
		LLVMFPToUI LLVMFPToSI LLVMUIToFP LLVMSIToFP LLVMFPTrunc LLVMFPExt
		LLVMPtrToInt LLVMIntToPtr LLVMBitCast LLVMAddrSpaceCast LLVMICmp
		LLVMFCmp LLVMPHI LLVMCall LLVMSelect LLVMUserOp1 LLVMUserOp2
		LLVMVAArg LLVMExtractElement LLVMInsertElement LLVMShuffleVector
		LLVMExtractValue LLVMInsertValue LLVMFence LLVMAtomicCmpXchg
		LLVMAtomicRMW LLVMResume LLVMLandingPad LLVMCleanupRet
		LLVMCatchRet LLVMCatchPad LLVMTerminatePad LLVMCleanupPad
		LLVMCatchEndPad'
	poolDictionaries:''
	category:'LLVM-S-Core-Constants'
!

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

!LLVMOpcode class methodsFor:'initialization'!

initialize

    LLVMRet := 1.
    LLVMBr := 2.
    LLVMSwitch := 3.
    LLVMIndirectBr := 4.
    LLVMInvoke := 5.
    LLVMUnreachable := 7.
    LLVMAdd := 8.
    LLVMFAdd := 9.
    LLVMSub := 10.
    LLVMFSub := 11.
    LLVMMul := 12.
    LLVMFMul := 13.
    LLVMUDiv := 14.
    LLVMSDiv := 15.
    LLVMFDiv := 16.
    LLVMURem := 17.
    LLVMSRem := 18.
    LLVMFRem := 19.
    LLVMShl := 20.
    LLVMLShr := 21.
    LLVMAShr := 22.
    LLVMAnd := 23.
    LLVMOr := 24.
    LLVMXor := 25.
    LLVMAlloca := 26.
    LLVMLoad := 27.
    LLVMStore := 28.
    LLVMGetElementPtr := 29.
    LLVMTrunc := 30.
    LLVMZExt := 31.
    LLVMSExt := 32.
    LLVMFPToUI := 33.
    LLVMFPToSI := 34.
    LLVMUIToFP := 35.
    LLVMSIToFP := 36.
    LLVMFPTrunc := 37.
    LLVMFPExt := 38.
    LLVMPtrToInt := 39.
    LLVMIntToPtr := 40.
    LLVMBitCast := 41.
    LLVMAddrSpaceCast := 60.
    LLVMICmp := 42.
    LLVMFCmp := 43.
    LLVMPHI := 44.
    LLVMCall := 45.
    LLVMSelect := 46.
    LLVMUserOp1 := 47.
    LLVMUserOp2 := 48.
    LLVMVAArg := 49.
    LLVMExtractElement := 50.
    LLVMInsertElement := 51.
    LLVMShuffleVector := 52.
    LLVMExtractValue := 53.
    LLVMInsertValue := 54.
    LLVMFence := 55.
    LLVMAtomicCmpXchg := 56.
    LLVMAtomicRMW := 57.
    LLVMResume := 58.
    LLVMLandingPad := 59.
    LLVMCleanupRet := 61.
    LLVMCatchRet := 62.
    LLVMCatchPad := 63.
    LLVMTerminatePad := 64.
    LLVMCleanupPad := 65.
    LLVMCatchEndPad := 66.
! !

!LLVMOpcode class methodsFor:'constants'!

LLVMAShr

    ^LLVMAShr
!

LLVMAdd

    ^LLVMAdd
!

LLVMAddrSpaceCast

    ^LLVMAddrSpaceCast
!

LLVMAlloca

    ^LLVMAlloca
!

LLVMAnd

    ^LLVMAnd
!

LLVMAtomicCmpXchg

    ^LLVMAtomicCmpXchg
!

LLVMAtomicRMW

    ^LLVMAtomicRMW
!

LLVMBitCast

    ^LLVMBitCast
!

LLVMBr

    ^LLVMBr
!

LLVMCall

    ^LLVMCall
!

LLVMCatchEndPad

    ^LLVMCatchEndPad
!

LLVMCatchPad

    ^LLVMCatchPad
!

LLVMCatchRet

    ^LLVMCatchRet
!

LLVMCleanupPad

    ^LLVMCleanupPad
!

LLVMCleanupRet

    ^LLVMCleanupRet
!

LLVMExtractElement

    ^LLVMExtractElement
!

LLVMExtractValue

    ^LLVMExtractValue
!

LLVMFAdd

    ^LLVMFAdd
!

LLVMFCmp

    ^LLVMFCmp
!

LLVMFDiv

    ^LLVMFDiv
!

LLVMFMul

    ^LLVMFMul
!

LLVMFPExt

    ^LLVMFPExt
!

LLVMFPToSI

    ^LLVMFPToSI
!

LLVMFPToUI

    ^LLVMFPToUI
!

LLVMFPTrunc

    ^LLVMFPTrunc
!

LLVMFRem

    ^LLVMFRem
!

LLVMFSub

    ^LLVMFSub
!

LLVMFence

    ^LLVMFence
!

LLVMGetElementPtr

    ^LLVMGetElementPtr
!

LLVMICmp

    ^LLVMICmp
!

LLVMIndirectBr

    ^LLVMIndirectBr
!

LLVMInsertElement

    ^LLVMInsertElement
!

LLVMInsertValue

    ^LLVMInsertValue
!

LLVMIntToPtr

    ^LLVMIntToPtr
!

LLVMInvoke

    ^LLVMInvoke
!

LLVMLShr

    ^LLVMLShr
!

LLVMLandingPad

    ^LLVMLandingPad
!

LLVMLoad

    ^LLVMLoad
!

LLVMMul

    ^LLVMMul
!

LLVMOr

    ^LLVMOr
!

LLVMPHI

    ^LLVMPHI
!

LLVMPtrToInt

    ^LLVMPtrToInt
!

LLVMResume

    ^LLVMResume
!

LLVMRet

    ^LLVMRet
!

LLVMSDiv

    ^LLVMSDiv
!

LLVMSExt

    ^LLVMSExt
!

LLVMSIToFP

    ^LLVMSIToFP
!

LLVMSRem

    ^LLVMSRem
!

LLVMSelect

    ^LLVMSelect
!

LLVMShl

    ^LLVMShl
!

LLVMShuffleVector

    ^LLVMShuffleVector
!

LLVMStore

    ^LLVMStore
!

LLVMSub

    ^LLVMSub
!

LLVMSwitch

    ^LLVMSwitch
!

LLVMTerminatePad

    ^LLVMTerminatePad
!

LLVMTrunc

    ^LLVMTrunc
!

LLVMUDiv

    ^LLVMUDiv
!

LLVMUIToFP

    ^LLVMUIToFP
!

LLVMURem

    ^LLVMURem
!

LLVMUnreachable

    ^LLVMUnreachable
!

LLVMUserOp1

    ^LLVMUserOp1
!

LLVMUserOp2

    ^LLVMUserOp2
!

LLVMVAArg

    ^LLVMVAArg
!

LLVMXor

    ^LLVMXor
!

LLVMZExt

    ^LLVMZExt
! !

!LLVMOpcode class methodsFor:'documentation'!

version_HG

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


LLVMOpcode initialize!