[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