/*
* This file is part of the Jikes RVM project (http://jikesrvm.org).
*
* This file is licensed to You under the Eclipse Public License (EPL);
* You may not use this file except in compliance with the License. You
* may obtain a copy of the License at
*
* http://www.opensource.org/licenses/eclipse-1.0.php
*
* See the COPYRIGHT.txt file distributed with this work for information
* regarding copyright ownership.
*/
/**
* Provides classes that implement the transition from low-level IR to
* machine-specific IR.
* <p>
* After the transition to machine-specific IR, almost all remaining
* operators can be directly mapped to machine instructions. The actual
* transition is done by
* {@link org.jikesrvm.compilers.opt.lir2mir.ConvertLIRtoMIR ConvertLIRtoMIR}
* which calls all the other classes. Some of these classes are
* necessarily architecture-specific which is why they can be found in
* the architecture-specific lir2mir packages.
* <p>
* A large part of the work of mapping of LIR instruction sequences to
* MIR instruction sequences is done by the BURS classes.
* We're using a
* custom fork of <a href="https://code.google.com/p/iburg/">iburg</a>
* that we call jburg. (NOTE: our jburg is not to be confused with
* <a href="http://sourceforge.net/projects/jburg/">JBurg</a>).
* You can find it in our source tree.
* It is advised to take a look at it if you want to understand the BURS code.
* You should also get familiar with the generation of BURS classes in the
* build process.
*/
package org.jikesrvm.compilers.opt.lir2mir;