[libc++] Implement views::join_with#65536
Conversation
3259db4 to
0481670
Compare
0481670 to
f113229
Compare
|
@JMazurkiewicz Please ping us when this is ready to review and make it a non-draft. |
f113229 to
1835f68
Compare
|
✅ With the latest revision this PR passed the C/C++ code formatter. |
|
I guess with constexpr variant this cool feature can be finalized now :) |
a84985a to
fcdf64a
Compare
54a741c to
a9a1031
Compare
a9a1031 to
9406093
Compare
|
Ping @huixie90 |
huixie90
left a comment
There was a problem hiding this comment.
LGTM with some nits. Thanks very much for the patch!
|
Sorry for the churn about the |
…of `__iterator` Comment: llvm#65536 (comment)
|
Thank you @huixie90 for your review. I've pushed commits addressing your latest comments (95ea7bc, 8ab29fb, 7198928), and changing three more things:
|
e08bf0c to
fa9e257
Compare
frederick-vs-ja
left a comment
There was a problem hiding this comment.
LGTM. The CI failures are probably unrelated.
|
Merging this as comments are addressed. CI is green except for msan, which is an existing issue on main and unrelated to this patch |
When a packet containing extended immediates and new-value compare-jump
instructions with fixups was followed by a .p2align directive, we
would incorrectly add nops to the packet. After reshuffling, the fixup
offsets would become invalid, causing corrupted encodings.
Fixes round-trip assembly for patterns like:
{
r18 = #llvm#65536
if (!cmp.gtu(r1,r18.new)) jump:t .L1
}
.p2align 4
…179168) When a packet containing extended immediates and new-value compare-jump instructions with fixups was followed by a .p2align directive, we would incorrectly add nops to the packet. After reshuffling, the fixup offsets would become invalid, causing corrupted encodings. Fixes round-trip assembly for patterns like: { r18 = ##65536 if (!cmp.gtu(r1,r18.new)) jump:t .L1 } .p2align 4
…lvm#179168) When a packet containing extended immediates and new-value compare-jump instructions with fixups was followed by a .p2align directive, we would incorrectly add nops to the packet. After reshuffling, the fixup offsets would become invalid, causing corrupted encodings. Fixes round-trip assembly for patterns like: { r18 = #llvm#65536 if (!cmp.gtu(r1,r18.new)) jump:t .L1 } .p2align 4 (cherry picked from commit 87d73f7)
views::join_with" (https://wg21.link/P2441R2), closes P2441R2:views::join_with#105185compatible-joinable-rangesis underconstrained #105346viewsexplicit#105252iteratorsfor proper flattening #105250