mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-20 09:30:43 +00:00
simplify
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30535 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
6b634037b3
commit
4563326472
@ -1603,18 +1603,14 @@ FoundSExt:
|
||||
CI = dyn_cast<CastInst>(RHS);
|
||||
Other = LHS;
|
||||
}
|
||||
if (CI) {
|
||||
const Type *UIntPtrTy = TD->getIntPtrType();
|
||||
const Type *SIntPtrTy = UIntPtrTy->getSignedVersion();
|
||||
if((CI->getType() == UIntPtrTy || CI->getType() == SIntPtrTy)
|
||||
&& isa<PointerType>(CI->getOperand(0)->getType())) {
|
||||
Instruction* I2 = new CastInst(CI->getOperand(0),
|
||||
PointerType::get(Type::SByteTy), "ctg", &I);
|
||||
WorkList.push_back(I2);
|
||||
I2 = new GetElementPtrInst(I2, Other, "ctg", &I);
|
||||
WorkList.push_back(I2);
|
||||
return new CastInst(I2, CI->getType());
|
||||
}
|
||||
if (CI && CI->getType()->isSized() &&
|
||||
(CI->getType()->getPrimitiveSize() ==
|
||||
TD->getIntPtrType()->getPrimitiveSize())
|
||||
&& isa<PointerType>(CI->getOperand(0)->getType())) {
|
||||
Value* I2 = InsertCastBefore(CI->getOperand(0),
|
||||
PointerType::get(Type::SByteTy), I);
|
||||
I2 = InsertNewInstBefore(new GetElementPtrInst(I2, Other, "ctg2"), I);
|
||||
return new CastInst(I2, CI->getType());
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user