public class AMD64AddressLowering extends AddressLoweringPhase.AddressLowering
| Constructor and Description |
|---|
AMD64AddressLowering() |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
improve(StructuredGraph graph,
DebugContext debug,
AMD64AddressNode ret,
boolean isBaseNegated,
boolean isIndexNegated)
Tries to optimize addresses so that they match the AMD64-specific addressing mode better
(base + index * scale + displacement).
|
AddressNode |
lower(ValueNode base,
ValueNode offset) |
protected static boolean |
updateDisplacement(AMD64AddressNode address,
long displacementDelta,
boolean negateDelta) |
postProcess, preProcesspublic AddressNode lower(ValueNode base, ValueNode offset)
lower in class AddressLoweringPhase.AddressLoweringprotected boolean improve(StructuredGraph graph, DebugContext debug, AMD64AddressNode ret, boolean isBaseNegated, boolean isIndexNegated)
graph - the current graphdebug - the current debug contextret - the address that should be optimizedisBaseNegated - determines if the address base is negated. if so, all values that are
extracted from the base will be negated as wellisIndexNegated - determines if the index is negated. if so, all values that are
extracted from the index will be negated as wellprotected static boolean updateDisplacement(AMD64AddressNode address, long displacementDelta, boolean negateDelta)