[PATCH] D11955: [WinEHPrepare] Update demotion logic
Joseph Tremoulet via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 11 12:16:09 PDT 2015
JosephTremoulet created this revision.
JosephTremoulet added reviewers: majnemer, rnk.
JosephTremoulet added a subscriber: llvm-commits.
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.
http://reviews.llvm.org/D11955
Files:
lib/CodeGen/WinEHPrepare.cpp
test/CodeGen/WinEH/wineh-demotion.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D11955.31847.patch
Type: text/x-patch
Size: 26511 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150811/76ad0b80/attachment.bin>
More information about the llvm-commits
mailing list