index.html revision ff5380f65f639f043680868c74927c15f7428499
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
2          "http://www.w3.org/TR/html4/strict.dtd">
3<!-- Material used from: HTML 4.01 specs: http://www.w3.org/TR/html401/ -->
4<html>
5<head>
6  <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
7  <title>"compiler_rt" Runtime Library</title>
8  <link type="text/css" rel="stylesheet" href="menu.css">
9  <link type="text/css" rel="stylesheet" href="content.css">
10</head>
11<body>
12<!--#include virtual="menu.html.incl"-->
13<div id="content">
14  <!--*********************************************************************-->
15  <h1>"compiler_rt" Runtime Library</h1>
16  <!--*********************************************************************-->
17  
18  <p>The compiler_rt project is a simple library that provides an implementation
19     of the low-level target-specific hooks required by code generation and
20     other runtime components.  For example, when compiling for a 32-bit target,
21    converting a double to a 64-bit unsigned integer is compiling into a runtime
22    call to the "__fixunsdfdi" function.  The compiler_rt library provides
23    optimized implementations of this and other low-level routines.</p>
24  
25  <!--=====================================================================-->
26  <h2 id="goals">Goals</h2>
27  <!--=====================================================================-->
28  
29  <p>Different targets require different routines.  The compiler_rt project aims
30     to implement these routines in both target-independent C form as well as
31     providing heavily optimized assembly versions of the routines in some
32     cases.  It should be very easy to bring compiler_rt to support a new
33     target by adding the new routines needed by that target.</p>
34     
35  <p>Where it make sense, the compiler_rt project aims to implement interfaces
36     that are drop-in compatible with the libgcc interfaces.</p>
37
38  <!--=====================================================================-->
39  <h2 id="features">Features</h2>
40  <!--=====================================================================-->
41
42   <p>The current feature set of compiler_rt is:</p>
43
44   <ul>
45    <li>Full support for the libgcc interfaces required by these targets:
46      <ul>
47      <li>Darwin i386</li>
48      <li>Darwin X86-64</li>
49      <li>Darwin PowerPC</li>
50      <li>Darwin PowerPC 64</li>
51      </ul></li>
52      
53    <li>High performance hand tuned implementations of commonly used functions
54        like __floatundidf in assembly that are dramatically faster than the
55        libgcc implementations.</li>
56    <li>A target-independent implementation of the Apple "Blocks" runtime
57        interfaces.</li>
58   </ul>
59  
60  <!--=====================================================================-->
61  <h2>Get it and get involved!</h2>
62  <!--=====================================================================-->
63  
64  <p>TODO.</p>
65</div>
66</body>
67</html>
68