forked from OSchip/llvm-project
Revert "[CaptureTracking] Do not check domination"
This reverts commit 6b8b43e7af
.
This causes clang test to fail (CodeGenObjC/synchronized.m).
Revert until I can figure out whether that's an expected change.
This commit is contained in:
parent
6b8b43e7af
commit
541c2845de
|
@ -143,8 +143,14 @@ namespace {
|
|||
return !isPotentiallyReachableFromMany(Worklist, BB, nullptr, DT);
|
||||
}
|
||||
|
||||
// If the value is defined in the same basic block as use and BeforeHere,
|
||||
// there is no need to explore the use if BeforeHere dominates use.
|
||||
// Check whether there is a path from I to BeforeHere.
|
||||
return !isPotentiallyReachable(I, BeforeHere, nullptr, DT);
|
||||
if (DT->dominates(BeforeHere, I) &&
|
||||
!isPotentiallyReachable(I, BeforeHere, nullptr, DT))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool captured(const Use *U) override {
|
||||
|
|
|
@ -252,8 +252,8 @@ define void @capture_nopath_call(i1 %cond) {
|
|||
; CHECK-NEXT: call void @accept_ptr(i8* [[DEST_I8]])
|
||||
; CHECK-NEXT: ret void
|
||||
; CHECK: nocaptures:
|
||||
; CHECK-NEXT: [[DEST1:%.*]] = bitcast [16 x i8]* [[DEST]] to i8*
|
||||
; CHECK-NEXT: call void @accept_ptr(i8* [[DEST1]]) #[[ATTR3]]
|
||||
; CHECK-NEXT: call void @accept_ptr(i8* [[SRC_I8]]) #[[ATTR3]]
|
||||
; CHECK-NEXT: call void @llvm.memcpy.p0i8.p0i8.i64(i8* [[DEST_I8]], i8* [[SRC_I8]], i64 16, i1 false)
|
||||
; CHECK-NEXT: ret void
|
||||
;
|
||||
%dest = alloca [16 x i8]
|
||||
|
|
Loading…
Reference in New Issue