brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.6 KiB · 29d3af5 Raw
132 lines · plain
1; RUN: opt -S -passes='require<memoryssa>' %s | FileCheck %s2; REQUIRES: asserts3target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"4target triple = "x86_64-unknown-linux-gnu"5 6; CHECK-LABEL: @func(i1 %arg)7; Function Attrs: noinline8define dso_local void @func(i1 %arg) unnamed_addr #0 align 2 {9entry:10  %NoFinalize.addr = alloca i8, align 111  call void @blah()12  call void @blah()13  call void @blah()14  call void @blah()15  call void @blah()16  call void @blah()17  %call8 = call zeroext i1 @foo()18  br i1 %call8, label %if.then9, label %while.cond19 20if.then9:                                         ; preds = %entry21  call void @blah()22  call void @blah()23  call void @blah()24  call void @blah()25  call void @blah()26  call void @blah()27  call void @blah()28  br label %while.cond29 30while.cond:                                       ; preds = %cleanup, %if.then9, %entry31  %call34 = call zeroext i1 @foo()32  call void @blah()33  br i1 %call34, label %while.body, label %while.end34 35while.body:                                       ; preds = %while.cond36  %call35 = call zeroext i1 @foo()37  br i1 %call35, label %if.end37, label %if.then3638 39if.then36:                                        ; preds = %while.body40  store i32 2, ptr undef, align 441  br label %cleanup42 43if.end37:                                         ; preds = %while.body44  %call38 = call zeroext i1 @foo()45  br i1 %call38, label %if.end46, label %land.lhs.true46 47land.lhs.true:                                    ; preds = %if.end3748  call void @blah()49  %call41 = call zeroext i1 @foo()50  br i1 %call41, label %if.then42, label %if.end4651 52if.then42:                                        ; preds = %land.lhs.true53  call void @blah()54  br label %if.end4655 56if.end46:                                         ; preds = %if.then42, %land.lhs.true, %if.end3757  call void @blah()58  call void @blah()59  call void @blah()60  call void @blah()61  br label %cleanup62 63cleanup:                                          ; preds = %if.end46, %if.then3664  call void @blah()65  br label %while.cond66 67while.end:                                        ; preds = %while.cond68  call void @blah()69  call void @blah()70  call void @blah()71  call void @blah()72  call void @blah()73  call void @blah()74  call void @blah()75  call void @blah()76  call void @blah()77  call void @blah()78  call void @blah()79  call void @blah()80  call void @blah()81  call void @blah()82  call void @blah()83  %call93 = call zeroext i1 @foo()84  br i1 %call93, label %if.end120, label %if.then9485 86if.then94:                                        ; preds = %while.end87  store i32 0, ptr undef, align 488  call void @blah()89  call void @blah()90  call void @blah()91  call void @blah()92  call void @blah()93  call void @blah()94  call void @blah()95  call void @blah()96  call void @blah()97  br label %for.cond98 99for.cond:                                         ; preds = %for.body, %if.then94100  br i1 %arg, label %for.body, label %if.end120101 102for.body:                                         ; preds = %for.cond103  call void @blah()104  call void @blah()105  call void @blah()106  call void @blah()107  call void @blah()108  call void @blah()109  call void @blah()110  call void @blah()111  call void @blah()112  call void @blah()113  call void @blah()114  call void @blah()115  call void @blah()116  call void @blah()117  br label %for.cond118 119if.end120:                                        ; preds = %for.cond, %while.end120  %val = load i8, ptr %NoFinalize.addr, align 1121  ret void122}123 124; Function Attrs: noinline125declare hidden void @blah() unnamed_addr #0 align 2126 127; Function Attrs: noinline128declare hidden i1 @foo() local_unnamed_addr #0 align 2129 130attributes #0 = { noinline }131 132