Back to results
US 2015/0040106 A1Published application
Compiler and Method for Global-Scope Basic-Block Reordering
AssigneeFuturewei Technologies, Inc.
InventorsPengcheng Li, Ziang Hu, Handong Ye
Life of this patent
Estimating the term…
Abstract
An embodiment method of global scope basic-block reordering includes profiling an application having a source code decomposable into a plurality of basic-blocks. The profiling yields a global basic-block sequence. The method also includes generating a hierarchical locality model according to the global basic-block sequence. The method also includes generating a target code according to the hierarchical locality model.
Claims20
A method of global scope basic-block reordering, comprising:
- profiling an application having a source code decomposable into a plurality of basic-blocks, wherein the profiling yields a global basic-block sequence;
- generating a hierarchical locality model according to the global basic-block sequence;
- and
- generating a target code according to the hierarchical locality model.
1 more element
A compiler, comprising:
- a first stage configured to translate a source code having a plurality of basic-blocks into an intermediate representation;
- an optimizer configured to:
- profile the intermediate representation, wherein profiling yields a global basic-block sequence, and
- generate a hierarchical locality model according to the global basic-block sequence;
- and
- a code generator configured to generate a target code ordered according to the hierarchical locality model.
3 more elements
A computing system, comprising:
- a non-transitory memory configured to store:
- a source code decomposable into a plurality of basic-blocks,
- an intermediate representation of the source code,
- a testing code generated according to the intermediate representation and including instrumentation code,
- a hierarchical locality model representing respective affinities between each unique pair of the plurality of basic-blocks, and
- a target code generated according to the intermediate representation and the hierarchical locality model;
- and
- a processor configured to:
- translate the source code into the intermediate representation,
- insert the instrumentation code into the intermediate representation,
- generate and execute the testing code,
- collect global basic-block execution traces resulting from the execution of the testing code,
- determine the respective affinities according to the global basic-block execution traces to generate the hierarchical locality model, and
- generate the target code.
11 more elements
Dependencies are inferred from the claim text.