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