HomePhabricator

[CodeExtractor] Restore outputs after creating exit stubs

Authored by vsk on Feb 8 2019, 12:48 PM.

Description

[CodeExtractor] Restore outputs after creating exit stubs

When CodeExtractor saves the result of InvokeInst at the first insertion
point of the 'normal destination' basic block, this block can be omitted
in the outlined region, so store is placed outside of the function. The
suggested solution is to process saving outputs after creating exit
stubs for new function, and stores will be placed in that blocks before
return in this case.

Patch by Sergei Kachkov!

Fixes llvm.org/PR40455.

Differential Revision: https://reviews.llvm.org/D57919

llvm-svn: 353562

Details

Committed
vskFeb 8 2019, 12:48 PM
Differential Revision
D57919: [CodeExtractor] Restore outputs after creating exit stubs
Parents
rGf333118ee0b2: Fix Die() after pthread_exit call on macOS
Branches
Unknown
Tags
Unknown