OSDN Git Service

[FastISel] Permit instructions to be skipped for FastISel generation.
authorSimon Dardis <simon.dardis@mips.com>
Tue, 22 May 2018 14:36:58 +0000 (14:36 +0000)
committerSimon Dardis <simon.dardis@mips.com>
Tue, 22 May 2018 14:36:58 +0000 (14:36 +0000)
commitf690e9b2671206a25b8aff371b2e56fbd01ce9ac
tree4b082e837ee98ddae009f18a3d506eba85f3aa76
parent1e7d8b3507728ea11324f271588e1a3be049af67
[FastISel] Permit instructions to be skipped for FastISel generation.

Some ISA's such as microMIPS32(R6) have instructions which are near identical
for code generation purposes, e.g. xor and xor16. These instructions take the
same value types for operands and return values, have the same
instruction predicates and map to the same ISD opcode. (These instructions do
differ by register classes.)

In such cases, the FastISel generator rejects the instruction definition.

This patch borrows the 'FastIselShouldIgnore' bit from rL129692 and enables
applying it to an instruction definition.

Reviewers: mcrosier

Differential Revision: https://reviews.llvm.org/D46953

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@332983 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Target/Target.td
test/TableGen/FastISelEmitter.td [new file with mode: 0644]
utils/TableGen/CodeGenInstruction.cpp
utils/TableGen/CodeGenInstruction.h
utils/TableGen/FastISelEmitter.cpp