Lines Matching full:shadow
193 // These flags allow to change the shadow mapping.
194 // The shadow mapping looks like
195 // Shadow = (Mem >> scale) + (1 << offset_log)
197 cl::desc("scale of asan shadow mapping"),
326 /// This struct defines the shadow mapping using the rule:
327 /// shadow = (mem >> Scale) ADD-or-OR Offset.
390 // OR-ing shadow offset if more efficient (at least on x86) if the offset
391 // is a power of two, but on ppc64 we have to use add since the shadow
453 Value *memToShadow(Value *Shadow, IRBuilder<> &IRB);
547 // compiler hoists the load of the shadow value somewhere too high.
821 Value *AddressSanitizer::memToShadow(Value *Shadow, IRBuilder<> &IRB) {
822 // Shadow >> scale
823 Shadow = IRB.CreateLShr(Shadow, Mapping.Scale);
824 if (Mapping.Offset == 0) return Shadow;
825 // (Shadow >> scale) | offset
827 return IRB.CreateOr(Shadow, ConstantInt::get(IntptrTy, Mapping.Offset));
829 return IRB.CreateAdd(Shadow, ConstantInt::get(IntptrTy, Mapping.Offset));
1540 // the shadow memory.
1734 // We need to (un)poison n bytes of stack shadow. Poison as many as we can