HAL Id: inria-00073718
https://hal.inria.fr/inria-00073718
Submitted on 24 May 2006
HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.
SALTO : System for Assembly-Language Transformation and Optimization
Erven Rohou, François Bodin, André Seznec, Gwendal Le Fol, François Charot, Frédéric Raimbault
To cite this version:
Erven Rohou, François Bodin, André Seznec, Gwendal Le Fol, François Charot, et al.. SALTO : System for Assembly-Language Transformation and Optimization. [Research Report] RR-2980, INRIA. 1996.
�inria-00073718�
ISSN 0249-6399
a p p o r t
d e r e c h e r c h e
INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE
: System for Assembly-Language Transformation and Optimization
Erven Rohou, Fran¸cois Bodin, Andr´e Seznec, Gwendal Le Fol, Fran¸cois Charot, Fr´ed´eric Raimbault
N ˚ 2980
Septembre 1996
TH `EME 1
),+:<;>=8?@89AB)89/+
CDFEHGJILKMONMQPBR6SD?TUIV
W
MQXZY[,M\X]IBR3^I3\D_Ga`HGcbJIG
W R
de GJIf\TUgh3GSfMQg%RSfD?TUIV
W
MOXZY$i5N3T(DFMOj?kR3SD_G(\_GcDFX
W
KT(Xmlon3TUPg]jqp
rBsHt
u9vu,wyx{z$|u9}~uq(u9}~ J}
t
uvu9}
~
u96
3
zyq(
B(u
u9
s u s
u>c4x
u9(uv
uwF4x{45Qu9}
/f ¡F¢q£Q¤q¡4¥¦
$
§
§
Fq¨qU(¨
§
Fq
§©
(}ª4Q
§
9(¨«
¨© u9vOu9((u9} J}~u9v}Fª(
s
uQu
¬]
v®(9u~(J¯
§
(
u°c
§±
u9},v(¨©
§
(¨©uQq}~}u9}F²a³(´Hµ9¶·¹¸
J}~u9v
¬]
}~}u9vU¨± aºqUQu r
q(}
¬]
v®
§©
qU
¦
(
§v
§©»
q
§±
Q¼
§
}
u9%
u9%q(¨©u
¬]
qvu9½
4¾a¬]4
(u¿u9¨
§
Uoq¨©¨B
s
uÀ}Ou99
(v
q¬
J
¨±}
s
q
uUu9u9(u9
¬]4
Qu
¬]
v®(9u~(
§
(
*¨
½6¯Z¨©u9¿u9¨Á
(u9}$¸]q}~}u9vU¨± 4¯Z¨«q(4Qq4u9}¼
*U
§
9u9}¯
}
}F²Ã³(´Hµ9¶·Äu9Q(¨©u9}
s
u$(
§
¨©
§
(
q¬
Å
¨§
(Qª
q
§
Uoq(
(
§v
§©»
q
§±
Æ
J
¨©}² rBs
u$(}~u
§}
u}
(}
§
U¨±u
¬]4
§¿ §
(av$q
s(§
(u(u9}~
§
(
§©
q¬
s u$Â
4u9
s(§
u9
uªB½ s(§
so§
(¨±U(u9}
§
(}~
U9
§©
ǯÈ}~u9
¬
s uB
~
u9}}
ªU
u
§
}u s
U½É
uB
Å
q
§©
q(
u9}u
¿q
§±
J¯ZÂqU¨±u}
¬]
¨±¨
§
(}~
U9
§©
U}ªJ((
s(§
s
¯Z¨©u9¿u9¨
¬
((9
§©
(}Ê
uy
¿ §
(u9,
5sU§
v
¬]
½
§
§
(5qJ ,
J
¨U
~
u9}~
(
§
(
s(§
}B(u9u9(}F²
ËÌ
u
¿u
³(´Hµ9¶·Í½
§
¨±¨QuQ
q¬
4¨
Q¨}
¨©(
§±
¬]4
v$q
§
(U¨Î
§
(}}~u9v(¨© 4¯È
(u,
§
vU¨±uvu9J¨
½6¯Z¨©u9¿u9¨U
(u
u9}
(9~
§©
}3½Êu¨±¨Hq}Á
~
¿ §
Uu
s(§
s
¯Z¨©u9¿u¨Q
(u
u9}~
(9
u
½ § s
(}~u
¬
(¨
§
¬]
v®
§©
,
¨©¨©u99~u9
¬]~
vÏ
s
u5q}~}u9v(¨©u
Uu (
¬]
v §
(}
(
§©
$
~qÅ
¨§
(Q²
³(´Hµ¶·
s
q}Ou9u9~u9}~u9
,ÐZJu9¨(U¨Î
¬]4
v}
((
§
U º
§
cU¸
§©Ñ
4¼(
J
¨Î
§
}B¸
u9J
§
(v
¼
(
*
Q
9}%q
§±
(U
§
(
(
¦ } Ñ
²±w4²,Ïv®
sU§
Uu5(u9}~
§
(
§±
¬]
s u
Q
¿($
s(§
¯
~u99
u §
}
u9J¨© ÒF¿
§
¨«q(¨©u² r ½
u9(qvU¨±u}ªÊÀQ}
§
$(¨
¾Ó§
U}
(vuc%q
§±
oq(Òa¨
q¨
u
(u
§
(
(
§v
§©»
q
§©
ª
u
§
¿4u9
§
$
s
uQQu
q}
§
¨©¨©(}
§©
²
ÔÕJÖO×ÂØ5ÙO¢Ú q¥
q}~}u9v(¨© ¨«q(4Qq4uª
(
§v
§©»
§©
ª9u9vOu9((u} J}~u9v}Fª
u9}u
¿q
§±
%q(¨©u9}Fª(}~u
§
Ju
¬
quª
u99
§
u9J~u9ª(
v
§
¨«
§©
,
9u}}
Û©ÜÝ
ÞßZàá
Ý
ÞÁâã©ßZämå9æ
çÊè%éêmë9ìqë9íJîï4ë9ðqñóòîôméõZòqé~ö%î÷óéZøùë9÷©îömìqú9ê«ëûÈü%ýñóê]ñóômúqþø±ê
ÿ
ê]ú9ñ6ïqú9íq÷ùýíqòqñ«íFïqôþøùê
Unit´e de recherche INRIA Rennes
IRISA, Campus universitaire de Beaulieu, 35042 RENNES Cedex (France) T´el´ephone : (33) 99 84 71 00 – T´el´ecopie : (33) 99 84 71 71
#~,=8F@8) 89/+ :®yB:$Ï)51!$#9.3
ÕÇ Õ ¥
¨«À(¨©(Q
,(u9}qU(¨
§
Fq
§©
(}5
~§
§
°cUu9}ª6
Âqvvu9J¨©u9},} J}
t
u9vu9}uvQ
¯
°JB|u9}Fª3¨
(
§v §
}%q
§±
$(u9},Qu
¬]
v®(9u9}
u9°J
§u
U¨±U}
§
u9
}Q}}~u9}²2³(´Hµ9¶·Òu},(ou9J¿
§©
((u%¯
vu9JB(u
F¿
§¨
u9
§
(¨«(¨©u °J
§
Ou
vu9y¨±uB|u¿u9¨
UQu9vu9JÊUu5¨u(}u9vU¨±uy(u9}
(
§
¨©}6B|u99u}}Â
§©
u9}
¨óqQ¨© c}~u$u9$¨
(
§v §
}%q
§©
*(uÆOu
¬]
v®qU9u9}$}
(u}®
Uu9}Æq}~}u9vU¨±u
}
v ¯
~
9u9}}~u9
}²³(´Hµ9¶·
¬
q
§¨§
uB¨«
(}~
U9
§©
À
(
§
¨©}3
¨©uªJ¨«3|u9B|u
q
§©
®Uu
9u9}
u9¨
U
§v §
}Â
§
²$º (
§¨§
}Âu9
4§
¬]
§©
(
Å s(§
u
(u$(u9}~
§
(
§©
oUu®¨«$v$q
s(§
(u,
§
(¨©u²
6u9~u(u}
~§
U
§©
ª (
u9Æ!
§
(}~
(9
§©
(}(Æ
9u9}~}u9
ª
J
§
uc¨«
Å
4
§©
Àv®q(|u
§
u9¨©¨©u
u9y¨©u9}%q(¨©u9}y(u
|u9}~u
¿
§©
(}B|u
§
¿qJB¨(}Âu(u9}
u9}~}
9u}²#"(u
§
Ju
Z¬
9u5(u
s
q(¯È
§
¿4uqª
4§
u9J(|u9u
u9Fª(u9}~
¬]
§ uy
¨~|u9
~§
u Uu9}
(
§
¨©}Ê
J
§
¨5Ou9}
4§
²
$
(
uªU³(´Hµ9¶·au9}~Ê(u}
§
B|u t
&%u9
u U |u9¨|u9vu9J((uB}
¨©(
§±
4¨
Q¨±u6(uyv®q
§
U(¨«q
§©
(u
(u5}}uv(¨©u9
%qJ3
¨«
u9}
(
q
§©
®Uu
(u9}6(uyQq}¯È
§
¿4uq°J(uy
¨«
~
U(9
§©
§
¬]4
v$q
§©
t
,(u}
§
Q
§©
(
(
§v §
}u9
(u
s
(Z¯Z
§
¿uFq²
³(´Hµ¶·ÃÃ|u9(|u$u9}~(|u}~
(u9}(¨«u
¬]4
vu9}5ÐZJu9¨
¬m
(9
§©
(QJ}
(}º
§
J(Ò¸
§©Ñ
¼ u9
J
¨«
§
}
¸ uc
§
(v
~
¼ u9}
3
Q
9}~Â
§©
,}
(}
(
¦ } Ñ
²©w²'"(u6(u9}~
§
(
§±
Uu欗
sU§
~u99~
u
Q
6¿Ç
u9}~3
§
}
§
U¨±u4²(yu9(5u9Ju9v(¨©u9}ª((u
§
U}
(vuc%q
§±
(u9}3(¨
9}(u6Qq}~uÊuU
4
(QqU9u9vuc
¨
q¨ZªJ}
JBB|u9
~§
}Oq(}B9u §
9¨©uu9$
§
}~u !
§
¨©¨©(}
§©
²
) ÙO¡? × ¤+*,ÕÄ¥
q}~}u9vU¨±u
ª
U
§v §
}Â
§©
a(uOu
¬]
v®qU9u9}ª6}~ c}~
t
u9vu9}uvQ
°cB|u9}ª6Â(¨©u9}(u
§± § Z¬ § § ~§ s § §±
0 1
+53:À. 689/+
ÐZ
§}
Ou9¨
§u ¬ s
¬]4
v®c $
~§
§
q¨BqU(¨
§
Fq
§©
(}ªHO
§
9(¨«
¨±
§
*uvQu9U(u9*} J}~u9v}ª
s u
Ou
Z¬m
v$q(u3(
§
U
q¬
¨
½6¯Z¨©u9¿u9¨q
UuÊ(
HQu
s
q((¨©u9c 6}
§
(4¨±u ¯ÈQ}}H
v
§
¨©u
²32*uQu9¨
§
u9¿4u
s
q5}~(
s
Ou
Z¬m
v$q(u~(
§
(
u9°J
§©
u9}
s
u
J
Ou
q
§©
q¬
v®qJ $
J
¨±}
§
U9¨©(
§
(®}}~u9v(¨© 4¯
(u,}
s
u((¨©u
}%
4u9u
¬]4
s u
u9
§
}~u s
(½B
u
Å
q
§©
ª(
q
§
Uq(
qÅ
¨§
(,
J
¨±}
(
§
(}~
(9
§©
J¯È¨«F
(
(
§v
§©»
u }²
rBs
u9}uB
J
¨©}}
s(
(¨©
¬
u9u9
§
¬]
v®q
§©
BQ
¾ s u s(§
s
¯Z¨©u9¿u9¨
v
§
¨©u
²
rBs
u §
(
u}
§
((}%qu
¬s(§
s
¯ÈOu
Z¬m
v$q(uu9vOu9((u®}~ J}uv}BQ}u9
®z Ð
465ºHÐ72{
¯
s(§
u9
u9}
s
}
s(§
s ¨§ s
u9
s
uÊ(uu9
¬]4
J
¨±}
s
q¨©¨
½Æ
s
u3u}
§
v(¨©u9vu9JÂ
§©
¬cÅ
(u%¯Z
§
Q
¨±¨©u9¨
§
}v
(
§v
§±»
q
§©
(}q(o}}~u9v(¨© 4¯È
(u,
~qÅ
¨§
(®(
§
U}
(vuc%q
§±
ª¨
(½
§ s
99
qu(u9}~
§
(
§±
q¬
s uÂ
4u9
s(§
u99~
u$q(
s(§
sÀ
u9%
4u9Â
§¨§
Z J²³(´Hµ¶·3ª
u9}u9J~u9
§
$
s(§
}BQQu
ª §
}
ÅQ
}~}~u9
½É
s
uF¿
§
¨Î
§¨§
Z
¬
}U
s
5}~ c}~u9va²
³(´Hµ¶·
§
}®
u9%
u9%q(¨©u
¬]
vu9½
~¾o¬m
Uu9¿u9¨
§
(o
s
u*½ s(
¨©u}~Qu9
(v
q¬
c
¨©}®
s
q
v$q
§
((¨«u9}}}uv(¨© ¯Z¨«q(4Qq4u² rBs
u u99
§
¿u
q¬
}~(
s
Ó} J}~u9v
§
}$
~
¿ §
(ua
s
uÆ(}~u
½ § s
$}
§
U¨©uuc¿
§©
(vucy
s
½
§
¨©¨3q¨©¨
½ s(§
v
ˤ
v(¨©u9vu9JB
s
u
J
¨©}
s
uUu9u9(u9
¬]
Ou
Z¬m
v$q(u5(
§
U
ˬ
½6¯Z¨©u9¿u¨
(u9}8H
sU§
}y}u9
¬
J
¨©}
§
(9¨©(Uu9}5q}}~u9v(¨© 4¯È
Uu }~
s
u9((¨©u
}ª
}½6u9¨©¨Êq},
~qÅ
¨§
(q(*
§
(
J
¨±}
s
5
¿ §
(u
s
u(}~u
½ § s*§
¬]
v®
§©
*½ s u
u
¬]
9U}
U
§v
§©»
§©
(}3(
s(
½ u9
§
u9JB
s
u9 Fq$Qu4ª(
s u u
¬m
u,q¨©¨
½ §
U
(u
6:
s(§
9u}²
(
s
/} J}~u9v
§} §
Ju((u9a
q(
u9}}u9(u
q¨
v(U
§
(q}y½Êu¨±¨q}u9vOu9((u} J}~u9v}
¬]
½
s(§
s
(
§v
§©»
§©
U}
uv
u
§
§
Fq¨ (L
u9}}
§
¿uªBU(
§
vu ¯È
(}Uv
§
(~u9
s §
°J(u9}
uv
4
u
¨©u
(¨©u²
¨«
4ucUvQu
B¬
J
¨±}
s
F¿u5Ou9u9a½
§
~u9
u9JOu
§
vucy½
§ s
(u9½
(
§v
§©»
q
§±
(}
4
5
§
J
UQ
§
9U¨Î
vu9
s
q
§
}~v}² rBs(§
}(u9¿u¨
(vucH
s
q}~u
§
}4u9(u
q¨©¨©
§
vu
(}(v
§
(
(
u9°J
§©
u9}Bv(
s,§
c¿4u9}~vu9JF²"y
§¨§ §
u9}ÊqU¨±uy
9u
~qÅ
¨©uy
v}3u
§
}~ª4((6
s
u9
u
¬
u9À
¿ §
(u9<;Â}
§
}>=@?
s
u9 $
u
q¨©¨AQu9
§
(¨©uªQ(
(¨© ½
~¾¬]4
}Ou9
§Å
s(§
u9
u9}²
~((
§
(5Q
§
9U¨Î
(¨©u9v
§
}3¨
§©¾
u9¨©
u9°J
§©
u u9½
§
§
U
¬m
v }
q~
s
¨«
4uÊ
§
u9u9}
q¬
(u²
y}³(´Hµ9¶·
§}
uÂ
u9%q(¨©u½
§ s s u §
(}~
(9
§©
J¯È}~u9
s(§
~u99
uq}5½6u9¨©¨Ê}5½
§ s s
u
u9
§
}~u
%
4u9
s
U½É
uª
§ §
}B¨
§±¾
u9¨©
Qu,5v$
%Ás
u9¨©
¬]
}~(
s
}~(
§
u}²
³(´Hµ¶·
¿u
vu9},v®c a¨
§v §
Â
§©
(}
¬
u9¿
§±
(}}
¨©(
§©
U}?
§
u}
§
vU¨±uvu9J5qJ
¨±
~§
s v J
§
}~u9¨
¬
ª((
§
~}}~
Ou
§
}5
q*u9
(
s
q¨©¨
½ §
v(¨©u9vu9JÂ
§©
¬
u § s u
~
¯
Å ¨§
(
(
§v
§©»
q
§±
Æ~u9
s §
°J(u9}F²L ¨«
uv
Uc
q¬
½
4¾
(u9u9(uÒ½ s(§
¨©u®½
~¾J§
U
s u
}}uv(¨© ¯Z
(uB¨©u9¿4u9¨¸
(uQ
} §
(Oªq
U}
(9
§±
q¬
s
uy(u9Ou9((u9U9u5
q
s
ªu9~²ó¼
§
}3Qu
Z¬]4
vu
(
v®q
§
q¨©¨© J
s
u,} J}~u9va² r
s u,(}u
ªÁ³(´Hµ9¶·
~
¿ §
(u}q
u99¯
4§
u9Ju
§
Ju
¬
q9u,
(uFq¨B½
§ s
q}}~u9v(¨© 4¯È
Uu² rBs
u u99}
JÂ
§
vU¨±uu(u9}~
§
(
§©
q¬
s u$
c
¨ù¯A
½
q
s*q¬
s u
v7¸«½
s
u9 F¿
§
¨«q(¨©u¼yq(ov
Uu9¨
q¬
s uÂ
4u9
s(§
u9
u² rBs
u9
u
u}
§
¨© oq9u9}}
§
U¨±uÀ
s(~
(
s s
u®U}u
§
Ju
¬
quÌ(o
¿ §
(u®À
v
¬]
Â(¨©u½BF *
a§
v(¨©u9vu9J
¨±
~§
s v}Á½
§ s(
U
s
F¿
§
(,
½
~
®
(
§
¬]
q}
(
u²
2 § s
³(´Hµ9¶· ½6u(¨«qÀ
q(
u9}~}5
s u Å
u9¨©
¬
}
¬
Z½É
uqQ¨© c}
§
} (
(
§v
§©»
q
§±
¬]4
}J¯
Ou
}~q¨«
qUB5ºHÐ72 s(§
u99~
u}²
u99
§©
u9¿
§
u½B}
u9¨«q~u9o½
~¾
}(*
4§
c~}
U
s(
½
J
¨6
¿ §
(u9}$v
4
u4u9(u
q¨
(
§
J~u9
qu}
¨©(
§©
¬]
(
§
¨©
§
(5
9u
}Fª(
~qÅ
¨©u
}q(
(
§v
§©»
u }²
rBs
uyu9(u
q¨q(
s