public regAllocState(ref ptr <Func> f = default, SparseTree sdom = default, slice <Register> registers = default, register numRegs = default, register SPReg = default, register SBReg = default, register GReg = default, regMask allocatable = default, slice <int> primary = default, slice <slice <liveInfo> > live = default, slice <desiredState> desired = default, slice <valState> values = default, ID sp = default, ID sb = default, slice <ptr <Value> > orig = default, slice <regState> regs = default, regMask nospill = default, regMask used = default, regMask tmpused = default, ref ptr <Block> curBlock = default, ref ptr <use> freeUseRecords = default, slice <slice <endReg> > endRegs = default, slice <slice <startReg> > startRegs = default, slice <slice <ID> > spillLive = default, map <ptr <Value>, bool> copies = default, ref ptr <loopnest> loopnest = default, slice <ptr <Block> > visitOrder = default) { this.f = f; this.sdom = sdom; this.registers = registers; this.numRegs = numRegs; this.SPReg = SPReg; this.SBReg = SBReg; this.GReg = GReg; this.allocatable = allocatable; this.primary = primary; this.live = live; this.desired = desired; this.values = values; this.sp = sp; this.sb = sb; this.orig = orig; this.regs = regs; this.nospill = nospill; this.used = used; this.tmpused = tmpused; this.curBlock = curBlock; this.freeUseRecords = freeUseRecords; this.endRegs = endRegs; this.startRegs = startRegs; this.spillLive = spillLive; this.copies = copies; this.loopnest = loopnest; this.visitOrder = visitOrder; }
// outerinner records that outer contains inner public static void outerinner(this SparseTree sdom, ptr <loop> _addr_outer, ptr <loop> _addr_inner) { ref loop outer = ref _addr_outer.val;
public Func(ref ptr <Config> Config = default, ref ptr <Cache> Cache = default, Frontend fe = default, ref ptr <pass> pass = default, @string Name = default, ref ptr <types.Type> Type = default, slice <ptr <Block> > Blocks = default, ref ptr <Block> Entry = default, ref ptr <Value> LastDeferExit = default, idAlloc bid = default, idAlloc vid = default, map <@string, writeSyncer> logfiles = default, ref ptr <HTMLWriter> HTMLWriter = default, bool DebugTest = default, bool PrintOrHtmlSSA = default, map <@string, long> ruleMatches = default, bool scheduled = default, bool laidout = default, bool NoSplit = default, slice <Location> RegAlloc = default, map <LocalSlot, slice <ptr <Value> > > NamedValues = default, slice <LocalSlot> Names = default, slice <ptr <Block> > WBLoads = default, ref ptr <Value> freeValues = default, ref ptr <Block> freeBlocks = default, slice <ptr <Block> > cachedPostorder = default, slice <ptr <Block> > cachedIdom = default, SparseTree cachedSdom = default, ref ptr <loopnest> cachedLoopnest = default, ref ptr <xposmap> cachedLineStarts = default, auxmap auxmap = default, map <long, slice <ptr <Value> > > constants = default) { this.Config = Config; this.Cache = Cache; this.fe = fe; this.pass = pass; this.Name = Name; this.Type = Type; this.Blocks = Blocks; this.Entry = Entry; this.LastDeferExit = LastDeferExit; this.bid = bid; this.vid = vid; this.logfiles = logfiles; this.HTMLWriter = HTMLWriter; this.DebugTest = DebugTest; this.PrintOrHtmlSSA = PrintOrHtmlSSA; this.ruleMatches = ruleMatches; this.scheduled = scheduled; this.laidout = laidout; this.NoSplit = NoSplit; this.RegAlloc = RegAlloc; this.NamedValues = NamedValues; this.Names = Names; this.WBLoads = WBLoads; this.freeValues = freeValues; this.freeBlocks = freeBlocks; this.cachedPostorder = cachedPostorder; this.cachedIdom = cachedIdom; this.cachedSdom = cachedSdom; this.cachedLoopnest = cachedLoopnest; this.cachedLineStarts = cachedLineStarts; this.auxmap = auxmap; this.constants = constants; }
public loopnest(ref ptr <Func> f = default, slice <ptr <loop> > b2l = default, slice <ptr <Block> > po = default, SparseTree sdom = default, slice <ptr <loop> > loops = default, bool hasIrreducible = default, bool initializedChildren = default, bool initializedDepth = default, bool initializedExits = default) { this.f = f; this.b2l = b2l; this.po = po; this.sdom = sdom; this.loops = loops; this.hasIrreducible = hasIrreducible; this.initializedChildren = initializedChildren; this.initializedDepth = initializedDepth; this.initializedExits = initializedExits; }
public partitionByDom(slice <ptr <Value> > a = default, SparseTree sdom = default) { this.a = a; this.sdom = sdom; }