tighten up this code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107670 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2010-07-06 15:59:27 +00:00
parent 5c60386dbc
commit f8bd392dce

View File

@ -153,21 +153,16 @@ bool StackProtector::InsertStackProtectors() {
// StackGuard = load __stack_chk_guard
// call void @llvm.stackprotect.create(StackGuard, StackGuardSlot)
//
PointerType *PtrTy = PointerType::getUnqual(
Type::getInt8Ty(RI->getContext()));
const PointerType *PtrTy = Type::getInt8PtrTy(RI->getContext());
unsigned AddressSpace, Offset;
if (TLI->getStackCookieLocation(AddressSpace, Offset)) {
Constant *ASPtr = Constant::getNullValue(
PointerType::get(Type::getInt8Ty(RI->getContext()), AddressSpace));
APInt OffsetInt(32, Offset);
Constant *OffsetVal = Constant::getIntegerValue(
Type::getInt32Ty(RI->getContext()), OffsetInt);
StackGuardVar = ConstantExpr::getPointerCast(
ConstantExpr::getGetElementPtr(ASPtr, &OffsetVal, 1),
PointerType::get(PtrTy, AddressSpace));
Constant *OffsetVal =
ConstantInt::get(Type::getInt32Ty(RI->getContext()), Offset);
StackGuardVar = ConstantExpr::getIntToPtr(OffsetVal,
PointerType::get(PtrTy, AddressSpace));
} else {
StackGuardVar = M->getOrInsertGlobal("__stack_chk_guard", PtrTy);
StackGuardVar = M->getOrInsertGlobal("__stack_chk_guard", PtrTy);
}
BasicBlock &Entry = F->getEntryBlock();