[PATCH] Implement AsmParser for ARM unwind directives.

Logan Chien tzuhsiang.chien at gmail.com
Fri May 3 03:25:13 PDT 2013


  Remove D692 from this change.  The summary of this change:

  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 case 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.

  * 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.  (File: eh-directive-pad.s,
    eh-directive-setfp.s)

Hi asl,

http://llvm-reviews.chandlerc.com/D738

CHANGE SINCE LAST DIFF
  http://llvm-reviews.chandlerc.com/D738?vs=1813&id=1814#toc

Files:
  lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
  lib/Target/ARM/MCTargetDesc/ARMUnwindOpAsm.cpp
  lib/Target/ARM/MCTargetDesc/ARMUnwindOpAsm.h
  test/CodeGen/ARM/ehabi-mc-section.ll
  test/CodeGen/ARM/ehabi-mc.ll
  test/MC/ARM/eh-directive-multiple-offsets.s
  test/MC/ARM/eh-directive-pad.s
  test/MC/ARM/eh-directive-save.s
  test/MC/ARM/eh-directive-setfp.s
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D738.2.patch
Type: text/x-patch
Size: 26721 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130503/49d5ceba/attachment.bin>


More information about the llvm-commits mailing list