Compiler projects using llvm
// REQUIRES: powerpc-registered-target
// RUN: %clang_cc1 -triple powerpc64-unknown-linux-gnu -emit-llvm -o - %s | FileCheck %s

void f1(int x) { return; }
// CHECK: define{{.*}} void @f1(i32 noundef signext %x) [[NUW:#[0-9]+]]

void f2(unsigned int x) { return; }
// CHECK: define{{.*}} void @f2(i32 noundef zeroext %x) [[NUW]]

int f3(void) { return 0; }
// CHECK: define{{.*}} signext i32 @f3() [[NUW]]

unsigned int f4(void) { return 0; }
// CHECK: define{{.*}} zeroext i32 @f4() [[NUW]]

// CHECK: attributes [[NUW]] = { noinline nounwind{{.*}} }