Displaying 3 results from an estimated 3 matches for "b_s".
Did you mean:
_s
2006 Apr 29
2
[LLVMdev] Register allocation in LLVM
...asic block where phi functions were destroyed. With three
xor, we can implement a swap without an extra register. For instance, if I
have (after RegAlloc), these PHI functions at the header of block B_d:
a(r1) <- (a1(r1), a2(r2))
b(r2) <- (b1(r2), b2(r1))
assuming that a2, b2 come from block B_s, at the end of block B_s I would
have to add the permutation: (r1, r2) <- perm (r2, r1)
which I can implement with six Xor instructions. Well, I would like to
get some comments about the best way to implement this in LLVM. Should I
change the function "copyRegToReg" in X86RegisterInfo....
2006 May 01
0
[LLVMdev] Register allocation in LLVM
...ctions were destroyed. With three
> xor, we can implement a swap without an extra register. For instance, if I
> have (after RegAlloc), these PHI functions at the header of block B_d:
> a(r1) <- (a1(r1), a2(r2))
> b(r2) <- (b1(r2), b2(r1))
> assuming that a2, b2 come from block B_s, at the end of block B_s I would
> have to add the permutation: (r1, r2) <- perm (r2, r1)
> which I can implement with six Xor instructions.
Ok, seems complicated, but potentially cute. Note that most copy
instructions inserted by the phi elimination phase are coallesced away:
replacin...
2006 May 01
2
[LLVMdev] Register allocation in LLVM
...xor, we can implement a swap without an extra register. For
>> instance, if I
>> have (after RegAlloc), these PHI functions at the header of block
>> B_d:
>> a(r1) <- (a1(r1), a2(r2))
>> b(r2) <- (b1(r2), b2(r1))
>> assuming that a2, b2 come from block B_s, at the end of block B_s
>> I would
>> have to add the permutation: (r1, r2) <- perm (r2, r1)
>> which I can implement with six Xor instructions.
>
> Ok, seems complicated, but potentially cute. Note that most copy
> instructions inserted by the phi elimination ph...