diff options
| author | Chris Lattner <sabre@nondot.org> | 2009-11-22 16:15:59 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2009-11-22 16:15:59 +0000 |
| commit | 7a639bf8ac9a22b5ed969ac3530cb931ffaf78cc (patch) | |
| tree | f362588d720e3de83e9d76618163ca7d6985514e | |
| parent | 3fda168358ac665f2756201cfd7598b6367d7f2e (diff) | |
| download | external_llvm-7a639bf8ac9a22b5ed969ac3530cb931ffaf78cc.zip external_llvm-7a639bf8ac9a22b5ed969ac3530cb931ffaf78cc.tar.gz external_llvm-7a639bf8ac9a22b5ed969ac3530cb931ffaf78cc.tar.bz2 | |
remove a silly condition that doesn't make a lot of sense anymore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89601 91177308-0d34-0410-b5e6-96231b3b80d8
| -rw-r--r-- | lib/Analysis/BasicAliasAnalysis.cpp | 5 | ||||
| -rw-r--r-- | test/Analysis/BasicAA/modref.ll | 17 |
2 files changed, 17 insertions, 5 deletions
diff --git a/lib/Analysis/BasicAliasAnalysis.cpp b/lib/Analysis/BasicAliasAnalysis.cpp index 32af136..45f5d40 100644 --- a/lib/Analysis/BasicAliasAnalysis.cpp +++ b/lib/Analysis/BasicAliasAnalysis.cpp @@ -275,11 +275,6 @@ bool BasicAliasAnalysis::pointsToConstantMemory(const Value *P) { // AliasAnalysis::ModRefResult BasicAliasAnalysis::getModRefInfo(CallSite CS, Value *P, unsigned Size) { - // Don't do anything smart for constant pointers. - // FIXME: WHY? - if (isa<Constant>(P)) - return AliasAnalysis::getModRefInfo(CS, P, Size); - const Value *Object = P->getUnderlyingObject(); // If this is a tail call and P points to a stack location, we know that diff --git a/test/Analysis/BasicAA/modref.ll b/test/Analysis/BasicAA/modref.ll index 02db861..c03014d 100644 --- a/test/Analysis/BasicAA/modref.ll +++ b/test/Analysis/BasicAA/modref.ll @@ -90,3 +90,20 @@ define void @test3a(i8* %P, i8 %X) { ret void ; CHECK: ret void } + +@G1 = external global i32 +@G2 = external global [4000 x i32] + +define i32 @test4(i8* %P, i8 %X) { + %tmp = load i32* @G1 + call void @llvm.memset.i32(i8* bitcast ([4000 x i32]* @G2 to i8*), i8 0, i32 4000, i32 1) + %tmp2 = load i32* @G1 + %sub = sub i32 %tmp2, %tmp + ret i32 %sub +; CHECK: @test4 +; CHECK: load i32* @G +; CHECK: memset.i32 +; CHECK-NOT: load +; CHECK: sub i32 %tmp, %tmp +} + |
