[all-commits] [llvm/llvm-project] a65d8c: [XCOFF][AIX] Generate LSDA data and compact unwind...

jasonliudev via All-commits all-commits at lists.llvm.org
Wed Dec 2 10:47:57 PST 2020


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a65d8c5d720db8c646adb0ad9dac54da5d5fa230
      https://github.com/llvm/llvm-project/commit/a65d8c5d720db8c646adb0ad9dac54da5d5fa230
  Author: jasonliu <jasonliu.development at gmail.com>
  Date:   2020-12-02 (Wed, 02 Dec 2020)

  Changed paths:
    M clang/lib/CodeGen/CGCleanup.h
    M clang/lib/CodeGen/CGException.cpp
    M clang/test/CodeGenCXX/personality.cpp
    M llvm/include/llvm/Analysis/EHPersonalities.h
    M llvm/include/llvm/CodeGen/AsmPrinter.h
    M llvm/include/llvm/MC/MCTargetOptions.h
    M llvm/lib/Analysis/EHPersonalities.cpp
    A llvm/lib/CodeGen/AsmPrinter/AIXException.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp
    M llvm/lib/CodeGen/AsmPrinter/CMakeLists.txt
    M llvm/lib/CodeGen/AsmPrinter/DwarfException.h
    M llvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/lib/MC/MCAsmInfoXCOFF.cpp
    M llvm/lib/MC/MCObjectFileInfo.cpp
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    A llvm/test/CodeGen/PowerPC/aix-exception.ll

  Log Message:
  -----------
  [XCOFF][AIX] Generate LSDA data and compact unwind section on AIX

Summary:
AIX uses the existing EH infrastructure in clang and llvm.
The major differences would be
1. AIX do not have CFI instructions.
2. AIX uses a new personality routine, named __xlcxx_personality_v1.
   It doesn't use the GCC personality rountine, because the
   interoperability is not there yet on AIX.
3. AIX do not use eh_frame sections. Instead, it would use a eh_info
section (compat unwind section) to store the information about
personality routine and LSDA data address.

Reviewed By: daltenty, hubert.reinterpretcast

Differential Revision: https://reviews.llvm.org/D91455




More information about the All-commits mailing list