ssa

    2熱度

    1回答

    這是我能想出迄今: GCC相關: SSA for Trees Tree SSA – A New Optimization Framework for GCC Tree SSA A New Optimization Infrastructure for GCC Design and Implementation of Tree SSA 其他: An Implementation of Sparse

    0熱度

    1回答

    我正在研究用於Java字節碼的優化器,並決定使用SSA。但是,大多數優化要求所有操作都是純功能的,所以爲了處理副作用,我決定爲每個可能有副作用的操作添加一個額外的不透明狀態參數和返回值。這將防止優化離開或重新排序副作用的操作。例如,忽略異常處理,你會得到像這樣的僞代碼。 function arguments: x1, e1 if x1 != 0 x2 = add(x1, 3)

    4熱度

    1回答

    我正在執行SSA構建我正在編寫一個編譯器。在SSA算法中有一些我不明白的地方(使用Java編寫的the Cytron paper和現代編譯器實現,A.W.Appel的第二版)。如果一個變量y是在一個直線控制流路徑中第一次(和使用過)定義的,但從未在另一條平行路徑中定義。我是否必須在連接點處插入PHI函數(定義爲y的塊的優勢邊界)? x = 1; // A if (P) // A

    2熱度

    1回答

    有誰能告訴我如何在Java中爲RSASSA-PKCS1-v1.5生成簽名? 我實際上想知道如何用java.security.Signature這個類。 我必須使用任何第三方庫嗎?

    1熱度

    1回答

    我正在將基於寄存器的字節碼編譯爲具有靜態單分配(SSA)形式的IR(具體而言,從Dalvik VM字節碼到LLVM IR,但我希望這個問題可以用於一般性的話題),我想知道最好的,或理論上最乾淨的方式去做這件事。 舉例來說,如果我們有基於寄存器的指令: add vA, vB, vC (vA := vB + vC) ... sub vA, vD, vE (vA := vD - vE) 那麼我們

    9熱度

    1回答

    我正在研究堆棧機器的編譯器(特別是CIL),並將代碼解析爲基本塊的圖形。從這裏我正在尋找SSA的方法,但它不太好。我的第一次嘗試(同時使用平面列表而不是圖)是迭代代碼並保留一堆SSA id(即分配目標),當我產生一個任務時推送它們,當它彈出時彈出他們被使用。這對於單個基本塊來說工作得很好,但我根本無法弄清楚如何處理生成Φ函數。 我一直在徘徊的想法是將堆棧位置附加到SSA ID,然後在代碼路徑收斂時

    0熱度

    1回答

    我一直在研究使用SSA指定的IR代碼,特別是在這種形式下生成LLVM IR。然而,當我提出一個具有非平凡複製語義的類型時,我對此是否有效感到困惑。例如, void f() { std::string s = "Too long for you, short string optimization!"; std::string s1 = s + " Also, goodbye S