[all-commits] [llvm/llvm-project] ddda37: [TableGen] Refactor Intrinsic handling in TableGen...

Rahul Joshi via All-commits all-commits at lists.llvm.org
Fri Aug 16 09:27:19 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ddda37a6c72f0d2fb315d53043ed5e7a39eddfe0
      https://github.com/llvm/llvm-project/commit/ddda37a6c72f0d2fb315d53043ed5e7a39eddfe0
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-08-16 (Fri, 16 Aug 2024)

  Changed paths:
    M llvm/include/llvm/ADT/STLExtras.h
    M llvm/lib/Object/COFFImportFile.cpp
    M llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
    M llvm/utils/TableGen/Basic/CodeGenIntrinsics.h
    M llvm/utils/TableGen/Basic/SDNodeProperties.cpp
    M llvm/utils/TableGen/Basic/SDNodeProperties.h
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
    M llvm/utils/TableGen/Common/GlobalISel/PatternParser.cpp
    M llvm/utils/TableGen/IntrinsicEmitter.cpp
    M llvm/utils/TableGen/SearchableTableEmitter.cpp
    M polly/lib/Support/GICHelper.cpp

  Log Message:
  -----------
  [TableGen] Refactor Intrinsic handling in TableGen (#103980)

CodeGenIntrinsic changes:
  - Use `const` Record pointers, and `StringRef` when possible.
  - Default initialize several fields with their definition instead of in
 the constructor.
- Simplify various string checks in the constructor using StringRef
starts_with()/ends_with() functions.
- Eliminate first argument to `setDefaultProperties` and use `TheDef`
class member instead.

IntrinsicEmitter changes:
  - Emit `namespace llvm::Intrinsic` instead of nested namespaces.
  - End generated comments with a .
  - Use range based for loops, and early continue within loops.
  - Emit `static constexpr` instead of `static const` for arrays.
- Change `compareFnAttributes` to use std::tie() to compare intrinsic
attributes and return a default value when all attributes are equal.

STLExtras:
  - Add std::replace wrapper which takes a range.



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