Il s'agit de la commande lli-3.7 qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
lli - exécute directement des programmes à partir du bitcode LLVM
SYNOPSIS
lli [Options] [nom de fichier] [Programme args]
DESCRIPTION
lli exécute directement les programmes au format bitcode LLVM. Il faut un programme en bitcode LLVM
format et l'exécute à l'aide d'un compilateur juste-à-temps, s'il y en a un disponible pour le
architecture, ou un interprète. lli prend toutes les mêmes options de générateur de code que
llc|llc, mais ils ne sont efficaces que lorsque lli utilise le compilateur juste-à-temps.
If nom de fichier n'est pas spécifié, alors lli lit le bitcode LLVM du programme à partir de
entrée standard.
Le facultatif args spécifiés sur la ligne de commande sont passés au programme en tant qu'arguments.
GÉNÉRAL OPTIONS
-faux-argv0=exécutable
Remplacer le arg[0] valeur transmise au programme d'exécution.
-force-interprète={faux vrai}
Si défini sur true, utilisez l'interpréteur même si un compilateur juste-à-temps est disponible pour
cette architecture. La valeur par défaut est false.
-Aide
Imprimez un résumé des options de la ligne de commande.
-charge=nomfichier plugin
Causes lli pour charger le plugin (objet partagé) nommé nomfichier plugin et utilisez-le pour
optimisation.
-Statistiques
Imprimer les statistiques des passes de génération de code. Ceci n'a de sens que pour le
compilateur juste-à-temps, à l'heure actuelle.
-le temps passe
Enregistrez le temps nécessaire pour chaque passe de génération de code et imprimez-le en standard
Erreur.
-version
Imprimez la version de lli et quittez sans rien faire d'autre.
CIBLE OPTIONS
- triple=l'objectif triple
Remplacer le triple cible spécifié dans le fichier de bitcode d'entrée avec le spécifié
chaîne de caractères. Cela peut entraîner un plantage si vous choisissez une architecture qui n'est pas compatible
avec le système actuel.
-Mars=arche
Spécifiez l'architecture pour laquelle générer l'assembly, en remplaçant la cible encodée
dans le fichier bitcode. Voir la sortie de llc -Aide pour une liste des architectures valides.
Par défaut, cela est déduit du triple cible ou détecté automatiquement par rapport au courant
architecture.
-mcpu=nom_cpu
Spécifiez une puce spécifique dans l'architecture actuelle pour laquelle générer le code. Par défaut
ceci est déduit du triplet cible et détecté automatiquement dans l'architecture actuelle.
Pour obtenir la liste des processeurs disponibles, utilisez : llvm-as < / dev / null | llc -mars=xyz -mcpu=aide
-mattr=a1,+a2,-a3,...
Remplacer ou contrôler les attributs spécifiques de la cible, par exemple si les opérations SIMD
sont activés ou non. L'ensemble d'attributs par défaut est défini par la CPU actuelle. Pour un
liste des attributs disponibles, utilisez : llvm-as < / dev / null | llc -mars=xyz -mattr=aide
FLOTTANT POINT OPTIONS
-désactiver-l'excès-de-précision-fp
Désactivez les optimisations qui peuvent augmenter la précision en virgule flottante.
-enable-no-infs-fp-math
Activez les optimisations qui ne supposent aucune valeur Inf.
-activer-no-nans-fp-math
Activez les optimisations qui ne supposent aucune valeur NAN.
-activer-unsafe-fp-math
Causes lli pour permettre des optimisations qui peuvent diminuer la précision en virgule flottante.
-flotteur-doux
Causes lli pour générer des appels de bibliothèque à virgule flottante logicielle au lieu d'équivalents
instructions matérielles.
CODE GÉNÉRATION OPTIONS
-code-modèle=modèle
Choisissez le modèle de code parmi :
par défaut : modèle de code par défaut cible
petit : petit modèle de code
kernel : modèle de code de noyau
moyen : modèle de code moyen
large : modèle de code large
-désactiver le planificateur post-RA
Désactiver la planification après l'allocation des registres.
-désactiver-déversement-fusion
Désactivez la fusion du code de déversement dans les instructions.
-jit-activer-eh
La gestion des exceptions doit être activée dans le compilateur juste-à-temps.
-join-liveintervals
Fusionner les copies (par défaut=true).
-nozero-initialisé-en-bss Ne placez pas de symboles initialisés à zéro dans la section BSS.
-pré-RA-sched=ordonnanceur
Planificateurs d'instructions disponibles (avant attribution des registres) :
= par défaut : meilleur ordonnanceur pour la cible
= aucun : pas de planification : séquençage en largeur d'abord
=simple : planification simple en deux passes : minimiser le chemin critique et maximiser l'utilisation du processeur
=simple-noitin : Ordonnancement simple à deux passes : Identique à simple sauf en utilisant la latence générique
=list-burr : Ordonnancement ascendant de liste de réduction de registre
=list-tdrr : Ordonnancement de liste de réduction de registre de haut en bas
=list-td : planificateur de liste descendante -print-machineinstrs - Imprimer le code machine généré
-regalloc=répartiteur
Enregistrer l'allocateur à utiliser (par défaut = linearscan)
=bigblock : allocateur de registres à gros blocs
=linearscan : allocateur de registre à balayage linéaire =local - allocateur de registre local
=simple : allocateur de registre simple
-modèle-de-relocalisation=modèle
Choisissez le modèle de déménagement parmi :
=default : Cibler le modèle de relocalisation par défaut
=static : code non déplaçable =pic - Entièrement déplaçable, code indépendant de la position
=dynamic-no-pic : références externes déplaçables, code non déplaçable
-déversement
Spiller à utiliser (par défaut=local)
=simple : simple déversement
=local : déverseur local
-x86-asm-syntaxe=syntaxe
Choisissez le style de code à émettre à partir du backend X86 :
=att : émettre un assemblage de style AT&T
= intel : émission d'un assemblage de style Intel
EXIT STATUT
If lli ne parvient pas à charger le programme, il se terminera avec un code de sortie de 1. Sinon, il
renvoie le code de sortie du programme qu'il exécute.
Utilisez lli-3.7 en ligne à l'aide des services onworks.net