#
6b67d427 |
| 11-Mar-2015 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Extended support for native Windows C++ EH outlining
Differential Review: http://reviews.llvm.org/D7886
llvm-svn: 231981
|
#
a28d91d8 |
| 10-Mar-2015 |
Mehdi Amini <mehdi.amini@apple.com> |
DataLayout is mandatory, update the API to reflect it with references.
Summary: Now that the DataLayout is a mandatory part of the module, let's start cleaning the codebase. This patch is a first at
DataLayout is mandatory, update the API to reflect it with references.
Summary: Now that the DataLayout is a mandatory part of the module, let's start cleaning the codebase. This patch is a first attempt at doing that.
This patch is not exactly NFC as for instance some places were passing a nullptr instead of the DataLayout, possibly just because there was a default value on the DataLayout argument to many functions in the API. Even though it is not purely NFC, there is no change in the validation.
I turned as many pointer to DataLayout to references, this helped figuring out all the places where a nullptr could come up.
I had initially a local version of this patch broken into over 30 independant, commits but some later commit were cleaning the API and touching part of the code modified in the previous commits, so it seemed cleaner without the intermediate state.
Test Plan:
Reviewers: echristo
Subscribers: llvm-commits
From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 231740
show more ...
|
#
be0a0506 |
| 09-Mar-2015 |
Reid Kleckner <reid@kleckner.net> |
Reland r229944: EH: Prune unreachable resume instructions during Dwarf EH preparation
Fix the double-deletion of AnalysisResolver when delegating through to Dwarf EH preparation by creating one from
Reland r229944: EH: Prune unreachable resume instructions during Dwarf EH preparation
Fix the double-deletion of AnalysisResolver when delegating through to Dwarf EH preparation by creating one from scratch. Hopefully the new pass manager simplifies this.
This reverts commit r229952.
llvm-svn: 231719
show more ...
|
#
05ee8bd4 |
| 05-Mar-2015 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Fix uninitialized memory references in WinEHPrepare
llvm-svn: 231405
|
#
cfb9ce53 |
| 05-Mar-2015 |
Reid Kleckner <reid@kleckner.net> |
Replace llvm.frameallocate with llvm.frameescape
Turns out it's pretty straightforward and simplifies the implementation.
Reviewers: andrew.w.kaylor
Differential Revision: http://reviews.llvm.org/
Replace llvm.frameallocate with llvm.frameescape
Turns out it's pretty straightforward and simplifies the implementation.
Reviewers: andrew.w.kaylor
Differential Revision: http://reviews.llvm.org/D8051
llvm-svn: 231386
show more ...
|
#
46a43556 |
| 04-Mar-2015 |
Mehdi Amini <mehdi.amini@apple.com> |
Make DataLayout Non-Optional in the Module
Summary: DataLayout keeps the string used for its creation.
As a side effect it is no longer needed in the Module. This is "almost" NFC, the string is no
Make DataLayout Non-Optional in the Module
Summary: DataLayout keeps the string used for its creation.
As a side effect it is no longer needed in the Module. This is "almost" NFC, the string is no longer canonicalized, you can't rely on two "equals" DataLayout having the same string returned by getStringRepresentation().
Get rid of DataLayoutPass: the DataLayout is in the Module
The DataLayout is "per-module", let's enforce this by not duplicating it more than necessary. One more step toward non-optionality of the DataLayout in the module.
Make DataLayout Non-Optional in the Module
Module->getDataLayout() will never returns nullptr anymore.
Reviewers: echristo
Subscribers: resistor, llvm-commits, jholewinski
Differential Revision: http://reviews.llvm.org/D7992
From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 231270
show more ...
|
#
42366531 |
| 03-Mar-2015 |
Reid Kleckner <reid@kleckner.net> |
WinEH: Remove vestigial EH object
Ultimately, we'll need to leave something behind to indicate which alloca will hold the exception, but we can figure that out when it comes time to emit the __CxxFr
WinEH: Remove vestigial EH object
Ultimately, we'll need to leave something behind to indicate which alloca will hold the exception, but we can figure that out when it comes time to emit the __CxxFrameHandler3 catch handler table.
llvm-svn: 231164
show more ...
|
#
e07b2a06 |
| 03-Mar-2015 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Fixing problem with field initialization order
llvm-svn: 231122
|
#
f0f5e46e |
| 03-Mar-2015 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Outline cleanup handlers for native Windows C++ exception handling
Differential Revision: http://reviews.llvm.org/D7865
llvm-svn: 231117
|
#
72029c6f |
| 03-Mar-2015 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Remap arguments and non-alloca values used by outlined C++ exception handlers.
Differential Revision: http://reviews.llvm.org/D7844
llvm-svn: 231042
|
#
b59b80b9 |
| 25-Feb-2015 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Fixing a problem with insert location in WinEH outlining
llvm-svn: 230535
|
Revision tags: llvmorg-3.6.0 |
|
#
1476e6d1 |
| 24-Feb-2015 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Fixing eol-style
llvm-svn: 230378
|
#
982ea13c |
| 23-Feb-2015 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Removing unused private field.
llvm-svn: 230259
|
#
322236ee |
| 23-Feb-2015 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Second attempt to fix WinEHCatchDirector build failures.
llvm-svn: 230257
|
#
2e30b459 |
| 23-Feb-2015 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Attempting to fix WinEHCatchDirector destructor related build failures.
llvm-svn: 230252
|
#
f22fe4ae |
| 23-Feb-2015 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Remap frame variables for native Windows exception handling.
Differential Revision: http://reviews.llvm.org/D7770
llvm-svn: 230249
|
#
301ed0c3 |
| 20-Feb-2015 |
Chandler Carruth <chandlerc@gmail.com> |
Revert r229944: EH: Prune unreachable resume instructions during Dwarf EH preparation
This doesn't pass 'ninja check-llvm' for me. Lots of tests, including the ones updated, fail with crashes and ot
Revert r229944: EH: Prune unreachable resume instructions during Dwarf EH preparation
This doesn't pass 'ninja check-llvm' for me. Lots of tests, including the ones updated, fail with crashes and other explosions.
llvm-svn: 229952
show more ...
|
#
0b647e6c |
| 20-Feb-2015 |
Reid Kleckner <reid@kleckner.net> |
EH: Prune unreachable resume instructions during Dwarf EH preparation
Today a simple function that only catches exceptions and doesn't run destructor cleanups ends up containing a dead call to _Unwi
EH: Prune unreachable resume instructions during Dwarf EH preparation
Today a simple function that only catches exceptions and doesn't run destructor cleanups ends up containing a dead call to _Unwind_Resume (PR20300). We can't remove these dead resume instructions during normal optimization because inlining might introduce additional landingpads that do have cleanups to run. Instead we can do this during EH preparation, which is guaranteed to run after inlining.
Fixes PR20300.
Reviewers: majnemer
Differential Revision: http://reviews.llvm.org/D7744
llvm-svn: 229944
show more ...
|
#
179543bb |
| 18-Feb-2015 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Style and formatting fixes for r229715
llvm-svn: 229758
|
Revision tags: llvmorg-3.6.0-rc4 |
|
#
4dd0304e |
| 18-Feb-2015 |
Reid Kleckner <reid@kleckner.net> |
dos2unix the WinEH file and tests
llvm-svn: 229735
|
#
30f2f3fc |
| 18-Feb-2015 |
David Blaikie <dblaikie@gmail.com> |
Remove unused member variables (-Wunused-private-field)
llvm-svn: 229722
|
#
527c5dc6 |
| 18-Feb-2015 |
Andrew Kaylor <andrew.kaylor@intel.com> |
Adding implementation to outline C++ catch handlers for native Windows 64 exception handling.
Differential Revision: http://reviews.llvm.org/D7363
llvm-svn: 229715
|
Revision tags: llvmorg-3.6.0-rc3 |
|
#
96d01131 |
| 11-Feb-2015 |
Reid Kleckner <reid@kleckner.net> |
Don't promote asynch EH invokes of nounwind functions to calls
If the landingpad of the invoke is using a personality function that catches asynch exceptions, then it can catch a trap.
Also add som
Don't promote asynch EH invokes of nounwind functions to calls
If the landingpad of the invoke is using a personality function that catches asynch exceptions, then it can catch a trap.
Also add some landingpads to invalid LLVM IR test cases that lack them.
Over-the-shoulder reviewed by David Majnemer.
llvm-svn: 228782
show more ...
|
Revision tags: llvmorg-3.6.0-rc2 |
|
#
964f4dba |
| 30-Jan-2015 |
Alexey Samsonov <vonosmas@gmail.com> |
Fix memory leak in WinEHPrepare introduced in r227405.
This leak was detected by ASan bootstrap of LLVM.
llvm-svn: 227625
|
#
2a223508 |
| 29-Jan-2015 |
Reid Kleckner <reid@kleckner.net> |
Update comments to use unreachable instead of llvm.trap, as implemented now
llvm-svn: 227502
|