Optimization Efficiency Assessment Using Linear Intermediate Representation

Yulian Olshevskyy, Adam Piórkowski

Abstract


The two intermediate representations are discussed and broadly compared. Particular emphasis has been placed on linear intermediate representation using Mono Virtual Machine. Selected code optimization methods are presented and the impact of several intermediate representations is examined considering execution performance and generated native code size.

Keywords


linear intermediate representation; intermediate representation; code optimisation; virtual machines

Full Text:

PDF (Polski)

References


Ganapathi M., Fisher C., Scalpone S., Thompson K.: Linear Intermediate Representation for Portable Code Generation. University of Wisconsin-Madison, Computer Sciences Department, 1981.

Aho A., Sethi R., Ullman J.: Compilers: Priciples, Techniques & Tools. 2nd edition, Addison Wesley, 2006.

Mucknick S.: Advanced Compiler Design Implementation. Morgan Kaufmann, 1997.

http://tirania.org/blog/archive/2012/Apr-04.html, dostęp 29.10.2017.

Piórkowski A., Żupnik M.: Loop Optimization in Managed Code Environments with Expressions Evaluated Only Once. Task Quarterly, Vol. 14(4), 2010, s. 397÷404.

Kras S., Piórkowski A.: Optymalizacja kodu przy wykorzystaniu algorytmu SSA

w środowiskach maszyn wirtualnych. Studia Informatica, Vol. 37(1), 2016, s. 97÷111.

Lattner C.A. LLVM: An Infrastructure For Multi-Stage Optimization. University of Illinois at Urbana-Champaign, 2002.

http://www.mono-project.com/docs/advanced/runtime/docs/linear-ir, dostęp: 02.12.2017.

http://www.go-mono.com/meeting06/MonoSummit2006-JIT.pdf, dostęp: 27.11.2017.

http://www.go-mono.com/meeting06/OpeningPresentation.pdf, dostęp: 29.10.2017.

http://www.compileroptimizations.com, dostęp: 29.10.2017.

https://lists.dot.net/pipermail/mono-devel-list/2008-July/028697.html,

dostęp: 05.12.2017.

https://msdn.microsoft.com/en-us/library/system.environment.tickcount(v=vs.110) .aspx, dostęp: 27.11.2017.

https://msdn.microsoft.com/en-us/library/windows/desktop/aa384219(v=vs.85).aspx, dostęp: 27.11.2017.

https://download.mono-project.com/sources/mono/mono-2.0.tar.bz2, dostęp: 29.11.2017.

https://download.mono-project.com/sources/mono/mono-2.2.tar.bz2, dostęp: 29.11.2017.

http://www.mono-project.com/docs/about-mono/releases, dostęp: 09.12.2017.

http://ssw.jku.at/General/Staff/TW/igv.html, dostęp: 09.12.2017.




DOI: http://dx.doi.org/10.21936/si2018_v39.n1.842