[PATCH] D44223: [ms] Emit vtordisp initializers in a deterministic order.

2018-03-07 Thread Nico Weber via Phabricator via cfe-commits
thakis closed this revision. thakis marked an inline comment as done. thakis added a comment. r326960, thanks! https://reviews.llvm.org/D44223 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe

[PATCH] D44223: [ms] Emit vtordisp initializers in a deterministic order.

2018-03-07 Thread Reid Kleckner via Phabricator via cfe-commits
rnk accepted this revision. rnk added a comment. This revision is now accepted and ready to land. lgtm Comment at: lib/CodeGen/MicrosoftCXXABI.cpp:1207 uint64_t ConstantVBaseOffset = -Layout.getVBaseClassOffset(I->first).getQuantity(); +Layout.getVBaseClass

[PATCH] D44223: [ms] Emit vtordisp initializers in a deterministic order.

2018-03-07 Thread Nico Weber via Phabricator via cfe-commits
thakis marked an inline comment as done. thakis added inline comments. Comment at: lib/CodeGen/MicrosoftCXXABI.cpp:1206 + + for (const VBase &V : VBases) { +if (!V.second.hasVtorDisp()) rnk wrote: > I think we can avoid the sort altogether if we iterate `RD-

[PATCH] D44223: [ms] Emit vtordisp initializers in a deterministic order.

2018-03-07 Thread Nico Weber via Phabricator via cfe-commits
thakis updated this revision to Diff 137470. thakis added a comment. rnk comment https://reviews.llvm.org/D44223 Files: lib/CodeGen/MicrosoftCXXABI.cpp Index: lib/CodeGen/MicrosoftCXXABI.cpp === --- lib/CodeGen/MicrosoftCXXABI.

[PATCH] D44223: [ms] Emit vtordisp initializers in a deterministic order.

2018-03-07 Thread Reid Kleckner via Phabricator via cfe-commits
rnk added a comment. Thanks for investigating! Comment at: lib/CodeGen/MicrosoftCXXABI.cpp:1206 + + for (const VBase &V : VBases) { +if (!V.second.hasVtorDisp()) I think we can avoid the sort altogether if we iterate `RD->vbases()`, which should already b

[PATCH] D44223: [ms] Emit vtordisp initializers in a deterministic order.

2018-03-07 Thread Nico Weber via Phabricator via cfe-commits
thakis updated this revision to Diff 137463. thakis added a comment. Herald added a subscriber: mgrang. sort unstably https://reviews.llvm.org/D44223 Files: lib/CodeGen/MicrosoftCXXABI.cpp Index: lib/CodeGen/MicrosoftCXXABI.cpp ===

[PATCH] D44223: [ms] Emit vtordisp initializers in a deterministic order.

2018-03-07 Thread Eli Friedman via Phabricator via cfe-commits
efriedma added inline comments. Comment at: lib/CodeGen/MicrosoftCXXABI.cpp:1202 + SmallVector VBases(VBaseMap.begin(), VBaseMap.end()); + std::stable_sort(VBases.begin(), VBases.end(), + [](const VBaseEntry &a, const VBaseEntry &b) { Using st

[PATCH] D44223: [ms] Emit vtordisp initializers in a deterministic order.

2018-03-07 Thread Nico Weber via Phabricator via cfe-commits
thakis added inline comments. Comment at: lib/CodeGen/MicrosoftCXXABI.cpp:1207 + + for (const VBaseEntry E : VBases) { +if (!E.second.hasVtorDisp()) (I added the missing `&` here locally.) https://reviews.llvm.org/D44223

[PATCH] D44223: [ms] Emit vtordisp initializers in a deterministic order.

2018-03-07 Thread Nico Weber via Phabricator via cfe-commits
thakis created this revision. thakis added a reviewer: rnk. No effective behavior change, just for cleanliness. Fixes PR36159. https://reviews.llvm.org/D44223 Files: lib/CodeGen/MicrosoftCXXABI.cpp Index: lib/CodeGen/MicrosoftCXXABI.cpp =