search for: isfullcopy

Displaying 5 results from an estimated 5 matches for "isfullcopy".

2012 Jul 06
2
[LLVMdev] MachineOperand: Subreg defines and the Undef flag
...ion that > defined the source of the copy was a copy instruction that only copied a > subreg not the whole register. > In the event, we lose the lower subreg. > > Let me know If I am missing something. That sounds like a bug, probably adjustCopiesBackFrom needs to check ACopyMI->isFullCopy(). Do you have a test case for this? /jakob
2012 Jul 06
0
[LLVMdev] MachineOperand: Subreg defines and the Undef flag
> > > That sounds like a bug, probably adjustCopiesBackFrom needs to check > ACopyMI->isFullCopy(). > > Do you have a test case for this? > > Yes and No. Yes because the example is from a unit testcase that I have. No because it manifests itself only with my half baked pass that I was talking about earlier in this thread. Pranav -------------- next part -------------- An HTML atta...
2012 Jul 06
1
[LLVMdev] MachineOperand: Subreg defines and the Undef flag
On Jul 6, 2012, at 7:30 AM, Pranav D Bhandarkar <pranav.bhandarkar at utexas.edu> wrote: > That sounds like a bug, probably adjustCopiesBackFrom needs to check ACopyMI->isFullCopy(). > > Do you have a test case for this? > > > Yes and No. Yes because the example is from a unit testcase that I have. No because it manifests itself only with my half baked pass that I was talking about earlier in this thread. Alright. Even then, patches welcome! /jakob ----...
2012 Jul 06
0
[LLVMdev] MachineOperand: Subreg defines and the Undef flag
Hi Jakob, > New_MI_1:: Vreg1 = 0 ; Vreg1 and Vreg2 > are 32 bit virt. regs. > New_MI_2:: Vreg2 = COPY C:lo_sub_reg. > New_MI_3:: B= REG_SEQUENCE<Vreg1, hi_sub_reg, Vreg2, lo_sub_reg> ; B > is a > 64 bit virt reg. I used this approach and it worked find until I hit, what I believe is, a bug in the register coalescer. When the register
2012 Jul 05
3
[LLVMdev] MachineOperand: Subreg defines and the Undef flag
Hi Jakob, Thanks for your reply. > > The <undef> flag goes on NewMI_1 because the virtual register B isn't live > before that instruction. > > But you probably shouldn't be doing this yourself. Your NewMI code isn't in > SSA form because B has multiple definitions. Just use a REG_SEQUENCE > instruction, and let the register allocator do the transformation