diff options
author | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2014-11-28 21:29:14 +0000 |
---|---|---|
committer | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2014-11-28 21:29:14 +0000 |
commit | 9bc81fbe9240ed2288952896f9ac1f4afd6d19dc (patch) | |
tree | 75c32979250cc76d303739d7083264dffc250a66 /llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | |
parent | 6c13c36ddfaf2ce990fc5505d276bddf7d3d650d (diff) | |
download | bcm5719-llvm-9bc81fbe9240ed2288952896f9ac1f4afd6d19dc.tar.gz bcm5719-llvm-9bc81fbe9240ed2288952896f9ac1f4afd6d19dc.zip |
Revert "Masked Vector Load and Store Intrinsics."
This reverts commit r222632 (and follow-up r222636), which caused a host
of LNT failures on an internal bot. I'll respond to the commit on the
list with a reproduction of one of the failures.
Conflicts:
lib/Target/X86/X86TargetTransformInfo.cpp
llvm-svn: 222936
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: |