OPT(1) LLVM OPT(1)

opt - بهینه‌ساز و تحلیل‌گر LLVM

opt [گزینه‌ها] [نام‌فایل]

دستور opt ابزار بهینه‌ساز و تحلیل‌گر پیمانه‌ای (ماژولار) LLVM است. این ابزار فایل‌های منبع LLVM را به عنوان ورودی دریافت کرده، بهینه‌سازی‌ها یا تحلیل‌های مشخص‌شده را روی آن‌ها اجرا می‌کند و سپس فایل بهینه‌شده را به عنوان خروجی ارائه می‌دهد. بهینه‌سازی‌های در دسترس از طریق opt به کتابخانه‌هایی که در آن پیوند (link) داده شده‌اند و همچنین کتابخانه‌های اضافی که با گزینه -load بارگذاری شده‌اند، بستگی دارد. برای مشاهده بهینه‌سازی‌های قابل استفاده، از گزینه -help استفاده کنید.

اگر نام‌فایل در خط فرمان مشخص نشود یا برابر "-" باشد، opt ورودی خود را از ورودی استاندارد می‌خواند. ورودی‌ها می‌توانند در قالب زبان اسمبلی LLVM (.ll) یا در قالب بیت‌کد LLVM (.bc) باشند.

اگر نام فایل خروجی با گزینه -o مشخص نشده باشد، opt خروجی خود را در خروجی استاندارد می‌نویسد.

فعال‌سازی خروجی باینری در ترمینال‌ها. در حالت عادی، اگر جریان خروجی یک ترمینال باشد، opt از نوشتن خروجی بیت‌کد خام خودداری می‌کند. با استفاده از این گزینه، opt صرف‌نظر از نوع دستگاه خروجی، بیت‌کد خام را خواهد نوشت.
چاپ خلاصه‌ای از گزینه‌های خط فرمان.
مشخص کردن نام فایل خروجی.
نوشتن خروجی در قالب زبان میانی LLVM (به‌جای بیت‌کد).
توصیف متنی (جداشده با کاما) از خط‌لوله مراحل (pass pipeline)، مانند -passes="sroa,instcombine". برای جزئیات بیشتر درباره نحو خط‌لوله مراحل، بخش فراخوانی opt <../NewPassManager.html#invoking-opt> را ببینید.
این گزینه باعث می‌شود opt پیش از اعمال سایر بهینه‌سازی‌ها، اطلاعات اشکال‌زدایی (debug) را از ماژول حذف کند. این گزینه اساساً مشابه -strip است، اما تضمین می‌کند که حذف اطلاعات اشکال‌زدایی در ابتدا انجام شود.
این گزینه باعث می‌شود opt پس از هر مرحله‌ای که در خط فرمان مشخص شده است (شامل -verify)، یک مرحله اعتبارسنجی اضافه کند. این ویژگی برای مواردی سودمند است که گمان می‌رود یک مرحله در حال ایجاد ماژول نامعتبر است اما مشخص نیست کدام مرحله مسبب آن است.
چاپ اطلاعات آماری.
ذخیره آمارهای LLVM در یک فایل با قالب JSON در دایرکتوری جاری (--save-stats/"--save-stats=cwd") یا در دایرکتوری فایل خروجی ("--save-stats=obj").
ثبت مدت زمان مورد نیاز برای اجرای هر مرحله و چاپ آن در خروجی خطای استاندارد.
اگر این نسخه یک بیلد اشکال‌زدایی (debug build) باشد، این گزینه چاپ پیام‌های اشکال‌زدایی را از مراحلی که از ماکروی LLVM_DEBUG() استفاده می‌کنند، فعال خواهد کرد. برای اطلاعات بیشتر، بخش #DEBUG در راهنمای برنامه‌نویس LLVM <../ProgrammersManual.html> را ببینید.
بارگذاری شیء پویای plugin. این شیء باید مراحل بهینه‌سازی یا تحلیل جدید را ثبت کند. پس از بارگذاری، این شیء گزینه‌های خط فرمان جدیدی را برای فعال کردن بهینه‌سازی‌ها یا تحلیل‌های مختلف اضافه می‌کند. برای مشاهده فهرست کامل جدید بهینه‌سازی‌ها، از دو گزینه -help و -load به‌صورت هم‌زمان استفاده کنید. برای نمونه:
opt -load=plugin.so -help
چاپ تمام مراحل در دسترس و خروج از برنامه.

اگر opt با موفقیت به پایان برسد، با مقدار 0 خارج می‌شود. در غیر این صورت، در صورت بروز خطا، با مقداری غیر صفر خارج خواهد شد.

نگهداری‌شده توسط تیم LLVM (https://llvm.org).

2003-2026, LLVM Project

2026-07-15 22