search for: minsn

Displaying 2 results from an estimated 2 matches for "minsn".

Did you mean: insn
2015 Jun 23
4
[LLVMdev] Improving the quality of debug locations / DbgValueHistoryCalculator
...he current basic block BB. - outgoing_loc[BB][var] is the list of locations for var valid at the end of a basic block BB. // This code is probably buggy because I didn't run it through a // compiler yet, but I hope it serves to illustrate my point. // Visit a machine instruction. transfer(MInsn) { // A DBG_VALUE marks the beginning of a new range. if (MInsn is a DBG_VALUE(var, loc)) { for ((rvar, start) : open_ranges[BB]) // A DBG_VALUE terminates a range started by a previous // DBG_VALUE for the same variable, if the described pieces // overlap. if (var...
2015 Aug 12
3
[LLVMdev] Improving the quality of debug locations / DbgValueHistoryCalculator
...neInstructions (start, end) that both belong > to the same basic block. > - range[var] is the final list of live ranges for a variable. > How come you never remove ranges from range[var]? What if you have smth. like BB1: DBG_VALUE %RAX, %noreg, !"a" jmp BB2 BB2: // more minsns clobber %RAX BB3: clobber %RAX DBG_VALUE %RBX, %noreg, !"a" jmp BB2 Looks like you would handle BB1, then BB2, and create a range for "a" from the beginning of BB2 to clobber instruction. But this might be incorrect - if we have jumped to BB2 from BB3, then the locati...