2000
DOI: 10.1109/12.844346
|View full text |Cite
|
Sign up to set email alerts
|

Extending value reuse to basic blocks with compiler support

Abstract: Speculative execution and instruction reuse are two important strategies that have been investigated for improving processor performance. Value prediction at the instruction level has been introduced to allow even more aggressive speculation and reuse than previous techniques. This study suggests that using compiler support to extend value reuse to a coarser granularity than a single instruction, such as a basic block, may have substantial performance benefits. We investigate the input and output values of bas… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
37
0
1

Year Published

2001
2001
2022
2022

Publication Types

Select...
4
3
2

Relationship

0
9

Authors

Journals

citations
Cited by 31 publications
(38 citation statements)
references
References 22 publications
0
37
0
1
Order By: Relevance
“…Program profiling analysis is an effective technique for determining code regions whose live-output values may be reused at run-time [7], [13]. In this paper we propose a profile-guided analysis for selecting the traces to be speculated by a TSMA processor.…”
Section: Trace Selectionmentioning
confidence: 99%
See 1 more Smart Citation
“…Program profiling analysis is an effective technique for determining code regions whose live-output values may be reused at run-time [7], [13]. In this paper we propose a profile-guided analysis for selecting the traces to be speculated by a TSMA processor.…”
Section: Trace Selectionmentioning
confidence: 99%
“…A value prediction scheme guided by value profiling is presented in [10]. Compiler-directed approaches for identifying code regions whose computation can be reused during dynamic execution are proposed in [7] and [13]. A code specialization approach that uses value profiling is presented in [18].…”
Section: Related Workmentioning
confidence: 99%
“…The general concept of memoization in computer programs has been around for a long time where the idea is to speed up the computer programs by avoiding repetitive/redundant function calls [9] [10] [11]. Nevertheless, in practice, the general notion of memoization has not gained success due to the following reasons: 1) the proposed techniques usually require detailed profiling information about the runtime behaviour of the program which makes it difficult to implement [12], 2) the techniques are usually generic methods which do not concentrate on any particular class of input data or algorithms [13], and 3) the memoization engine used by these techniques are based on non-fuzzy comparison where two input data is considered equal (in which case one's result can be reused for another) if they are identical. In contrast, in designing the window memoization technique in [8], the unique characteristics of image processing algorithms have been carefully taken into account to enable window memoization to both be easy to implement and improve the performance significantly.…”
Section: Window Memoizationmentioning
confidence: 99%
“…The reuse granularity includes instructions [15,20], expressions and invariants [13], basic blocks [9], traces [3,5], as well as instruction blocks and sub-blocks of arbitrary size [8] …”
Section: Related Workmentioning
confidence: 99%