[all-commits] [llvm/llvm-project] 1feb00: [X86] Introduce a large data threshold for the med...

Arthur Eubanks via All-commits all-commits at lists.llvm.org
Thu Sep 14 15:09:49 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1feb00a28c9fdab162da08a15fcc9d088a36c352
      https://github.com/llvm/llvm-project/commit/1feb00a28c9fdab162da08a15fcc9d088a36c352
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2023-09-14 (Thu, 14 Sep 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/CommandFlags.h
    M llvm/include/llvm/Target/TargetMachine.h
    M llvm/lib/CodeGen/CommandFlags.cpp
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/Target/TargetMachine.cpp
    M llvm/test/CodeGen/X86/code-model-elf-sections.ll
    M llvm/tools/llc/llc.cpp

  Log Message:
  -----------
  [X86] Introduce a large data threshold for the medium code model

Currently clang's medium code model treats all data as large, putting them in a large data section and using more expensive instruction sequences to access them.

Following gcc's -mlarge-data-threshold, which allows putting data under a certain size in a normal data section as opposed to a large data section. This allows using cheaper code sequences to access some portion of data in the binary (which will be implemented in LLVM in a future patch).

And under the medium codel mode, only put data above the large data threshold into large data sections, not all data.

Reviewed By: MaskRay, rnk

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




More information about the All-commits mailing list