[PATCH] ARM unwind directive parser, assembler, and testcases.

Logan Chien tzuhsiang.chien at gmail.com
Thu Apr 18 16:00:17 PDT 2013


logan added you to the CC list for the revision "ARM unwind directive parser, assembler, and testcases.".

Hi grosbach, asl,

Implement AsmParser for ARM unwind directives.

This commit implements the AsmParser for fnstart, fnend,
cantunwind, personality, handlerdata, pad, setfp, save, and
vsave directives.

This commit fixes some minor issue in the ARMELFStreamer:

* The switch back to corresponding section after the .fnend
  directive.

* Emit the unwind opcode while processing .fnend directive
  if there is no .handlerdata directive.

* Emit the unwind opcode to .ARM.extab while processing
  .handlerdata even if .personality directive does not exist.

* Emit the unwind opcode to pop r[3:0] before the unwind
  opcode to pop r[15:4].

* Change the several assertions to if statement.

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

Files:
  test/MC/ARM/eh-directive-save.s
  test/MC/ARM/eh-directive-section.s
  test/MC/ARM/eh-directive-text-section-multiple-func.s
  test/MC/ARM/eh-directive-personality.s
  test/MC/ARM/eh-directive-cantunwind.s
  test/MC/ARM/eh-compact-pr1.s
  test/MC/ARM/eh-directive-vsave.s
  test/MC/ARM/eh-directive-text-section.s
  test/MC/ARM/eh-directive-handlerdata.s
  test/MC/ARM/eh-compact-pr0.s
  test/MC/ARM/eh-directive-section-comdat.s
  test/MC/ARM/eh-directive-setfp.s
  test/MC/ARM/eh-directive-section-multiple-func.s
  test/MC/ARM/eh-directive-pad.s
  lib/Target/ARM/MCTargetDesc/ARMUnwindOpAsm.cpp
  lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
  lib/Target/ARM/AsmParser/ARMAsmParser.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D692.1.patch
Type: text/x-patch
Size: 74200 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130418/f1566296/attachment.bin>


More information about the llvm-commits mailing list