| Nom |
Description |
| volatile |
Ce paramètre permet d'indiquer que l'instruction store accède à la mémoire de manière volatile. Cela signifie que la valeur entreposée peut changer à tout moment (par exemple, à cause de l'architecture matérielle, des entrées/sorties, ou des interruptions). LLVM ne tentera pas d'optimiser cette instruction. |
| ty |
Ce paramètre permet d'indiquer le type de la valeur à entreposer (par exemple, i32, float,...). |
| value |
Ce paramètre permet d'indiquer la valeur à entreposer dans la mémoire. Il s'agit de l'opérande que vous souhaitez écrire dans la mémoire cible. |
| pointer |
Ce paramètre permet d'indiquer l'adresse mémoire dans laquelle la valeur value doit être entreposée. Il s'agit d'un pointeur vers un emplacement mémoire de type ty. |
| alignment |
Ce paramètre permet d'effectuer l'alignement spécifié du nombre d'octets sur lesquels la valeur doit être alignée en mémoire. Ce paramètre optimise les accès mémoire en fonction des contraintes d'alignement du système. |
| !nontemporal !index |
Ce paramètre permet d'indiquer qu'une valeur ne doit pas être stockée dans un cache (c'est-à-dire qu'il s'agit d'une opération non temporelle). Ce type d'opération peut être utilisé dans des systèmes où l'on veut minimiser l'impact sur le cache. |
| !invariant.group !index |
Ce paramètre permet de marquer que la mémoire à cet emplacement particulier est invariante, ce qui signifie que la valeur ne change pas entre les accès. Cela peut aider les optimisations. |
| atomic |
Ce paramètre permet d'indiquer que l'instruction store est atomique, ce qui signifie que l'accès à la mémoire est garanti pour être indivisible. Aucune autre opération de mémoire ne peut interférer avec cette instruction. |
| target-scope |
Ce paramètre permet de définir la portée de synchronisation de l'instruction atomique, ce qui permet de contrôler comment les autres processus légers ou processus
peuvent interagir avec cette instruction. Par exemple, vous pouvez spécifier une portée comme "global" ou "thread", selon les besoins de votre programme. |
| ordering |
Ce paramètre permet d'indiquer l'ordre des opérations atomiques sur la mémoire. Cela peut être l'un des suivants : monotonic, acquire, release, acq_rel, sequentially_consistent. Ce paramètre contrôle l'ordre dans lequel les opérations de mémoire sont effectuées dans un environnement multithreadé. |
Cette instruction permet d'effectuer l'écriture vers la mémoire.