[all-commits] [llvm/llvm-project] 383262: [clang][cli] NFC: Add PIE parsing for precompiled ...

Jan Svoboda via All-commits all-commits at lists.llvm.org
Fri Jan 15 07:42:04 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 383262933045e1c138362105be4ee4d1b62ab4cc
      https://github.com/llvm/llvm-project/commit/383262933045e1c138362105be4ee4d1b62ab4cc
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2021-01-15 (Fri, 15 Jan 2021)

  Changed paths:
    M clang/lib/Frontend/CompilerInvocation.cpp

  Log Message:
  -----------
  [clang][cli] NFC: Add PIE parsing for precompiled input and IR

This patch effectively reverts a small part of D83979.

When we stop parsing `LangOpts` unconditionally in `parseSimpleArgs` (above the diff) and move them back to `ParseLangArgs` (called in `else` branch) in D94682, `LangOpts.PIE` would never get parsed in this `if` branch. This patch ensures this doesn't happen.

Right now, this causes `LangOpts.PIE` to be parsed twice, but that will be immediately corrected in D94682.

Reviewed By: Bigcheese

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


  Commit: a7dcd3aeb0fb58ad774bc89428ed6c925f31f8aa
      https://github.com/llvm/llvm-project/commit/a7dcd3aeb0fb58ad774bc89428ed6c925f31f8aa
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2021-01-15 (Fri, 15 Jan 2021)

  Changed paths:
    M clang/lib/Frontend/CompilerInvocation.cpp

  Log Message:
  -----------
  [clang][cli] NFC: Parse some LangOpts after the defaults are set

This patch ensures we only parse the necessary options before calling `setLangDefaults` (explained in D94678).

Because neither `LangOpts.CFProtectionBranch` nor `LangOpts.SYCLIsDevice` are used in `setLangDefaults`, this is a NFC.

Reviewed By: Bigcheese

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


  Commit: 1744f4c676411ebd2e38afd5a6b56e5dd533c6ac
      https://github.com/llvm/llvm-project/commit/1744f4c676411ebd2e38afd5a6b56e5dd533c6ac
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2021-01-15 (Fri, 15 Jan 2021)

  Changed paths:
    M clang/include/clang/Frontend/CompilerInvocation.h
    M clang/lib/Frontend/CompilerInvocation.cpp

  Log Message:
  -----------
  [clang][cli] NFC: Promote ParseLangArgs and ParseCodeGenArgs to members

This patch promotes `ParseLangArgs` and `ParseCodeGenArgs` to members of `CompilerInvocation`. That will be useful in the following patch D94682, where we need to access protected members of `LangOptions` and `CodeGenOptions`. Both of those classes already have `friend CompilerInvocation`.

This is cleaner than keeping those functions freestanding and having to specify the exact signature of both in extra `friend` declarations.

Reviewed By: Bigcheese

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


Compare: https://github.com/llvm/llvm-project/compare/bf1aa5db5c76...1744f4c67641


More information about the All-commits mailing list