author | stechong |
Wed, 20 Oct 2010 11:19:31 -0500 | |
changeset 2165 | 2a7b5eccb0bc |
parent 1641 | 2b3996fc09a1 |
permissions | -rw-r--r-- |
1641
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
1 |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
2 |
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
3 |
<head> |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
4 |
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
5 |
<meta http-equiv="Content-Style-Type" content="text/css" /> |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
6 |
<meta name="LASTUPDATED" content="06/17/05 11:09:43" /> |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
7 |
<title>inline_bottom_up</title> |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
8 |
<link rel="StyleSheet" href="../../book.css" type="text/css"/> |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
9 |
</head> |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
10 |
|
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
11 |
<body> |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
12 |
<h3>inline_bottom_up</h3> |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
13 |
<p> Controls the bottom-up function inlining method. </p> |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
14 |
<h5>Syntax</h5> |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
15 |
<p class="code">#pragma inline_bottom_up on | off | reset |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
16 |
</p> |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
17 |
<h5>Targets</h5> |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
18 |
All platforms.<br /> |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
19 |
<h5>Remarks</h5> |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
20 |
<p>Bottom-up function inlining tries to expand up to eight levels of inline leaf functions. The maximum size of an expanded inline function and the caller of an inline function can be controlled by the pragmas shown in Listing 10.23 and Listing 10.24.</p> |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
21 |
<div class="listing"> |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
22 |
<h4>Listing 10.23 Maximum Complexity of an Inlined Function</h4> |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
23 |
<p>// maximum complexity of an inlined function<br /> |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
24 |
#pragma inline_max_size( max ) // default max == 256</p> |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
25 |
</div> |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
26 |
<div class="listing"> |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
27 |
<h4>Listing 10.24 Maximum Complexity of a Function that Calls Inlined Functions</h4> |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
28 |
<p>// maximum complexity of a function that calls inlined functions<br /> |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
29 |
#pragma inline_max_total_size( max ) // default max == 10000</p> |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
30 |
</div> |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
31 |
<p>where <span class="code">max</span> loosely corresponds to the number of instructions in a function.</p> |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
32 |
<p>If you enable this pragma, the compiler calculates inline depth from the last function in the call chain up to the first function that starts the call chain. The number of functions the compiler inlines from the bottom depends on the values of <span class="code">inline_depth</span>, <span class="code">inline_max_size</span>, and <span class="code">inline_max_total_size</span>. This method generates faster and smaller source code for some (but not all) programs with many nested inline function calls.</p> |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
33 |
<p>If you disable this pragma, top-down inlining is selected, and the inline_depth setting determines the limits for top-down inlining.</p> |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
34 |
<p>The pragmas <a href="p_inline_max_size.htm">inline_max_size</a> and <a href="p_inline_max_total_size.htm">inline_max_total_size</a> do not affect the compiler in top-down mode.</p> |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
35 |
<p>This pragma corresponds to the Bottom-up Inline setting . To check this setting, use <span class="code">__option (inline_bottom_up)</span>, described in <a href="../symbols/sym_settings.htm">Checking Settings</a>. The default setting is <span class="code">off</span>.</p> |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
36 |
<div id="footer">Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. <br>License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a></div> |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
37 |
|
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
38 |
|
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
39 |
</body> |
2b3996fc09a1
revised x86 compiler dates, graphics, CSS, and release notes
fturovic <frank.turovich@nokia.com>
parents:
0
diff
changeset
|
40 |
</html> |