[PATCH] D36618: [globalisel][tablegen] Simplify and fix a wrong-code bug this revealed.
Daniel Sanders via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 11 07:49:46 PDT 2017
dsanders created this revision.
Herald added subscribers: kristof.beyls, igorb, aemerson.
Operand variable lookups are now performed by the RuleMatcher rather than
searching the whole matcher hierarchy for a match. This revealed a wrong-code
bug that currently affects ARM and X86 where patterns that use a variable more
than once in the match pattern will be imported but won't check that the
operands are identical. This can cause the tablegen-erated matcher to
accept matches that should be rejected.
Depends on https://reviews.llvm.org/D36569
https://reviews.llvm.org/D36618
Files:
include/llvm/CodeGen/GlobalISel/InstructionSelector.h
include/llvm/CodeGen/GlobalISel/InstructionSelectorImpl.h
test/CodeGen/X86/GlobalISel/select-blsr.mir
test/TableGen/GlobalISelEmitter.td
utils/TableGen/GlobalISelEmitter.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D36618.110727.patch
Type: text/x-patch
Size: 36086 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170811/76bf0a14/attachment.bin>
More information about the llvm-commits
mailing list