Subversion Repositories Open64

[/] [branches/] - Rev 3353

Rev

Go to most recent revision

Filtering Options

Clear current filter

Rev Log message Author Age Path
3350 /branches/
3349 /branches/
3344 Merge trunk changes r3228-3343 to open64-booster branch. dcoakley 978d 07h /branches/
3341 when updating pts to set from the diff set (during solve), check if the node/offset that is being updated is ptr aligned rajiv 982d 05h /branches/
3339 /branches/
3331 /branches/
3329 /branches/
3328 /branches/
3325 for post IPA be, fixing section block ST's cg node.
The function is similar with ConstraintGraph::mapAliasedSyms, except
it avoids the problem of collapsing cg nodes.

Fix a bug in promotelocals, need update st be global
shihui 996d 23h /branches/
3324 leihuang 998d 23h /branches/
3319 Fix constraints graph node missing problem When IPA inline promote callee's
local static to global static.

1.In IPO_CLIONE: map local static and promoted global in ConstraintGraph ::promoteStIdxMap
2. In IPO process callee, invoke new method ConstraintGraph::promoteLocals
1. map st info to global cg with global st index.
2. iterate all orig local static's cg node in callee's local CG. Extract cg node from local cg and add into global cg.
3. erase orig cg_st_idx from local cg.


int b;
int i;

int* bar(int* p) {return p++;}
int foo(int a)
{
static int min[10] ;
static int *p;
p = bar(min);
if(a < min[i])
*p = a;

return min[i];
}


int main()
{
b = foo(b);
return b;
}
shihui 1002d 02h /branches/
3317 1. fix WN simp, when new tree generated copy alias cg node
2. Add pu name dump for alias reprot analyze
shihui 1003d 21h /branches/
3310 adding operator new(int) to cse table rajiv 1010d 02h /branches/
3306 Add include/gnu to list of directories to look for headers rajiv 1018d 14h /branches/
3305 - When adding edges between CGnodes, we may end up creating new offsets. If
the number of offsets excceds the threhsold, we end collaping the StInfo.
This forces the edges that were added to be marked deleted or renamed.
These new edges were being added to a hash set. If the edges were
deleted/renamed, the hash set is no longer consistent. So instead of adding
the new edges to an edge set, we add them to an edge list. The worklist
is then populated with this edge list. During the core solver, the edge
popped from the worklist that is marked deleted is then removed (CXX_DELETE).
rajiv 1021d 02h /branches/
3304 Revert the change from r3270 which builds libacml_mv.so for now.
After merge from main trunk, we had an inconsistency.
loreena 1022d 09h /branches/
3302 Merge from main trunk through revision 3301. loreena 1022d 23h /branches/
3300 solve trace in IPA is too big, provide a light weight trace for each steps. shihui 1023d 23h /branches/
3299 Fix tonto run time output differnce bug.
Cause: formal ref parameter is treated as paramter pass by value. points to info is not correct.
Solution: In ipa, when connect alias info, if formal is fomral_ref paramter, add an LOAD edge instead of copy edge between actual and formal.

Attatch the small case
LDID <a1, 0> in swap_real, points not points to array1 before fix.

program HelloWorld
INTERFACE
SUBROUTINE swap_real(a1, a2)
REAL :: a1(:), a2(:)
END SUBROUTINE swap_real
END INTERFACE

real :: array1(1:100), array2(1:100)
integer :: i
do i = 1, 100
array1(i) = i
array2(i) = 100-i
end do
call swap_real(array1, array2)
end program HelloWorld


subroutine swap_real(a1, a2)

implicit none

! Input/Output
real, intent(inout) :: a1(:), a2(:)

! Locals
integer :: lb(1), ub(1) ! Lower and Upper bounds
integer :: i
real :: a

! Get bounds
lb = lbound(a1)
ub = ubound(a1)

! Swap
do i = lb(1), ub(1)
a = a1(i)
a1(i) = a2(i)
a2(i) = a
end do

end subroutine swap_real
shihui 1023d 23h /branches/
3297 add -Wb,-tt24:0x400, dump for alias tag info in SSA. shihui 1029d 01h /branches/

1 2 Next >

Show All