protected class SimplifyingGraphDecoder.PECanonicalizerTool extends CoreProvidersDelegate implements CanonicalizerTool
Constructor and Description |
---|
PECanonicalizerTool(Assumptions assumptions,
OptionValues options) |
Modifier and Type | Method and Description |
---|---|
boolean |
allUsagesAvailable()
If this method returns false, not all
usages of a node are yet
available. |
boolean |
canonicalizeReads()
Indicates whether the canonicalization of memory read operations to simpler operations or
constants is allowed.
|
boolean |
divisionOverflowIsJVMSCompliant()
Indicates whether the target platform complies with the JVM specification semantics for
idiv and ldiv when the dividend is Integer.MAX_VALUE or
Long.MAX_VALUE respectively and the divisor is -1 . |
Assumptions |
getAssumptions() |
OptionValues |
getOptions() |
Integer |
smallestCompareWidth()
Indicates the smallest width for comparing an integer value on the target platform.
|
boolean |
supportsRounding()
Indicates whether this target platform supports lowering
RoundNode . |
getConstantFieldProvider, getConstantReflection, getForeignCalls, getLoopsDataProvider, getLowerer, getMetaAccess, getMetaAccessExtensionProvider, getPlatformConfigurationProvider, getProviders, getReplacements, getStampProvider, getWordVerification
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
finalCanonicalization
getConstantFieldProvider, getConstantReflection, getForeignCalls, getLoopsDataProvider, getLowerer, getMetaAccess, getMetaAccessExtensionProvider, getPlatformConfigurationProvider, getReplacements, getStampProvider, getWordVerification
public PECanonicalizerTool(Assumptions assumptions, OptionValues options)
public OptionValues getOptions()
getOptions
in interface CanonicalizerTool
public boolean canonicalizeReads()
CanonicalizerTool
ReadNode
, LoadFieldNode
and LoadIndexedNode
.canonicalizeReads
in interface CanonicalizerTool
public boolean allUsagesAvailable()
CanonicalizerTool
usages of a node
are yet
available. So a node must not be canonicalized base on, e.g., information returned from
Node.hasNoUsages()
.allUsagesAvailable
in interface CanonicalizerTool
public Assumptions getAssumptions()
getAssumptions
in interface CanonicalizerTool
public Integer smallestCompareWidth()
CanonicalizerTool
smallestCompareWidth
in interface CanonicalizerTool
public boolean supportsRounding()
CanonicalizerTool
RoundNode
.supportsRounding
in interface CanonicalizerTool
public boolean divisionOverflowIsJVMSCompliant()
CanonicalizerTool
idiv
and ldiv
when the dividend is Integer.MAX_VALUE
or
Long.MAX_VALUE
respectively and the divisor is -1
. The specified result for
this case is the dividend.divisionOverflowIsJVMSCompliant
in interface CanonicalizerTool