• <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>
            隨筆-161  評論-223  文章-30  trackbacks-0
            周知cpu為方便亂序執行,內部會使用重命名寄存器技術消除數據依賴(war和waw)。編譯器在如下場景也會用到重命名

            ​1. 靜態單賦值。過程內的每個變量唯一定義一次,原有相同的則會重命名,包括phi結點的定值
            ​2. bb表調度。為消除反相關依賴即war,可以重命名讀操作使用或寫操作定義的值,這樣能調度產生總時鐘周期更少的指令序列,但可能增加寄存器壓力導致溢出而新增了長延遲操作(內存加載/存儲)并迫使另一輪調度
            ​3. ebb表調度。對于某一ebb的一條路徑p,p存在過早退出路徑pe,p和pe的公共前綴是基本塊b,當調度p時,如果某個操作i向后移動到b,且i定義的值殺死了pe上的同名值,那么需要重命名i的定值。若i的定值被重命名,且其在p的出口處是活躍的,則調度器需要在出口處復制回原來的名字
            ​4. trace表調度。蹤跡不同于ebb路徑,它允許中間存在多個前驅即入口的基本塊,而后者不能。當調度存在多入口的塊b的某蹤跡t時,t上的某操作i可能前向移動跨越b(t外的代碼路徑需作補償),若i殺死了一個活躍范圍跨越b的值,則需要重命名i的定值;同理,若i向后移動跨越b且殺死了t上的某值,則需重命名i的定值,這時t外的代碼路徑補償可以使用同一名字
            posted on 2023-09-06 23:35 春秋十二月 閱讀(75) 評論(0)  編輯 收藏 引用 所屬分類: Compiler
            亚洲AV日韩精品久久久久久| 亚洲国产成人久久精品动漫| 精品多毛少妇人妻AV免费久久| 99久久99久久精品国产| 99久久精品免费看国产| 伊人久久免费视频| 久久精品国产2020| 久久精品中文字幕有码| 国产一区二区三区久久| 久久无码中文字幕东京热| 国产午夜精品久久久久九九| 久久综合九色综合久99| 色综合久久天天综合| 精品国产一区二区三区久久久狼| 性高朝久久久久久久久久| 国产福利电影一区二区三区久久久久成人精品综合 | 狠狠色伊人久久精品综合网| 久久婷婷人人澡人人爽人人爱 | 久久午夜福利电影| 久久婷婷国产综合精品| 国产69精品久久久久久人妻精品| 天堂无码久久综合东京热| 久久久久99精品成人片直播| 久久99精品久久久久久久不卡| 青青草国产精品久久| 新狼窝色AV性久久久久久| 欧美日韩精品久久免费| 久久高清一级毛片| 精品国产一区二区三区久久蜜臀| 亚洲精品乱码久久久久久按摩 | 久久播电影网| 久久精品免费观看| 狠狠久久亚洲欧美专区| 久久综合给久久狠狠97色| 久久久久亚洲精品日久生情| 久久精品极品盛宴观看| 亚洲精品无码久久久久久| 国产欧美久久久精品影院| 亚洲伊人久久成综合人影院| 久久精品国产亚洲av高清漫画| 久久中文字幕人妻熟av女|