[PATCH] D31054: [globalisel][tablegen] Fix patterns involving multiple ComplexPatterns.

Daniel Sanders via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 16 13:47:55 PDT 2017


dsanders created this revision.
Herald added subscribers: kristof.beyls, dberris.

Temporaries are now allocated to operands instead of predicates and this
allocation is used to correctly pair up the rendered operands with the
matched operands.

Previously, ComplexPatterns were allocated temporaries independently in the
Src Pattern and Dst Pattern, leading to mismatches. Additionally, the Dst
Pattern failed to account for the allocated index and therefore always used
temporary 0, 1, ... when it should have used base+0, base+1, ...

Thanks to Aditya Nandakumar for noticing the bug.

Depends on https://reviews.llvm.org/D30539


https://reviews.llvm.org/D31054

Files:
  test/TableGen/GlobalISelEmitter.td
  utils/TableGen/GlobalISelEmitter.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D31054.92048.patch
Type: text/x-patch
Size: 16402 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170316/aca31576/attachment.bin>


More information about the llvm-commits mailing list