CRAIG: a practical framework for combining instruction scheduling and register assignment

نویسندگان

  • Thomas S. Brasier
  • Philip H. Sweany
  • Steven J. Beaty
  • Steve Carr
چکیده

In compilers for machines with instruction-level parallelism, the phases of register assignment and instruction scheduling can be antagonistic. Whichever phase is executed first can have negative effects on the other’s performance. This paper describes a framework, called CRAIG (Combining Register Assignment Interference Graphs), that combines register assignment and instruction scheduling to alleviate the phase-orderingproblem. CRAIG utilizes information gained from instruction scheduling before register assignment as an upper bound on the freedom needed by the instruction scheduler to attain its “best” schedule. CRAIG then allows heuristics to choose how close to the “best” schedule one can get before the cost of additional register pressure is too high. Within the context of this framework, the paper evaluates an instance of CRAIG called CRAIG0.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

CRAIG : A Practical Framework for Combining Instruction Scheduling and RegisterAssignmentThomas

In compilers for machines with instruction-level parallelism, the phases of register assignment and instruction scheduling can be antagonistic. Whichever phase is executed rst can have negative eeects on the other's performance. This paper describes a framework, called CRAIG (Combining Register Assignment Interference Graphs), that combines register assignment and instruction scheduling to alle...

متن کامل

CARS: A New Code Generation Framework for Clustered ILP Processors

Clustered ILP processors are characterized by a large number of non-centralized on-chip resources grouped into clusters. Traditional code generation schemes for these processors consist of multiple phases for cluster assignment, register allocation and instruction scheduling. Most of these approaches need additional re-scheduling phases because they often do not impose finite resource constrain...

متن کامل

Uniied Cluster Assignment and Instruction Scheduling for Clustered Vliw Microarchitectures

There has been a trend towards microarchitectures that have disjoint register les to reduce the register le access time. The register le is partitioned and a set of functional units is assigned to each partitioned register le. The partitioned register le and its set of functional units constitute a cluster. Instruction scheduling for a clustered microprocessor requires assignment and scheduling...

متن کامل

Understanding and Improving Register Assignment

Register allocation can decrease instruction-level parallelism by prohibiting the scheduler from reordering instructions. The impact of register assignment strategies on a subsequent scheduling phase is explored. A new register assignment strategy and experimental results are presented.

متن کامل

Integrated Register Allocation and Instruction Scheduling with Constraint Programming

This dissertation proposes a combinatorial model, program representations, and constraint solving techniques for integrated register allocation and instruction scheduling in compiler back-ends. In contrast to traditional compilers based on heuristics, the proposed approach generates potentially optimal code by considering all trade-offs between interdependent decisions as a single optimization ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1995