DocumentCode :
1398639
Title :
The Intel IA-64 compiler code generator
Author :
Bharadwaj, Jay ; Chen, William Y. ; Chuang, Weihaw ; Hoflehner, Gerolf ; Meneze, Kishore ; Muthukumar, Kalyan ; Pierce, Jim
Author_Institution :
Technol. Res. Labs., Intel Corp., Santa Clara, CA, USA
Volume :
20
Issue :
5
fYear :
2000
Firstpage :
44
Lastpage :
53
Abstract :
In planning the new EPIC (Explicitly Parallel Instruction Computing) architecture, Intel designers wanted to exploit the high level of instruction-level parallelism (ILP) found in application code. To accomplish this goal, they incorporated a powerful set of features such as control and data speculation, predication, register rotation, loop branches, and a large register file. By using these features, the compiler plays a crucial role in achieving the overall performance of an IA-64 platform. This paper describes the electron code generator (ECG), the component of Intel´s IA-64 production compiler that maximizes the benefits of these features. The ECG consists of multiple phases. The first phase, translation, converts the optimizer´s intermediate representation (ILO) of the program into the ECG IR. Predicate region formation, if conversion, and compare generation occur in the predication phase. The ECG contains two schedulers: the software pipeliner for targeted cyclic regions and the global code scheduler for all remaining regions. Both schedulers make use of control and data speculation. The software pipeliner also uses rotating registers, predication, and loop branches to generate efficient schedules for integer as well as floating-point loops
Keywords :
compiler generators; pipeline processing; Intel IA-64 compiler code generator; application code; data speculation; electron code generator; explicitly parallel instruction computing; floating-point loops; global code scheduler; instruction-level parallelism; loop branches; production compiler; register file; register rotation; software pipeliner; translation; Availability; Character generation; Computer aided instruction; Concurrent computing; Electrocardiography; Feedback; Network address translation; Parallel processing; Production; Registers;
fLanguage :
English
Journal_Title :
Micro, IEEE
Publisher :
ieee
ISSN :
0272-1732
Type :
jour
DOI :
10.1109/40.877949
Filename :
877949
Link To Document :
بازگشت