@@ -20,13 +20,13 @@ Add the new intrinsic to the table of intrinsics::
2020Add SelectionDAG node types
2121===========================
2222
23- Add the new STRICT version of the node type to the ISD::NodeType enum::
23+ Add the new `` STRICT `` version of the node type to the `` ISD::NodeType `` enum::
2424
2525 include/llvm/CodeGen/ISDOpcodes.h
2626
2727Strict version name must be a concatenation of prefix ``STRICT_ `` and the name
28- of corresponding non-strict node name. For instance, strict version of the
29- node FADD must be STRICT_FADD.
28+ of the corresponding non-strict node name. For instance, strict version of the
29+ node `` FADD `` must be `` STRICT_FADD `` .
3030
3131Update mappings
3232===============
@@ -51,44 +51,44 @@ Update Selector components
5151Building the SelectionDAG
5252-------------------------
5353
54- The function SelectionDAGBuilder::visitConstrainedFPIntrinsic builds DAG nodes
55- using mappings specified in ConstrainedOps.def. If however this default build is
54+ The `` SelectionDAGBuilder::visitConstrainedFPIntrinsic `` function builds DAG nodes
55+ using mappings specified in `` ConstrainedOps.def `` . If however this default build is
5656not sufficient, the build can be modified, see how it is implemented for
57- STRICT_FP_ROUND. The new STRICT node will eventually be converted
58- to the matching non-STRICT node. For this reason it should have the same
59- operands and values as the non-STRICT version but should also use the chain.
60- This makes subsequent sharing of code for STRICT and non-STRICT code paths
57+ `` STRICT_FP_ROUND `` . The new `` STRICT `` node will eventually be converted
58+ to the matching non-`` STRICT `` node. For this reason it should have the same
59+ operands and values as the non-`` STRICT `` version but should also use the chain.
60+ This makes subsequent sharing of code for `` STRICT `` and non-`` STRICT `` code paths
6161easier::
6262
6363 lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
6464
65- Most of the STRICT nodes get legalized the same as their matching non-STRICT
66- counterparts. A new STRICT node with this property must get added to the
67- switch in SelectionDAGLegalize::LegalizeOp(). ::
65+ Most of the `` STRICT `` nodes get legalized the same as their matching non-`` STRICT ``
66+ counterparts. A new `` STRICT `` node with this property must get added to the
67+ switch in `` SelectionDAGLegalize::LegalizeOp() `` ::
6868
6969 lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
7070
7171Other parts of the legalizer may need to be updated as well. Look for
72- places where the non-STRICT counterpart is legalized and update as needed.
73- Be careful of the chain since STRICT nodes use it but their counterparts
72+ places where the non-`` STRICT `` counterpart is legalized and update as needed.
73+ Be careful of the chain since `` STRICT `` nodes use it but their counterparts
7474often don't.
7575
76- The code to do the conversion or mutation of the STRICT node to a non-STRICT
77- version of the node happens in SelectionDAG::mutateStrictFPToFP(). In most cases
76+ The conversion or mutation of the `` STRICT `` node to a non-`` STRICT ``
77+ version of the node happens in `` SelectionDAG::mutateStrictFPToFP() `` . In most cases
7878the function can do the conversion using information from ConstrainedOps.def. Be
7979careful updating this function since some nodes have the same return type
8080as their input operand, but some are different. Both of these cases must
8181be properly handled::
8282
8383 lib/CodeGen/SelectionDAG/SelectionDAG.cpp
8484
85- Whether the mutation may happens or not, depends on how the new node has been
86- registered in TargetLoweringBase::initActions(). By default all strict nodes are
85+ Whether the mutation happens or not depends on how the new node has been
86+ registered in `` TargetLoweringBase::initActions() `` . By default, all strict nodes are
8787registered with Expand action::
8888
8989 lib/CodeGen/TargetLoweringBase.cpp
9090
91- To make debug logs readable it is helpful to update the SelectionDAG's
91+ To make debug logs readable, it is helpful to update the SelectionDAG's
9292debug logger:::
9393
9494 lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
0 commit comments