ນີ້ແມ່ນຄໍາສັ່ງ lli ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
lli - ປະຕິບັດໂຄງການໂດຍກົງຈາກ LLVM bitcode
ສະຫຼຸບສັງລວມ
ລີ [ທາງເລືອກໃນການ] [ຊື່ເອກະສານ] [ໂຄງການ ໂຕ້ຖຽງ]
ລາຍລະອຽດ
ລີ ປະຕິບັດໂຄງການໂດຍກົງໃນຮູບແບບ bitcode LLVM. ມັນໃຊ້ເວລາໂຄງການໃນ LLVM bitcode
format ແລະປະຕິບັດມັນໂດຍໃຊ້ compiler ທີ່ໃຊ້ເວລາພຽງແຕ່ຫຼືນາຍພາສາ.
ລີ is ບໍ່ emulator ເປັນ. ມັນຈະບໍ່ປະຕິບັດ IR ຂອງສະຖາປັດຕະຍະກໍາທີ່ແຕກຕ່າງກັນແລະມັນພຽງແຕ່ສາມາດເຮັດໄດ້
ຕີຄວາມໝາຍ (ຫຼື JIT-compile) ສໍາລັບສະຖາປັດຕະຍະກໍາເຈົ້າພາບ.
ການລວບລວມ JIT ໃຊ້ເວລາການໂຕ້ຖຽງດຽວກັນກັບເຄື່ອງມືອື່ນໆ, ເຊັ່ນ: llc, ແຕ່ພວກເຂົາບໍ່
ຈໍາເປັນຕ້ອງເຮັດວຽກສໍາລັບນາຍພາສາ.
If ຊື່ເອກະສານ ບໍ່ໄດ້ລະບຸ, ຫຼັງຈາກນັ້ນ ລີ ອ່ານ LLVM bitcode ສໍາລັບໂຄງການຈາກ
ວັດສະດຸປ້ອນມາດຕະຖານ.
ທາງເລືອກ ໂຕ້ຖຽງ ທີ່ລະບຸໄວ້ໃນເສັ້ນຄໍາສັ່ງແມ່ນຖືກສົ່ງໄປຫາໂຄງການເປັນການໂຕ້ຖຽງ.
ທົ່ວໄປ OPTIONS
-fake-argv0=ສາມາດປະຕິບັດໄດ້
override ໄດ້ argv[0] ມູນຄ່າຜ່ານເຂົ້າໄປໃນໂຄງການປະຕິບັດ.
-force-interpreter={false,true}
ຖ້າຕັ້ງເປັນຖືກຕ້ອງ, ໃຫ້ໃຊ້ຕົວແປ ເຖິງແມ່ນວ່າມີຕົວສັງລວມແບບທັນເວລາເທົ່ານັ້ນ
ສໍາລັບສະຖາປັດຕະຍະກໍານີ້. ຄ່າເລີ່ມຕົ້ນເປັນຜິດ.
-ຊ່ວຍ ພິມບົດສະຫຼຸບຂອງຕົວເລືອກແຖວຄໍາສັ່ງ.
-load=pluginfilename
ສາເຫດ ລີ ເພື່ອໂຫລດ plugin (ວັດຖຸທີ່ໃຊ້ຮ່ວມກັນ) ຊື່ pluginfilename ແລະໃຊ້ມັນສໍາລັບ
ການເພີ່ມປະສິດທິພາບ.
- ສະຖິຕິ ພິມສະຖິຕິຈາກການສ້າງລະຫັດຜ່ານ. ນີ້ແມ່ນພຽງແຕ່ມີຄວາມຫມາຍສໍາລັບການ
ການລວບລວມຂໍ້ມູນພຽງແຕ່ໃນເວລາດຽວ, ໃນປັດຈຸບັນ.
- ເວລາຜ່ານ
ບັນທຶກຈໍານວນເວລາທີ່ຈໍາເປັນສໍາລັບການຜ່ານການສ້າງລະຫັດແຕ່ລະຄົນແລະພິມມັນໃສ່
ຄວາມຜິດພາດມາດຕະຖານ.
-ການປ່ຽນແປງ
ພິມອອກສະບັບຂອງ ລີ ແລະອອກໄປໂດຍບໍ່ເຮັດຫຍັງອີກ.
ເປົ້າຫມາຍ OPTIONS
-mtriple=ເປົ້າໝາຍ triple
ລົບລ້າງເປົ້າໝາຍ triple ທີ່ລະບຸໄວ້ໃນໄຟລ໌ bitcode ປ້ອນເຂົ້າດ້ວຍຂໍ້ມູນທີ່ລະບຸ
ສາຍ. ອັນນີ້ອາດສົ່ງຜົນໃຫ້ເກີດອຸປະຕິເຫດໄດ້ຫາກເຈົ້າເລືອກສະຖາປັດຕະຍະກຳທີ່ບໍ່ແມ່ນ
ເຂົ້າກັນໄດ້ກັບລະບົບປະຈຸບັນ.
-march=arch
ລະບຸສະຖາປັດຕະຍະກໍາທີ່ຈະສ້າງການປະກອບ, overriding ເປົ້າຫມາຍ
ເຂົ້າລະຫັດໃນໄຟລ໌ bitcode. ເບິ່ງຜົນຜະລິດຂອງ llc -ຊ່ວຍ ສໍາລັບບັນຊີລາຍຊື່ທີ່ຖືກຕ້ອງ
ສະຖາປັດຕະຍະກໍາ. ໂດຍຄ່າເລີ່ມຕົ້ນ, ນີ້ແມ່ນການຄາດເດົາຈາກເປົ້າຫມາຍສາມເທົ່າຫຼືຖືກກວດພົບໂດຍອັດຕະໂນມັດ
ກັບສະຖາປັດຕະຍະກໍາໃນປະຈຸບັນ.
-mcpu=cpuname
ລະບຸຊິບສະເພາະໃນສະຖາປັດຕະຍະກໍາປະຈຸບັນເພື່ອສ້າງລະຫັດສໍາລັບ. ໂດຍ
ຄ່າເລີ່ມຕົ້ນນີ້ແມ່ນ inferred ຈາກເປົ້າຫມາຍ triple ແລະ autodetected ກັບປະຈຸບັນ
ຖາປັດຕະຍະ. ສໍາລັບບັນຊີລາຍຊື່ຂອງ CPUs ທີ່ມີຢູ່, ໃຊ້: llvm-as < / dev / null | llc
- ມີນາ=xyz -mcpu=ຊ່ວຍ
-mattr=a1,+a2,-a3,...
Override ຫຼືຄວບຄຸມຄຸນລັກສະນະສະເພາະຂອງເປົ້າຫມາຍ, ເຊັ່ນວ່າ SIMD
ການດໍາເນີນງານໄດ້ຖືກເປີດໃຊ້ຫຼືບໍ່. ຊຸດຄຸນລັກສະນະເລີ່ມຕົ້ນແມ່ນຖືກກໍານົດໂດຍປະຈຸບັນ
CPU. ສໍາລັບບັນຊີລາຍຊື່ຂອງຄຸນລັກສະນະທີ່ມີຢູ່, ໃຊ້: llvm-as < / dev / null | llc - ມີນາ=xyz
-mattr=ຊ່ວຍ
ອາຄານ ຈຸດປະສົງ OPTIONS
-disable-excess-fp-precision
ປິດການເພີ່ມປະສິດທິພາບທີ່ອາດຈະເພີ່ມຄວາມແມ່ນຍໍາຂອງຈຸດລອຍ.
-enable-no-infs-fp-math
ເປີດໃຊ້ການເພີ່ມປະສິດທິພາບທີ່ສົມມຸດວ່າບໍ່ມີຄ່າ Inf.
-enable-no-nans-fp-math
ເປີດໃຊ້ການເພີ່ມປະສິດທິພາບທີ່ສົມມຸດວ່າບໍ່ມີຄ່າ NAN.
-enable-unsafe-fp-math
ສາເຫດ ລີ ເພື່ອເປີດໃຊ້ການເພີ່ມປະສິດທິພາບທີ່ອາດຈະຫຼຸດລົງຄວາມແມ່ນຍໍາຂອງຈຸດລອຍ.
- ເລື່ອນລອຍ
ສາເຫດ ລີ ເພື່ອສ້າງຊອບແວການເອີ້ນຫ້ອງສະຫມຸດຈຸດທີ່ເລື່ອນໄດ້ແທນທີ່ຈະທຽບເທົ່າ
ຄໍາແນະນໍາດ້ານຮາດແວ.
CODE ການຜະລິດ OPTIONS
-code-model=ແບບຈໍາລອງ
ເລືອກຮູບແບບລະຫັດຈາກ:
ຄ່າເລີ່ມຕົ້ນ: ເປົ້າໝາຍຮູບແບບລະຫັດເລີ່ມຕົ້ນ
ຂະຫນາດນ້ອຍ: ຕົວແບບລະຫັດຂະຫນາດນ້ອຍ
kernel: ຮູບແບບລະຫັດ Kernel
ຂະຫນາດກາງ: ຮູບແບບລະຫັດຂະຫນາດກາງ
ຂະຫນາດໃຫຍ່: ຕົວແບບລະຫັດຂະຫນາດໃຫຍ່
-disable-post-RA-scheduler
ປິດການກໍານົດເວລາຫຼັງຈາກການຈັດສັນການລົງທະບຽນ.
-disable-spill-fusing
ປິດການນຳໃຊ້ການລວມລະຫັດຮົ່ວໄຫຼເຂົ້າໃນຄຳແນະນຳ.
-jit-enable-eh
ການຈັດການຂໍ້ຍົກເວັ້ນຄວນຖືກເປີດໃຊ້ໃນຕົວສັງລວມແບບທັນເວລາ.
- join-intervals
ສຳເນົາ Coalesce (ຄ່າເລີ່ມຕົ້ນ=true).
-nozero-initialized-in-bss
ຢ່າວາງສັນຍາລັກເບື້ອງຕົ້ນເປັນສູນໃສ່ໃນສ່ວນ BSS.
-pre-RA-sched=ຕົວກຳນົດເວລາ
ມີຕາຕະລາງການສອນ (ກ່ອນການຈັດສັນການລົງທະບຽນ):
=default: ຕາຕະລາງທີ່ດີທີ່ສຸດສໍາລັບເປົ້າຫມາຍ
=none: ບໍ່ມີກຳນົດເວລາ: ຄວາມກວ້າງຂອງລຳດັບທຳອິດ
=simple: ການກໍານົດເວລາຜ່ານສອງຢ່າງງ່າຍດາຍ: ຫຼຸດຜ່ອນເສັ້ນທາງທີ່ສໍາຄັນແລະເພີ່ມປະສິດທິຜົນການນໍາໃຊ້ໂປແກຣມເຊີ
=simple-noitin: ການກຳນົດເວລາຜ່ານສອງອັນແບບງ່າຍໆ: ຄືກັນກັບແບບງ່າຍໆຍົກເວັ້ນການໃຊ້ latency ທົ່ວໄປ
=list-burr: ການກຳນົດເວລາການຫຼຸດການລົງທະບຽນລຸ່ມສຸດ
=list-tdrr: ການກຳນົດເວລາການຫຼຸດການລົງທະບຽນເທິງລົງລຸ່ມ
=list-td: ຕາຕະລາງລາຍການເທິງລົງລຸ່ມ -print-machineinstrs - ພິມລະຫັດເຄື່ອງທີ່ສ້າງຂຶ້ນ
-regalloc=ຜູ້ຈັດສັນ
ລົງທະບຽນຜູ້ຈັດສັນເພື່ອໃຊ້ (default=lineearscan)
=bigblock: big-block register allocator
=lineearscan: linear scan register allocator =local - local register allocator
=simple: ຜູ້ຈັດສັນການລົງທະບຽນງ່າຍດາຍ
-relocation-model=ແບບ
ເລືອກຮູບແບບການຍົກຍ້າຍຈາກ:
=default: ເປົ້າໝາຍຮູບແບບການຍົກຍ້າຍເລີ່ມຕົ້ນ
=static: ລະຫັດທີ່ບໍ່ສາມາດຍ້າຍໄດ້ =pic - ສາມາດຍ້າຍໄດ້ຢ່າງເຕັມສ່ວນ, ລະຫັດເອກະລາດຕໍາແຫນ່ງ
=dynamic-no-pic: ການອ້າງອີງພາຍນອກທີ່ສາມາດຍ້າຍໄດ້, ລະຫັດທີ່ບໍ່ສາມາດຍ້າຍໄດ້
-spiller
Spiller ທີ່ຈະໃຊ້ (default=local)
=simple: spiller ງ່າຍດາຍ
=local: local spiller
-x86-asm-syntax=syntax
ເລືອກຮູບແບບຂອງລະຫັດທີ່ຈະປ່ອຍອອກມາຈາກ X86 backend:
=att: ປ່ອຍການປະກອບແບບ AT&T
=intel: ປ່ອຍຕົວປະກອບແບບ Intel
ອອກ STATUS
If ລີ ລົ້ມເຫລວໃນການໂຫລດໂຄງການ, ມັນຈະອອກດ້ວຍລະຫັດອອກຂອງ 1. ຖ້າບໍ່ດັ່ງນັ້ນ, ມັນຈະອອກ
ກັບຄືນລະຫັດອອກຈາກໂຄງການທີ່ມັນປະຕິບັດ.
ໃຊ້ lli ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net