Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen lli-3.8 komutudur.
Program:
ADI
lli - programları doğrudan LLVM bit kodundan yürütür
SİNOPSİS
lli [seçenekleri] [Dosya] [program args]
TANIM
lli programları doğrudan LLVM bit kodu biçiminde yürütür. LLVM bit kodunda bir program alır
biçimlendirir ve tam zamanında derleyici veya yorumlayıcı kullanarak yürütür.
lli is değil bir emülatör. Farklı mimarilerin IR'sini yürütmez ve yalnızca
ana bilgisayar mimarisi için yorumlayın (veya JIT-derleyin).
JIT derleyicisi, aşağıdaki gibi diğer araçlarla aynı argümanları alır: llc, ama yapmazlar
mutlaka tercüman için çalışır.
If Dosya o zaman belirtilmemiş lli program için LLVM bit kodunu okur
standart girdi.
İsteğe bağlı args komut satırında belirtilenler programa argüman olarak iletilir.
GENEL SEÇENEKLER
-fake-argv0=çalıştırılabilir
Geçersiz kıl argüman[0] çalışan programa iletilen değer.
-force-yorumlayıcı={yanlış,doğru}
true olarak ayarlanırsa, tam zamanında derleyici mevcut olsa bile yorumlayıcıyı kullanın
bu mimari için. Varsayılan olarak false olur.
-Yardım Komut satırı seçeneklerinin bir özetini yazdırın.
-load=eklentidosya adı
Bilgiler lli adlı eklentiyi (paylaşılan nesne) yüklemek için eklenti dosya adı ve için kullan
optimizasyonu.
-istatistikler Kod oluşturma geçişlerinden istatistikleri yazdırın. Bu sadece şu an için anlamlıdır.
şu anda tam zamanında derleyici.
-zaman geçer
Her kod oluşturma geçişi için gereken süreyi kaydedin ve yazdırın.
standart hata.
-version
sürümünü yazdır lli ve başka bir şey yapmadan çıkın.
HEDEF SEÇENEKLER
-mtriple=hedef üçlü
Girdi bit kodu dosyasında belirtilen hedef üçlüyü belirtilen
sicim. olmayan bir mimari seçerseniz bu bir çökmeye neden olabilir.
mevcut sistemle uyumludur.
-mart=kemer
Hedefi geçersiz kılarak derleme oluşturulacak mimariyi belirtin
bit kodu dosyasında kodlanmıştır. çıktısını görmek llc -Yardım geçerli bir liste için
mimariler. Varsayılan olarak bu, hedef üçlüden çıkarılır veya otomatik olarak algılanır
mevcut mimariye.
-mcpu=cpuadı
Geçerli mimaride kod oluşturmak için belirli bir yonga belirtin. Tarafından
varsayılan bu, hedef üçlüden çıkarılır ve mevcut duruma göre otomatik olarak algılanır
mimari. Kullanılabilir CPU'ların listesi için şunu kullanın: llvm-as < / Dev / null | llc
-mart=xyz -mcpu=yardım
-matr=a1,+a2,-a3,...
SIMD olup olmadığı gibi hedefin belirli özelliklerini geçersiz kılın veya kontrol edin.
işlemler etkinleştirilir veya etkinleştirilmez. Varsayılan öznitelikler kümesi, geçerli
İŞLEMCİ. Kullanılabilir özelliklerin bir listesi için şunu kullanın: llvm-as < / Dev / null | llc -mart=xyz
-mattr=yardım
YÜZER POINT SEÇENEKLER
-devre dışı-fazla-fp-hassasiyeti
Kayan nokta hassasiyetini artırabilecek optimizasyonları devre dışı bırakın.
-enable-no-infs-fp-matematiği
Hiçbir Inf değeri olmayan optimizasyonları etkinleştirin.
-enable-no-nans-fp-matematiği
NAN değeri olmayan optimizasyonları etkinleştirin.
-enable-güvensiz-fp-matematiği
Bilgiler lli kayan nokta hassasiyetini azaltabilecek optimizasyonları etkinleştirmek için.
-yumuşak şamandıra
Bilgiler lli eşdeğer yerine yazılım kayan nokta kitaplığı çağrıları oluşturmak için
donanım talimatları.
KOD ÜRETİMİ SEÇENEKLER
-kod-modeli=model
Aşağıdakilerden kod modelini seçin:
varsayılan: Varsayılan kod modelini hedefleyin
küçük: Küçük kod modeli
çekirdek: Çekirdek kod modeli
orta: Orta kod modeli
büyük: Büyük kod modeli
-RA sonrası zamanlayıcıyı devre dışı bırak
Kayıt tahsisinden sonra zamanlamayı devre dışı bırakın.
-devre dışı bırak-dökülme-kaynaştırıcı
Dökülme kodunun talimatlara kaynaşmasını devre dışı bırakın.
-jit-etkin-eh
Tam zamanında derleyicide özel durum işleme etkinleştirilmelidir.
-canlı aralıklara katılma
Kopyaları birleştir (varsayılan=true).
-nozero-başlatılan-in-bss
BSS bölümüne sıfır başlatılmış semboller yerleştirmeyin.
-RA-öncesi-programı=zamanlayıcı
Mevcut talimat planlayıcıları (kayıt tahsisinden önce):
=varsayılan: Hedef için en iyi planlayıcı
=yok: Planlama yok: genişlik ilk sıralama
=basit: Basit iki geçişli zamanlama: kritik yolu en aza indirin ve işlemci kullanımını en üst düzeye çıkarın
=simple-noitin: Basit iki geçişli zamanlama: Genel gecikme kullanımı dışında basit ile aynı
=list-burr: Aşağıdan yukarıya kayıt azaltma listesi zamanlaması
=list-tdrr: Yukarıdan aşağıya kayıt azaltma listesi zamanlaması
=list-td: Yukarıdan aşağıya liste zamanlayıcı -print-machineinstrs - Oluşturulan makine kodunu yazdır
-regalloc=ayırıcı
Kullanılacak ayırıcıyı kaydedin (varsayılan=doğrusal tarama)
=bigblock: Büyük blok kayıt ayırıcı
=doğrusal tarama: doğrusal tarama kayıt ayırıcısı =yerel - yerel kayıt ayırıcı
=basit: basit kayıt ayırıcı
-yer değiştirme-modeli=model
Aşağıdakilerden yer değiştirme modelini seçin:
=varsayılan: Varsayılan yer değiştirme modelini hedefleyin
=statik: Yeri değiştirilemez kod =resim - Tamamen yeniden yerleştirilebilir, konumdan bağımsız kod
=dinamik-no-pic: Yeri değiştirilebilen harici referanslar, yeri değiştirilemeyen kod
-saçıcı
Kullanılacak Spiller (varsayılan=yerel)
=basit: basit dökücü
=yerel: yerel dökülen
-x86-asm-sözdizimi=sözdizimi
X86 arka ucundan yayılacak kod stilini seçin:
=att: AT&T tarzı montaj yayar
=intel: Intel tarzı derleme yayar
EXIT DURUMU
If lli programı yükleyemezse, 1 çıkış koduyla çıkacaktır. Aksi takdirde,
yürüttüğü programın çıkış kodunu döndürür.
onworks.net hizmetlerini kullanarak lli-3.8'i çevrimiçi kullanın