[all-commits] [llvm/llvm-project] 96e473: [RFC][GlobalISel] Use Builders in MatchTable (#65955)

Pierre van Houtryve via All-commits all-commits at lists.llvm.org
Sun Oct 15 22:41:31 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 96e473a6be2e82e3fb4060805c7928c981111025
      https://github.com/llvm/llvm-project/commit/96e473a6be2e82e3fb4060805c7928c981111025
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2023-10-16 (Mon, 16 Oct 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
    M llvm/test/TableGen/GlobalISelEmitter.td
    M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [RFC][GlobalISel] Use Builders in MatchTable (#65955)

The MatchTableExecutor did not use the MachineIRBuilder but instead
created instructions ad-hoc.
Making it use a Builder has the benefit that any observer added by a
combine is now notified when instructions are created by MIR patterns.

Another benefit is that it allows me to improve how constants are
created in apply MIR patterns.
`MachineIRBuilder::buildConstant` automatically handles splats for us,
this means that we may change `addCImm` to use that and handle vector
cases automatically.




More information about the All-commits mailing list