Section courante

A propos

Section administrative du site

alloca

Allocation
LLVM

Syntaxe

result = alloca [inalloca] type [, ty NumElements] [, align alignment] [, addrspace(num)]

Paramètres

Nom Description
type Ce paramètre permet d'indiquer le type des éléments à allouer. C'est généralement le type de la variable (exemple i32, %struct.Foo*,...).
inalloca Ce paramètre permet d'indiquer que la mémoire allouée est destinée à être passée directement à un appel de fonction via inalloca. Elle ne peut pas être libérée et a une sémantique spéciale utilisée notamment pour la compatibilité avec certains appels Windows.
NumElements Ce paramètre permet d'allouer dynamiquement un tableau de NumElements éléments de type. Le type de cette valeur doit être un entier (i32, i64,...). Par défaut, s'il est omis, un seul élément est alloué.
alignment Ce paramètre permet d'indiquer l'alignement mémoire souhaité pour l'allocation. Si omis, l'alignement par défaut du type est utilisé.
num Ce paramètre permet d'indiquer dans quel espace d'adressage allouer la mémoire. Par défaut, c'est l'espace d'adressage 0 (la mémoire ordinaire). Peut être utile pour des architectures ciblées avec plusieurs espaces mémoire.

Description

Cette instruction permet d'allouer de la mémoire dans le cadre de la pile de la fonction en cours d'exécution, étant automatiquement libérée lorsque cette fonction reviendra à son appelant.



Dernière mise à jour : Jeudi, le 13 juin 2019