|
Dosingle Loop
- Represents single assignment statement
- Each variable assigned must be indexed by all loop index variables
- Each element must be assigned only once
- A statement in a dosingle sees all the updates
- From previous or subsequent iterations
- From previous or subsequent statements
dosingle i = 1 to 4 do
a[i] = a[i-1] + 1
b[i] = b[i+1] + a[i-1]
enddo |
 |
Summary
- Re-structure code to exploit pipeline and caches.
- Convert sequential loops involving scalars to vector operation.
- Convert sequential loops into parallel loops.
- Partition data for data parallel model.
- Minimize messages to reduce overheads.
Control Flow Analysis
- Shows hierarchical flow of control
- Source control flow is not available in MIR or LIR
- Loops may be constructed of ifs and gotos
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|