Electronic Components Datasheet Search
  New Zealand  ▼
ALLDATASHEET.CO.NZ

X  

AN3350 Datasheet(PDF) 105 Page - STMicroelectronics

Part # AN3350
Description  eTPU compiler tools
PDF  185 Pages
Scroll/Zoom Zoom In 100%  Zoom Out
Manufacturer  STMICROELECTRONICS [STMicroelectronics]
Direct Link  http://www.st.com
Logo STMICROELECTRONICS - STMicroelectronics

AN3350 Datasheet(HTML) 105 Page - STMicroelectronics

Back Button AN3350 Datasheet HTML 101Page - STMicroelectronics AN3350 Datasheet HTML 102Page - STMicroelectronics AN3350 Datasheet HTML 103Page - STMicroelectronics AN3350 Datasheet HTML 104Page - STMicroelectronics AN3350 Datasheet HTML 105Page - STMicroelectronics AN3350 Datasheet HTML 106Page - STMicroelectronics AN3350 Datasheet HTML 107Page - STMicroelectronics AN3350 Datasheet HTML 108Page - STMicroelectronics AN3350 Datasheet HTML 109Page - STMicroelectronics Next Button
Zoom Inzoom in Zoom Outzoom out
 105 / 185 page
background image
AN3350
Intermediate optimizations
Doc ID 018512 Rev 2
105/185
Example 52 After expression simplification
void func_to(int* result1, int* result2, int* result3, int* result4,
int x){
*result1 = x;
*result2 = x << 1;
*result3 = 0;
*result4 = 5 + x;
}
13.1.3
Common subexpression elimination
Common subexpression elimination replaces multiple instances of the same expression
with a single instance. This optimization reduces size and increases execution speed.
Table 19 explains how to control the optimization for common subexpression elimination.
For example, in Example 53, the subexpression x * y occurs twice.
Example 53 Before common subexepression elimination
void func_from(int* vec, int size, int x, int y, int value)
{
if (x * y < size)
{
vec[x * y - 1] = value;
}
}
Example 54 shows equivalent source code after the compiler applies common
subexpression elimination. The compiler generates instructions to compute x * y and
store it in a hidden, temporary variable. The compiler then replaces each instance of the
subexpression with this variable.
Example 54 After common subexpression elimination
void func_to(int* vec, int size, int x, int y, int value)
{
int temp = x * y;
if (temp < size)
{
Table 19.
Controlling common subexpression elimination
Turn control this option from here...
use this setting
Source code
#pragma opt_common_subs on | off | reset
Command line
-opt [no]cse



Html Pages

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100  ...More


Datasheet Download

Go To PDF Page


Link URL



Does ALLDATASHEET help your business so far?  [ DONATE ] 

About Alldatasheet   |   Advertisement   |   Contact us   |   Privacy Policy   |   Link to Datasheet    |   Link Exchange   |   Manufacturer List
All Rights Reserved©Alldatasheet.com


Mirror Sites
English : Alldatasheet.com  |   English : Alldatasheet.net  |   Chinese : Alldatasheetcn.com  |   German : Alldatasheetde.com  |   Japanese : Alldatasheet.jp
Russian : Alldatasheetru.com  |   Korean : Alldatasheet.co.kr  |   Spanish : Alldatasheet.es  |   French : Alldatasheet.fr  |   Italian : Alldatasheetit.com
Portuguese : Alldatasheetpt.com  |   Polish : Alldatasheet.pl  |   Vietnamese : Alldatasheet.vn
Indian : Alldatasheet.in  |   Mexican : Alldatasheet.com.mx  |   British : Alldatasheet.co.uk  |   New Zealand : Alldatasheet.co.nz
Family Site : ic2ic.com  |   icmetro.com