[PATCH] D42720: [CodeGen] Switch non-SJLJ EH encoding to uleb128

Ryan Prichard via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 5 23:26:36 PST 2018


rprichard updated this revision to Diff 132942.
rprichard added a comment.

Remove the -layout-eh-table-in-assembler option; emit uleb128 code
offsets unconditionally.

Also: update LLVM tests to account for the encoding change.

Comments:

- The SJLJ call site encoding value is still udata4, even though the two fields in each entry are encoded with uleb128. IIRC, I checked GCC, and it specified the encoding as uleb128. I suspect the SJLJ decoder ignores the encoding, but I haven't checked.
- I removed the comments about the "16-byte bundle". I *think* it originated from Itanium documentation, where it refers to a VLIW instruction bundle.
- check-llvm passes. I also built a stage2 toolchain and verified that its check-libcxx and check-libcxxabi pass on a 64-bit Linux machine.


Repository:
  rL LLVM

https://reviews.llvm.org/D42720

Files:
  include/llvm/CodeGen/AsmPrinter.h
  include/llvm/MC/MCObjectStreamer.h
  include/llvm/MC/MCStreamer.h
  lib/CodeGen/AsmPrinter/ARMException.cpp
  lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp
  lib/CodeGen/AsmPrinter/DwarfException.h
  lib/CodeGen/AsmPrinter/EHStreamer.cpp
  lib/CodeGen/AsmPrinter/EHStreamer.h
  lib/MC/MCAsmStreamer.cpp
  lib/MC/MCObjectStreamer.cpp
  lib/MC/MCStreamer.cpp
  test/CodeGen/ARM/dwarf-eh.ll
  test/CodeGen/ARM/ehabi-handlerdata-nounwind.ll
  test/CodeGen/ARM/ehabi-handlerdata.ll
  test/CodeGen/X86/eh-label.ll
  test/CodeGen/X86/eh-unknown.ll
  test/CodeGen/X86/patchpoint-invoke.ll
  test/CodeGen/X86/push-cfi-obj.ll
  test/CodeGen/X86/statepoint-invoke.ll
  test/CodeGen/XCore/exception.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D42720.132942.patch
Type: text/x-patch
Size: 26192 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180206/ad834476/attachment.bin>


More information about the llvm-commits mailing list