| ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py | |
| ; Eliminate the dead allocation instruction | |
| ; REQUIRES: arm-registered-target | |
| ; RUN: opt -passes='require<profile-summary>,function(codegenprepare)' < %s -S | FileCheck %s | |
| target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64" | |
| target triple = "armv7--linux-gnueabihf" | |
| @.str = private unnamed_addr constant [2 x i8] c"a\00", align 1 | |
| define void @func() { | |
| ; CHECK-LABEL: @func( | |
| ; CHECK-NEXT: entry: | |
| ; CHECK-NEXT: ret void | |
| ; | |
| entry: | |
| %0 = tail call noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) | |
| %1 = icmp ugt ptr %0, @.str | |
| tail call void @llvm.assume(i1 %1) | |
| ret void | |
| } | |
| declare noundef nonnull ptr @_Znwm(i64 noundef) local_unnamed_addr | |
| declare void @llvm.assume(i1 noundef) |