aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/StackProtector.cpp
diff options
context:
space:
mode:
authorKrzysztof Parzyszek <kparzysz@codeaurora.org>2017-10-11 15:51:44 +0000
committerKrzysztof Parzyszek <kparzysz@codeaurora.org>2017-10-11 15:51:44 +0000
commit8f174dde92540a2cfedef73a489d4f3296ca22fd (patch)
tree0d7b06ad344f6fe0cfc33c57e35f10a552b514df /llvm/lib/CodeGen/StackProtector.cpp
parent7b6010cddebfebec3699860293751e29ed0d4b04 (diff)
downloadllvm-8f174dde92540a2cfedef73a489d4f3296ca22fd.zip
llvm-8f174dde92540a2cfedef73a489d4f3296ca22fd.tar.gz
llvm-8f174dde92540a2cfedef73a489d4f3296ca22fd.tar.bz2
[Pipeliner] Improve serialization order for post-increments
The pipeliner is generating a serial sequence that causes poor register allocation when a post-increment instruction appears prior to the use of the post-increment register. This occurs when there is a circular set of dependences involved with a sequence of instructions in the same cycle. In this case, there is no serialization of the parallel semantics that will not cause an additional register to be allocated. This patch fixes the problem by changing the instructions so that the post-increment instruction is used by the subsequent instruction, which enables the register allocator to make a better decision and not require another register. Patch by Brendon Cahoon. llvm-svn: 315466
Diffstat (limited to 'llvm/lib/CodeGen/StackProtector.cpp')
0 files changed, 0 insertions, 0 deletions