CompilerDev板 - WEB批踢踢(PTT)http://webptt.com/rss.ashx?n=CompilerDev2022-01-26T11:37:20+08:00Fw: [心得] 用JSON寫CPUhttps://webptt.com/m.aspx?n=/bbs/CompilerDev/M.1777915622.A.EAE.html2026-05-05T01:27:02+08:002026-05-06T01:47:50+08:00erspicu<pre>以後可以擴展的方向
https://tinyurl.com/y3xw4uwe
※ [本文轉錄自 Soft_Job 看板 #1f-CzV24 ]
作者: erspicu (.) 看板: Soft_Job
標題: [心得] 用JSON寫CPU
</pre>Re: [分享] shecc - 可自我編譯的簡化 C 編譯器實作https://webptt.com/m.aspx?n=/bbs/CompilerDev/M.1757665982.A.956.html2025-09-12T16:33:02+08:002025-10-14T15:11:02+08:00jserv<pre>shecc [1] 不僅是一個從無到有開發、可編譯自身 (self-hosting) 的 C 語言編譯器,
更是理解編譯器最佳化策略的教學範例。其最佳化設計已形成層次分明的架構:前端產生
SSA 形式的中間表示,中端透過全域與區域的分析進行轉換,後端再以 peephole 最佳化
和指令序列重寫完成修飾,展現出具體而微的最佳化流程。連同 Arm 和 RISC-V 處理器
後端的程式碼,全部僅 1 萬行出頭的 C 專案,且不依賴任何組譯器或連結器,直接輸出
</pre>Fw: [情報] 一個排版軟體與語言的實作+TeXBook筆記https://webptt.com/m.aspx?n=/bbs/CompilerDev/M.1738258629.A.494.html2025-01-31T01:37:09+08:002025-01-31T11:41:40+08:00yoxem<pre>雖然這不是一般的編譯器,只是DSL轉到PDF,但這是
開放原始碼,且不是直譯器,是生成另一種語言(PDF描述語言)的檔案的工具,
故在此轉貼。
※ [本文轉錄自 LaTeX 看板 #1dcxX31U ]
作者: yoxem (Yoxem) 看板: LaTeX
</pre>[分享] 2022 LLVM Dev Mtg, San Josehttps://webptt.com/m.aspx?n=/bbs/CompilerDev/M.1668865563.A.589.html2022-11-19T21:46:03+08:002023-12-25T22:53:12+08:00eopXD<pre>第一次實體參與 LLVM Developers' Meeting。
照慣例每一年會有兩次的 Developers' Meeting,
一次會辦在歐洲,一次會辦在美國。
這次美國的會議是自疫情以來暌違三年恢復實體舉辦。
今年美國會議舉辦在美國灣區 San Jose,
</pre>[討論] benchmark該如何尋找?https://webptt.com/m.aspx?n=/bbs/CompilerDev/M.1656003128.A.F80.html2022-06-24T00:52:08+08:002022-06-25T19:12:56+08:00shane87123<pre>我目前有自己製作一個最佳化演算法,想要去用他最佳化LLVM IR並跟原生點最佳化比較
除了LLVM test-suite外,該去哪裡找benchmark?
我知道比較知名的如SPEC2006等,但這個好像要錢,窮困的研究生負擔不太起..
有些benchmark似乎是對CPU進行評分,那像我這樣子的要比較最佳化後的效能,keyword要怎麼下?
謝謝版友,救救研究生QQ
</pre>[分享] ML Compilation 線上課程https://webptt.com/m.aspx?n=/bbs/CompilerDev/M.1655704369.A.4C2.html2022-06-20T13:52:49+08:002022-06-27T05:37:09+08:00eopXD<pre>如題,Tianqi Chen(TVM, XGBoost 作者)在這個夏天開了個線上課程
https://mlc.ai/summer22/
Reasons to study MLC
#1: Build ML Deployment Solutions
#2: In-depth Understanding of Existing Frameworks
</pre>[討論] JIT compiler中的instruction Selectionhttps://webptt.com/m.aspx?n=/bbs/CompilerDev/M.1652775690.A.810.html2022-05-17T16:21:30+08:002022-05-18T10:01:53+08:00ericerix<pre>JIT compiler 會去分析所謂的hotspot,然後進行最佳化,
甚至JVM中市直接把hotspot的bytecode編譯成machine code 來強化效能,
但假如有一份程式碼長這樣:
a = b / c;
d = b % c;
</pre>Re: [問題] 為何這兩份程式碼的效能差異如此奇特https://webptt.com/m.aspx?n=/bbs/CompilerDev/M.1652670539.A.991.html2022-05-16T11:08:59+08:002023-01-14T06:15:09+08:00mshockwave<pre>我其實比較好奇這個「比較快」是快幾趴?
因為其實通常差距低於2%我會直接認為是噪音
: perf 中,我可以得知 instruction 數量、cycles 數量等等
: instruction 數量中,less.c 比 more.c 還要少,不過這是可以預料的,
: 畢竟人家就是比他少做運算跟呼叫函數;
</pre>[問題] 為何這兩份程式碼的效能差異如此奇特https://webptt.com/m.aspx?n=/bbs/CompilerDev/M.1651587139.A.DF3.html2022-05-03T22:12:19+08:002022-05-15T16:22:35+08:00shane87123<pre>由於我是在 LLVM IR 最佳化階段發現這個問題,
跟編譯器最佳化有關,所以我發在這個版上。
這個問題困擾我很久了,想和版上的大大討論一番。
由於 LLVM IR 比較難讀,所以我把程式逆推成 C code 來增加可讀性。
先附上兩份程式碼的線上 diff:
</pre>gcc, LLVM的新前後端開發難易度https://webptt.com/m.aspx?n=/bbs/CompilerDev/M.1649924696.A.973.html2022-04-14T16:24:56+08:002022-04-16T15:12:32+08:00shane87123<pre>本篇可能會有很多有關編譯器的特性的的地方,
如果描述有錯,還請大家鞭小力一點><
LLVM 迷人的地方就是他很多東西都模組化,是一個高度模組化的專案
簡單來說
近期我發現 LLVM 某個 IR 優化對特定程式會有優化失敗的問題,(效能變差)
</pre>Re: [問題] 利用clang前端傳遞參數給後端opt Passhttps://webptt.com/m.aspx?n=/bbs/CompilerDev/M.1649905114.A.4DF.html2022-04-14T10:58:34+08:002022-04-14T16:37:45+08:00mshockwave<pre>因為 -plugin-arg-<argument name> 不是用來傳參數給 LLVM Pass plugin
而是用來傳參數給 Clang plugin
Clang 其實有好幾種 plugin: AST consumer plugin, custom pragma plugin,
custom attribute plugin
如果以你的例子 要傳參數給 LLVM plugin, 可以試試
</pre>[問題] 利用clang前端傳遞參數給後端opt Passhttps://webptt.com/m.aspx?n=/bbs/CompilerDev/M.1649747193.A.D80.html2022-04-12T15:06:33+08:002022-04-21T16:53:53+08:00unimaybe<pre>各位好
最近在寫 LLVM 的 Pass
主要是針對 Compile 成 IR 的 CUDA Code 做一些事情,我會把 distance 的參數傳進去
,Pass 會利用這個參數做一些事情。以下是我下的 command
opt -load buildDir/CUDAMemPass.so -cudamem -distance 4 main.bc -o main.i.bc
</pre>[問題] division-by-constant 非實作在LLVM IRhttps://webptt.com/m.aspx?n=/bbs/CompilerDev/M.1649590913.A.8C4.html2022-04-10T19:41:53+08:002022-04-13T15:13:48+08:00shane87123<pre>如標題
我發現一個優化演算法為 division-by-constant
當除數為常數時
他可以把除法轉換成乘法+算數右移
但他卻是在 backend 階段才應用的
</pre>[討論] 分享 test-suite 建置方法與問題發問https://webptt.com/m.aspx?n=/bbs/CompilerDev/M.1647277863.A.285.html2022-03-15T01:11:03+08:002022-03-22T12:48:29+08:00shane87123<pre>最近自己寫了優化演算法,
不過是針對特定情況的 pattern 才會進行優化。
然而我知道 compiler 會有 Phase Ordering Problem,
我想測定應用了我的優化演算法的 O1、O2、O3 與原本的 O1、O2、O3 跑在一個公信的
benchmark 上會不會有問題
</pre>[分享] EuroLLVM 2022https://webptt.com/m.aspx?n=/bbs/CompilerDev/M.1647126607.A.30B.html2022-03-13T07:10:07+08:002022-03-17T00:05:30+08:00mshockwave<pre>睽違將近三年,LLVM Dev Meeting 終於要再次恢復實體的了!
https://discourse.llvm.org/t/eurollvm-2022-call-for-talk-proposals/60833
這次的 EuroLLVM 2022 會辦在倫敦,日期是大概五月的第二個禮拜
(確切地點和時間還沒確定)
然後CFP也發佈了:https://hotcrp.llvm.org/eurollvm2022/
</pre>[分享] bison and c++https://webptt.com/m.aspx?n=/bbs/CompilerDev/M.1645523600.A.B51.html2022-02-22T17:53:20+08:002022-02-24T21:53:09+08:00descent<pre>「yacc/bison 系列 (2) - 輸出 AST, if statement」展示了 bison 和 c++ 的用法, 雖
然可以用, 但不算是正式的用法, bison 有「支援真正的 c++」用法, 輸出的 parser 是
c++ 版本, 還跟上 c++20 的標準, 對於我這個 c++ 愛好者來說, 這樣很棒。
但是我不會用 ...
好不容易花了很大的力氣才有點會用 bison, 突然要改用 c++ 版本,
</pre>[討論] 用 opt 時設定 pass 的組態參數https://webptt.com/m.aspx?n=/bbs/CompilerDev/M.1645417109.A.537.html2022-02-21T12:18:29+08:002022-02-24T12:04:40+08:00suhorng<pre>最近剛好用到 opt 觀察個別的 pass 最佳化結果時遇到跟 #1XeRxLcp 類似的問題
有的最佳化用 O1 會出現, 但是直接執行對應的 pass 卻沒有效果.
後來剛好查到的討論, 我覺得可能有關
(原本的問題連結:
┌─────────────────────────────────────┐
</pre>[問題] 想請問LLVM演算法是否都來自於某篇論文?https://webptt.com/m.aspx?n=/bbs/CompilerDev/M.1644496381.A.1C0.html2022-02-10T20:33:01+08:002022-02-10T22:20:12+08:00shane87123<pre>如題,最近正在找尋特定優化演算法的論文,
但搜尋相關關鍵字也找不到,甚至很少人去討論它。
我認為 LLVM 的演算法應該都會來自於某篇論文(?
還是說當某個貢獻者提交該演算法時,有相關實驗能夠證明其演算法真的能夠優化程式碼
。
</pre>[閒聊] 以前遇到的少見編譯器https://webptt.com/m.aspx?n=/bbs/CompilerDev/M.1643542908.A.0A8.html2022-01-30T19:41:48+08:002022-02-08T13:41:16+08:00yaurtusn<pre> 這是灌水的文章
*****
以前有電傳視訊,就接個 modem ,然後用 telix 裡頭的 salt 直譯器執行草稿檔
然後就有監控的電視牆 甚麼班機飛航的時刻表,用戶是在房間用有線電視選看哪一頻道
那是telix 裡頭一個直譯器 salt, 很久的東西.
</pre>[徵才] Compiler Engineer, Xilinx, Germanyhttps://webptt.com/m.aspx?n=/bbs/CompilerDev/M.1643168240.A.F55.html2022-01-26T11:37:20+08:002022-01-26T21:09:06+08:00nevak<pre>各位compiler同好新年快樂
分享公司徵才訊息,幫這個板灌一點水
目前公司(Xilinx Inc.)正在擴大招募Compiler Engineer,主要以LLVM為基礎
底層除了一般control core以外還有FPGA(HLS), AI Engine,以及其他accelerator
中層除了一般LLVM IR以外,也有專門處理MLIR的職缺
</pre>