Lines Matching defs:use

42 // point between LRP and HRP.  Uses in the HRP region will use the spilled
45 // will use that new Def until another HRP region is encountered. Defs in
66 // not cover the input (or output), use the input (or output) mask instead.
67 Node *PhaseChaitin::get_spillcopy_wide( Node *def, Node *use, uint uidx ) {
82 const RegMask *o_mask = use ? &use->in_RegMask(uidx) : w_mask;
89 ((num_regs == 1) // Single use or aligned
98 // Does the ideal-reg-mask overlap with o_mask? I.e., can I use
160 // (The implicit_null_check function ensures the use is also dominated
192 uint PhaseChaitin::split_USE( Node *def, Block *b, Node *use, uint useidx, uint maxlrg, bool def_down, bool cisc_sp, GrowableArray<uint> splits, int slidx ) {
199 JVMState* jvms = use->jvms();
204 // Check for use of debug info
208 // as both inputs to a Phi with only a debug use. It's a single-def
219 use->set_req(useidx, def);
221 // Block and index where the use occurs.
222 Block *b = _cfg._bbs[use->_idx];
223 // Put the clone just prior to use
224 int bindex = b->find_node(use);
228 Node *spill = get_spillcopy_wide(def,use,useidx);
237 use->set_req(useidx,spill);
239 // No further split handling needed for this use
247 // no use side copy is needed. This frees up the live range
250 int inp = use->cisc_operand();
253 inp = use->as_Mach()->operand_index(inp);
255 use->set_req(useidx, def);
259 use->dump();
267 // Insert a Copy before the use
269 // Block and index where the use occurs.
272 if( use->is_Phi() ) {
276 // Put the clone just prior to use
277 bindex = b->find_node(use);
280 Node *spill = get_spillcopy_wide( def, use, useidx );
286 use->set_req(useidx,spill);
366 // walkThru found a multidef LRG, which is unsafe to use, so
438 // Scan block for 1st use.
441 // Ignore PHI use, these can be up or down
445 return true; // Found 1st use!
458 // USES: If USE is in HRP, split at use to leave main LRG on stack.
675 // If entering a high-pressure area with no immediate use,
721 // Memoize any DOWN reaching definitions for use as DEBUG info
795 // If there is already a valid stack definition available, use it
800 // Insert point is just past last use or def in the block
808 // Look for a use
813 // Found a use? Better split after it.
863 // Implicit null checks never use the spilled value
881 // Not a brand-new split, and it is a spill use
904 // Rematerializable? Then clone def at use site instead
968 // If this is debug info use & there is a reaching DOWN def
987 assert(inpidx < oopoff, "cannot use-split oop map info");
993 // bound use if we can't rematerialize the def, or if we need the
1011 // The use at the call can force the def down so insert
1012 // a split before the use to allow the def more freedom.
1199 Node *use = n->in(copyidx);
1200 uint useidx = Find_id(use);
1215 Node *spill = new (C) MachSpillCopyNode(use,use_rm,def_rm);
1227 // beyond the last use of a LRG.