[PATCH] Add UnitTest to test-suite to check correct handling of large stack alignments

Kristof Beyls kristof.beyls at arm.com
Tue Jan 6 10:02:03 PST 2015


Thanks for noticing the tab vs spaces issue - I don't think it affected correctness in this case, it should be a tab just for consistency. Now corrected in updated patch.

The test is indeed failing on ARM targets, because of http://llvm.org/bugs/show_bug.cgi?id=13007.
http://reviews.llvm.org/D6844 is the review for a patch fixing 13007 (and making the test in this patch pass) for ARM and Thumb2 targets.

I didn't tune the sizes and alignments being tested for ARM specifically; the only function I added for ARM specifically is copy_and_check_aligned_stack_copy_scalar_spill, because ARMFrameLowering has a different code path emitting stack-aligning
instructions when floating point registers need to be spilled on a target with Neon instructions. I could eliminate that function if
it that seems to be too much "white box" instead of "black box" testing.

I don't know of LLVM having bugs for stack alignments for other architectures - but the test is valid for all architectures,
so if added, should be enabled for all architectures.

Thanks,

Kristof


http://reviews.llvm.org/D6845

Files:
  SingleSource/UnitTests/Makefile
  SingleSource/UnitTests/large_stack_alignment.cpp
  SingleSource/UnitTests/large_stack_alignment.reference_output

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D6845.17834.patch
Type: text/x-patch
Size: 9561 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150106/2349a4e9/attachment.bin>


More information about the llvm-commits mailing list