OPT(1) LLVM OPT(1) نام (NAME) opt - بهینه‌ساز و تحلیل‌گر LLVM خلاصه دستور (SYNOPSIS) opt [گزینه‌ها] [نام‌فایل] توضیحات (DESCRIPTION) دستور opt ابزار بهینه‌ساز و تحلیل‌گر پیمانه‌ای (ماژولار) LLVM است. این ابزار فایل‌های منبع LLVM را به عنوان ورودی دریافت کرده، بهینه‌سازی‌ها یا تحلیل‌های مشخص‌شده را روی آن‌ها اجرا می‌کند و سپس فایل بهینه‌شده را به عنوان خروجی ارائه می‌دهد. بهینه‌سازی‌های در دسترس از طریق opt به کتابخانه‌هایی که در آن پیوند (link) داده شده‌اند و همچنین کتابخانه‌های اضافی که با گزینه -load بارگذاری شده‌اند، بستگی دارد. برای مشاهده بهینه‌سازی‌های قابل استفاده، از گزینه -help استفاده کنید. اگر نام‌فایل در خط فرمان مشخص نشود یا برابر "-" باشد، opt ورودی خود را از ورودی استاندارد می‌خواند. ورودی‌ها می‌توانند در قالب زبان اسمبلی LLVM (.ll) یا در قالب بیت‌کد LLVM (.bc) باشند. اگر نام فایل خروجی با گزینه -o مشخص نشده باشد، opt خروجی خود را در خروجی استاندارد می‌نویسد. گزینه‌ها (OPTIONS) -f فعال‌سازی خروجی باینری در ترمینال‌ها. در حالت عادی، اگر جریان خروجی یک ترمینال باشد، opt از نوشتن خروجی بیت‌کد خام خودداری می‌کند. با استفاده از این گزینه، opt صرف‌نظر از نوع دستگاه خروجی، بیت‌کد خام را خواهد نوشت. -help چاپ خلاصه‌ای از گزینه‌های خط فرمان. -o مشخص کردن نام فایل خروجی. -S نوشتن خروجی در قالب زبان میانی LLVM (به‌جای بیت‌کد). -passes= توصیف متنی (جداشده با کاما) از خط‌لوله مراحل (pass pipeline)، مانند -passes="sroa,instcombine". برای جزئیات بیشتر درباره نحو خط‌لوله مراحل، بخش فراخوانی opt <../NewPassManager.html#invoking- opt> را ببینید. -strip-debug این گزینه باعث می‌شود opt پیش از اعمال سایر بهینه‌سازی‌ها، اطلاعات اشکال‌زدایی (debug) را از ماژول حذف کند. این گزینه اساساً مشابه -strip است، اما تضمین می‌کند که حذف اطلاعات اشکال‌زدایی در ابتدا انجام شود. -verify-each این گزینه باعث می‌شود opt پس از هر مرحله‌ای که در خط فرمان مشخص شده است (شامل -verify)، یک مرحله اعتبارسنجی اضافه کند. این ویژگی برای مواردی سودمند است که گمان می‌رود یک مرحله در حال ایجاد ماژول نامعتبر است اما مشخص نیست کدام مرحله مسبب آن است. -stats چاپ اطلاعات آماری. --save-stats, --save-stats=cwd, --save-stats=obj ذخیره آمارهای LLVM در یک فایل با قالب JSON در دایرکتوری جاری (--save-stats/"--save-stats=cwd") یا در دایرکتوری فایل خروجی ("--save-stats=obj"). -time-passes ثبت مدت زمان مورد نیاز برای اجرای هر مرحله و چاپ آن در خروجی خطای استاندارد. -debug اگر این نسخه یک بیلد اشکال‌زدایی (debug build) باشد، این گزینه چاپ پیام‌های اشکال‌زدایی را از مراحلی که از ماکروی LLVM_DEBUG() استفاده می‌کنند، فعال خواهد کرد. برای اطلاعات بیشتر، بخش #DEBUG در راهنمای برنامه‌نویس LLVM <../ProgrammersManual.html> را ببینید. -load= بارگذاری شیء پویای plugin. این شیء باید مراحل بهینه‌سازی یا تحلیل جدید را ثبت کند. پس از بارگذاری، این شیء گزینه‌های خط فرمان جدیدی را برای فعال کردن بهینه‌سازی‌ها یا تحلیل‌های مختلف اضافه می‌کند. برای مشاهده فهرست کامل جدید بهینه‌سازی‌ها، از دو گزینه -help و -load به‌صورت هم‌زمان استفاده کنید. برای نمونه: opt -load=plugin.so -help -print-passes چاپ تمام مراحل در دسترس و خروج از برنامه. وضعیت خروج (EXIT STATUS) اگر opt با موفقیت به پایان برسد، با مقدار 0 خارج می‌شود. در غیر این صورت، در صورت بروز خطا، با مقداری غیر صفر خارج خواهد شد. نویسنده (AUTHOR) نگهداری‌شده توسط تیم LLVM (https://llvm.org). حق نشر (COPYRIGHT) 2003-2026, LLVM Project 22 2026-07-15 OPT(1)