On 22/10/2007, Evan Cheng <[EMAIL PROTECTED]> wrote: > Hi Rafael, > > There a couple of problems with this patch. > > 1. This breaks a number of tests for me: > llc-beta /MultiSource/Applications/JM/ldecod/ldecod > llc /MultiSource/Applications/JM/ldecod/ldecod > llc /External/SPEC/CINT2000/254.gap/254.gap > llc /MultiSource/Benchmarks/MiBench/office-ispell/office-ispell > llc-beta /MultiSource/Benchmarks/MiBench/office-ispell/office-ispell > llc-beta /External/SPEC/CINT2000/254.gap/254.gap
Sorry about that. I don't have an arm board with me. I will try to set up a qemu chroot this Friday to better test on ARM. > LowerMEMCPYInline() is asserting when the memcpy is 4-byte aligned but > the size isn't multiple of 4. I'm going to remove the assertion and > issue byte / word loads / stores to handle the trailing bytes. Please > let me know if that's undesirable. I now notice that the original code had a "I->getValue() & 3" then call memcpy. You can just add a if (Size & 3) LowerMEMCPYCall(...) This will return to the previous behavior. Making the inline version handle other sizes is also fine. What I am trying to do is factor a bit of the memcpy expansion code among the various backends since I will need it on all of them to implement "byval" arguments. > 2. The stores are unnecessarily serialized. Each of them should use > the load tokenfactor as input chain. All the chains produced by the > stores should then be fed into a new tokenfactor. I'll fix this. The code that generates the inline expansion is the same as before. Just on a different function. Any improvement is welcome :-) > Thanks, > > Evan Sorry for the problem..., -- Rafael Avila de Espindola Google Ireland Ltd. Gordon House Barrow Street Dublin 4 Ireland Registered in Dublin, Ireland Registration Number: 368047 _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits