A Formally Verified Register Allocation Framework

نویسنده

  • Kent Lee
چکیده

When using formal methods to generate compilers it is desirable for all levels of the compiler to be formally specified. Typically, register allocation has been thought to be equivalent to graph coloring. Since graph coloring is NP-Complete most algorithms for register allocation have been ad-hoc. This paper presents a framework for register allocation that has been formally verified using an inductive theorem prover.

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

ثبت نام

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

منابع مشابه

Register Allocation with Instruction Scheduling : a New Approach 1

We present a new framework in which considerations of both register allocation and instruction scheduling can be applied uniformly and simultaneously. In this framework an optimal coloring of a graph, called the parallelizable interference graph, provides an optimal register allocation and preserves the property that no false dependences are introduced, thus all the options for parallelism are ...

متن کامل

Register Allocation Aware Instruction Selection

In existing optimization frameworks, compiler passes are not tightly integrated and often work at cross purposes. In this report we describe an integration framework for the key backend compiler optimizations of register allocation and instruction selection: Register Allocation Aware Instruction Selection (RAISE). We discover that the fundamental building block of the RAISE framework, register ...

متن کامل

Global Stack Allocation – Register Allocation for Stack Machines

Register allocation is a critical part of any compiler, yet register allocation for stack machines has received relatively little attention in the past. We present a framework for the analysis of register allocation methods for stack machines which has allowed us to analyse current methods. We have used this framework to design the first truly procedure-wide register allocation methods for stac...

متن کامل

A Framework for End-to-End Verification and Evaluation of Register Allocators

This paper presents a framework for designing, verifying, and evaluating register allocation algorithms. The proposed framework has three main components. The first component is MIRA, a language for describing programs prior to register allocation. The second component is FORD, a language that describes the results produced by the register allocator. The third component is a type checker for th...

متن کامل

Formalizing Resourve Allocation in a Compiler

On the basis of an A-normal form intermediate language we formally specify resource allocation in a compiler for a strict functional language. Here, resource is to be understood in the most general sense: registers, temporaries, data representations, etc. All these should be (and can be, but have never been) speciied formally. Our approach employs a non-standard annotated type system for the fo...

متن کامل

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


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

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

ثبت نام

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

عنوان ژورنال:
  • Electr. Notes Theor. Comput. Sci.

دوره 82  شماره 

صفحات  -

تاریخ انتشار 2003