After this patch, we finally have test cases that require multiple
instruction emission.
Depends on D33590
Paths
| Differential D33596
[globalisel][tablegen] Add support for EXTRACT_SUBREG. ClosedPublic Authored by dsanders on May 26 2017, 7:10 AM.
Details Summary After this patch, we finally have test cases that require multiple Depends on D33590
Diff Detail
Event TimelineComment Actions After re-testing this on current trunk, there's a bug in X86 due to GR64 not fully supporting the 8bit subregister index. I'll fix this shortly using failedImport() for this case since we don't have multi-insn emission quite yet. The following patches introduce the infrastructure for it. Comment Actions Fix the X86 machine verifier bug where EXTRACT_SUBREG could emit a subregister Comment Actions Could you re-upload the patch without the diffs from https://reviews.llvm.org/D33590?
Comment Actions Can you add a tablegen testcase?
dsanders added inline comments.
dsanders marked an inline comment as done. Comment ActionsFix the nits ( -> /, Optional<std::pair<...>>, etc.) Made the change requested for AArch64InstructionSelector.cpp as far as Closed by commit rL306388: [globalisel][tablegen] Add support for EXTRACT_SUBREG. (authored by dsanders). · Explain WhyJun 27 2017, 3:11 AM This revision was automatically updated to reflect the committed changes. Comment Actions Can you add a tablegen testcase? If nothing else, it's a good way to document the tablegen backend.
Comment Actions
Sure.
Revision Contents
Diff 101196 include/llvm/CodeGen/GlobalISel/InstructionSelector.h
include/llvm/CodeGen/GlobalISel/Utils.h
lib/CodeGen/GlobalISel/InstructionSelector.cpp
lib/CodeGen/GlobalISel/Utils.cpp
lib/Target/AArch64/AArch64InstructionSelector.cpp
test/CodeGen/AArch64/GlobalISel/select-bitcast.mir
test/CodeGen/AArch64/GlobalISel/select-trunc.mir
test/TableGen/GlobalISelEmitter.td
utils/TableGen/CodeGenRegisters.h
utils/TableGen/CodeGenRegisters.cpp
utils/TableGen/GlobalISelEmitter.cpp
|
Remove the:
below instead.