A compiler optimization algorithm that deals with aggressive strength reduction of integer machine instructions found in loops. The algorithm permits the strength reduction of such machine instructions whose execution may be guarded by predicate values. In addition, the algorithm allows the strength reduction of address calculations consumed by memory reference instructions accessing data in a segmented virtual address space. The algorithm also permits aggressive SSA-based strength reduction of non-address integer computations found in loops that are linear functions of loop induction variables. The algorithm incorporates profitability considerations by reducing the cost of updating strength-reduction temporaries and ensures that the strength-reduction transformation results in an overall reduction of the path-lengths within loop bodies, without creating excessive register pressure.

Een algoritme van de compileroptimalisering dat agressieve sterktevermindering van de instructies van de geheelmachine die in lijnen worden gevonden behandelt. Het algoritme laat de sterktevermindering van dergelijke machineinstructies de waarvan toe uitvoering door predikaatwaarden kan worden bewaakt. Bovendien staat het algoritme de sterktevermindering van adresberekeningen die door de instructies worden verbruikt toe die van de geheugenverwijzing tot gegevens in een gesegmenteerde virtuele adresruimte toegang hebben. Het algoritme laat ook agressieve in ssa-Gebaseerde sterktevermindering van de berekeningen van het niet-adresgeheel die in lijnen worden gevonden toe die lineaire functies van de variabelen van de lijninductie zijn. Het algoritme neemt rentabiliteitsoverwegingen door de kosten van bijwerkende sterkte-vermindering tijdelijke werkkrachten op te drukken en zorgt ervoor dat de sterkte-vermindering transformatie in een algemene vermindering van de lengtes van het parcours binnen lijnorganismen, zonder bovenmatige registerdruk te creƫren resulteert.

 
Web www.patentalert.com

< (none)

< Method and apparatus of indicating steps in a task which have been completed

> Instruction selection in a multi-platform environment

> (none)

~ 00013