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{Kurlander:1994:ZRS,
author = "Steven M. Kurlander and Charles N. Fischer",
title = "Zero-cost Range Splitting",
journal = j-SIGPLAN,
volume = "29",
number = "6",
pages = "257--265",
month = jun,
year = "1994",
CODEN = "SINODQ",
ISBN = "0-89791-598-4",
ISBN-13 = "978-0-89791-598-4",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
ISSN-L = "0362-1340",
bibdate = "Thu May 13 12:37:27 MDT 1999",
bibsource = "http://www.acm.org/pubs/contents/proceedings/pldi/178243/index.html",
URL = "http://www.acm.org:80/pubs/citations/proceedings/pldi/178243/p257-kurlander/",
abstract = "This paper presents a new optimization technique that
uses empty delay slots to improve code scheduling. We
are able to split live ranges for free, by inserting
spill code into empty delay slots. Splitting a live
range can reduce interferences with other live ranges
and can sometimes free registers. Live ranges no longer
interfering with the split live range can sometimes
make use of the extra register. Our algorithm, as a
final pass over the code, exploits empty delay slots
that would remain unused if spill code was not
inserted. This paper proposes a variety of
optimizations that use the extra registers generated
from live range splitting, including coalescing live
ranges and improving code scheduling. We present an
algorithm for improving code scheduling and present
implementation results.",
acknowledgement = ack-nhfb,
annote = "Published as part of the Proceedings of PLDI'94.",
classification = "C1180 (Optimisation techniques); C6120 (File
organisation); C6150C (Compilers, interpreters and
other processors)",
conflocation = "Orlando, FL, USA; 20-24 June 1994",
conftitle = "ACM SIGPLAN '94 Conference on Programming Language
Design and Implementation (PLDI)",
corpsource = "Dept. of Comput. Sci., Wisconsin Univ., Madison, WI,
USA",
keywords = "algorithms; code scheduling; data integrity; delays;
empty delay slots; interference reduction; live ranges;
optimisation; optimization technique; performance;
program compilers; register freeing; scheduling; spill
code; storage allocation; zero-cost range splitting",
sponsororg = "ACM",
subject = "{\bf D.3.4} Software, PROGRAMMING LANGUAGES,
Processors, Optimization. {\bf D.3.4} Software,
PROGRAMMING LANGUAGES, Processors, Code generation.",
treatment = "P Practical",
}
Related entries
- able,
25(6)189,
25(6)283,
27(7)1,
28(7)229,
29(6)49,
29(6)121,
29(6)159,
29(6)257,
29(11)297,
30(6)47,
30(8)58,
30(8)179,
30(11)146-1
- C1180,
29(4)58,
29(6)73,
29(6)85,
29(6)97,
29(6)159,
29(6)266,
29(9)38,
30(6)139,
30(8)80-1,
30(8)134
- coalescing,
28(6)177,
29(6)186,
29(6)257,
30(8)123
- cost, Zero-,
29(6)257
- delay,
26(12)155,
28(6)278,
28(7)1,
29(6)257,
30(11)79,
34(10)276
- empty,
29(6)257
- exploit,
26(7)83,
27(9)248,
27(9)285,
28(7)112,
29(6)171,
29(6)186,
29(6)257,
29(6)349,
29(6)349-1,
29(11)171,
29(11)183,
29(11)232,
30(6)56
- extra,
25(6)92,
29(6)257
- final,
28(3)37,
28(3)345,
29(6)196,
29(6)257,
30(8)123
- Fischer, Charles N.,
26(6)256,
26(6)256-1,
27(7)300,
29(6)257
- free,
25(6)102,
27(4)77,
28(3)177,
28(3)347,
28(6)177,
28(6)300,
28(7)208,
29(6)121,
29(6)257,
31(1)22,
31(5)108,
34(5)281
- generated,
25(4)59,
25(6)53,
25(6)189,
25(6)209,
25(12)85,
27(3)71,
27(7)322,
28(3)299,
28(6)26,
28(6)126,
29(6)36,
29(6)257,
29(11)122,
29(11)263,
30(3)23,
30(6)116,
30(6)151,
30(6)186,
30(11)60,
34(12)37
- improve,
25(6)53,
25(6)337,
26(6)145,
26(6)177,
26(6)177-1,
27(7)106,
27(7)116,
27(7)162,
27(7)188-1,
27(7)249,
27(9)223,
28(3)201,
28(6)100,
28(6)187,
28(6)268,
28(6)300,
29(6)36,
29(6)49,
29(6)97,
29(6)159,
29(6)206,
29(6)257,
29(11)171,
29(11)208,
29(11)219,
29(11)232,
29(11)242,
29(11)252,
30(6)13,
30(6)56,
30(6)93,
30(6)116,
30(6)151,
30(6)174,
30(6)186,
30(6)196,
30(6)205,
30(6)279,
30(8)29,
30(8)80-1,
30(8)166,
30(8)189,
30(8)199,
33(5)97,
33(7)51,
34(5)215
- improving,
25(6)53,
26(7)133,
27(7)249,
27(9)76,
27(9)223,
28(6)177,
28(7)83,
28(7)129,
29(6)49,
29(6)97,
29(6)257,
29(11)158,
29(11)232,
29(11)242,
29(11)252,
30(6)93,
30(6)151,
30(6)174,
31(9)268,
31(9)279,
32(7)252,
33(5)72,
33(5)130,
34(5)229
- including,
25(4)59,
25(5)95,
25(6)337,
27(5)z,
27(7)68,
27(7)200,
27(7)322,
28(3)133,
28(3)231,
28(3)357,
28(6)36,
28(6)100,
28(6)187,
28(7)229,
29(6)36,
29(6)85,
29(6)171,
29(6)242,
29(6)242-1,
29(6)257,
30(3)23,
30(6)67,
30(6)174,
30(8)134,
30(8)156
- inserted,
29(6)257,
30(3)1
- inserting,
28(6)1,
29(6)257,
30(6)246
- integrity,
27(10)298
- interference,
28(6)248,
29(6)257,
32(5)287,
33(7)35
- interfering,
29(6)257,
30(6)196
- Kurlander, Steven M.,
29(6)257
- live,
26(9)166,
27(7)273,
27(7)300,
27(7)311,
28(6)268,
28(12)12,
28(12)12-1,
29(6)257,
29(11)286,
34(7)45
- longer,
25(6)189,
29(6)1,
29(6)257,
29(11)145
- make,
25(1)59,
25(6)78,
25(6)85-1,
25(6)150,
25(6)246,
26(8)145,
27(7)1,
27(7)82,
27(7)152,
27(7)249,
27(9)285,
27(12)61,
28(3)69,
28(3)97,
28(3)231,
28(3)347,
28(6)156,
28(6)300,
28(7)64,
28(7)239,
29(6)24,
29(6)73,
29(6)257,
29(6)349,
29(6)349-1,
29(8)35,
29(11)171,
29(11)196,
29(11)308,
30(3)62,
30(3)94,
30(6)93,
30(6)103,
30(6)130,
30(6)174,
30(8)1,
30(8)58,
30(8)68,
30(8)80-1,
32(10)253
- optimisation,
29(4)41,
29(4)58,
29(6)49,
29(6)73,
29(6)85,
29(6)97,
29(6)159,
29(6)266,
29(9)38,
29(10)229,
29(10)244,
29(10)324,
29(10)453,
29(11)110,
30(6)130,
30(6)139,
30(6)279,
30(8)80-1,
30(8)112,
30(8)134,
34(1)39
- pass,
26(3)88,
29(6)257,
29(11)274
- PLDI'94.,
29(6)1,
29(6)13,
29(6)24,
29(6)36,
29(6)49,
29(6)61,
29(6)73,
29(6)85,
29(6)97,
29(6)107,
29(6)121,
29(6)135,
29(6)147,
29(6)159,
29(6)171,
29(6)186,
29(6)196,
29(6)206,
29(6)218,
29(6)230,
29(6)242,
29(6)266,
29(6)278,
29(6)290,
29(6)302,
29(6)313,
29(6)326,
29(6)337-1,
29(6)349-1
- propose,
25(6)1,
25(6)85-1,
25(6)102,
25(6)296,
25(10)237,
27(7)1,
27(9)274,
28(6)90,
28(7)64,
29(6)257,
29(6)302,
29(6)349,
29(6)349-1,
29(8)35,
29(8)46,
29(11)2,
29(11)51,
29(11)110,
29(11)171,
29(11)242,
29(11)308,
30(6)1,
30(6)279,
30(8)19,
30(11)41,
30(11)79
- range,
25(6)272,
27(7)1,
27(7)300,
27(7)311,
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)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
- reduce,
25(6)1,
25(6)16,
25(6)85-1,
25(6)102,
25(6)272,
27(7)200,
27(7)212,
28(6)177,
28(7)83,
28(7)208,
28(7)218,
29(6)257,
29(6)349,
29(6)349-1,
29(11)2,
29(11)110,
29(11)145,
29(11)242,
29(11)286,
30(6)93,
30(6)103,
30(6)116,
30(6)130,
30(6)174,
30(6)270,
30(6)279,
30(6)315,
30(8)156,
30(8)179,
30(8)217,
32(10)342,
32(10)342-1,
33(7)67
- reduction,
25(5)29,
25(5)34,
25(7)28,
26(2)25,
27(7)116,
27(7)162,
28(3)69,
28(6)237,
29(5)41,
29(5)41-1,
29(6)36,
29(6)49,
29(6)135,
29(6)349,
29(6)349-1,
29(11)51,
29(11)242,
29(12)112,
30(2)42,
30(6)56,
30(6)218,
30(8)58,
30(8)179,
32(8)188,
34(5)155,
34(11)34
- remain,
29(6)61,
29(6)257,
29(11)12,
29(11)219,
30(6)139
- slot,
25(10)237,
29(6)257,
29(12)48
- sometimes,
29(6)257,
33(7)19,
33(7)27,
33(7)51
- spill,
25(6)28,
27(7)311,
29(6)257,
32(5)287
- split,
27(7)311,
28(6)100,
29(6)257,
30(3)103,
31(10)122,
31(10)138,
31(10)138
- splitting,
25(6)150,
28(6)268,
29(6)257,
30(6)246,
34(10)276
- unused,
28(6)197,
29(6)257
- variety,
25(6)53,
25(6)337,
27(7)55,
27(7)322,
28(3)357,
28(3)363,
28(3)365,
28(7)33,
29(6)218,
29(6)257,
29(6)349,
29(6)349-1,
30(6)56,
30(6)279,
30(8)123,
30(8)134,
30(8)189,
33(7)59,
33(7)83
- was,
25(6)322,
26(6)145,
27(7)1,
27(7)44,
27(7)322,
27(12)20,
27(12)61,
28(3)1,
28(3)37,
28(3)53,
28(3)69,
28(3)97,
28(3)133,
28(3)201,
28(3)209,
28(3)299,
28(3)333,
28(3)345,
28(3)355,
28(3)367,
28(6)26,
28(8)90,
29(6)186,
29(6)257,
29(8)1,
29(8)94,
29(11)61,
29(11)328,
30(3)71,
30(4)13,
30(11)99,
33(7)35,
33(12)72,
34(2)1,
34(5)z,
34(5)z-1
- would,
25(6)78,
25(6)85-1,
25(6)311,
26(1)14,
27(7)212,
28(3)69,
28(3)361,
28(6)300,
29(6)1,
29(6)85,
29(6)257,
29(6)278,
30(8)68,
30(11)79,
33(11)252
- zero-cost,
29(6)257