[all-commits] [llvm/llvm-project] f2492f: [clang][CodeGen] Break up TargetInfo.cpp [1/8]

Sergei Barannikov via All-commits all-commits at lists.llvm.org
Fri May 19 13:55:40 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f2492f7cf0b175d5d9403cbfc970a521adbde659
      https://github.com/llvm/llvm-project/commit/f2492f7cf0b175d5d9403cbfc970a521adbde659
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
    M clang/lib/CodeGen/TargetInfo.cpp

  Log Message:
  -----------
  [clang][CodeGen] Break up TargetInfo.cpp [1/8]

`CCState` is a helper class originally used by the x86 implementation
but has since been abused by other implementations.
Remove this dependency by implementing customized versions of the class
for implementations that need such functionality.

Reviewed By: efriedma, MaskRay

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


  Commit: 5a646ed6835f2686cc0574047ce3c9bbaf323ea3
      https://github.com/llvm/llvm-project/commit/5a646ed6835f2686cc0574047ce3c9bbaf323ea3
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
    M clang/lib/CodeGen/TargetInfo.cpp

  Log Message:
  -----------
  [clang][CodeGen] Break up TargetInfo.cpp [2/8]

Move `ABIKind` enums out of `*ABIInfo` classes to break the dependency
between `getTargetCodeGenInfo` and the classes.
This will allow to move the classes to different cpp files.

Reviewed By: efriedma

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


  Commit: 940b02095bf986b5bcc365dc97667a27176c3b13
      https://github.com/llvm/llvm-project/commit/940b02095bf986b5bcc365dc97667a27176c3b13
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
    M clang/lib/CodeGen/TargetInfo.cpp

  Log Message:
  -----------
  [clang][CodeGen] Break up TargetInfo.cpp [3/8]

Don't derive from `DefaultTargetCodeGenInfo`.
This class is going to stay in `TargetInfo.cpp`, whereas its derivants
are going to be moved to separate translation units. Just derive from
the base `TargetCodeGenInfo` class instead.

Reviewed By: efriedma

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


  Commit: 0a86e05d1da0f544920b1eff6656c5577fb6562f
      https://github.com/llvm/llvm-project/commit/0a86e05d1da0f544920b1eff6656c5577fb6562f
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
    M clang/lib/CodeGen/TargetInfo.cpp
    M clang/lib/CodeGen/TargetInfo.h

  Log Message:
  -----------
  [clang][CodeGen] Break up TargetInfo.cpp [4/8]

Remove `getABIInfo` overrides returning references to target-specific
implementations of `ABIInfo`.
The methods may be convenient, but they are only used in one place and
prevent from `ABIInfo` implementations from being put into anonymous
namespaces in different cpp files.

Reviewed By: efriedma

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


  Commit: f60cc01e9e75785dd2476c7e05da689be5a99839
      https://github.com/llvm/llvm-project/commit/f60cc01e9e75785dd2476c7e05da689be5a99839
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2023-05-19 (Fri, 19 May 2023)

  Changed paths:
    M clang/lib/CodeGen/ABIInfo.h
    M clang/lib/CodeGen/TargetInfo.cpp

  Log Message:
  -----------
  [clang][CodeGen] Break up TargetInfo.cpp [5/8]

Make `occupiesMoreThan` a protected member of `SwiftABIInfo`.
This method is only used by implementations of `SwiftABIInfo`.
Making it protected will allow to use it after the implementations
are moved to dedicated cpp files.

Reviewed By: efriedma

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


Compare: https://github.com/llvm/llvm-project/compare/8fcb4fa847f9...f60cc01e9e75


More information about the All-commits mailing list