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.5 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
mevcut için mevcutsa, tam zamanında bir derleyici kullanarak biçimlendirir ve yürütür.
mimari veya bir tercüman. lli ile aynı kod üreteci seçeneklerinin tümünü alır
llc|llc, ancak yalnızca şu durumlarda etkilidirler: lli tam zamanında derleyici kullanıyor.
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
-sahte-argv0=çalıştırılabilir
Geçersiz kıl argüman[0] çalışan programa iletilen değer.
-kuvvet-tercüman={yanlış doğru}
true olarak ayarlanırsa, tam zamanında bir derleyici mevcut olsa bile yorumlayıcıyı kullanın.
bu mimari. Varsayılan olarak false olur.
-Yardım
Komut satırı seçeneklerinin bir özetini yazdırın.
-yük=eklenti dosya 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 standart olarak yazdırın
hata.
-version
sürümünü yazdır lli ve başka bir şey yapmadan çıkın.
HEDEF SEÇENEKLER
-müçlü=hedef üçlü
Girdi bit kodu dosyasında belirtilen hedef üçlüyü belirtilen
sicim. Uyumlu olmayan bir mimari seçerseniz bu, çökmeye neden olabilir.
mevcut sistemle.
-Mart=kemer
Kodlanmış hedefi geçersiz kılarak derleme oluşturulacak mimariyi belirtin
bit kodu dosyasında. çıktısını görmek llc -Yardım geçerli mimarilerin bir listesi için.
Varsayılan olarak bu, hedef üçlüden çıkarılır veya mevcut duruma göre otomatik olarak algılanır.
mimari.
-mcpu=işlemci adı
Geçerli mimaride kod oluşturmak için belirli bir yonga belirtin. Varsayılan olarak
bu, hedef üçlüden çıkarılır ve mevcut mimariye göre otomatik olarak algılanır.
Kullanılabilir CPU'ların listesi için şunu kullanın: llvm-as < / Dev / null | llc -mart=xyz -mcpu=yardım
-mat=a1,+a2,-a3,...
SIMD işlemlerinin yapılıp yapılmadığı gibi hedefin belirli özelliklerini geçersiz kılma veya kontrol etme
etkinleştirilir veya etkinleştirilmez. Varsayılan öznitelikler kümesi, geçerli CPU tarafından belirlenir. için
mevcut özelliklerin listesi, ş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.
-ön-RA-zamanlanmış=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=tahsisatçı
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.5'i çevrimiçi kullanın