[llvm] 6b78526 - [OpenMP] Emit remark on the captured call instead of the variable

Joseph Huber via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 4 14:51:02 PST 2022


Author: Joseph Huber
Date: 2022-02-04T17:50:53-05:00
New Revision: 6b78526b1b87a0a0de2228ef3341b2fdc553ef7c

URL: https://github.com/llvm/llvm-project/commit/6b78526b1b87a0a0de2228ef3341b2fdc553ef7c
DIFF: https://github.com/llvm/llvm-project/commit/6b78526b1b87a0a0de2228ef3341b2fdc553ef7c.diff

LOG: [OpenMP] Emit remark on the captured call instead of the variable

Changes the remark to emit on the function call that captures the globalized
variable instead of the globalized variable itself. The user should be able to
see which variable it was in the argument list of the function.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D106980

Added: 
    

Modified: 
    llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    llvm/test/Transforms/OpenMP/globalization_remarks.ll
    llvm/test/Transforms/OpenMP/remove_globalization.ll

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Transforms/IPO/AttributorAttributes.cpp b/llvm/lib/Transforms/IPO/AttributorAttributes.cpp
index 2d88e329e0931..8cdf253e63474 100644
--- a/llvm/lib/Transforms/IPO/AttributorAttributes.cpp
+++ b/llvm/lib/Transforms/IPO/AttributorAttributes.cpp
@@ -6316,7 +6316,7 @@ ChangeStatus AAHeapToStackFunction::updateImpl(Attributor &A) {
 
           if (ValidUsesOnly &&
               AI.LibraryFunctionId == LibFunc___kmpc_alloc_shared)
-            A.emitRemark<OptimizationRemarkMissed>(AI.CB, "OMP113", Remark);
+            A.emitRemark<OptimizationRemarkMissed>(CB, "OMP113", Remark);
 
           LLVM_DEBUG(dbgs() << "[H2S] Bad user: " << *UserI << "\n");
           ValidUsesOnly = false;

diff  --git a/llvm/test/Transforms/OpenMP/globalization_remarks.ll b/llvm/test/Transforms/OpenMP/globalization_remarks.ll
index 7f39df802553e..53e0d0bfd6849 100644
--- a/llvm/test/Transforms/OpenMP/globalization_remarks.ll
+++ b/llvm/test/Transforms/OpenMP/globalization_remarks.ll
@@ -17,13 +17,13 @@ entry:
   %0 = call i8* @__kmpc_alloc_shared(i64 4), !dbg !10
   %x_on_stack = bitcast i8* %0 to i32*
   %1 = bitcast i32* %x_on_stack to i8*
-  call void @share(i8* %1)
+  call void @share(i8* %1), !dbg !10
   call void @__kmpc_free_shared(i8* %0)
   call void @__kmpc_target_deinit(%struct.ident_t* null, i1 false, i1 true)
   ret void
 }
 
-define void @share(i8* %x) {
+define internal void @share(i8* %x) {
 entry:
   store i8* %x, i8** @S
   ret void
@@ -31,9 +31,10 @@ entry:
 
 declare i8* @__kmpc_alloc_shared(i64)
 
-declare void @__kmpc_free_shared(i8*)
+declare void @__kmpc_free_shared(i8* nocapture)
 
 declare i32 @__kmpc_target_init(%struct.ident_t*, i1, i1, i1);
+
 declare void @__kmpc_target_deinit(%struct.ident_t*, i1, i1)
 
 !llvm.dbg.cu = !{!0}

diff  --git a/llvm/test/Transforms/OpenMP/remove_globalization.ll b/llvm/test/Transforms/OpenMP/remove_globalization.ll
index bc9ede6292ab3..f424925147d2f 100644
--- a/llvm/test/Transforms/OpenMP/remove_globalization.ll
+++ b/llvm/test/Transforms/OpenMP/remove_globalization.ll
@@ -93,7 +93,7 @@ define internal void @bar() {
 ;
 entry:
   %0 = call i8* @__kmpc_alloc_shared(i64 4), !dbg !13
-  call void @share(i8* %0)
+  call void @share(i8* %0), !dbg !13
   call void @__kmpc_free_shared(i8* %0, i64 4)
   ret void
 }


        


More information about the llvm-commits mailing list