Subversion Repositories Open64

[/] [trunk/] [osprey/] [wgen/] [wgen_spin_symbol.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 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

1 2 Next >

Show All