[all-commits] [llvm/llvm-project] bb6ab9: Add option -fkeep-persistent-storage-variables to ...

stephenpeckham via All-commits all-commits at lists.llvm.org
Sat Jul 15 13:14:03 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: bb6ab91b1dcd2fadfddffcd020439978af184862
      https://github.com/llvm/llvm-project/commit/bb6ab91b1dcd2fadfddffcd020439978af184862
  Author: Zheng Qian <qianzhen at ca.ibm.com>
  Date:   2023-07-15 (Sat, 15 Jul 2023)

  Changed paths:
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    A clang/test/CodeGen/keep-persistent-storage-variables.cpp
    A clang/test/Driver/fkeep-persistent-storage-variables.c

  Log Message:
  -----------
  Add option -fkeep-persistent-storage-variables to emit all variables that have a persistent storage duration

This patch adds a new option -fkeep-persistent-storage-variables to emit
all variables that have a persistent storage duration, including global,
static and thread-local variables. This could be useful in cases where
the presence of all these variables as symbols in the object file are
required, so that they can be directly addressed.

Reviewed By: hubert.reinterpretcast

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


  Commit: ac5d5351d42ab74cfc47964aa0ca94655cf7e7c7
      https://github.com/llvm/llvm-project/commit/ac5d5351d42ab74cfc47964aa0ca94655cf7e7c7
  Author: Stephen Peckham <speckham at us.ibm.com>
  Date:   2023-07-15 (Sat, 15 Jul 2023)

  Changed paths:
    M llvm/lib/MC/MCObjectFileInfo.cpp
    M llvm/test/CodeGen/PowerPC/aix-alias-alignment-2.ll
    M llvm/test/CodeGen/PowerPC/aix-alias-alignment.ll
    M llvm/test/CodeGen/PowerPC/aix-alias.ll
    M llvm/test/CodeGen/PowerPC/aix-dwarf.ll
    M llvm/test/CodeGen/PowerPC/aix-emit-tracebacktable-clobber-register.ll
    M llvm/test/CodeGen/PowerPC/aix-extern-weak.ll
    M llvm/test/CodeGen/PowerPC/aix-extern.ll
    M llvm/test/CodeGen/PowerPC/aix-func-align.ll
    M llvm/test/CodeGen/PowerPC/aix-func-dsc-gen.ll
    M llvm/test/CodeGen/PowerPC/aix-personality-alias.ll
    A llvm/test/CodeGen/PowerPC/aix-text-ref.ll
    A llvm/test/CodeGen/PowerPC/aix-text.ll
    M llvm/test/CodeGen/PowerPC/aix-tls-xcoff-reloc-large.ll
    M llvm/test/CodeGen/PowerPC/aix-tls-xcoff-reloc.ll
    M llvm/test/CodeGen/PowerPC/aix-tls-xcoff-variables.ll
    M llvm/test/CodeGen/PowerPC/aix-weak.ll
    M llvm/test/CodeGen/PowerPC/aix-xcoff-cold.ll
    M llvm/test/CodeGen/PowerPC/aix-xcoff-data.ll
    M llvm/test/CodeGen/PowerPC/aix-xcoff-funcsect.ll
    M llvm/test/CodeGen/PowerPC/aix-xcoff-reloc-symb.mir
    M llvm/test/CodeGen/PowerPC/aix-xcoff-reloc.ll
    M llvm/test/CodeGen/PowerPC/aix-xcoff-symbol-rename.ll
    M llvm/test/CodeGen/PowerPC/pgo-ref-directive.ll
    M llvm/test/CodeGen/PowerPC/test_func_desc.ll
    M llvm/test/DebugInfo/XCOFF/empty.ll
    M llvm/test/DebugInfo/XCOFF/explicit-section.ll
    M llvm/test/DebugInfo/XCOFF/function-sections.ll
    M llvm/test/MC/PowerPC/aix-file-symbols-empty.s
    M llvm/test/MC/PowerPC/aix-file-symbols.s
    M llvm/test/tools/llvm-objdump/XCOFF/symbol-table.test

  Log Message:
  -----------
  Use empty symbol name for XCOFF text csect

When generating XCOFF, the compiler generates a csect with an internal
name.  Each function results in a label within the csect.  This patch
replaces the internal name ".text" with an empty string "".  This avoids
adding special code to handle a function text() in the source file, and
works better with some XCOFF tools that are confused when the csect and
the first function have the same address.

Reviewed By: hubert.reinterpretcast

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


Compare: https://github.com/llvm/llvm-project/compare/a22295114839...ac5d5351d42a


More information about the All-commits mailing list