Subversion Repositories Open64

[/] [trunk/] [osprey/] [be/] [com/] [wn_lower.cxx] - Rev 2694

Rev

Go to most recent revision | Details | Compare with Previous | Blame

Filtering Options

Clear current filter

Rev Log message Author Age Path
2694 merge open-sl branch change(r2110:2693) to trunk shenruifen 1268d 12h /trunk/osprey/be/com/wn_lower.cxx
2360 enhance the support tls on IA-64.
with this patch, programmer can specify the tls model for individual symbol.
laijx 1359d 09h /trunk/osprey/be/com/wn_lower.cxx
2322 Merge all changes through r2321 from open64-booster branch to trunk.

These changes include work done for AMD's x86 Open64 4.2.2 release.
dcoakley 1392d 19h /trunk/osprey/be/com/wn_lower.cxx
2111 merge open-sl branch change(r2035:r2110) to trunk shenruifen 1538d 18h /trunk/osprey/be/com/wn_lower.cxx
2079 Fix $431 in BugZilla.
Do not copy unneeded map to nested PUs.
laijx 1579d 16h /trunk/osprey/be/com/wn_lower.cxx
2004 Fixed some merge issues. These code should be NVISA specific.
They have negative effects on performance on IA-64 and x86_64.
laijx 1640d 15h /trunk/osprey/be/com/wn_lower.cxx
1950 Merge branches/merge08 into trunk.
Now the trunk is the latest revision for Open64 4.2 release.
The trunk now can generate code for 5 platforms:
- IA-32/x86_64
- IA-64 (Itanium)
- CUDA (from NVIDIA)
- SL (an embedded DSP architecture, from SimpLight)
- MIPS prototype (from ICT based on input from PathScale and SimpLight
The trunk is merged with PathScale 3.2 release with a lot of enhancement and
bug fix from Tsinghua Univ., NVIDIA, SimpLight, HP and ICT.
laijx 1698d 06h /trunk/osprey/be/com/wn_lower.cxx
1517 Add comment for r1516. dehao 1857d 18h /trunk/osprey/be/com/wn_lower.cxx
1516 Fix Bug OSP#438 dehao 1858d 05h /trunk/osprey/be/com/wn_lower.cxx
1467 Check in the whirl2c improvements. Most of them are done by Mengru. hucheng 1895d 13h /trunk/osprey/be/com/wn_lower.cxx
1429 Fix the impertinent merge. hucheng 1915d 10h /trunk/osprey/be/com/wn_lower.cxx
1411 Replace all files in trunk with the merge branch.
Now the files in trunk should be the same as in the merge branch
laijx 1945d 11h /trunk/osprey/be/com/wn_lower.cxx
1374 Fix the bug of r1373 dehao 1995d 16h /trunk/osprey/be/com/wn_lower.cxx
1373 Fix the the __builtin_return_address problem which trigger the regression to the following case:

void *f (){
return __builtin_return_address (0);
}

int main (void){
f();
return 0;
}
dehao 1995d 17h /trunk/osprey/be/com/wn_lower.cxx
1250 Recheck-in rev 1237, enable BE processing the builtin_constant_p. laijx 2074d 16h /trunk/osprey/be/com/wn_lower.cxx
1246 init implmentation of loop-multiversioning syang 2078d 23h /trunk/osprey/be/com/wn_lower.cxx
1214 Add the field "eh_info" of PU, which is used to store the EH related type/type_spec info in PU.
Previously, the info is stored into filed "unused", this looks strangely, so add the "eh_info".
Still preserve the field "unused", but not for EH now, just for alignement.
hucheng 2118d 11h /trunk/osprey/be/com/wn_lower.cxx
1137 Initial check-in for TLS supporting on IA64.
These components are modified:
1. Targ_Info: add supporting of TP, which is r13 on IA64
2. SYMTAB: add a new flag ST_IS_THREAD_LOCAL to st to identify the TLS data.
3. C/C++ FE: Set the ST is THREAD_LOCAL if it's qualified by __thread.
4. Data layout: Allocate THREAD_LOCAL data to .tdata or .tbss sections.
5. WN_LOWER: promote LDA/LDID in OPC_PARAM to upper level to avoid output registers conflicts.
6. WHIRL2OPs: Convert LDA/LDID/STID of TLS to OPs following the TLS spec.
7. CG EMIT: Generate the reloc directives.

TODO:
1. ME (LNO, WOPT, IPA): There are some codes referenced the THREAD_PRIVATE flag, some of them need to be modified to cover both THREAD_PRIVATE and THREAD_LOCAL.
2. x86_64/IA32 supporting
3. EBO enhancement: Some cases using TLS will fail at -O1. It's caused by EBO's bug.
4. More testing and check-in the test cases for TLS. Only -O0, -O2, -O3 are tested so far.
laijx 2151d 11h /trunk/osprey/be/com/wn_lower.cxx
1122 Lowering_Finalize() can be called in a row without intervening Lowering_Initializing(). So checking the validity of the WN_MAP is necessary for Lowering_Finalize() prior to delete the WN_MAP. According to current implementation of WN_MAP_Delete(), it is safe to delete a WN_MAP more than once. However, I think it is better to make sure that WN_MAP is valid before calling WN_MAP_Delete() upon it syang 2157d 15h /trunk/osprey/be/com/wn_lower.cxx
1121 1) fix problem of WN_object_size() which will return 0 when WN_desc() == MTYPE_M, 2) remember the WN from which a new mistore/miload WN is derived during WN_Lower(). By doing that, wn-lower obviates the need to reanalyze the points-to from scratch (at moment of lowering, no useful info can be obtained). 3) and others. syang 2158d 20h /trunk/osprey/be/com/wn_lower.cxx

1 2 Next >

Show All