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

References

gen/lib/Target/AArch64/AArch64GenDAGISel.inc
115009 if (isAcquireOrStronger(cast<AtomicSDNode>(N)->getOrdering())) return false;
115041 if (!isAcquireOrStronger(cast<AtomicSDNode>(N)->getOrdering())) return false;
115052 if (isReleaseOrStronger(cast<AtomicSDNode>(N)->getOrdering())) return false;
115063 if (!isReleaseOrStronger(cast<AtomicSDNode>(N)->getOrdering())) return false;
115161 if (cast<AtomicSDNode>(N)->getOrdering() != AtomicOrdering::Monotonic) return false;
115216 if (cast<AtomicSDNode>(N)->getOrdering() != AtomicOrdering::Acquire) return false;
115271 if (cast<AtomicSDNode>(N)->getOrdering() != AtomicOrdering::Release) return false;
115326 if (cast<AtomicSDNode>(N)->getOrdering() != AtomicOrdering::AcquireRelease) return false;
115381 if (cast<AtomicSDNode>(N)->getOrdering() != AtomicOrdering::SequentiallyConsistent) return false;
gen/lib/Target/ARM/ARMGenDAGISel.inc
54616   AtomicOrdering Ordering = cast<AtomicSDNode>(N)->getOrdering();
54636   AtomicOrdering Ordering = cast<AtomicSDNode>(N)->getOrdering();
gen/lib/Target/RISCV/RISCVGenDAGISel.inc
14020 if (cast<AtomicSDNode>(N)->getOrdering() != AtomicOrdering::Monotonic) return false;
14051 if (cast<AtomicSDNode>(N)->getOrdering() != AtomicOrdering::Acquire) return false;
14082 if (cast<AtomicSDNode>(N)->getOrdering() != AtomicOrdering::Release) return false;
14113 if (cast<AtomicSDNode>(N)->getOrdering() != AtomicOrdering::AcquireRelease) return false;
14144 if (cast<AtomicSDNode>(N)->getOrdering() != AtomicOrdering::SequentiallyConsistent) return false;
include/llvm/CodeGen/SelectionDAG.h
  350   SDNodeT *newSDNode(ArgTypes &&... Args) {
  351     return new (NodeAllocator.template Allocate<SDNodeT>())
  352         SDNodeT(std::forward<ArgTypes>(Args)...);
include/llvm/CodeGen/SelectionDAGNodes.h
 2581 using LargestSDNode = AlignedCharArrayUnion<AtomicSDNode, TargetIndexSDNode,
include/llvm/Support/AlignOf.h
   24   T t;
   35   char arr[sizeof(T)];
   50       llvm::detail::SizerImpl<T, Ts...>)];
