[PATCH] D46685: [CodeGen] Disable structor optimizations at -O0

2018-07-18 Thread Pavel Labath via Phabricator via cfe-commits
labath added a comment. This was reverted in r333482 because it was causing "definition with same mangled name as another definition" errors in some internal google builds. It turned out this uncovered an (unrelated) issue in module importing. This has now been fixed (r336240), so I'm planning

[PATCH] D46685: [CodeGen] Disable structor optimizations at -O0

2018-05-21 Thread Pavel Labath via Phabricator via cfe-commits
This revision was not accepted when it landed; it landed in state "Needs Review". This revision was automatically updated to reflect the committed changes. Closed by commit rC332839: [CodeGen] Disable aggressive structor optimizations at -O0, take 2 (authored by labath, committed by ). Changed p

[PATCH] D46685: [CodeGen] Disable structor optimizations at -O0

2018-05-17 Thread John McCall via Phabricator via cfe-commits
rjmccall added a comment. Well, internal and external types are important cases. I'm fine with this. It's a pity that we can't express what we want with aliases, though. Repository: rC Clang https://reviews.llvm.org/D46685 ___ cfe-commits mail

[PATCH] D46685: [CodeGen] Disable structor optimizations at -O0

2018-05-17 Thread Pavel Labath via Phabricator via cfe-commits
labath updated this revision to Diff 147315. labath added a comment. Updating with a new version of the patch. The problem with the previous version was that it caused us to use C5/https://reviews.llvm.org/D5 comdats very aggressively (at -O0), and this is not always correct. This uses a more nua

[PATCH] D46685: [CodeGen] Disable structor optimizations at -O0

2018-05-14 Thread Pavel Labath via Phabricator via cfe-commits
labath added a comment. I've reverted the patch as it has caused miscompiles on non-trivial inputs. I'll update the patch when I gain a better understanding of what is going on. Repository: rC Clang https://reviews.llvm.org/D46685 ___ cfe-commit

[PATCH] D46685: [CodeGen] Disable structor optimizations at -O0

2018-05-14 Thread Pavel Labath via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC332228: [CodeGen] Disable aggressive structor optimizations at -O0 (authored by labath, committed by ). Changed prior to commit: https://reviews.llvm.org/D46685?vs=146309&id=146578#toc Repository: rC

[PATCH] D46685: [CodeGen] Disable structor optimizations at -O0

2018-05-14 Thread Pavel Labath via Phabricator via cfe-commits
labath added a comment. Thank you for the quick review. Repository: rC Clang https://reviews.llvm.org/D46685 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D46685: [CodeGen] Disable structor optimizations at -O0

2018-05-11 Thread John McCall via Phabricator via cfe-commits
rjmccall accepted this revision. rjmccall added a comment. This revision is now accepted and ready to land. LGTM, thanks. Repository: rC Clang https://reviews.llvm.org/D46685 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.ll

[PATCH] D46685: [CodeGen] Disable structor optimizations at -O0

2018-05-11 Thread Pavel Labath via Phabricator via cfe-commits
labath updated this revision to Diff 146309. labath added a comment. Yes we can do that. Only the RAUW optimization is nasty, I've checked that the debugger is able to use the alias with no problem. Updated the patch the reflect that. Repository: rC Clang https://reviews.llvm.org/D46685 Fil

[PATCH] D46685: [CodeGen] Disable structor optimizations at -O0

2018-05-10 Thread John McCall via Phabricator via cfe-commits
rjmccall added a comment. Can we suppress this optimization only when we can't emit an alias? An alias shouldn't degrade debugging experience, and it's good to emit less code at -O0. Repository: rC Clang https://reviews.llvm.org/D46685 ___ cfe-

[PATCH] D46685: [CodeGen] Disable structor optimizations at -O0

2018-05-10 Thread Pavel Labath via Phabricator via cfe-commits
labath created this revision. labath added reviewers: rjmccall, aprantl. Merging of complete and base structors can degrade debug quality as it will leave the debugger unable to locate the full object structor. This is apparent when evaluating an expression in the debugger which requires construct