程序生成装置、程序生产方法及程序

    公开(公告)号:CN102483701A

    公开(公告)日:2012-05-30

    申请号:CN201180003692.X

    申请日:2011-07-04

    IPC分类号: G06F9/45

    CPC分类号: G06F8/452 G06F8/456

    摘要: 程序生成装置参照包含将块重复处理N次的、有关第i次执行的上述块内定义的变量处于在有关第j次执行的上述块内被参照的相关关系的循环处理的源程序,计算有关第i次的执行的上述块及有关第i次以外的执行的1个以上的上述块中的变量表述的等价关系,对于处于上述相关关系的全部的对象变量的表述,确定与该对象变量的表述等价的不具有上述相关关系的其他变量的表述,生成用来进行上述循环处理的M次的处理的、包括包含有所确定的其他变量的表述的命令语句的程序,其中N≥2,1≤i<N,i<j≤N,M≤N。

    通过指令的排列变换以求得消除危险的最优化装置

    公开(公告)号:CN1160627C

    公开(公告)日:2004-08-04

    申请号:CN96108455.3

    申请日:1996-04-27

    IPC分类号: G06F9/45

    CPC分类号: G06F8/445

    摘要: 本发明提供一种最优化装置。在图9的步骤S1中,通过由定义参照依存关系DAG的指令节点指定输出候补,将指定了的各DAG指令节点作为输出候补授予步骤S3。在步骤S3,决定哪个应当优先。在步骤S4,确认是否用选择的指令没有定义资源或定义的资源不是使用中,若是那样,则在步骤S5将选择的指令向输出表格缓冲器17输出。在步骤S5输出后,判定其选择的指令节点是否为最后指令节点,若不是那样,则在步骤S7使资源状态信息更新。

    通过大范围的同值关系的解析来消除传输命令的优化装置

    公开(公告)号:CN1155884C

    公开(公告)日:2004-06-30

    申请号:CN97111612.1

    申请日:1997-03-12

    IPC分类号: G06F9/45

    CPC分类号: G06F8/443

    摘要: 根据本发明,基本区段分割部2把命令串分割为作为执行顺序连续的命令串的基本区段。控制流程解析部3解析所分割的基本区段间的控制流程。大范围同值关系解析部4沿着基本区段间的控制流程来跨在基本区段上地解析寄存器和存储器等的资源间的同值关系。利用所解析的资源间的同值关系,进行码的优化。本发明大范围地研究程序中的资源间的同值关系,利用该同值关系来进行码的优化,由此,就能谋求程序的码尺寸的缩小、执行时间的最短化。

    程序变换方法
    5.
    发明授权

    公开(公告)号:CN100437475C

    公开(公告)日:2008-11-26

    申请号:CN200410059868.5

    申请日:2004-06-24

    IPC分类号: G06F9/44

    CPC分类号: G06F8/443 G06F9/4488

    摘要: 一种程序变换方法,以及为将此程序在计算机上实行的程序及存储这个程序的存储媒体。然而,在以前的技术中,具有由于实际不调出(函数)的分析不充分而无法消除虚拟函数的情况。本发明的变换步骤(S100),目标分析步骤(S104),检出包含在程序的类(Class)中的生成了目标的类(Class),将该结果存储到分析信息存储部分(12),不要函数分析步骤(S105),分析接受了信息存储部分(12)上存储的信息而不生成类(Class)的函数(不要函数),将该结果存储到分析信息存储部分(12),不要函数消除步骤(S106),接受存储在分析信息存储部分(12)上的信息,消除不要函数的定义。

    指令变换装置
    6.
    发明授权

    公开(公告)号:CN100347668C

    公开(公告)日:2007-11-07

    申请号:CN03124390.8

    申请日:1998-08-28

    IPC分类号: G06F9/30 G06F9/45

    摘要: 一种指令变换装置,其中,条件指令是包含条件和操作代码并且只有在此条件成立时才由处理器执行此操作代码所表示的操作的指令;其特征在于,包括:输入装置,用于输入不包含条件指令的指令列;指令列检测装置,用于从所述输入装置输入的指令列中检测出根据预定一个条件是否成立而向同一存储对象分别传送不同传送对象的变换对象指令列;判断装置,用于判断包含与所述变换对象指令列所表示的预定条件相同的条件的条件指令是否被分配到专用处理器的指令集中;变换装置,当所述判断装置的判断结果为已被分配时,将所述变换对象指令列变换为包含所述预定条件的条件指令的指令列,当所述判断装置判断结果为未被分配时,将所述变换对象指令列中所述不同传送对象进行相互替换,变换为包含与所述预定条件具有排他关系的条件的条件指令的指令列。

    优化器
    7.
    发明授权

    公开(公告)号:CN1122216C

    公开(公告)日:2003-09-24

    申请号:CN96108810.9

    申请日:1996-06-17

    IPC分类号: G06F9/45

    CPC分类号: G06F8/443

    摘要: 常量保持变量定义检测单元7和使用表达式检测单元8将常量保持变量的定义和使用信息存入常量保持变量信息存储单元6,部分常量表达式重写单元9将常量保持变量重写常量。开销判断和重写单元10根据开销比较判断变量是否应装入寄存器来使用,或是否应进行常量传送。资源分配单元11对变量分配资源。储存器变量重写单元12把分配给存储器的常量保持变量重写为常量值。常量保持变量定义删除单元13删去成为不必要的常量保持变量的定义。

    编译程序器
    8.
    发明授权

    公开(公告)号:CN1097226C

    公开(公告)日:2002-12-25

    申请号:CN95106164.X

    申请日:1995-05-30

    IPC分类号: G06F9/45

    CPC分类号: G06F8/433 G06F9/3836

    摘要: 一种编译程序器,它由语句解析装置、最佳化装置、资源分配装置和编码生成装置构成。最佳化装置包含控制部,控制流解析部,数据流解析部,最佳化处理部和单纯块生成部。资源分配装置包含控制部,生存区间重叠判定部和变量资源分配部。上述生存区间重叠判定部包含控制部,单纯块内、基本块内、基本块间各生存变量集合保持部,生存区间保护部,生存区间生成部和生存区间重叠检查部。该编译程序器可大大减少生存区间重叠检查时间。

    资源分配装置
    9.
    发明公开

    公开(公告)号:CN1138173A

    公开(公告)日:1996-12-18

    申请号:CN96101898.4

    申请日:1996-03-13

    IPC分类号: G06F9/45

    CPC分类号: G06F8/447 G06F8/443

    摘要: 资源分配设备生成变量和该变量的生存区间的组合即分配对象,对每一分配对象分别求生存区间重叠的分配对象和存在资源继承关系的分配对象,并计算分配的优先级。然后,分配资源元素确定部从优先级高的分配对象起对各分配对象分配可分配的资源元素时,计算在程序中分配对象的使用场所所花费的成本和具有资源继承关系的分配对象将目标代码中传输命令的减少程度定量化的增益值,将使用成本最少并且增益值最大的资源元素分配给分配对象。

    编译器、编译方法
    10.
    发明授权

    公开(公告)号:CN100465895C

    公开(公告)日:2009-03-04

    申请号:CN200510105134.0

    申请日:2005-09-22

    发明人: 田中旭

    IPC分类号: G06F9/45

    CPC分类号: G06F8/4441 G06F8/433

    摘要: 本发明涉及一种编译器,其转换具有多执行路径的程序以扩展指定执行路径的基本程序块同时维持程序的完整性。该编译器产生新的基本程序块B103和B104。基本程序块B104由(i)通过替换热路径200中的局部源程序(基本程序块B1-B7)中的替换目标变量产生的语句,和(ii)通过修改热路径200中的分支指令产生的包括用于执行热路径的分支条件的分支指令构成。基本程序块B103由用于将替换目标变量恢复为恢复目标变量的语句。然后如果在基本程序块B103中的分支指令为真,则转换该源程序以执行基本程序块B104后的基本程序块B103,如果为假则执行基本程序块B1。