Last update: Thu Apr 12 03:37:15 MDT 2012
Top |
Symbols |
Numbers |
Math |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z
BibTeX entry
@Article{Briggs:1992:R,
author = "Preston Briggs and Keith D. Cooper and Linda Torczon",
title = "Rematerialization",
journal = j-SIGPLAN,
volume = "27",
number = "7",
pages = "311--321",
month = jul,
year = "1992",
CODEN = "SINODQ",
ISBN = "0-89791-475-9",
ISBN-13 = "978-0-89791-475-8",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
ISSN-L = "0362-1340",
LCCN = "QA76.7.S53 1992",
bibdate = "Sun Dec 14 09:16:22 MST 2003",
bibsource = "Compendex database; http://portal.acm.org/;
http://www.acm.org/pubs/contents/proceedings/pldi/143095/index.html",
URL = "http://www.acm.org:80/pubs/citations/proceedings/pldi/143095/p311-briggs/",
abstract = "This paper examines a problem that arises during
global register allocation --- {\em
rematerialization\/}. If a value cannot be kept in a
register, the allocator should recognize when it is
cheaper to recompute the value (rematerialize it) than
to store and reload it. Chaitin's original
graph-coloring allocator handled simple instance of
this problem correctly. This paper details a general
solution to the problem and presents experimental
evidence that shows its importance. Our approach is to
tag individual values in the procedure's SSA graph with
information specifying how it should be spilled. We use
a variant of Wegman and Zadeck's {\em sparse simple
constant\/} algorithm to propagate tags throughout the
graph. The allocator then splits live ranges into
values with different tags. This isolates those values
that can be easily rematerialized from values that
require general spilling. We modify the base allocator
to use this information when estimating spill costs and
introducing spill code. Our presentation focuses on
rematerialization in the context of Chaitin's
allocator; however, the problem arises in any global
allocator. We believe that our approach will work in
other allocators-while the details of implementation
will vary, the key insights should carry over
directly.",
acknowledgement = ack-nhfb,
affiliation = "Rice Univ",
affiliationaddress = "Houston, TX, USA",
annote = "Published as part of the Proceedings of PLDI'92.",
classification = "723.1",
conference = "Proceedings of the ACM SIGPLAN '92 Conference on
Programming Language Design and Implementation",
conferenceyear = "1992",
journalabr = "SIGPLAN Not",
keywords = "algorithms; Chaitin-style allocators; Computer
programming; experimentation; Global register
allocation; Program compilers; Rematerialization",
meetingaddress = "San Francisco, CA, USA",
meetingdate = "Jun 17--19 1992",
meetingdate2 = "06/17--19/92",
sponsor = "ACM",
subject = "{\bf G.2.2} Mathematics of Computing, DISCRETE
MATHEMATICS, Graph Theory, Graph algorithms. {\bf
D.3.4} Software, PROGRAMMING LANGUAGES, Processors,
Optimization. {\bf D.3.4} Software, PROGRAMMING
LANGUAGES, Processors, Compilers. {\bf F.3.3} Theory of
Computation, LOGICS AND MEANINGS OF PROGRAMS, Studies
of Program Constructs.",
}
Related entries
- allocator,
25(6)53,
27(7)300,
28(6)177,
28(6)187,
28(6)268,
29(6)266,
29(12)112
- any,
25(4)73,
25(6)92,
27(7)82,
27(7)116,
27(7)175,
27(7)200,
27(7)224,
27(7)273,
28(3)69,
28(3)177,
28(3)359,
28(3)367,
28(6)177,
28(6)197,
28(8)90,
29(11)232,
29(11)242,
30(6)67,
30(6)186,
30(6)196,
30(6)218,
30(11)41,
30(11)134,
33(7)1
- arise,
27(7)140,
28(3)363,
29(6)278,
30(6)218,
33(7)59
- base,
28(3)355,
29(11)171,
30(6)79-1,
30(8)19,
30(8)68,
30(8)217,
33(12)66
- believe,
27(7)140,
27(9)262,
27(9)285,
28(6)300,
29(11)2
- Briggs, Preston,
29(6)159,
31(1)4,
31(1)4-1,
31(4)11,
31(4)11-1,
31(8)5,
31(8)5-1,
31(11)33,
31(11)33-1,
32(4)19
- cannot,
25(6)92,
25(6)272,
28(6)278,
28(7)83,
29(6)147,
29(6)218,
29(11)86,
30(3)13,
30(6)67,
30(6)151,
30(6)196,
30(6)205,
30(6)218
- carry,
25(6)112,
28(7)83
- constant,
25(6)66,
26(7)51,
28(6)78-1,
28(6)90,
28(7)208,
29(1)53,
29(3)28,
29(5)3,
29(6)24,
29(6)61,
29(6)121,
29(10)244,
30(2)42,
30(4)13,
30(4)13-1,
30(6)23,
30(6)23-1,
30(6)67,
30(6)246,
30(8)92,
30(8)207
- context,
24(3)34,
26(4)28,
26(4)75,
27(4)77,
27(7)22,
28(6)156,
28(7)23,
28(7)187,
29(6)24,
29(6)218,
29(6)242,
29(6)242-1,
29(8)46,
29(8)111,
29(8)119,
29(11)308,
29(11)319,
29(11)328,
30(3)50,
30(3)94,
30(6)1,
30(8)48,
31(6)239,
32(5)85,
32(12)63,
32(12)63,
33(7)83
- Cooper, Keith D.,
29(6)159,
32(5)308,
33(11)2,
34(5)139,
34(7)1
- correctly,
25(6)112,
27(7)152,
29(6)302,
30(3)1,
30(6)79-1,
31(5)108,
33(7)35
- cost,
25(6)66,
26(4)28,
26(12)26,
27(7)188-1,
27(7)300,
27(9)262,
28(6)217,
28(6)268,
28(7)218,
29(6)61,
29(6)73,
29(9)135,
29(10)324,
29(10)341,
29(11)51,
29(11)61,
29(11)76-1,
29(11)86,
29(11)98,
29(11)110,
29(11)158,
29(11)242,
29(11)252,
29(11)263,
29(11)274,
29(11)319,
29(12)66,
30(3)35,
30(3)50,
30(6)93,
30(6)103,
30(6)301,
30(8)189,
31(6)92,
31(10)306,
32(5)320,
32(5)320-1,
32(8)292,
32(10)342,
32(10)342-1,
33(7)51,
33(7)67,
34(7)20
- detail,
25(6)137,
27(7)1,
28(3)37,
28(3)209,
28(3)347,
28(6)177,
29(6)196,
29(11)263,
30(6)291,
30(8)19,
30(8)217
- different,
25(4)59,
25(6)1,
25(6)296,
25(12)85,
27(7)1,
27(7)82,
27(7)152,
27(7)162,
27(7)188-1,
27(7)212,
27(9)223,
27(12)20,
28(3)97,
28(3)177,
28(3)365,
28(3)367,
28(6)13,
28(6)90,
28(6)197,
28(6)278,
28(7)13,
28(7)179,
28(7)198,
29(6)36,
29(6)97,
29(6)266,
29(8)1,
29(8)94,
29(8)101,
29(8)119,
29(11)25,
29(11)61,
29(11)76-1,
30(3)23,
30(3)111,
30(8)112,
30(8)199,
33(7)11,
33(7)67
- directly,
25(6)223,
25(6)257,
25(6)337,
27(7)224,
28(3)361,
28(6)1,
29(6)135,
29(6)196,
29(6)242,
29(6)242-1,
29(11)2,
30(3)13,
30(3)62,
30(8)48,
33(7)19
- DISCRETE,
25(6)16,
25(6)40,
25(6)85-1,
25(6)223,
25(6)234,
25(6)246,
25(6)272,
25(6)283,
25(6)296,
25(6)337,
26(6)130,
26(6)177-1,
26(6)192,
26(6)204,
26(6)241,
26(6)256,
27(7)162,
27(7)300,
27(7)331,
28(6)78-1,
28(6)112,
28(6)126,
28(6)248,
28(6)268,
28(6)278,
28(6)290,
28(6)300,
29(6)135,
29(6)266,
30(3)1,
30(3)23,
30(3)35,
30(3)50,
30(6)32,
30(6)47,
30(6)163-1,
30(6)186,
30(6)246,
30(11)70,
31(5)54,
31(5)278,
31(5)291,
31(9)222-1,
31(9)234,
32(5)85,
32(5)171,
32(5)235,
32(5)249,
32(5)261,
32(5)287,
32(5)296-1,
33(5)15,
33(5)26-1,
33(5)60,
33(5)85-1,
33(5)97,
33(5)142,
33(11)218,
34(3)57
- during,
25(6)165,
25(6)246,
25(6)337,
27(7)32,
27(7)235,
27(7)273,
28(3)299,
28(3)359,
28(6)68,
28(6)217,
28(7)208,
30(8)123,
30(11)50,
30(11)117,
32(10)1,
32(10)1-1,
34(11)44
- easily,
25(6)283,
27(7)55,
27(7)82,
27(7)94,
27(7)162,
27(9)248,
28(6)278,
29(6)266,
29(11)196,
29(11)263,
29(11)286,
30(3)35,
30(3)71
- estimating,
25(6)174,
28(7)129
- evidence,
27(6)84,
28(7)129
- examine,
25(6)337,
27(7)82,
27(7)212,
28(3)231,
28(7)83,
29(11)12,
29(11)145,
29(11)219,
29(11)319,
30(11)88,
33(7)75
- experimental,
25(2)35,
25(6)53,
25(6)174,
27(7)273,
27(9)238,
27(10)235,
28(6)217,
28(6)268,
28(7)129,
28(7)218,
29(1)3,
29(6)171,
29(6)266,
29(6)349,
29(6)349-1,
29(10)51,
29(11)25,
29(11)171,
29(11)232,
30(6)23,
30(6)67,
30(6)186,
30(6)205,
30(6)218,
30(8)102,
30(8)112,
30(8)123,
30(8)134,
30(8)144,
30(8)156
- focus,
27(7)55,
28(3)149,
28(3)271,
28(4)7,
28(6)300,
28(7)13,
29(11)286,
29(11)297,
30(8)29,
30(8)58,
30(8)207,
30(11)60,
33(7)43
- G.2.2,
25(6)16,
25(6)40,
25(6)85-1,
25(6)223,
25(6)234,
25(6)246,
25(6)272,
25(6)283,
25(6)296,
25(6)337,
26(6)130,
26(6)177-1,
26(6)192,
26(6)204,
26(6)241,
26(6)256,
27(7)162,
27(7)300,
27(7)331,
28(6)78-1,
28(6)112,
28(6)126,
28(6)248,
28(6)268,
28(6)278,
28(6)290,
28(6)300,
29(6)135,
29(6)266,
30(3)1,
30(3)23,
30(3)35,
30(3)50,
30(6)32,
30(6)47,
30(6)163-1,
30(6)186,
30(6)246,
31(5)54,
31(5)278,
31(5)291,
31(9)222-1,
31(9)234,
32(5)85,
33(5)15,
33(5)26-1,
33(5)60,
33(5)85-1,
33(5)97,
33(5)142
- global,
25(6)28,
25(6)272,
26(6)120,
26(6)241,
26(12)144,
26(12)167,
27(7)82,
27(7)106,
27(7)128,
27(7)212,
27(7)300,
27(7)322,
27(9)248,
28(6)112,
28(6)126,
28(6)268,
28(6)268-1,
28(6)290,
28(7)54-1,
28(7)92,
28(7)139,
28(12)21,
29(6)36,
29(6)49,
29(6)159,
29(6)266,
29(10)16,
29(10)113,
29(10)324,
30(3)23,
30(3)94,
30(6)67,
30(6)196,
30(6)246,
30(11)108,
31(5)68,
31(9)37,
31(9)258,
31(12)69,
32(1)66,
32(7)230,
32(8)188
- handled,
25(6)66,
29(11)297
- how,
25(4)51,
25(5)95,
25(6)1,
25(6)53,
25(6)92,
25(6)112,
25(6)223,
26(11)359,
27(1)95,
27(6)64,
27(7)82,
27(7)106,
27(7)140,
27(7)162,
27(7)212,
27(7)249,
27(7)341,
27(9)248,
27(12)28,
27(12)47,
28(3)1,
28(3)353,
28(6)46,
28(6)78-1,
28(6)126,
28(6)177,
28(6)258,
28(7)64,
28(7)83,
28(7)149,
28(8)57,
28(10)429,
28(10)429-1,
28(11)9,
28(11)9-1,
29(6)121,
29(6)171,
29(8)35,
29(8)74,
29(8)84,
29(10)468,
29(11)2,
29(11)145,
29(11)208,
30(3)23,
30(3)62,
30(3)71,
30(3)94,
30(4)13,
30(5)3,
30(6)103,
30(6)116,
30(6)139,
30(8)102,
30(10)251,
30(11)50,
30(11)70,
30(11)79,
32(6)75,
32(10)206,
33(10)134,
33(11)252,
34(3)10
- however,
25(6)66,
25(6)85-1,
25(6)234,
28(3)351,
28(3)363,
28(6)68,
28(6)147,
28(7)54-1,
29(6)1,
29(6)85,
29(6)218,
29(6)302,
29(6)337,
29(6)337-1,
29(8)1,
29(11)12,
29(11)51,
29(11)86,
29(11)110,
29(11)171,
29(11)183,
29(11)252,
29(11)274,
29(11)308,
29(11)328,
30(3)23,
30(3)62,
30(3)94,
30(6)279,
30(6)291,
30(6)301,
30(8)48,
30(8)217,
30(11)134,
33(7)67
- importance,
25(6)283,
28(7)54-1,
29(6)337,
29(6)337-1,
29(11)110,
29(11)242,
30(8)134
- individual,
25(6)40,
27(7)200,
28(3)177,
28(3)299,
28(6)126,
28(7)92,
28(7)187,
29(6)13,
29(12)94,
30(8)179
- insight,
27(12)28,
28(7)33,
33(7)1
- instance,
25(6)85-1,
27(7)322,
28(3)367,
28(6)126,
29(6)135,
29(10)427,
29(12)48,
29(12)58,
30(7)52,
30(7)52,
33(7)19
- introducing,
28(6)156,
30(7)52,
30(7)52,
30(9)41,
30(11)31,
31(12)73
- isolate,
27(7)22,
28(6)1
- it,
27(9)274,
30(3)94,
30(6)56,
30(8)179
- kept,
28(6)248
- key,
25(6)112,
26(11)33,
27(7)152,
28(3)271,
28(7)33,
29(6)230,
29(11)2,
29(11)38,
29(11)319,
30(3)94,
30(6)163-1
- live,
26(9)166,
27(7)273,
27(7)300,
28(6)268,
28(12)12,
28(12)12-1,
29(6)257,
29(6)257-1,
29(11)286,
34(7)45
- MATHEMATICS,
25(6)16,
25(6)40,
25(6)85-1,
25(6)223,
25(6)234,
25(6)246,
25(6)272,
25(6)283,
25(6)296,
25(6)337,
26(6)130,
26(6)177-1,
26(6)192,
26(6)204,
26(6)241,
26(6)256,
27(7)162,
27(7)300,
27(7)331,
28(6)78-1,
28(6)112,
28(6)126,
28(6)248,
28(6)268,
28(6)278,
28(6)290,
28(6)300,
29(6)135,
29(6)266,
30(3)1,
30(3)23,
30(3)35,
30(3)50,
30(6)32,
30(6)47,
30(6)163-1,
30(6)186,
30(6)246,
30(11)70,
31(5)54,
31(5)278,
31(5)291,
31(9)222-1,
31(9)234,
32(5)85,
32(5)171,
32(5)235,
32(5)249,
32(5)261,
32(5)287,
32(5)296-1,
33(5)15,
33(5)26-1,
33(5)60,
33(5)85-1,
33(5)97,
33(5)142,
33(11)218,
34(3)57
- modify,
25(6)112,
30(6)291
- original,
27(7)1,
28(3)345,
28(3)365,
28(6)166,
28(6)217,
28(7)179,
29(6)36,
29(11)252,
30(6)246,
30(8)166,
30(11)7,
33(7)1,
33(7)19,
33(7)75
- PLDI'92.,
27(7)1,
27(7)12,
27(7)22,
27(7)32,
27(7)44,
27(7)55,
27(7)68,
27(7)82,
27(7)94,
27(7)106,
27(7)116,
27(7)128,
27(7)140,
27(7)152,
27(7)162,
27(7)175,
27(7)188-1,
27(7)200,
27(7)212,
27(7)224,
27(7)235,
27(7)249,
27(7)261,
27(7)273,
27(7)283,
27(7)300,
27(7)322,
27(7)331,
27(7)341
- range,
25(6)272,
27(7)1,
27(7)300,
27(9)238,
28(3)359,
28(6)46,
28(6)100,
28(6)268,
28(6)268-1,
29(6)196,
29(6)257,
29(6)257-1,
29(6)290,
29(10)191,
29(11)2,
29(11)25,
29(11)86,
29(11)145,
29(11)242,
29(11)274,
29(11)297,
30(6)67,
30(6)79-1,
30(6)103,
30(6)151,
30(6)270,
30(11)79,
33(7)59
- recognize,
25(6)283,
27(7)152
- require,
25(1)59,
25(6)66,
25(6)85-1,
25(6)92,
25(6)102,
25(10)237,
27(7)1,
27(7)12,
27(7)32,
27(7)140,
27(7)331,
28(3)69,
28(6)156,
28(6)227,
28(6)300,
28(7)13,
28(7)149,
29(6)24,
29(6)36,
29(6)49,
29(6)61,
29(6)196,
29(6)218,
29(6)302,
29(6)337,
29(6)337-1,
29(8)35,
29(11)51,
29(11)297,
30(3)1,
30(3)13,
30(6)196,
30(6)233,
30(11)88,
30(11)146-1,
33(7)35,
33(7)51,
33(7)59,
33(7)83,
33(11)252
- should,
6(4)30,
25(5)95,
25(6)78,
25(6)174,
27(3)24,
27(7)1,
27(7)140,
28(3)299,
28(6)197,
29(6)206,
29(11)2,
29(11)145,
29(11)219,
30(6)116,
30(6)151,
30(6)246,
30(9)17,
30(11)79,
34(7)96
- solution,
25(6)189,
25(6)197,
27(7)1,
27(7)273,
27(7)283,
28(6)68,
28(6)78-1,
28(7)129,
28(7)149,
28(8)90,
29(1)37,
29(4)15,
29(6)121,
29(6)186,
29(8)119,
29(9)56,
29(10)317,
29(11)38,
29(11)158,
30(3)1,
30(3)50,
30(6)139,
30(8)19,
30(8)48,
30(8)102,
30(8)134,
30(9)25,
30(11)60,
30(11)88,
33(7)11,
33(10)216
- sparse,
25(6)296,
28(7)102,
28(10)259,
30(3)50,
30(3)62,
30(6)32,
30(8)58,
31(8)5,
31(8)5-1,
31(11)33,
31(11)33-1,
33(5)26,
33(5)26-1
- specifying,
25(10)169,
25(10)237,
26(6)338,
29(8)13,
30(3)13,
30(6)67,
30(6)79-1,
30(8)19,
30(11)41,
30(11)50,
31(5)23,
33(10)144,
34(10)70
- spill,
25(6)28,
29(6)257,
29(6)257-1,
32(5)287
- spilling,
28(6)248,
32(5)287
- split,
28(6)100,
29(6)257,
29(6)257-1,
30(3)103,
31(10)122,
31(10)138,
31(10)138
- SSA,
28(6)36,
28(6)78-1,
30(3)13,
30(3)62,
30(6)32,
30(6)47,
30(6)67,
32(5)273,
33(4)17,
33(5)15
- store,
27(9)238,
28(6)56,
28(6)268,
28(6)268-1,
28(7)54-1,
29(6)302,
29(10)259,
29(11)183,
29(11)286,
30(3)62,
33(5)26,
33(5)26-1,
33(7)43
- tag,
29(11)171,
31(9)268
- then,
25(6)92,
25(6)102,
25(6)209,
25(6)223,
25(6)296,
27(7)152,
27(7)188-1,
27(7)300,
28(3)37,
28(3)177,
28(3)209,
28(3)231,
28(3)333,
28(6)13,
28(6)78-1,
28(6)166,
28(7)64,
29(11)98,
29(11)122,
29(11)171,
29(11)242,
30(3)23,
30(3)94,
30(6)47,
30(6)67,
30(6)116,
30(6)186,
30(6)218,
30(8)166,
30(8)179,
30(11)79,
33(7)59
- throughout,
28(3)299,
28(8)90
- Torczon, Linda,
28(6)90
- value,
25(1)29,
25(1)59,
25(6)189,
25(6)246,
25(6)257,
25(6)283,
25(8)80,
25(10)237,
27(7)273,
28(3)359,
28(3)361,
28(3)363,
28(3)369,
28(6)13,
28(6)68,
28(6)90,
28(6)126,
28(6)227,
29(6)159,
29(6)278,
29(11)328,
30(3)50,
30(3)62,
30(4)13,
30(6)23,
30(6)67,
30(6)174,
30(6)218,
30(6)246,
30(6)315,
31(9)138,
33(11)262
- variant,
25(6)296,
28(6)13,
28(7)112,
28(7)187,
28(7)198
- vary,
27(7)188-1
- Wegman,
32(1)14
- when,
24(3)34,
25(6)40,
25(6)66,
25(6)78,
25(6)92,
25(6)102,
25(6)112,
25(6)137,
25(6)174,
25(6)223,
25(10)181,
27(7)1,
27(7)116,
27(7)188-1,
27(7)235,
27(7)322,
27(9)285,
28(3)97,
28(3)361,
28(6)56,
28(6)100,
28(6)147,
28(6)187,
28(6)258,
28(6)278,
28(7)44,
28(7)83,
28(7)239,
28(8)90,
28(12)169,
29(6)1,
29(6)49,
29(6)85,
29(6)206,
29(11)2,
29(11)86,
29(11)145,
29(11)171,
29(11)242,
29(11)252,
30(3)23,
30(3)94,
30(6)1,
30(6)56,
30(6)93,
30(6)103,
30(6)151,
30(6)279,
30(8)123,
30(8)179,
30(8)189,
30(8)199,
31(5)108,
32(3)27,
32(3)27-1,
33(2)59,
33(7)19,
33(7)27,
33(7)67,
34(9)1
- will,
25(6)53,
27(7)82,
27(7)188-1,
28(3)97,
29(6)107,
29(6)206,
29(6)218,
29(6)278,
29(8)59,
29(11)2,
29(11)145,
29(11)242,
29(11)297,
30(3)71,
30(6)79-1,
30(6)116,
30(8)123,
30(11)41,
32(1)14,
32(10)345-1,
32(10)345-4
- work,
25(6)16,
25(6)40,
25(6)85-1,
25(6)174,
25(6)322,
26(12)46,
27(7)22,
27(7)200,
27(7)322,
28(3)69,
28(3)209,
28(3)271,
28(6)147,
28(6)207-1,
28(8)90,
29(6)24,
29(6)36,
29(6)49,
29(6)159,
29(6)186,
29(6)206,
29(6)218,
29(6)278,
29(6)302,
29(8)59,
29(8)111,
29(10)129,
29(11)38,
29(11)86,
29(11)232,
29(11)308,
30(3)103,
30(6)13,
30(6)56,
30(6)116,
30(6)196,
30(6)205,
30(6)279,
30(6)301,
30(8)48,
30(8)68,
30(8)207,
30(11)70,
33(7)59,
34(9)8-1