[llvm-commits] ARM AAPCS-VFP hard float calling conventions

Sandeep Patel deeppatel1987 at gmail.com
Fri Jun 5 22:23:07 PDT 2009


The attached patches implement most of the ARM AAPCS-VFP hard float
ABI. The missing piece is support for putting "homogeneous aggregates"
into registers. I wanted to get this part out of the way first before
tackling that.

Also attached is another super/subreg problem with LiveVariables found
in newlib with this patch. Build with:

llvm-as < lib_a-ef_acos.ll | llc -mtriple=arm-linux-gnueabi
-float-abi=hard -mattr=+vfp2

Looks like the call to sqrtf is defined to trash D0 and S1 is expected
to be killed by the call but isn't. The assert at the end of
RegScavenger::forward() fires as a result. Any help with tracking this
down would be appreciated. Anton, Evan?

deep
-------------- next part --------------
A non-text attachment was scrubbed...
Name: llvmdiffs.patch
Type: application/octet-stream
Size: 11352 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20090605/fd999204/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gccdiffs.patch
Type: application/octet-stream
Size: 1238 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20090605/fd999204/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: lib_a-ef_acos.ll
Type: application/octet-stream
Size: 13968 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20090605/fd999204/attachment-0002.obj>


More information about the llvm-commits mailing list