lli-3.7 — Online w chmurze

To jest polecenie lli-3.7, które można uruchomić w bezpłatnym dostawcy hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu MAC OS

PROGRAM:

IMIĘ


lli - bezpośrednio wykonuj programy z kodu bitowego LLVM

STRESZCZENIE


lli [Opcje] [filename] [program args]

OPIS


lli bezpośrednio wykonuje programy w formacie kodu bitowego LLVM. Wymaga programu w kodzie bitowym LLVM
format i wykonuje go przy użyciu kompilatora just-in-time, jeśli jest on dostępny dla bieżącego
architektury lub tłumacza. lli pobiera wszystkie te same opcje generatora kodu, co
llc|llc, ale są skuteczne tylko wtedy, gdy lli używa kompilatora just-in-time.

If filename nie jest określony, to lli odczytuje kod bitowy LLVM programu z
standardowe wejście.

Opcjonalne args określone w wierszu poleceń są przekazywane do programu jako argumenty.

GENERAŁ OPCJE


-fałszywy-argv0=plik wykonywalny
Zastąp argument[0] wartość przekazywana do wykonującego programu.

-tłumacz siły={fałsz PRAWDA}
Jeśli ustawione na true, użyj interpretera, nawet jeśli dostępny jest kompilator just-in-time
tę architekturę. Domyślnie jest to fałsz.

-Pomoc
Wydrukuj podsumowanie opcji wiersza poleceń.

-obciążenie=nazwapliku wtyczki
Rozwiązania lli aby załadować wtyczkę (obiekt współdzielony) o nazwie nazwapliku wtyczki i używaj go do
optymalizacja.

-statystyki
Drukuj statystyki z przebiegów generowania kodu. Ma to znaczenie tylko dla
kompilator just-in-time, obecnie.

-czas mija
Zapisz czas potrzebny na wykonanie każdego przebiegu generowania kodu i wydrukuj go w standardzie
Błąd.

-wersja
Wydrukuj wersję lli i wyjdź, nie robiąc nic więcej.

TARGET OPCJE


-mpotrójny=cel potrójny
Zastąp docelową trójkę określoną w wejściowym pliku kodu bitowego określonym
strunowy. Może to spowodować awarię, jeśli wybierzesz architekturę, która nie jest kompatybilna
z obecnym systemem.

-Marsz=łuk
Określ architekturę, dla której ma zostać wygenerowany zestaw, zastępując kodowanie docelowe
w pliku bitcode. Zobacz wyjście llc -Pomoc aby uzyskać listę prawidłowych architektur.
Domyślnie jest to wywnioskowane z potrójnej wartości docelowej lub automatycznie wykryte na podstawie prądu
architektura.

-mcpu=nazwa procesora
Określ konkretny układ w bieżącej architekturze, dla którego chcesz wygenerować kod. Domyślnie
jest to wywnioskowane z docelowej trójki i automatycznie wykryte na podstawie bieżącej architektury.
Aby uzyskać listę dostępnych procesorów, użyj: llvm-as < / dev / null | llc -marzec=xyz -mcpu=pomoc

-matr=a1,+a2,-a3,...
Zastąp lub kontroluj określone atrybuty celu, takie jak operacje SIMD
są włączone, czy nie. Domyślny zestaw atrybutów jest ustawiany przez bieżący procesor. Dla
listę dostępnych atrybutów, użyj: llvm-as < / dev / null | llc -marzec=xyz -mattr=pomoc

RUCHOMY PUNKTY OPCJE


-wyłącz-nadmierną-precyzję-fp
Wyłącz optymalizacje, które mogą zwiększyć precyzję zmiennoprzecinkową.

-włącz-no-infs-fp-math
Włącz optymalizacje, które nie przyjmują wartości Inf.

-włącz-no-nans-fp-math
Włącz optymalizacje, które nie przyjmują wartości NAN.

-enable-unsafe-fp-matematyka
Rozwiązania lli aby umożliwić optymalizacje, które mogą zmniejszyć precyzję zmiennoprzecinkową.

-miękki pływak
Rozwiązania lli do generowania wywołań programowych bibliotek zmiennoprzecinkowych zamiast ich odpowiedników
instrukcje sprzętowe.

KOD GENERACJA OPCJE


-model-kodu=model
Wybierz model kodu spośród:

default: Docelowy domyślny model kodu
mały: Model małego kodu
jądro: model kodu jądra
średni: średni model kodu
duży: model z dużym kodem

-wyłącz-po-RA-scheduler
Wyłącz planowanie po alokacji rejestru.

-wyłącz-utrwalanie-rozlania
Wyłącz łączenie kodu wycieku w instrukcje.

-jit-włącz-eh
W kompilatorze just-in-time należy włączyć obsługę wyjątków.

-dołącz-interwały na żywo
Połącz kopie (domyślnie = prawda).

-nozero-inicjowane-w-bss Nie umieszczaj symboli inicjowanych zerem w sekcji BSS.

-przed-RA-sched=planista
Dostępne harmonogramy instrukcji (przed alokacją rejestru):

=domyślnie: Najlepszy harmonogram dla celu
=none: Brak planowania: sekwencjonowanie wszerz
=simple: Proste planowanie dwuprzebiegowe: minimalizacja ścieżki krytycznej i maksymalizacja wykorzystania procesora
=simple-noitin: Proste planowanie dwuprzebiegowe: To samo co proste, z tą różnicą, że używa się ogólnego opóźnienia
=list-burr: Planowanie listy redukcji rejestrów od dołu do góry
=list-tdrr: Planowanie listy redukcji rejestrów z góry na dół
=list-td: Harmonogram listy z góry na dół -print-machineinstrs - Drukuje wygenerowany kod maszynowy

-regallok=alokator
Zarejestruj alokator do użycia (domyślnie=linearscan)

=bigblock: Alokator rejestrów z dużym blokiem
=linearscan: alokator rejestru skanowania liniowego =local - lokalny alokator rejestrów
=simple: prosty alokator rejestrów

-model relokacji=model
Wybierz model relokacji spośród:

=default: Docelowy domyślny model relokacji
=static: Kod nierelokowalny =pic - Kod w pełni relokowalny, niezależny od pozycji
=dynamic-no-pic: Odniesienia zewnętrzne, które można przenosić, kod, którego nie można przenieść

-rozlewacz
Rozlewacz do użycia (domyślnie=lokalny)

=prosty: prosty rozlewacz
=lokalny: lokalny rozlewacz

-x86-asm-składnia=składnia
Wybierz styl kodu, który ma być emitowany z backendu X86:

=att: Emituj montaż w stylu AT&T
=intel: Emituj zestaw w stylu Intela

EXIT STATUS


If lli nie załaduje programu, zakończy działanie z kodem wyjścia 1. W przeciwnym razie tak się stanie
zwrócić kod zakończenia programu, który wykonuje.

Użyj lli-3.7 online, korzystając z usług onworks.net



Najnowsze programy online dla systemów Linux i Windows