Proceedings of the 2004 Workshop on Memory System Performance - MSP '04 2004
DOI: 10.1145/1065895.1065905
|View full text |Cite
|
Sign up to set email alerts
|

Programmer specified pointer independence

Abstract: Good alias analysis is essential in order to achieve high performance on modern processors, yet precise interprocedural analysis does not scale well. We present a source code annotation, #pragma independent, which provides precise pointer aliasing information to the compiler, and describe a tool which highlights the most important and most likely correct locations at which a programmer should insert these annotations. Using this tool we perform a limit study on the effectiveness of pointer independence in impr… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
6
0

Year Published

2007
2007
2010
2010

Publication Types

Select...
5
2
1

Relationship

0
8

Authors

Journals

citations
Cited by 10 publications
(6 citation statements)
references
References 26 publications
0
6
0
Order By: Relevance
“…• Where possible, the compiler (or other parts of the system) can tentatively identify its own candidates for ratification by the domain expert (as in Koes et al [10]). …”
Section: Domain-specific Knowledgementioning
confidence: 99%
See 1 more Smart Citation
“…• Where possible, the compiler (or other parts of the system) can tentatively identify its own candidates for ratification by the domain expert (as in Koes et al [10]). …”
Section: Domain-specific Knowledgementioning
confidence: 99%
“…Koes et al [10] introduce an annotation-mediated interaction between the compiler and the application programmer to identify opportunities enabled when pointers are guaranteed to be independent. The programmer can supply #PRAGMA INDEPENDENT annotations to suggest optimization opportunities.…”
Section: Introductionmentioning
confidence: 99%
“…For example some operators are commutative, and their operands can be swapped safely [16]. Some statements are independent from each other and their execution order can be altered [11]. Finally, conditionals and loops give room for various semantics preserving transformations such as promotion or predicate duplication [12].…”
Section: Other Issuesmentioning
confidence: 99%
“…This keyword is attached to particular pointer types and states that two pointers with the restrict property can never be aliased and used in ways that might overlap; Koes et al later generalized such annotations to express a wider range of aliasing properties [87]. This functionality, however, is limited to concrete locations within a program, and only supports one type of annotation.…”
Section: User Annotationsmentioning
confidence: 99%