jdoerfert added a comment.

Root cause:
We sometimes, depending on the invocation and potentially other factors, use a 
full path and sometimes not:
So wen I run this with clang locally I get this:
  @98 = private unnamed_addr constant [98 x i8] 
c";/data/src/llvm-project/clang/test/OpenMP/irbuilder_nested_parallel_for.c;parallel_for_2;294;16;;\00",
 align 1                                                                        
                       
  @100 = private unnamed_addr constant %struct.ident_t { i32 0, i32 2, i32 0, 
i32 0, i8* getelementptr inbounds ([98 x i8], [98 x i8]* @98, i32 0, i32 0) }, 
align 8
  @101 = private unnamed_addr constant [92 x i8] 
c";src/llvm-project/clang/test/OpenMP/irbuilder_nested_parallel_for.c;parallel_for_2;294;16;;\00",
 align 1
  @103 = private unnamed_addr constant %struct.ident_t { i32 0, i32 2, i32 0, 
i32 0, i8* getelementptr inbounds ([92 x i8], [92 x i8]* @101, i32 0, i32 0) }, 
align 8

Note the 6 missing characters `/data/` in the second string. Because they are 
missing, we generate two globals for this. When I run the same test with the 
update script I get one global as they agree on the location.

Looking for the location that strips the path now.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D85938/new/

https://reviews.llvm.org/D85938

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to