Changeset View
Changeset View
Standalone View
Standalone View
llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
- This file is larger than 256 KB, so syntax highlighting is disabled by default.
Show First 20 Lines • Show All 3,105 Lines • ▼ Show 20 Lines | if (DAG.getTarget().Options.NoTrapAfterNoreturn) { | ||||
} | } | ||||
} | } | ||||
DAG.setRoot(DAG.getNode(ISD::TRAP, getCurSDLoc(), MVT::Other, DAG.getRoot())); | DAG.setRoot(DAG.getNode(ISD::TRAP, getCurSDLoc(), MVT::Other, DAG.getRoot())); | ||||
} | } | ||||
void SelectionDAGBuilder::visitUnary(const User &I, unsigned Opcode) { | void SelectionDAGBuilder::visitUnary(const User &I, unsigned Opcode) { | ||||
SDNodeFlags Flags; | SDNodeFlags Flags; | ||||
if (auto *FPOp = dyn_cast<FPMathOperator>(&I)) | |||||
Flags.copyFMF(*FPOp); | |||||
SDValue Op = getValue(I.getOperand(0)); | SDValue Op = getValue(I.getOperand(0)); | ||||
SDValue UnNodeValue = DAG.getNode(Opcode, getCurSDLoc(), Op.getValueType(), | SDValue UnNodeValue = DAG.getNode(Opcode, getCurSDLoc(), Op.getValueType(), | ||||
Op, Flags); | Op, Flags); | ||||
setValue(&I, UnNodeValue); | setValue(&I, UnNodeValue); | ||||
} | } | ||||
void SelectionDAGBuilder::visitBinary(const User &I, unsigned Opcode) { | void SelectionDAGBuilder::visitBinary(const User &I, unsigned Opcode) { | ||||
▲ Show 20 Lines • Show All 8,135 Lines • Show Last 20 Lines |