reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
3377 PointerType *PTy = dyn_cast<PointerType>(LI.getOperand(0)->getType()); 3378 Assert(PTy, "Load operand must be a pointer.", &LI); 3379 Type *ElTy = LI.getType(); 3380 Assert(LI.getAlignment() <= Value::MaximumAlignment, 3381 "huge alignment values are unsupported", &LI); 3382 Assert(ElTy->isSized(), "loading unsized types is not allowed", &LI); 3383 if (LI.isAtomic()) { 3384 Assert(LI.getOrdering() != AtomicOrdering::Release && 3385 LI.getOrdering() != AtomicOrdering::AcquireRelease, 3386 "Load cannot have Release ordering", &LI); 3387 Assert(LI.getAlignment() != 0, 3388 "Atomic load must specify explicit alignment", &LI); 3392 ElTy, &LI); 3393 checkAtomicMemAccessSize(ElTy, &LI); 3395 Assert(LI.getSyncScopeID() == SyncScope::System, 3396 "Non-atomic load cannot have SynchronizationScope specified", &LI); 3399 visitInstruction(LI);