1; RUN: opt -passes=licm -verify-memoryssa -S < %s | FileCheck %s 2; REQUIRES: asserts 3 4target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128" 5target triple = "aarch64" 6 7; CHECK-LABEL: @e(i1 %arg) 8define void @e(i1 %arg) { 9entry: 10 br label %g 11 12g: ; preds = %cleanup, %entry 13 %0 = load i32, ptr null, align 4 14 %and = and i32 %0, undef 15 store i32 %and, ptr null, align 4 16 br i1 %arg, label %if.end8, label %if.then 17 18if.then: ; preds = %g 19 br i1 %arg, label %k, label %cleanup 20 21k: ; preds = %if.end8, %if.then 22 br i1 %arg, label %if.end8, label %cleanup 23 24if.end8: ; preds = %k, %g 25 br i1 %arg, label %for.cond.preheader, label %k 26 27for.cond.preheader: ; preds = %if.end8 28 unreachable 29 30cleanup: ; preds = %k, %if.then 31 br label %g 32} 33 34