mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-17 21:29:20 +00:00
Avoid assertion failure when taking size of unsized array. Todo item herE
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1286 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e85f2332db
commit
3d775c3f39
@ -214,6 +214,11 @@ static bool PeepholeMallocInst(BasicBlock *BB, BasicBlock::iterator &BI) {
|
||||
}
|
||||
|
||||
const Type *DestTy = cast<PointerType>(CI->getType())->getValueType();
|
||||
if (isa<ArrayType>(DestTy)) {
|
||||
cerr << "Avoided malloc conversion because of type: " << DestTy
|
||||
<< " TODO.\n";
|
||||
return false;
|
||||
}
|
||||
if (TD.getTypeSize(DestTy) == Size && DestTy != ResultTy) {
|
||||
// Does the size of the allocated type match the number of bytes
|
||||
// allocated?
|
||||
@ -444,6 +449,7 @@ static bool PeepholeOptimize(BasicBlock *BB, BasicBlock::iterator &BI) {
|
||||
}
|
||||
#endif
|
||||
|
||||
#if 1
|
||||
} else if (MallocInst *MI = dyn_cast<MallocInst>(I)) {
|
||||
if (PeepholeMallocInst(BB, BI)) return true;
|
||||
|
||||
@ -623,6 +629,7 @@ static bool PeepholeOptimize(BasicBlock *BB, BasicBlock::iterator &BI) {
|
||||
PRINT_PEEPHOLE2("add-to-gep:out", GEP, I);
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
return false;
|
||||
|
Loading…
Reference in New Issue
Block a user