Home | History | Annotate | Download | only in Instrumentation

Lines Matching refs:Shadow

98 // These flags allow to change the shadow mapping.
99 // The shadow mapping looks like
100 // Shadow = (Mem >> scale) + (1 << offset_log)
102 cl::desc("scale of asan shadow mapping"), cl::Hidden, cl::init(0));
104 cl::desc("offset of asan shadow mapping"), cl::Hidden, cl::init(-1));
143 Value *memToShadow(Value *Shadow, IRBuilder<> &IRB);
237 Value *AddressSanitizer::memToShadow(Value *Shadow, IRBuilder<> &IRB) {
238 // Shadow >> scale
239 Shadow = IRB.CreateLShr(Shadow, MappingScale);
241 return Shadow;
242 // (Shadow >> scale) | offset
243 return IRB.CreateOr(Shadow, ConstantInt::get(IntptrTy,
621 // the shadow memory.
718 static void PoisonShadowPartialRightRedzone(uint8_t *Shadow,
724 i+= ShadowGranularity, Shadow++) {
726 *Shadow = 0; // fully addressable
728 *Shadow = Magic; // unaddressable
730 *Shadow = Size - i; // first Size-i bytes are addressable
814 // compiler hoists the load of the shadow value somewhere too high.