Це команда lli-3.6, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS
ПРОГРАМА:
ІМ'Я
lli - безпосередньо виконувати програми з біт-коду LLVM
СИНТАКСИС
ллі [опції] [ім'я файлу] [програма аргументи]
ОПИС
ллі безпосередньо виконує програми у форматі біт-коду LLVM. Він приймає програму в біт-коді LLVM
форматувати та виконує його за допомогою компілятора «точно вчасно», якщо він доступний для поточного
архітектури, або перекладача. ллі приймає всі ті самі параметри генератора коду, що і
llc|llc, але вони ефективні лише тоді, коли ллі використовує компілятор "точно вчасно".
If ім'я файлу то не вказано ллі зчитує біт-код LLVM для програми
стандартний вхід.
The optional аргументи зазначені в командному рядку, передаються програмі як аргументи.
Загальні відомості ВАРІАНТИ
-fake-argv0=виконуваний файл
Переосмислити argv [0] значення, передане програмі, що виконується.
-сила-перекладач={false, true}
Якщо встановлено значення true, використовуйте інтерпретатор, навіть якщо для нього доступний компілятор "точно вчасно".
цю архітектуру. За замовчуванням false.
-допомога
Роздрукуйте підсумок параметрів командного рядка.
-навантаження=ім'я файлу плагіна
Проєкти ллі щоб завантажити плагін (спільний об’єкт) з ім’ям ім'я файлу плагіна і використовувати його для
оптимізація.
- статистика
Друк статистики з проходів генерації коду. Це має сенс лише для
компілятор точно вчасно, на даний момент.
-час минає
Запишіть час, необхідний для кожного проходу генерації коду, і роздрукуйте його за стандартом
помилка
-версія
Роздрукуйте версію ллі і вийти, не роблячи нічого іншого.
TARGET ВАРІАНТИ
-мтрійний=мета потрійний
Замінити цільову трійку, зазначену у вхідному файлі біт-коду, на вказане
рядок. Це може призвести до збою, якщо ви виберете несумісну архітектуру
з поточною системою.
- марш=арка
Вкажіть архітектуру, для якої потрібно генерувати збірку, перевизначивши цільовий кодований
у файлі біт-коду. Дивіться вихід ТОВ -допомога для списку дійсних архітектур.
За замовчуванням це виводиться з цільового потрійного або автоматично визначається для поточного
архітектура.
-mcpu=cpuname
Вкажіть конкретний чіп у поточній архітектурі для створення коду. За замовчуванням
це виводиться з цільового потрійного і автоматично визначається для поточної архітектури.
Щоб отримати список доступних процесорів, використовуйте: llvm-як < / dev / null | ТОВ -march=xyz -mcpu=довідка
-маттр=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.
-перед-РА-сх=планувальник
Доступні планувальники інструкцій (до розподілу реєстру):
=за замовчуванням: найкращий планувальник для цілі
=none: немає планування: секвенування спочатку в ширину
=simple: просте планування на два проходи: мінімізує критичний шлях і максимальне використання процесора
=simple-noitin: просте планування двох проходів: те саме, що й просто, за винятком використання загальної затримки
=list-burr: планування списку скорочення регістра знизу вгору
=list-tdrr: планування списку скорочення регістра зверху вниз
=list-td: Планувальник списку зверху вниз -print-machineinstrs - Роздрукувати згенерований машинний код
-regalloc=allocator
Реєструвати розподільник для використання (за замовчуванням=linearscan)
=bigblock: розподільник регістрів для великих блоків
=linearscan: розподільник регістрів лінійного сканування =local - локальний розподільник регістрів
=просто: простий розподільник регістрів
-модель переїзду=модель
Виберіть модель переїзду з:
=default: цільова модель переміщення за замовчуванням
=статичний: непереміщуваний код =pic - Повністю переміщуваний, незалежний від позиції код
=dynamic-no-pic: переміщувані зовнішні посилання, непереміщуваний код
- розливник
Spiller для використання (за замовчуванням = локальний)
=простий: простий розлив
= локальний: локальний розлив
-x86-asm-синтаксис=синтаксис
Виберіть стиль коду для надсилання із серверної частини X86:
=att: випускати збірку в стилі AT&T
=intel: випускати збірку в стилі Intel
EXIT СТАТУС
If ллі не вдається завантажити програму, вона вийде з кодом виходу 1. В іншому випадку це буде
повернути код завершення програми, яку він виконує.
Використовуйте lli-3.6 онлайн за допомогою служб onworks.net