diff options
Diffstat (limited to 'llvm/docs/AddingConstrainedIntrinsics.rst')
-rw-r--r-- | llvm/docs/AddingConstrainedIntrinsics.rst | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/docs/AddingConstrainedIntrinsics.rst b/llvm/docs/AddingConstrainedIntrinsics.rst index 672ce31f52a..9e715194032 100644 --- a/llvm/docs/AddingConstrainedIntrinsics.rst +++ b/llvm/docs/AddingConstrainedIntrinsics.rst @@ -81,6 +81,14 @@ be properly handled.:: lib/CodeGen/SelectionDAG/SelectionDAG.cpp +However, the mutation may not happen if the new node has not been registered +in TargetLoweringBase::initActions(). If the corresponding non-STRICT node +is Legal but a target does not know about STRICT nodes then the STRICT +node will default to Legal and mutation will be bypassed with a "Cannot +select" error. Register the new STRICT node as Expand to avoid this bug.:: + + lib/CodeGen/TargetLoweringBase.cpp + To make debug logs readable it is helpful to update the SelectionDAG's debug logger::: |