Currently CodeExtractor tries to use the next node after an invoke to
place the store for the result of the invoke, if it is an out parameter
of the region. This fails, as the invoke terminates the current BB.
In that case, we can place the store in the 'normal destination' BB, as
the result will only be available in that case.
Details
Details
Diff Detail
Diff Detail
Event Timeline
lib/Transforms/Utils/CodeExtractor.cpp | ||
---|---|---|
934 | Perhaps merge it as: Instruction InsertPt; InsertPt = ... else InsertPt = OutI->getNextNode(); |
Perhaps merge it as:
Instruction InsertPt;
if (auto *Invoke = ...)
else