summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2015-03-09 21:40:42 +0000
committerTim Northover <tnorthover@apple.com>2015-03-09 21:40:42 +0000
commitd157e195620ae9047129d705b5a9f93cf2a20b0b (patch)
tree88d4047e3a0ea5b328ad5ac32551a948f1e523ad /llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
parenta3175bab8845c87011cfddc2bd97ef7920d43ae1 (diff)
downloadbcm5719-llvm-d157e195620ae9047129d705b5a9f93cf2a20b0b.tar.gz
bcm5719-llvm-d157e195620ae9047129d705b5a9f93cf2a20b0b.zip
ARM: use ABI-specified alignment for byval parameters.
When passing a type with large alignment byval, we were specifying the type's alignment rather than the alignment that the backend is actually capable of producing (ABIAlign). This would be OK (if odd) assuming the backend dealt with it prooperly, unfortunately it doesn't and trying to pass types with "byval align 16" can cause it to set fp incorrectly and trash the stack during the prologue. I'll be fixing that in a separate patch, but Clang should still be emitting IR that's as close to its intent as possible. rdar://20059039 llvm-svn: 231706
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud