Це команда lli-3.8, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS
ПРОГРАМА:
ІМ'Я
lli - безпосередньо виконувати програми з біт-коду LLVM
СИНТАКСИС
ллі [опції] [ім'я файлу] [програма аргументи]
ОПИС
ллі безпосередньо виконує програми у форматі біт-коду LLVM. Він приймає програму в біт-коді LLVM
форматує та виконує його за допомогою компілятора або інтерпретатора "точно вчасно".
ллі is НЕ емулятор. Він не буде виконувати IR різних архітектур і може тільки
інтерпретувати (або JIT-компілювати) для архітектури хоста.
Компілятор JIT приймає ті ж аргументи, що й інші інструменти, наприклад ТОВ, але вони цього не роблять
обов'язково працювати на перекладача.
If ім'я файлу то не вказано ллі зчитує біт-код LLVM для програми
стандартний вхід.
The optional аргументи зазначені в командному рядку, передаються програмі як аргументи.
Загальні відомості ВАРІАНТИ
-fake-argv0=виконуваний файл
Переосмислити argv [0] значення, передане програмі, що виконується.
-force-interpreter={false, true}
Якщо встановлено значення true, використовуйте інтерпретатор, навіть якщо доступний компілятор "точно вчасно".
для цієї архітектури. За замовчуванням false.
-допомога Роздрукуйте підсумок параметрів командного рядка.
-load=ім'я файлу плагіна
Проєкти ллі щоб завантажити плагін (спільний об’єкт) з ім’ям ім'я файлу плагіна і використовувати його для
оптимізація.
- статистика Друк статистики з проходів генерації коду. Це має сенс лише для
компілятор точно вчасно, на даний момент.
-час минає
Запишіть кількість часу, необхідного для кожного проходу генерації коду, і роздрукуйте його
стандартна помилка.
-версія
Роздрукуйте версію ллі і вийти, не роблячи нічого іншого.
TARGET ВАРІАНТИ
-mtriple=ціль потрійний
Замінити цільову трійку, зазначену у вхідному файлі біт-коду, на вказане
рядок. Це може призвести до збою, якщо ви виберете архітектуру, яка не є
сумісні з поточною системою.
-марш=арка
Вкажіть архітектуру, для якої потрібно створити збірку, перевизначивши ціль
закодований у файлі біт-коду. Дивіться вихід ТОВ -допомога для списку дійсних
архітектури. За замовчуванням це виводиться з цільового потрійного або автоматично визначається
до поточної архітектури.
-mcpu=ім'я процесора
Вкажіть конкретний чіп у поточній архітектурі для створення коду. За
за замовчуванням це виводиться з цільового потрійного і автоматично визначається для поточного
архітектури. Щоб отримати список доступних процесорів, використовуйте: llvm-як < / dev / null | ТОВ
-march=xyz -mcpu=довідка
-mattr=a1,+a2,-a3,...
Замінювати або контролювати конкретні атрибути цілі, наприклад, чи SIMD
операції ввімкнені чи ні. Набір атрибутів за замовчуванням встановлюється поточним
ЦП. Щоб отримати список доступних атрибутів, використовуйте: llvm-як < / dev / null | ТОВ -march=xyz
-mattr=довідка
ПЛАВАТИ ТОЧКА ВАРІАНТИ
-disable-excess-fp-precision
Вимкніть оптимізацію, яка може підвищити точність з плаваючою комою.
-enable-no-infs-fp-math
Увімкнути оптимізацію, яка не передбачає значень Inf.
-enable-no-nans-fp-math
Увімкнути оптимізацію, яка не передбачає значень NAN.
-enable-unsafe-fp-math
Проєкти ллі щоб увімкнути оптимізацію, яка може зменшити точність з плаваючою комою.
- м'який поплавок
Проєкти ллі для створення програмних викликів бібліотеки з плаваючою комою замість еквівалентних
інструкції з обладнання.
КОД ПОКОЛІННЯ ВАРІАНТИ
-код-модель=модель
Виберіть модель коду з:
за замовчуванням: цільова модель коду за замовчуванням
small: невелика модель коду
ядро: модель коду ядра
середня: модель коду середня
великий: модель великого коду
-disable-post-RA-scheduler
Вимкнути планування після виділення реєстру.
-disable-spill-fusing
Вимкніть злиття коду розливу в інструкції.
-jit-enable-eh
Обробка винятків повинна бути включена в компіляторі «точно вчасно».
-інтервали приєднання-живі
Об’єднати копії (за замовчуванням = true).
-nozero-ініціалізований-в-bss
Не розміщуйте символи, ініціалізовані нулем, у розділ BSS.
-pre-RA-sched=планувальник
Доступні планувальники інструкцій (до розподілу реєстру):
=за замовчуванням: найкращий планувальник для цілі
=none: немає планування: секвенування спочатку в ширину
=simple: просте планування на два проходи: мінімізує критичний шлях і максимальне використання процесора
=simple-noitin: просте планування двох проходів: те саме, що й просто, за винятком використання загальної затримки
=list-burr: планування списку скорочення регістра знизу вгору
=list-tdrr: планування списку скорочення регістра зверху вниз
=list-td: Планувальник списку зверху вниз -print-machineinstrs - Роздрукувати згенерований машинний код
-regalloc=розподільник
Реєструвати розподільник для використання (за замовчуванням=linearscan)
=bigblock: розподільник регістрів для великих блоків
=linearscan: розподільник регістрів лінійного сканування =local - локальний розподільник регістрів
=просто: простий розподільник регістрів
-relocation-model=модель
Виберіть модель переїзду з:
=default: цільова модель переміщення за замовчуванням
=статичний: непереміщуваний код =pic - Повністю переміщуваний, незалежний від позиції код
=dynamic-no-pic: переміщувані зовнішні посилання, непереміщуваний код
- розливник
Spiller для використання (за замовчуванням = локальний)
=простий: простий розлив
= локальний: локальний розлив
-x86-asm-syntax=синтаксис
Виберіть стиль коду для надсилання із серверної частини X86:
=att: випускати збірку в стилі AT&T
=intel: випускати збірку в стилі Intel
EXIT СТАТУС
If ллі не вдається завантажити програму, вона вийде з кодом виходу 1. В іншому випадку це буде
повернути код завершення програми, яку він виконує.
Використовуйте lli-3.8 онлайн за допомогою служб onworks.net