[all-commits] [llvm/llvm-project] b116de: [AIX] Avoid structor alias; die before bad alias c...

Hubert Tong via All-commits all-commits at lists.llvm.org
Fri May 8 13:51:52 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: b116ded57da3530e661f871f4191c59cd9e091cd
      https://github.com/llvm/llvm-project/commit/b116ded57da3530e661f871f4191c59cd9e091cd
  Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
  Date:   2020-05-08 (Fri, 08 May 2020)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    A clang/test/Driver/aix-constructor-alias.c
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    A llvm/test/CodeGen/PowerPC/aix-alias.ll

  Log Message:
  -----------
  [AIX] Avoid structor alias; die before bad alias codegen

Summary:
`AsmPrinter::emitGlobalIndirectSymbol` is dependent on
`MCStreamer::emitAssignment` to produce `.set` directives for alias
symbols; however, the `.set` pseudo-op on AIX is documented as not
usable with external relocatable terms or expressions, which limits its
applicability in generating alias symbols.

Disable generating aliases on AIX until a different implementation
strategy is available.

Reviewers: cebowleratibm, jasonliu, sfertile, daltenty, DiggerLin

Reviewed By: jasonliu

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


  Commit: ab59aa6c6130e2eb632f79d4163a33c63c58b117
      https://github.com/llvm/llvm-project/commit/ab59aa6c6130e2eb632f79d4163a33c63c58b117
  Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
  Date:   2020-05-08 (Fri, 08 May 2020)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/XCOFF.h
    M llvm/lib/MC/MCObjectFileInfo.cpp

  Log Message:
  -----------
  [XCOFF] XCOFF constants, MCObjectFileInfo placeholder code for DWARF; NFC

Summary:
This patch introduces the constants defined to identify DWARF sections
in XCOFF into `llvm/BinaryFormat/XCOFF.h` and adds (NFC) placeholder
code to `llvm/lib/MC/MCObjectFileInfo.cpp` where the DWARF sections for
XCOFF are to be set up.

Reviewers: jasonliu, sfertile, daltenty, DiggerLin, Xiangling_L

Reviewed By: jasonliu, sfertile, DiggerLin

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


  Commit: 601d5bd516ec7b99affb9cd4623ec3c027e63aa3
      https://github.com/llvm/llvm-project/commit/601d5bd516ec7b99affb9cd4623ec3c027e63aa3
  Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
  Date:   2020-05-08 (Fri, 08 May 2020)

  Changed paths:
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    A llvm/test/CodeGen/PowerPC/aix-xcoff-endian-error.ll

  Log Message:
  -----------
  [Target][XCOFF] Correctly halt when mixing AIX or XCOFF with ppc64le

The code to prevent using `PPCXCOFFMCAsmInfo` with little-endian targets
used an incorrect check. Also, there does not appear to be sufficient
earlier checking to prevent failing this check, so the check here is
upgraded to be a `report_fatal_error`.

`PPCAIXAsmPrinter` was also missing a check against use with
little-endian targets. This patch adds such a check in.


Compare: https://github.com/llvm/llvm-project/compare/f66309deab1d...601d5bd516ec


More information about the All-commits mailing list