1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02:00

fix rdar://8878965, a regression I introduced with the recent

llvm.objectsize changes.

llvm-svn: 123771
This commit is contained in:
Chris Lattner 2011-01-18 20:53:04 +00:00
parent 94247155c4
commit 4832a9d32c
2 changed files with 35 additions and 1 deletions

View File

@ -644,8 +644,10 @@ bool CodeGenPrepare::OptimizeCallInst(CallInst *CI) {
// If the iterator instruction was recursively deleted, start over at the
// start of the block.
if (IterHandle != CurInstIterator)
if (IterHandle != CurInstIterator) {
CurInstIterator = BB->begin();
SunkAddrs.clear();
}
return true;
}

View File

@ -6,3 +6,35 @@
@tags = global [1 x %struct.AVCodecTag*] [%struct.AVCodecTag* getelementptr
inbounds ([0 x %struct.AVCodecTag]* @ff_codec_bmp_tags, i32 0, i32 0)]
; rdar://8878965
%struct.CAMERA = type { [3 x double], [3 x double], [3 x double], [3 x double], [3 x double], [3 x double], double, double, i32, double, double, i32, double, i32* }
define void @Parse_Camera(%struct.CAMERA** nocapture %Camera_Ptr) nounwind {
entry:
%.pre = load %struct.CAMERA** %Camera_Ptr, align 4
%0 = getelementptr inbounds %struct.CAMERA* %.pre, i32 0, i32 1, i32 0
%1 = getelementptr inbounds %struct.CAMERA* %.pre, i32 0, i32 1, i32 2
br label %bb32
bb32: ; preds = %bb6
%2 = load double* %0, align 4
%3 = load double* %1, align 4
%4 = load double* %0, align 4
call void @Parse_Vector(double* %0) nounwind
%5 = call i32 @llvm.objectsize.i32(i8* undef, i1 false)
%6 = icmp eq i32 %5, -1
br i1 %6, label %bb34, label %bb33
bb33: ; preds = %bb32
unreachable
bb34: ; preds = %bb32
unreachable
}
declare void @Parse_Vector(double*)
declare i32 @llvm.objectsize.i32(i8*, i1)