InstructionBuilder

class InstructionBuilder(implicit fresh: Fresh)

A class to build sequences of NIR instructions.

class Object
trait Matchable
class Any

Value members

Concrete methods

def ++=(insts: Seq[Inst]): Unit
def +=(inst: Inst): Unit
def alignmentOf(ty: Type, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local
def arrayalloc(ty: Type, init: Val, unwind: Next, zone: Option[Val])(implicit pos: SourcePosition, scope: ScopeId): Local
def arraylength(arr: Val, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local
def arrayload(ty: Type, arr: Val, idx: Val, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local
def arraystore(ty: Type, arr: Val, idx: Val, value: Val, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local
def as(ty: Type, obj: Val, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local
def bin(bin: Bin, ty: Type, l: Val, r: Val, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local
def box(ty: Type, obj: Val, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local
def branch(value: Val, thenp: Next, elsep: Next)(implicit pos: SourcePosition): Unit
def branchLinktime(condition: LinktimeCondition, thenp: Next, elsep: Next)(implicit pos: SourcePosition): Unit
def call(ty: Function, ptr: Val, args: Seq[Val], unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local
def classalloc(name: Top, unwind: Next, zone: Option[Val])(implicit pos: SourcePosition, scope: ScopeId): Local
def comp(comp: Comp, ty: Type, l: Val, r: Val, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local
def conv(conv: Conv, ty: Type, value: Val, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local
def copy(value: Val, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local
def dynmethod(obj: Val, sig: Sig, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local
def elem(ty: Type, ptr: Val, indexes: Seq[Val], unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local
def exists(pred: Inst => Boolean): Boolean
def extract(aggr: Val, indexes: Seq[Int], unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local
def fence(memoryOrder: MemoryOrder)(implicit pos: SourcePosition, scope: ScopeId): Local
def field(obj: Val, name: Member, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local
def fieldload(ty: Type, obj: Val, name: Member, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local
def fieldstore(ty: Type, obj: Val, name: Member, value: Val, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local
def foreach(fn: Inst => Unit): Unit
def insert(aggr: Val, value: Val, indexes: Seq[Int], unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local
def is(ty: Type, obj: Val, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local
def jump(next: Next)(implicit pos: SourcePosition): Unit
def jump(to: Local, args: Seq[Val])(implicit pos: SourcePosition): Unit
def label(id: Local)(implicit pos: SourcePosition): Unit
def label(id: Local, params: Seq[Local])(implicit pos: SourcePosition): Unit
def let(id: Local, op: Op, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local
def let(op: Op, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local
def load(ty: Type, ptr: Val, unwind: Next, memoryOrder: Option[MemoryOrder])(implicit pos: SourcePosition, scope: ScopeId): Local
def method(obj: Val, sig: Sig, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local
def module(name: Top, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local
def raise(value: Val, unwind: Next)(implicit pos: SourcePosition): Unit
def ret(value: Val)(implicit pos: SourcePosition): Unit
def size: Int
def sizeOf(ty: Type, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local
def stackalloc(ty: Type, n: Val, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local
def store(ty: Type, ptr: Val, value: Val, unwind: Next, memoryOrder: Option[MemoryOrder])(implicit pos: SourcePosition, scope: ScopeId): Local
def switch(value: Val, default: Next, cases: Seq[Next])(implicit pos: SourcePosition): Unit
def toSeq: Seq[Inst]
def unbox(ty: Type, obj: Val, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local
def unreachable(unwind: Next)(implicit pos: SourcePosition): Unit
def var_(ty: Type, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local
def varload(slot: Val, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local
def varstore(slot: Val, value: Val, unwind: Next)(implicit pos: SourcePosition, scope: ScopeId): Local