[all-commits] [llvm/llvm-project] 0dc057: [XCOFF][AIX] Differentiate usage of label symbol a...

jasonliudev via All-commits all-commits at lists.llvm.org
Fri Nov 8 06:30:39 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 0dc0572b48ed889e6f750fd65b876a0420805377
      https://github.com/llvm/llvm-project/commit/0dc0572b48ed889e6f750fd65b876a0420805377
  Author: Jason Liu <jasonliu.development at gmail.com>
  Date:   2019-11-08 (Fri, 08 Nov 2019)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/XCOFF.h
    M llvm/include/llvm/MC/MCAsmInfo.h
    M llvm/include/llvm/MC/MCAsmInfoXCOFF.h
    M llvm/include/llvm/MC/MCSectionXCOFF.h
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/include/llvm/MC/MCXCOFFStreamer.h
    M llvm/lib/BinaryFormat/CMakeLists.txt
    A llvm/lib/BinaryFormat/XCOFF.cpp
    M llvm/lib/MC/MCAsmInfo.cpp
    M llvm/lib/MC/MCAsmInfoXCOFF.cpp
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/MC/MCContext.cpp
    M llvm/lib/MC/MCSectionXCOFF.cpp
    M llvm/lib/MC/MCStreamer.cpp
    M llvm/lib/MC/MCXCOFFStreamer.cpp
    M llvm/lib/MC/XCOFFObjectWriter.cpp
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    M llvm/test/CodeGen/PowerPC/aix-xcoff-data.ll
    M llvm/test/CodeGen/PowerPC/aix-xcoff-lcomm.ll

  Log Message:
  -----------
  [XCOFF][AIX] Differentiate usage of label symbol and csect symbol

Summary:
 We are using symbols to represent label and csect interchangeably before, and that could be a problem.
There are cases we would need to add storage mapping class to the symbol if that symbol is actually the name of a csect, but it's hard for us to figure out whether that symbol is a label or csect.

This patch intend to do the following:
    1. Construct a QualName (A name include the storage mapping class)
       MCSymbolXCOFF for every MCSectionXCOFF.
    2. Keep a pointer to that QualName inside of MCSectionXCOFF.
    3. Use that QualName whenever we need a symbol refers to that
       MCSectionXCOFF.
    4. Adapt the snowball effect from the above changes in
       XCOFFObjectWriter.cpp.

Reviewers: xingxue, DiggerLin, sfertile, daltenty, hubert.reinterpretcast

Reviewed By: DiggerLin, daltenty

Subscribers: wuzish, nemanjai, mgorny, hiraditya, kbarton, jsji, llvm-commits

Tags: #llvm

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




More information about the All-commits mailing list