• <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>
            隨筆-162  評(píng)論-223  文章-30  trackbacks-0
            【輸入】
            調(diào)用圖,其頂端是根過程

            【輸出】
            每個(gè)過程每個(gè)參數(shù)的icp值

            【算法步驟】
            1. 將根過程加入工作表,遍歷調(diào)用圖,構(gòu)建每個(gè)過程的形參集合,初始化每個(gè)形參的icp值為未知(icp格的頂元素)
            2. 從工作表移出一個(gè)過程p,若工作表為空則終止
            3. 遍歷p的指令序列,對(duì)每個(gè)調(diào)用點(diǎn)遍歷被調(diào)過程q的形參,對(duì)每個(gè)形參x,若對(duì)應(yīng)的傳入實(shí)參是p的一個(gè)形參,則計(jì)算x的icp值(等于x舊值和傳入實(shí)參的icp值之交)
            4. 若x的icp值比舊值小,則將q加入工作表,轉(zhuǎn)到步驟2繼續(xù)

            【算法分析】
            數(shù)學(xué)基礎(chǔ)是icp半格,高度為3,所以必定收斂(因?yàn)榘敫袷菃握{(diào)偏序的,icp最多變小2次:未知->常量,常量->非常量)。步驟1復(fù)雜度取決于過程數(shù)及其參數(shù)數(shù)量,步驟2~4之外循環(huán)次數(shù)取決于調(diào)用圖的深度,內(nèi)循環(huán)取決于調(diào)用點(diǎn)數(shù)、被調(diào)過程的參數(shù)數(shù)量。該算法是位置無關(guān)的,不能處理特定調(diào)用點(diǎn)的特定過程之常量傳播,另外過程的形參集合不能有交集

            【應(yīng)用】
            可以計(jì)算出每個(gè)過程入口形參對(duì)應(yīng)的常量實(shí)參集合,進(jìn)而可以運(yùn)用全局常數(shù)傳播使結(jié)果更精確。如果確定了一個(gè)過程的哪些參數(shù)是常量,那么可以克隆出一個(gè)副本,對(duì)副本進(jìn)行優(yōu)化,比如裁剪調(diào)用和起始代碼序列,使之不傳遞常數(shù)參數(shù),再運(yùn)用過程內(nèi)優(yōu)化
            posted on 2023-09-06 23:02 春秋十二月 閱讀(69) 評(píng)論(0)  編輯 收藏 引用 所屬分類: Compiler
            人妻少妇久久中文字幕 | 丁香久久婷婷国产午夜视频| 久久久精品午夜免费不卡| 国产激情久久久久影院老熟女| 精品久久久久中文字| 久久精品国产精品亚洲精品| 99久久精品国内| 久久精品国产精品亚洲精品| 国产精品久久精品| 伊人伊成久久人综合网777| 久久99精品久久久久久久久久| 国内精品久久久久久久coent | 久久91精品国产91久久小草| 久久性精品| 99久久这里只有精品| 亚洲午夜精品久久久久久app| 精品久久久久久久久中文字幕| 亚洲Av无码国产情品久久| 青青青青久久精品国产| 一本一本久久A久久综合精品| 国产免费久久精品丫丫| 久久精品国产亚洲麻豆| 欧洲精品久久久av无码电影 | 亚洲国产美女精品久久久久∴| 久久无码精品一区二区三区| 国产免费福利体检区久久| 69久久精品无码一区二区| 久久久久久国产精品免费无码 | 久久天天躁狠狠躁夜夜不卡| 久久久久亚洲AV成人网人人软件| 久久99精品国产麻豆 | 成人亚洲欧美久久久久| 伊人色综合久久天天| 久久99精品国产一区二区三区| 久久精品国产清高在天天线| 中文精品久久久久人妻不卡| 午夜久久久久久禁播电影| 日韩AV无码久久一区二区| 成人综合伊人五月婷久久| 久久免费国产精品一区二区| 久久久久久久综合日本亚洲 |