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

References

tools/clang/lib/CodeGen/CGAtomic.cpp
   46       assert(!lvalue.isGlobalReg());
   48       if (lvalue.isSimple()) {
   49         AtomicTy = lvalue.getType();
   71         if (lvalue.getAlignment().isZero())
   72           lvalue.setAlignment(AtomicAlign);
   74         LVal = lvalue;
   75       } else if (lvalue.isBitField()) {
   76         ValueTy = lvalue.getType();
   78         auto &OrigBFI = lvalue.getBitFieldInfo();
   79         auto Offset = OrigBFI.Offset % C.toBits(lvalue.getAlignment());
   82                 .alignTo(lvalue.getAlignment()));
   83         auto VoidPtrAddr = CGF.EmitCastToVoidPtr(lvalue.getBitFieldPointer());
   85             (C.toCharUnitsFromBits(OrigBFI.Offset) / lvalue.getAlignment()) *
   86             lvalue.getAlignment();
   97         LVal = LValue::MakeBitfield(Address(Addr, lvalue.getAlignment()),
   98                                     BFI, lvalue.getType(), lvalue.getBaseInfo(),
   98                                     BFI, lvalue.getType(), lvalue.getBaseInfo(),
   99                                     lvalue.getTBAAInfo());
  109         AtomicAlign = ValueAlign = lvalue.getAlignment();
  110       } else if (lvalue.isVectorElt()) {
  111         ValueTy = lvalue.getType()->castAs<VectorType>()->getElementType();
  113         AtomicTy = lvalue.getType();
  115         AtomicAlign = ValueAlign = lvalue.getAlignment();
  116         LVal = lvalue;
  118         assert(lvalue.isExtVectorElt());
  119         ValueTy = lvalue.getType();
  122             lvalue.getType(), lvalue.getExtVectorAddress()
  122             lvalue.getType(), lvalue.getExtVectorAddress()
  125         AtomicAlign = ValueAlign = lvalue.getAlignment();
  126         LVal = lvalue;
  129           AtomicSizeInBits, C.toBits(lvalue.getAlignment()));