Necessary Conditions for Constraint-based Register Allocation and Instruction Scheduling
Compilers translate code from a source language to a target language. Generating optimal code is thereby considered as infeasible due to the runtime overhead. A rather new approach is the implementation of a compiler by using Constraint Programming: in a constraint-based system, a problem is modeled...
Main Author: | |
---|---|
Format: | Others |
Language: | English |
Published: |
Uppsala universitet, Institutionen för informationsteknologi
2013
|
Online Access: | http://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-209267 |
id |
ndltd-UPSALLA1-oai-DiVA.org-uu-209267 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-UPSALLA1-oai-DiVA.org-uu-2092672013-12-03T04:38:57ZNecessary Conditions for Constraint-based Register Allocation and Instruction SchedulingengTran, Kim-AnhUppsala universitet, Institutionen för informationsteknologi2013Compilers translate code from a source language to a target language. Generating optimal code is thereby considered as infeasible due to the runtime overhead. A rather new approach is the implementation of a compiler by using Constraint Programming: in a constraint-based system, a problem is modeled by defining variables and relations among these variables (that is, constraints) that have to be satisfied. The application of a constraint-based compiler offers the potential of generating robust and optimal code. The performance of the system depends on the modeling choices and constraints that are enforced. One way of refining a constraint model is the addition of implied constraints. Implied constraints model logically redundant relations among variables, but provide distinct perspectives on the problem that might help to cut down the search effort. The actual impact of implied constraints is difficult to foresee, as they are tightly connected with the modeling choices made otherwise.This thesis investigates and evaluates a set of implied constraints that address register allocation (decision where to store data) and instruction scheduling (decision when to execute instructions) within an existing constraint-based compiler back-end. It provides insights into the impact on the code generation problem and discusses assets and drawbacks of the set of introduced constraints Student thesisinfo:eu-repo/semantics/bachelorThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-209267IT ; 13 073application/pdfinfo:eu-repo/semantics/openAccess |
collection |
NDLTD |
language |
English |
format |
Others
|
sources |
NDLTD |
description |
Compilers translate code from a source language to a target language. Generating optimal code is thereby considered as infeasible due to the runtime overhead. A rather new approach is the implementation of a compiler by using Constraint Programming: in a constraint-based system, a problem is modeled by defining variables and relations among these variables (that is, constraints) that have to be satisfied. The application of a constraint-based compiler offers the potential of generating robust and optimal code. The performance of the system depends on the modeling choices and constraints that are enforced. One way of refining a constraint model is the addition of implied constraints. Implied constraints model logically redundant relations among variables, but provide distinct perspectives on the problem that might help to cut down the search effort. The actual impact of implied constraints is difficult to foresee, as they are tightly connected with the modeling choices made otherwise.This thesis investigates and evaluates a set of implied constraints that address register allocation (decision where to store data) and instruction scheduling (decision when to execute instructions) within an existing constraint-based compiler back-end. It provides insights into the impact on the code generation problem and discusses assets and drawbacks of the set of introduced constraints |
author |
Tran, Kim-Anh |
spellingShingle |
Tran, Kim-Anh Necessary Conditions for Constraint-based Register Allocation and Instruction Scheduling |
author_facet |
Tran, Kim-Anh |
author_sort |
Tran, Kim-Anh |
title |
Necessary Conditions for Constraint-based Register Allocation and Instruction Scheduling |
title_short |
Necessary Conditions for Constraint-based Register Allocation and Instruction Scheduling |
title_full |
Necessary Conditions for Constraint-based Register Allocation and Instruction Scheduling |
title_fullStr |
Necessary Conditions for Constraint-based Register Allocation and Instruction Scheduling |
title_full_unstemmed |
Necessary Conditions for Constraint-based Register Allocation and Instruction Scheduling |
title_sort |
necessary conditions for constraint-based register allocation and instruction scheduling |
publisher |
Uppsala universitet, Institutionen för informationsteknologi |
publishDate |
2013 |
url |
http://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-209267 |
work_keys_str_mv |
AT trankimanh necessaryconditionsforconstraintbasedregisterallocationandinstructionscheduling |
_version_ |
1716616687197880320 |