Looking for breakthrough ideas for innovation challenges? Try Patsnap Eureka!

Compiler apparatus, compiler method, and compiler program

A compiler and source program technology, applied in the field of compiler devices, can solve problems such as inability to expand basic blocks, and achieve the effect of improving execution speed

Inactive Publication Date: 2007-11-28
PANASONIC CORP
View PDF0 Cites 13 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

So the basic block cannot be extended

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Compiler apparatus, compiler method, and compiler program
  • Compiler apparatus, compiler method, and compiler program
  • Compiler apparatus, compiler method, and compiler program

Examples

Experimental program
Comparison scheme
Effect test

example 1

[0286] (acceptable exception generation: see Figure 14-17)

[0287] In the above-described embodiment, the intermediate code dependency analysis section 2f generates the dependencies from the judgment intermediate code S203 to the abnormality generation intermediate code S102 in FIG. 12 so that the abnormality is not generated abnormally. However, in the modified example 1, such a dependency is not generated. That is, the execution path intermediate code generating section 2b regenerates the intermediate code S401 shown in the program in Fig. 14, and after that, generates the dependency from the intermediate code S401 to the exception generating intermediate code S102 shown in Fig. 15.

[0288] That is, the execution path intermediate code generation section 2b inserts variables and codes into the head of the execution path intermediate code string generated as follows.

[0289] - Generate a return point hold variable, which is a special variable used to hold the return addr...

example 2

[0300] (Constant value propagation improvement 1)

[0301] In the above-described embodiment, as the hot path information F2 (see FIG. 1 ), in addition to those showing the execution path predetermined by the user, the user can input variable holding information, which is the variable referenced by the hot path HP information held. The value of the variable in the variable holding information is a value most likely to be held by the variable.

[0302] By using the variable holding information in the hot path F2, the branch intermediate code generation section 2e replaces the reference point of the variable in the high-speed block H3 with the value held by the variable holding information. Further, when the value held by the variable becomes different from the value held in the variable holding information, the branch intermediate code generation section 2e may generate a conditional branch at the head of the execution path intermediate code string to be started from the part...

example 3

[0308] (Constant value propagation improvement 2)

[0309] In the above-described modified example 2, the branch intermediate code generation section 2e has performed the constant value replacement processing and the generation processing of the constant value judgment condition branch intermediate code on the high-speed block H1. However, the branch intermediate code generation section 2e may first copy the high-speed block H1, and then perform the constant value replacement processing and generation processing of the constant value judgment condition branch intermediate code on the high-speed block H1. Further, the branch intermediate code generation section 2e can generate a pseudo intermediate code consisting only of a label located before the start point of the high-speed block H1 before copying, and the branch target setting of the constant value judgment condition branch intermediate code can be set to this. Pseudo intermediate code. Further, a branch intermediate cod...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

PUM

No PUM Login to View More

Abstract

A high-sped block is formed by generating and connecting a new basic block (contains an intermediate code obtained by performing variable replacing processing to a path replacement target variable of the intermediate code on a hot path of an original partial program and contains a branching intermediate code where a branching instruction on the hot path is converted so as to execute the hot path), and a basic block with an intermediate code for restoring value of path guarantee variable among the path replacement target variables to a value of an original variable. When an execution result of a conditional branching intermediate code is true, the speeding up of the original program is achieved through executing the basic block, and performing dependency analysis and dependency generation between the intermediate codes in the high-speed block and scheduling of the instructions.

Description

technical field [0001] The present invention relates to a compiler apparatus, a compiler method and a compiler program. More particularly, the present invention relates to techniques for enabling optimized compilation in terms of execution speed. Background technique [0002] Compiler devices that perform optimizations to reduce program execution time are often used to improve the performance of programs loaded into computer systems for processing large amounts of data. [0003] In the compiler apparatus, instruction scheduling for rearranging the order of instructions is used to improve the execution efficiency of the program, thereby performing optimization. Further, in the process of optimization, the compiler apparatus divides the program into basic block units through control flow analysis, wherein the control flow analysis focuses attention on instruction statements at program branch points and instruction statements at branch targets. A basic block is a sequence of ...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

Application Information

Patent Timeline
no application Login to View More
Patent Type & Authority Applications(China)
IPC IPC(8): G06F9/45
Inventor 田中旭畑野文博山名智寻峰尾昌明
Owner PANASONIC CORP
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Patsnap Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Patsnap Eureka Blog
Learn More
PatSnap group products