| 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 |