[PATCH] D64656: Ensure placeholder instruction for cleanup is created

2019-07-27 Thread Øystein Dale via Phabricator via cfe-commits
oydale abandoned this revision. oydale added a comment. compnerd added a triple to the test case and re-committed the patch. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64656/new/ https://reviews.llvm.org/D64656

[PATCH] D64656: Ensure placeholder instruction for cleanup is created

2019-07-18 Thread Øystein Dale via Phabricator via cfe-commits
oydale added a comment. @rsmith, @rjmccall, I don't have access to commit this myself, could one of you commit it? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64656/new/ https://reviews.llvm.org/D64656

[PATCH] D64656: Ensure placeholder instruction for cleanup is created

2019-07-13 Thread Øystein Dale via Phabricator via cfe-commits
oydale accepted this revision. oydale added a comment. Feel free to commit this patch on my behalf. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64656/new/ https://reviews.llvm.org/D64656 ___

[PATCH] D64656: Ensure placeholder instruction for cleanup is created

2019-07-13 Thread Øystein Dale via Phabricator via cfe-commits
oydale updated this revision to Diff 209701. oydale added a comment. Changed test to use CHECK-NEXT, -discard-value-names, and pattern matching Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64656/new/ https://reviews.llvm.org/D64656 Files:

[PATCH] D64656: Ensure placeholder instruction for cleanup is created

2019-07-13 Thread Øystein Dale via Phabricator via cfe-commits
oydale added a comment. My understanding of the issue is that clang emits incorrect IR. Without my fix and when disabling the assertion mentioned in the commit message by commenting it out, llvm-lit gives the following output when executed against the minimal test case in the current version

[PATCH] D64656: Ensure placeholder instruction for cleanup is created

2019-07-13 Thread Øystein Dale via Phabricator via cfe-commits
oydale added a comment. I have added my initial attempt at verifying the cleanup code generated in this scenario, it's probably going to require modifications. The original IR can be found at https://reviews.llvm.org/P8156. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D64656: Ensure placeholder instruction for cleanup is created

2019-07-13 Thread Øystein Dale via Phabricator via cfe-commits
oydale updated this revision to Diff 209690. oydale added a comment. Initial attempt at IR output checks Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64656/new/ https://reviews.llvm.org/D64656 Files: clang/lib/CodeGen/CGExprAgg.cpp

[PATCH] D64656: Ensure placeholder instruction for cleanup is created

2019-07-13 Thread Øystein Dale via Phabricator via cfe-commits
oydale updated this revision to Diff 209683. oydale added a comment. Replaced -emit-obj with -emit-llvm-only in test case Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64656/new/ https://reviews.llvm.org/D64656 Files:

[PATCH] D64656: Ensure placeholder instruction for cleanup is created

2019-07-12 Thread Øystein Dale via Phabricator via cfe-commits
oydale updated this revision to Diff 209627. oydale added a comment. Minimized test case further, removed misleading CHECK from comment Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64656/new/ https://reviews.llvm.org/D64656 Files:

[PATCH] D64656: Ensure placeholder instruction for cleanup is created

2019-07-12 Thread Øystein Dale via Phabricator via cfe-commits
oydale marked an inline comment as done. oydale added inline comments. Comment at: clang/test/CodeGenCXX/pr40771-ctad-with-lambda-copy-capture.cpp:2 +// RUN: %clang_cc1 -emit-obj --std=c++17 -fcxx-exceptions -fexceptions -O1 %s +// CHECK no crash + rjmccall

[PATCH] D64656: Ensure placeholder instruction for cleanup is created

2019-07-12 Thread Øystein Dale via Phabricator via cfe-commits
oydale marked 2 inline comments as done. oydale added inline comments. Comment at: clang/test/CodeGenCXX/pr40771-ctad-with-lambda-copy-capture.cpp:1 +// RUN: %clang_cc1 -emit-obj --std=c++17 -fcxx-exceptions -fexceptions -O1 %s +// CHECK no crash lebedev.ri

[PATCH] D64656: Ensure placeholder instruction for cleanup is created

2019-07-12 Thread Øystein Dale via Phabricator via cfe-commits
oydale updated this revision to Diff 209585. oydale added a comment. Reduce test case to a single execution with -O1 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64656/new/ https://reviews.llvm.org/D64656 Files: clang/lib/CodeGen/CGExprAgg.cpp

[PATCH] D64656: Ensure placeholder instruction for cleanup is created

2019-07-12 Thread Øystein Dale via Phabricator via cfe-commits
oydale updated this revision to Diff 209584. oydale added a comment. Added regression test based on code in bug report Moved logic to a lambda Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64656/new/ https://reviews.llvm.org/D64656 Files:

[PATCH] D64656: Ensure placeholder instruction for cleanup is created

2019-07-12 Thread Øystein Dale via Phabricator via cfe-commits
oydale created this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. A placeholder instruction for use in generation of cleanup code for an initializer list would not be emitted if the base class contained a non-trivial destructor and the class contains no fields