• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆-159  評論-223  文章-30  trackbacks-0
            1. 作為指令高速緩層優化的一種重要技術,它根據CFG流圖邊的執行頻率將頻繁執行的基本塊排列在一起,并布局那些基本塊在下降分支路徑,而不在一起的也就是很少執行的基本塊布局在轉移分支路徑。這樣做一來可以使取到I-cache中的指令實際被執行的比例較高,二來對于某些體系結構上轉移和下降路徑延遲不等的分支指令,可以降低跳轉延遲

            2. 實現過程內代碼置放有以下幾個環節:
            a)獲取剖析數據:編譯器可以先在基本塊出口處插入代碼以統計到其后繼基本塊的執行次數,作為CFG流圖邊的權重,然后編譯生成可執行文件,輸入代表性數據運行它,結果輸出一個數據文件,用于第二次編譯,這次編譯實施過程內代碼置放優化
            b)以鏈的形式構建熱路徑:熱路徑是CFG路徑的一個集合,其中包括頻繁執行的那些邊,每條路徑是一個或多個基本塊按邊的方向構成的鏈,每個鏈關聯一個優先級,用于布局代碼的先后順序。初始時,每個基本塊構成一個只有它本身的鏈,其優先級為CFG流圖邊的數量或者更大值;接下來,在CFG中按權重降序遍歷每條邊<x,y>(x不等于y),若x是某個鏈a的尾結點且y是某鏈b的頭結點,則把b合并到a后面,更新a的優先級為a原來優先級、b優先級、P三者的最小值,同時遞增P,其中P為鏈合并操作的計數器,用于決定鏈的相對次序由低到高排列,初值為0。當遍歷結束時,所有熱路徑構建完成
            c)進行代碼布局:經過前一環節,就得到了鏈的集合。首先從鏈集合找出含有入口基本塊的鏈t,將t加入工作表WL;然后從WL移出一個優先級最低的鏈c,按序(構建鏈時加入基本塊的順序)遍歷c的每個基本塊x,把x放在過程可執行代碼體的末端,對于邊<x,y>,將包含y的鏈t加入WL(若t不在WL中),重復該過程直至WL為空
            posted on 2023-09-06 23:15 春秋十二月 閱讀(56) 評論(0)  編輯 收藏 引用 所屬分類: Compiler
            国产精品99久久久久久www| 少妇熟女久久综合网色欲| 女人高潮久久久叫人喷水| 久久只有这里有精品4| 久久久久久精品成人免费图片 | 99久久精品免费看国产免费| 国产 亚洲 欧美 另类 久久| 久久久久这里只有精品 | 精品水蜜桃久久久久久久| 狠狠综合久久综合88亚洲| 久久激情亚洲精品无码?V| 国内精品久久久久久99蜜桃| 久久国产精品国语对白| 一级做a爰片久久毛片免费陪| 香蕉久久一区二区不卡无毒影院| 久久亚洲av无码精品浪潮| 精品永久久福利一区二区| 久久亚洲中文字幕精品一区| 国内精品久久久久影院优| 四虎国产精品成人免费久久| 久久精品亚洲男人的天堂| 亚洲综合精品香蕉久久网| 久久青青草原精品国产不卡| 欧美va久久久噜噜噜久久| 久久久久久伊人高潮影院| 欧美亚洲国产精品久久蜜芽| 女人香蕉久久**毛片精品| 久久综合色老色| 久久人人爽人人爽人人片AV麻豆 | 无码任你躁久久久久久老妇App| 久久99毛片免费观看不卡| 久久精品国产亚洲AV香蕉| 久久精品国产亚洲AV麻豆网站| 免费一级做a爰片久久毛片潮 | 久久精品国产精品亚洲毛片| 偷偷做久久久久网站| 久久毛片一区二区| 伊人久久大香线蕉综合5g| 久久综合亚洲鲁鲁五月天| 97久久婷婷五月综合色d啪蜜芽| 亚洲va久久久久|