| ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py |
| ; Eliminate the dead allocation instruction |
| ; REQUIRES: arm-registered-target |
| ; RUN: opt -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) |