Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems 2006
DOI: 10.1145/1168857.1168908
|View full text |Cite
|
Sign up to set email alerts
|

A probabilistic pointer analysis for speculative optimizations

Abstract: Pointer analysis is a critical compiler analysis used to disambiguate the indirect memory references that result from the use of pointers and pointer-based data structures. A conventional pointer analysis deduces for every pair of pointers, at any program point, whether a points-to relation between them (i) definitely exists, (ii) definitely does not exist, or (iii) maybe exists. Many compiler optimizations rely on accurate pointer analysis, and to ensure correctness cannot optimize in the maybe case. In contr… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1

Citation Types

0
2
0

Year Published

2007
2007
2013
2013

Publication Types

Select...
4
1
1

Relationship

0
6

Authors

Journals

citations
Cited by 20 publications
(2 citation statements)
references
References 34 publications
0
2
0
Order By: Relevance
“…But an equally important question is when are these optimizations beneficial. One can use heuristics for this purpose [12], but a more precise method is to profile the application. Fortunately, we can leverage the same hardware support that we use for DeAliaser to collect a profile with high efficiency.…”
Section: The Cost-benefit Modelmentioning
confidence: 99%
“…But an equally important question is when are these optimizations beneficial. One can use heuristics for this purpose [12], but a more precise method is to profile the application. Fortunately, we can leverage the same hardware support that we use for DeAliaser to collect a profile with high efficiency.…”
Section: The Cost-benefit Modelmentioning
confidence: 99%
“…These techniques range from traditional techniques like reduction expansions [19,21] to more modern techniques, such as aggressive alias analysis [5], speculative pointer analysis [28], or variable value analysis [22]. Proving two memory operations do not conflict or proving that a variable holds a constant value at a certain program point can be invaluable in unlocking parallelism.…”
Section: Compiler and Hardware Supportmentioning
confidence: 99%