diff options
author | Kai Luo <lkail@cn.ibm.com> | 2020-07-22 04:16:20 +0000 |
---|---|---|
committer | Kai Luo <lkail@cn.ibm.com> | 2020-07-22 06:35:12 +0000 |
commit | c3f9697f1f227296818fbaf1a770a29842ea454c (patch) | |
tree | 1241a0aa39752aa0780b0fac7d4a994bba29750c /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 8912252252c87d8ef6623ecf9fdde444560ee4b9 (diff) | |
download | llvm-c3f9697f1f227296818fbaf1a770a29842ea454c.zip llvm-c3f9697f1f227296818fbaf1a770a29842ea454c.tar.gz llvm-c3f9697f1f227296818fbaf1a770a29842ea454c.tar.bz2 |
[PowerPC] Fix wrong codegen when stack pointer has to realign performing dynalloc
Current powerpc backend generates wrong code sequence if stack pointer
has to realign if `-fstack-clash-protection` enabled. When probing
dynamic stack allocation, current `PREPARE_PROBED_ALLOCA` takes
`NegSizeReg` as input and returns
`FinalStackPtr`. `FinalStackPtr=StackPtr+ActualNegSize` is calculated
correctly, however code following `PREPARE_PROBED_ALLOCA` still uses
value of `NegSizeReg`, which does not contain `ActualNegSize` if
`MaxAlign > TargetAlign`, to calculate loop trip count and residual
number of bytes.
This patch is part of fix of
https://bugs.llvm.org/show_bug.cgi?id=46759.
Differential Revision: https://reviews.llvm.org/D84152
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions