นี่คือคำสั่ง lli-3.8 ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
lli - รันโปรแกรมโดยตรงจาก LLVM bitcode
เรื่องย่อ
LLI [ตัวเลือก] [ชื่อไฟล์] [โครงการ args]
DESCRIPTION
LLI รันโปรแกรมโดยตรงในรูปแบบบิตโค้ด LLVM ต้องใช้โปรแกรมใน LLVM bitcode
จัดรูปแบบและดำเนินการโดยใช้คอมไพเลอร์แบบทันเวลาพอดีหรือล่าม
LLI is ไม่ โปรแกรมจำลอง มันจะไม่รัน IR ของสถาปัตยกรรมที่แตกต่างกันและสามารถทำได้เท่านั้น
แปล (หรือคอมไพล์ JIT) สำหรับสถาปัตยกรรมโฮสต์
คอมไพเลอร์ JIT ใช้อาร์กิวเมนต์เดียวกันกับเครื่องมืออื่นๆ เช่น LLCแต่พวกเขาไม่ได้
จำเป็นต้องทำงานให้กับล่าม
If ชื่อไฟล์ ไม่ได้ระบุไว้แล้ว LLI อ่านบิตโค้ด LLVM สำหรับโปรแกรมจาก
อินพุตมาตรฐาน
ตัวเลือก args ที่ระบุในบรรทัดคำสั่งจะถูกส่งไปยังโปรแกรมเป็นอาร์กิวเมนต์
ทั่วไป OPTIONS
-fake-argv0=ปฏิบัติการได้
แทนที่ อาร์กวี[0] ค่าที่ส่งผ่านไปยังโปรแกรมดำเนินการ
-force-interpreter={เท็จจริง}
หากตั้งค่าเป็น true ให้ใช้ล่ามแม้ว่าคอมไพเลอร์แบบทันเวลาจะพร้อมใช้งาน
สำหรับสถาปัตยกรรมนี้ ค่าเริ่มต้นเป็นเท็จ
-ช่วยด้วย พิมพ์สรุปตัวเลือกบรรทัดคำสั่ง
-load=pluginชื่อไฟล์
เกี่ยวข้องทั่วโลก LLI เพื่อโหลดปลั๊กอิน (วัตถุที่ใช้ร่วมกัน) ชื่อ ชื่อไฟล์ปลั๊กอิน และใช้สำหรับ
การเพิ่มประสิทธิภาพ
-สถิติ พิมพ์สถิติจากการสร้างรหัสผ่าน สิ่งนี้มีความหมายสำหรับ .เท่านั้น
คอมไพเลอร์แบบทันเวลาในปัจจุบัน
-เวลาผ่านไป
บันทึกระยะเวลาที่จำเป็นสำหรับการผ่านการสร้างรหัสแต่ละครั้งและพิมพ์ไปที่
มาตรฐานบกพร่อง.
-version
พิมพ์เวอร์ชั่นของ LLI และจากไปโดยไม่ทำอะไรเลย
เป้าหมาย OPTIONS
-mtriple=เป้าหมาย สามเท่า
แทนที่เป้าหมายสามเท่าที่ระบุในไฟล์บิตโค้ดอินพุตด้วยค่าที่ระบุ
สตริง ซึ่งอาจส่งผลให้เกิดความผิดพลาดหากคุณเลือกสถาปัตยกรรมที่ไม่ใช่
เข้ากันได้กับระบบปัจจุบัน
-march=โค้ง
ระบุสถาปัตยกรรมที่จะสร้างแอสเซมบลี แทนที่เป้าหมาย
เข้ารหัสในไฟล์บิตโค้ด ดูผลลัพธ์ของ LLC -ช่วยด้วย สำหรับรายการที่ถูกต้อง
สถาปัตยกรรม โดยค่าเริ่มต้น ข้อมูลนี้จะอนุมานจากเป้าหมายสามเท่าหรือตรวจพบอัตโนมัติ
สู่สถาปัตยกรรมปัจจุบัน
-mcpu=ชื่อซีพียู
ระบุชิปเฉพาะในสถาปัตยกรรมปัจจุบันเพื่อสร้างรหัส โดย
ค่าเริ่มต้นนี้จะอนุมานจากเป้าหมายสามเท่าและตรวจพบอัตโนมัติเป็นปัจจุบัน
สถาปัตยกรรม. สำหรับรายการ CPU ที่ใช้ได้ ให้ใช้: llvm-เป็น < / dev / null | LLC
-มีนาคม = xyz -mcpu=ช่วย
-mattr=a1,+a2,-a3,...
แทนที่หรือควบคุมคุณลักษณะเฉพาะของเป้าหมาย เช่น SIMD
มีการเปิดใช้งานหรือไม่ ชุดแอตทริบิวต์เริ่มต้นถูกกำหนดโดยcurrent
ซีพียู สำหรับรายการแอตทริบิวต์ที่ใช้ได้ ให้ใช้: llvm-เป็น < / dev / null | LLC -มีนาคม = xyz
-mattr=ความช่วยเหลือ
ลอย จุด OPTIONS
- ปิดใช้งานส่วนเกิน fp- แม่นยำ
ปิดใช้งานการปรับให้เหมาะสมที่อาจเพิ่มความแม่นยำของจุดลอยตัว
-enable-no-infs-fp-คณิตศาสตร์
เปิดใช้งานการปรับให้เหมาะสมที่ไม่มีค่า Inf
-enable-no-nans-fp-คณิตศาสตร์
เปิดใช้งานการปรับให้เหมาะสมที่ไม่มีค่า NAN
-เปิดใช้งานไม่ปลอดภัย-fp-คณิตศาสตร์
เกี่ยวข้องทั่วโลก LLI เพื่อเปิดใช้งานการปรับให้เหมาะสมที่อาจลดความแม่นยำของจุดลอยตัว
-นุ่มลอย
เกี่ยวข้องทั่วโลก LLI เพื่อสร้างซอฟต์แวร์เรียกไลบรารีจุดลอยตัวแทนการเทียบเท่า
คำแนะนำฮาร์ดแวร์
รหัส เจนเนอเรชั่น OPTIONS
-code-model=รุ่น
เลือกรูปแบบรหัสจาก:
ค่าเริ่มต้น: โมเดลรหัสเริ่มต้นเป้าหมาย
เล็ก: รหัสรุ่นเล็ก
เคอร์เนล: โมเดลรหัสเคอร์เนล
กลาง: รุ่นรหัสกลาง
ใหญ่: โมเดลโค้ดขนาดใหญ่
-disable-โพสต์-RA-scheduler
ปิดใช้งานการจัดกำหนดการหลังจากการจัดสรรการลงทะเบียน
-ปิดการใช้งานการรั่วไหลหลอมรวม
ปิดใช้งานการรวมรหัสการรั่วไหลลงในคำแนะนำ
-jit-enable-เอ๊ะ
ควรเปิดใช้งานการจัดการข้อยกเว้นในคอมไพเลอร์แบบทันเวลา
-เข้าร่วม-liveintervals
รวมสำเนา (ค่าเริ่มต้น=จริง)
-nozero-เริ่มต้นใน bss
อย่าวางสัญลักษณ์เริ่มต้นเป็นศูนย์ในส่วน BSS
-pre-RA-sched=ตัวจัดกำหนดการ
มีตัวกำหนดคำสั่ง (ก่อนลงทะเบียนการจัดสรร):
=default: ตัวกำหนดตารางเวลาที่ดีที่สุดสำหรับเป้าหมาย
=none: ไม่มีการตั้งเวลา: การจัดลำดับแรกแบบกว้าง
=ง่าย: การตั้งเวลาสองรอบอย่างง่าย: ลดเส้นทางวิกฤตและใช้ประโยชน์โปรเซสเซอร์สูงสุด
=simple-noitin: การตั้งเวลาสองรอบอย่างง่าย: เหมือนกับง่าย ๆ ยกเว้นการใช้เวลาแฝงทั่วไป
=list-burr: การจัดกำหนดการรายการลดการลงทะเบียนจากล่างขึ้นบน
=list-tdrr: การจัดกำหนดการรายการลดการลงทะเบียนจากบนลงล่าง
=list-td: ตัวกำหนดเวลารายการจากบนลงล่าง -print-machineinstrs - พิมพ์รหัสเครื่องที่สร้าง
-regalloc=ผู้จัดสรร
ลงทะเบียนตัวจัดสรรเพื่อใช้ (default=linearscan)
=bigblock: ตัวจัดสรรการลงทะเบียนบล็อกใหญ่
=linearscan: ตัวจัดสรรการลงทะเบียนการสแกนเชิงเส้น =local - ตัวจัดสรรการลงทะเบียนในเครื่อง
=simple: ตัวจัดสรรการลงทะเบียนอย่างง่าย
-relocation-model = แบบจำลอง
เลือกรูปแบบการย้ายที่ตั้งจาก:
=default: โมเดลการย้ายที่ตั้งเริ่มต้นเป้าหมาย
=คงที่: รหัสที่ไม่สามารถย้ายได้ =รูป - ย้ายอย่างสมบูรณ์, ตำแหน่งรหัสอิสระ
=dynamic-no-pic: การอ้างอิงภายนอกที่ย้ายได้, รหัสที่ไม่สามารถย้ายได้
-สปิลเลอร์
สปิลเลอร์ที่จะใช้ (default=local)
= ง่าย: สลิลเลอร์ง่าย ๆ
=ท้องถิ่น: ผู้รั่วไหลในพื้นที่
-x86-asm-syntax=ไวยากรณ์
เลือกรูปแบบของรหัสที่จะส่งจากแบ็กเอนด์ X86:
=att: ปล่อยชุดประกอบสไตล์ AT&T
=intel: ปล่อยชุดประกอบสไตล์ Intel
EXIT สถานภาพ
If LLI โหลดโปรแกรมไม่ได้ มันจะออกด้วยรหัสออก 1 มิฉะนั้น มันจะ
ส่งคืนรหัสทางออกของโปรแกรมที่รัน
ใช้ lli-3.8 ออนไลน์โดยใช้บริการ onworks.net