diff options
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp index 8618ab212ee..8f582f1aeb6 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp @@ -3613,70 +3613,6 @@ void SelectionDAGBuilder::visitStore(const StoreInst &I) { DAG.setRoot(StoreNode); } -void SelectionDAGBuilder::visitMaskedStore(const CallInst &I) { - SDLoc sdl = getCurSDLoc(); - - Value *PtrOperand = I.getArgOperand(0); - SDValue Ptr = getValue(PtrOperand); - SDValue Src0 = getValue(I.getArgOperand(1)); - SDValue Mask = getValue(I.getArgOperand(3)); - EVT VT = Src0.getValueType(); - unsigned Alignment = (cast<ConstantInt>(I.getArgOperand(2)))->getZExtValue(); - if (!Alignment) - Alignment = DAG.getEVTAlignment(VT); - - AAMDNodes AAInfo; - I.getAAMetadata(AAInfo); - - MachineMemOperand *MMO = - DAG.getMachineFunction(). - getMachineMemOperand(MachinePointerInfo(PtrOperand), - MachineMemOperand::MOStore, VT.getStoreSize(), - Alignment, AAInfo); - SDValue StoreNode = DAG.getMaskedStore(getRoot(), sdl, Src0, Ptr, Mask, MMO); - DAG.setRoot(StoreNode); - setValue(&I, StoreNode); -} - -void SelectionDAGBuilder::visitMaskedLoad(const CallInst &I) { - SDLoc sdl = getCurSDLoc(); - - Value *PtrOperand = I.getArgOperand(0); - SDValue Ptr = getValue(PtrOperand); - SDValue Src0 = getValue(I.getArgOperand(1)); - SDValue Mask = getValue(I.getArgOperand(3)); - - const TargetLowering &TLI = DAG.getTargetLoweringInfo(); - EVT VT = TLI.getValueType(I.getType()); - unsigned Alignment = (cast<ConstantInt>(I.getArgOperand(2)))->getZExtValue(); - if (!Alignment) - Alignment = DAG.getEVTAlignment(VT); - - AAMDNodes AAInfo; - I.getAAMetadata(AAInfo); - const MDNode *Ranges = I.getMetadata(LLVMContext::MD_range); - - SDValue InChain = DAG.getRoot(); - if (AA->pointsToConstantMemory( - AliasAnalysis::Location(PtrOperand, - AA->getTypeStoreSize(I.getType()), - AAInfo))) { - // Do not serialize (non-volatile) loads of constant memory with anything. - InChain = DAG.getEntryNode(); - } - - MachineMemOperand *MMO = - DAG.getMachineFunction(). - getMachineMemOperand(MachinePointerInfo(PtrOperand), - MachineMemOperand::MOLoad, VT.getStoreSize(), - Alignment, AAInfo, Ranges); - - SDValue Load = DAG.getMaskedLoad(VT, sdl, InChain, Ptr, Mask, Src0, MMO); - SDValue OutChain = Load.getValue(1); - DAG.setRoot(OutChain); - setValue(&I, Load); -} - void SelectionDAGBuilder::visitAtomicCmpXchg(const AtomicCmpXchgInst &I) { SDLoc dl = getCurSDLoc(); AtomicOrdering SuccessOrder = I.getSuccessOrdering(); @@ -4978,12 +4914,6 @@ SelectionDAGBuilder::visitIntrinsicCall(const CallInst &I, unsigned Intrinsic) { return nullptr; } - case Intrinsic::masked_load: - visitMaskedLoad(I); - return nullptr; - case Intrinsic::masked_store: - visitMaskedStore(I); - return nullptr; case Intrinsic::x86_mmx_pslli_w: case Intrinsic::x86_mmx_pslli_d: case Intrinsic::x86_mmx_pslli_q: |