47 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt -S -passes=licm < %s | FileCheck %s3 4define void @test(ptr %a) {5; CHECK-LABEL: @test(6; CHECK-NEXT: entry:7; CHECK-NEXT: br label [[LOOP:%.*]]8; CHECK: loop:9; CHECK-NEXT: store ptr null, ptr null, align 810; CHECK-NEXT: [[P:%.*]] = load ptr, ptr null, align 811; CHECK-NEXT: [[V:%.*]] = load i32, ptr [[P]], align 412; CHECK-NEXT: store i32 [[V]], ptr [[A:%.*]], align 413; CHECK-NEXT: br label [[LOOP]]14;15entry:16 br label %loop17 18loop:19 store ptr null, ptr null20 %p = load ptr, ptr null21 %v = load i32, ptr %p22 store i32 %v, ptr %a23 br label %loop24}25 26define void @test_inttoptr(ptr %a) {27; CHECK-LABEL: @test_inttoptr(28; CHECK-NEXT: entry:29; CHECK-NEXT: br label [[LOOP:%.*]]30; CHECK: loop:31; CHECK-NEXT: store ptr null, ptr inttoptr (i64 128 to ptr), align 832; CHECK-NEXT: [[P:%.*]] = load ptr, ptr inttoptr (i64 128 to ptr), align 833; CHECK-NEXT: [[V:%.*]] = load i32, ptr [[P]], align 434; CHECK-NEXT: store i32 [[V]], ptr [[A:%.*]], align 435; CHECK-NEXT: br label [[LOOP]]36;37entry:38 br label %loop39 40loop:41 store ptr null, ptr inttoptr (i64 128 to ptr)42 %p = load ptr, ptr inttoptr (i64 128 to ptr)43 %v = load i32, ptr %p44 store i32 %v, ptr %a45 br label %loop46}47