[PATCH] D42251: [globalisel][legalizer] Adapt LegalizerInfo to support inter-type dependencies and other things.

Daniel Sanders via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 24 16:09:38 PST 2018


dsanders updated this revision to Diff 131374.
dsanders added a comment.

Along the lines of Justin's suggestion, getActionDefinitions() no longer has a
non-const version and cannot be used to build definitions.
Instead getActionDefinitionsBuilder() has been added and will assert if any
opcode you request is an alias or is aliased by something else.
The end result is that for the multi-opcode case, you must hang onto the
object you're given the first time until you're done adding rules because
getActionDefinitionsBuilder() won't provide it again. This protects against the
issues where you accidentally include slightly different opcodes in different
calls to getActionDefinitionsBuilder().


https://reviews.llvm.org/D42251

Files:
  include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
  lib/CodeGen/GlobalISel/CMakeLists.txt
  lib/CodeGen/GlobalISel/LegalityPredicates.cpp
  lib/CodeGen/GlobalISel/LegalizeMutations.cpp
  lib/CodeGen/GlobalISel/LegalizerInfo.cpp
  lib/Target/AArch64/AArch64LegalizerInfo.cpp
  unittests/CodeGen/GlobalISel/LegalizerInfoTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D42251.131374.patch
Type: text/x-patch
Size: 57918 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180125/b9fa306a/attachment.bin>


More information about the llvm-commits mailing list