- User Since
- Jul 20 2020, 2:20 PM (47 w, 2 d)
Fri, May 21
Thu, May 20
Thanks for the approval!
make both ASTReader::DeclsToCheckForDeferredDiags and Sema::DeclsToCheckForDeferredDiags SmallSetVector
Wed, May 19
Tried to make Sema::DeclsToCheckForDeferredDiags llvm::SmallSetVector. The heap RSS did drop significantly (from peak 100GB to 59GB) , but not as good as the current fix (peak 26GB), which makes ASTReader::DeclsToCheckForDeferredDiags llvm::SmallSetVector.
May 17 2021
May 13 2021
Finally dealt with the other issues I need to take care. Let's resume the discussion.
May 11 2021
Thanks for helping on this issue!
May 10 2021
Looks like -DLIBOMPTARGET_AMDGCN_GFXLIST="" would disable Device RTL build, but still build rest of the libomptarget.
Thanks for the quick response. It may not be easily reproducible since the build script that triggers this sets up its own environment. This is part of the company's internal build system. During my local try, clang built clang always works, but the build script uses gcc to build clang. Maybe gcc would insert its own library headers into search path, and this could cause some confusing about the order of include paths? But again, we have always used gcc to build clang, and it never had issue until now. I am not sure how this change would change anything.
If you do not need libomptarget for your package, you may pass -DOPENMP_ENABLE_LIBOMPTARGET=OFF to cmake.
With -DOPENMP_ENABLE_LIBOMPTARGET=OFF, the error is gone. I'll check internally to see if libomptarget can be disabled. Meanwhile, it would still be great to know what went wrong.
We are getting build errors internally with this change. They are all related to libomptarget. Our internal build script uses gcc to build llvm.
May 6 2021
May 3 2021
We've seen a huge memory footprint from AST Reader/Writer in a single CU with module enabled from internal workloads. Upon further analysis, the content of vector DeclsToCheckForDeferredDiags seems mostly redundant. In one case, 1,734,387,685 out of 1,734,404,000 elements are the same. While this may indicate something wrong with the source itself, it also suggests that compiler would be better to perform deduplication on this type of Decl ID.
Apr 28 2021
Feb 12 2021
update comment and remove one unintended change.
fixed test failures due to bit check
- serialize and de-serialize the flag.
- update related test cases.
Feb 11 2021
update according to comment.
Use the propagation approach.
Feb 10 2021
The overhead of repeatedly scanning all summaries could be quite high in the current ValueInfo::isDSOLocal implementation, especially in large projects. This change helped reduce overall thinLTO link time of a major internal workload by 20 mins.
Feb 9 2021
Dec 1 2020
Ah, I am sorry. Thanks for fixing it.
Nov 30 2020
- Fix typo.
- Minor order adjustment in testcase.
Nov 18 2020
- Add clang test with remarks output.
- Fix a missing dependency on PSI in legacy pass manager.
Nov 17 2020
revert back MSVC fix
update to address MSVC build error
update test case
update test case for clang option pass-through
Thanks! I will wait for his input.
Nov 16 2020
add test case
Nov 13 2020
Oct 27 2020
Diff was committed, but did not close automatically. Manual close it now.
Oct 26 2020
Oct 23 2020
Sorry for the long delay. Got held up by some other task.
Oct 15 2020
Oct 13 2020
Thanks for the comment, Craig.
Oct 6 2020
Thanks @MaskRay ! I am really sorry I didn't catch up your comments earlier. My email somehow stops giving me notifications on diff updates.
Sep 28 2020
Sep 21 2020
minor update to test case
- remove unreachable code
- udpate test case
Sep 17 2020
update test case
Sep 4 2020
Sep 3 2020
Add test case for indirect call. Without the fix, the test will crash.
Sep 2 2020
Really appreciate the feedbacks. If there is no more, could anyone approve 3 changes? Thanks.
Aug 27 2020
remove redundant check