||Fixed bug 675 - IPA generates incorrect line/file table information:
IPA currently line number information in WHIRL statements for code
being inlined is being replaced with the line number information
associated with the call (see note * below).
The fix is to have IPA generate a global file table along with maps
for each input WHIRL file that maps an index into the input file table
to an index into the global file table.
Then during processing done IP_READ_fix_tree the file index field in
the SRCPOS record in each WHIRL statement node is updated to use the
appropriate global file table index.
In output_queue::flush() the current state of the global file table is
written to the current .I file. Note that the processing to do this
is done by a newly added routine copy_DST_Type(). Also the routine
merge_directories_and_files(), which AFAICS has always generated bogus
file tables, is no longer called and has been removed.
Reviewed and approved by Gautam.
Note *: A workaround in IPO_INLINE::Process_Op_Code was added with the
PSC 1.3 merge which prevents assembly errors when out-of-ranges file
indices were detected in the .loc assembly directives (if you take out
this work around in previous version of the compiler, the IPA compile
of SPEC xalancbmk will likely fail). This change removes this
||code clean up , remove the useless "#if 1" "#if 0" macros in source code
||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-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.
||Using mmap to load in the archive files if it contains whirl object files.
||This check in is about IPA scalability, which includes:
1. Fix several memory leak bugs.
2. In ipa, release the memory of an IPA_NODE once it's not written back to disk.
3. In ipa, release the mmap memory once all PUs in the mmapped file are written back to disk.
Code reviewed by Sun Chan.
||Rename kpro64 to osprey. The makefile will not work in several hours
||The 'merge' branch is now our new trunk.
||Remove directory merge/trunk, added by mistake.
||Create new branch 'merge' from trunk
||This is the first step of reorganizing the repository (and many will
The new repository will have the following main structure:
Branches of Open64, like Open64-2.0, will be put here
Here is our development code.
Final releases, like Open64-2.0, Open64-2.0.1, etc, will be put here
||Branch off the PathScale 2.2.1 import.
||Rename osprey1.0 to kpro64 in preparation of importing version 1.0
||Bootstrap the PathScale branch from the pro64 sources.
||Import of SGI's Pro64 compiler suite, version 0.01.0 (package release 13).
Sources have been normalized in the following way:
1. Deleted osprey1.0/.census
2. Deleted osprey1.0/census,v
3. Removed $Log$ keyword from osprey1.0/arith/edition.c
4. Reset CVS keywords to a preset value