diff options
author | Joseph Tremoulet <jotrem@microsoft.com> | 2015-08-13 14:30:10 +0000 |
---|---|---|
committer | Joseph Tremoulet <jotrem@microsoft.com> | 2015-08-13 14:30:10 +0000 |
commit | c9ff914ced866ef9e4781b6c61079887ad99a393 (patch) | |
tree | 63ae6f8ffb5737b1a8ab29dd65d8604221b8ed66 /llvm/lib/ExecutionEngine | |
parent | ef766a7e7096d37a4c2d83d9f778c95eac9e8564 (diff) | |
download | bcm5719-llvm-c9ff914ced866ef9e4781b6c61079887ad99a393.tar.gz bcm5719-llvm-c9ff914ced866ef9e4781b6c61079887ad99a393.zip |
[WinEHPrepare] Update demotion logic
Summary:
Update the demotion logic in WinEHPrepare to avoid creating new cleanups by
walking predecessors as necessary to insert stores for EH-pad PHIs.
Also avoid creating stores for EH-pad PHIs that have no uses.
The store/load placement is still pretty naive. Likely future improvements
(at least for optimized compiles) include:
- Share loads for related uses as possible
- Coalesce non-interfering use/def-related PHIs
- Store at definition point rather than each PHI pred for non-interfering
lifetimes.
Reviewers: rnk, majnemer
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D11955
llvm-svn: 244894
Diffstat (limited to 'llvm/lib/ExecutionEngine')
0 files changed, 0 insertions, 0 deletions