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

References

include/llvm/CodeGen/TargetLowering.h
 1845   virtual AtomicExpansionKind shouldExpandAtomicLoadInIR(LoadInst *LI) const {
 1846     return AtomicExpansionKind::None;
 1851   virtual AtomicExpansionKind
 1853     return AtomicExpansionKind::None;
 1858   virtual AtomicExpansionKind shouldExpandAtomicRMWInIR(AtomicRMWInst *RMW) const {
 1860       AtomicExpansionKind::CmpXChg : AtomicExpansionKind::None;
 1860       AtomicExpansionKind::CmpXChg : AtomicExpansionKind::None;
lib/CodeGen/AtomicExpandPass.cpp
   89         TargetLoweringBase::AtomicExpansionKind ExpansionKind);
  266                      TargetLoweringBase::AtomicExpansionKind::None &&
  398   case TargetLoweringBase::AtomicExpansionKind::None:
  400   case TargetLoweringBase::AtomicExpansionKind::LLSC:
  405   case TargetLoweringBase::AtomicExpansionKind::LLOnly:
  407   case TargetLoweringBase::AtomicExpansionKind::CmpXChg:
  566   case TargetLoweringBase::AtomicExpansionKind::None:
  568   case TargetLoweringBase::AtomicExpansionKind::LLSC: {
  584   case TargetLoweringBase::AtomicExpansionKind::CmpXChg: {
  593                               TargetLoweringBase::AtomicExpansionKind::CmpXChg);
  599   case TargetLoweringBase::AtomicExpansionKind::MaskedIntrinsic: {
  743     AtomicRMWInst *AI, TargetLoweringBase::AtomicExpansionKind ExpansionKind) {
 1414   case TargetLoweringBase::AtomicExpansionKind::None:
 1418   case TargetLoweringBase::AtomicExpansionKind::LLSC: {
 1423   case TargetLoweringBase::AtomicExpansionKind::MaskedIntrinsic:
lib/Target/AArch64/AArch64ISelLowering.cpp
12133 TargetLowering::AtomicExpansionKind
12136   return Size == 128 ? AtomicExpansionKind::LLSC : AtomicExpansionKind::None;
12136   return Size == 128 ? AtomicExpansionKind::LLSC : AtomicExpansionKind::None;
12140 TargetLowering::AtomicExpansionKind
12143     return AtomicExpansionKind::CmpXChg;
12146   if (Size > 128) return AtomicExpansionKind::None;
12148   if (AI->getOperation() == AtomicRMWInst::Nand) return AtomicExpansionKind::LLSC;
12150   return (Subtarget->hasLSE() && Size < 128) ? AtomicExpansionKind::None : AtomicExpansionKind::LLSC;
12150   return (Subtarget->hasLSE() && Size < 128) ? AtomicExpansionKind::None : AtomicExpansionKind::LLSC;
12153 TargetLowering::AtomicExpansionKind
12158     return AtomicExpansionKind::None;
12165     return AtomicExpansionKind::None;
12166   return AtomicExpansionKind::LLSC;
lib/Target/AArch64/AArch64ISelLowering.h
  424   TargetLoweringBase::AtomicExpansionKind
  427   TargetLoweringBase::AtomicExpansionKind
  430   TargetLoweringBase::AtomicExpansionKind
lib/Target/AMDGPU/AMDGPUISelLowering.cpp
 4674 TargetLowering::AtomicExpansionKind
 4680     return AtomicExpansionKind::CmpXChg;
 4682     return AtomicExpansionKind::None;
lib/Target/AMDGPU/AMDGPUISelLowering.h
  328   AtomicExpansionKind shouldExpandAtomicRMWInIR(AtomicRMWInst *) const override;
lib/Target/AMDGPU/SIISelLowering.cpp
10910 TargetLowering::AtomicExpansionKind
10919       return AtomicExpansionKind::None;
10922       return AtomicExpansionKind::CmpXChg;
10927       AtomicExpansionKind::None : AtomicExpansionKind::CmpXChg;
10927       AtomicExpansionKind::None : AtomicExpansionKind::CmpXChg;
lib/Target/AMDGPU/SIISelLowering.h
  397   AtomicExpansionKind shouldExpandAtomicRMWInIR(AtomicRMWInst *) const override;
lib/Target/ARM/ARMISelLowering.cpp
16490 TargetLowering::AtomicExpansionKind
16493   return ((Size == 64) && !Subtarget->isMClass()) ? AtomicExpansionKind::LLOnly
16494                                                   : AtomicExpansionKind::None;
16499 TargetLowering::AtomicExpansionKind
16502     return AtomicExpansionKind::CmpXChg;
16507              ? AtomicExpansionKind::LLSC
16508              : AtomicExpansionKind::None;
16511 TargetLowering::AtomicExpansionKind
16521     return AtomicExpansionKind::LLSC;
16522   return AtomicExpansionKind::None;
lib/Target/ARM/ARMISelLowering.h
  561     TargetLoweringBase::AtomicExpansionKind
  564     TargetLoweringBase::AtomicExpansionKind
  566     TargetLoweringBase::AtomicExpansionKind
lib/Target/Hexagon/HexagonISelLowering.cpp
 3285 TargetLowering::AtomicExpansionKind
 3289              ? AtomicExpansionKind::LLOnly
 3290              : AtomicExpansionKind::None;
 3298 TargetLowering::AtomicExpansionKind
 3304     return AtomicExpansionKind::LLSC;
 3305   return AtomicExpansionKind::None;
lib/Target/Hexagon/HexagonISelLowering.h
  323     AtomicExpansionKind shouldExpandAtomicLoadInIR(LoadInst *LI) const override;
  325     AtomicExpansionKind
  328     AtomicExpansionKind
  330       return AtomicExpansionKind::LLSC;
lib/Target/RISCV/RISCVISelLowering.cpp
 2739 TargetLowering::AtomicExpansionKind
 2745     return AtomicExpansionKind::CmpXChg;
 2749     return AtomicExpansionKind::MaskedIntrinsic;
 2750   return AtomicExpansionKind::None;
 2847 TargetLowering::AtomicExpansionKind
 2852     return AtomicExpansionKind::MaskedIntrinsic;
 2853   return AtomicExpansionKind::None;
lib/Target/RISCV/RISCVISelLowering.h
  201   TargetLowering::AtomicExpansionKind
  206   TargetLowering::AtomicExpansionKind
lib/Target/Sparc/SparcISelLowering.cpp
 1354 TargetLowering::AtomicExpansionKind SparcTargetLowering::shouldExpandAtomicRMWInIR(AtomicRMWInst *AI) const {
 1357     return AtomicExpansionKind::None; // Uses xchg instruction
 1359   return AtomicExpansionKind::CmpXChg;
lib/Target/Sparc/SparcISelLowering.h
  205     AtomicExpansionKind shouldExpandAtomicRMWInIR(AtomicRMWInst *AI) const override;
lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
  286 TargetLowering::AtomicExpansionKind
  296     return AtomicExpansionKind::None;
  300   return AtomicExpansionKind::CmpXChg;
lib/Target/WebAssembly/WebAssemblyISelLowering.h
   46   AtomicExpansionKind shouldExpandAtomicRMWInIR(AtomicRMWInst *) const override;
lib/Target/X86/X86ISelLowering.cpp
26463 TargetLowering::AtomicExpansionKind
26475     return AtomicExpansionKind::None;
26477   return needsCmpXchgNb(MemType) ? AtomicExpansionKind::CmpXChg
26478                                  : AtomicExpansionKind::None;
26481 TargetLowering::AtomicExpansionKind
26489     return needsCmpXchgNb(MemType) ? AtomicExpansionKind::CmpXChg
26490                                    : AtomicExpansionKind::None;
26501     return AtomicExpansionKind::None;
26507     return !AI->use_empty() ? AtomicExpansionKind::CmpXChg
26508                             : AtomicExpansionKind::None;
26518     return AtomicExpansionKind::CmpXChg;
lib/Target/X86/X86ISelLowering.h
 1407     TargetLoweringBase::AtomicExpansionKind
 1410     TargetLoweringBase::AtomicExpansionKind