On Tue, Oct 30, 2012 at 3:02 PM, manman ren <[email protected]> wrote: > > On Oct 29, 2012, at 2:55 PM, manman ren <[email protected]> wrote: > >> >> On Oct 29, 2012, at 2:38 PM, Eli Friedman <[email protected]> wrote: >> >>> On Mon, Oct 29, 2012 at 10:16 AM, manman ren <[email protected]> wrote: >>>> >>>> If Homogeneous Aggregate can only partially fit into VFP registers, we add >>>> padding to make sure >>>> HA will be on stack and later VFP CPRCs will be on stack as well. >>>> >>>> There is a discussion on whether we should use byval to pass things on >>>> stack: >>>> llvm-commits: ABI: how to let the backend know that an aggregate should be >>>> allocated on stack >>>> >>>> For now, the patch implemented what Eli suggested. >>> >>> + llvm::Type *PaddingTy = llvm::VectorType::get( >>> + llvm::Type::getFloatTy(getVMContext()), NumVFPs - PreAllocation); >>> >>> Using illegal vector types here isn't a good idea, even if it may work >>> for the moment. >> >> Hi Eli, >> >> Thanks for reviewing. >> Do you have any suggestion on what type to use as padding here? >> >>> >>> + it->info = ABIArgInfo::getDirect(0, 0, PaddingTy); >>> >>> getExpandWithPadding would be a bit more clear here. >> Will do. > > Aha, found getExpandWithPadding after "make update". > Modified the patch to use getExpandWithPadding.
A test including vector types would be nice. Otherwise, looks fine; please commit. -Eli _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
