[PATCH] D43962: [GlobalISel][utils] Adding the init version of Instruction Select Testgen

Roman Tereshin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 16 22:00:11 PDT 2018


rtereshin updated this revision to Diff 147237.
rtereshin added a comment.

1. Improved in-source comments
2. Improved usability and scripts, in particular, added `find_failing_instruction_select_rules.sh` script that will automatically find the selection rules that will fail if executed (most of the time will crash the selector)
3. Added support for extending loads / truncating stores MatchTable checks
4. Rebased against master and re-solved namespace / visibility issues introduced by AMDGPU backend (the only backend that put its target-specific derived InstructionSelector's declaration in a header)
5. Increased Testgen's tolerance towards register banks quirks: AMD GPU is the only backend that has banks "covering" register classes that span cross multiple banks.
6. Decreased invasiveness of the patch in its surroundings, especially within the global isel emitter.
7. Made sure that if the tests are updated they are updated in place as much as possible (w/o re-ordering machine functions representing selection rules within the test file) and identified by their much more stable Rule IDs rather than number / position or initial index in the MatchTable. This makes diffs much more manageable for a manual review.
8. Other small improvements and bug fixes.


Repository:
  rL LLVM

https://reviews.llvm.org/D43962

Files:
  include/llvm/CodeGen/GlobalISel/InstructionSelectTestgen.h
  include/llvm/CodeGen/GlobalISel/InstructionSelector.h
  include/llvm/CodeGen/GlobalISel/InstructionSelectorImpl.h
  include/llvm/CodeGen/GlobalISel/InstructionSelectorTestgen.h
  include/llvm/InitializePasses.h
  lib/CodeGen/GlobalISel/CMakeLists.txt
  lib/CodeGen/GlobalISel/GlobalISel.cpp
  lib/CodeGen/GlobalISel/InstructionSelectTestgen.cpp
  lib/CodeGen/GlobalISel/InstructionSelectorTestgen.cpp
  test/TableGen/GlobalISelEmitter.td
  utils/TableGen/GlobalISelEmitter.cpp
  utils/find_failing_instruction_select_rules.sh
  utils/update_instruction_select_testgen_tests.sh

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D43962.147237.patch
Type: text/x-patch
Size: 76336 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180517/c59dedb0/attachment.bin>


More information about the llvm-commits mailing list