For the example you provided, I am not sure if it's a bug or not. Segment at 3:45 (count = 0), RegionEntry corresponds to the error path of the ? operator, which means error path is not executed. So, the 0 count looks reasonable. If we mark line 3 as executed regardless of which path is chosen, we may lost the information of path choices.
I just realized that this also applies to C++ ? operator. In the following case, if we always mark line 5 as executed, we don't know which branch is chosen (But when generating html report by llvm-cov, we will see that the not executed branch is marked with red color).
Fri, Feb 5
Wed, Feb 3
Thanks for the patch Zequan. This fixes the C++ test case that prompted this issue.
Nov 10 2020
Added CHECK line for TCRETURNri
Apr 13 2020
I think this has some unintended consequences. If your tool wants to use libLLVM and libClang you really need libClang to be linked against libLLVM, otherwise you're actually just hiding the problem.
Mar 20 2020
Merged. Thanks for the review @MaskRay.
Cleanup based on review comments.
Use isOSDarwin() instead of isOSBinFormatMachO()
Treat any bitode with non-Darwin triple as GNU.
Use K_GNU for all ELF targets.
Mar 19 2020
https://llvm.org/doxygen/classllvm_1_1object_1_1Archive.html#ab288378fa8bfa0678dd25e36b5198a87. I think this regresses behavior for those other hosts.
*BSD may need the __.SYMDEF format.
Have you considered passing an explicit --format= via something like ARFLAGS?
Handle bitcode inputs with BSD target triple.
Mar 18 2020
Mar 17 2020
Dec 2 2019
Nov 19 2019
Thanks Nick & Eli, '-fno-integrated-as' does the trick, as does changing the makefile. If the effect of this patch on the asm writer is intentional/correct, we can just push for a project change instead of fiddling with the compiler.
Oct 7 2019
Sep 11 2019
- Do not have a declaration as a prevailing symbol in llvm-lto2's arguments
- Fix comments in test
@tejohnson Did my reply about shared metadata clarify your question?
Sep 9 2019
Check for OMPRT_Unknown instead of a default case.
Sep 6 2019
Test -static, -static-openmp interaction. Added these only for iomp5 to avoid test-case explosion.
I'll update this review addressing @joerg's reply to cfe-commits:
Needs testing for the -static interaction?
Looks really nice. I am sure the NDK developers will be happy to see support for static OpenMP. Do you want to add the public NDK github issue link in the commit message?
Mention NDK issue https://github.com/android-ndk/ndk/issues/1028.
Sep 5 2019
Does this regress from existing behavior for unused argument warnings? Currently, -static-libstdc++ -nostdlib issues an unused argument warning for -static-libstdc++, while AFAICT -static=c++stdlib -nostdlib doesn't.
Change parameter name.
Supported this flag for NetBSD and FreeBSD as well.
Sep 4 2019
Update/clean-up comments in the test.
Aug 28 2019
Aug 27 2019
Fix typo reffers -> refers
Aug 8 2019
Aug 6 2019
Avoid extra variable
Thanks Peter. I'll wait for another day for further comments, and if none, will submit this tomorrow morning (pacific time).
Aug 5 2019
This only affects inline asm, it looks like, not general instructions? (I looked briefly, and it looks like instructions go through AArch64InstPrinter::printOperand instead.)
I don't think this would cause any issues off the top of my head, but you might want to run something like an Android build to confirm that.
Aug 1 2019
Thanks for the workaround @peter.smith. I suggested it to the NDK developer as well. The immediate need for this change is gone, but I agree that this is useful for the various reasons you outlined.
Jul 31 2019
Jul 25 2019
Call strlen(gcov_prefix) only if its not null.
Remove stray new line.
Refactored the loop to call getenv just once.
LGTM for Android.
Jul 24 2019
Jul 1 2019
Jun 25 2019
Skip version script for all MinGW builds, not just when using lld.
Jun 24 2019
I'd suggest skipping the lld condition, the version script adds no value here.
For ELF, version scripts do two things, select what symbols to export using glob pattetns, and set symbol versions on them.
As COFF doesn't have symbol versions, all it does on mingw with GNU ld, is filtering symbols, to export *. So it adds no value there.