.\" Man page generated from reStructuredText .\" by the Docutils 0.23 manpage writer. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "OPT" "1" "2026-07-15" "22" "LLVM" .SH "نام (NAME)" opt \- بهینه‌ساز و تحلیل‌گر LLVM .SH "خلاصه دستور (SYNOPSIS)" .sp \fBopt\fP [\fIگزینه‌ها\fP] [\fIنام‌فایل\fP] .SH "توضیحات (DESCRIPTION)" .sp دستور \fBopt\fP ابزار بهینه‌ساز و تحلیل‌گر پیمانه‌ای (ماژولار) LLVM است. این ابزار فایل‌های منبع LLVM را به عنوان ورودی دریافت کرده، بهینه‌سازی‌ها یا تحلیل‌های مشخص‌شده را روی آن‌ها اجرا می‌کند و سپس فایل بهینه‌شده را به عنوان خروجی ارائه می‌دهد. بهینه‌سازی‌های در دسترس از طریق \fBopt\fP به کتابخانه‌هایی که در آن پیوند (link) داده شده‌اند و همچنین کتابخانه‌های اضافی که با گزینه .B \-load بارگذاری شده‌اند، بستگی دارد. برای مشاهده بهینه‌سازی‌های قابل استفاده، از گزینه .B \-help استفاده کنید. .sp اگر \fBنام‌فایل\fP در خط فرمان مشخص نشود یا برابر \(dq\fB\-\fP\(dq باشد، \fBopt\fP ورودی خود را از ورودی استاندارد می‌خواند. ورودی‌ها می‌توانند در قالب زبان اسمبلی LLVM (\fB\&.ll\fP) یا در قالب بیت‌کد LLVM (\fB\&.bc\fP) باشند. .sp اگر نام فایل خروجی با گزینه .B \-o مشخص نشده باشد، \fBopt\fP خروجی خود را در خروجی استاندارد می‌نویسد. .SH "گزینه‌ها (OPTIONS)" .INDENT 0.0 .TP .B \-f فعال‌سازی خروجی باینری در ترمینال‌ها. در حالت عادی، اگر جریان خروجی یک ترمینال باشد، \fBopt\fP از نوشتن خروجی بیت‌کد خام خودداری می‌کند. با استفاده از این گزینه، \fBopt\fP صرف‌نظر از نوع دستگاه خروجی، بیت‌کد خام را خواهد نوشت. .UNINDENT .INDENT 0.0 .TP .B \-help چاپ خلاصه‌ای از گزینه‌های خط فرمان. .UNINDENT .INDENT 0.0 .TP .B \-o مشخص کردن نام فایل خروجی. .UNINDENT .INDENT 0.0 .TP .B \-S نوشتن خروجی در قالب زبان میانی LLVM (به‌جای بیت‌کد). .UNINDENT .INDENT 0.0 .TP .B \-passes= توصیف متنی (جداشده با کاما) از خط‌لوله مراحل (pass pipeline)، مانند \fB\-passes=\(dqsroa,instcombine\(dq\fP\&. برای جزئیات بیشتر درباره نحو خط‌لوله مراحل، بخش فراخوانی opt \%<../\:NewPassManager\:.html#\:invoking-opt> را ببینید. .UNINDENT .INDENT 0.0 .TP .B \-strip\-debug این گزینه باعث می‌شود \fBopt\fP پیش از اعمال سایر بهینه‌سازی‌ها، اطلاعات اشکال‌زدایی (debug) را از ماژول حذف کند. این گزینه اساساً مشابه \fI\-strip\fP است، اما تضمین می‌کند که حذف اطلاعات اشکال‌زدایی در ابتدا انجام شود. .UNINDENT .INDENT 0.0 .TP .B \-verify\-each این گزینه باعث می‌شود \fBopt\fP پس از هر مرحله‌ای که در خط فرمان مشخص شده است (شامل \fI\-verify\fP)، یک مرحله اعتبارسنجی اضافه کند. این ویژگی برای مواردی سودمند است که گمان می‌رود یک مرحله در حال ایجاد ماژول نامعتبر است اما مشخص نیست کدام مرحله مسبب آن است. .UNINDENT .INDENT 0.0 .TP .B \-stats چاپ اطلاعات آماری. .UNINDENT .INDENT 0.0 .TP .B \-\-save\-stats, \-\-save\-stats=cwd, \-\-save\-stats=obj ذخیره آمارهای LLVM در یک فایل با قالب JSON در دایرکتوری جاری (\fB\-\-save\-stats\fP/\(dq\-\-save\-stats=cwd\(dq) یا در دایرکتوری فایل خروجی (\(dq\-\-save\-stats=obj\(dq). .UNINDENT .INDENT 0.0 .TP .B \-time\-passes ثبت مدت زمان مورد نیاز برای اجرای هر مرحله و چاپ آن در خروجی خطای استاندارد. .UNINDENT .INDENT 0.0 .TP .B \-debug اگر این نسخه یک بیلد اشکال‌زدایی (debug build) باشد، این گزینه چاپ پیام‌های اشکال‌زدایی را از مراحلی که از ماکروی \fBLLVM_DEBUG()\fP استفاده می‌کنند، فعال خواهد کرد. برای اطلاعات بیشتر، بخش \fB#DEBUG\fP در راهنمای برنامه‌نویس LLVM \%<../\:ProgrammersManual\:.html> را ببینید. .UNINDENT .INDENT 0.0 .TP .B \-load= بارگذاری شیء پویای \fBplugin\fP\&. این شیء باید مراحل بهینه‌سازی یا تحلیل جدید را ثبت کند. پس از بارگذاری، این شیء گزینه‌های خط فرمان جدیدی را برای فعال کردن بهینه‌سازی‌ها یا تحلیل‌های مختلف اضافه می‌کند. برای مشاهده فهرست کامل جدید بهینه‌سازی‌ها، از دو گزینه .B \-help و .B \-load به‌صورت هم‌زمان استفاده کنید. برای نمونه: .INDENT 7.0 .INDENT 3.5 .sp .EX opt \-load=plugin.so \-help .EE .UNINDENT .UNINDENT .UNINDENT .INDENT 0.0 .TP .B \-print\-passes چاپ تمام مراحل در دسترس و خروج از برنامه. .UNINDENT .SH "وضعیت خروج (EXIT STATUS)" .sp اگر \fBopt\fP با موفقیت به پایان برسد، با مقدار 0 خارج می‌شود. در غیر این صورت، در صورت بروز خطا، با مقداری غیر صفر خارج خواهد شد. .SH "نویسنده (AUTHOR)" نگهداری‌شده توسط تیم LLVM (https://llvm.org). .SH "حق نشر (COPYRIGHT)" 2003-2026, LLVM Project .\" End of generated man page.