LLVMIRLanguageFrontend

class LLVMIRLanguageFrontend(config: TranslationConfiguration, scopeManager: ScopeManager?) : LanguageFrontend

Constructors

Link copied to clipboard
fun LLVMIRLanguageFrontend(config: TranslationConfiguration, scopeManager: ScopeManager?)

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard
open fun cleanup()
Link copied to clipboard
open fun clearProcessed()
Link copied to clipboard
open override fun <T> getCodeFromRawNode(astNode: T): String?
Link copied to clipboard
open fun getCodeOfSubregion(p0: Node, p1: Region, p2: Region): String
Link copied to clipboard
open fun getConfig(): TranslationConfiguration
Link copied to clipboard
open fun getCurrentTU(): TranslationUnitDeclaration
Link copied to clipboard
open override fun <T> getLocationFromRawNode(astNode: T): PhysicalLocation?
Link copied to clipboard
fun getNameOf(valueRef: LLVMValueRef): Pair<String, String>

Returns a pair of the name and symbol name of valueRef.

Link copied to clipboard
open fun getNewLineType(p0: Node): String
Link copied to clipboard
fun getOperandValueAtIndex(instr: LLVMValueRef, idx: Int): Expression
Link copied to clipboard
@NotNull
open fun getScopeManager(): @NotNull ScopeManager
Link copied to clipboard
fun guessSlotNumber(valueRef: LLVMValueRef): String
Link copied to clipboard

Determines if a struct with name exists in the scope.

Link copied to clipboard
open fun mergeRegions(p0: Region, p1: Region): Region
Link copied to clipboard
open override fun parse(file: File): TranslationUnitDeclaration
Link copied to clipboard
open fun parseAll(): MutableList<TranslationUnitDeclaration>
Link copied to clipboard
open fun process(p0: Any, p1: Any)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun <N : Any, S : Any> setCodeAndRegion(@NotNull p0: @NotNull N, @Nullable p1: @Nullable S?)
Link copied to clipboard
open override fun <S, T> setComment(s: S, ctx: T)
Link copied to clipboard
open fun setCurrentTU(p0: TranslationUnitDeclaration)
Link copied to clipboard
open fun setScopeManager(@NotNull p0: @NotNull ScopeManager)
Link copied to clipboard
fun typeOf(valueRef: LLVMValueRef): Type

Properties

Link copied to clipboard
var bindingsCache: MutableMap<String, Declaration>

This contains a cache binding between an LLVMValueRef (representing a variable) and its Declaration in the graph. We need this, because this way we can look up and connect a DeclaredReferenceExpression to its Declaration already in the language frontend. This in turn is needed because of the local/global system we cannot rely on the VariableUsageResolver.

Link copied to clipboard
var ctx: LLVMContextRef? = null
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val phiList: MutableList<LLVMValueRef>
Link copied to clipboard
Link copied to clipboard