Changeset View
Changeset View
Standalone View
Standalone View
llvm/test/Analysis/BasicAA/phi-values-usage.ll
; RUN: opt -debug-pass=Executions -phi-values -memcpyopt -instcombine -disable-output < %s 2>&1 | FileCheck %s -check-prefix=CHECK -check-prefix=CHECK-MEMCPY | ; RUN: opt -debug-pass=Executions -phi-values -memcpyopt -instcombine -disable-output < %s 2>&1 | FileCheck %s -check-prefix=CHECK -check-prefix=CHECK-MEMCPY | ||||
; RUN: opt -debug-pass=Executions -memdep -instcombine -disable-output < %s 2>&1 | FileCheck %s -check-prefix=CHECK | ; RUN: opt -debug-pass=Executions -memdep -instcombine -disable-output < %s 2>&1 | FileCheck %s -check-prefix=CHECK | ||||
; Check that phi values is not run when it's not already available, and that | ; Check that phi values is not run when it's not already available, and that | ||||
; basicaa is freed after a pass that preserves CFG. | ; basicaa is not freed after a pass that preserves CFG, as it preserves CFG. | ||||
; CHECK: Executing Pass 'Phi Values Analysis' | ; CHECK: Executing Pass 'Phi Values Analysis' | ||||
; CHECK: Executing Pass 'Basic Alias Analysis (stateless AA impl)' | ; CHECK: Executing Pass 'Basic Alias Analysis (stateless AA impl)' | ||||
; CHECK: Executing Pass 'Memory Dependence Analysis' | ; CHECK: Executing Pass 'Memory Dependence Analysis' | ||||
; CHECK-MEMCPY: Executing Pass 'MemCpy Optimization' | ; CHECK-MEMCPY: Executing Pass 'MemCpy Optimization' | ||||
; CHECK-MEMCPY-DAG: Freeing Pass 'MemCpy Optimization' | ; CHECK-MEMCPY-DAG: Freeing Pass 'MemCpy Optimization' | ||||
; CHECK-DAG: Freeing Pass 'Phi Values Analysis' | ; CHECK-DAG: Freeing Pass 'Phi Values Analysis' | ||||
; CHECK-DAG: Freeing Pass 'Memory Dependence Analysis' | ; CHECK-DAG: Freeing Pass 'Memory Dependence Analysis' | ||||
; CHECK-DAG: Freeing Pass 'Basic Alias Analysis (stateless AA impl)' | ; CHECK-MEMCPY-NOT: Freeing Pass 'Basic Alias Analysis (stateless AA impl)' | ||||
; CHECK-NOT: Executing Pass 'Phi Values Analysis' | ; CHECK-NOT: Executing Pass 'Phi Values Analysis' | ||||
; CHECK-MEMCPY: Executing Pass 'Basic Alias Analysis (stateless AA impl)' | ; CHECK-NOT: Executing Pass 'Basic Alias Analysis (stateless AA impl)' | ||||
; CHECK: Executing Pass 'Combine redundant instructions' | ; CHECK: Executing Pass 'Combine redundant instructions' | ||||
target datalayout = "p:8:8-n8" | target datalayout = "p:8:8-n8" | ||||
declare void @otherfn([4 x i8]*) | declare void @otherfn([4 x i8]*) | ||||
declare i32 @__gxx_personality_v0(...) | declare i32 @__gxx_personality_v0(...) | ||||
declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) | declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) | ||||
@c = external global i8*, align 1 | @c = external global i8*, align 1 | ||||
▲ Show 20 Lines • Show All 56 Lines • Show Last 20 Lines |