From 3036182e99f4efe74aa1309963271004ed71823b Mon Sep 17 00:00:00 2001 From: Arnold Schwaighofer Date: Fri, 3 Jan 2014 05:47:03 +0000 Subject: BasicAA: Use reachabilty instead of dominance for checking value equality in phi cycles This allows the value equality check to work even if we don't have a dominator tree. Also add some more comments. I was worried about compile time impacts and did not implement reachability but used the dominance check in the initial patch. The trade-off was that the dominator tree was required. The llvm utility function isPotentiallyReachable cuts off the recursive search after 32 visits. Testing did not show any compile time regressions showing my worries unjustfied. No compile time or performance regressions at O3 -flto -mavx on test-suite + externals. Addresses review comments from r198290. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198400 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Transforms/ObjCARC/weak-copies.ll | 2 +- test/Transforms/ObjCARC/weak-dce.ll | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'test/Transforms/ObjCARC') diff --git a/test/Transforms/ObjCARC/weak-copies.ll b/test/Transforms/ObjCARC/weak-copies.ll index 599689bc36..5dab4e049e 100644 --- a/test/Transforms/ObjCARC/weak-copies.ll +++ b/test/Transforms/ObjCARC/weak-copies.ll @@ -1,4 +1,4 @@ -; RUN: opt -S -domtree -basicaa -objc-arc < %s | FileCheck %s +; RUN: opt -S -basicaa -objc-arc < %s | FileCheck %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" target triple = "x86_64-apple-darwin11.0.0" diff --git a/test/Transforms/ObjCARC/weak-dce.ll b/test/Transforms/ObjCARC/weak-dce.ll index 787fb905fd..f09467182b 100644 --- a/test/Transforms/ObjCARC/weak-dce.ll +++ b/test/Transforms/ObjCARC/weak-dce.ll @@ -1,4 +1,4 @@ -; RUN: opt -S -domtree -basicaa -objc-arc < %s | FileCheck %s +; RUN: opt -S -basicaa -objc-arc < %s | FileCheck %s ; rdar://11434915 ; Delete the weak calls and replace them with just the net retain. -- cgit v1.2.3