[all-commits] [llvm/llvm-project] 47c8ec: llvm-reduce: Add pass to remove register uses

Matt Arsenault via All-commits all-commits at lists.llvm.org
Tue Jun 7 07:28:37 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 47c8ec811f789ae05970f610217a83347388601b
      https://github.com/llvm/llvm-project/commit/47c8ec811f789ae05970f610217a83347388601b
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2022-06-07 (Tue, 07 Jun 2022)

  Changed paths:
    M llvm/test/tools/llvm-reduce/mir/generic-vreg.mir
    M llvm/test/tools/llvm-reduce/mir/instr-reduce.mir
    M llvm/test/tools/llvm-reduce/mir/preserve-machine-function-info-riscv.mir
    M llvm/test/tools/llvm-reduce/mir/reduce-instruction-flags.mir
    A llvm/test/tools/llvm-reduce/mir/reduce-register-uses.mir
    M llvm/test/tools/llvm-reduce/mir/subreg-def0.mir
    M llvm/test/tools/llvm-reduce/mir/subreg-def1.mir
    M llvm/test/tools/llvm-reduce/mir/undef-virt-reg.mir
    M llvm/tools/llvm-reduce/CMakeLists.txt
    M llvm/tools/llvm-reduce/DeltaManager.cpp
    A llvm/tools/llvm-reduce/deltas/ReduceRegisterUses.cpp
    A llvm/tools/llvm-reduce/deltas/ReduceRegisterUses.h

  Log Message:
  -----------
  llvm-reduce: Add pass to remove register uses

Try to delete implicit uses, and add undef flags to explicit ones.


  Commit: cbbc7e4a7572db4a3ddc008a64f22893220296ef
      https://github.com/llvm/llvm-project/commit/cbbc7e4a7572db4a3ddc008a64f22893220296ef
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2022-06-07 (Tue, 07 Jun 2022)

  Changed paths:
    M llvm/test/tools/llvm-reduce/mir/generic-vreg.mir
    A llvm/test/tools/llvm-reduce/mir/reduce-register-uses-generic.mir
    M llvm/tools/llvm-reduce/deltas/ReduceRegisterUses.cpp

  Log Message:
  -----------
  llvm-reduce: Don't set generic instruction operands to undef

The intention is that these should never have undef operands. It turns
out the restriction the verifier enforces is too lax. The verifier
enforces that registers without a register class cannot be undef, but
it's valid to use a register with a register class and type. The
verifier needs to change to be based on the opcode.


  Commit: 59328ab0ce4ba9c4018a636752a48c9363c2a98f
      https://github.com/llvm/llvm-project/commit/59328ab0ce4ba9c4018a636752a48c9363c2a98f
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2022-06-07 (Tue, 07 Jun 2022)

  Changed paths:
    M llvm/test/tools/llvm-reduce/mir/drop-ir-references.mir
    M llvm/test/tools/llvm-reduce/mir/instr-reduce.mir
    M llvm/test/tools/llvm-reduce/mir/multiple-functions.mir
    M llvm/test/tools/llvm-reduce/mir/preserve-block-info.mir
    M llvm/test/tools/llvm-reduce/mir/preserve-frame-info.mir
    M llvm/test/tools/llvm-reduce/mir/preserve-func-info.mir
    M llvm/test/tools/llvm-reduce/mir/preserve-machine-function-info-amdgpu.mir
    M llvm/test/tools/llvm-reduce/mir/preserve-machine-function-info-riscv.mir
    M llvm/test/tools/llvm-reduce/mir/preserve-max-call-frame-size.mir
    M llvm/test/tools/llvm-reduce/mir/preserve-mem-operands.mir
    M llvm/test/tools/llvm-reduce/mir/preserve-reg-hints.mir
    M llvm/test/tools/llvm-reduce/mir/reduce-instruction-flags.mir
    M llvm/test/tools/llvm-reduce/mir/reduce-instruction-unreachable-block.mir
    M llvm/test/tools/llvm-reduce/mir/reduce-register-hints.mir
    M llvm/test/tools/llvm-reduce/mir/remove-frame-destroy.mir
    M llvm/test/tools/llvm-reduce/mir/subreg-def0.mir
    M llvm/test/tools/llvm-reduce/mir/subreg-def1.mir
    M llvm/test/tools/llvm-reduce/mir/undef-virt-reg.mir

  Log Message:
  -----------
  llvm-reduce: Add -abort-on-invalid-reduction to MIR tests

Ideally reductions would never produce invalid IR, and we shouldn't
regress on cases that already avoid doing so.


Compare: https://github.com/llvm/llvm-project/compare/81edc831fb90...59328ab0ce4b


More information about the All-commits mailing list