[PATCH] D124008: llvm-reduce: Support multiple MachineFunctions

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 19 08:42:25 PDT 2022


arsenm created this revision.
arsenm added reviewers: markus, aeubanks, reames, MatzeB, qcolombet, lebedev.ri.
Herald added subscribers: hiraditya, kristof.beyls.
Herald added a project: All.
arsenm requested review of this revision.
Herald added a subscriber: wdng.
Herald added a project: LLVM.

The current testcase I'm trying to reduce only reproduces with IPRA
enabled and requires handling multiple functions.

      

The only real difference vs. the IR is the extra indirect to look for
the underlying MachineFunction, so treat the ReduceWorkItem as the
module instead of the function.

      

The ugliest piece of this is really the ugliness of
MachineModuleInfo. It not only tracks actual module state, but has a
number of transient fields used for isel and/or the asm printer. These
shouldn't do any harm for the use here, though they should be
separated out.


https://reviews.llvm.org/D124008

Files:
  llvm/include/llvm/CodeGen/MachineModuleInfo.h
  llvm/lib/CodeGen/MachineModuleInfo.cpp
  llvm/test/tools/llvm-reduce/mir/multiple-functions.mir
  llvm/tools/llvm-reduce/ReducerWorkItem.cpp
  llvm/tools/llvm-reduce/ReducerWorkItem.h
  llvm/tools/llvm-reduce/TestRunner.cpp
  llvm/tools/llvm-reduce/TestRunner.h
  llvm/tools/llvm-reduce/deltas/Delta.cpp
  llvm/tools/llvm-reduce/deltas/Delta.h
  llvm/tools/llvm-reduce/deltas/ReduceInstructionsMIR.cpp
  llvm/tools/llvm-reduce/llvm-reduce.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D124008.423640.patch
Type: text/x-patch
Size: 15857 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220419/026117ca/attachment.bin>


More information about the llvm-commits mailing list