| Rev |
Log message |
Author |
Age |
Path |
| 2694 |
merge open-sl branch change(r2110:2693) to trunk |
shenruifen |
1271d 18h |
/trunk/osprey/wgen/wgen_spin_symbol.cxx |
| 2360 |
enhance the support tls on IA-64.
with this patch, programmer can specify the tls model for individual symbol. |
laijx |
1362d 15h |
/trunk/osprey/wgen/wgen_spin_symbol.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 |
1396d 01h |
/trunk/osprey/wgen/wgen_spin_symbol.cxx |
| 2314 |
Change the storage/export class for g++ guard variable
In previous implementation, it's GLOBAL and PREEMPTIBLE.
It will cause problems in static objects with the same name in
static functions with the same name in different TU.
In this patch, we change it to PSTATIC/LOCAL unless it's weak.
If it's weak, we still use GLOBAL/PREEMPTIBLE. |
laijx |
1411d 15h |
/trunk/osprey/wgen/wgen_spin_symbol.cxx |
| 2308 |
fixed the bug introduce by revision 2119
see OSP bug 533 |
ycwu |
1418d 19h |
/trunk/osprey/wgen/wgen_spin_symbol.cxx |
| 2119 |
use the decl_name(decl_node) instead of 'anon*' for local variables.
decl_name is more firendly than 'anon*'. |
laijx |
1537d 18h |
/trunk/osprey/wgen/wgen_spin_symbol.cxx |
| 2116 |
-dd -mmmx, -msse,-msse2 to the preprocess phase. fixed bug 514
2. fixed some calling convention problem keep consist with gcc, like following (bug 515)
parameters passing and return value in gcc
32bit:
8 bytes vector:
-mmmx: use mm0~mm2 for parameters, mm0 for return value
-mno-mmx: use memory for parameters and return value
16 bytes vector:
-msse: use xmm0 ~ xmm2 for parameters, xmm0 for return value
-mno-sse: use memory for parameters and return value
FP( float, double):
-msseregparm: use xmm0~xmm2 for parameters, xmm0 for return value
-else: use memory for parameters and return value
64bit:
all the above use xmm0 ~ xmm7 for parameters, xmm0 for return value
3. fixed bug 516
4. fixed bug 517, which emit 64bit assembly code in 32bit target
5. change the build in operation __builtin_ia32_vec_ext_v2si according to gcc's result.
buildin operation __builtin_ia32_vec_ext_v2si ( i,0) and buildin operation __builtin_ia32_vec_ext_v2si ( i,1) get different result
in gcc but open64 will ignore the second parameter.
-This line, and those below, will be ignored--
M osprey/be/cg/x8664/expand.cxx
M osprey/be/cg/x8664/cgtarget.cxx
M osprey/be/cg/x8664/exp_loadstore.cxx
M osprey/driver/OPTIONS
M osprey/driver/opt_actions.c
M osprey/driver/phases.c
M osprey/common/com/targ_sim_core.h
M osprey/common/com/x8664/config_targ_opt.h
M osprey/common/com/x8664/targ_sim.h
M osprey/common/com/x8664/config_targ_opt.cxx
M osprey/common/com/x8664/targ_sim.cxx
M osprey/common/com/x8664/config_targ.h
M osprey/wgen/wgen_spin_symbol.cxx |
ycwu |
1540d 00h |
/trunk/osprey/wgen/wgen_spin_symbol.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 |
1701d 12h |
/trunk/osprey/wgen/wgen_spin_symbol.cxx |
| 1532 |
Ignore .gnu.linkonce.* in both gnu3 and gnu4 FE.
This fix is an enhancement to rev 1487 |
laijx |
1842d 18h |
/trunk/osprey/wgen/wgen_spin_symbol.cxx |
| 1487 |
Fix 3 problems for -shared -ipa build:
1. Set the flag has_named_section in Wgen correctly
2. When generating symbol table in ipa, if the symbol is set with "has_named_section", we shouldn't generate seperate section for this symbol.
3. In type merging (IPA Cloning), if we merge two symbols, one of which is set with "has_named_section", the merged symbol should also has "has_named_section" set. |
dehao |
1879d 20h |
/trunk/osprey/wgen/wgen_spin_symbol.cxx |
| 1466 |
When we set thunk function to weak, we have to make sure that the function is not a LOCAL and LOCAL_INTERNAL symbol. |
dehao |
1898d 23h |
/trunk/osprey/wgen/wgen_spin_symbol.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 |
1948d 17h |
/trunk/osprey/wgen/wgen_spin_symbol.cxx |
| 1286 |
1) Move vtable info from TY to PU so that memory size is saved and make type merge phase more simple and robust.
2) Let X8664 FE and IPL recognize virtual function call.
3) Process the constructor of base class in the subclass. |
shiyao |
2054d 10h |
/trunk/osprey/wgen/wgen_spin_symbol.cxx |
| 1150 |
Fix for bug #361.
This fix was provided by Fred - THANKS! |
rhundt |
2150d 02h |
/trunk/osprey/wgen/wgen_spin_symbol.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 |
2154d 17h |
/trunk/osprey/wgen/wgen_spin_symbol.cxx |
| 1104 |
Fix bug312. See https://bugs.open64.net/show_bug.cgi?id=312 |
paulyuan |
2171d 11h |
/trunk/osprey/wgen/wgen_spin_symbol.cxx |
| 1101 |
Implementation of devirtualization.
ipa_chg.h and ipa_chg.cxx implement class hierarchy graph.
ipa_devitual.h and ipa_devirtual.cxx implement C++ devirtualization.
The switch of devirtualization is "-IPA:enable_devirtualization=true|false". The default is off (false).
This phase muse be verified after IPA robustness work. |
shiyao |
2171d 18h |
/trunk/osprey/wgen/wgen_spin_symbol.cxx |
| 1064 |
Fix #325 in BugZilla, make the level of the ST and its ST_ATTR the same |
laijx |
2181d 12h |
/trunk/osprey/wgen/wgen_spin_symbol.cxx |
| 1047 |
Rename kpro64 to osprey. The makefile will not work in several hours |
laijx |
2186d 12h |
/trunk/osprey/wgen/wgen_spin_symbol.cxx |
| 991 |
Bug fix for #274 - WHIRL writing error.
This fix was contributed by Fred. Thanks a ton! |
rhundt |
2201d 01h |
/trunk/osprey/wgen/wgen_spin_symbol.cxx |