reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
925 LocalDynamicShadow = getDynamicShadowNonTls(IRB); 930 LocalDynamicShadow = getDynamicShadowIfunc(IRB); 934 Value *SlotPtr = getHwasanThreadSlotPtr(IRB, IntptrTy); 937 Instruction *ThreadLong = IRB.CreateLoad(IntptrTy, SlotPtr); 939 Function *F = IRB.GetInsertBlock()->getParent(); 942 IRB.CreateICmpEQ(ThreadLong, ConstantInt::get(IntptrTy, 0)); 947 IRB.SetInsertPoint(Br); 950 IRB.CreateCall(HwasanThreadEnterFunc); 951 LoadInst *ReloadThreadLong = IRB.CreateLoad(IntptrTy, SlotPtr); 953 IRB.SetInsertPoint(&*Br->getSuccessor(0)->begin()); 954 PHINode *ThreadLongPhi = IRB.CreatePHI(IntptrTy, 2); 962 TargetTriple.isAArch64() ? ThreadLong : untagPointer(IRB, ThreadLong); 965 StackBaseTag = IRB.CreateAShr(ThreadLong, 3); 970 PC = readRegister(IRB, "pc"); 972 PC = IRB.CreatePtrToInt(F, IntptrTy); 976 IRB.getInt8PtrTy(M->getDataLayout().getAllocaAddrSpace())); 977 Value *SP = IRB.CreatePtrToInt( 978 IRB.CreateCall(GetStackPointerFn, 979 {Constant::getNullValue(IRB.getInt32Ty())}), 987 SP = IRB.CreateShl(SP, 44); 991 IRB.CreateIntToPtr(ThreadLongMaybeUntagged, IntptrTy->getPointerTo(0)); 992 IRB.CreateStore(IRB.CreateOr(PC, SP), RecordPtr); 992 IRB.CreateStore(IRB.CreateOr(PC, SP), RecordPtr); 1001 Value *WrapMask = IRB.CreateXor( 1002 IRB.CreateShl(IRB.CreateAShr(ThreadLong, 56), 12, "", true, true), 1002 IRB.CreateShl(IRB.CreateAShr(ThreadLong, 56), 12, "", true, true), 1004 Value *ThreadLongNew = IRB.CreateAnd( 1005 IRB.CreateAdd(ThreadLong, ConstantInt::get(IntptrTy, 8)), WrapMask); 1006 IRB.CreateStore(ThreadLongNew, SlotPtr); 1012 LocalDynamicShadow = IRB.CreateAdd( 1013 IRB.CreateOr( 1017 LocalDynamicShadow = IRB.CreateIntToPtr(LocalDynamicShadow, Int8PtrTy);