MaskRay added a comment.

In D148757#4285735 <https://reviews.llvm.org/D148757#4285735>, @gulfem wrote:

> I compared Clang and GCC behavior.
> **1) Following user-specified prefix mapping order**
> GCC uses a linked list to store the prefix mappings, so it applies the prefix 
> mappings based on the user-provided order.
> https://github.com/gcc-mirror/gcc/blob/master/gcc/file-prefix-map.cc#L27
> Whereas, Clang currently uses an `std::map`, which does **NOT** follow 
> user-provided order.  So, Clang and GCC behavior do not match on that.
>
> **2) Applying multiple prefix mappings**
> Both Clang and GCC apply the first matching prefix mapping, and does not 
> apply the following prefix mappings. So, they are consistent in that.
>
> https://github.com/gcc-mirror/gcc/blob/master/gcc/file-prefix-map.cc#L88
> https://github.com/llvm/llvm-project/blob/main/clang/lib/CodeGen/CoverageMappingGen.cpp#L1653

Sorry, request changes as I think I see conflicting needs. Cc #debug-info 
<https://reviews.llvm.org/tag/debug-info/>

We have DebugPrefixMap and CoveragePrefixMap, and I think their order behavior 
should be the same.

D49466 <https://reviews.llvm.org/D49466> added `DebugPrefixMap` to Clang which 
prefers a long prefix.
D132390 <https://reviews.llvm.org/D132390> is a MC version of `DebugPrefixMap` 
that prefers a long prefix.

The current order of `CoveragePrefixMap` is definitely weird as it prefers a 
shorter prefix.
This patch is going to change the order to the command line option order, but 
it will be different from `DebugPrefixMap`.

Can `CoveragePrefixMap` be made to prefer a long prefix as `DebugPrefixMap` 
does?

> `-ffile-prefix-map==out/ to prepend out/ to any unmatched files`

This operation feels a bit strange to me...


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D148757

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

Reply via email to