Code Movement Method Based on Complementary Predicates

A code movement and predicate technology, applied in the field of code movement, can solve problems such as complex implementation process, and achieve the effect of suppressing code duplication, simple implementation, and low implementation cost

Inactive Publication Date: 2017-03-29
INST OF ACOUSTICS CHINESE ACAD OF SCI
View PDF3 Cites 0 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

[0007] Wavefront Scheduling algorithm (Wavefront Scheduling) was proposed by Bharadwaj et al. It is very flexible. It efficiently completes code compensation by eliminating JS edges or critical edges and inserting Interface Blocks. However, its implementation process is very Complex, currently only used by ecc compilers
[0008] Existing technologies are for intermediate language level applications when the compiler backend registers have not been allocated, they do not combine the speculative execution technology in the VLIW architecture to achieve code movement

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
  • Code Movement Method Based on Complementary Predicates
  • Code Movement Method Based on Complementary Predicates
  • Code Movement Method Based on Complementary Predicates

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0030] The technical solutions of the present invention will be described in further detail below with reference to the accompanying drawings and embodiments.

[0031] figure 1 and 2 is a flowchart of a global code movement method based on complementary predicates in an embodiment of the present invention, wherein, figure 1 It is a flow chart of moving up the code, and the process of moving up the code specifically includes the following steps:

[0032] Step 101, judging whether the predicate conditions from the current node to its predecessor nodes are established.

[0033] Preferably, the entry instructions in the assembly-level basic block are preferentially moved upwards, and other instructions on the complete path from the entry to the exit are preferentially moved to a direction with a low degree of parallelism.

[0034] Step 102, modify the inference register according to the predicate condition.

[0035] Preferably, the instruction whose inference register is the f...

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

The invention relates to a code moving method based on complementary predicates. The method includes the steps that whether the predicate condition from commands of a current node to target nodes is satisfied or not is judged; the target nodes are forerunner nodes or successor nodes, the nodes are code snippets of an assembling file, and no loop exists among the nodes; when the predicate condition is satisfied, a deduction register of the current node is modified according to the predicate condition; the commands which are determined to be moved in the current node are copied to the target codes in a control flow graph, and the commands in the current node are deleted; a data dependence graph is repaired. By the combination of complementary predicate structures of the predicates, code copy is restrained by modifying the deduction register of the commands in the code moving process without code compensation, and the code moving method is low in implementation cost, easy to realize, and high in engineering realizing value.

Description

technical field [0001] The invention relates to code movement technology, in particular to a code movement method based on complementary predicates. Background technique [0002] Global code movement is divided into looped scheduling and acyclic scheduling. Cyclic scheduling is to move schedulable instructions across basic blocks along the back edge (Back Edge) that leads to loops in the control flow graph, and the moving area usually only occurs within the loop segment, as proposed by M Tokoro et al. Modular Scheduling. Acyclic scheduling only deals with subpath fragments or cyclic subfragments in the control flow graph that do not have loops. [0003] Existing technical solutions are generally proposed for scheduling algorithms, among which more representative algorithms include trace scheduling algorithm, seepage scheduling algorithm, global scheduling algorithm, and wave-edge scheduling algorithm. in: [0004] Trace Scheduling algorithm (Trace Scheduling) is proposed...

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 Patents(China)
IPC IPC(8): G06F9/44
Inventor 朱浩彭楚王东辉洪缨
Owner INST OF ACOUSTICS CHINESE ACAD OF SCI
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products