[all-commits] [llvm/llvm-project] efaaff: [CodeGen] Declare command line options in TableGen

Fangrui Song via All-commits all-commits at lists.llvm.org
Sat Oct 3 18:12:12 PDT 2026


  Branch: refs/heads/users/MaskRay/codegen-options
  Home:   https://github.com/llvm/llvm-project
  Commit: efaaffe06b5bde53b4606d59b201224c1eb03594
      https://github.com/llvm/llvm-project/commit/efaaffe06b5bde53b4606d59b201224c1eb03594
  Author: Fangrui Song <i at maskray.me>
  Date:   2026-10-03 (Sat, 03 Oct 2026)

  Changed paths:
    M llvm/lib/CodeGen/CMakeLists.txt
    A llvm/lib/CodeGen/CodeGenOptions.cpp
    A llvm/lib/CodeGen/CodeGenOptions.h
    A llvm/lib/CodeGen/CodeGenOptions.td
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/RegisterUsageInfo.cpp
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel

  Log Message:
  -----------
  [CodeGen] Declare command line options in TableGen

Move the cl::opts of TargetPassConfig.cpp and CodeGenPrepare.cpp into
CodeGenOptions.td, private to lib/CodeGen; other files will follow.
-enable-machine-outliner (cl::ValueOptional) and -regalloc
(RegisterPassParser) stay cl::opt.

CodeGenPrepare and its addressing-mode helpers hold
`const CodeGenOptions &Opts`; TargetPassConfig functions read
CodeGenOptions::Global. getCGPassBuilderOption() converts
std::optional<bool> members to the cl::boolOrDefault fields of the
public CGPassBuilderOption. -basic-block-section-match-infer, which was
not cl::Hidden, is now listed by -help-hidden only.

Aided by Opus 5.5



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list