Compiler
Was wird bei der Lebendigkeitsanalyse (Liveness Analysis), die als Vorbereitung der Registerzuteilung durchgeführt wird, ermittelt?
- ADie Zeilennummer, in der jede Variable im gesamten Programm deklariert wurde
- BMaximal- und Minimalwert der Variablenwerte
- COb ein Wert zu jedem Zeitpunkt später noch verwendet werden kann
Antwort und Erläuterung anzeigen
Antwort: C. Ob ein Wert zu jedem Zeitpunkt später noch verwendet werden kann
Bei der Lebendigkeitsanalyse wird anhand des Kontrollflussgraphen für jeden Zeitpunkt des Programms ermittelt, ob ein Wert in der Folge noch gelesen werden kann (lebendig ist). Lebendige Werte müssen in Registern gehalten werden, die Register nicht mehr verwendeter Werte können dagegen für andere Werte wiederverwendet werden. Gleichzeitig lebendige Werte können nicht im selben Register liegen, daher wird aus diesem Ergebnis der Interferenzgraph erstellt. Es handelt sich nicht um eine Analyse von Deklarationsorten oder Wertebereichen.