include/llvm/Support/Casting.h
   58     return To::classof(&Val);
   92     return isa_impl<To, From>::doit(*Val);
  106     return isa_impl<To, From>::doit(*Val);
  122     return isa_impl_wrap<To, SimpleFrom,
  132     return isa_impl_cl<To,FromTy>::doit(Val);
  142   return isa_impl_wrap<X, const Y,
  172   using ret_type = To *;       // Pointer arg case, return Ty*
  176   using ret_type = const To *; // Constant pointer arg case, return const Ty*
  198   using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
  204   using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
  210       To, From, typename simplify_type<From>::SimpleType>::ret_type;
  218   static typename cast_retty<To, From>::ret_type doit(From &Val) {
  219     return cast_convert_val<To, SimpleFrom,
  227   static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
  228     typename cast_retty<To, FromTy>::ret_type Res2
  248                                typename cast_retty<X, const Y>::ret_type>::type
  256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
  258   return cast_convert_val<X, Y,
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  265   return cast_convert_val<X, Y*,
  337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
include/llvm/Support/Recycler.h
   83   SubClass *Allocate(AllocatorType &Allocator) {
   84     static_assert(alignof(SubClass) <= Align,
   86     static_assert(sizeof(SubClass) <= Size,
   93   T *Allocate(AllocatorType &Allocator) {
include/llvm/Support/RecyclingAllocator.h
   43   SubClass *Allocate() { return Base.template Allocate<SubClass>(Allocator); }
   43   SubClass *Allocate() { return Base.template Allocate<SubClass>(Allocator); }
lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
 2734         ISD::ATOMIC_CMP_SWAP, dl, cast<AtomicSDNode>(Node)->getMemoryVT(), VTs,
 2736         cast<AtomicSDNode>(Node)->getMemOperand());
 2744                                  cast<AtomicSDNode>(Node)->getMemoryVT(),
 2747                                  cast<AtomicSDNode>(Node)->getMemOperand());
 2757         ISD::ATOMIC_CMP_SWAP, dl, cast<AtomicSDNode>(Node)->getMemoryVT(), VTs,
 2765     EVT AtomicType = cast<AtomicSDNode>(Node)->getMemoryVT();
 3792     MVT VT = cast<AtomicSDNode>(Node)->getMemoryVT().getSimpleVT();
 4558     AtomicSDNode *AM = cast<AtomicSDNode>(Node);
 4558     AtomicSDNode *AM = cast<AtomicSDNode>(Node);
lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
 2336   AtomicSDNode *AM = cast<AtomicSDNode>(N);
 2336   AtomicSDNode *AM = cast<AtomicSDNode>(N);
lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
  164     Res = PromoteIntRes_Atomic0(cast<AtomicSDNode>(N)); break;
  178     Res = PromoteIntRes_Atomic1(cast<AtomicSDNode>(N)); break;
  182     Res = PromoteIntRes_AtomicCmpSwap(cast<AtomicSDNode>(N), ResNo);
  223 SDValue DAGTypeLegalizer::PromoteIntRes_Atomic0(AtomicSDNode *N) {
  235 SDValue DAGTypeLegalizer::PromoteIntRes_Atomic1(AtomicSDNode *N) {
  247 SDValue DAGTypeLegalizer::PromoteIntRes_AtomicCmpSwap(AtomicSDNode *N,
 1157     Res = PromoteIntOp_ATOMIC_STORE(cast<AtomicSDNode>(N));
 1296 SDValue DAGTypeLegalizer::PromoteIntOp_ATOMIC_STORE(AtomicSDNode *N) {
 1735     AtomicSDNode *AN = cast<AtomicSDNode>(N);
 1735     AtomicSDNode *AN = cast<AtomicSDNode>(N);
 1815   MVT VT = cast<AtomicSDNode>(Node)->getMemoryVT().getSimpleVT();
 3558   EVT VT = cast<AtomicSDNode>(N)->getMemoryVT();
 3563       cast<AtomicSDNode>(N)->getMemoryVT(), VTs, N->getOperand(0),
 3564       N->getOperand(1), Zero, Zero, cast<AtomicSDNode>(N)->getMemOperand());
 4060                                cast<AtomicSDNode>(N)->getMemoryVT(),
 4063                                cast<AtomicSDNode>(N)->getMemOperand());
lib/CodeGen/SelectionDAG/LegalizeTypes.h
  293   SDValue PromoteIntRes_Atomic0(AtomicSDNode *N);
  294   SDValue PromoteIntRes_Atomic1(AtomicSDNode *N);
  295   SDValue PromoteIntRes_AtomicCmpSwap(AtomicSDNode *N, unsigned ResNo);
  347   SDValue PromoteIntOp_ATOMIC_STORE(AtomicSDNode *N);
lib/CodeGen/SelectionDAG/SelectionDAG.cpp
  605     const AtomicSDNode *AT = cast<AtomicSDNode>(N);
  605     const AtomicSDNode *AT = cast<AtomicSDNode>(N);
 6489     cast<AtomicSDNode>(E)->refineAlignment(MMO);
 6493   auto *N = newSDNode<AtomicSDNode>(Opcode, dl.getIROrder(), dl.getDebugLoc(),
 6493   auto *N = newSDNode<AtomicSDNode>(Opcode, dl.getIROrder(), dl.getDebugLoc(),
lib/Target/AArch64/AArch64ISelLowering.cpp
 8260   AtomicSDNode *AN = cast<AtomicSDNode>(Op.getNode());
 8260   AtomicSDNode *AN = cast<AtomicSDNode>(Op.getNode());
 8277   AtomicSDNode *AN = cast<AtomicSDNode>(Op.getNode());
 8277   AtomicSDNode *AN = cast<AtomicSDNode>(Op.getNode());
lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
  723   if (Opc == ISD::LOAD || Opc == ISD::STORE || isa<AtomicSDNode>(N) ||
lib/Target/AMDGPU/SIISelLowering.cpp
 7973   AtomicSDNode *AtomicNode = cast<AtomicSDNode>(Op);
 7973   AtomicSDNode *AtomicNode = cast<AtomicSDNode>(Op);
lib/Target/ARM/ARMISelLowering.cpp
 9019   if (isStrongerThanMonotonic(cast<AtomicSDNode>(Op)->getOrdering()))
lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
 1708   AtomicSDNode *AtomicStore = dyn_cast<AtomicSDNode>(N);
 1708   AtomicSDNode *AtomicStore = dyn_cast<AtomicSDNode>(N);
lib/Target/PowerPC/PPCISelLowering.cpp
 9577   auto *AtomicNode = cast<AtomicSDNode>(Op.getNode());
 9577   auto *AtomicNode = cast<AtomicSDNode>(Op.getNode());
lib/Target/Sparc/SparcISelLowering.cpp
 2981   if (isStrongerThanMonotonic(cast<AtomicSDNode>(Op)->getOrdering()))
lib/Target/SystemZ/SystemZISelLowering.cpp
 3644   auto *Node = cast<AtomicSDNode>(Op.getNode());
 3644   auto *Node = cast<AtomicSDNode>(Op.getNode());
 3653   auto *Node = cast<AtomicSDNode>(Op.getNode());
 3653   auto *Node = cast<AtomicSDNode>(Op.getNode());
 3670   auto *Node = cast<AtomicSDNode>(Op.getNode());
 3670   auto *Node = cast<AtomicSDNode>(Op.getNode());
 3743   auto *Node = cast<AtomicSDNode>(Op.getNode());
 3743   auto *Node = cast<AtomicSDNode>(Op.getNode());
 3778   auto *Node = cast<AtomicSDNode>(Op.getNode());
 3778   auto *Node = cast<AtomicSDNode>(Op.getNode());
 5075     MachineMemOperand *MMO = cast<AtomicSDNode>(N)->getMemOperand();
 5088     MachineMemOperand *MMO = cast<AtomicSDNode>(N)->getMemOperand();
 5093     if (cast<AtomicSDNode>(N)->getOrdering() ==
 5106     MachineMemOperand *MMO = cast<AtomicSDNode>(N)->getMemOperand();
lib/Target/X86/X86ISelLowering.cpp
26713   MachineMemOperand *MMO = cast<AtomicSDNode>(Op)->getMemOperand();
27137   AtomicSDNode *AN = cast<AtomicSDNode>(N.getNode());
27137   AtomicSDNode *AN = cast<AtomicSDNode>(N.getNode());
27201   auto *Node = cast<AtomicSDNode>(Op.getNode());
27201   auto *Node = cast<AtomicSDNode>(Op.getNode());
28313     MachineMemOperand *MMO = cast<AtomicSDNode>(N)->getMemOperand();
28367       auto *Node = cast<AtomicSDNode>(N);
28367       auto *Node = cast<AtomicSDNode>(N);
37303     auto *AN = cast<AtomicSDNode>(CmpLHS.getNode());
37303     auto *AN = cast<AtomicSDNode>(CmpLHS.getNode());
45132     auto *Ld = cast<AtomicSDNode>(Load);
45132     auto *Ld = cast<AtomicSDNode>(Load);
45133     auto *St = cast<AtomicSDNode>(User);
45133     auto *St = cast<AtomicSDNode>(User);
lib/Target/XCore/XCoreISelLowering.cpp
  938   AtomicSDNode *N = cast<AtomicSDNode>(Op);
  938   AtomicSDNode *N = cast<AtomicSDNode>(Op);
  969   AtomicSDNode *N = cast<AtomicSDNode>(Op);
  969   AtomicSDNode *N = cast<AtomicSDNode>(Op);