[llvm] 7f51145 - [GlobalOpt] Add tests with non-GEP ConstExpr.

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 21 09:17:40 PST 2023


Author: Florian Hahn
Date: 2023-02-21T17:17:18Z
New Revision: 7f51145b1bc25fc82c22c971658e4ee4198178cb

URL: https://github.com/llvm/llvm-project/commit/7f51145b1bc25fc82c22c971658e4ee4198178cb
DIFF: https://github.com/llvm/llvm-project/commit/7f51145b1bc25fc82c22c971658e4ee4198178cb.diff

LOG: [GlobalOpt] Add tests with non-GEP ConstExpr.

Extra tests for CleanupPointerRootUsers with non-GEP constant
expressions for D144468.

Added: 
    

Modified: 
    llvm/test/Transforms/GlobalOpt/cleanup-pointer-root-users-gep-constexpr.ll

Removed: 
    


################################################################################
diff  --git a/llvm/test/Transforms/GlobalOpt/cleanup-pointer-root-users-gep-constexpr.ll b/llvm/test/Transforms/GlobalOpt/cleanup-pointer-root-users-gep-constexpr.ll
index 52b37ebb234b6..4b0545634604c 100644
--- a/llvm/test/Transforms/GlobalOpt/cleanup-pointer-root-users-gep-constexpr.ll
+++ b/llvm/test/Transforms/GlobalOpt/cleanup-pointer-root-users-gep-constexpr.ll
@@ -16,6 +16,7 @@ declare i32 @fn3()
 define void @stores_single_use_gep_constexpr() {
 ; CHECK-LABEL: @stores_single_use_gep_constexpr(
 ; CHECK-NEXT:  entry:
+; CHECK-NEXT:    store ptr @fn0, ptr @global.20ptr, align 8
 ; CHECK-NEXT:    store ptr @fn1, ptr getelementptr inbounds ([[STRUCT_GLOBAL_20PTR:%.*]], ptr @global.20ptr, i64 0, i32 1), align 8
 ; CHECK-NEXT:    store ptr @fn2, ptr getelementptr inbounds ([[STRUCT_GLOBAL_20PTR]], ptr @global.20ptr, i64 0, i32 2), align 8
 ; CHECK-NEXT:    store ptr @fn3, ptr getelementptr inbounds ([[STRUCT_GLOBAL_20PTR]], ptr @global.20ptr, i64 0, i32 3), align 8
@@ -66,3 +67,25 @@ entry:
   ret void
 }
 
+define void @stores_ptrtoint_constexpr() {
+; CHECK-LABEL: @stores_ptrtoint_constexpr(
+; CHECK-NEXT:  entry:
+; CHECK-NEXT:    store i32 0, ptr @global.20ptr, align 8
+; CHECK-NEXT:    ret void
+;
+entry:
+  store i32 0, ptr inttoptr (i64 ptrtoint (ptr @global.20ptr to i64) to ptr), align 8
+  ret void
+}
+
+
+ at global2.20ptr = internal unnamed_addr global %struct.global.20ptr zeroinitializer
+
+define i1 @icmp_constexpr() {
+; CHECK-LABEL: @icmp_constexpr(
+; CHECK-NEXT:  entry:
+; CHECK-NEXT:    ret i1 icmp eq (ptr @global.20ptr, ptr @global2.20ptr)
+;
+entry:
+  ret i1 icmp eq (ptr @global.20ptr, ptr @global2.20ptr)
+}


        


More information about the llvm-commits mailing list