Commit 973acb7
committed
[RR_GRAPH] Fixed Bug in LLVM17 Build
The std::sort function requires operands to be "pointer-like", this
requires that de-referencing a const pointer should be allowed.
This was not an issue in the past, but in LLVM17 this property is
required. The edge_sort_iterator did not follow this property.
Fixing this by naively allowing this property led to a 10% performance
degredation due to requiring pointers to be allocated and deallocated.
To fix this for now, made the sort use std::stable_sort instead. The
performance degredation is quite small and may be worth it.1 parent 633193b commit 973acb7
1 file changed
+9
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
155 | 155 | | |
156 | 156 | | |
157 | 157 | | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
158 | 165 | | |
159 | 166 | | |
160 | 167 | | |
| |||
419 | 426 | | |
420 | 427 | | |
421 | 428 | | |
422 | | - | |
| 429 | + | |
423 | 430 | | |
424 | 431 | | |
425 | 432 | | |
| |||
527 | 534 | | |
528 | 535 | | |
529 | 536 | | |
530 | | - | |
| 537 | + | |
531 | 538 | | |
532 | 539 | | |
533 | 540 | | |
| |||
0 commit comments