aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Gottesman <mgottesman@apple.com>2013-07-07 04:18:03 +0000
committerMichael Gottesman <mgottesman@apple.com>2013-07-07 04:18:03 +0000
commit95a1b3484d7daf7830161f1613fc812303641abe (patch)
tree23ced017611fce132e5fa932af04011c087cd209
parent0a80c1240284c764c0f9cd043a2a18ff4152a203 (diff)
downloadexternal_llvm-95a1b3484d7daf7830161f1613fc812303641abe.tar.gz
external_llvm-95a1b3484d7daf7830161f1613fc812303641abe.tar.bz2
external_llvm-95a1b3484d7daf7830161f1613fc812303641abe.zip
[objc-arc] Remove the alias analysis part of r185764.
Upon further reflection, the alias analysis part of r185764 is not a safe change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185770 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Transforms/ObjCARC/ObjCARCAliasAnalysis.cpp8
-rw-r--r--test/Transforms/ObjCARC/gvn.ll18
2 files changed, 0 insertions, 26 deletions
diff --git a/lib/Transforms/ObjCARC/ObjCARCAliasAnalysis.cpp b/lib/Transforms/ObjCARC/ObjCARCAliasAnalysis.cpp
index 1a3f383d4c..46b2de7137 100644
--- a/lib/Transforms/ObjCARC/ObjCARCAliasAnalysis.cpp
+++ b/lib/Transforms/ObjCARC/ObjCARCAliasAnalysis.cpp
@@ -150,14 +150,6 @@ ObjCARCAliasAnalysis::getModRefInfo(ImmutableCallSite CS, const Location &Loc) {
break;
}
- // Handle special objective c calls defaulting to chaining.
- const Function *F = CS.getCalledFunction();
- if (F)
- return StringSwitch<AliasAnalysis::ModRefResult>(F->getName())
- .Case("objc_sync_start", NoModRef)
- .Case("objc_sync_stop", NoModRef)
- .Default(AliasAnalysis::getModRefInfo(CS, Loc));
-
return AliasAnalysis::getModRefInfo(CS, Loc);
}
diff --git a/test/Transforms/ObjCARC/gvn.ll b/test/Transforms/ObjCARC/gvn.ll
index 0773b69ee1..8d9b1bb84b 100644
--- a/test/Transforms/ObjCARC/gvn.ll
+++ b/test/Transforms/ObjCARC/gvn.ll
@@ -3,8 +3,6 @@
@x = common global i8* null, align 8
declare i8* @objc_retain(i8*)
-declare i32 @objc_sync_start(i8*)
-declare i32 @objc_sync_stop(i8*)
; GVN should be able to eliminate this redundant load, with ARC-specific
; alias analysis.
@@ -22,19 +20,3 @@ entry:
%t = load i8** @x
ret i8* %t
}
-
-; CHECK: define i8* @test1(i32 %n)
-; CHECK-NEXT: entry:
-; CHECK-NEXT: %s = load i8** @x
-; CHECK-NEXT: call i32 @objc_sync_start
-; CHECK-NEXT: call i32 @objc_sync_stop
-; CHECK-NEXT: ret i8* %s
-; CHECK-NEXT: }
-define i8* @test1(i32 %n) nounwind {
-entry:
- %s = load i8** @x
- %0 = call i32 @objc_sync_start(i8* %s)
- %t = load i8** @x
- %1 = call i32 @objc_sync_stop(i8* %s)
- ret i8* %t
-}