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