Package org.qbicc.plugin.opt
Class LocalOptBasicBlockBuilder
java.lang.Object
org.qbicc.graph.DelegatingBasicBlockBuilder
org.qbicc.plugin.opt.LocalOptBasicBlockBuilder
- All Implemented Interfaces:
Locatable,BasicBlockBuilder
A basic block builder which performs local optimizations opportunistically.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.qbicc.graph.BasicBlockBuilder
BasicBlockBuilder.FactoryContext -
Field Summary
-
Constructor Summary
ConstructorsConstructorDescription -
Method Summary
Modifier and TypeMethodDescriptioncomplement(Value v) extractElement(Value array, Value index) extractMember(Value compound, CompoundType.Member member) if_(Value condition, BlockLabel trueTarget, BlockLabel falseTarget, Map<Slot, Value> targetArguments) insertElement(Value array, Value index, Value value) insertMember(Value compound, CompoundType.Member member, Value value) load(Value pointer, ReadAccessMode accessMode) offsetPointer(Value basePointer, Value offset) switch_(Value value, int[] checkValues, BlockLabel[] targets, BlockLabel defaultTarget, Map<Slot, Value> targetArguments) valueConvert(Value input, WordType toType) Methods inherited from class org.qbicc.graph.DelegatingBasicBlockBuilder
addParam, auto, begin, begin, bitReverse, byteOffsetPointer, byteSwap, call, callNoReturn, callNoSideEffects, checkcast, checkcast, classOf, cmp, cmpAndSwap, cmpG, cmpL, countLeadingZeros, countTrailingZeros, currentThread, declareDebugAddress, decodeReference, deref, divide, divisorCheck, elementOf, extractInstanceField, extractInstanceField, fence, finish, getBlockEntry, getBytecodeIndex, getCallSite, getCurrentElement, getDelegate, getEntryLabel, getFirstBlock, getFirstBuilder, getLocation, getParam, getRootElement, getTerminatedBlock, goto_, initCheck, initializeClass, instanceFieldOf, instanceFieldOf, instanceOf, instanceOf, invoke, invokeDynamic, invokeNoReturn, loadLength, loadTypeId, lookupInterfaceMethod, lookupInterfaceMethod, lookupVirtualMethod, lookupVirtualMethod, max, memberOf, min, monitorEnter, monitorExit, multiNewArray, multiNewArray, multiply, new_, new_, newArray, newArray, newReferenceArray, nop, notNull, nullCheck, offsetOfField, pointerDifference, populationCount, reachable, readModifyWrite, remainder, resolveConstructor, resolveInstanceMethod, resolveStaticField, resolveStaticMethod, ret, return_, rol, ror, safePoint, setBytecodeIndex, setCallSite, setCurrentElement, setDebugValue, setFirstBuilder, setLineNumber, shl, shr, stackAllocate, store, tailCall, throw_, unreachable, vaArgMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.qbicc.graph.BasicBlockBuilder
addParam, begin, call, callNoReturn, callNoSideEffects, classOf, classOf, classOf, classOf, classOf, classOf, classOf, classOf, decodeReference, emptyVoid, getContext, getCurrentClassContext, getLiteralFactory, getTypeSystem, goto_, instanceOf, invoke, invokeNoReturn, load, return_, store, tailCall
-
Constructor Details
-
LocalOptBasicBlockBuilder
-
-
Method Details
-
offsetPointer
- Specified by:
offsetPointerin interfaceBasicBlockBuilder- Overrides:
offsetPointerin classDelegatingBasicBlockBuilder
-
extractElement
- Specified by:
extractElementin interfaceBasicBlockBuilder- Overrides:
extractElementin classDelegatingBasicBlockBuilder
-
extractMember
- Specified by:
extractMemberin interfaceBasicBlockBuilder- Overrides:
extractMemberin classDelegatingBasicBlockBuilder
-
insertElement
- Specified by:
insertElementin interfaceBasicBlockBuilder- Overrides:
insertElementin classDelegatingBasicBlockBuilder
-
insertMember
- Specified by:
insertMemberin interfaceBasicBlockBuilder- Overrides:
insertMemberin classDelegatingBasicBlockBuilder
-
load
- Specified by:
loadin interfaceBasicBlockBuilder- Overrides:
loadin classDelegatingBasicBlockBuilder
-
truncate
- Specified by:
truncatein interfaceBasicBlockBuilder- Overrides:
truncatein classDelegatingBasicBlockBuilder
-
extend
- Specified by:
extendin interfaceBasicBlockBuilder- Overrides:
extendin classDelegatingBasicBlockBuilder
-
complement
- Specified by:
complementin interfaceBasicBlockBuilder- Overrides:
complementin classDelegatingBasicBlockBuilder
-
isEq
- Specified by:
isEqin interfaceBasicBlockBuilder- Overrides:
isEqin classDelegatingBasicBlockBuilder
-
isNe
- Specified by:
isNein interfaceBasicBlockBuilder- Overrides:
isNein classDelegatingBasicBlockBuilder
-
isLt
- Specified by:
isLtin interfaceBasicBlockBuilder- Overrides:
isLtin classDelegatingBasicBlockBuilder
-
isGt
- Specified by:
isGtin interfaceBasicBlockBuilder- Overrides:
isGtin classDelegatingBasicBlockBuilder
-
isLe
- Specified by:
isLein interfaceBasicBlockBuilder- Overrides:
isLein classDelegatingBasicBlockBuilder
-
isGe
- Specified by:
isGein interfaceBasicBlockBuilder- Overrides:
isGein classDelegatingBasicBlockBuilder
-
and
- Specified by:
andin interfaceBasicBlockBuilder- Overrides:
andin classDelegatingBasicBlockBuilder
-
or
- Specified by:
orin interfaceBasicBlockBuilder- Overrides:
orin classDelegatingBasicBlockBuilder
-
xor
- Specified by:
xorin interfaceBasicBlockBuilder- Overrides:
xorin classDelegatingBasicBlockBuilder
-
bitCast
- Specified by:
bitCastin interfaceBasicBlockBuilder- Overrides:
bitCastin classDelegatingBasicBlockBuilder
-
valueConvert
- Specified by:
valueConvertin interfaceBasicBlockBuilder- Overrides:
valueConvertin classDelegatingBasicBlockBuilder
-
select
- Specified by:
selectin interfaceBasicBlockBuilder- Overrides:
selectin classDelegatingBasicBlockBuilder
-
if_
public BasicBlock if_(Value condition, BlockLabel trueTarget, BlockLabel falseTarget, Map<Slot, Value> targetArguments) - Specified by:
if_in interfaceBasicBlockBuilder- Overrides:
if_in classDelegatingBasicBlockBuilder
-
switch_
public BasicBlock switch_(Value value, int[] checkValues, BlockLabel[] targets, BlockLabel defaultTarget, Map<Slot, Value> targetArguments) - Specified by:
switch_in interfaceBasicBlockBuilder- Overrides:
switch_in classDelegatingBasicBlockBuilder
-
add
- Specified by:
addin interfaceBasicBlockBuilder- Overrides:
addin classDelegatingBasicBlockBuilder
-
sub
- Specified by:
subin interfaceBasicBlockBuilder- Overrides:
subin classDelegatingBasicBlockBuilder
-
negate
- Specified by:
negatein interfaceBasicBlockBuilder- Overrides:
negatein classDelegatingBasicBlockBuilder
-