[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