From cee313d288a4faf0355d76fb6e0e927e211d08a5 Mon Sep 17 00:00:00 2001 From: Eric Christopher Date: Wed, 17 Apr 2019 04:52:47 +0000 Subject: Revert "Temporarily Revert "Add basic loop fusion pass."" The reversion apparently deleted the test/Transforms directory. Will be re-reverting again. llvm-svn: 358552 --- .../GlobalOpt/cleanup-pointer-root-users.ll | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 llvm/test/Transforms/GlobalOpt/cleanup-pointer-root-users.ll (limited to 'llvm/test/Transforms/GlobalOpt/cleanup-pointer-root-users.ll') diff --git a/llvm/test/Transforms/GlobalOpt/cleanup-pointer-root-users.ll b/llvm/test/Transforms/GlobalOpt/cleanup-pointer-root-users.ll new file mode 100644 index 00000000000..16da5315db0 --- /dev/null +++ b/llvm/test/Transforms/GlobalOpt/cleanup-pointer-root-users.ll @@ -0,0 +1,49 @@ +; RUN: opt -globalopt -S -o - < %s | FileCheck %s + +@glbl = internal global i8* null + +define void @test1a() { +; CHECK-LABEL: @test1a( +; CHECK-NOT: store +; CHECK-NEXT: ret void + store i8* null, i8** @glbl + ret void +} + +define void @test1b(i8* %p) { +; CHECK-LABEL: @test1b( +; CHECK-NEXT: store +; CHECK-NEXT: ret void + store i8* %p, i8** @glbl + ret void +} + +define void @test2() { +; CHECK-LABEL: @test2( +; CHECK: alloca i8 + %txt = alloca i8 + call void @foo2(i8* %txt) + %call2 = call i8* @strdup(i8* %txt) + store i8* %call2, i8** @glbl + ret void +} +declare i8* @strdup(i8*) +declare void @foo2(i8*) + +define void @test3() uwtable personality i32 (i32, i64, i8*, i8*)* @__gxx_personality_v0 { +; CHECK-LABEL: @test3( +; CHECK-NOT: bb1: +; CHECK-NOT: bb2: +; CHECK: invoke + %ptr = invoke i8* @_Znwm(i64 1) + to label %bb1 unwind label %bb2 +bb1: + store i8* %ptr, i8** @glbl + unreachable +bb2: + %tmp1 = landingpad { i8*, i32 } + cleanup + resume { i8*, i32 } %tmp1 +} +declare i32 @__gxx_personality_v0(i32, i64, i8*, i8*) +declare i8* @_Znwm(i64) -- cgit v1.2.3