reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
  964   LLVM_DEBUG(dbgs() << "\nLegalizing: "; Node->dump(&DAG));
  967   if (Node->getOpcode() == ISD::TargetConstant ||
  968       Node->getOpcode() == ISD::Register)
  972   for (unsigned i = 0, e = Node->getNumValues(); i != e; ++i)
  973     assert(TLI.getTypeAction(*DAG.getContext(), Node->getValueType(i)) ==
  977   for (const SDValue &Op : Node->op_values())
  988   switch (Node->getOpcode()) {
  993     Action = TLI.getOperationAction(Node->getOpcode(), MVT::Other);
  996     Action = TLI.getOperationAction(Node->getOpcode(),
  997                                     Node->getValueType(0));
 1000     Action = TLI.getOperationAction(Node->getOpcode(),
 1001                                     Node->getValueType(0));
 1003       Action = TLI.getOperationAction(Node->getOpcode(), MVT::Other);
 1013     Action = TLI.getOperationAction(Node->getOpcode(),
 1014                                     Node->getOperand(0).getValueType());
 1017     EVT InnerType = cast<VTSDNode>(Node->getOperand(1))->getVT();
 1018     Action = TLI.getOperationAction(Node->getOpcode(), InnerType);
 1022     Action = TLI.getOperationAction(Node->getOpcode(),
 1023                                     Node->getOperand(2).getValueType());
 1028     unsigned CCOperand = Node->getOpcode() == ISD::SELECT_CC ? 4 :
 1029                          Node->getOpcode() == ISD::SETCC ? 2 : 1;
 1030     unsigned CompareOperand = Node->getOpcode() == ISD::BR_CC ? 2 : 0;
 1031     MVT OpVT = Node->getOperand(CompareOperand).getSimpleValueType();
 1033         cast<CondCodeSDNode>(Node->getOperand(CCOperand))->get();
 1036       if (Node->getOpcode() == ISD::SELECT_CC)
 1037         Action = TLI.getOperationAction(Node->getOpcode(),
 1038                                         Node->getValueType(0));
 1040         Action = TLI.getOperationAction(Node->getOpcode(), OpVT);
 1068     Action = TLI.getOperationAction(Node->getOpcode(), Node->getValueType(0));
 1068     Action = TLI.getOperationAction(Node->getOpcode(), Node->getValueType(0));
 1080     Action = TLI.getOperationAction(Node->getOpcode(), Node->getValueType(0));
 1080     Action = TLI.getOperationAction(Node->getOpcode(), Node->getValueType(0));
 1087     Action = TLI.getOperationAction(Node->getOpcode(), MVT::i64);
 1097     Action = TLI.getOperationAction(Node->getOpcode(), Node->getValueType(0));
 1097     Action = TLI.getOperationAction(Node->getOpcode(), Node->getValueType(0));
 1101       NewVal = DAG.getNode(ISD::TRAP, SDLoc(Node), Node->getVTList(),
 1101       NewVal = DAG.getNode(ISD::TRAP, SDLoc(Node), Node->getVTList(),
 1102                            Node->getOperand(0));
 1103       ReplaceNode(Node, NewVal.getNode());
 1115     Action = TLI.getStrictFPOperationAction(Node->getOpcode(),
 1116                                             Node->getOperand(1).getValueType());
 1122     Action = TLI.getOperationAction(Node->getOpcode(), Node->getValueType(0));
 1122     Action = TLI.getOperationAction(Node->getOpcode(), Node->getValueType(0));
 1129     unsigned Scale = Node->getConstantOperandVal(2);
 1130     Action = TLI.getFixedPointOperationAction(Node->getOpcode(),
 1131                                               Node->getValueType(0), Scale);
 1135     Action = TLI.getOperationAction(Node->getOpcode(),
 1136                     cast<MaskedScatterSDNode>(Node)->getValue().getValueType());
 1139     Action = TLI.getOperationAction(Node->getOpcode(),
 1140                     cast<MaskedStoreSDNode>(Node)->getValue().getValueType());
 1156         Node->getOpcode(), Node->getOperand(0).getValueType());
 1156         Node->getOpcode(), Node->getOperand(0).getValueType());
 1159     if (Node->getOpcode() >= ISD::BUILTIN_OP_END) {
 1162       Action = TLI.getOperationAction(Node->getOpcode(), Node->getValueType(0));
 1162       Action = TLI.getOperationAction(Node->getOpcode(), Node->getValueType(0));
 1168     SDNode *NewNode = Node;
 1169     switch (Node->getOpcode()) {
 1178       SDValue Op0 = Node->getOperand(0);
 1179       SDValue Op1 = Node->getOperand(1);
 1188           NewNode = DAG.UpdateNodeOperands(Node, Op0, SAO);
 1199       SDValue Op0 = Node->getOperand(0);
 1200       SDValue Op1 = Node->getOperand(1);
 1201       SDValue Op2 = Node->getOperand(2);
 1208           NewNode = DAG.UpdateNodeOperands(Node, Op0, Op1, SAO);
 1214     if (NewNode != Node) {
 1215       ReplaceNode(Node, NewNode);
 1216       Node = NewNode;
 1226       if (SDValue Res = TLI.LowerOperation(SDValue(Node, 0), DAG)) {
 1227         if (!(Res.getNode() != Node || Res.getResNo() != 0))
 1230         if (Node->getNumValues() == 1) {
 1233           ReplaceNode(SDValue(Node, 0), Res);
 1238         for (unsigned i = 0, e = Node->getNumValues(); i != e; ++i)
 1241         ReplaceNode(Node, ResultVals.data());
 1247       if (ExpandNode(Node))
 1251       ConvertNodeToLibcall(Node);
 1254       PromoteNode(Node);
 1259   switch (Node->getOpcode()) {
 1263     Node->dump( &DAG);
 1272     return LegalizeLoadOps(Node);
 1274     return LegalizeStoreOps(Node);