diff options
author | Logan Chien <tzuhsiang.chien@gmail.com> | 2013-06-09 12:22:30 +0000 |
---|---|---|
committer | Logan Chien <tzuhsiang.chien@gmail.com> | 2013-06-09 12:22:30 +0000 |
commit | 325823a1891b518d71c61e35ec0bff1a44bb6b94 (patch) | |
tree | 1a0dbc2c66fca06e68a5bcbe5f611a835c4a9e05 /clang/lib/CodeGen/CodeGenFunction.h | |
parent | 89703c06f2aee81954d19e8c83c3739088001db6 (diff) | |
download | bcm5719-llvm-325823a1891b518d71c61e35ec0bff1a44bb6b94.tar.gz bcm5719-llvm-325823a1891b518d71c61e35ec0bff1a44bb6b94.zip |
Fix ARM unwind opcode assembler in several cases.
Changes to ARM unwind opcode assembler:
* Fix multiple .save or .vsave directives. Besides, the
order is preserved now.
* For the directives which will generate multiple opcodes,
such as ".save {r0-r11}", the order of the unwind opcode
is fixed now, i.e. the registers with less encoding value
are popped first.
* Fix the $sp offset calculation. Now, we can use the
.setfp, .pad, .save, and .vsave directives at any order.
Changes to test cases:
* Add test cases to check the order of multiple opcodes
for the .save directive.
* Fix the incorrect $sp offset in the test case. The
stack pointer offset specified in the test case was
incorrect. (Changed test cases: ehabi-mc-section.ll and
ehabi-mc.ll)
* The opcode to restore $sp are slightly reordered. The
behavior are not changed, and the new output is same
as the output of GNU as. (Changed test cases:
eh-directive-pad.s and eh-directive-setfp.s)
llvm-svn: 183627
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.h')
0 files changed, 0 insertions, 0 deletions