ال ال وی ام llvm
ساختن، بهینهسازی، اجرا و پیوند کد با LLVM.
واردسازی ال ال وی ام
LLVM زیرساخت کامپایلری است که پشتوانهی سلام هم هست. با این بسته میتوانید کامپایلر یا مفسر خودتان را بسازید: یک زمینه و ماژول بسازید، با سازنده دستورها را بنویسید، ماژول را با بررسی بیازمایید و سپس آن را با جیت اجرا یا به پروندهی شیء تبدیل کنید.
اگر IR را به شکل متن دارید، اجرا کل خط لوله را با یک تنظیمات انجام میدهد. برای پیوند، LLD درون همین برنامه برای لینوکس با musl، ویندوز با MinGW و WASI کار میکند؛ برای بقیه پیوند خارجی پیونددهندهی سیستم را صدا میزند.
این بسته به کتابخانهی libsalam_llvm نیاز دارد. نمونهها در سایت فقط بررسی میشوند.
گونهها
نتیجه بهینهسازی OptResult
ساختار نتیجه بهینهسازی| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| ok | ok | منطقی = نادرست | موفق بود. |
| err | err | رشته = "" | پیام خطا. |
واردسازی ال ال وی ام
واردسازی سیستم عامل
روال ساختن(ز: ال ال وی ام.زمینه): ال ال وی ام.ماژول:
م := ال ال وی ام.ماژول جدید(ز، "calc")
س := ال ال وی ام.سازنده جدید(ز)
ص۳۲ := ال ال وی ام.نوع سیودو بیتی(ز)
ناپایا دو := وکتور {} برگردان وکتور<ال ال وی ام.نوع>
دو.بیفزا(ص۳۲)
دو.بیفزا(ص۳۲)
ت := ال ال وی ام.افزودن تابع(م، "salam_add"، ال ال وی ام.نوع تابع(ص۳۲، دو، نادرست))
ال ال وی ام.قرار دادن در انتها(س، ال ال وی ام.افزودن بلوک(ز، ت، "entry"))
_ := ال ال وی ام.بازگشت(س، ال ال وی ام.جمع(س، ال ال وی ام.پارامتر(ت، ۰)، ال ال وی ام.پارامتر(ت، ۱)، "s"))
ال ال وی ام.آزادسازی سازنده(س)
برگشت م
پایان
روال ریشه:
ال ال وی ام.مقداردهی اهداف()
سرچاپ ال ال وی ام.سهتایی پیشفرض().طول() > ۰
سرچاپ ال ال وی ام.سطح تولید کد(ال ال وی ام.بهینهسازی دو) == ال ال وی ام.سطح تولید پیشفرض، ال ال وی ام.خط لوله پاس(ال ال وی ام.بهینهسازی سه)
سرچاپ ال ال وی ام.بهینهسازی صفر، ال ال وی ام.بهینهسازی یک، ال ال وی ام.بهینهسازی اندازه، ال ال وی ام.بهینهسازی کمینه اندازه
سرچاپ ال ال وی ام.سطح تولید بدون بهینهسازی، ال ال وی ام.سطح تولید کم، ال ال وی ام.سطح تولید تهاجمی
سرچاپ ال ال وی ام.پرونده اسمبلی، ال ال وی ام.پرونده شیء، ال ال وی ام.جابجایی پیشفرض، ال ال وی ام.جابجایی مستقل از مکان، ال ال وی ام.مدل کد پیشفرض
ن := ال ال وی ام.ماشین هدف جدید(""، ال ال وی ام.بهینهسازی دو، نادرست)
اگر وارونه ن.ok:
سرچاپ "ماشین هدف ساخته نشد:"، ن.err
برگشت
پایان
ز := ال ال وی ام.زمینه جدید()
م := ساختن(ز)
ال ال وی ام.اعمال آرایش داده(م، ن.tm)
ب := ال ال وی ام.اجرای بهینهسازی(م، ن.tm، ال ال وی ام.بهینهسازی دو)
سرچاپ ب.ok
پوشه := سیستم عامل.پوشه موقت()
سرچاپ ال ال وی ام.تولید اسمبلی(م، ن.tm، پوشه + "/salam_add.s").ok
سرچاپ ال ال وی ام.تولید شیء(م، ن.tm، پوشه + "/salam_add.o").ok
سرچاپ ال ال وی ام.تولید بیتکد(م، پوشه + "/salam_add.bc").ok
سرچاپ ال ال وی ام.کارهای موازی() > ۰
بخشها := ال ال وی ام.بخشهای موازی(م، ۴)
سرچاپ بخشها >= ۱
م۲ := ساختن(ز)
پ := ال ال وی ام.بهینهسازی سپس تولید موازی(م۲، ن.tm، ال ال وی ام.بهینهسازی دو، ۲، پوشه + "/salam_part")
سرچاپ پ.ok، پ.objects.طول() >= ۱
ال ال وی ام.آزادسازی ماژول(م)
ال ال وی ام.آزادسازی ماژول(م۲)
ال ال وی ام.آزادسازی ماشین هدف(ن.tm)
ال ال وی ام.آزادسازی زمینه(ز)
پایاننتیجه اجرا RunResult
ساختار نتیجه اجرا| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| ok | ok | منطقی = نادرست | موفق بود. |
| rc | rc | صحیح = 0 | مقدار برگشتی main. |
| err | err | رشته = "" | پیام خطا. |
واردسازی ال ال وی ام
واردسازی ورودی خروجی
واردسازی سیستم عامل
روال ریشه:
ز := ال ال وی ام.زمینه جدید()
م := ال ال وی ام.ماژول جدید(ز، "fib")
س := ال ال وی ام.سازنده جدید(ز)
ص۳۲ := ال ال وی ام.نوع سیودو بیتی(ز)
هیچ := وکتور {} برگردان وکتور<ال ال وی ام.نوع>
نوع اصلی := ال ال وی ام.نوع تابع(ص۳۲، هیچ، نادرست)
اصلی := ال ال وی ام.افزودن تابع(م، "main"، نوع اصلی)
آغاز := ال ال وی ام.افزودن بلوک(ز، اصلی، "entry")
حلقه := ال ال وی ام.افزودن بلوک(ز، اصلی، "loop")
پایانی := ال ال وی ام.افزودن بلوک(ز، اصلی، "done")
ال ال وی ام.قرار دادن در انتها(س، آغاز)
_ := ال ال وی ام.پرش(س، حلقه)
ال ال وی ام.قرار دادن در انتها(س، حلقه)
شمارنده := ال ال وی ام.فای(س، ص۳۲، "i")
الف := ال ال وی ام.فای(س، ص۳۲، "a")
ب := ال ال وی ام.فای(س، ص۳۲، "b")
جمع := ال ال وی ام.جمع(س، الف، ب، "sum")
بعدی := ال ال وی ام.جمع(س، شمارنده، ال ال وی ام.ثابت صحیح(ص۳۲، ۱)، "inext")
ادامه := ال ال وی ام.مقایسه صحیح(س، ال ال وی ام.مقایسه کمتر علامتدار، بعدی، ال ال وی ام.ثابت صحیح(ص۳۲، ۱۰)، "more")
_ := ال ال وی ام.پرش شرطی(س، ادامه، حلقه، پایانی)
ناپایا مبداها := وکتور {} برگردان وکتور<ال ال وی ام.بلوک پایه>
مبداها.بیفزا(آغاز)
مبداها.بیفزا(حلقه)
ناپایا ورودی ش := وکتور {} برگردان وکتور<ال ال وی ام.مقدار>
ورودی ش.بیفزا(ال ال وی ام.ثابت صحیح(ص۳۲، ۰))
ورودی ش.بیفزا(بعدی)
ال ال وی ام.افزودن ورودی فای(شمارنده، ورودی ش، مبداها)
ناپایا ورودی الف := وکتور {} برگردان وکتور<ال ال وی ام.مقدار>
ورودی الف.بیفزا(ال ال وی ام.ثابت صحیح(ص۳۲، ۰))
ورودی الف.بیفزا(ب)
ال ال وی ام.افزودن ورودی فای(الف، ورودی الف، مبداها)
ناپایا ورودی ب := وکتور {} برگردان وکتور<ال ال وی ام.مقدار>
ورودی ب.بیفزا(ال ال وی ام.ثابت صحیح(ص۳۲، ۱))
ورودی ب.بیفزا(جمع)
ال ال وی ام.افزودن ورودی فای(ب، ورودی ب، مبداها)
ال ال وی ام.قرار دادن در انتها(س، پایانی)
_ := ال ال وی ام.بازگشت(س، ب)
ب۲ := ال ال وی ام.بررسی(م)
سرچاپ ب۲.ok
چاپ ال ال وی ام.ماژول به رشته(م)
مسیر := سیستم عامل.پوشه موقت() + "/salam_fib.ll"
_ := ورودی خروجی.نوشتن پرونده(مسیر، ال ال وی ام.ماژول به رشته(م))
ن := ال ال وی ام.اجرای جیت(مسیر)
سرچاپ ن.ok، ن.rc
ال ال وی ام.آزادسازی سازنده(س)
ال ال وی ام.آزادسازی ماژول(م)
ال ال وی ام.آزادسازی زمینه(ز)
پایاننوع Type
ساختار نوع| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| handle | handle | تهی* | دستگیرهی داخلی LLVM. |
نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Build.salam
مقدار Value
ساختار مقدار| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| handle | handle | تهی* | دستگیرهی داخلی LLVM. |
نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Build.salam
بلوک پایه BasicBlock
ساختار بلوک پایه| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| handle | handle | تهی* | دستگیرهی داخلی LLVM. |
نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Build.salam
سازنده Builder
ساختار سازنده| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| handle | handle | تهی* | دستگیرهی داخلی LLVM. |
نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Build.salam
نتیجه موازی ParallelResult
ساختار نتیجه موازی| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| ok | ok | منطقی = نادرست | موفق بود. |
| err | err | رشته = "" | پیام خطا. |
| objects | objects | وکتور<رشته> | پروندههای شیء ساختهشده. |
نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Target.salam
نتیجه پیوند LinkResult
ساختار نتیجه پیوند| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| ok | ok | منطقی = نادرست | موفق بود. |
| err | err | رشته = "" | پیام خطا. |
واردسازی ال ال وی ام
واردسازی ورودی خروجی
واردسازی سیستم عامل
واردسازی حافظه
روال ریشه:
سرچاپ ال ال وی ام.در دسترس()
پوشه := سیستم عامل.پوشه موقت()
ll := پوشه + "/salam_args.ll"
_ := ورودی خروجی.نوشتن پرونده(ll، `define i32 @main(i32 %argc, ptr %argv) {
entry:
%n = mul i32 %argc, 10
ret i32 %n
}
`)
ت := ال ال وی ام.تجزیه آی آر(ll)
سرچاپ ت.ok
ب := ال ال وی ام.بررسی(ت.mod)
سرچاپ ب.ok، ال ال وی ام.بررسی با بازگرداندن وضعیت
ال ال وی ام.تنظیم سهتایی هدف(ت.mod، ال ال وی ام.سهتایی پیشفرض())
سرچاپ ال ال وی ام.سهتایی هدف(ت.mod) == ال ال وی ام.سهتایی پیشفرض()
ال ال وی ام.آزادسازی ماژول(ت.mod)
ال ال وی ام.آزادسازی زمینه(ت.ctx)
ناپایا آرگ := وکتور {} برگردان وکتور<رشته>
آرگ.بیفزا("a")
آرگ.بیفزا("b")
سرچاپ ال ال وی ام.اجرای جیت با آرگومان(ll، آرگ).rc
ناپایا گ := ال ال وی ام.تنظیمات پیشفرض()
سرچاپ گ.opt_level، گ.output_mode
گ.output_mode = ال ال وی ام.خروجی جیت
گ.run_args = آرگ
سرچاپ ال ال وی ام.اجرا(ll، گ).rc
گ.output_mode = ال ال وی ام.خروجی شیء
گ.output_file = پوشه + "/salam_args.o"
سرچاپ ال ال وی ام.اجرا(ll، گ).ok
گ.output_mode = ال ال وی ام.خروجی اسمبلی
گ.output_file = پوشه + "/salam_args.s"
سرچاپ ال ال وی ام.اجرا(ll، گ).ok
سرچاپ ال ال وی ام.خروجی آی آر، ال ال وی ام.خروجی بیتکد، ال ال وی ام.خروجی اجرایی
سرچاپ ال ال وی ام.سهتایی پیوند میزبان()، ال ال وی ام.ال ال دی در دسترس()
سرچاپ ال ال وی ام.میتوان سهتایی را پیوند داد("x86_64-unknown-linux-musl")، ال ال وی ام.میتوان سهتایی را پیوند داد("x86_64-w64-windows-gnu")، ال ال وی ام.میتوان سهتایی را پیوند داد("aarch64-apple-darwin")
سرچاپ ال ال وی ام.پیونددهنده ای ال اف، ال ال وی ام.پیونددهنده مینگو، ال ال وی ام.پیونددهنده کاف، ال ال وی ام.پیونددهنده ماخ او، ال ال وی ام.پیونددهنده وسم
ن := ال ال وی ام.پیوند خارجی(پوشه + "/salam_args.o"، پوشه + "/salam_args"، ال ال وی ام.تنظیمات پیشفرض())
سرچاپ ن.ok، ن.err
اگر ن.ok:
سرچاپ سیستم عامل.اجرا(پوشه + "/salam_args x y")
پایان
ناپایا م := ال ال وی ام.تنظیمات پیشفرض()
م.target_triple = "x86_64-unknown-linux-musl"
سرچاپ ال ال وی ام.پیوند خودکار(پوشه + "/salam_args.o"، پوشه + "/salam_args_musl"، م).ok
_ := ال ال وی ام.پیوند ای ال اف(پوشه + "/a.o"، پوشه + "/a"، م)
_ := ال ال وی ام.پیوند مینگو(پوشه + "/a.o"، پوشه + "/a.exe"، م)
_ := ال ال وی ام.پیوند وازی(پوشه + "/a.o"، پوشه + "/a.wasm"، م)
ناپایا آرگها := حافظه.تخصیص(۶۴ برگردان طبیعی۶۴) برگردان رشته*
آرگها[۰] = "ld.lld"
آرگها[۱] = "--version"
سرچاپ ال ال وی ام.پیوند(ال ال وی ام.پیونددهنده ای ال اف، آرگها برگردان تهی*، ۲)
حافظه.آزادسازی(آرگها برگردان تهی*)
پایاننتیجه تولید EmitResult
ساختار نتیجه تولید| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| ok | ok | منطقی = نادرست | موفق بود. |
| err | err | رشته = "" | پیام خطا. |
نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Target.salam
زمینه Context
ساختار زمینه| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| handle | handle | تهی* | دستگیرهی داخلی LLVM. |
نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Build.salam
ماژول Module
ساختار ماژول| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| handle | handle | تهی* | دستگیرهی داخلی LLVM. |
نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Build.salam
نتیجه تجزیه ParseResult
ساختار نتیجه تجزیه| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| ctx | ctx | زمینه | زمینهای که ساخته شد؛ آن را هم آزاد کنید. |
| mod | mod | ماژول | ماژول. |
| ok | ok | منطقی = نادرست | موفق بود. |
| err | err | رشته = "" | پیام خطا. |
نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Run.salam
نتیجه بررسی VerifyResult
ساختار نتیجه بررسی| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| ok | ok | منطقی = نادرست | ماژول درست است. |
| err | err | رشته = "" | توضیح خطا. |
نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Build.salam
تنظیمات Options
ساختار تنظیماتاجرا.| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| opt_level | opt_level | صحیح = 0 | سطح بهینهسازی. |
| debug_info | debug_info | منطقی = نادرست | اطلاعات اشکالزدایی نگه داشته شود. |
| verify_module | verify_module | منطقی = نادرست | ماژول پیش از تولید بررسی شود. |
| native_cpu | native_cpu | منطقی = نادرست | برای پردازندهی همین ماشین بهینه شود. |
| output_mode | output_mode | صحیح = 0 | گونهی خروجی، یکی از ثابتهای خروجی .... |
| output_file | output_file | رشته = "" | مسیر خروجی. |
| target_triple | target_triple | رشته = "" | سهتایی هدف؛ خالی یعنی سهتایی ماژول. |
| link_libs | link_libs | وکتور<رشته> | کتابخانههایی که پیوند میشوند. |
| link_kinds | link_kinds | وکتور<رشته> | گونهی هر کتابخانه: ایستا یا پویا. |
| sysroot | sysroot | رشته = "" | ریشهی سیستم هدف برای پیوند متقاطع. |
| lib_paths | lib_paths | وکتور<رشته> | مسیرهای جستجوی کتابخانه. |
| extra_objects | extra_objects | وکتور<رشته> | پروندههای شیء دیگر برای پیوند. |
| run_args | run_args | وکتور<رشته> | آرگومانها برای اجرا با جیت. |
نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Run.salam
خروجی Output
ساختار خروجیاجرا.| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| ok | ok | منطقی = نادرست | موفق بود. |
| error | error | رشته = "" | پیام خطا. |
| rc | rc | صحیح = 0 | کد خروج برنامه در حالت جیت. |
نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Build.salam
ماشین هدف TargetMachine
ساختار ماشین هدف| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| handle | handle | تهی* | دستگیرهی داخلی LLVM. |
نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Target.salam
داده هدف TargetData
ساختار داده هدف| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| handle | handle | تهی* | دستگیرهی داخلی LLVM. |
نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Target.salam
نتیجه ماشین هدف TargetMachineResult
ساختار نتیجه ماشین هدف| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| tm | tm | ماشین هدف | ماشین هدف. |
| ok | ok | منطقی = نادرست | موفق بود. |
| err | err | رشته = "" | پیام خطا. |
نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Target.salam
پایاها و متغیرها
مقایسه مساوی INT_EQ
پایا مقایسه مساوی: صحیح۳۲ = 32واردسازی ال ال وی ام
واردسازی ورودی خروجی
واردسازی سیستم عامل
روال ریشه:
ز := ال ال وی ام.زمینه جدید()
م := ال ال وی ام.ماژول جدید(ز، "hello")
س := ال ال وی ام.سازنده جدید(ز)
ص۳۲ := ال ال وی ام.نوع سیودو بیتی(ز)
ص۶۴ := ال ال وی ام.نوع شصتوچهار بیتی(ز)
ا۶۴ := ال ال وی ام.نوع اعشاری دقیق(ز)
اش := ال ال وی ام.نوع اشارهگر(ز)
_ := ال ال وی ام.نوع یک بیتی(ز)
_ := ال ال وی ام.نوع هشت بیتی(ز)
_ := ال ال وی ام.نوع شانزده بیتی(ز)
_ := ال ال وی ام.نوع اعشاری(ز)
_ := ال ال وی ام.نوع آرایه(ص۳۲، ۴)
ناپایا پارامترهای قالب := وکتور {} برگردان وکتور<ال ال وی ام.نوع>
پارامترهای قالب.بیفزا(اش)
نوع قالب := ال ال وی ام.نوع تابع(ص۳۲، پارامترهای قالب، درست)
_ := ال ال وی ام.افزودن تابع(م، "printf"، نوع قالب)
چاپگر := ال ال وی ام.تابع نامدار(م، "printf")
ناپایا دو عدد := وکتور {} برگردان وکتور<ال ال وی ام.نوع>
دو عدد.بیفزا(ص۶۴)
دو عدد.بیفزا(ص۶۴)
نوع حساب := ال ال وی ام.نوع تابع(ص۶۴، دو عدد، نادرست)
حساب := ال ال وی ام.افزودن تابع(م، "calc"، نوع حساب)
ال ال وی ام.تنظیم پیوند(حساب، ال ال وی ام.پیوند درونی)
ال ال وی ام.قرار دادن در انتها(س، ال ال وی ام.افزودن بلوک(ز، حساب، "entry"))
ل := ال ال وی ام.پارامتر(حساب، ۰)
ر := ال ال وی ام.پارامتر(حساب، ۱)
ت := ال ال وی ام.تفریق(س، ال ال وی ام.ضرب(س، ل، ر، "m")، ال ال وی ام.تقسیم علامتدار(س، ل، ر، "d")، "t")
_ := ال ال وی ام.بازگشت(س، ال ال وی ام.جمع(س، ت، ال ال وی ام.باقیمانده علامتدار(س، ل، ر، "r")، "x"))
شمار := ال ال وی ام.افزودن سراسری(م، ص۶۴، "count")
ال ال وی ام.تنظیم مقدار اولیه(شمار، ال ال وی ام.ثابت صحیح(ص۶۴، ۴۰))
پی := ال ال وی ام.افزودن سراسری(م، ا۶۴، "pi")
ال ال وی ام.تنظیم مقدار اولیه(پی، ال ال وی ام.ثابت اعشاری(ا۶۴، ۳.۱۴))
ال ال وی ام.تنظیم ثابت سراسری(پی، درست)
هیچ := وکتور {} برگردان وکتور<ال ال وی ام.نوع>
اصلی := ال ال وی ام.افزودن تابع(م، "main"، ال ال وی ام.نوع تابع(ص۳۲، هیچ، نادرست))
ال ال وی ام.قرار دادن در انتها(س، ال ال وی ام.افزودن بلوک(ز، اصلی، "entry"))
سرچاپ ال ال وی ام.بلوک درج(س).handle != پوچ
جا := ال ال وی ام.تخصیص پشته(س، ص۶۴، "n")
_ := ال ال وی ام.ذخیره(س، ال ال وی ام.بارگذاری(س، ص۶۴، شمار، "c")، جا)
ناپایا آرگ := وکتور {} برگردان وکتور<ال ال وی ام.مقدار>
آرگ.بیفزا(ال ال وی ام.بارگذاری(س، ص۶۴، جا، "n1"))
آرگ.بیفزا(ال ال وی ام.ثابت صحیح(ص۶۴، ۸))
نتیجه := ال ال وی ام.فراخوان(س، نوع حساب، حساب، آرگ، "v")
ناپایا آرگ قالب := وکتور {} برگردان وکتور<ال ال وی ام.مقدار>
آرگ قالب.بیفزا(ال ال وی ام.رشته سراسری(س، "calc(40, 8) = %lld\n"، "fmt"))
آرگ قالب.بیفزا(نتیجه)
_ := ال ال وی ام.فراخوان(س، نوع قالب، چاپگر، آرگ قالب، "")
_ := ال ال وی ام.بازگشت(س، ال ال وی ام.ثابت صحیح(ص۳۲، ۰))
تهی := وکتور {} برگردان وکتور<ال ال وی ام.نوع>
هیچکار := ال ال وی ام.افزودن تابع(م، "noop"، ال ال وی ام.نوع تابع(ال ال وی ام.نوع تهی(ز)، تهی، نادرست))
ال ال وی ام.تنظیم پیوند(هیچکار، ال ال وی ام.پیوند خصوصی)
ال ال وی ام.قرار دادن در انتها(س، ال ال وی ام.افزودن بلوک(ز، هیچکار، "entry"))
_ := ال ال وی ام.بازگشت تهی(س)
سرچاپ ال ال وی ام.پیوند بیرونی، ال ال وی ام.بررسی(م).ok
سرچاپ ال ال وی ام.مقایسه مساوی، ال ال وی ام.مقایسه نامساوی، ال ال وی ام.مقایسه بیشتر بیعلامت، ال ال وی ام.مقایسه بیشتر مساوی بیعلامت، ال ال وی ام.مقایسه کمتر بیعلامت، ال ال وی ام.مقایسه کمتر مساوی بیعلامت
سرچاپ ال ال وی ام.مقایسه بیشتر علامتدار، ال ال وی ام.مقایسه بیشتر مساوی علامتدار، ال ال وی ام.مقایسه کمتر علامتدار، ال ال وی ام.مقایسه کمتر مساوی علامتدار
مسیر := سیستم عامل.پوشه موقت() + "/salam_hello.ll"
_ := ورودی خروجی.نوشتن پرونده(مسیر، ال ال وی ام.ماژول به رشته(م))
سرچاپ ال ال وی ام.اجرای جیت(مسیر).rc
ال ال وی ام.آزادسازی سازنده(س)
ال ال وی ام.آزادسازی ماژول(م)
ال ال وی ام.آزادسازی زمینه(ز)
پایانمقایسه نامساوی INT_NE
پایا مقایسه نامساوی: صحیح۳۲ = 33نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
مقایسه بیشتر بیعلامت INT_UGT
پایا مقایسه بیشتر بیعلامت: صحیح۳۲ = 34نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
مقایسه بیشتر مساوی بیعلامت INT_UGE
پایا مقایسه بیشتر مساوی بیعلامت: صحیح۳۲ = 35نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
مقایسه کمتر بیعلامت INT_ULT
پایا مقایسه کمتر بیعلامت: صحیح۳۲ = 36نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
مقایسه کمتر مساوی بیعلامت INT_ULE
پایا مقایسه کمتر مساوی بیعلامت: صحیح۳۲ = 37نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
مقایسه بیشتر علامتدار INT_SGT
پایا مقایسه بیشتر علامتدار: صحیح۳۲ = 38نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
مقایسه بیشتر مساوی علامتدار INT_SGE
پایا مقایسه بیشتر مساوی علامتدار: صحیح۳۲ = 39نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
مقایسه کمتر علامتدار INT_SLT
پایا مقایسه کمتر علامتدار: صحیح۳۲ = 40نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Build.salam
مقایسه کمتر مساوی علامتدار INT_SLE
پایا مقایسه کمتر مساوی علامتدار: صحیح۳۲ = 41نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
پیوند بیرونی LINKAGE_EXTERNAL
پایا پیوند بیرونی: صحیح۳۲ = 0نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
پیوند درونی LINKAGE_INTERNAL
پایا پیوند درونی: صحیح۳۲ = 8نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
پیوند خصوصی LINKAGE_PRIVATE
پایا پیوند خصوصی: صحیح۳۲ = 9نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
پیونددهنده ای ال اف LLD_ELF
پایا پیونددهنده ای ال اف: صحیح۳۲ = 0نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Run.salam
پیونددهنده مینگو LLD_MINGW
پایا پیونددهنده مینگو: صحیح۳۲ = 1نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Run.salam
پیونددهنده کاف LLD_COFF
پایا پیونددهنده کاف: صحیح۳۲ = 2نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Run.salam
پیونددهنده ماخ او LLD_MACHO
پایا پیونددهنده ماخ او: صحیح۳۲ = 3نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Run.salam
پیونددهنده وسم LLD_WASM
پایا پیونددهنده وسم: صحیح۳۲ = 4نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Run.salam
بررسی با بازگرداندن وضعیت VERIFY_RETURN_STATUS
پایا بررسی با بازگرداندن وضعیت: صحیح۳۲ = 1نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Run.salam
بهینهسازی صفر OPT_O0
پایا بهینهسازی صفر: صحیح۳۲ = 0نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Target.salam
بهینهسازی یک OPT_O1
پایا بهینهسازی یک: صحیح۳۲ = 1نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Target.salam
بهینهسازی دو OPT_O2
پایا بهینهسازی دو: صحیح۳۲ = 2نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Target.salam
بهینهسازی سه OPT_O3
پایا بهینهسازی سه: صحیح۳۲ = 3نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Target.salam
بهینهسازی اندازه OPT_OS
پایا بهینهسازی اندازه: صحیح۳۲ = 4نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Target.salam
بهینهسازی کمینه اندازه OPT_OZ
پایا بهینهسازی کمینه اندازه: صحیح۳۲ = 5نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Target.salam
خروجی آی آر OUT_IR
پایا خروجی آی آر: صحیح۳۲ = 0نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Run.salam
خروجی اسمبلی OUT_ASM
پایا خروجی اسمبلی: صحیح۳۲ = 1نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Run.salam
خروجی شیء OUT_OBJ
پایا خروجی شیء: صحیح۳۲ = 2نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Run.salam
خروجی بیتکد OUT_BITCODE
پایا خروجی بیتکد: صحیح۳۲ = 3نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Run.salam
خروجی اجرایی OUT_EXEC
پایا خروجی اجرایی: صحیح۳۲ = 4نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Run.salam
خروجی جیت OUT_JIT
پایا خروجی جیت: صحیح۳۲ = 5نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Run.salam
پرونده اسمبلی CODEGEN_FILE_ASSEMBLY
پایا پرونده اسمبلی: صحیح۳۲ = 0نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Target.salam
پرونده شیء CODEGEN_FILE_OBJECT
پایا پرونده شیء: صحیح۳۲ = 1نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Target.salam
سطح تولید بدون بهینهسازی CODEGEN_LEVEL_NONE
پایا سطح تولید بدون بهینهسازی: صحیح۳۲ = 0نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Target.salam
سطح تولید کم CODEGEN_LEVEL_LESS
پایا سطح تولید کم: صحیح۳۲ = 1نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Target.salam
سطح تولید پیشفرض CODEGEN_LEVEL_DEFAULT
پایا سطح تولید پیشفرض: صحیح۳۲ = 2نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Target.salam
سطح تولید تهاجمی CODEGEN_LEVEL_AGGRESSIVE
پایا سطح تولید تهاجمی: صحیح۳۲ = 3نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Target.salam
جابجایی پیشفرض RELOC_DEFAULT
پایا جابجایی پیشفرض: صحیح۳۲ = 0نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Target.salam
جابجایی مستقل از مکان RELOC_PIC
پایا جابجایی مستقل از مکان: صحیح۳۲ = 2نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Target.salam
مدل کد پیشفرض CODE_MODEL_DEFAULT
پایا مدل کد پیشفرض: صحیح۳۲ = 0نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Target.salam
روالها
اجرای بهینهسازی RunOpt
روال اجرای بهینهسازی(mod: ماژول، tm: ماشین هدف، opt_level: صحیح): نتیجه بهینهسازینمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Target.salam
اجرای جیت RunJIT
روال اجرای جیت(ll_path: رشته): نتیجه اجرا.ll را با جیت ORC در همین فرایند اجرا و main را صدا میزند.نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Build.salam
اجرای جیت با آرگومان RunJITArgs
روال اجرای جیت با آرگومان(ll_path: رشته، args: وکتور<رشته>): نتیجه اجرانمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Run.salam
ماژول جدید NewModule
روال ماژول جدید(ctx: زمینه، name: رشته): ماژولنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Build.salam
ماژول به رشته ModuleToString
روال ماژول به رشته(mod: ماژول): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Build.salam
نوع یک بیتی Int1Type
روال نوع یک بیتی(c: زمینه): نوعنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
نوع هشت بیتی Int8Type
روال نوع هشت بیتی(c: زمینه): نوعنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
نوع شانزده بیتی Int16Type
روال نوع شانزده بیتی(c: زمینه): نوعنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
نوع سیودو بیتی Int32Type
روال نوع سیودو بیتی(c: زمینه): نوعنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Build.salam
نوع شصتوچهار بیتی Int64Type
روال نوع شصتوچهار بیتی(c: زمینه): نوعنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
نوع تهی VoidType
روال نوع تهی(c: زمینه): نوعنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
نوع اعشاری FloatType
روال نوع اعشاری(c: زمینه): نوعنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
نوع اعشاری دقیق DoubleType
روال نوع اعشاری دقیق(c: زمینه): نوعنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
نوع اشارهگر PointerType
روال نوع اشارهگر(c: زمینه): نوعptr.نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
نوع آرایه ArrayType
روال نوع آرایه(elem: نوع، n: صحیح۶۴): نوعنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
نوع تابع FunctionType
روال نوع تابع(ret_ty: نوع، params: وکتور<نوع>، vararg: منطقی): نوعنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Build.salam
افزودن تابع AddFunction
روال افزودن تابع(mod: ماژول، name: رشته، fnty: نوع): مقدارنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Build.salam
تابع نامدار NamedFunction
روال تابع نامدار(mod: ماژول، name: رشته): مقدارنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
پارامتر Param
روال پارامتر(fn: مقدار، idx: صحیح): مقدارنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
تنظیم پیوند SetLinkage
روال تنظیم پیوند(v: مقدار، linkage: صحیح)نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
افزودن بلوک AppendBlock
روال افزودن بلوک(c: زمینه، fn: مقدار، name: رشته): بلوک پایهنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Build.salam
سازنده جدید NewBuilder
روال سازنده جدید(c: زمینه): سازندهنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Build.salam
قرار دادن در انتها PositionAtEnd
روال قرار دادن در انتها(b: سازنده، bb: بلوک پایه)نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Build.salam
بلوک درج InsertBlock
روال بلوک درج(b: سازنده): بلوک پایهنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
آزادسازی سازنده FreeBuilder
روال آزادسازی سازنده(b: سازنده)نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Build.salam
ثابت صحیح ConstInt
روال ثابت صحیح(ty: نوع، v: صحیح۶۴): مقدارنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Build.salam
ثابت اعشاری ConstReal
روال ثابت اعشاری(ty: نوع، v: اعشار۶۴): مقدارنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
بازگشت Ret
روال بازگشت(b: سازنده، v: مقدار): مقدارنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Build.salam
بازگشت تهی RetVoid
روال بازگشت تهی(b: سازنده): مقدارنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
جمع Add
روال جمع(b: سازنده، l: مقدار، r: مقدار، name: رشته): مقدارنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Build.salam
تفریق Sub
روال تفریق(b: سازنده، l: مقدار، r: مقدار، name: رشته): مقدارنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
ضرب Mul
روال ضرب(b: سازنده، l: مقدار، r: مقدار، name: رشته): مقدارنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
تقسیم علامتدار SDiv
روال تقسیم علامتدار(b: سازنده، l: مقدار، r: مقدار، name: رشته): مقدارنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
باقیمانده علامتدار SRem
روال باقیمانده علامتدار(b: سازنده، l: مقدار، r: مقدار، name: رشته): مقدارنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
مقایسه صحیح ICmp
روال مقایسه صحیح(b: سازنده، pred: صحیح، l: مقدار، r: مقدار، name: رشته): مقدارمقایسه ...؛ نتیجه i1 است.نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Build.salam
پرش Br
روال پرش(b: سازنده، dest: بلوک پایه): مقدارنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Build.salam
پرش شرطی CondBr
روال پرش شرطی(b: سازنده، cond: مقدار، t: بلوک پایه، f: بلوک پایه): مقدارنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Build.salam
فای Phi
روال فای(b: سازنده، ty: نوع، name: رشته): مقدارنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Build.salam
افزودن ورودی فای AddIncoming
روال افزودن ورودی فای(phi: مقدار، vals: وکتور<مقدار>، blocks: وکتور<بلوک پایه>)نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Build.salam
فراخوان Call
روال فراخوان(b: سازنده، fnty: نوع، fn: مقدار، args: وکتور<مقدار>، name: رشته): مقدارنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
تخصیص پشته Alloca
روال تخصیص پشته(b: سازنده، ty: نوع، name: رشته): مقدارنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
بارگذاری Load
روال بارگذاری(b: سازنده، ty: نوع، ptr: مقدار، name: رشته): مقدارنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
ذخیره Store
روال ذخیره(b: سازنده، val: مقدار، ptr: مقدار): مقدارنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
رشته سراسری GlobalString
روال رشته سراسری(b: سازنده، s: رشته، name: رشته): مقدارنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
افزودن سراسری AddGlobal
روال افزودن سراسری(mod: ماژول، ty: نوع، name: رشته): مقدارنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
تنظیم مقدار اولیه SetInitializer
روال تنظیم مقدار اولیه(g: مقدار، v: مقدار)نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
تنظیم ثابت سراسری SetGlobalConstant
روال تنظیم ثابت سراسری(g: مقدار، flag: منطقی)نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
کارهای موازی ParallelJobs
روال کارهای موازی(): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Target.salam
بخشهای موازی ParallelPartitions
روال بخشهای موازی(mod: ماژول، jobs: صحیح): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Target.salam
بهینهسازی سپس تولید موازی OptimizeEmitParallel
روال بهینهسازی سپس تولید موازی(mod: ماژول، tm: ماشین هدف، opt_level: صحیح، parts: صحیح، out_prefix: رشته): نتیجه موازینمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Target.salam
ال ال دی در دسترس LldAvailable
روال ال ال دی در دسترس(): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Run.salam
پیوند Link
روال پیوند(flavor: صحیح، argv: تهی*، argc: صحیح): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Program.salam
میتوان سهتایی را پیوند داد CanLinkTriple
روال میتوان سهتایی را پیوند داد(t: رشته): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Run.salam
پیوند خارجی LinkExternal
روال پیوند خارجی(obj: رشته، out_path: رشته، opts: تنظیمات): نتیجه پیوندنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Run.salam
سهتایی پیوند میزبان HostLinkTriple
روال سهتایی پیوند میزبان(): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Run.salam
پیوند ای ال اف LinkElf
روال پیوند ای ال اف(obj: رشته، out_path: رشته، opts: تنظیمات): نتیجه پیوندنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Run.salam
پیوند وازی LinkWasi
روال پیوند وازی(obj: رشته، out_path: رشته، opts: تنظیمات): نتیجه پیوندنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Run.salam
پیوند مینگو LinkMingw
روال پیوند مینگو(obj: رشته، out_path: رشته، opts: تنظیمات): نتیجه پیوندنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Run.salam
پیوند خودکار LinkAuto
روال پیوند خودکار(obj: رشته، out_path: رشته، opts: تنظیمات): نتیجه پیوندنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Run.salam
در دسترس Available
روال در دسترس(): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Run.salam
اجرا Run
روال اجرا(ll_path: رشته، opts: تنظیمات): خروجی.ll با تنظیمات اجرا میکند: تجزیه، بهینهسازی و تولید خروجی یا اجرا با جیت.نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Run.salam
تولید اسمبلی EmitAsm
روال تولید اسمبلی(mod: ماژول، tm: ماشین هدف، path: رشته): نتیجه تولیدنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Target.salam
تولید شیء EmitObject
روال تولید شیء(mod: ماژول، tm: ماشین هدف، path: رشته): نتیجه تولیدنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Target.salam
تولید بیتکد EmitBitcode
روال تولید بیتکد(mod: ماژول، path: رشته): نتیجه تولیدنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Target.salam
زمینه جدید NewContext
روال زمینه جدید(): زمینهنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Build.salam
آزادسازی زمینه FreeContext
روال آزادسازی زمینه(ctx: زمینه)نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Build.salam
آزادسازی ماژول FreeModule
روال آزادسازی ماژول(mod: ماژول)نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Build.salam
تجزیه آی آر ParseIR
روال تجزیه آی آر(ll_path: رشته): نتیجه تجزیه.ll را در زمینهی تازه تجزیه میکند.نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Run.salam
بررسی Verify
روال بررسی(mod: ماژول): نتیجه بررسینمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Build.salam
سهتایی هدف TargetTripleOf
روال سهتایی هدف(mod: ماژول): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Run.salam
تنظیم سهتایی هدف SetTargetTriple
روال تنظیم سهتایی هدف(mod: ماژول، triple: رشته)نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Run.salam
تنظیمات پیشفرض OptionsDefault
روال تنظیمات پیشفرض(): تنظیماتنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Run.salam
مقداردهی اهداف InitTargets
روال مقداردهی اهداف()نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Target.salam
سطح تولید کد CodeGenLevelOf
روال سطح تولید کد(opt_level: صحیح): صحیحنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Target.salam
خط لوله پاس PassPipelineOf
روال خط لوله پاس(opt_level: صحیح): رشتهdefault<O3>.نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Target.salam
سهتایی پیشفرض DefaultTriple
روال سهتایی پیشفرض(): رشتهx86_64-unknown-linux-gnu.نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Target.salam
ماشین هدف جدید NewTargetMachine
روال ماشین هدف جدید(triple: رشته، opt_level: صحیح، native_cpu: منطقی): نتیجه ماشین هدفنمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Target.salam
آزادسازی ماشین هدف FreeTargetMachine
روال آزادسازی ماشین هدف(tm: ماشین هدف)نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Target.salam
اعمال آرایش داده ApplyDataLayout
روال اعمال آرایش داده(mod: ماژول، tm: ماشین هدف)نمونهی این مورد همراه با موارد بالاتر آمده است: llvm-Target.salam