Kylin C Compiler
Contents
Introduction
Test
Suites and Test Platforms
Known Bugs
and Issues with This Release
Acknowledgments
Copyright
and Legal Information
Frequently
Asked Questions
Kylin Compiler
Team
Download
Kylin C Compiler
Introduction
The Kylin C compiler (kcc),
based on the Open64 compiler
suite, is a C compiler for Intel's
XScale architecture. It is a cross compiler that runs on a Linux platform
and generates code for the XScale platform. The KCC compiler keeps all
the high level optimizations performed by the Open64 compiler. The code
generator has been retargeted to the XScale instruction set architecture.
The object code produced by the KCC compiler can link with objects produced
by other compilers such as RedHat
GNUpro.
This first release is planned
for use by a few experienced users to help us bring the KCC compiler to
production quality. These users should refer to the available Open64 documentation
for descriptions and explanations of the KCC features and options. Please
send problem reports to kcc@capsl.udel.edu.
We have included some, but not all, of the tests we have run.
This release includes only
object files generated by compiling the KCC source code with GCC. The downloading
and installation procedure of these object files on Linux host platforms
for cross-compilation is described in the accompanying README
file.
Many of the -O2 and -O3 optimizations
are not included with this release. Subsequent releases will include these
optimizations that can bring significant performance improvements. Some
of these optimizations have been developed specifically for KCC.
Test
Suites and Test Platforms
We have attached the
test results with the released compiler. These tests are run
on an instruction set software simulator distributed with the GNUPro
tool suite for XScale. We have also run these tests on several XScale
hardware platforms. If you plan to run programs compiled by KCC on
a specific hardware platform, we can provide you with some additional information
to help you build the appropriate compiler version for that platform.
Known
Bugs and Issues with This Release
Since the front-end of Open64
is based on gcc-2.96, some C99 features are not supported by current version
of Kylin C compiler. There are also a set of known bugs in the original
GCC release. For the same reason, some gcc extensions are not supported.
These languages features may be supported in the later releases of Kylin
C compiler. So we can classify the known bugs into the following categories.
-
Language features which are not
supported by GCC-2.96 front-end, such as some C99 features;
-
Known bugs in original GCC-2.96
release;
-
GCC-2.96 supported features,
but not supported by Open64, introduced during the porting of GCC-2.96
front-end to Open64 front-end, such as __label, nested function definitions,
and some GCC builtins.
-
Long long (64-bit) and
Complex are not supported by KCC so far ;
Please see the Test
Log File about the detailed benchmark list of passed and failed
test cases.
Acknowledgments
In the course of retargeting
the Open64 compiler infrastructure to XScale, we have had many helpful
discussions with our colleagues at other institutions. We are trying to
list all of them in KCC Friends List but we
are sure to missed someone. Please let us know if we missed your name.
Copyright
and Legal Information
Intel and XScale
are trademarks or registered trademarks of Intel Corporation or
its subsidiaries in USA and other countries.
Redhat and GNUPro
are trademarks or registered trademarks of Redhat Corporation or
its subsidiaries in USA and other countries.
KCC
Team
Prof. G. R. Gao - Supervisor and leader of CASPL group and the Kylin C
compiler project team
Ziang Hu - Compiler group leader, responsible for the overall design,
ABI, code generator, front-end, EBO, and code size optimization.
Haiping Wu - Back-end, assembly output, ABI, and soft floating
point support.
Hongbo Rong - software pipelining, loop optimization, register
allocation, and machine resource model
Hongbo Yang - Loop transformation, and back-end optimization
Yingping Zhang - testing
Yan Xie - peephole optimization
Yuan Zhang - code size optimization
Kylin C compiler has
been developed in the Computer
Architecture and Parallel Systems Laboratory lead by Prof.
G.R. Gao, of University
of Delaware Electrical and Computer
Engineering Department
This page is maintained by Ziang Hu, please send your request to: hu@capsl.udel.edu