Displaying 4 results from an estimated 4 matches for "duplicateinstructionsinsplitbetween".
2018 Feb 27
2
CallSiteSplitting and musttail calls
...y ( See https://reviews.llvm.org/
> D43729 ). Apparently my problems were:
>
> * Iterating through the instruction/block list after erasing
> block/instruction
> * Trying to split block after removing one predecessor
>
> Regarding the latter, it appears that semantics of `
> DuplicateInstructionsInSplitBetween` change significantly in such case,
> and it starts to loop indefinitely. The `SplitEdge` function that it calls
> places all of the instructions into the split block, so that the original
> block becomes empty.
>
> Is it expected behavior, or am I doing something wrong?
>
> Th...
2018 Feb 28
0
CallSiteSplitting and musttail calls
...Unfortunately, not all of these utilities have good unit tests (though
> they should!).
>
> This would not be the first set of bugs people have found wrt to very
> start/end of blocks, or bb == predbb issues.
>
Coincidentally I stumbled over a similar issue with bb == predbb in
DuplicateInstructionsInSplitBetween too and put up a patch trying to fix
it https://reviews.llvm.org/D43822
>
> On Sat, Feb 24, 2018 at 12:58 PM, Fedor Indutny via llvm-dev
> <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
>
> Update:
>
> I was able to make progre...
2018 Feb 24
0
CallSiteSplitting and musttail calls
...I was able to make progress on it today ( See
https://reviews.llvm.org/D43729 ). Apparently my problems were:
* Iterating through the instruction/block list after erasing
block/instruction
* Trying to split block after removing one predecessor
Regarding the latter, it appears that semantics of
`DuplicateInstructionsInSplitBetween` change significantly in such case,
and it starts to loop indefinitely. The `SplitEdge` function that it calls
places all of the instructions into the split block, so that the original
block becomes empty.
Is it expected behavior, or am I doing something wrong?
Thanks,
Fedor.
On Sat, Feb 24, 201...
2018 Feb 24
2
CallSiteSplitting and musttail calls
Hello!
I've discovered that `CallSiteSplitting` optimization doesn't support
musttail calls. The easiest fix as it stands is disabling it for such call
sites: https://reviews.llvm.org/D43729 . However, I'm not happy with such
contribution.
My more sophisticated attempt has failed due to my poor understanding of
llvm internals. Here is the attempted patch: