Package org.qbicc.plugin.opt
Class SimpleOptBasicBlockBuilder
java.lang.Object
org.qbicc.graph.DelegatingBasicBlockBuilder
org.qbicc.plugin.opt.SimpleOptBasicBlockBuilder
- All Implemented Interfaces:
Locatable,BasicBlockBuilder
A graph factory which performs simple optimizations opportunistically.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.qbicc.graph.BasicBlockBuilder
BasicBlockBuilder.ExceptionHandler, BasicBlockBuilder.ExceptionHandlerPolicy -
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionSimpleOptBasicBlockBuilder(CompilationContext ctxt, BasicBlockBuilder delegate) -
Method Summary
Modifier and TypeMethodDescriptionaddressOf(ValueHandle handle) complement(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) pointerHandle(Value pointer, Value offsetValue) 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, asm, begin, bitReverse, byteSwap, call, callNoReturn, callNoSideEffects, checkcast, checkcast, classOf, cmp, cmpAndSwap, cmpG, cmpL, constructorOf, constructorOf, countLeadingZeros, countTrailingZeros, currentThread, declareDebugAddress, divide, elementOf, exactMethodOf, exactMethodOf, extractInstanceField, extractInstanceField, fence, finish, functionOf, getBlockEntry, getCallSite, getCurrentElement, getDelegate, getExceptionHandler, getFirstBlock, getFirstBuilder, getLocation, getRootElement, getTerminatedBlock, globalVariable, goto_, initCheck, instanceFieldOf, instanceFieldOf, instanceOf, instanceOf, interfaceMethodOf, interfaceMethodOf, invoke, invokeNoReturn, jsr, lengthOf, load, localVariable, max, memberOf, min, monitorEnter, monitorExit, multiNewArray, multiNewArray, multiply, new_, new_, newArray, newArray, newReferenceArray, nop, notNull, offsetOfField, parameter, phi, populationCount, reachable, readModifyWrite, referenceHandle, referenceTo, remainder, ret, return_, rol, ror, safePoint, selectMember, setBytecodeIndex, setCallSite, setCurrentElement, setDebugValue, setExceptionHandlerPolicy, setFirstBuilder, setLineNumber, shl, shr, stackAllocate, startMethod, staticField, staticField, staticMethod, staticMethod, store, tailCall, tailInvoke, throw_, unreachable, unsafeHandle, vaArg, virtualMethodOf, virtualMethodOfMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.qbicc.graph.BasicBlockBuilder
classOf, classOf, classOf, classOf, classOf, classOf, classOf, classOf, constructorOf, emptyVoid, exactMethodOf, getContext, getCurrentClassContext, getLiteralFactory, getTypeSystem, goto_, instanceOf, interfaceMethodOf, load, pointerHandle, return_, staticMethod, store, virtualMethodOf
-
Constructor Details
-
SimpleOptBasicBlockBuilder
-
-
Method Details
-
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
-
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
-
addressOf
- Specified by:
addressOfin interfaceBasicBlockBuilder- Overrides:
addressOfin classDelegatingBasicBlockBuilder
-
pointerHandle
- Specified by:
pointerHandlein interfaceBasicBlockBuilder- Overrides:
pointerHandlein classDelegatingBasicBlockBuilder
-