aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@sifive.com>2021-09-21 13:54:55 -0700
committerCraig Topper <craig.topper@sifive.com>2021-09-21 14:29:46 -0700
commit7550f146ff75667d6e1828d64438dcc23b77f036 (patch)
tree465e0a0c127644a32cd4e4dffcac0a4d481e9486 /clang/lib/Frontend/CompilerInvocation.cpp
parentb93359ea3fe59ea0c652f5e61ee68231e2fb60c4 (diff)
downloadllvm-7550f146ff75667d6e1828d64438dcc23b77f036.zip
llvm-7550f146ff75667d6e1828d64438dcc23b77f036.tar.gz
llvm-7550f146ff75667d6e1828d64438dcc23b77f036.tar.bz2
[X86] Clear kill flags when rewriting SETCC uses in flag copy lowering.
When we rewrite the setcc we replace set old setcc output register with the new CondReg. But since CondReg can be shared by other replacements, we don't know if the kill flags for the old register are valid for CondReg. So be conservative and remove them. The test case has a SETCCr and a SETCCm on the same condition so they end up sharing the same CondReg. The SETCCr had one use with a kill flag. This kill flag isn't valid after the replacement because CondReg needs a live range extending to the later SETCCm replacment. Fixes PR51908. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D110046
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions