Topic: register allocation by use-def graphs

topics > computer science > programming > Group: code generation

code optimization by flow analysis
dependency analysis
register allocation
register allocation by usage counts
static single assignment; SSA
Subtopic: variable range table up

Quote: build a variable range table in one dataflow-analysis pass; identifies all locations of a variable in registers and memory [»ticeC4_2001]
Quote: the key instruction is the first instruction executed that causes a source-level, visible state change for an atom; compiler may annotate [»ticeC4_2001]

Subtopic: register conficts up

Quote: two register names interfere if one is live at definition of the other [»chaiGJ_1981]
Quote: assign different registers for same variable in different connected components of its def_use chains [»chaiGJ_1981]
Quote: a variable occurrence in code can cohabit or conflict with other occurrences [»karrM6_1984]
Quote: compatible tracks (consecutive uses of a variable) are disjoint; assigned to same register [»webeM2_1980]

Subtopic: labels up

Quote: deallocate all registers at an explicit goto or label [»webeM2_1980]

Subtopic: bit packing up

Quote: register allocation algorithm for packing multiple subword variables in one register; needed for processors that reference bit sections in registers [»tallS1_2003]

Subtopic: example up

QuoteRef: beatJC1_1974 ;;20 25% register optimization by putting global register assignment between local register allocation and assignment (uses regions, blocks, live variables, bit vectors etc

Related Topics up

Topic: code optimization by flow analysis (47 items)
Topic: dependency analysis (34 items)
Topic: register allocation (28 items)
Topic: register allocation by usage counts (12 items)
Topic: static single assignment; SSA
(19 items)

Updated barberCB 12/04
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.